メインコンテンツへスキップ

CLI

非公式ベータ版翻訳

このページは PageTurner AI で翻訳されました(ベータ版)。プロジェクト公式の承認はありません。 エラーを見つけましたか? 問題を報告 →

コマンドラインからPrettierを実行するには、prettierコマンドを使用します。

prettier [options] [file/dir/glob ...]
注記

ローカルにインストールされたPrettierを実行するには、コマンドの前にnpxyarn execpnpm exec、またはbunxを付加してください。例: npx prettier --helpyarn exec prettier --helppnpm exec prettier --helpbunx prettier --help

ファイルを直接フォーマットするには--writeを使用します(注:ファイルが上書きされます!)。

実際の使用例は以下のようになります:

prettier . --write

このコマンドはカレントディレクトリとそのサブディレクトリにあるPrettierがサポートする全ファイルをフォーマットします。

prettier --write .がプロジェクト内でフォーマットしたいファイルのみを対象にするよう、常に確認することを推奨します。フォーマットしたくないファイルは.prettierignoreファイルで無視設定してください。

より複雑な例:

prettier docs package.json "{app,__{tests,mocks}__}/**/*.js" --write --single-quote --trailing-comma all
警告

globパターンの周囲のクォートを忘れないでください!クォートによりPrettier CLIがglobを展開するようになり、シェルが展開するのを防ぎます。これはクロスプラットフォームで使用する際に重要です。

注記

--single-quote--trailing-commaのようなフォーマットオプションは、CLIフラグとして渡すよりも設定ファイルを使用する方が良いでしょう。これによりPrettier CLI、エディタ統合、その他のツール全てで使用するオプションを認識できます。

ファイルパターン

パス/パターンのリストが与えられた場合、Prettier CLIはまず各エントリをリテラルパスとして扱います。

  • パスが既存のファイルを指す場合、Prettier CLIはそのファイルを処理し、globパターンとして解決しません。

  • パスが既存のディレクトリを指す場合、Prettier CLIはそのディレクトリ内のサポート対象ファイルを再帰的に検索します。この解決プロセスは、ファイル拡張子とPrettierおよびそのプラグインがサポート言語に関連付ける既知のファイル名に基づいています。

  • 上記以外の場合、エントリはfast-globモジュールのglob構文を使用してglobパターンとして解決されます。

Prettier CLIは node_modules ディレクトリ内のファイルを無視します。この動作を無効化するには --with-node-modules フラグを使用してください。

Prettier CLIは引数を展開する際にシンボリックリンクを追跡しません。

glob内の特殊文字をエスケープするには、次の2つの構文のいずれかを使用できます: prettier "\[my-dir]/*.js" または prettier "[[]my-dir]/*.js"。どちらも[my-dir]という名前のディレクトリ内の全JSファイルにマッチしますが、前者はWindowsでバックスラッシュがパス区切り文字として扱われるため動作せず、後者の構文が推奨されます。

--check

ファイルがフォーマット済みか確認したい場合、--checkフラグ(または-c)を付けてPrettierを実行します。 これにより、人間が読めるメッセージと、未フォーマットのファイルがあればそのリストが出力されます。

prettier . --check

全ファイルがフォーマット済みの場合のコンソール出力:

Checking formatting...
All matched files use Prettier code style!

一部のファイルに再フォーマットが必要な場合のコンソール出力:

Checking formatting...
[warn] src/fileA.js
[warn] src/fileB.js
[warn] Code style issues found in 2 files. Run Prettier with --write to fix.

後者の場合、コマンドは終了コード1を返します。これはCIパイプライン内で有用です。 人間が読めるステータスメッセージは、プロジェクト貢献者が潜在的な問題に対応するのに役立ちます。 prettier --checkが未フォーマットファイルを検出する回数を最小化するには、リポジトリにpre-commitフックを設定することを検討してください。 このプラクティスを適用することで、コードフォーマット問題によるCI失敗の回数を最小限に抑えられます。

未フォーマットファイルのリストを他のコマンドにパイプする必要がある場合は、--checkの代わりに--list-differentフラグを使用できます。

終了コード

CodeInformation
0Everything formatted properly
1Something wasn’t formatted properly
2Something’s wrong with Prettier

--debug-check

Prettierがコードの正確性を変更する可能性が懸念される場合、--debug-check をコマンドに追加してください。これにより、コードの正確性が変更された可能性を検出した際にエラーメッセージが出力されます。なお、--write--debug-check は同時に使用できません。

--find-config-path--config

prettierで個別ファイルを繰り返しフォーマットする場合、Prettierが設定ファイルを探す際に小さなパフォーマンスコストが発生します。これを回避するには、Prettierに設定ファイルを一度見つけさせ、後で再利用させることができます。

$ prettier --find-config-path path/to/file.js
path/to/.prettierrc

設定ファイルのパスを取得し、--config に渡せます:

prettier path/to/file.js --write --config path/to/.prettierrc

設定ファイルが config/ ディレクトリなどPrettierが通常検索しない場所にある場合にも --config が利用できます。

設定ファイルが存在しない場合、または存在しても無視したい場合は、代わりに --no-config を渡してください。

--ignore-path

無視するファイルを指定するパターンを含むファイルへのパス。デフォルトでは ./.gitignore./.prettierignore が参照されます。
複数の値を指定可能です。

--list-different

有用なフラグとして --list-different(または -l)があり、Prettierのフォーマットと異なるファイル名を出力します。差分がある場合スクリプトはエラー終了するため、CIシナリオで便利です。

prettier . --single-quote --list-different

--list-different と同じ動作をしつつ、人間が読みやすい要約メッセージを標準出力に表示する --check フラグも利用可能です。

--no-config

設定ファイルを検索しません。デフォルト設定が適用されます。

--config-precedence

設定ファイルとCLIオプションの評価順序を定義します。

cli-override (デフォルト)

CLIオプションが設定ファイルより優先されます

file-override

設定ファイルがCLIオプションより優先されます

prefer-file

設定ファイルが見つかった場合、その設定を評価し他のCLIオプションは無視します。設定ファイルがない場合、通常通りCLIオプションが評価されます。

エディタ統合環境で有用で、ユーザーがデフォルト設定を持ちつつプロジェクト固有の設定を尊重したい場合に適しています。

--no-editorconfig

設定解析時に .editorconfig を考慮しません。詳細は prettier.resolveConfig ドキュメントを参照してください。

--with-node-modules

Prettier CLIは node_modules ディレクトリ内のファイルを無視します。この動作を無効化するには --with-node-modules フラグを使用してください。

--write

処理した全ファイルをその場で書き換えます。eslint --fix のワークフローに相当します。-w エイリアスも使用可能です。

--log-level

CLIのログレベルを変更します。有効なオプション:

  • error

  • warn

  • log (デフォルト)

  • debug

  • silent

--stdin-filepath

Prettier CLIがstdinとして扱うファイルのパス。例:

abc.css

.name {
display: none;
}

shell

$ cat abc.css | prettier --stdin-filepath abc.css
.name {
display: none;
}

--ignore-unknown

--ignore-unknown(または -u)を指定すると、prettierはパターンにマッチした未知のファイルを無視します。

prettier "**/*" --write --ignore-unknown

--no-error-on-unmatched-pattern

パターンが一致しない場合のエラーを防止します。

--cache

このオプションを有効にすると、以下の値がキャッシュキーとして使用され、いずれかが変更された場合にのみファイルがフォーマットされます。

  • Prettierのバージョン

  • オプション設定

  • Node.jsのバージョン

  • (--cache-strategymetadataの場合) タイムスタンプなどのファイルメタデータ

  • (--cache-strategycontentの場合) ファイルの内容

prettier . --write --cache

--cacheなしでPrettierを実行するとキャッシュが削除されます。

また、キャッシュファイルは./node_modules/.cache/prettier/.prettier-cacheに保存されるため、手動で削除する場合はrm ./node_modules/.cache/prettier/.prettier-cacheを実行できます。

警告

プラグインのバージョンと実装はキャッシュキーとして使用されません。プラグインを更新する際はキャッシュの削除を推奨します。

--cache-location

--cacheフラグで使用されるキャッシュファイルの保存パス。--cache-locationを明示しない場合、Prettierはキャッシュを./node_modules/.cache/prettier/.prettier-cacheに保存します。

ファイルパスが渡された場合、そのファイルがキャッシュファイルとして使用されます。

prettier . --write --cache --cache-location=path/to/cache-file

--cache-strategy

変更されたファイルを検出するためのキャッシュ戦略。metadataまたはcontentを指定可能です。

一般的にmetadataの方が高速です。ただし、ファイル内容を変更せずにタイムスタンプだけ更新する操作(例:git cloneなどのGit操作)が発生する環境ではcontentが有用です。

戦略が指定されない場合、デフォルトでcontentが使用されます。

prettier . --write --cache --cache-strategy metadata