Merge pull request #392 from 18003228289/husky
feat: add commit lint and husky
diff --git a/.husky/commit-msg b/.husky/commit-msg
new file mode 100644
index 0000000..314e821
--- /dev/null
+++ b/.husky/commit-msg
@@ -0,0 +1,4 @@
+#!/bin/sh
+. "$(dirname "$0")/_/husky.sh"
+
+npx --no-install commitlint --edit $1
\ No newline at end of file
diff --git a/commitlint.config.js b/commitlint.config.js
new file mode 100644
index 0000000..04c7b8d
--- /dev/null
+++ b/commitlint.config.js
@@ -0,0 +1,32 @@
+module.exports = {
+ extends: ['@commitlint/config-conventional'],
+ rules: {
+ 'body-leading-blank': [2, 'always'],
+ 'footer-leading-blank': [1, 'always'],
+ 'header-max-length': [2, 'always', 108],
+ 'subject-empty': [2, 'never'],
+ 'type-empty': [2, 'never'],
+ 'subject-case': [0],
+ 'type-enum': [
+ 2,
+ 'always',
+ [
+ 'feat',
+ 'fix',
+ 'perf',
+ 'style',
+ 'docs',
+ 'test',
+ 'refactor',
+ 'build',
+ 'ci',
+ 'chore',
+ 'revert',
+ 'wip',
+ 'workflow',
+ 'types',
+ 'release',
+ ],
+ ],
+ },
+}
diff --git a/example/dubbo-node-example/package-lock.json b/example/dubbo-node-example/package-lock.json
index ee567f0..2dad4f4 100644
--- a/example/dubbo-node-example/package-lock.json
+++ b/example/dubbo-node-example/package-lock.json
@@ -756,4 +756,4 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
}
}
-}
+}
\ No newline at end of file
diff --git a/example/dubbo-web-example/package-lock.json b/example/dubbo-web-example/package-lock.json
index 7ef70c9..cf430e0 100644
--- a/example/dubbo-web-example/package-lock.json
+++ b/example/dubbo-web-example/package-lock.json
@@ -2502,4 +2502,4 @@
}
}
}
-}
+}
\ No newline at end of file
diff --git a/package.json b/package.json
index 5fe9d63..f581777 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,9 @@
{
"private": true,
"name": "dubbo-js-private-workspace",
+ "scripts": {
+ "prepare": "husky install"
+ },
"workspaces": [
"./packages/dubbo",
"./packages/protoc-gen-apache-dubbo-es",
@@ -18,19 +21,20 @@
"node": ">=16",
"npm": ">=8"
},
- "type": "module",
"engineStrict": true,
"devDependencies": {
- "husky": "^6.0.0",
+ "@commitlint/cli": "^19.2.1",
+ "@commitlint/config-conventional": "^19.1.0",
+ "@types/node": "^20.4.0",
"@typescript-eslint/eslint-plugin": "^5.59.1",
"@typescript-eslint/parser": "^5.59.2",
"eslint": "^8.39.0",
"eslint-import-resolver-typescript": "^3.5.5",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-node": "^11.1.0",
+ "husky": "^6.0.0",
"prettier": "^2.8.8",
- "typescript": "5.0.3",
- "@types/node": "^20.4.0"
+ "typescript": "5.0.3"
},
"license": "Apache-2.0"
}