Prettier Configuration Files Explained
Prettier supports multiple configuration file formats, and developers can choose the appropriate configuration method based on project needs.
Configuration File Types
-
.prettierrc- JSON format configuration filejson{ "semi": true, "singleQuote": true, "tabWidth": 2, "trailingComma": "es5" } -
.prettierrc.json- Explicit JSON formatjson{ "printWidth": 80, "tabWidth": 2, "useTabs": false } -
.prettierrc.js- JavaScript format, supports dynamic configurationjavascriptmodule.exports = { semi: true, singleQuote: true, tabWidth: 2, }; -
.prettierrc.cjs- CommonJS formatjavascriptmodule.exports = { semi: true, singleQuote: true, }; -
prettier.config.js- Configuration file in project rootjavascriptexport default { semi: true, singleQuote: true, }; -
package.json- Configure in package.jsonjson{ "prettier": { "semi": true, "singleQuote": true } }
Common Configuration Options
printWidth: Specify line width, default 80tabWidth: Specify indentation spaces, default 2useTabs: Whether to use tab indentation, default falsesemi: Whether to add semicolons at end of statements, default truesingleQuote: Whether to use single quotes, default falsetrailingComma: Whether to add trailing commas, options "es5", "none", "all"bracketSpacing: Whether to add spaces in object literal brackets, default truearrowParens: Whether to use parentheses for arrow function parameters, options "always", "avoid"
Configuration Priority
Prettier looks for configuration files in the following order:
prettierfield inpackage.json.prettierrc(JSON/YAML).prettierrc.json.prettierrc.yaml.prettierrc.yml.prettierrc.js.prettierrc.cjsprettier.config.jsprettier.config.cjs
Ignore Configuration
Create a .prettierignore file to specify files or directories that don't need formatting:
shellnode_modules dist build *.min.js
Proper Prettier configuration keeps team code style consistent, improving code readability and maintainability.