104 lines
3.6 KiB
Markdown
104 lines
3.6 KiB
Markdown
---
|
|
id: cli
|
|
title: CLI
|
|
---
|
|
|
|
Run Prettier through the CLI with this script. Run it without any arguments to see the [options](options.md).
|
|
|
|
To format a file in-place, use `--write`. You may want to consider committing your code before doing that, just in case.
|
|
|
|
```bash
|
|
prettier [opts] [filename ...]
|
|
```
|
|
|
|
In practice, this may look something like:
|
|
|
|
```bash
|
|
prettier --single-quote --trailing-comma es5 --write "{app,__{tests,mocks}__}/**/*.js"
|
|
```
|
|
|
|
Don't forget the quotes around the globs! The quotes make sure that Prettier expands the globs rather than your shell, for cross-platform usage. The [glob syntax from the glob module](https://github.com/isaacs/node-glob/blob/master/README.md#glob-primer) is used.
|
|
|
|
Prettier CLI will ignore files located in `node_modules` directory. To opt-out from this behavior use `--with-node-modules` flag.
|
|
|
|
## `--debug-check`
|
|
|
|
If you're worried that Prettier will change the correctness of your code, add `--debug-check` to the command. This will cause Prettier to print an error message if it detects that code correctness might have changed. Note that `--write` cannot be used with `--debug-check`.
|
|
|
|
## `--find-config-path` and `--config`
|
|
|
|
If you are repeatedly formatting individual files with `prettier`, you will incur a small performance cost when prettier attempts to look up a [configuration file](configuration.md). In order to skip this, you may ask prettier to find the config file once, and re-use it later on.
|
|
|
|
```bash
|
|
prettier --find-config-path ./my/file.js
|
|
./my/.prettierrc
|
|
```
|
|
|
|
This will provide you with a path to the configuration file, which you can pass to `--config`:
|
|
|
|
```bash
|
|
prettier --config ./my/.prettierrc --write ./my/file.js
|
|
```
|
|
|
|
You can also use `--config` if your configuration file lives somewhere where prettier cannot find it, such as a `config/` directory.
|
|
|
|
If you don't have a configuration file, or want to ignore it if it does exist, you can pass `--no-config` instead.
|
|
|
|
### `--ignore-path`
|
|
|
|
Path to a file containing patterns that describe files to ignore. By default, prettier looks for `./.prettierignore`.
|
|
|
|
## `--require-pragma`
|
|
|
|
Require a special comment, called a pragma, to be present in the file's first docblock comment in order for prettier to format it.
|
|
|
|
```js
|
|
/**
|
|
* @prettier
|
|
*/
|
|
```
|
|
|
|
Valid pragmas are `@prettier` and `@format`.
|
|
|
|
## `--insert-pragma`
|
|
|
|
Insert a `@format` pragma to the top of formatted files when pragma is absent. Works well when used in tandem with `--require-pragma`.
|
|
|
|
## `--list-different`
|
|
|
|
Another useful flag is `--list-different` (or `-l`) which prints the filenames of files that are different from Prettier formatting. If there are differences the script errors out, which is useful in a CI scenario.
|
|
|
|
```bash
|
|
prettier --single-quote --list-different "src/**/*.js"
|
|
```
|
|
|
|
## `--no-config`
|
|
|
|
Do not look for a configuration file. The default settings will be used.
|
|
|
|
## `--config-precedence`
|
|
|
|
Defines how config file should be evaluated in combination of CLI options.
|
|
|
|
**cli-override (default)**
|
|
|
|
CLI options take precedence over config file
|
|
|
|
**file-override**
|
|
|
|
Config file take precedence over CLI options
|
|
|
|
**prefer-file**
|
|
|
|
If a config file is found will evaluate it and ignore other CLI options. If no config file is found CLI options will evaluate as normal.
|
|
|
|
This option adds support to editor integrations where users define their default configuration but want to respect project specific configuration.
|
|
|
|
## `--with-node-modules`
|
|
|
|
Prettier CLI will ignore files located in `node_modules` directory. To opt-out from this behavior use `--with-node-modules` flag.
|
|
|
|
## `--write`
|
|
|
|
This rewrites all processed files in place. This is comparable to the `eslint --fix` workflow.
|