Skip to content

Commit e01b933

Browse files
🤖 config(husky): Configure commit-msg hook.
These changes were automatically generated by a transform whose code can be found at: - https://github.com/aureooms/rejuvenate/blob/f4f2f038c1728370f45204d13b52e4691640a5b4/src/transforms/husky:hook-configure-commit-msg.js Please contact the author of the transform if you believe there was an error.
1 parent c47e1ba commit e01b933

File tree

4 files changed

+333
-24
lines changed

4 files changed

+333
-24
lines changed

.commitlintrc.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
extends: ['@js-library']
3+
};

.husky/commit-msg

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
function ask () {
5+
6+
# This is a general-purpose function to ask Yes/No questions in Bash, either
7+
# with or without a default answer. It keeps repeating the question until it
8+
# gets a valid answer.
9+
10+
# http://djm.me/ask
11+
12+
if [ "${2:-}" = "Y" ]; then
13+
prompt="Y/n"
14+
default=Y
15+
elif [ "${2:-}" = "N" ]; then
16+
prompt="y/N"
17+
default=N
18+
else
19+
prompt="y/n"
20+
default=
21+
fi
22+
23+
while true; do
24+
25+
# Ask the question (not using "read -p" as it uses stderr not stdout)
26+
echo -n "$1 [$prompt] "
27+
28+
# Read the answer (use /dev/tty in case stdin is redirected from somewhere else)
29+
read REPLY </dev/tty
30+
31+
# Default?
32+
if [ -z "$REPLY" ]; then
33+
REPLY=$default
34+
fi
35+
36+
# Check if the reply is valid
37+
case "$REPLY" in
38+
Y*|y*) return 0 ;;
39+
N*|n*) return 1 ;;
40+
esac
41+
42+
done
43+
44+
}
45+
46+
while ! npm run commit-msg -- "$1" ; do
47+
if [ -t 1 ] && ask 'There was an error. Do you wish to amend your commit message?' Y ; then
48+
${GIT_EDITOR:-$EDITOR} "$1" < /dev/tty
49+
else
50+
exit 1
51+
fi
52+
done

package.json

+3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"build": "babel --delete-dir-on-start --env-name production src -d lib",
2828
"build-docs": "esdoc",
2929
"build-gh-pages": "npm run build-docs",
30+
"commit-msg": "commitlint --edit",
3031
"cover": "c8 --all --src src --reporter=lcov npm test",
3132
"dev": "npm run lint -- --fix && npm run cover -- -- -st --fail-fast",
3233
"install-hooks": "husky install",
@@ -49,6 +50,8 @@
4950
"@babel/core": "7.13.13",
5051
"@babel/preset-env": "7.13.12",
5152
"@babel/register": "7.13.8",
53+
"@commitlint/cli": "12.0.1",
54+
"@js-library/commitlint-config": "0.0.4",
5255
"ava": "3.15.0",
5356
"babel-plugin-transform-remove-console": "6.9.4",
5457
"babel-plugin-unassert": "3.0.1",

0 commit comments

Comments
 (0)