id: configuration
Prettier uses cosmiconfig for configuration file support. This means you can configure prettier via:
.prettierrc
file, written in YAML or JSON, with optional extensions: .yaml/.yml/.json/.js
.prettier.config.js
file that exports an object."prettier"
key in your package.json
file.The configuration file will be resolved starting from the location of the file being formatted, and searching up the file tree until a config file is (or isn't) found.
The options to the configuration file are the same as the API options.
JSON:
{
"printWidth": 100,
"parser": "flow"
}
JS:
// .prettierrc.js
module.exports = {
printWidth: 100,
parser: "flow"
};
YAML:
# .prettierrc
printWidth: 100
parser: flow
Prettier borrows eslint's override format. This allows you to apply configuration to specific files.
JSON:
{
"semi": false,
"overrides": [
{
"files": "*.test.js",
"options": {
"semi": true
}
}
]
}
YAML:
semi: false
overrides:
- files: "*.test.js"
options:
semi: true
files
is required for each override, and may be a string or array of strings. excludeFiles
may be optionally provided to exclude files for a given rule, and may also be a string or array of strings.
To get prettier to format its own .prettierrc
file, you can do:
{
"overrides": [
{
"files": ".prettierrc",
"options": { "parser": "json" }
}
]
}
For more information on how to use the CLI to locate a file, see the CLI section.
If you'd like a JSON schema to validate your configuration, one is available here: http://json.schemastore.org/prettierrc.