We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
npm install husky --save-dev
编辑 package.json 添加 prepare 命令并执行一次:
package.json
npm set-script prepare "husky install" # 这步我是按它的意思手动实现的 npm run prepare
然后添加一个Hook:
npx husky add .husky/pre-commit "npm run test" git add .husky/pre-commit
下次提交前就会自动执行 npm run test
npm run test
npm install eslint --save-dev
然后,你需要通过下面命令建立配置文件
./node_modules/.bin/eslint --init
配置完成后,你就可以对任意文件或文件夹执行 ESLint 命令
./node_modules/.bin/eslint yourfile.js
npm install lint-staged --save-dev
直接添加在 package.json 中,或者新建 .lintstagedrc 文件来存放配置
.lintstagedrc
{ "lint-staged": { "*": "your-cmd" } }
也可以用数组配置多个命令,如下
{ "lint-staged": { "*": ["your-cmd1", "your-cmd2"] } }
然后在 Husky 中添加 Hook
npx husky add .husky/pre-commit "npx lint-staged" # 此命令会以追加而不是覆盖的方式添加
Linter 命令只处理暂存区 (staged) 的文件,并采用 glob 模式来进行文件匹配,它使用 micromatch 匹配具有以下规则的文件:
glob
如果匹配串中没有 /,micromatch's matchBase 选项就会被启用,在这种情况下只是用文件的文件名进行匹配,文件所在目录将不被考虑
/
matchBase
"*.js"
/test.js
/foo/bar/test.js
"!(*test).js"
test.js
foo.js
foo.test.js
如果匹配串中含有 /,就需要考虑文件所在路径了
"./*.js"
"foo/**/\*.js"
/foo
lint-staged 会按照以下步骤来匹配文件
lint-staged
npm install -g commitizen
在项目中初始化
commitizen init cz-conventional-changelog --save-dev --save-exact # npm commitizen init cz-conventional-changelog --yarn --dev --exact # Yarn
npx husky add .husky/prepare-commit-msg "exec < /dev/tty && node_modules/.bin/cz --hook || true"
下次提交写注释时就会自动执行 cz 命令,使用交互式表单的方式来保证规范书写 commit 和 changelog 信息
cz
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Husky
安装
使用
编辑
package.json
添加 prepare 命令并执行一次:然后添加一个Hook:
npx husky add .husky/pre-commit "npm run test" git add .husky/pre-commit
下次提交前就会自动执行
npm run test
参考链接
ESLint
安装
配置
然后,你需要通过下面命令建立配置文件
配置完成后,你就可以对任意文件或文件夹执行 ESLint 命令
参考链接
lint-staged
安装
配置
直接添加在
package.json
中,或者新建.lintstagedrc
文件来存放配置也可以用数组配置多个命令,如下
然后在 Husky 中添加 Hook
文件匹配说明
Linter 命令只处理暂存区 (staged) 的文件,并采用
glob
模式来进行文件匹配,它使用 micromatch 匹配具有以下规则的文件:如果匹配串中没有
/
,micromatch'smatchBase
选项就会被启用,在这种情况下只是用文件的文件名进行匹配,文件所在目录将不被考虑"*.js"
匹配所有 JavaScript 文件, 像/test.js
和/foo/bar/test.js
"!(*test).js"
匹配除了以test.js
结尾的所有 JavaScript 文件,所以它会匹配foo.js
但不匹配foo.test.js
如果匹配串中含有
/
,就需要考虑文件所在路径了"./*.js"
匹配 git 仓库根目录下的所有 JavaScript 文件 ,所以它会匹配/test.js
但不匹配/foo/bar/test.js
"foo/**/\*.js"
匹配/foo
目录下的所有 JavaScript 文件,所以它会匹配/foo/bar/test.js
但不匹配/test.js
lint-staged
会按照以下步骤来匹配文件参考链接
commitizen
全局安装
配置
在项目中初始化
然后添加一个Hook:
npx husky add .husky/prepare-commit-msg "exec < /dev/tty && node_modules/.bin/cz --hook || true"
下次提交写注释时就会自动执行
cz
命令,使用交互式表单的方式来保证规范书写 commit 和 changelog 信息参考链接
The text was updated successfully, but these errors were encountered: