diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100755 index 00000000..69cff382 --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npx commitplease .git/COMMIT_EDITMSG diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 00000000..75fac8e1 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npm run lint diff --git a/package-lock.json b/package-lock.json index 0e599f71..5c8d63dc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "express": "4.19.2", "express-body-parser-error-handler": "1.0.7", "globals": "15.3.0", + "husky": "9.0.11", "native-promise-only": "0.8.1", "qunit": "2.21.0", "rollup": "4.18.0", @@ -2319,6 +2320,21 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/husky": { + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", + "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", + "dev": true, + "bin": { + "husky": "bin.mjs" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", diff --git a/package.json b/package.json index b59747d1..167edd25 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "build": "node build/tasks/build-default.js", "lint": "eslint --cache .", "npmcopy": "node build/tasks/npmcopy.js", + "prepare": "husky", "pretest": "npm run npmcopy && npm run build && npm run lint", "start": "npm run npmcopy && node build/tasks/build-watch.js", "test:browser": "npm run pretest && npm run test:unit -- -b chrome -b firefox -h", @@ -47,6 +48,7 @@ "express": "4.19.2", "express-body-parser-error-handler": "1.0.7", "globals": "15.3.0", + "husky": "9.0.11", "native-promise-only": "0.8.1", "qunit": "2.21.0", "rollup": "4.18.0", @@ -62,6 +64,7 @@ "migrate" ], "commitplease": { + "nohook": true, "components": [ "Docs", "Tests",