Skip to content

DR: Use of CLASP in Google Apps Script Development

Roslyn Wythe edited this page Mar 5, 2023 · 39 revisions

Issue

Problem Statement

  • The decision had been made to bring Google Apps Scripts into the website GitHub repository, resulting in issue Add latest version of Google Apps Scripts to GitHub #3641. In the context of that issue, the suggestion to use clasp was made.
  • The Apps Script CLI, or clasp, is an npm module with commands to create, edit, and deploy Apps Script projects locally. For Hack for LA, its most useful commands would be pull/push for transferring code modules between Google Drive and the local workstation, to facilitate local editing and committing of code. The tool would provide an alternative to copying/pasting code between Google Drive and the local workstation, which may be feasible for work on our current small codebase, but will become unwieldy if the codebase grows.

Feasibility Determination

  • Use of clasp is feasible and will provide benefits especially for devs who prefer to edit code in their local IDE, and especially if the codebase were to grow. However, code can run only in the Google Apps Script IDE.
  • Use of clasp will create a larger learning curve and setup time for new devs, including installation of node.js, npm, clasp, @types/google-apps-script, clasp-env and others.
  • It would be possible to combine clasp with other npm modules such as prettifier, ESLint, cSpell, Babel and tsgas, to create a custom "build/deploy" module.

Summary

  • Dev leads and PM to decide if use of clasp should be optional or mandatory and if it should be integrated with other utilities such as cSpell, ESLint, prettifier, and transpilers.
  • Create a new issue to develop procedure, documentation, and possibly an npm script for google apps scripts development and deployment.
Clone this wiki locally