chore: commit hooks

pull/13/head
moonrailgun 4 years ago
parent 402ddb9a68
commit be40bb7993

@ -0,0 +1,31 @@
/**
* https://robertcooper.me/post/using-eslint-and-prettier-in-a-typescript-project
*/
module.exports = {
parser: '@typescript-eslint/parser', // Specifies the ESLint parser
parserOptions: {
ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features
sourceType: 'module', // Allows for the use of imports
ecmaFeatures: {
jsx: true, // Allows for the parsing of JSX
},
},
settings: {
react: {
version: 'detect', // Tells eslint-plugin-react to automatically detect the version of React to use
},
},
extends: [
'plugin:react/recommended', // Uses the recommended rules from @eslint-plugin-react
'plugin:@typescript-eslint/recommended', // Uses the recommended rules from the @typescript-eslint/eslint-plugin
'prettier', // Uses eslint-config-prettier to disable ESLint rules from @typescript-eslint/eslint-plugin that would conflict with prettier
'plugin:prettier/recommended', // Enables eslint-plugin-prettier and eslint-config-prettier. This will display prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array.
],
rules: {
// Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs
// e.g. "@typescript-eslint/explicit-function-return-type": "off",
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-empty-function': 'off',
},
};

@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx --no-install commitlint --edit "$1"

@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
yarn lint-staged

@ -0,0 +1,20 @@
/**
* document: https://commitlint.js.org/#/reference-configuration
*
* https://github.com/angular/angular/blob/master/CONTRIBUTING.md#type
* feat新功能feature
* fix修补bug
* docs文档documentation
* style 格式不影响代码运行的变动
* refactor重构即不是新增功能也不是修改bug的代码变动
* perf性能优化
* test增加测试
* chore构建过程或辅助工具的变动
*/
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'subject-case': [0],
},
};

@ -12,11 +12,36 @@
"license": "GPLv3",
"private": true,
"scripts": {
"prepare": "husky install",
"test": "jest"
},
"lint-staged": {
"src/*.{json,less}": [
"prettier --write --config ./.prettierrc.json"
],
"**/*.js": [
"prettier --write --config ./.prettierrc.json"
],
"**/*.{ts,tsx}": [
"eslint --fix",
"prettier --write --config ./.prettierrc.json"
]
},
"devDependencies": {
"@commitlint/cli": "^12.1.4",
"@commitlint/config-conventional": "^12.1.4",
"@types/jest": "^26.0.23",
"@typescript-eslint/eslint-plugin": "^4.28.1",
"@typescript-eslint/parser": "^4.28.1",
"commitlint": "^12.1.4",
"eslint": "^7.30.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-react": "^7.24.0",
"husky": "^7.0.0",
"jest": "^27.0.6",
"lint-staged": "^11.0.0",
"prettier": "^2.3.2",
"ts-jest": "^27.0.3"
}
}

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save