Archivo de configuración
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Puedes configurar Prettier mediante (en orden de precedencia):
-
Una clave
"prettier"en tu archivopackage.jsonopackage.yaml. -
Un archivo
.prettierrcescrito en JSON o YAML. -
Un archivo
.prettierrc.json,.prettierrc.yml,.prettierrc.yaml, o.prettierrc.json5. -
Un archivo
.prettierrc.js,prettier.config.js,.prettierrc.ts, oprettier.config.tsque exporte un objeto usandoexport defaultomodule.exports(depende del valortypeen tupackage.json). -
Un archivo
.prettierrc.mjs,prettier.config.mjs,.prettierrc.mts, oprettier.config.mtsque exporte un objeto usandoexport default. -
Un archivo
.prettierrc.cjs,prettier.config.cjs,.prettierrc.cts, oprettier.config.ctsque exporte un objeto usandomodule.exports. -
Un archivo
.prettierrc.toml.
El soporte para archivos de configuración TypeScript requiere configuración adicional
El archivo de configuración se resolverá comenzando desde la ubicación del archivo que se está formateando, buscando hacia arriba en el árbol de archivos hasta encontrar (o no) un archivo de configuración.
Prettier intencionalmente no admite ningún tipo de configuración global. Esto asegura que cuando un proyecto se copia a otra computadora, el comportamiento de Prettier permanece igual. De lo contrario, Prettier no podría garantizar que todos en un equipo obtengan resultados consistentes.
Las opciones que puedes usar en el archivo de configuración son las mismas que las opciones de la API.
Archivos de configuración TypeScript
El soporte para TypeScript requiere Node.js>=22.6.0, y --experimental-strip-types es necesario antes de Node.js v24.3.0 para ejecutar Node.js.
node --experimental-strip-types node_modules/prettier/bin/prettier.cjs . --write
o
NODE_OPTIONS="--experimental-strip-types" prettier . --write
Configuración básica
JSON:
{
"trailingComma": "es5",
"tabWidth": 4,
"semi": false,
"singleQuote": true
}
JS (Módulos ES):
/**
* @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 (Módulos ES):
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
Sobrescritura de configuración
Las sobrescrituras permiten tener diferentes configuraciones para ciertas extensiones de archivo, carpetas y archivos específicos.
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 es requerido para cada sobrescritura y puede ser un string o array de strings. excludeFiles puede proporcionarse opcionalmente para excluir archivos de una regla dada y también puede ser un string o array de strings.
Configurando la opción parser
Por defecto, Prettier infiere automáticamente qué parser usar según la extensión del archivo de entrada. Combinado con overrides puedes enseñar a Prettier cómo analizar archivos que no reconoce.
Por ejemplo, para que Prettier formatee su propio archivo .prettierrc, puedes hacer:
{
"overrides": [
{
"files": ".prettierrc",
"options": { "parser": "json" }
}
]
}
También puedes cambiar al parser flow en lugar del predeterminado babel para archivos .js:
{
"overrides": [
{
"files": "*.js",
"options": {
"parser": "flow"
}
}
]
}
Nota: Nunca coloques la opción parser en el nivel superior de tu configuración. Solo úsala dentro de overrides. De lo contrario, deshabilitarás la inferencia automática de analizador basada en extensiones de archivo de Prettier. Esto fuerza a Prettier a usar el analizador que especificaste para todos los tipos de archivos, incluso cuando no tiene sentido, como intentar analizar un archivo CSS como JavaScript.
Esquema de configuración
Si deseas un esquema JSON para validar tu configuración, hay uno disponible aquí: https://www.schemastore.org/prettierrc.json.
EditorConfig
Si existe un archivo .editorconfig en tu proyecto, Prettier lo analizará y convertirá sus propiedades a la configuración correspondiente de Prettier. Esta configuración será sobrescrita por .prettierrc, etc.
A diferencia de la especificación de EditorConfig, la búsqueda del archivo .editorconfig se detendrá en la raíz del proyecto y no continuará más allá.
Aquí tienes una descripción detallada de cómo se mapean las diferentes propiedades al comportamiento 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
Aquí tienes un archivo .editorconfig listo para copiar y pegar si usas las opciones predeterminadas:
[*]
charset = utf-8
insert_final_newline = true
end_of_line = lf
indent_style = space
indent_size = 2
max_line_length = 80