A starter template for frontend project with commit lint.
- ESLint
- StyleLint
- commitlint
- husky
- lint-staged
- commitizen
- conventional-changelog
https://commitlint.js.org/#/guides-local-setup
$ pnpm add -D @commitlint/{config-conventional,cli}
$ echo "module.exports = { extends: ['@commitlint/config-conventional'] }" > commitlint.config.js
https://typicode.github.io/husky/getting-started.html
$ pnpm dlx husky-init && pnpm install
$ pnpm husky add .husky/commit-msg 'pnpm commitlint --edit "$1"'
Edit .husky/pre-commit
:
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
pnpm lint-staged --allow-empty "$1"
http://commitizen.github.io/cz-cli/
$ pnpm add -D commitizen cz-conventional-changelog
Touch .czrc
:
{
"path": "cz-conventional-changelog"
}
Touch file .husky/prepare-commit-msg
:
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
exec < /dev/tty && pnpm cz --hook || true