.prettierignore : il manque eslint-suppressions.json, que Prettier et ESLint se renvoient sans converger #38

Closed
opened 2026-10-01 12:26:43 +00:00 by nicolas-fryder · 0 comments

Ce qui se passe

eslint-suppressions.json est écrit par ESLint (--suppress-all, --prune-suppressions) dans son format. Prettier le reformate au passage suivant, ESLint le réécrit au suivant encore, et l'aller-retour ne converge pas : prettier --check . échoue, le hook reformate, le prochain élagage défait.

C'est exactement la raison pour laquelle le .prettierignore du gabarit contient déjà pnpm-lock.yaml, openapi.json, eqs-audit.json et eqs-baseline.json — le commentaire en tête du fichier décrit le phénomène mot pour mot. Il manque juste ce fichier-là.

Même cause que le ticket jumeau : le gabarit, étant neuf, n'a pas de suppressions. Tout satellite rétrofitté selon D-048 en a.

Correctif

 openapi.json
 eqs-audit.json
 eqs-baseline.json
 .eqs/
+
+# Écrit par ESLint (`--suppress-all`, `--prune-suppressions`), à sa façon. Le
+# reformater le fait diverger au prochain élagage : Prettier le réécrit,
+# ESLint le réécrit en sens inverse, et l'aller-retour ne converge pas.
+eslint-suppressions.json

Mesuré sur nuage : avec cette ligne, format passe ; sans elle, il échoue à chaque fois qu'une suppression bouge.

Trouvé en rétrofittant nuage (profil nest), socle 0.14.0, Prettier 3.9.6, ESLint 9.39.5.

## Ce qui se passe `eslint-suppressions.json` est écrit par ESLint (`--suppress-all`, `--prune-suppressions`) dans **son** format. Prettier le reformate au passage suivant, ESLint le réécrit au suivant encore, et l'aller-retour ne converge pas : `prettier --check .` échoue, le hook reformate, le prochain élagage défait. C'est exactement la raison pour laquelle le `.prettierignore` du gabarit contient déjà `pnpm-lock.yaml`, `openapi.json`, `eqs-audit.json` et `eqs-baseline.json` — le commentaire en tête du fichier décrit le phénomène mot pour mot. Il manque juste ce fichier-là. Même cause que le ticket jumeau : le gabarit, étant neuf, n'a pas de suppressions. Tout satellite rétrofitté selon D-048 en a. ## Correctif ```diff openapi.json eqs-audit.json eqs-baseline.json .eqs/ + +# Écrit par ESLint (`--suppress-all`, `--prune-suppressions`), à sa façon. Le +# reformater le fait diverger au prochain élagage : Prettier le réécrit, +# ESLint le réécrit en sens inverse, et l'aller-retour ne converge pas. +eslint-suppressions.json ``` Mesuré sur nuage : avec cette ligne, `format` passe ; sans elle, il échoue à chaque fois qu'une suppression bouge. Trouvé en rétrofittant nuage (profil `nest`), socle 0.14.0, Prettier 3.9.6, ESLint 9.39.5.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Infrastructure/eqs-satellite-template#38
No description provided.