From 9ac1cb67a14a9afdf7b8af8b5f70f225a2bb5307 Mon Sep 17 00:00:00 2001 From: aster <137767097+aster-void@users.noreply.github.com> Date: Tue, 17 Dec 2024 19:02:36 +0900 Subject: [PATCH 1/3] install lefthook s.t. I don't accidentally commit unformatted changes --- lefthook.yml | 8 +++ package-lock.json | 164 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 6 +- 3 files changed, 176 insertions(+), 2 deletions(-) create mode 100644 lefthook.yml diff --git a/lefthook.yml b/lefthook.yml new file mode 100644 index 00000000..197a2bb9 --- /dev/null +++ b/lefthook.yml @@ -0,0 +1,8 @@ +pre-commit: + parallel: true + commands: + eslint: + glob: "*.{js,ts,jsx,tsx,md,mdx}" + run: npm run lint # not doing fix to prevent implicit behaviour potentially breaking something + exclude: "contents" + # stage_fixed: true # ↑を lint:fix に変更する場合、これを uncomment すること diff --git a/package-lock.json b/package-lock.json index e85aad66..847c4f91 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,6 +40,7 @@ "eslint": "^8.56.0", "eslint-config-airbnb-typescript-prettier": "^5.0.0", "gatsby-plugin-postcss": "^6.13.1", + "lefthook": "^1.9.2", "postcss": "^8.4.33", "prettier": "^2.8.8", "tailwindcss": "^3.4.1", @@ -13163,6 +13164,169 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lefthook": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.9.2.tgz", + "integrity": "sha512-boUWdXdT6MUPghZuuX64xXbG7u69fcgkD6vNEjoxh3Gll6o6MfY/ITpj/HrRAUVym1jWXB0Z298qL789OD+dZw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "lefthook": "bin/index.js" + }, + "optionalDependencies": { + "lefthook-darwin-arm64": "1.9.2", + "lefthook-darwin-x64": "1.9.2", + "lefthook-freebsd-arm64": "1.9.2", + "lefthook-freebsd-x64": "1.9.2", + "lefthook-linux-arm64": "1.9.2", + "lefthook-linux-x64": "1.9.2", + "lefthook-openbsd-arm64": "1.9.2", + "lefthook-openbsd-x64": "1.9.2", + "lefthook-windows-arm64": "1.9.2", + "lefthook-windows-x64": "1.9.2" + } + }, + "node_modules/lefthook-darwin-arm64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.9.2.tgz", + "integrity": "sha512-kWcSqAdGu5MAtxdLBpxg8H+p4d/pO7tA7+3Q1Cj9NM+c0L3R2ZefGNStGF6Ftbu8grkpz9/jCD588O9PHjsVfw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/lefthook-darwin-x64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.9.2.tgz", + "integrity": "sha512-M4zspEhp0uXaIEVkcPFYayxElFzFhhSfEk29FMhxZOfbmZYPUSYaSsTHgb7oeR0O0/zcMTVDk4nNWsBp2Jpx5A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/lefthook-freebsd-arm64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.9.2.tgz", + "integrity": "sha512-7Grb+wdY99Iuorw9aUu+zYKdkEaQs6OVGn4jgav+AyBSxJA0WZmXgdmZqd6+LuRVYn8JRO8bER8Tu4QUa1fSxg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/lefthook-freebsd-x64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.9.2.tgz", + "integrity": "sha512-tMBN//hqHMUJ9v7k9W3l9aMEBw//enEX+2eQLcvDJSuEE+J3AUbNg9YA5kTpVsDuafg10ziJXAuGD0kYh2ubww==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/lefthook-linux-arm64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.9.2.tgz", + "integrity": "sha512-U16CUCaQSRQTbjqvrsJrwppCK4d/IQjMimfC/SwAEreXr7WkBiekV+Gv+fytEnVHJTCSb5MajJTV+WpBsg6jGg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/lefthook-linux-x64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.9.2.tgz", + "integrity": "sha512-lkEes30MquDhiIrNQ61CfNvGLCN39d8PZ2S/dwLMJBtTH7qfVqXu8UR3KhKEDD1h43cEb4pnIeO2BJUZyn/FNw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/lefthook-openbsd-arm64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.9.2.tgz", + "integrity": "sha512-UJKcL8Iiga8GetYqXqGXy6OeIhtNGim8PHQZH4nfR70s6TPvTvBEGvf48mvfwRyXt8t6aUvz1oyVvRQSdXETug==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/lefthook-openbsd-x64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.9.2.tgz", + "integrity": "sha512-CLS119Fn91mZ2U7ug3fjYMfM7rvwB7gwpDUbuQlEPnVsHJOtaIpu+cmhnKKtU6b4B6r5ETMwhc5dDt/tS5curQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/lefthook-windows-arm64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.9.2.tgz", + "integrity": "sha512-MlN2EnYNF6RUMTGX4csJnHq/J+werlerQsUcYfZrs+TruXCm4MLjwO9Q7vShTws3bsCoeDZnacNTVESQpZG6Lg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/lefthook-windows-x64": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.9.2.tgz", + "integrity": "sha512-7gl1L3qj6xWsqsYJ/ACRDUJruMWLqIRGcI66RiAEnQ3aSnnk0FLCVxIyMwecgW3IWY1O2C69EXV4Og7/0l9JVQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/legacy-swc-helpers": { "name": "@swc/helpers", "version": "0.4.14", diff --git a/package.json b/package.json index 4fe44064..14cda8fb 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,8 @@ "serve": "gatsby serve", "clean": "gatsby clean", "lint": "eslint .", - "type-check": "tsc --noEmit" + "type-check": "tsc --noEmit", + "prepare": "lefthook install" }, "dependencies": { "@headlessui/react": "^1.7.18", @@ -49,9 +50,10 @@ "eslint": "^8.56.0", "eslint-config-airbnb-typescript-prettier": "^5.0.0", "gatsby-plugin-postcss": "^6.13.1", + "lefthook": "^1.9.2", "postcss": "^8.4.33", "prettier": "^2.8.8", "tailwindcss": "^3.4.1", "typescript": "5.1.6" } -} +} \ No newline at end of file From 9a19881d0909da6f5990ec0d292c7bfd7813ed65 Mon Sep 17 00:00:00 2001 From: aster <137767097+aster-void@users.noreply.github.com> Date: Tue, 17 Dec 2024 19:26:47 +0900 Subject: [PATCH 2/3] create script lint:fix --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 14cda8fb..bf8a673e 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "serve": "gatsby serve", "clean": "gatsby clean", "lint": "eslint .", + "lint:fix": "eslint . --fix", "type-check": "tsc --noEmit", "prepare": "lefthook install" }, @@ -56,4 +57,4 @@ "tailwindcss": "^3.4.1", "typescript": "5.1.6" } -} \ No newline at end of file +} From 5a67a1372a42d50052ecd29b7d23b7606c82db39 Mon Sep 17 00:00:00 2001 From: aster <137767097+aster-void@users.noreply.github.com> Date: Tue, 17 Dec 2024 19:28:24 +0900 Subject: [PATCH 3/3] add doc --- lefthook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lefthook.yml b/lefthook.yml index 197a2bb9..5efa2ac0 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -3,6 +3,6 @@ pre-commit: commands: eslint: glob: "*.{js,ts,jsx,tsx,md,mdx}" - run: npm run lint # not doing fix to prevent implicit behaviour potentially breaking something + run: npm run lint # ESLint / Prettier が勝手にコードを壊すのを防ぐため、 lint:fix はしていない。 exclude: "contents" # stage_fixed: true # ↑を lint:fix に変更する場合、これを uncomment すること