Nette Code Checker
******************
.[perex]
[Code Checker |https://github.com/nette/code-checker]は、ソースファイルに、目に見えない BOM、制御文字、壊れた文字コード、PHP・Latte・NEON・JSON のファイルの誤った構文といった形式上の欠陥がないかを調べ、自動的に直せます。
インストール
======
Composer で全体に入れます。
```shell
composer global require nette/code-checker
```
Composer の全体の `bin` のディレクトリが [`$PATH` に入っている |https://getcomposer.org/doc/03-cli.md#global]ことを確かめてください。そうすれば `code-checker` のコマンドが、どのオペレーティングシステムでもどこからでも使えます。
あるいは単独のプロジェクトとして入れられます。
```shell
composer create-project nette/code-checker
```
PHP 8.0 以上が要ります。
使い方
===
既定では、Code Checker は読み取り専用のモードで動き、見つけた問題を知らせるだけです。
```shell
code-checker
```
実際にファイルを直すには `--fix` を足します。先にファイルの控えを取るか、あとで `git diff` で変更を見直せるように、きれいな作業ツリーで走らせてください。
```shell
code-checker --fix
```
調べる範囲を特定のパスに絞ったり、ファイルを飛ばしたり、構文だけの速い確認を走らせたりできます。
```shell
code-checker -d src --ignore "temp/*"
code-checker --only-syntax
```
読み取り専用のモードでは、すべて問題なければ終了コード `0` で、エラーや直せる問題を見つけると `1` で終わるので、CI の流れにきれいに収まります。
オプションの一覧です。
```
Usage: code-checker [options]
Options:
-d <path> Folder or file to scan (default: current directory)
-i | --ignore <mask> Files to ignore
-f | --fix Fix the files
-l | --eol Normalize line endings to the system default
--only-syntax Check syntax only (faster)
--no-progress Do not show progress dots
--version Show version
```
Code Checker がすること
==================
- [Latte |latte:]のテンプレートと `.php`、`.neon`、`.json` のファイルの構文を調べます
- [BOM |nette:glossary#BOM]を取り除きます
- ファイルが正しい UTF-8 かを確かめます
- [制御文字 |nette:glossary#制御文字]がないかを調べます
- 形の崩れた phpDoc のコメント(たとえば `/** @var` の代わりの `/* @var`)を見つけます
- `declare(strict_types=1)` の宣言がない PHP のファイルを知らせます
- PHP、CSS、JS、TS のファイルでは字下げにタブを、YAML では空白を求めます
- 行末の空白とファイルの終わりの空行を取り除きます
- 改行をシステムの既定にそろえます(`-l` のパラメータ付きで)
Nette Code Checker
Code
Checkerは、ソースファイルに、目に見えない
BOM、制御文字、壊れた文字コード、PHP・Latte・NEON・JSON
のファイルの誤った構文といった形式上の欠陥がないかを調べ、自動的に直せます。
インストール
Composer で全体に入れます。
composer global require nette/code-checker
Composer の全体の bin のディレクトリが $PATH
に入っていることを確かめてください。そうすれば code-checker
のコマンドが、どのオペレーティングシステムでもどこからでも使えます。
あるいは単独のプロジェクトとして入れられます。
composer create-project nette/code-checker
PHP 8.0 以上が要ります。
使い方
既定では、Code Checker は読み取り専用のモードで動き、見つけた問題を知らせるだけです。
code-checker
実際にファイルを直すには --fix を足します。先にファイルの控えを取るか、あとで
git diff で変更を見直せるように、きれいな作業ツリーで走らせてください。
code-checker --fix
調べる範囲を特定のパスに絞ったり、ファイルを飛ばしたり、構文だけの速い確認を走らせたりできます。
code-checker -d src --ignore "temp/*"
code-checker --only-syntax
読み取り専用のモードでは、すべて問題なければ終了コード 0
で、エラーや直せる問題を見つけると 1 で終わるので、CI
の流れにきれいに収まります。
オプションの一覧です。
Usage: code-checker [options]
Options:
-d <path> Folder or file to scan (default: current directory)
-i | --ignore <mask> Files to ignore
-f | --fix Fix the files
-l | --eol Normalize line endings to the system default
--only-syntax Check syntax only (faster)
--no-progress Do not show progress dots
--version Show version
Code Checker がすること
- Latteのテンプレートと
.php、.neon、.json のファイルの構文を調べます
- BOMを取り除きます
- ファイルが正しい UTF-8 かを確かめます
- 制御文字がないかを調べます
- 形の崩れた phpDoc のコメント(たとえば
/** @var の代わりの
/* @var)を見つけます
declare(strict_types=1) の宣言がない PHP のファイルを知らせます
- PHP、CSS、JS、TS のファイルでは字下げにタブを、YAML では空白を求めます
- 行末の空白とファイルの終わりの空行を取り除きます
- 改行をシステムの既定にそろえます(
-l のパラメータ付きで)