"Pourquoi je n'utilise pas Prettier"

,L’auteur explique pourquoi il préfère utiliser ESLint pour formatter son code plutôt que Prettier. En gros : Prettier c’est très bien, surtout sur des petits trucs, mais c’est extrêmement irritant sur certains petits trucs. C’est inflexible (par design). Parfois ça pollue et obscure certains diffs, et paradoxalement ça rend parfois le code lui-mème moins lisible.

Ça découle du mode de fonctionnement de Prettier, qui parse l’AST du code puis réécrit le code à partir de l’AST : tout ce qui n’est pas du code est perdu.

Exemple assez commun extrait de l’article :

Capture d'écran du Playground de Prettier, illustrant un des caprices de l'outil. À gauche, un tableau d'objets JSON, un objet par ligne. À droite, Prettier a formaté le tableau et certains objets

Un tableau d’objets courts avec juste des props name et motto, un objet par ligne, se fait reformatter de 3 façons différentes selon la longueur de la ligne.

À la place, l’auteur utilise ESLint sur ses plus gros repos : plus configurable, moins rigide. Il a publié sa propre surcouche pour faciliter la configuration : https://github.com/antfu/eslint-config (Je ne suis pas fan d’ajouter des dépendances juste pour ça, mais peut-être qu’il vaut mieux ça que de passer trois heures à configurer ESLint…)

(Edit 2025-07 : un package similaire, eslint-config-prettier, s’est fait hijack. sources : OPSWAT, Endor Labs, safedep, Snyk)

 

Je me retrouve assez dans l’article. J’aime beaucoup l’idée de Prettier, mais je me retrouve toujours frustré à un moment.

ESLint reste assez simple à installer tout seul :

Articles similaires sur l’ESLint pour formatter le code, et la différence entre “Linting” et “Formatting” : 

https://antfu.me/posts/why-not-prettier

Nos derniers articles