Skip to content

matchersteam/apps-script-starter

 
 

Repository files navigation

Apps Script Template

Template pour les projets Google Apps Script

📦 Installation

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.

Tester son code

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'

.claspignore

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 npm pour GAS par Labnol

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

🌸 Contribution

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!

🔒 License

MIT License (c) Amit Agarwal

Languages

  • JavaScript 78.2%
  • TypeScript 21.8%