Template pour les projets Google Apps Script
1. Cloner le repo et installer les dépendances et les outils avec npm.
git clone git@github.com:matchersteam/gestion-formations.git
cd gestion-formations
pnpm install
Si ça ne marche pas :
- S'assurer d'avoir une clé ssh permettant la connexion avec son compte Github
- S'assurer d'avoir node v16.17+ sinon installer nvm puis installer node avec la commande
nvm use 16
- S'assurer d'avoir installé pnpm :
corepack enable && corepack prepare pnpm@latest --activate
2. Se connecter à Google Clasp et autoriser l'accès à son compte Google.
pnpm clasp login
3. Configurer l'environnement de développement
- Copier .clasp.example.json en .clasp.json et insérer l'id du script lié au Spreadsheet de développement sur lequel on veut pouvoir déployer
- Se placer sur la branche correspondant à la feature : git checkout xxx-feature-à-développer
- Déployer le code grâce à la commande :
pnpm push
Note : Le code sera compilé dans le dossier dist avant d'être déployé sur le script.
Les tests sont effectués pas Jest
pnpm test
Seul le code sans dépendance avec Gas peut être testé par Jest :
- Exemple sans dépendance avec Gas
const hasCpuTime = () => !(Date.now() - START_TIME > ONE_MINUTE * 4);
- Exemple non testable
function notTestable() {
Logger.log("notTestable"); // <-- Google Apps Script function. Not callable in dev
SpreadsheetApp.getUi(); // <-- Google Apps Script function. Not callable in dev
...
}
Note : jest 'expects'
The .claspignore
file allows you to specify file and directories that you do not wish to not upload to your Google Apps Script project via clasp push
.
The default .claspignore
file in the Apps Script Starter kit will push all the JS and HTML inside the rootDir
folder and ignore all the other files.
Basé sur le starter GAS/npm de Labnol, voir la documentation originale
Amit Agarwal is a web geek, Google Developers Expert (Google Workspace, Google Apps Script) and author of labnol.org, a popular tech how-to website.
He frequently uses Google Apps Script to automate workflows and enhance productivity. Reach him on Twitter or email amit@labnol.org
Contributions and feature requests are welcome. If you are using the Google Apps Script starter package and fixed a bug for yourself, please consider submitting a PR!