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

1.6 KiB
Raw Permalink Blame History

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

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.