workflow: switch to simple-git-hooks (#7069)

This commit is contained in:
三咲智子 Kevin Deng 2022-11-09 21:14:59 +08:00 committed by GitHub
parent 71977ec972
commit dc9f99426d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 64 deletions

View File

@ -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

View File

@ -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:*"
}
}

View File

@ -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'}

View File

@ -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()