0.0.1-alpha.0 • Published 3 years ago

@guidecx/config-commitlint v0.0.1-alpha.0

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

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:

  1. check your npm version via npm -v. The major version number will be needed later
  2. at the root of the other project, install the package with npm install --save-dependency @guidecx/config-commitlint
  3. 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)
  4. in your package.json, add the following property:
    "commitlint": {
      "extends": [
        "@guidecx/config-commitlint"
      ]
    }
  5. 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.
  6. Add a husky hook to your project via the husky CLI: npx husky add .husky/commit-msg 'npx --no-install commitlint --edit $1'
  7. 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.