Fichier de configuration
Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →
Vous pouvez configurer Prettier via (par ordre de priorité) :
-
Une clé
"prettier"dans votre fichierpackage.jsonoupackage.yaml. -
Un fichier
.prettierrcécrit en JSON ou YAML. -
Un fichier
.prettierrc.json,.prettierrc.yml,.prettierrc.yaml, ou.prettierrc.json5. -
Un fichier
.prettierrc.js,prettier.config.js,.prettierrc.ts, ouprettier.config.tsexportant un objet avecexport defaultoumodule.exports(dépend de la valeurtypedans votrepackage.json). -
Un fichier
.prettierrc.mjs,prettier.config.mjs,.prettierrc.mts, ouprettier.config.mtsexportant un objet avecexport default. -
Un fichier
.prettierrc.cjs,prettier.config.cjs,.prettierrc.cts, ouprettier.config.ctsexportant un objet avecmodule.exports. -
Un fichier
.prettierrc.toml.
L'utilisation des fichiers de configuration TypeScript nécessite une configuration supplémentaire
Le fichier de configuration est résolu en partant de l'emplacement du fichier à formater, puis en remontant l'arborescence jusqu'à ce qu'un fichier de configuration soit trouvé (ou non).
Prettier ne prend intentionnellement pas en charge les configurations globales. Cela garantit qu'un projet copié sur un autre ordinateur conserve le même comportement de formatage. Autrement, Prettier ne pourrait assurer des résultats cohérents pour tous les membres d'une équipe.
Les options disponibles dans le fichier de configuration sont identiques aux options de l'API.
Fichiers de configuration TypeScript
Le support TypeScript nécessite Node.js >=22.6.0, et --experimental-strip-types est requis avant Node.js v24.3.0.
node --experimental-strip-types node_modules/prettier/bin/prettier.cjs . --write
ou
NODE_OPTIONS="--experimental-strip-types" prettier . --write
Configuration de base
JSON :
{
"trailingComma": "es5",
"tabWidth": 4,
"semi": false,
"singleQuote": true
}
JS (ES Modules) :
/**
* @see https://prettier.io/docs/configuration
* @type {import("prettier").Config}
*/
const config = {
trailingComma: "es5",
tabWidth: 4,
semi: false,
singleQuote: true,
};
export default config;
JS (CommonJS) :
/**
* @see https://prettier.io/docs/configuration
* @type {import("prettier").Config}
*/
const config = {
trailingComma: "es5",
tabWidth: 4,
semi: false,
singleQuote: true,
};
module.exports = config;
TypeScript (ES Modules) :
import { type Config } from "prettier";
const config: Config = {
trailingComma: "none",
};
export default config;
TypeScript (CommonJS) :
import { type Config } from "prettier";
const config: Config = {
trailingComma: "none",
};
module.exports = config;
YAML :
trailingComma: "es5"
tabWidth: 4
semi: false
singleQuote: true
TOML :
trailingComma = "es5"
tabWidth = 4
semi = false
singleQuote = true
Surcharges de configuration
Les surcharges permettent d'appliquer des configurations différentes pour certaines extensions de fichier, dossiers ou fichiers spécifiques.
JSON :
{
"semi": false,
"overrides": [
{
"files": "*.test.js",
"options": {
"semi": true
}
},
{
"files": ["*.html", "legacy/**/*.js"],
"options": {
"tabWidth": 4
}
}
]
}
YAML :
semi: false
overrides:
- files: "*.test.js"
options:
semi: true
- files:
- "*.html"
- "legacy/**/*.js"
options:
tabWidth: 4
files est obligatoire pour chaque surcharge et peut être une chaîne ou un tableau de chaînes. excludeFiles est optionnel pour exclure des fichiers et peut également être une chaîne ou un tableau de chaînes.
Définir l'option parser
Par défaut, Prettier déduit automatiquement le parser à utiliser selon l'extension du fichier. Combiné avec overrides, vous pouvez indiquer à Prettier comment parser des fichiers qu'il ne reconnaît pas.
Par exemple, pour formater le fichier .prettierrc lui-même :
{
"overrides": [
{
"files": ".prettierrc",
"options": { "parser": "json" }
}
]
}
Vous pouvez également utiliser le parser flow au lieu du parser par défaut babel pour les fichiers .js :
{
"overrides": [
{
"files": "*.js",
"options": {
"parser": "flow"
}
}
]
}
Remarque : Ne placez jamais l'option parser au niveau supérieur de votre configuration. Utilisez-la uniquement dans les overrides. Sinon, vous désactivez effectivement l'inférence automatique des analyseurs par extension de fichier de Prettier. Cela force Prettier à utiliser l'analyseur spécifié pour tous les types de fichiers – même quand cela n'a pas de sens, comme essayer d'analyser un fichier CSS comme du JavaScript.
Schéma de configuration
Si vous souhaitez un schéma JSON pour valider votre configuration, vous pouvez en trouver un à cette adresse : https://www.schemastore.org/prettierrc.json.
EditorConfig
Si un fichier .editorconfig est présent dans votre projet, Prettier l'analysera et convertira ses propriétés dans la configuration Prettier correspondante. Cette configuration sera écrasée par .prettierrc, etc.
Contrairement à la spécification EditorConfig, la recherche d'un fichier .editorconfig s'arrêtera à la racine du projet et ne remontera pas plus haut.
Voici une description annotée de la manière dont les différentes propriétés correspondent au comportement de Prettier :
# Stop the editor from looking for .editorconfig files in the parent directories
# root = true
[*]
# Non-configurable Prettier behaviors
charset = utf-8
insert_final_newline = true
# Caveat: Prettier won’t trim trailing whitespace inside template strings, but your editor might.
# trim_trailing_whitespace = true
# Configurable Prettier behaviors
# (change these if your Prettier config differs)
end_of_line = lf
indent_style = space
indent_size = 2
max_line_length = 80
Voici un fichier .editorconfig prêt à copier-coller si vous utilisez les options par défaut :
[*]
charset = utf-8
insert_final_newline = true
end_of_line = lf
indent_style = space
indent_size = 2
max_line_length = 80