mirror of https://github.com/vuejs/core.git
workflow: switch to simple-git-hooks (#7069)
This commit is contained in:
parent
71977ec972
commit
dc9f99426d
|
@ -36,9 +36,9 @@ Hi! I'm really excited that you are interested in contributing to Vue.js. Before
|
|||
|
||||
- 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
|
||||
|
||||
|
|
17
package.json
17
package.json
|
@ -25,20 +25,21 @@
|
|||
"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)": [
|
||||
|
@ -92,12 +93,12 @@
|
|||
"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:*"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,6 +45,7 @@ importers:
|
|||
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
|
||||
|
@ -52,7 +53,6 @@ importers:
|
|||
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
|
||||
|
@ -95,6 +95,7 @@ importers:
|
|||
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
|
||||
|
@ -102,7 +103,6 @@ importers:
|
|||
typescript: 4.8.2
|
||||
vite: 3.0.9_terser@5.15.1
|
||||
vue: link:packages/vue
|
||||
yorkie: 2.0.0
|
||||
|
||||
packages/compiler-core:
|
||||
specifiers:
|
||||
|
@ -2006,10 +2006,6 @@ packages:
|
|||
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
|
||||
|
@ -3361,19 +3357,6 @@ packages:
|
|||
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'}
|
||||
|
@ -4044,13 +4027,6 @@ packages:
|
|||
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:
|
||||
|
@ -5458,11 +5434,6 @@ packages:
|
|||
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'}
|
||||
|
@ -6592,6 +6563,12 @@ packages:
|
|||
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
|
||||
|
@ -6816,11 +6793,6 @@ packages:
|
|||
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'}
|
||||
|
@ -7555,17 +7527,6 @@ packages:
|
|||
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'}
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
// 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()
|
Loading…
Reference in New Issue