Files
builazoo/docs/lint.md
Nicolas Cantu e031c9a1d2 Initial commit
**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
2026-03-03 22:24:17 +01:00

34 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 leau ou par lot ; ne pas désactiver les règles pour contourner.