**Motivations:** - Initialisation du versionning git pour le projet **Root causes:** - N/A (Nouveau projet) **Correctifs:** - N/A **Evolutions:** - Structure initiale du projet - Ajout du .gitignore **Pages affectées:** - Tous les fichiers
1.6 KiB
1.6 KiB
Lint – Configuration ESLint
Configuration initialisée selon les règles du projet (Rappel des grandes règles / qualité du code).
Fichiers
- package.json (racine) : scripts
lint,lint:web,lint:server; devDependencieseslint,@eslint/js,eslint-plugin-jsdoc. - eslint.config.js : config plate (ESLint 9) pour
web/js/**/*.jsetserver/**/*.js(horsnode_modules).
Règles activées (résumé)
- Longueur / complexité : max 250 lignes/fichier, 40 lignes/fonction, 4 paramètres, profondeur 4, complexité cyclomatique 10 (warn).
- Non utilisés :
no-unused-vars(args/vars/erreurs commençant par_ignorés). - Égalité :
eqeqeq(=== / !==). - Variables :
no-var,prefer-const. - Contrôle :
no-else-return,no-continue,no-labels. - Console / debug :
no-console(warn, allow warn/error),no-debugger,no-alert. - Sécurité :
no-eval,no-implied-eval,no-new-func. - JSDoc :
jsdoc/require-returns,jsdoc/check-param-names(warn).
Règles non disponibles en core ESLint (à appliquer manuellement ou via plugin dédié) : prefer-nullish-coalescing, prefer-optional-chain (préférer ?? et ?. selon les règles projet).
Utilisation
npm run lint # web/js + server (hors node_modules)
npm run lint:web # web/js uniquement
npm run lint:server # server uniquement
Conformité progressive
Le premier passage sur le dépôt signale des violations existantes (eqeqeq, no-continue, max-lines-per-function, complexity, etc.). Les corriger au fil de l’eau ou par lot ; ne pas désactiver les règles pour contourner.