@guidecx/config-commitlint
v0.0.1-alpha.0
Published
Commitlint configuration files for use in GCX applications
Downloads
1
Readme
GCX Commitlint Config
Note: NPM versions 3-6 do not automatically install peerDependencies. For this reason, you will need to install
commitlint-plugin-function-rules
into your repo manually for this library to work; https://stackoverflow.com/a/35207983
Installing library into another project
The index.js
file exports the commitlint configuration file. In another project, you can do the following to include these linting rules:
- check your npm version via
npm -v
. The major version number will be needed later - at the root of the other project, install the package with
npm install --save-dependency @guidecx/config-commitlint
- if you are on npm versions 3-6, note that a peer dependency is required for this package to work.
npm install --save-dev commitlint-plugin-function-rules '
(if you are on version 1-2, or 7+ this is not required) - in your
package.json
, add the following property:"commitlint": { "extends": [ "@guidecx/config-commitlint" ] }
- make sure you have husky and lint-staged installed. according to the lint-staged docs, the easiest way to install them together is by running
npx mrm lint-staged
. - Add a husky hook to your project via the husky CLI:
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit $1'
- if everything was done correctly, making a
git commit
will now enforce our linting rules. If this did not work, please see the instructions on step #5 for further assistance
Example commitlint patterns
When using this package, all commit messages must match the following pattern:
type(scope): summary
where type is an enum [chore, feat, fix, revert], scope is a positive integer that matches a clubhouse story number, and summary is a brief description of the changes made. It is preferred to add a full-stop (period) to the end of each commit message.
Based on the rules file, these are some of the patterns that are considered valid:
chore(12): a chore, my friend
feat(12378): this is a story.
fix(828): big bad bug fix
revert(12): oh wow.