Laravel Pintとは
Laravel Pint は、PHP CS Fixer 上に構築されたコードスタイル自動修正ツールです。設定なしですぐに使えるよう設計されており、Laravelのコーディングスタイルに従ってコードを自動的に整形します。 チーム開発でよくある「コードスタイルのレビューコメント」を自動化することで、本質的なコードレビューに集中できるようになります。インストール
新しく作成したLaravelアプリケーションにはPintが自動でインストールされています。古いバージョンのプロジェクトには Composer でインストールしてください。実行方法
基本的な使い方
プロジェクト内のすべての.php ファイルを自動修正します。
--bladeを指定すると、pint.jsonを変更せず、その実行時だけ .blade.php ファイルも整形できます。
Pint/laravel_blade ルールを有効にします。Pintは prettier-plugin-blade と prettier-plugin-tailwindcss を組み合わせた Prettier を使用するため、Node.js が必要です。初回実行時に不足している Prettier の依存関係がある場合は、インストールを促します。
オプション一覧
設定
プロジェクトルートにpint.json を作成することで動作をカスタマイズできます。
プリセット
プリセットはルールのセットです。デフォルトはlaravel プリセットで、Laravelプロジェクトに最適なルールが適用されます。
ルールのカスタマイズ
pint.json でルールを個別に有効・無効にできます。利用できるルールは PHP CS Fixer Configurator を参照してください。
ファイル・フォルダの除外
特定のフォルダをチェック対象から除外できます。notName を使います。
notPath を使います。
推奨設定
実際の開発現場で効果的なpint.json の設定例を紹介します。
no_unused_imports はパッケージ開発向けの設定です。 Pintのデフォルトは true(未使用の use 文を削除)なので、通常のLaravelプロジェクトではこの項目自体不要です。パッケージ開発ではトレイトやインターフェースのインポートで機能をオン/オフするパターンがあるため、false を追加しておき各パッケージの状況に合わせて true に変更する運用が便利です。composer.json への scripts 設定
composer.json に pint 用のスクリプトを登録すると、composer pint だけで実行できるようになります。
CI環境では
composer pint:test を使うとファイルを変更せずスタイル違反を検出できます。--test オプションはエラーがあれば非ゼロの終了コードを返すので、CI のパスチェックに使えます。GitHub Actions での自動実行
GitHub Actions を使ってプッシュのたびにコードスタイルを自動修正・コミットできます。1
Workflowの権限を設定する
GitHubリポジトリの Settings > Actions > General > Workflow permissions で「Read and write permissions」を有効にします。
2
Workflow ファイルを作成する
.github/workflows/lint.yml を作成します。