Skip to content
This repository was archived by the owner on Nov 8, 2022. It is now read-only.

Commit 86f0a95

Browse files
committed
refactor: extract eslint-config to npm pkg
1 parent 268435d commit 86f0a95

File tree

3 files changed

+41
-100
lines changed

3 files changed

+41
-100
lines changed

.eslintrc.js

Lines changed: 1 addition & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,3 @@
11
module.exports = {
2-
extends: ['airbnb', 'plugin:react/recommended', 'prettier', 'prettier/react'],
3-
plugins: ['prettier', 'react', 'cypress', 'react-hooks'],
4-
parser: 'babel-eslint',
5-
parserOptions: {
6-
ecmaVersion: 2016,
7-
sourceType: 'module',
8-
ecmaFeatures: {
9-
jsx: true,
10-
},
11-
},
12-
env: {
13-
es6: true,
14-
node: true,
15-
jest: true,
16-
'cypress/globals': true,
17-
},
18-
settings: {
19-
'import/resolver': {
20-
'babel-module': {},
21-
},
22-
},
23-
rules: {
24-
// import/resolver 暂时识别不了 @xxx, 暂时关闭该检测
25-
'import/no-extraneous-dependencies': 0,
26-
'arrow-body-style': 0,
27-
// need for _store init
28-
'no-underscore-dangle': 0,
29-
// heavilly used in store.actions
30-
'no-param-reassign': 0,
31-
// heavilly used in store.views
32-
'no-use-before-define': 0,
33-
// force-return is unneeded
34-
'consistent-return': 0,
35-
'no-shadow': 0,
36-
// error could be object for parse by upfloor
37-
'prefer-promise-reject-errors': 0,
38-
'react/jsx-no-bind': 0,
39-
// allow JSX in js files
40-
'react/jsx-filename-extension': [1, { extensions: ['.js', '.jsx'] }],
41-
'react/forbid-prop-types': 0,
42-
// no need sort
43-
'react/sort-comp': 0,
44-
'react/prop-types': [1, { skipUndeclared: true }],
45-
'jsx-a11y/href-no-hash': 'off',
46-
'jsx-a11y/no-static-element-interactions': 0,
47-
'jsx-a11y/click-events-have-key-events': 0,
48-
49-
// for cypress test usage
50-
'no-unused-expressions': 0,
51-
52-
'prettier/prettier': [
53-
'error',
54-
{
55-
singleQuote: true,
56-
semi: false,
57-
tabWidth: 2,
58-
bracketSpacing: true,
59-
trailingComma: 'es5',
60-
},
61-
],
62-
'react-hooks/rules-of-hooks': 'error',
63-
'react-hooks/exhaustive-deps': 'warn',
64-
},
2+
extends: ['@groupher/eslint-config-web'],
653
}

package.json

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@
129129
"@babel/plugin-proposal-decorators": "^7.1.0",
130130
"@commitlint/cli": "^7.0.0",
131131
"@commitlint/config-conventional": "^8.0.0",
132+
"@groupher/eslint-config-web": "^1.0.0",
132133
"babel-eslint": "10.0.2",
133134
"babel-jest": "^23.6.0",
134135
"babel-plugin-add-react-displayname": "^0.0.5",
@@ -150,15 +151,6 @@
150151
"enzyme-adapter-react-16": "1.9.1",
151152
"enzyme-to-json": "^3.3.4",
152153
"eslint": "5.14.0",
153-
"eslint-config-airbnb": "17.1.0",
154-
"eslint-config-prettier": "5.0.0",
155-
"eslint-import-resolver-babel-module": "5.0.0-beta.1",
156-
"eslint-plugin-cypress": "^2.0.1",
157-
"eslint-plugin-import": "2.17.3",
158-
"eslint-plugin-jsx-a11y": "6.1.1",
159-
"eslint-plugin-prettier": "3.1.0",
160-
"eslint-plugin-react": "7.11.0",
161-
"eslint-plugin-react-hooks": "^1.6.0",
162154
"husky": "^2.1.0",
163155
"jest": "23.4.2",
164156
"npm-run-all": "^4.1.1",

yarn.lock

Lines changed: 39 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -857,6 +857,20 @@
857857
dependencies:
858858
"@f/map-obj" "^1.2.2"
859859

860+
"@groupher/eslint-config-web@^1.0.0":
861+
version "1.0.0"
862+
resolved "https://registry.npmjs.org/@groupher/eslint-config-web/-/eslint-config-web-1.0.0.tgz#4cff23ed7458fea7bf0c357e45b6bc37fc0851b1"
863+
dependencies:
864+
eslint-config-airbnb "^17.1.0"
865+
eslint-config-prettier "^5.0.0"
866+
eslint-import-resolver-babel-module "^5.1.0"
867+
eslint-plugin-cypress "^2.2.1"
868+
eslint-plugin-import "^2.17.3"
869+
eslint-plugin-jsx-a11y "^6.2.1"
870+
eslint-plugin-prettier "^3.1.0"
871+
eslint-plugin-react "^7.13.0"
872+
eslint-plugin-react-hooks "^1.6.0"
873+
860874
"@hapi/address@2.x.x":
861875
version "2.0.0"
862876
resolved "https://registry.npmjs.org/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a"
@@ -2011,7 +2025,7 @@ aws4@^1.8.0:
20112025
version "1.8.0"
20122026
resolved "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
20132027

2014-
axobject-query@^2.0.1:
2028+
axobject-query@^2.0.2:
20152029
version "2.0.2"
20162030
resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9"
20172031
dependencies:
@@ -2056,7 +2070,6 @@ babel-core@^6.0.0, babel-core@^6.26.0:
20562070
babel-eslint@10.0.2:
20572071
version "10.0.2"
20582072
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.2.tgz#182d5ac204579ff0881684b040560fdcc1558456"
2059-
integrity sha512-UdsurWPtgiPgpJ06ryUnuaSXC2s0WoSZnQmEpbAH65XZSdwowgN5MvyP7e88nW07FYXv72erVtpBkxyDVKhH1Q==
20602073
dependencies:
20612074
"@babel/code-frame" "^7.0.0"
20622075
"@babel/parser" "^7.0.0"
@@ -4014,11 +4027,7 @@ emitter-mixin@0.0.3:
40144027
version "0.0.3"
40154028
resolved "https://registry.npmjs.org/emitter-mixin/-/emitter-mixin-0.0.3.tgz#5948cb286f2e48edc3b251a7cfc1f7883396d65c"
40164029

4017-
emoji-regex@^6.5.1:
4018-
version "6.5.1"
4019-
resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2"
4020-
4021-
emoji-regex@^7.0.1:
4030+
emoji-regex@^7.0.1, emoji-regex@^7.0.2:
40224031
version "7.0.3"
40234032
resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
40244033

@@ -4187,26 +4196,26 @@ eslint-config-airbnb-base@^13.1.0:
41874196
object.assign "^4.1.0"
41884197
object.entries "^1.0.4"
41894198

4190-
eslint-config-airbnb@17.1.0:
4199+
eslint-config-airbnb@^17.1.0:
41914200
version "17.1.0"
41924201
resolved "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-17.1.0.tgz#3964ed4bc198240315ff52030bf8636f42bc4732"
41934202
dependencies:
41944203
eslint-config-airbnb-base "^13.1.0"
41954204
object.assign "^4.1.0"
41964205
object.entries "^1.0.4"
41974206

4198-
eslint-config-prettier@5.0.0:
4207+
eslint-config-prettier@^5.0.0:
41994208
version "5.0.0"
42004209
resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-5.0.0.tgz#f7a94b2b8ae7cbf25842c36fa96c6d32cd0a697c"
42014210
dependencies:
42024211
get-stdin "^6.0.0"
42034212

4204-
eslint-import-resolver-babel-module@5.0.0-beta.1:
4205-
version "5.0.0-beta.1"
4206-
resolved "https://registry.npmjs.org/eslint-import-resolver-babel-module/-/eslint-import-resolver-babel-module-5.0.0-beta.1.tgz#3f7899c14039aab1b1ffa2f0e53463a6152ef121"
4213+
eslint-import-resolver-babel-module@^5.1.0:
4214+
version "5.1.0"
4215+
resolved "https://registry.npmjs.org/eslint-import-resolver-babel-module/-/eslint-import-resolver-babel-module-5.1.0.tgz#50dac176dfbce2824b0e12100d6c23370d4325c0"
42074216
dependencies:
42084217
pkg-up "^2.0.0"
4209-
resolve "^1.8.1"
4218+
resolve "^1.10.0"
42104219

42114220
eslint-import-resolver-node@^0.3.2:
42124221
version "0.3.2"
@@ -4222,13 +4231,13 @@ eslint-module-utils@^2.4.0:
42224231
debug "^2.6.8"
42234232
pkg-dir "^2.0.0"
42244233

4225-
eslint-plugin-cypress@^2.0.1:
4234+
eslint-plugin-cypress@^2.2.1:
42264235
version "2.2.1"
42274236
resolved "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.2.1.tgz#17295d8ef76984fe05886c7c5830ba216c1f9717"
42284237
dependencies:
42294238
globals "^11.0.1"
42304239

4231-
eslint-plugin-import@2.17.3:
4240+
eslint-plugin-import@^2.17.3:
42324241
version "2.17.3"
42334242
resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.17.3.tgz#00548b4434c18faebaba04b24ae6198f280de189"
42344243
dependencies:
@@ -4244,20 +4253,20 @@ eslint-plugin-import@2.17.3:
42444253
read-pkg-up "^2.0.0"
42454254
resolve "^1.11.0"
42464255

4247-
eslint-plugin-jsx-a11y@6.1.1:
4248-
version "6.1.1"
4249-
resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.1.tgz#7bf56dbe7d47d811d14dbb3ddff644aa656ce8e1"
4256+
eslint-plugin-jsx-a11y@^6.2.1:
4257+
version "6.2.1"
4258+
resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.1.tgz#4ebba9f339b600ff415ae4166e3e2e008831cf0c"
42504259
dependencies:
42514260
aria-query "^3.0.0"
42524261
array-includes "^3.0.3"
42534262
ast-types-flow "^0.0.7"
4254-
axobject-query "^2.0.1"
4263+
axobject-query "^2.0.2"
42554264
damerau-levenshtein "^1.0.4"
4256-
emoji-regex "^6.5.1"
4265+
emoji-regex "^7.0.2"
42574266
has "^1.0.3"
42584267
jsx-ast-utils "^2.0.1"
42594268

4260-
eslint-plugin-prettier@3.1.0:
4269+
eslint-plugin-prettier@^3.1.0:
42614270
version "3.1.0"
42624271
resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.0.tgz#8695188f95daa93b0dc54b249347ca3b79c4686d"
42634272
dependencies:
@@ -4267,15 +4276,17 @@ eslint-plugin-react-hooks@^1.6.0:
42674276
version "1.6.0"
42684277
resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.0.tgz#348efcda8fb426399ac7b8609607c7b4025a6f5f"
42694278

4270-
eslint-plugin-react@7.11.0:
4271-
version "7.11.0"
4272-
resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.11.0.tgz#b3124af974c4da978e62a57ea49a7bc26f11e76d"
4279+
eslint-plugin-react@^7.13.0:
4280+
version "7.13.0"
4281+
resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.13.0.tgz#bc13fd7101de67996ea51b33873cd9dc2b7e5758"
42734282
dependencies:
42744283
array-includes "^3.0.3"
42754284
doctrine "^2.1.0"
42764285
has "^1.0.3"
4277-
jsx-ast-utils "^2.0.1"
4278-
prop-types "^15.6.2"
4286+
jsx-ast-utils "^2.1.0"
4287+
object.fromentries "^2.0.0"
4288+
prop-types "^15.7.2"
4289+
resolve "^1.10.1"
42794290

42804291
eslint-restricted-globals@^0.1.1:
42814292
version "0.1.1"
@@ -6756,7 +6767,7 @@ jss@^9.8.7:
67566767
symbol-observable "^1.1.0"
67576768
warning "^3.0.0"
67586769

6759-
jsx-ast-utils@^2.0.1:
6770+
jsx-ast-utils@^2.0.1, jsx-ast-utils@^2.1.0:
67606771
version "2.1.0"
67616772
resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.1.0.tgz#0ee4e2c971fb9601c67b5641b71be80faecf0b36"
67626773
dependencies:
@@ -9871,7 +9882,7 @@ resolve@1.1.7:
98719882
version "1.1.7"
98729883
resolved "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
98739884

9874-
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1:
9885+
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1:
98759886
version "1.11.0"
98769887
resolved "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232"
98779888
dependencies:

0 commit comments

Comments
 (0)