-
-
Notifications
You must be signed in to change notification settings - Fork 781
DR: Use of CLASP in Google Apps Script Development
Roslyn Wythe edited this page Feb 27, 2023
·
39 revisions
- 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 simple updates to our current small codebase, but will become unwieldy as our codebase grows.
- 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 the benefits are limited by the fact that code can be 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, 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.
- Recommend a new issue to develop procedure and documentation for google apps scripts development including clasp, and optionally a separate issue to create a custom npm package combining clasp with other utilities such as spell-checking, ESLint, prettifier, and transpilers. Alternatively, these additional features could be applied using VS Code extensions.
Click the arrow below each category to view links (or view original alphabetical list by clicking "Pages" above) :