chore(quality): #14 porter ESLint et la suite de tests unitaires + jobs CI associés
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, scopescripts/**/*.js, règles resserrées -
package.json: devDependencies figées (eslint@10.9.1,globals@17.12.0), scriptlint,package-lock.jsoncommitté - 10 fichiers de test portés depuis oxa-guidelines dans l'arbre miroir
tests/(9scripts/rules/*+install-guidelines.test.js), adaptés à la convention déjà en place ici (#11 (closed)) - Correction des violations
no-unused-varsrévélées par le lint (catch (err)non utilisés) danscheck-structure.jset plusieurs règles - Correction d'un bug réel dans
rule_docFrontmatterCategoriesValid(découvert par le test porté) : utilisaitprocess.cwd()au lieu decontext.repoRootet un chemin technos obsolète (guidelines/technos/*.mdau lieu deguidelines/docs/shared/technos/*.md), la rendant silencieusement inopérante -
docs/audit-dependances.md: porté depuis oxa-guidelines -
.gitlab-ci.yml: ajout des jobslint,dependency-audit(stagevalidate) etunit-tests(nouveau stagetest) ;check-structureinchangé
Vérifications locales
-
npm run lint -- --max-warnings 0:✅ -
npm test:✅ 182 tests (27 fichiers) -
node scripts/check-structure.js:✅
Closes #14 (closed)