Prettier : options
Fichiers de configuration
Section intitulée « Fichiers de configuration »| Fichier | Format |
|---|---|
.prettierrc |
JSON ou YAML (détecté) |
.prettierrc.json, .prettierrc.yaml, .prettierrc.toml |
Formats explicites |
prettier.config.js, prettier.config.mjs |
Module JavaScript (export par défaut) |
package.json |
Clé "prettier" |
/** @type {import('prettier').Config} */export default { singleQuote: true, printWidth: 100,};Un seul fichier de configuration : en cas de plusieurs, Prettier utilise le premier trouvé selon un ordre fixe. Pour partager une configuration entre projets : un paquet npm référencé par "prettier": "@organisation/prettier-config" dans package.json.
Options principales
Section intitulée « Options principales »| Option | Défaut | Rôle |
|---|---|---|
printWidth |
80 |
Largeur de ligne souhaitée |
tabWidth |
2 |
Espaces par niveau d’indentation |
useTabs |
false |
Indenter avec des tabulations |
semi |
true |
Point-virgule en fin d’instruction |
singleQuote |
false |
Guillemets simples plutôt que doubles (hors JSX) |
jsxSingleQuote |
false |
Idem dans JSX |
quoteProps |
"as-needed" |
Guillemets autour des clés d’objets : "as-needed", "consistent", "preserve" |
trailingComma |
"all" (Prettier 3) |
Virgule finale : "all", "es5", "none" |
bracketSpacing |
true |
Espaces dans les accolades : { a: 1 } |
bracketSameLine |
false |
Chevron fermant d’un élément sur la dernière ligne d’attributs |
arrowParens |
"always" |
Parenthèses des fonctions fléchées : (x) => x |
endOfLine |
"lf" |
Fins de ligne : "lf", "crlf", "cr", "auto" |
proseWrap |
"preserve" |
Retour à la ligne du texte Markdown : "always", "never", "preserve" |
htmlWhitespaceSensitivity |
"css" |
Sensibilité aux espaces en HTML |
embeddedLanguageFormatting |
"auto" |
Formater le code intégré (CSS dans JS, code dans Markdown) |
singleAttributePerLine |
false |
Un attribut HTML/JSX par ligne |
Le fichier .prettierrc du présent site, par exemple, ne règle que quelques options et laisse le reste aux valeurs par défaut, avec les plugins Astro et Tailwind (voir Plugins).
Configuration courante
Section intitulée « Configuration courante »{ "semi": true, "singleQuote": true, "trailingComma": "all", "printWidth": 100, "tabWidth": 2, "endOfLine": "lf"}| Choix | Conséquence |
|---|---|
printWidth: 100 |
Moins de retours à la ligne qu’avec 80 ; plus lisible sur écrans larges |
singleQuote: true |
Style répandu en JavaScript |
endOfLine: "lf" |
Fins de ligne identiques sous Linux, macOS et Windows (avec .gitattributes) |
Effet des options
Section intitulée « Effet des options »// semi: false, singleQuote: trueconst nom = 'Alice';const liste = [1, 2, 3].map((n) => n * 2);
// semi: true, singleQuote: false, trailingComma: "all"const config = { nom: 'Alice', roles: ['admin', 'editeur'],};Une option semi: false impose de faire attention aux lignes commençant par (, [ ou une apostrophe inversée : Prettier ajoute alors un point-virgule de garde au début de la ligne.
Markdown
Section intitulée « Markdown »{ "overrides": [ { "files": "*.md", "options": { "proseWrap": "preserve", "printWidth": 100 } } ]}proseWrap: "preserve" laisse le texte tel quel (un paragraphe par ligne) : c’est le choix qui évite les diffs bruyants quand on modifie une phrase. Pour de la documentation de ce type de site (valeurs YAML, tableaux), Prettier aligne les colonnes des tableaux Markdown.
Commentaires prettier-ignore
Section intitulée « Commentaires prettier-ignore »// prettier-ignoreconst matrice = [ 1, 0, 0, 0, 1, 0, 0, 0, 1,];<!-- prettier-ignore -->| a | b ||---|---|| 1 | 2 |<!-- prettier-ignore --><div class="x" > non reformaté </div>À réserver aux cas où le formatage détruit une mise en forme voulue (tableaux de valeurs, ASCII art).
Options en ligne de commande
Section intitulée « Options en ligne de commande »npx prettier --print-width 100 --single-quote --write src/npx prettier --config prettier.config.mjs --write .npx prettier --find-config-path src/app.js # quel fichier de configuration s'appliquenpx prettier --support-info | head -40 # options et langages pris en chargeQuelle option choisir ?
Section intitulée « Quelle option choisir ? »Prettier limite volontairement les options. Conseils :
- Garder les valeurs par défaut sauf raison précise :
printWidth,singleQuoteet éventuellementsemisont les plus courantes. - Choisir une fois pour l’équipe, puis ne plus en discuter.
- Ne jamais mettre des options différentes dans des sous-dossiers sans nécessité (utiliser
overridespour un type de fichier). - Aligner
.editorconfig(Éditeur et EditorConfig).
Dépannage
Section intitulée « Dépannage »| Symptôme | Piste |
|---|---|
| L’option n’a aucun effet | Mauvais fichier de configuration (--find-config-path), faute de frappe, ou option ignorée pour ce langage |
| Les fins de ligne changent | endOfLine et .gitattributes (* text=auto eol=lf) |
| Un fichier JSON est reformaté en une ligne | Largeur de ligne : Prettier compacte les petits objets ; utiliser objectWrap: "preserve" dans les versions qui l’offrent |
| Le Markdown change de mise en forme | proseWrap, listes (- plutôt que *) : comportement de Prettier |
[error] Invalid configuration |
Option inconnue ou valeur invalide : lire le message |
| Résultat différent entre deux postes | Versions de Prettier ou de plugins différentes |
Ubuntu 24.04 et 26.04 : différences à connaître
Section intitulée « Ubuntu 24.04 et 26.04 : différences à connaître »Aucune.