diff --git a/.githooks/commit-msg b/.githooks/commit-msg new file mode 100755 index 0000000000..24cd55c6b6 --- /dev/null +++ b/.githooks/commit-msg @@ -0,0 +1,26 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. + +echo "Running the AppFlowy commit-msg hook." + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} + +npx --no -- commitlint --edit $1 + +if [ $? -ne 0 ] +then + echo "Please fix your commit message to match AppFlowy coding standards" + exit 1 +fi + diff --git a/package.json b/package.json index c891bb7d81..0f3afaccbc 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "devDependencies": { - "@commitlint/cli": "16.1.0", - "@commitlint/config-conventional": "16.0.0", + "@commitlint/cli": "^16.1.0", + "@commitlint/config-conventional": "^16.0.0", "husky": "7.0.4" } }