Un Linter est un outil servant d’analyse statique de code afin de notifier les erreurs courantes et les mauvaises pratiques.
Chaque projet Captive doit utiliser les configurations partagées (open-source et sur hébergées sur github.com) et les maintenir à jour afin de bénéficier des meilleurs pratiques connues par Captive.
Les configuration Captive sont volontairement :
<aside> ✅ Pré-requis
<aside> ⌛ Temps indicatif : 30min
</aside>
Configurer le projet en utilisant la bonne configuration et en suivant les instructions du README.md
✓ Utiliser la configuration partagée de Captive
Format | Outil |
---|---|
‣ | ‣ + ‣ |
‣ | |
‣ | ‣ + ‣ |
JSON, YAML | ‣ + ‣ |
SASS, SCSS, CSS | ‣ + ‣ |
✓ Vérifier que la tâche lint
(make / npm / bundle / …) affiche seulement les erreurs et n’écrit dans aucun fichier
✓ Vérifier que la tâche format
(make / npm / bundle / …) affiche et corrige les erreurs
âś“Â VĂ©rifier que la CI lance bien les jobs correspondant
Raison
ESLint / Stylelint
Rubocop
Voir ‣
pre-commit
{
"scripts": {
"postinstall": "npx run-p \\"prepare:*\\"",
"postinstall:githooks": "[ -n \\"${CI:-}\\" ] || git config core.hooksPath .githooks"
},
"lint-staged": {
"*.{mjs,cjs,js,jsx,ts,tsx,json,jsonc,json5,yml,yaml,vue}": "eslint",
"*.{css,scss,vue}": "stylelint"
}
// Pas de devDependencies pour améliorer la CI
// - uniquement utile en local
// - installée à la volée via npx
}
#!/bin/sh
npm exec -- lint-staged
Exemple de projet: