diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..f671027 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,5 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npm run lint +npm test diff --git a/package-lock.json b/package-lock.json index deacaff..a852284 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,8 @@ "webextension-polyfill": "^0.10.0" }, "devDependencies": { - "@types/firefox-webext-browser": "^109.0.0" + "@types/firefox-webext-browser": "^109.0.0", + "husky": "^8.0.0" } }, "node_modules/@types/firefox-webext-browser": { @@ -22,6 +23,21 @@ "integrity": "sha512-tkEjBP/zZxaS5bv8MH/0kUs3WeUm8KU3Ew1B9BtQQdq5PwtG23SXvAbjxjMSQpoIzbxyWG4Yu4mi1uB2S8W7ng==", "dev": true }, + "node_modules/husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, "node_modules/webextension-polyfill": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz", diff --git a/package.json b/package.json index f06c383..084de27 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "webextension-polyfill": "^0.10.0" }, "devDependencies": { - "@types/firefox-webext-browser": "^109.0.0" + "@types/firefox-webext-browser": "^109.0.0", + "husky": "^8.0.0" }, "scripts": { "copy-browser-polyfill": "cp node_modules/webextension-polyfill/dist/browser-polyfill.js src/browser-polyfill.js", @@ -29,7 +30,8 @@ "postinstall": "npm run copy-browser-polyfill", "preversion": "npm run lint && npm test", "version": "npm run copy-version && git add -u", - "postversion": "npm run build:firefox" + "postversion": "npm run build:firefox", + "prepare": "husky install" }, "repository": { "type": "git",