**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
34 lines
1.6 KiB
Markdown
34 lines
1.6 KiB
Markdown
# 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` ; devDependencies `eslint`, `@eslint/js`, `eslint-plugin-jsdoc`.
|
||
- **eslint.config.js** : config plate (ESLint 9) pour `web/js/**/*.js` et `server/**/*.js` (hors `node_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
|
||
|
||
```bash
|
||
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.
|