Skip to content

chore(quality): #14 porter ESLint et la suite de tests unitaires + jobs CI associés

Mathéo ALLARD requested to merge chore/14-porter-eslint-tests-ci into main

Contexte

Porte dans shared/guidelines l'outillage qualité déjà en place dans oxa-guidelines (post-milestone 2.0) : ESLint (flat config, scope scripts/), les tests unitaires manquants, et les jobs CI associés.

Changements

  • eslint.config.js : flat config, scope scripts/**/*.js, règles resserrées
  • package.json : devDependencies figées (eslint@10.9.1, globals@17.12.0), script lint, package-lock.json committé
  • 10 fichiers de test portés depuis oxa-guidelines dans l'arbre miroir tests/ (9 scripts/rules/* + install-guidelines.test.js), adaptés à la convention déjà en place ici (#11 (closed))
  • Correction des violations no-unused-vars révélées par le lint (catch (err) non utilisés) dans check-structure.js et plusieurs règles
  • Correction d'un bug réel dans rule_docFrontmatterCategoriesValid (découvert par le test porté) : utilisait process.cwd() au lieu de context.repoRoot et un chemin technos obsolète (guidelines/technos/*.md au lieu de guidelines/docs/shared/technos/*.md), la rendant silencieusement inopérante
  • docs/audit-dependances.md : porté depuis oxa-guidelines
  • .gitlab-ci.yml : ajout des jobs lint, dependency-audit (stage validate) et unit-tests (nouveau stage test) ; check-structure inchangé

Vérifications locales

  • npm run lint -- --max-warnings 0 : ✅
  • npm test : ✅ 182 tests (27 fichiers)
  • node scripts/check-structure.js : ✅

Closes #14 (closed)

Merge request reports

Loading