@lsby/eslint-config 0.2.1 → 0.2.3
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.
- package/dist/cjs/index.cjs +81 -17
- package/dist/cjs/index.d.cts +8 -2
- package/dist/cjs/types/types.d.d.cts +3 -0
- package/dist/esm/index.d.ts +8 -2
- package/dist/esm/index.js +73 -15
- package/dist/esm/types/types.d.d.ts +3 -0
- package/package.json +12 -7
- package/dist/cjs/types/eslint-plugin-sort-class-members.d.d.cts +0 -1
- package/dist/esm/types/eslint-plugin-sort-class-members.d.d.ts +0 -1
- /package/dist/cjs/types/{eslint-plugin-sort-class-members.d.cjs → types.d.cjs} +0 -0
- /package/dist/esm/types/{eslint-plugin-sort-class-members.d.js → types.d.js} +0 -0
package/dist/cjs/index.cjs
CHANGED
@@ -30,31 +30,38 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
30
30
|
// src/index.ts
|
31
31
|
var src_exports = {};
|
32
32
|
__export(src_exports, {
|
33
|
-
\
|
34
|
-
\
|
33
|
+
jsDoc\u5B89\u5168\u6027: () => jsDoc\u5B89\u5168\u6027,
|
34
|
+
react\u5B89\u5168\u6027: () => react\u5B89\u5168\u6027,
|
35
|
+
ts\u5B89\u5168\u6027: () => ts\u5B89\u5168\u6027,
|
36
|
+
\u5E38\u7528\u4F5C\u7528\u57DF: () => \u5E38\u7528\u4F5C\u7528\u57DF,
|
37
|
+
\u5E38\u7528\u5FFD\u7565\u57DF: () => \u5E38\u7528\u5FFD\u7565\u57DF,
|
38
|
+
\u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939: () => \u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939,
|
39
|
+
\u63A8\u8350\u914D\u7F6E: () => \u63A8\u8350\u914D\u7F6E,
|
40
|
+
\u98CE\u683C\u7F8E\u5316: () => \u98CE\u683C\u7F8E\u5316
|
35
41
|
});
|
36
42
|
module.exports = __toCommonJS(src_exports);
|
37
|
-
var import_eslint_plugin = __toESM(require("@typescript-eslint/eslint-plugin"), 1);
|
38
|
-
var import_parser = __toESM(require("@typescript-eslint/parser"), 1);
|
39
43
|
var import_eslint_plugin_jsdoc = __toESM(require("eslint-plugin-jsdoc"), 1);
|
44
|
+
var import_eslint_plugin_react = __toESM(require("eslint-plugin-react"), 1);
|
45
|
+
var import_eslint_plugin_react_hooks = __toESM(require("eslint-plugin-react-hooks"), 1);
|
40
46
|
var import_eslint_plugin_sort_class_members = __toESM(require("eslint-plugin-sort-class-members"), 1);
|
47
|
+
var import_typescript_eslint = __toESM(require("typescript-eslint"), 1);
|
48
|
+
var \u5E38\u7528\u4F5C\u7528\u57DF = ["src/**/*.ts", "src/**/*.tsx", "test/**/*.ts", "test/**/*.tsx"];
|
49
|
+
var \u5E38\u7528\u5FFD\u7565\u57DF = ["node_modules", "dist", "coverage", "out"];
|
41
50
|
var \u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939 = {
|
42
|
-
ignores:
|
51
|
+
ignores: \u5E38\u7528\u5FFD\u7565\u57DF
|
43
52
|
};
|
44
|
-
var \
|
45
|
-
files:
|
53
|
+
var ts\u5B89\u5168\u6027 = {
|
54
|
+
files: \u5E38\u7528\u4F5C\u7528\u57DF,
|
46
55
|
languageOptions: {
|
47
|
-
parser:
|
48
|
-
parserOptions: {
|
56
|
+
parser: import_typescript_eslint.default.parser,
|
57
|
+
parserOptions: {
|
58
|
+
projectService: true
|
59
|
+
}
|
49
60
|
},
|
50
61
|
plugins: {
|
51
|
-
|
52
|
-
"@typescript-eslint": import_eslint_plugin.default.configs,
|
53
|
-
"sort-class-members": import_eslint_plugin_sort_class_members.default
|
62
|
+
"@typescript-eslint": import_typescript_eslint.default.plugin
|
54
63
|
},
|
55
64
|
rules: {
|
56
|
-
// jsdoc的link必须存在
|
57
|
-
"jsdoc/no-undefined-types": "error",
|
58
65
|
// 拒绝any
|
59
66
|
"@typescript-eslint/no-unsafe-assignment": "error",
|
60
67
|
// 检查无意义的比较
|
@@ -71,7 +78,50 @@ var \u57FA\u7840ts\u89C4\u5219 = {
|
|
71
78
|
argsIgnorePattern: "^_",
|
72
79
|
destructuredArrayIgnorePattern: "^_"
|
73
80
|
}
|
74
|
-
]
|
81
|
+
]
|
82
|
+
}
|
83
|
+
};
|
84
|
+
var jsDoc\u5B89\u5168\u6027 = {
|
85
|
+
files: \u5E38\u7528\u4F5C\u7528\u57DF,
|
86
|
+
plugins: {
|
87
|
+
jsdoc: import_eslint_plugin_jsdoc.default
|
88
|
+
},
|
89
|
+
rules: {
|
90
|
+
// jsdoc的link必须存在
|
91
|
+
"jsdoc/no-undefined-types": "error"
|
92
|
+
}
|
93
|
+
};
|
94
|
+
var react\u5B89\u5168\u6027 = {
|
95
|
+
files: \u5E38\u7528\u4F5C\u7528\u57DF,
|
96
|
+
plugins: {
|
97
|
+
react: import_eslint_plugin_react.default,
|
98
|
+
"react-hooks": import_eslint_plugin_react_hooks.default
|
99
|
+
},
|
100
|
+
rules: {
|
101
|
+
// 迭代元素必须有key
|
102
|
+
"react/jsx-key": "error",
|
103
|
+
// 不可以出现重复的属性
|
104
|
+
"react/jsx-no-duplicate-props": "error",
|
105
|
+
// 不可以用数组的索引做key, 因为react是依据位置决定是否重新渲染的
|
106
|
+
"react/no-array-index-key": "error",
|
107
|
+
// 不可以在jsx中出现没有转换的html实体
|
108
|
+
"react/no-unescaped-entities": "error",
|
109
|
+
// 不可以使用非预定的属性
|
110
|
+
"react/no-unknown-property": "error",
|
111
|
+
// 不应该多传props
|
112
|
+
"react/prefer-exact-props": "error",
|
113
|
+
// 只在顶层调用hook 和 仅从react函数调用hook
|
114
|
+
"react-hooks/rules-of-hooks": "error",
|
115
|
+
// hook的依赖必须被正确声明
|
116
|
+
"react-hooks/exhaustive-deps": "error"
|
117
|
+
}
|
118
|
+
};
|
119
|
+
var \u98CE\u683C\u7F8E\u5316 = {
|
120
|
+
files: \u5E38\u7528\u4F5C\u7528\u57DF,
|
121
|
+
plugins: {
|
122
|
+
"sort-class-members": import_eslint_plugin_sort_class_members.default
|
123
|
+
},
|
124
|
+
rules: {
|
75
125
|
// 排序类属性
|
76
126
|
"sort-class-members/sort-class-members": [
|
77
127
|
2,
|
@@ -90,8 +140,22 @@ var \u57FA\u7840ts\u89C4\u5219 = {
|
|
90
140
|
]
|
91
141
|
}
|
92
142
|
};
|
143
|
+
var \u63A8\u8350\u914D\u7F6E = [
|
144
|
+
// ..
|
145
|
+
\u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939,
|
146
|
+
ts\u5B89\u5168\u6027,
|
147
|
+
react\u5B89\u5168\u6027,
|
148
|
+
jsDoc\u5B89\u5168\u6027,
|
149
|
+
\u98CE\u683C\u7F8E\u5316
|
150
|
+
];
|
93
151
|
// Annotate the CommonJS export names for ESM import in node:
|
94
152
|
0 && (module.exports = {
|
95
|
-
\
|
96
|
-
\
|
153
|
+
jsDoc\u5B89\u5168\u6027,
|
154
|
+
react\u5B89\u5168\u6027,
|
155
|
+
ts\u5B89\u5168\u6027,
|
156
|
+
\u5E38\u7528\u4F5C\u7528\u57DF,
|
157
|
+
\u5E38\u7528\u5FFD\u7565\u57DF,
|
158
|
+
\u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939,
|
159
|
+
\u63A8\u8350\u914D\u7F6E,
|
160
|
+
\u98CE\u683C\u7F8E\u5316
|
97
161
|
});
|
package/dist/cjs/index.d.cts
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
import { Linter } from 'eslint';
|
2
2
|
|
3
|
+
declare var 常用作用域: string[];
|
4
|
+
declare var 常用忽略域: string[];
|
3
5
|
declare var 忽略常见文件夹: Linter.Config;
|
4
|
-
declare var
|
6
|
+
declare var ts安全性: Linter.Config;
|
7
|
+
declare var jsDoc安全性: Linter.Config;
|
8
|
+
declare var react安全性: Linter.Config;
|
9
|
+
declare var 风格美化: Linter.Config;
|
10
|
+
declare var 推荐配置: Linter.Config[];
|
5
11
|
|
6
|
-
export {
|
12
|
+
export { jsDoc安全性, react安全性, ts安全性, 常用作用域, 常用忽略域, 忽略常见文件夹, 推荐配置, 风格美化 };
|
package/dist/esm/index.d.ts
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
import { Linter } from 'eslint';
|
2
2
|
|
3
|
+
declare var 常用作用域: string[];
|
4
|
+
declare var 常用忽略域: string[];
|
3
5
|
declare var 忽略常见文件夹: Linter.Config;
|
4
|
-
declare var
|
6
|
+
declare var ts安全性: Linter.Config;
|
7
|
+
declare var jsDoc安全性: Linter.Config;
|
8
|
+
declare var react安全性: Linter.Config;
|
9
|
+
declare var 风格美化: Linter.Config;
|
10
|
+
declare var 推荐配置: Linter.Config[];
|
5
11
|
|
6
|
-
export {
|
12
|
+
export { jsDoc安全性, react安全性, ts安全性, 常用作用域, 常用忽略域, 忽略常见文件夹, 推荐配置, 风格美化 };
|
package/dist/esm/index.js
CHANGED
@@ -1,25 +1,26 @@
|
|
1
1
|
// src/index.ts
|
2
|
-
import typescriptEslintPlugin from "@typescript-eslint/eslint-plugin";
|
3
|
-
import typescriptEslintParser from "@typescript-eslint/parser";
|
4
2
|
import jsdoc from "eslint-plugin-jsdoc";
|
3
|
+
import reacteslint from "eslint-plugin-react";
|
4
|
+
import reacteslinthooks from "eslint-plugin-react-hooks";
|
5
5
|
import sortClassMembers from "eslint-plugin-sort-class-members";
|
6
|
+
import tseslint from "typescript-eslint";
|
7
|
+
var \u5E38\u7528\u4F5C\u7528\u57DF = ["src/**/*.ts", "src/**/*.tsx", "test/**/*.ts", "test/**/*.tsx"];
|
8
|
+
var \u5E38\u7528\u5FFD\u7565\u57DF = ["node_modules", "dist", "coverage", "out"];
|
6
9
|
var \u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939 = {
|
7
|
-
ignores:
|
10
|
+
ignores: \u5E38\u7528\u5FFD\u7565\u57DF
|
8
11
|
};
|
9
|
-
var \
|
10
|
-
files:
|
12
|
+
var ts\u5B89\u5168\u6027 = {
|
13
|
+
files: \u5E38\u7528\u4F5C\u7528\u57DF,
|
11
14
|
languageOptions: {
|
12
|
-
parser:
|
13
|
-
parserOptions: {
|
15
|
+
parser: tseslint.parser,
|
16
|
+
parserOptions: {
|
17
|
+
projectService: true
|
18
|
+
}
|
14
19
|
},
|
15
20
|
plugins: {
|
16
|
-
|
17
|
-
"@typescript-eslint": typescriptEslintPlugin.configs,
|
18
|
-
"sort-class-members": sortClassMembers
|
21
|
+
"@typescript-eslint": tseslint.plugin
|
19
22
|
},
|
20
23
|
rules: {
|
21
|
-
// jsdoc的link必须存在
|
22
|
-
"jsdoc/no-undefined-types": "error",
|
23
24
|
// 拒绝any
|
24
25
|
"@typescript-eslint/no-unsafe-assignment": "error",
|
25
26
|
// 检查无意义的比较
|
@@ -36,7 +37,50 @@ var \u57FA\u7840ts\u89C4\u5219 = {
|
|
36
37
|
argsIgnorePattern: "^_",
|
37
38
|
destructuredArrayIgnorePattern: "^_"
|
38
39
|
}
|
39
|
-
]
|
40
|
+
]
|
41
|
+
}
|
42
|
+
};
|
43
|
+
var jsDoc\u5B89\u5168\u6027 = {
|
44
|
+
files: \u5E38\u7528\u4F5C\u7528\u57DF,
|
45
|
+
plugins: {
|
46
|
+
jsdoc
|
47
|
+
},
|
48
|
+
rules: {
|
49
|
+
// jsdoc的link必须存在
|
50
|
+
"jsdoc/no-undefined-types": "error"
|
51
|
+
}
|
52
|
+
};
|
53
|
+
var react\u5B89\u5168\u6027 = {
|
54
|
+
files: \u5E38\u7528\u4F5C\u7528\u57DF,
|
55
|
+
plugins: {
|
56
|
+
react: reacteslint,
|
57
|
+
"react-hooks": reacteslinthooks
|
58
|
+
},
|
59
|
+
rules: {
|
60
|
+
// 迭代元素必须有key
|
61
|
+
"react/jsx-key": "error",
|
62
|
+
// 不可以出现重复的属性
|
63
|
+
"react/jsx-no-duplicate-props": "error",
|
64
|
+
// 不可以用数组的索引做key, 因为react是依据位置决定是否重新渲染的
|
65
|
+
"react/no-array-index-key": "error",
|
66
|
+
// 不可以在jsx中出现没有转换的html实体
|
67
|
+
"react/no-unescaped-entities": "error",
|
68
|
+
// 不可以使用非预定的属性
|
69
|
+
"react/no-unknown-property": "error",
|
70
|
+
// 不应该多传props
|
71
|
+
"react/prefer-exact-props": "error",
|
72
|
+
// 只在顶层调用hook 和 仅从react函数调用hook
|
73
|
+
"react-hooks/rules-of-hooks": "error",
|
74
|
+
// hook的依赖必须被正确声明
|
75
|
+
"react-hooks/exhaustive-deps": "error"
|
76
|
+
}
|
77
|
+
};
|
78
|
+
var \u98CE\u683C\u7F8E\u5316 = {
|
79
|
+
files: \u5E38\u7528\u4F5C\u7528\u57DF,
|
80
|
+
plugins: {
|
81
|
+
"sort-class-members": sortClassMembers
|
82
|
+
},
|
83
|
+
rules: {
|
40
84
|
// 排序类属性
|
41
85
|
"sort-class-members/sort-class-members": [
|
42
86
|
2,
|
@@ -55,7 +99,21 @@ var \u57FA\u7840ts\u89C4\u5219 = {
|
|
55
99
|
]
|
56
100
|
}
|
57
101
|
};
|
102
|
+
var \u63A8\u8350\u914D\u7F6E = [
|
103
|
+
// ..
|
104
|
+
\u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939,
|
105
|
+
ts\u5B89\u5168\u6027,
|
106
|
+
react\u5B89\u5168\u6027,
|
107
|
+
jsDoc\u5B89\u5168\u6027,
|
108
|
+
\u98CE\u683C\u7F8E\u5316
|
109
|
+
];
|
58
110
|
export {
|
59
|
-
\
|
60
|
-
\
|
111
|
+
jsDoc\u5B89\u5168\u6027,
|
112
|
+
react\u5B89\u5168\u6027,
|
113
|
+
ts\u5B89\u5168\u6027,
|
114
|
+
\u5E38\u7528\u4F5C\u7528\u57DF,
|
115
|
+
\u5E38\u7528\u5FFD\u7565\u57DF,
|
116
|
+
\u5FFD\u7565\u5E38\u89C1\u6587\u4EF6\u5939,
|
117
|
+
\u63A8\u8350\u914D\u7F6E,
|
118
|
+
\u98CE\u683C\u7F8E\u5316
|
61
119
|
};
|
package/package.json
CHANGED
@@ -1,8 +1,11 @@
|
|
1
1
|
{
|
2
2
|
"name": "@lsby/eslint-config",
|
3
|
-
"version": "0.2.
|
3
|
+
"version": "0.2.3",
|
4
4
|
"type": "module",
|
5
|
-
"
|
5
|
+
"exports": {
|
6
|
+
"require": "./dist/cjs/index.cjs",
|
7
|
+
"import": "./dist/esm/index.js"
|
8
|
+
},
|
6
9
|
"files": [
|
7
10
|
"dist"
|
8
11
|
],
|
@@ -17,9 +20,9 @@
|
|
17
20
|
"prepare": "husky",
|
18
21
|
"pub:public": "npm run check:all && npm run build:all && bumpp && npm publish --access public"
|
19
22
|
},
|
20
|
-
"dependencies": {},
|
21
23
|
"devDependencies": {
|
22
24
|
"@ianvs/prettier-plugin-sort-imports": "^4.3.1",
|
25
|
+
"@types/node": "^22.6.1",
|
23
26
|
"bumpp": "^9.5.2",
|
24
27
|
"husky": "^9.1.6",
|
25
28
|
"prettier-plugin-organize-imports": "^4.1.0",
|
@@ -27,13 +30,15 @@
|
|
27
30
|
},
|
28
31
|
"peerDependencies": {
|
29
32
|
"@types/eslint": "^9.6.1",
|
30
|
-
"
|
31
|
-
"@typescript-eslint/parser": "^8.6.0",
|
32
|
-
"eslint": "^8.56.0",
|
33
|
+
"eslint": "^8.57.0",
|
33
34
|
"eslint-config-prettier": "^9.1.0",
|
34
35
|
"eslint-plugin-jsdoc": "^50.2.4",
|
36
|
+
"eslint-plugin-react": "^7.36.1",
|
37
|
+
"eslint-plugin-react-hooks": "^4.6.2",
|
35
38
|
"eslint-plugin-sort-class-members": "^1.20.0",
|
36
|
-
"tsup": "^8.3.0"
|
39
|
+
"tsup": "^8.3.0",
|
40
|
+
"typescript": "<5.6.0",
|
41
|
+
"typescript-eslint": "8.7.0"
|
37
42
|
},
|
38
43
|
"packageManager": "pnpm@9.10.0+sha512.73a29afa36a0d092ece5271de5177ecbf8318d454ecd701343131b8ebc0c1a91c487da46ab77c8e596d6acf1461e3594ced4becedf8921b074fbd8653ed7051c"
|
39
44
|
}
|
@@ -1 +0,0 @@
|
|
1
|
-
declare module 'eslint-plugin-sort-class-members' {}
|
@@ -1 +0,0 @@
|
|
1
|
-
declare module 'eslint-plugin-sort-class-members' {}
|
File without changes
|
File without changes
|