- Make sure tests pass!
-- Commit messages must follow the [commit message convention](./commit-convention.md) so that changelogs can be automatically generated. Commit messages are automatically validated before commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [yorkie](https://github.com/yyx990803/yorkie)).
+- Commit messages must follow the [commit message convention](./commit-convention.md) so that changelogs can be automatically generated. Commit messages are automatically validated before commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [simple-git-hooks](https://github.com/toplenboren/simple-git-hooks)).
-- No need to worry about code style as long as you have installed the dev dependencies - modified files are automatically formatted with Prettier on commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [yorkie](https://github.com/yyx990803/yorkie)).
+- No need to worry about code style as long as you have installed the dev dependencies - modified files are automatically formatted with Prettier on commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [simple-git-hooks](https://github.com/toplenboren/simple-git-hooks)).
### Advanced Pull Request Tips
"serve-sfc-playground": "vite packages/sfc-playground --host",
"serve": "serve",
"open": "open http://localhost:5000/packages/template-explorer/local.html",
- "preinstall": "node ./scripts/preinstall.js",
"prebuild-sfc-playground": "node scripts/build.js compiler reactivity-transform shared -af cjs && node scripts/build.js runtime reactivity shared -af esm-bundler && node scripts/build.js vue -f esm-bundler-runtime && node scripts/build.js vue -f esm-browser-runtime && node scripts/build.js compiler-sfc server-renderer -f esm-browser",
- "build-sfc-playground": "cd packages/sfc-playground && npm run build"
+ "build-sfc-playground": "cd packages/sfc-playground && npm run build",
+ "preinstall": "node ./scripts/preinstall.js",
+ "postinstall": "simple-git-hooks"
},
"types": "test-dts/index.d.ts",
"tsd": {
"directory": "test-dts"
},
- "gitHooks": {
- "pre-commit": "lint-staged",
- "commit-msg": "node scripts/verifyCommit.js"
+ "simple-git-hooks": {
+ "pre-commit": "pnpm lint-staged",
+ "commit-msg": "node scripts/verifyCommit.mjs"
},
"lint-staged": {
- "*.js": [
+ "*.{js,json}": [
"prettier --write"
],
"*.ts?(x)": [
"semver": "^7.3.2",
"serve": "^12.0.0",
"terser": "^5.15.1",
+ "simple-git-hooks": "^2.8.1",
"todomvc-app-css": "^2.3.0",
"ts-jest": "^27.0.5",
"tslib": "^2.4.0",
"typescript": "^4.8.0",
"vite": "^3.0.0",
- "vue": "workspace:*",
- "yorkie": "^2.0.0"
+ "vue": "workspace:*"
}
}
rollup-plugin-typescript2: ^0.27.2
semver: ^7.3.2
serve: ^12.0.0
+ simple-git-hooks: ^2.8.1
terser: ^5.15.1
todomvc-app-css: ^2.3.0
ts-jest: ^27.0.5
typescript: ^4.8.0
vite: ^3.0.0
vue: workspace:*
- yorkie: ^2.0.0
devDependencies:
'@babel/types': 7.16.0
'@esbuild-plugins/node-modules-polyfill': 0.1.4_esbuild@0.14.35
rollup-plugin-typescript2: 0.27.3_5n3xkh745miirxxwrc7sr3qioi
semver: 7.3.5
serve: 12.0.1
+ simple-git-hooks: 2.8.1
terser: 5.15.1
todomvc-app-css: 2.4.1
ts-jest: 27.1.1_by43bc54xkygl7pua4gfvniboa
typescript: 4.8.2
vite: 3.0.9_terser@5.15.1
vue: link:packages/vue
- yorkie: 2.0.0
packages/compiler-core:
specifiers:
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
dev: true
- /ci-info/1.6.0:
- resolution: {integrity: sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==}
- dev: true
-
/ci-info/3.3.0:
resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==}
dev: true
strip-eof: 1.0.0
dev: true
- /execa/0.8.0:
- resolution: {integrity: sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=}
- engines: {node: '>=4'}
- dependencies:
- cross-spawn: 5.1.0
- get-stream: 3.0.0
- is-stream: 1.1.0
- npm-run-path: 2.0.2
- p-finally: 1.0.0
- signal-exit: 3.0.6
- strip-eof: 1.0.0
- dev: true
-
/execa/1.0.0:
resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
engines: {node: '>=6'}
engines: {node: '>= 0.4'}
dev: true
- /is-ci/1.2.1:
- resolution: {integrity: sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==}
- hasBin: true
- dependencies:
- ci-info: 1.6.0
- dev: true
-
/is-core-module/2.10.0:
resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==}
dependencies:
validate-npm-package-license: 3.0.4
dev: true
- /normalize-path/1.0.0:
- resolution: {integrity: sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=}
- engines: {node: '>=0.10.0'}
- dev: true
-
/normalize-path/3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==}
dev: true
+ /simple-git-hooks/2.8.1:
+ resolution: {integrity: sha512-DYpcVR1AGtSfFUNzlBdHrQGPsOhuuEJ/FkmPOOlFysP60AHd3nsEpkGq/QEOdtUyT1Qhk7w9oLmFoMG+75BDog==}
+ hasBin: true
+ requiresBuild: true
+ dev: true
+
/sisteransi/1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
dev: true
engines: {node: '>=6'}
dev: true
- /strip-indent/2.0.0:
- resolution: {integrity: sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=}
- engines: {node: '>=4'}
- dev: true
-
/strip-indent/3.0.0:
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
engines: {node: '>=8'}
fd-slicer: 1.1.0
dev: true
- /yorkie/2.0.0:
- resolution: {integrity: sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==}
- engines: {node: '>=4'}
- requiresBuild: true
- dependencies:
- execa: 0.8.0
- is-ci: 1.2.1
- normalize-path: 1.0.0
- strip-indent: 2.0.0
- dev: true
-
/z-schema/5.0.4:
resolution: {integrity: sha512-gm/lx3hDzJNcLwseIeQVm1UcwhWIKpSB4NqH89pTBtFns4k/HDHudsICtvG05Bvw/Mv3jMyk700y5dadueLHdA==}
engines: {node: '>=8.0.0'}
-// Invoked on the commit-msg git hook by yorkie.
+import chalk from 'chalk'
+import { readFileSync } from 'fs'
+import path from 'path'
+import { fileURLToPath } from 'url'
-const chalk = require('chalk')
-const msgPath = process.env.GIT_PARAMS
-const msg = require('fs')
- .readFileSync(msgPath, 'utf-8')
- .trim()
+const dirname = path.dirname(fileURLToPath(import.meta.url), '..')
+const msgPath = path.resolve(dirname, '../.git/COMMIT_EDITMSG')
+const msg = readFileSync(msgPath, 'utf-8').trim()
-const commitRE = /^(revert: )?(feat|fix|docs|dx|style|refactor|perf|test|workflow|build|ci|chore|types|wip|release)(\(.+\))?: .{1,50}/
+const commitRE =
+ /^(revert: )?(feat|fix|docs|dx|style|refactor|perf|test|workflow|build|ci|chore|types|wip|release)(\(.+\))?: .{1,50}/
if (!commitRE.test(msg)) {
console.log()