@lsby/eslint-config 0.2.31 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -31,9 +31,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  var src_exports = {};
32
32
  __export(src_exports, {
33
33
  jsDoc\u5B89\u5168\u6027: () => jsDoc\u5B89\u5168\u6027,
34
- react\u5B89\u5168\u6027: () => react\u5B89\u5168\u6027,
35
34
  ts\u5B89\u5168\u6027: () => ts\u5B89\u5168\u6027,
36
- \u524D\u7AEF\u63A8\u8350\u914D\u7F6E: () => \u524D\u7AEF\u63A8\u8350\u914D\u7F6E,
37
35
  \u5E38\u7528\u4F5C\u7528\u57DF: () => \u5E38\u7528\u4F5C\u7528\u57DF,
38
36
  \u5E38\u7528\u5FFD\u7565\u57DF: () => \u5E38\u7528\u5FFD\u7565\u57DF,
39
37
  \u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939: () => \u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939,
@@ -44,8 +42,6 @@ module.exports = __toCommonJS(src_exports);
44
42
  var import_eslint_plugin = __toESM(require("@lsby/eslint-plugin"), 1);
45
43
  var import_eslint_plugin_es = __toESM(require("eslint-plugin-es"), 1);
46
44
  var import_eslint_plugin_jsdoc = __toESM(require("eslint-plugin-jsdoc"), 1);
47
- var import_eslint_plugin_react = __toESM(require("eslint-plugin-react"), 1);
48
- var import_eslint_plugin_react_hooks = __toESM(require("eslint-plugin-react-hooks"), 1);
49
45
  var import_eslint_plugin_sort_class_members = __toESM(require("eslint-plugin-sort-class-members"), 1);
50
46
  var import_typescript_eslint = __toESM(require("typescript-eslint"), 1);
51
47
  var \u5E38\u7528\u4F5C\u7528\u57DF = ["src/**/*.ts", "src/**/*.tsx", "test/**/*.ts", "test/**/*.tsx"];
@@ -102,6 +98,12 @@ var ts\u5B89\u5168\u6027 = {
102
98
  "@lsby/prefer-let": "error",
103
99
  // 永远使用 === 而不是 ==, 在一些情况下能自动修复
104
100
  eqeqeq: ["error", "always"],
101
+ // 禁止 if ... else
102
+ // else 表示"除当前条件外的所有可能"
103
+ // 当状态集合未来扩展时, 依然会被包含在else分支里, 导致状态遗漏却无任何报错
104
+ // 应当使用提早返回 或 switch + 穷尽检查
105
+ "no-else-return": "error",
106
+ "@typescript-eslint/switch-exhaustiveness-check": "error",
105
107
  // 在除了条件表达式的地方, 使用??而不是||
106
108
  "@typescript-eslint/prefer-nullish-coalescing": "error",
107
109
  // 禁止对非布尔值使用取反
@@ -136,34 +138,6 @@ var jsDoc\u5B89\u5168\u6027 = {
136
138
  "jsdoc/no-undefined-types": "error"
137
139
  }
138
140
  };
139
- var react\u5B89\u5168\u6027 = {
140
- files: \u5E38\u7528\u4F5C\u7528\u57DF,
141
- plugins: {
142
- react: import_eslint_plugin_react.default,
143
- "react-hooks": import_eslint_plugin_react_hooks.default
144
- },
145
- settings: {
146
- react: { version: "detect" }
147
- },
148
- rules: {
149
- // 迭代元素必须有key
150
- "react/jsx-key": "error",
151
- // 不可以出现重复的属性
152
- "react/jsx-no-duplicate-props": "error",
153
- // 不可以用数组的索引做key, 因为react是依据位置决定是否重新渲染的
154
- "react/no-array-index-key": "error",
155
- // 不可以在jsx中出现没有转换的html实体
156
- "react/no-unescaped-entities": "error",
157
- // 不可以使用非预定的属性
158
- "react/no-unknown-property": "error",
159
- // 不应该多传props
160
- "react/prefer-exact-props": "error",
161
- // 只在顶层调用hook 和 仅从react函数调用hook
162
- "react-hooks/rules-of-hooks": "error",
163
- // hook的依赖必须被正确声明
164
- "react-hooks/exhaustive-deps": "error"
165
- }
166
- };
167
141
  var \u98CE\u683C\u7F8E\u5316 = {
168
142
  files: \u5E38\u7528\u4F5C\u7528\u57DF,
169
143
  plugins: {
@@ -195,20 +169,10 @@ var \u63A8\u8350\u914D\u7F6E = [
195
169
  jsDoc\u5B89\u5168\u6027,
196
170
  \u98CE\u683C\u7F8E\u5316
197
171
  ];
198
- var \u524D\u7AEF\u63A8\u8350\u914D\u7F6E = [
199
- // ..
200
- \u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939,
201
- ts\u5B89\u5168\u6027,
202
- react\u5B89\u5168\u6027,
203
- jsDoc\u5B89\u5168\u6027,
204
- \u98CE\u683C\u7F8E\u5316
205
- ];
206
172
  // Annotate the CommonJS export names for ESM import in node:
207
173
  0 && (module.exports = {
208
174
  jsDoc\u5B89\u5168\u6027,
209
- react\u5B89\u5168\u6027,
210
175
  ts\u5B89\u5168\u6027,
211
- \u524D\u7AEF\u63A8\u8350\u914D\u7F6E,
212
176
  \u5E38\u7528\u4F5C\u7528\u57DF,
213
177
  \u5E38\u7528\u5FFD\u7565\u57DF,
214
178
  \u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939,
@@ -5,9 +5,7 @@ declare var 常用忽略域: string[];
5
5
  declare var 忽略常见文件夹: Linter.Config;
6
6
  declare var ts安全性: Linter.Config;
7
7
  declare var jsDoc安全性: Linter.Config;
8
- declare var react安全性: Linter.Config;
9
8
  declare var 风格美化: Linter.Config;
10
9
  declare var 推荐配置: Linter.Config[];
11
- declare var 前端推荐配置: Linter.Config[];
12
10
 
13
- export { jsDoc安全性, react安全性, ts安全性, 前端推荐配置, 常用作用域, 常用忽略域, 忽略常见文件夹, 推荐配置, 风格美化 };
11
+ export { jsDoc安全性, ts安全性, 常用作用域, 常用忽略域, 忽略常见文件夹, 推荐配置, 风格美化 };
@@ -5,9 +5,7 @@ declare var 常用忽略域: string[];
5
5
  declare var 忽略常见文件夹: Linter.Config;
6
6
  declare var ts安全性: Linter.Config;
7
7
  declare var jsDoc安全性: Linter.Config;
8
- declare var react安全性: Linter.Config;
9
8
  declare var 风格美化: Linter.Config;
10
9
  declare var 推荐配置: Linter.Config[];
11
- declare var 前端推荐配置: Linter.Config[];
12
10
 
13
- export { jsDoc安全性, react安全性, ts安全性, 前端推荐配置, 常用作用域, 常用忽略域, 忽略常见文件夹, 推荐配置, 风格美化 };
11
+ export { jsDoc安全性, ts安全性, 常用作用域, 常用忽略域, 忽略常见文件夹, 推荐配置, 风格美化 };
package/dist/esm/index.js CHANGED
@@ -2,8 +2,6 @@
2
2
  import lsbyEslint from "@lsby/eslint-plugin";
3
3
  import eslintPluginEs from "eslint-plugin-es";
4
4
  import jsdoc from "eslint-plugin-jsdoc";
5
- import reacteslint from "eslint-plugin-react";
6
- import reacteslinthooks from "eslint-plugin-react-hooks";
7
5
  import sortClassMembers from "eslint-plugin-sort-class-members";
8
6
  import tseslint from "typescript-eslint";
9
7
  var \u5E38\u7528\u4F5C\u7528\u57DF = ["src/**/*.ts", "src/**/*.tsx", "test/**/*.ts", "test/**/*.tsx"];
@@ -60,6 +58,12 @@ var ts\u5B89\u5168\u6027 = {
60
58
  "@lsby/prefer-let": "error",
61
59
  // 永远使用 === 而不是 ==, 在一些情况下能自动修复
62
60
  eqeqeq: ["error", "always"],
61
+ // 禁止 if ... else
62
+ // else 表示"除当前条件外的所有可能"
63
+ // 当状态集合未来扩展时, 依然会被包含在else分支里, 导致状态遗漏却无任何报错
64
+ // 应当使用提早返回 或 switch + 穷尽检查
65
+ "no-else-return": "error",
66
+ "@typescript-eslint/switch-exhaustiveness-check": "error",
63
67
  // 在除了条件表达式的地方, 使用??而不是||
64
68
  "@typescript-eslint/prefer-nullish-coalescing": "error",
65
69
  // 禁止对非布尔值使用取反
@@ -94,34 +98,6 @@ var jsDoc\u5B89\u5168\u6027 = {
94
98
  "jsdoc/no-undefined-types": "error"
95
99
  }
96
100
  };
97
- var react\u5B89\u5168\u6027 = {
98
- files: \u5E38\u7528\u4F5C\u7528\u57DF,
99
- plugins: {
100
- react: reacteslint,
101
- "react-hooks": reacteslinthooks
102
- },
103
- settings: {
104
- react: { version: "detect" }
105
- },
106
- rules: {
107
- // 迭代元素必须有key
108
- "react/jsx-key": "error",
109
- // 不可以出现重复的属性
110
- "react/jsx-no-duplicate-props": "error",
111
- // 不可以用数组的索引做key, 因为react是依据位置决定是否重新渲染的
112
- "react/no-array-index-key": "error",
113
- // 不可以在jsx中出现没有转换的html实体
114
- "react/no-unescaped-entities": "error",
115
- // 不可以使用非预定的属性
116
- "react/no-unknown-property": "error",
117
- // 不应该多传props
118
- "react/prefer-exact-props": "error",
119
- // 只在顶层调用hook 和 仅从react函数调用hook
120
- "react-hooks/rules-of-hooks": "error",
121
- // hook的依赖必须被正确声明
122
- "react-hooks/exhaustive-deps": "error"
123
- }
124
- };
125
101
  var \u98CE\u683C\u7F8E\u5316 = {
126
102
  files: \u5E38\u7528\u4F5C\u7528\u57DF,
127
103
  plugins: {
@@ -153,19 +129,9 @@ var \u63A8\u8350\u914D\u7F6E = [
153
129
  jsDoc\u5B89\u5168\u6027,
154
130
  \u98CE\u683C\u7F8E\u5316
155
131
  ];
156
- var \u524D\u7AEF\u63A8\u8350\u914D\u7F6E = [
157
- // ..
158
- \u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939,
159
- ts\u5B89\u5168\u6027,
160
- react\u5B89\u5168\u6027,
161
- jsDoc\u5B89\u5168\u6027,
162
- \u98CE\u683C\u7F8E\u5316
163
- ];
164
132
  export {
165
133
  jsDoc\u5B89\u5168\u6027,
166
- react\u5B89\u5168\u6027,
167
134
  ts\u5B89\u5168\u6027,
168
- \u524D\u7AEF\u63A8\u8350\u914D\u7F6E,
169
135
  \u5E38\u7528\u4F5C\u7528\u57DF,
170
136
  \u5E38\u7528\u5FFD\u7565\u57DF,
171
137
  \u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lsby/eslint-config",
3
- "version": "0.2.31",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "require": "./dist/cjs/index.cjs",
@@ -36,11 +36,9 @@
36
36
  "eslint-config-prettier": "^9.1.0",
37
37
  "eslint-plugin-es": "^4.1.0",
38
38
  "eslint-plugin-jsdoc": "^50.2.4",
39
- "eslint-plugin-react": "^7.36.1",
40
- "eslint-plugin-react-hooks": "^4.6.2",
41
39
  "eslint-plugin-sort-class-members": "^1.20.0",
42
40
  "typescript": "<5.6.0",
43
41
  "typescript-eslint": "8.7.0"
44
42
  },
45
- "packageManager": "pnpm@9.10.0+sha512.73a29afa36a0d092ece5271de5177ecbf8318d454ecd701343131b8ebc0c1a91c487da46ab77c8e596d6acf1461e3594ced4becedf8921b074fbd8653ed7051c"
43
+ "packageManager": "pnpm@9.10.0"
46
44
  }