git statusで変更があるファイルに対してEslintなどを実行する
1 min read
コード
git status -s | awk '/^ M/{print $2}' | xargs -r npx eslint --fix
git status -s
で変更があるファイルの一覧を取得し、awk '/^ M/{print $2}'
で変更があるファイルのパスだけを取り出して、xargs -r npx eslint --fix
でEslintの--fix
を実行する。
変更があるファイルの一覧
git status
に-s
オプションをつけると、変更があるファイルの一覧が短縮されて表示される。
M src/components/Button/index.tsx
M src/components/UI/Layout/Sidebar.tsx
M src/pages/index.page.tsx
ファイル一覧を整える
先頭のM
が邪魔なので削除する。awk '/^ M/{print $2}'
で取得したファイル一覧を整える。
src/components/Button/index.tsx
src/components/UI/Layout/Sidebar.tsx
src/pages/index.page.tsx
Eslint --fixを実行
ファイル一覧をxargs
で渡して、xargs -r npx eslint --fix
でESLintの--fix
を実行する。xargs
の-r
オプションは、標準入力が空の場合にコマンドを実行しないようにするオプション。
xargs -r npx eslint --fix
npx eslint
だけではなくstylelint
やprettier
などのツールにも同じように適用できる。