Skip to content

DR: Use of CLASP in Google Apps Script Development

Roslyn Wythe edited this page Feb 26, 2023 · 39 revisions

Issue

Problem Statement

  • The decision has already been made to bring Apps Scripts into the website GitHub repository, resulting in issue #3641. In the context of that issue, the suggestion to use clasp was made.
  • The Apps Script CLI, or clasp, is a tool 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 our current small codebase, but would become inconvenient and error-prone if our codebase were to grow.

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.
  • 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, Babel, and others.
  • It would be possible to combine clasp with other npm modules such as prettifier, ESLint, spell checker, Babel and tsgas, to create a custom "build/deploy" module.
  • Dev leads and PM can decide if use of clasp should be optional or mandatory.

Summary

  • Recommend a new issue to develop procedure and documentation for google apps scripts development, and optionally a separate issue to create a custom npm package combining clasp with other utilities such as spell-checking, ESLint, prettifier, and transpilers. These could be applied in VS Code and/or in a custom "build" npm module.
Clone this wiki locally