1.9 KiB
id | title |
---|---|
configuration | Configuration File |
Prettier uses cosmiconfig for configuration file support. This means you can configure prettier via:
- A
.prettierrc
file, written in YAML or JSON, with optional extensions:.yaml/.yml/.json/.js
. - A
prettier.config.js
file that exports an object. - A
"prettier"
key in yourpackage.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.
Basic Configuration
JSON:
{
"printWidth": 100,
"parser": "flow"
}
JS:
// .prettierrc.js
module.exports = {
printWidth: 100,
parser: "flow"
};
YAML:
# .prettierrc
printWidth: 100
parser: flow
Configuration Overrides
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.
Configuration Schema
If you'd like a JSON schema to validate your configuration, one is available here: http://json.schemastore.org/prettierrc.