diff --git a/package.json b/package.json index eb73e54c1fdd6976bebe34bc54984d1c98baa604..fae47c4dc5a984060adda81bf47bd3a509102fbe 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,8 @@ "format": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"", "test": "tsc -p ./test-dts/tsconfig.json && jest && node scripts/test.js", "test-dts": "tsc -p ./test-dts/tsconfig.json && tsc -p ./test-dts/tsconfig.build.json", - "preinstall": "node ./scripts/preinstall.js", + "preinstall": "npx only-allow pnpm", + "postinstall": "simple-git-hooks", "e2e:ssr:dev": "cd packages/playground/ssr && npm run dev:ssr", "e2e:ssr:open": "cd packages/playground/ssr && npx cypress open", "release": "node scripts/release.js" @@ -25,15 +26,15 @@ "tsd": { "directory": "test-dts" }, - "gitHooks": { - "pre-commit": "lint-staged", - "commit-msg": "node scripts/verifyCommit.js" + "simple-git-hooks": { + "pre-commit": "pnpm exec lint-staged --concurrent false", + "commit-msg": "node scripts/verifyCommit.js $1" }, "lint-staged": { - "*.js": [ + "packages/**/*.js": [ "prettier --write" ], - "*.ts?(x)": [ + "packages/**/*.ts?(x)": [ "eslint", "prettier --parser=typescript --write" ] @@ -86,6 +87,7 @@ "rollup-plugin-typescript2": "^0.29.0", "rollup-plugin-vue": "^6.0.0", "semver": "^7.3.5", + "simple-git-hooks": "^2.8.0", "ts-jest": "^27.0.3", "typescript": "^4.8.4", "vite": "3.1.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fd833dcba7602a79841be5ef9fbee154b4f81b0f..ce5d08fbf1d9bdbcd0ff7531de3ba71568ec3738 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,6 +48,7 @@ importers: rollup-plugin-typescript2: ^0.29.0 rollup-plugin-vue: ^6.0.0 semver: ^7.3.5 + simple-git-hooks: ^2.8.0 ts-jest: ^27.0.3 typescript: ^4.8.4 vite: 3.1.6 @@ -99,6 +100,7 @@ importers: rollup-plugin-typescript2: 0.29.0_gypgyaqhine6mwjfvh7icfhviq rollup-plugin-vue: 6.0.0_@vue+compiler-sfc@3.2.40 semver: 7.3.7 + simple-git-hooks: 2.8.0 ts-jest: 27.1.5_2lv2rcj537c6eix77wyoioddju typescript: 4.8.4 vite: 3.1.6 @@ -7759,6 +7761,12 @@ packages: /signal-exit/3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + /simple-git-hooks/2.8.0: + resolution: {integrity: sha512-ocmZQORwa6x9mxg+gVIAp5o4wXiWOHGXyrDBA0+UxGKIEKOyFtL4LWNKkP/2ornQPdlnlDGDteVeYP5FjhIoWA==} + hasBin: true + requiresBuild: true + dev: true + /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true diff --git a/scripts/preinstall.js b/scripts/preinstall.js deleted file mode 100644 index a1269cc0a7c6d256a84627ae3c9c0cc50d0ed2d5..0000000000000000000000000000000000000000 --- a/scripts/preinstall.js +++ /dev/null @@ -1,7 +0,0 @@ -if (!/pnpm/.test(process.env.npm_execpath || '')) { - console.warn( - `\u001b[33mThis repository requires using pnpm as the package manager ` + - ` for scripts to work properly.\u001b[39m\n` - ) - process.exit(1) -} diff --git a/scripts/verifyCommit.js b/scripts/verifyCommit.js index 81c8ec683c06e79f26f9a63eaa738b0cbceef782..987f08367f1a746ae041ac014e966f1698467053 100644 --- a/scripts/verifyCommit.js +++ b/scripts/verifyCommit.js @@ -1,7 +1,8 @@ // Invoked on the commit-msg git hook by yorkie. const colors = require('picocolors') -const msgPath = process.env.GIT_PARAMS +// get $1 from commit-msg script +const msgPath = process.argv[2] const msg = require('fs').readFileSync(msgPath, 'utf-8').trim() const commitRE =