LMC’s config for commitlint
Suitable for all projects.
npm i --dev @commitlint/cli @lmc-eu/commitlint-config
Create a .commitlintrc.js file with the following contents:
'use strict';
module.exports = {
extends: ['@lmc-eu/commitlint-config'],
};
Install a git hook into .git/hooks/commit-msg with the following contents:
#!/bin/sh
# This utility's configuration resides in .commitlintrc.js file.
./node_modules/.bin/commitlint < "$1"
If your project uses make
you can use the following process to automatically install the git hooks upon each invocation of make
with no target.
# Place the above mentioned commit-msg file into your project root's utils/githooks directory and
# make it executable: chmod +x utils/githooks/commit-msg
# Git hooks to be installed into the project workspace
# This will look up all the files in utils/githooks and generate a list of targets
GITFILES := $(patsubst utils/githooks/%, .git/hooks/%, $(wildcard utils/githooks/*))
# The `githooks` dependency should be added to the first (default) target so that it will be
# executed when invoking make with no arguments
all: githooks
githooks: $(GITFILES)
# Default target for all possible git hooks
.git/hooks/%: utils/githooks/%
cp $< $@
Or if you use husky place a git hook into .huskyrc.json with the following content:
{
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}