Prerequisites
Install Node.js: Download and install Node.js. This includes npm (Node Package Manager).
Enable the Apps Script API: You must give clasp permission to access your scripts.
Go to the Google Apps Script User Settings.
Toggle Google Apps Script API to ON
Clasp (Command Line Apps Script Projects) is een opensource-tool van Google
waarmee je Google Apps Script-projecten lokaal op je eigen computer kunt ontwikkelen.
In plaats van de code te schrijven in de browsergebaseerde editor van Google, kun je met Clasp je favoriete lokale tools en workflows gebruiken.
Dit zijn de belangrijkste dingen die je met Clasp kunt doen, opgedeeld in categorieën:
1. Lokale ontwikkeling en code-editors
Je eigen editor gebruiken: Je kunt code schrijven in krachtige editors zoals VS Code, Atom of Sublime Text. Hierdoor profiteer je van geavanceerde functies zoals autocomplete, extensies en persoonlijke thema's.
TypeScript gebruiken: Clasp ondersteunt TypeScript out-of-the-box. Je kunt je scripts in TypeScript schrijven, en Clasp vertaalt (transpileert) dit automatisch naar standaard JavaScript wanneer je de code naar Google uploadt.
2. Projectbeheer vanaf de opdrachtregel (Terminal)
Projecten aanmaken en downloaden: Je kunt direct vanuit je terminal een nieuw Apps Script-project starten (clasp create) of een bestaand online project naar je computer downloaden (clasp clone).
Code synchroniseren:
clasp pull: Haalt de nieuwste code uit de Google-cloud naar je computer.
clasp push: Uploadt al je lokale codebestanden naar de Google Apps Script-omgeving.
Versiebeheer en implementatie: Je kunt rechtstreeks vanaf de opdrachtenregel nieuwe versies van je script aanmaken (clasp version) of web-apps en add-ons implementeren (clasp deploy).
3. Professionele workflow (DevOps)
Git-integratie: Omdat de code lokaal op je computer staat, kun je Git en GitHub/GitLab gebruiken voor versiebeheer. Dit maakt het vele malen makkelijker om met meerdere ontwikkelaars aan hetzelfde script te werken.
Codekwaliteit controleren: Je kunt lokale tools installeren zoals ESLint (voor het vinden van fouten in je code) en Prettier (voor het automatisch netjes formatteren van je code).
Automatisering (CI/CD): Je kunt Clasp integreren in geautomatiseerde pipelines (zoals GitHub Actions). Hierdoor kun je bijvoorbeeld instellen dat je code automatisch wordt getest en geüpload naar Google zodra je het aanpast op GitHub.
Mogelijkheid Terminal-opdracht Wat doet het? Inloggen
clasp login Koppelt Clasp aan je Google-account Projecten bekijken
clasp list Toont je Apps Script-projecten Nieuw project
clasp create Maakt een nieuw Apps Script-project Bestaand project koppelen
clasp clone SCRIPT_ID Haalt een project naar je Chromebook Code uploaden
clasp push Stuurt lokale bestanden naar Apps Script Code ophalen
clasp pull Haalt de online broncode naar je Chromebook Editor openen
clasp open Opent het gekoppelde Apps Script-project Versie maken
clasp version "omschrijving" Maakt een vastgelegde codeversie Deployments bekijken
clasp deployments Toont bestaande implementaties Publiceren
clasp deploy Maakt een deployment Bestaande deployment bijwerken
clasp deploy -i ID Werkt een bestaande implementatie bij Uitvoeringen bekijken
clasp logs Toont beschikbare scriptlogs Het belangrijkste verschil:
clasp push werkt de broncode bij, terwijl clasp deploy een gepubliceerde versie aanmaakt of bijwerkt.
Een succesvolle deployment is niet automatisch een correct ingestelde Web-app.
1. Veilig TEST → LIVE publiceren
Iedere wijziging eerst in TEST uploaden. Na controle een versie vastleggen. Alleen na jouw akkoord de goedgekeurde bestanden naar LIVE overzetten.
2. Automatische back-ups
Voor iedere update lokaal een ZIP-back-up maken met datum, tijd en versienummer. Zo kunnen we terug naar een eerdere codeversie.
3. Publiceren met één opdracht
Een eigen script zoals ./DEPLOY_TEST.sh kan automatisch de project-ID controleren, bestanden uploaden, een nieuwe versie maken en de bestaande Web-app-deployment bijwerken.
4. Automatische controles
Voor publicatie controleren of belangrijke functies bestaan, of de JavaScript-code syntactisch klopt en of het juiste TEST-project is geselecteerd. Functionele tests moeten daarnaast controleren of bijvoorbeeld registreren, opslaan en autorisatie echt werken.
Dit zijn alleen leesopdrachten. Ze veranderen niets aan Google Apps Script:
cd ~/DPSPFS_V24_NIEUW
cat .clasp.json
clasp deployments
clasp versions
Hiermee zie je welk project is gekoppeld en welke versies en deployments bestaan.
Je kunt ook:
Een Apps Script-functie vanuit de Terminal uitvoeren, bijvoorbeeld setupV24Test, mits de vereiste Google Cloud- en API-autorisatie is ingesteld. Dit is niet standaard beschikbaar met alleen clasp login.
Een lokale ontwikkelomgeving gebruiken met JavaScript, HTML, CSS en automatische syntaxcontrole.
Meerdere projecten gescheiden houden met afzonderlijke mappen en .clasp.json-bestanden.
Fouten en uitvoeringslogs ophalen, afhankelijk van je Google Cloud Logging-configuratie.
Volledige projectbestanden automatisch laten genereren en publiceren, zonder GitHub te gebruiken.
De officiële documentatie bevestigt deze mogelijkheden. Houd er rekening mee dat Clasp 3.x deels andere opdrachtnamen gebruikt dan jouw huidige installatie.
Concept voor jouw Chromebook Terminal
TEST bijwerken
Veilig uploaden
Back-up maken
ZIP met versienummer
Code controleren
Fouten signaleren
Deploy TEST
Web-app vernieuwen
Versies bekijken
Herstelpunt kiezen
LIVE vrijgeven
Alleen na akkoord
Daarbij wil ik één extra beveiliging inbouwen: het script weigert een upload wanneer de gekoppelde project-ID niet overeenkomt met het verwachte TEST-project. Dat voorkomt dat een verkeerd Terminal-mapje per ongeluk LIVE overschrijft.
Ook belangrijk: Clasp beheert voornamelijk de Apps Script-broncode en deployments. Een clasp pull maakt niet automatisch een back-up van alle gegevens in je Google Sheets-database. Daarvoor bouwen we een aparte database-back-upfunctie.