# 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.