- Validate code format
- Validate commit message
- Auto trigger when commit
- type-required(scope-optional): subject-required
emptyline-required
body-required
- Generate valid commit message through interactive Q&A
npm run commit
-S
stand for GPG signed commit
- Note that the generation for body is not good enough (at least to me)
- The body wrapping is not friendly enough (use
|
as line break rather thanenter
) - The length limitation is unconfigurable as of no
- CZ use 100 as default but our commitlint setting requires 72
- The body wrapping is not friendly enough (use
- The better solution is to let CZ generate header for you, then post it to
Vim
, which helps you on auto wrap- Use empty body and force quit when confirm
- Git hooks for commit-msg, pre-commit, and pre-push
commit-msg
: trigger the commitlintpre-commit
: trigger the GPG key check, eslint, and unit test (changed files only)pre-push
: trigger the WIP commit check, unit test with coverage, e2e test, and docs generation using compodoc- To gen docs:
npm run doc:gen
- To gen docs:
ESLint
for JavaScript
JS only
npm install eslint --save-dev
TypeScript ESLint
for TypeScript
Add TS support
npm install @typescript-eslint/eslint-plugin@^2.12.0 --save-dev
commitlint
for Git commit
Follow the Conventional Commits
npm install @commitlint/config-conventional@^8.3.4 --save-dev
npm install @commitlint/cli@^8.3.5 --save-dev
npm install commitizen@^4.0.3 --save-dev
npm install cz-customizable@^6.2.0 --save-dev
- Add config to
package.json
"config": {"commitizen": {"path": "./node_modules/cz-customizable"}}
- Add config to
Husky
for pre-commit, pre-push, and commit message hooks
npm install husky@^4.2.3 --save-dev
Compodoc
for docs auto generation
npm install @compodoc/compodoc@^1.1.11 --save-dev
- NestJS documentation tutorial
compodoc src -p tsconfig.json -n 'Title Here' --hideGenerator
- NestJS documentation tutorial
- These config files are licensed under the MIT License