prettier
prettier documentation
- Version in MegaLinter: 3.2.4
- Visit Official Web Site
- See How to configure prettier rules
- See How to disable prettier rules in files
- See Index of problems detected by prettier
Configuration in MegaLinter
- Enable prettier by adding
JAVASCRIPT_PRETTIER
in ENABLE_LINTERS variable - Disable prettier by adding
JAVASCRIPT_PRETTIER
in DISABLE_LINTERS variable
- Enable autofixes by adding
JAVASCRIPT_PRETTIER
in APPLY_FIXES variable
Variable | Description | Default value |
---|---|---|
JAVASCRIPT_DEFAULT_STYLE | For prettier to be active, JAVASCRIPT_DEFAULT_STYLE must be prettier |
standard |
JAVASCRIPT_PRETTIER_ARGUMENTS | User custom arguments to add in linter CLI call Ex: -s --foo "bar" |
|
JAVASCRIPT_PRETTIER_COMMAND_REMOVE_ARGUMENTS | User custom arguments to remove from command line before calling the linter Ex: -s --foo "bar" |
|
JAVASCRIPT_PRETTIER_FILTER_REGEX_INCLUDE | Custom regex including filter Ex: (src\|lib) |
Include every file |
JAVASCRIPT_PRETTIER_FILTER_REGEX_EXCLUDE | Custom regex excluding filter Ex: (test\|examples) |
Exclude no file |
JAVASCRIPT_PRETTIER_CLI_LINT_MODE | Override default CLI lint mode - file : Calls the linter for each file- list_of_files : Call the linter with the list of files as argument- project : Call the linter from the root of the project |
list_of_files |
JAVASCRIPT_PRETTIER_FILE_EXTENSIONS | Allowed file extensions. "*" matches any extension, "" matches empty extension. Empty list excludes all filesEx: [".py", ""] |
[".js"] |
JAVASCRIPT_PRETTIER_FILE_NAMES_REGEX | File name regex filters. Regular expression list for filtering files by their base names using regex full match. Empty list includes all files Ex: ["Dockerfile(-.+)?", "Jenkinsfile"] |
Include every file |
JAVASCRIPT_PRETTIER_PRE_COMMANDS | List of bash commands to run before the linter | None |
JAVASCRIPT_PRETTIER_POST_COMMANDS | List of bash commands to run after the linter | None |
JAVASCRIPT_PRETTIER_UNSECURED_ENV_VARIABLES | List of env variables explicitly not filtered before calling JAVASCRIPT_PRETTIER and its pre/post commands | None |
JAVASCRIPT_PRETTIER_CONFIG_FILE | prettier configuration file nameUse LINTER_DEFAULT to let the linter find it |
.prettierrc.json |
JAVASCRIPT_PRETTIER_RULES_PATH | Path where to find linter configuration file | Workspace folder, then MegaLinter default rules |
JAVASCRIPT_PRETTIER_DISABLE_ERRORS | Run linter but consider errors as warnings | true |
JAVASCRIPT_PRETTIER_DISABLE_ERRORS_IF_LESS_THAN | Maximum number of errors allowed | 0 |
JAVASCRIPT_PRETTIER_CLI_EXECUTABLE | Override CLI executable | ['prettier'] |
IDE Integration
Use prettier in your favorite IDE to catch errors before MegaLinter !
MegaLinter Flavours
This linter is available in the following flavours
Flavor | Description | Embedded linters | Info | |
---|---|---|---|---|
all | Default MegaLinter Flavor | 121 | ||
cupcake | MegaLinter for the most commonly used languages | 83 | ||
dotnetweb | Optimized for C, C++, C# or VB based projects with JS/TS | 72 | ||
formatters | Contains only formatters | 17 | ||
javascript | Optimized for JAVASCRIPT or TYPESCRIPT based projects | 59 |
Behind the scenes
How are identified applicable files
- File extensions:
.js
How the linting is performed
- prettier is called once with the list of files as arguments (
list_of_files
CLI lint mode)
Example calls
prettier --check myfile.js
prettier --config .prettierrc.json --check myfile.js
prettier --config .prettierrc.json --write myfile.js
Help content
Usage: prettier [options] [file/dir/glob ...]
By default, output is written to stdout.
Stdin is read if it is piped to Prettier and no files are given.
Output options:
-c, --check Check if the given files are formatted, print a human-friendly summary
message and paths to unformatted files (see also --list-different).
-l, --list-different Print the names of files that are different from Prettier's formatting (see also --check).
-w, --write Edit files in-place. (Beware!)
Format options:
--arrow-parens <always|avoid>
Include parentheses around a sole arrow function parameter.
Defaults to always.
--bracket-same-line Put > of opening tags on the last line instead of on a new line.
Defaults to false.
--no-bracket-spacing Do not print spaces between brackets.
--embedded-language-formatting <auto|off>
Control how Prettier formats quoted code embedded in the file.
Defaults to auto.
--end-of-line <lf|crlf|cr|auto>
Which end of line characters to apply.
Defaults to lf.
--no-experimental-ternaries
Default behavior of ternaries; keep question marks on the same line as the consequent.
--html-whitespace-sensitivity <css|strict|ignore>
How to handle whitespaces in HTML.
Defaults to css.
--jsx-single-quote Use single quotes in JSX.
Defaults to false.
--parser <flow|babel|babel-flow|babel-ts|typescript|acorn|espree|meriyah|css|less|scss|json|json5|jsonc|json-stringify|graphql|markdown|mdx|vue|yaml|glimmer|html|angular|lwc>
Which parser to use.
--print-width <int> The line length where Prettier will try wrap.
Defaults to 80.
--prose-wrap <always|never|preserve>
How to wrap prose.
Defaults to preserve.
--quote-props <as-needed|consistent|preserve>
Change when properties in objects are quoted.
Defaults to as-needed.
--no-semi Do not print semicolons, except at the beginning of lines which may need them.
--single-attribute-per-line
Enforce single attribute per line in HTML, Vue and JSX.
Defaults to false.
--single-quote Use single quotes instead of double quotes.
Defaults to false.
--tab-width <int> Number of spaces per indentation level.
Defaults to 2.
--trailing-comma <all|es5|none>
Print trailing commas wherever possible when multi-line.
Defaults to all.
--use-tabs Indent with tabs instead of spaces.
Defaults to false.
--vue-indent-script-and-style
Indent script and style tags in Vue files.
Defaults to false.
Config options:
--config <path> Path to a Prettier configuration file (.prettierrc, package.json, prettier.config.js).
--no-config Do not look for a configuration file.
--config-precedence <cli-override|file-override|prefer-file>
Define in which order config files and CLI options should be evaluated.
Defaults to cli-override.
--no-editorconfig Don't take .editorconfig into account when parsing configuration.
--find-config-path <path>
Find and print the path to a configuration file for the given input file.
--ignore-path <path> Path to a file with patterns describing files to ignore.
Multiple values are accepted.
Defaults to [.gitignore, .prettierignore].
--plugin <path> Add a plugin. Multiple plugins can be passed as separate `--plugin`s.
Defaults to [].
--with-node-modules Process files inside 'node_modules' directory.
Editor options:
--cursor-offset <int> Print (to stderr) where a cursor at the given position would move to after formatting.
Defaults to -1.
--range-end <int> Format code ending at a given character offset (exclusive).
The range will extend forwards to the end of the selected statement.
Defaults to Infinity.
--range-start <int> Format code starting at a given character offset.
The range will extend backwards to the start of the first line containing the selected statement.
Defaults to 0.
Other options:
--cache Only format changed files. Cannot use with --stdin-filepath.
Defaults to false.
--cache-location <path> Path to the cache file.
--cache-strategy <metadata|content>
Strategy for the cache to use for detecting changed files.
--no-color Do not colorize error messages.
--no-error-on-unmatched-pattern
Prevent errors when pattern is unmatched.
--file-info <path> Extract the following info (as JSON) for a given file path. Reported fields:
* ignored (boolean) - true if file path is filtered by --ignore-path
* inferredParser (string | null) - name of parser inferred from file path
-h, --help <flag> Show CLI usage, or details about the given flag.
Example: --help write
-u, --ignore-unknown Ignore unknown files.
--insert-pragma Insert @format pragma into file's first docblock comment.
Defaults to false.
--log-level <silent|error|warn|log|debug>
What level of logs to report.
Defaults to log.
--require-pragma Require either '@prettier' or '@format' to be present in the file's first docblock comment
in order for it to be formatted.
Defaults to false.
--stdin-filepath <path> Path to the file to pretend that stdin comes from.
--support-info Print support information as JSON.
-v, --version Print Prettier version.
Installation on mega-linter Docker image
- NPM packages (node.js):