最速で git commit ごとに ESLint と Prettier を効かせる方法(小ネタ)
1. pre-commit
スクリプトを作成
# 適当なフォルダをプロジェクト直下に作成
mkdir .githooks
↑のフォルダへ pre-commit
という名前のシェルスクリプト↓を作成。
.githooks/pre-commit
#!/bin/sh
npm run lint && npm run format
スクリプトに実行フラグを立てる。
chmod +x .githooks/pre-commit
2. NPM スクリプトを用意
package.json
"scripts": {
"lint": "eslint --fix .",
"format": "prettier --write .",
"prepare": "git config --local core.hooksPath .githooks"
}
-
prepare
はnpm install
時に実行されるスクリプト - コミットフックのスクリプト(たち)を納めたフォルダを
core.hooksPath
へ指定
3. コミットフックを登録
- Git レポジトリとして初期化
git init
Initialized empty Git repository in /Users/Foo/git-hooks/.git/
-
npm install
を実行する
npm install
> prepare
> git config --local core.hooksPath .githooks
up to date, audited 137 packages in 495ms
17 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
4. コミットを実行
# ステージング
git add .
# コミット実行
git commit -m "first commit"
> lint
> eslint --fix .
> format
> prettier --write .
.eslintrc.json 21ms
.prettierrc.json 1ms
package-lock.json 41ms
package.json 5ms
src/hello.js 7ms
src/index.js 2ms
[main (root-commit) cc38732] first commit
10 files changed, 2829 insertions(+)
create mode 100644 .eslintignore
create mode 100644 .eslintrc.json
create mode 100755 .githooks/pre-commit
create mode 100644 .gitignore
create mode 100644 .prettierignore
create mode 100644 .prettierrc.json
create mode 100644 package-lock.json
create mode 100644 package.json
create mode 100644 src/hello.js
create mode 100644 src/index.js
以上で完了。
Author And Source
この問題について(最速で git commit ごとに ESLint と Prettier を効かせる方法(小ネタ)), 我々は、より多くの情報をここで見つけました https://zenn.dev/sprout2000/articles/9bbb521ed20329著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol