@eslint-react/eslint-plugin 3.0.0-next.9 → 3.0.0-rc.0
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/README.md +15 -19
- package/dist/index.d.ts +4 -4
- package/dist/index.js +70 -138
- package/package.json +13 -13
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://npmjs.com/package/@eslint-react/eslint-plugin)
|
|
6
6
|
[](https://npmjs.com/package/@eslint-react/eslint-plugin)
|
|
7
7
|
[](https://npmjs.com/package/@eslint-react/eslint-plugin)
|
|
8
|
-
[](https://tsdown.dev)
|
|
9
9
|
|
|
10
10
|
4-7x faster, composable ESLint rules for React and friends.
|
|
11
11
|
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
- [Table of Contents](#table-of-contents)
|
|
15
15
|
- [Features](#features)
|
|
16
16
|
- [Public Packages](#public-packages)
|
|
17
|
-
- [Unified ESLint Plugin](#unified-eslint-plugin)
|
|
18
17
|
- [Modular ESLint Plugins](#modular-eslint-plugins)
|
|
18
|
+
- [Unified ESLint Plugin](#unified-eslint-plugin)
|
|
19
19
|
- [Installation](#installation)
|
|
20
20
|
- [Install](#install)
|
|
21
21
|
- [Setup](#setup)
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
- [Rules](#rules)
|
|
29
29
|
- [Benchmark](#benchmark)
|
|
30
30
|
- [FAQ](#faq)
|
|
31
|
+
- [Changelog](#changelog)
|
|
31
32
|
- [Roadmap](#roadmap)
|
|
32
33
|
- [Disclaimer](#disclaimer)
|
|
33
34
|
- [Contributing](#contributing)
|
|
@@ -42,10 +43,6 @@
|
|
|
42
43
|
|
|
43
44
|
## Public Packages
|
|
44
45
|
|
|
45
|
-
### Unified ESLint Plugin
|
|
46
|
-
|
|
47
|
-
- [`@eslint-react/eslint-plugin`](https://npmx.dev/package/@eslint-react/eslint-plugin) - A unified plugin that combines all individual plugins into one.
|
|
48
|
-
|
|
49
46
|
### Modular ESLint Plugins
|
|
50
47
|
|
|
51
48
|
- [`eslint-plugin-react-x`](https://npmx.dev/package/eslint-plugin-react-x) - X rules (renderer-agnostic, compatible with x-platform).
|
|
@@ -54,6 +51,10 @@
|
|
|
54
51
|
- [`eslint-plugin-react-web-api`](https://npmx.dev/package/eslint-plugin-react-web-api) - Rules for interacting with Web APIs.
|
|
55
52
|
- [`eslint-plugin-react-naming-convention`](https://npmx.dev/package/eslint-plugin-react-naming-convention) - Naming convention rules.
|
|
56
53
|
|
|
54
|
+
### Unified ESLint Plugin
|
|
55
|
+
|
|
56
|
+
- [`@eslint-react/eslint-plugin`](https://npmx.dev/package/@eslint-react/eslint-plugin) - A unified plugin that combines all individual plugins into one.
|
|
57
|
+
|
|
57
58
|
> [!NOTE]\
|
|
58
59
|
> Don't know which one to use? See our [FAQ](https://eslint-react.xyz/docs/faq#which-one-should-i-use-unified-plugin-or-individual-plugins) for guidance.
|
|
59
60
|
|
|
@@ -62,8 +63,8 @@
|
|
|
62
63
|
> [!NOTE]\
|
|
63
64
|
> ESLint React requires the following minimum versions:
|
|
64
65
|
>
|
|
65
|
-
> - Node.js:
|
|
66
|
-
> - ESLint:
|
|
66
|
+
> - Node.js: 22.0.0
|
|
67
|
+
> - ESLint: 10.0.0
|
|
67
68
|
> - TypeScript: 5.0.0
|
|
68
69
|
|
|
69
70
|
### Install
|
|
@@ -153,17 +154,6 @@ export default defineConfig(
|
|
|
153
154
|
- `strict-type-checked`\
|
|
154
155
|
Same as the `strict-typescript` preset but enables additional rules that require type information.
|
|
155
156
|
|
|
156
|
-
### Category Based
|
|
157
|
-
|
|
158
|
-
<!-- TODO: Add hooks and performance presets later -->
|
|
159
|
-
<!-- - `hooks`\ -->
|
|
160
|
-
<!-- Enable all rules related to React Hooks. -->
|
|
161
|
-
<!-- - `performance`\ -->
|
|
162
|
-
<!-- Enable all rules related to React performance optimizations. -->
|
|
163
|
-
|
|
164
|
-
- `no-deprecated`\
|
|
165
|
-
Enable all rules that disallow deprecated React APIs with "error" severity.
|
|
166
|
-
|
|
167
157
|
### Other
|
|
168
158
|
|
|
169
159
|
- `disable-rsc`\
|
|
@@ -178,6 +168,8 @@ export default defineConfig(
|
|
|
178
168
|
Disable rules that require type information.
|
|
179
169
|
- `disable-conflict-eslint-plugin-react`\
|
|
180
170
|
Disable rules in `eslint-plugin-react` that conflict with rules in our plugins.
|
|
171
|
+
- `disable-conflict-eslint-plugin-react-hooks`\
|
|
172
|
+
Disable rules in `eslint-plugin-react-hooks` that conflict with rules in our plugins.
|
|
181
173
|
- `off`\
|
|
182
174
|
Disable all rules in this plugin except for debug rules.
|
|
183
175
|
|
|
@@ -195,6 +187,10 @@ export default defineConfig(
|
|
|
195
187
|
|
|
196
188
|
[Frequently Asked Questions ↗](https://eslint-react.xyz/docs/faq)
|
|
197
189
|
|
|
190
|
+
## Changelog
|
|
191
|
+
|
|
192
|
+
[Changelog ↗](https://www.eslint-react.xyz/docs/changelog)
|
|
193
|
+
|
|
198
194
|
## Roadmap
|
|
199
195
|
|
|
200
196
|
- [Milestone 3.0 ↗](https://eslint-react.xyz/docs/roadmap#milestone-30-tbd)
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ESLint, Linter } from "eslint";
|
|
2
2
|
|
|
3
3
|
//#region src/index.d.ts
|
|
4
|
-
type ConfigName = "all" | "disable-conflict-eslint-plugin-react" | "disable-dom" | "disable-rsc" | "disable-experimental" | "disable-type-checked" | "disable-web-api" | "dom" | "rsc" | "
|
|
5
|
-
declare const plugin:
|
|
4
|
+
type ConfigName = "all" | "disable-conflict-eslint-plugin-react" | "disable-conflict-eslint-plugin-react-hooks" | "disable-dom" | "disable-rsc" | "disable-experimental" | "disable-type-checked" | "disable-web-api" | "dom" | "rsc" | "off" | "recommended" | "recommended-type-checked" | "recommended-typescript" | "strict" | "strict-type-checked" | "strict-typescript" | "web-api" | "x";
|
|
5
|
+
declare const plugin: ESLint.Plugin & {
|
|
6
6
|
/**
|
|
7
7
|
* For more information about each preset, please refer to the documentation.
|
|
8
8
|
* @see https://eslint-react.xyz/docs/presets
|
|
9
9
|
*/
|
|
10
|
-
configs: Record<ConfigName,
|
|
10
|
+
configs: Record<ConfigName, Linter.Config>;
|
|
11
11
|
};
|
|
12
12
|
//#endregion
|
|
13
13
|
export { plugin as default };
|
package/dist/index.js
CHANGED
|
@@ -24,13 +24,13 @@ var __exportAll = (all, no_symbols) => {
|
|
|
24
24
|
//#endregion
|
|
25
25
|
//#region package.json
|
|
26
26
|
var name$19 = "@eslint-react/eslint-plugin";
|
|
27
|
-
var version = "3.0.0-
|
|
27
|
+
var version = "3.0.0-rc.0";
|
|
28
28
|
|
|
29
29
|
//#endregion
|
|
30
30
|
//#region src/configs/dom.ts
|
|
31
31
|
var dom_exports = /* @__PURE__ */ __exportAll({
|
|
32
32
|
name: () => name$18,
|
|
33
|
-
plugins: () => plugins$
|
|
33
|
+
plugins: () => plugins$10,
|
|
34
34
|
rules: () => rules$19
|
|
35
35
|
});
|
|
36
36
|
const name$18 = "@eslint-react/dom";
|
|
@@ -48,24 +48,24 @@ const rules$19 = {
|
|
|
48
48
|
"@eslint-react/dom/no-use-form-state": "error",
|
|
49
49
|
"@eslint-react/dom/no-void-elements-with-children": "error"
|
|
50
50
|
};
|
|
51
|
-
const plugins$
|
|
51
|
+
const plugins$10 = { "@eslint-react/dom": reactDom };
|
|
52
52
|
|
|
53
53
|
//#endregion
|
|
54
54
|
//#region src/configs/rsc.ts
|
|
55
55
|
var rsc_exports = /* @__PURE__ */ __exportAll({
|
|
56
56
|
name: () => name$17,
|
|
57
|
-
plugins: () => plugins$
|
|
57
|
+
plugins: () => plugins$9,
|
|
58
58
|
rules: () => rules$18
|
|
59
59
|
});
|
|
60
60
|
const name$17 = "@eslint-react/rsc";
|
|
61
61
|
const rules$18 = { "@eslint-react/rsc/function-definition": "error" };
|
|
62
|
-
const plugins$
|
|
62
|
+
const plugins$9 = { "@eslint-react/rsc": reactRsc };
|
|
63
63
|
|
|
64
64
|
//#endregion
|
|
65
65
|
//#region src/configs/x.ts
|
|
66
66
|
var x_exports = /* @__PURE__ */ __exportAll({
|
|
67
67
|
name: () => name$16,
|
|
68
|
-
plugins: () => plugins$
|
|
68
|
+
plugins: () => plugins$8,
|
|
69
69
|
rules: () => rules$17,
|
|
70
70
|
settings: () => settings$8
|
|
71
71
|
});
|
|
@@ -76,9 +76,6 @@ const rules$17 = {
|
|
|
76
76
|
"@eslint-react/exhaustive-deps": "warn",
|
|
77
77
|
"@eslint-react/jsx-key-before-spread": "warn",
|
|
78
78
|
"@eslint-react/jsx-no-comment-textnodes": "warn",
|
|
79
|
-
"@eslint-react/jsx-no-duplicate-props": "warn",
|
|
80
|
-
"@eslint-react/jsx-uses-react": "warn",
|
|
81
|
-
"@eslint-react/jsx-uses-vars": "warn",
|
|
82
79
|
"@eslint-react/no-access-state-in-setstate": "error",
|
|
83
80
|
"@eslint-react/no-array-index-key": "warn",
|
|
84
81
|
"@eslint-react/no-children-count": "warn",
|
|
@@ -107,22 +104,22 @@ const rules$17 = {
|
|
|
107
104
|
"@eslint-react/no-unsafe-component-will-update": "warn",
|
|
108
105
|
"@eslint-react/no-unused-class-component-members": "warn",
|
|
109
106
|
"@eslint-react/no-use-context": "warn",
|
|
110
|
-
"@eslint-react/no-useless-forward-ref": "warn",
|
|
111
|
-
"@eslint-react/prefer-use-state-lazy-initialization": "warn",
|
|
112
107
|
"@eslint-react/purity": "warn",
|
|
113
108
|
"@eslint-react/rules-of-hooks": "error",
|
|
114
109
|
"@eslint-react/set-state-in-effect": "warn",
|
|
115
110
|
"@eslint-react/set-state-in-render": "error",
|
|
116
|
-
"@eslint-react/unsupported-syntax": "error"
|
|
111
|
+
"@eslint-react/unsupported-syntax": "error",
|
|
112
|
+
"@eslint-react/use-memo": "error",
|
|
113
|
+
"@eslint-react/use-state": "warn"
|
|
117
114
|
};
|
|
118
|
-
const plugins$
|
|
115
|
+
const plugins$8 = { "@eslint-react": react };
|
|
119
116
|
const settings$8 = { "react-x": DEFAULT_ESLINT_REACT_SETTINGS };
|
|
120
117
|
|
|
121
118
|
//#endregion
|
|
122
119
|
//#region src/configs/all.ts
|
|
123
120
|
var all_exports = /* @__PURE__ */ __exportAll({
|
|
124
121
|
name: () => name$15,
|
|
125
|
-
plugins: () => plugins$
|
|
122
|
+
plugins: () => plugins$7,
|
|
126
123
|
rules: () => rules$16,
|
|
127
124
|
settings: () => settings$7
|
|
128
125
|
});
|
|
@@ -131,15 +128,12 @@ const rules$16 = {
|
|
|
131
128
|
"@eslint-react/component-hook-factories": "error",
|
|
132
129
|
"@eslint-react/error-boundaries": "error",
|
|
133
130
|
"@eslint-react/exhaustive-deps": "warn",
|
|
131
|
+
"@eslint-react/immutability": "error",
|
|
134
132
|
"@eslint-react/jsx-dollar": "warn",
|
|
135
133
|
"@eslint-react/jsx-key-before-spread": "warn",
|
|
136
134
|
"@eslint-react/jsx-no-comment-textnodes": "warn",
|
|
137
|
-
"@eslint-react/jsx-no-duplicate-props": "warn",
|
|
138
|
-
"@eslint-react/jsx-no-undef": "error",
|
|
139
135
|
"@eslint-react/jsx-shorthand-boolean": "warn",
|
|
140
136
|
"@eslint-react/jsx-shorthand-fragment": "warn",
|
|
141
|
-
"@eslint-react/jsx-uses-react": "warn",
|
|
142
|
-
"@eslint-react/jsx-uses-vars": "warn",
|
|
143
137
|
"@eslint-react/no-access-state-in-setstate": "error",
|
|
144
138
|
"@eslint-react/no-array-index-key": "warn",
|
|
145
139
|
"@eslint-react/no-children-count": "warn",
|
|
@@ -179,14 +173,17 @@ const rules$16 = {
|
|
|
179
173
|
"@eslint-react/no-unused-class-component-members": "warn",
|
|
180
174
|
"@eslint-react/no-unused-state": "warn",
|
|
181
175
|
"@eslint-react/no-use-context": "warn",
|
|
182
|
-
"@eslint-react/no-useless-forward-ref": "warn",
|
|
183
176
|
"@eslint-react/no-useless-fragment": "warn",
|
|
184
177
|
"@eslint-react/prefer-destructuring-assignment": "warn",
|
|
185
178
|
"@eslint-react/prefer-namespace-import": "warn",
|
|
186
|
-
"@eslint-react/prefer-use-state-lazy-initialization": "warn",
|
|
187
179
|
"@eslint-react/purity": "warn",
|
|
180
|
+
"@eslint-react/refs": "error",
|
|
188
181
|
"@eslint-react/rules-of-hooks": "error",
|
|
189
182
|
"@eslint-react/set-state-in-effect": "warn",
|
|
183
|
+
"@eslint-react/set-state-in-render": "error",
|
|
184
|
+
"@eslint-react/unsupported-syntax": "error",
|
|
185
|
+
"@eslint-react/use-memo": "error",
|
|
186
|
+
"@eslint-react/use-state": "warn",
|
|
190
187
|
"@eslint-react/dom/no-dangerously-set-innerhtml": "warn",
|
|
191
188
|
"@eslint-react/dom/no-dangerously-set-innerhtml-with-children": "error",
|
|
192
189
|
"@eslint-react/dom/no-find-dom-node": "error",
|
|
@@ -210,16 +207,14 @@ const rules$16 = {
|
|
|
210
207
|
"@eslint-react/web-api/no-leaked-interval": "warn",
|
|
211
208
|
"@eslint-react/web-api/no-leaked-resize-observer": "warn",
|
|
212
209
|
"@eslint-react/web-api/no-leaked-timeout": "warn",
|
|
213
|
-
"@eslint-react/naming-convention/component-name": "warn",
|
|
214
210
|
"@eslint-react/naming-convention/context-name": "warn",
|
|
215
211
|
"@eslint-react/naming-convention/id-name": "warn",
|
|
216
|
-
"@eslint-react/naming-convention/ref-name": "warn"
|
|
217
|
-
"@eslint-react/naming-convention/use-state": "warn"
|
|
212
|
+
"@eslint-react/naming-convention/ref-name": "warn"
|
|
218
213
|
};
|
|
219
|
-
const plugins$
|
|
214
|
+
const plugins$7 = {
|
|
215
|
+
...plugins$8,
|
|
220
216
|
...plugins$9,
|
|
221
217
|
...plugins$10,
|
|
222
|
-
...plugins$11,
|
|
223
218
|
"@eslint-react/naming-convention": reactNamingConvention,
|
|
224
219
|
"@eslint-react/web-api": reactWebApi
|
|
225
220
|
};
|
|
@@ -231,158 +226,101 @@ var disable_conflict_eslint_plugin_react_exports = /* @__PURE__ */ __exportAll({
|
|
|
231
226
|
name: () => name$14,
|
|
232
227
|
rules: () => rules$15
|
|
233
228
|
});
|
|
234
|
-
const conflictingRules = [
|
|
235
|
-
"react/button-has-type",
|
|
236
|
-
"react/destructuring-assignment",
|
|
237
|
-
"react/display-name",
|
|
238
|
-
"react/forbid-prop-types",
|
|
239
|
-
"react/forward-ref-uses-ref",
|
|
240
|
-
"react/hook-use-state",
|
|
241
|
-
"react/iframe-missing-sandbox",
|
|
242
|
-
"react/jsx-boolean-value",
|
|
243
|
-
"react/jsx-filename-extension",
|
|
244
|
-
"react/jsx-fragments",
|
|
245
|
-
"react/jsx-key",
|
|
246
|
-
"react/jsx-no-comment-textnodes",
|
|
247
|
-
"react/jsx-no-constructed-context-values",
|
|
248
|
-
"react/jsx-no-duplicate-props",
|
|
249
|
-
"react/jsx-no-leaked-render",
|
|
250
|
-
"react/jsx-no-script-url",
|
|
251
|
-
"react/jsx-no-target-blank",
|
|
252
|
-
"react/jsx-no-undef",
|
|
253
|
-
"react/jsx-no-useless-fragment",
|
|
254
|
-
"react/jsx-pascal-case",
|
|
255
|
-
"react/jsx-uses-react",
|
|
256
|
-
"react/jsx-uses-vars",
|
|
257
|
-
"react/no-access-state-in-setstate",
|
|
258
|
-
"react/no-array-index-key",
|
|
259
|
-
"react/no-children-prop",
|
|
260
|
-
"react/no-danger",
|
|
261
|
-
"react/no-danger-with-children",
|
|
262
|
-
"react/no-deprecated",
|
|
263
|
-
"react/no-did-mount-set-state",
|
|
264
|
-
"react/no-did-update-set-state",
|
|
265
|
-
"react/no-direct-mutation-state",
|
|
266
|
-
"react/no-find-dom-node",
|
|
267
|
-
"react/no-namespace",
|
|
268
|
-
"react/no-object-type-as-default-prop",
|
|
269
|
-
"react/no-redundant-should-component-update",
|
|
270
|
-
"react/no-render-return-value",
|
|
271
|
-
"react/no-string-refs",
|
|
272
|
-
"react/no-unknown-property",
|
|
273
|
-
"react/no-unsafe",
|
|
274
|
-
"react/no-unstable-nested-components",
|
|
275
|
-
"react/no-unused-class-component-members",
|
|
276
|
-
"react/no-unused-state",
|
|
277
|
-
"react/no-will-update-set-state",
|
|
278
|
-
"react/prefer-read-only-props",
|
|
279
|
-
"react/prop-types",
|
|
280
|
-
"react/void-dom-elements-no-children"
|
|
281
|
-
];
|
|
282
229
|
const name$14 = "@eslint-react/disable-conflict-eslint-plugin-react";
|
|
283
|
-
const rules$15 =
|
|
230
|
+
const rules$15 = react.configs["disable-conflict-eslint-plugin-react"].rules ?? {};
|
|
284
231
|
|
|
285
232
|
//#endregion
|
|
286
|
-
//#region src/configs/disable-
|
|
287
|
-
var
|
|
233
|
+
//#region src/configs/disable-conflict-eslint-plugin-react-hooks.ts
|
|
234
|
+
var disable_conflict_eslint_plugin_react_hooks_exports = /* @__PURE__ */ __exportAll({
|
|
288
235
|
name: () => name$13,
|
|
289
236
|
rules: () => rules$14
|
|
290
237
|
});
|
|
291
|
-
const name$13 = "@eslint-react/disable-
|
|
292
|
-
const rules$14 =
|
|
238
|
+
const name$13 = "@eslint-react/disable-conflict-eslint-plugin-react-hooks";
|
|
239
|
+
const rules$14 = react.configs["disable-conflict-eslint-plugin-react-hooks"].rules ?? {};
|
|
293
240
|
|
|
294
241
|
//#endregion
|
|
295
|
-
//#region src/configs/disable-
|
|
296
|
-
var
|
|
242
|
+
//#region src/configs/disable-dom.ts
|
|
243
|
+
var disable_dom_exports = /* @__PURE__ */ __exportAll({
|
|
297
244
|
name: () => name$12,
|
|
298
245
|
rules: () => rules$13
|
|
299
246
|
});
|
|
300
|
-
const name$12 = "@eslint-react/disable-
|
|
301
|
-
const rules$13 =
|
|
247
|
+
const name$12 = "@eslint-react/disable-dom";
|
|
248
|
+
const rules$13 = Object.fromEntries(Object.entries(rules$19).map(([key]) => [key, "off"]));
|
|
249
|
+
|
|
250
|
+
//#endregion
|
|
251
|
+
//#region src/configs/disable-experimental.ts
|
|
252
|
+
var disable_experimental_exports = /* @__PURE__ */ __exportAll({
|
|
253
|
+
name: () => name$11,
|
|
254
|
+
rules: () => rules$12
|
|
255
|
+
});
|
|
256
|
+
const name$11 = "@eslint-react/disable-experimental";
|
|
257
|
+
const rules$12 = {
|
|
258
|
+
"@eslint-react/immutability": "off",
|
|
302
259
|
"@eslint-react/jsx-key-before-spread": "off",
|
|
303
260
|
"@eslint-react/no-duplicate-key": "off",
|
|
261
|
+
"@eslint-react/no-implicit-children": "off",
|
|
304
262
|
"@eslint-react/no-implicit-key": "off",
|
|
263
|
+
"@eslint-react/no-implicit-ref": "off",
|
|
305
264
|
"@eslint-react/no-misused-capture-owner-stack": "off",
|
|
306
265
|
"@eslint-react/no-unnecessary-use-callback": "off",
|
|
307
266
|
"@eslint-react/no-unnecessary-use-memo": "off",
|
|
308
267
|
"@eslint-react/no-unused-props": "off",
|
|
309
|
-
"@eslint-react/
|
|
268
|
+
"@eslint-react/refs": "off",
|
|
269
|
+
"@eslint-react/set-state-in-render": "off",
|
|
270
|
+
"@eslint-react/unstable-rules-of-props": "off",
|
|
310
271
|
"@eslint-react/rsc/function-definition": "off"
|
|
311
272
|
};
|
|
312
273
|
|
|
313
274
|
//#endregion
|
|
314
275
|
//#region src/configs/disable-rsc.ts
|
|
315
276
|
var disable_rsc_exports = /* @__PURE__ */ __exportAll({
|
|
316
|
-
name: () => name$
|
|
317
|
-
rules: () => rules$
|
|
277
|
+
name: () => name$10,
|
|
278
|
+
rules: () => rules$11
|
|
318
279
|
});
|
|
319
|
-
const name$
|
|
320
|
-
const rules$
|
|
280
|
+
const name$10 = "@eslint-react/disable-rsc";
|
|
281
|
+
const rules$11 = Object.fromEntries(Object.entries(rules$18).map(([key]) => [key, "off"]));
|
|
321
282
|
|
|
322
283
|
//#endregion
|
|
323
284
|
//#region src/configs/disable-type-checked.ts
|
|
324
285
|
var disable_type_checked_exports = /* @__PURE__ */ __exportAll({
|
|
325
|
-
name: () => name$
|
|
326
|
-
rules: () => rules$
|
|
286
|
+
name: () => name$9,
|
|
287
|
+
rules: () => rules$10
|
|
327
288
|
});
|
|
328
|
-
const name$
|
|
329
|
-
const rules$
|
|
289
|
+
const name$9 = "@eslint-react/disable-type-checked";
|
|
290
|
+
const rules$10 = {
|
|
291
|
+
"@eslint-react/no-implicit-children": "off",
|
|
330
292
|
"@eslint-react/no-implicit-key": "off",
|
|
293
|
+
"@eslint-react/no-implicit-ref": "off",
|
|
331
294
|
"@eslint-react/no-leaked-conditional-rendering": "off",
|
|
332
|
-
"@eslint-react/no-unused-props": "off"
|
|
333
|
-
"@eslint-react/prefer-read-only-props": "off"
|
|
295
|
+
"@eslint-react/no-unused-props": "off"
|
|
334
296
|
};
|
|
335
297
|
|
|
336
298
|
//#endregion
|
|
337
299
|
//#region src/configs/web-api.ts
|
|
338
300
|
var web_api_exports = /* @__PURE__ */ __exportAll({
|
|
339
|
-
name: () => name$
|
|
340
|
-
plugins: () => plugins$
|
|
341
|
-
rules: () => rules$
|
|
301
|
+
name: () => name$8,
|
|
302
|
+
plugins: () => plugins$6,
|
|
303
|
+
rules: () => rules$9,
|
|
342
304
|
settings: () => settings$6
|
|
343
305
|
});
|
|
344
|
-
const name$
|
|
345
|
-
const rules$
|
|
306
|
+
const name$8 = "@eslint-react/web-api";
|
|
307
|
+
const rules$9 = {
|
|
346
308
|
"@eslint-react/web-api/no-leaked-event-listener": "warn",
|
|
347
309
|
"@eslint-react/web-api/no-leaked-interval": "warn",
|
|
348
310
|
"@eslint-react/web-api/no-leaked-resize-observer": "warn",
|
|
349
311
|
"@eslint-react/web-api/no-leaked-timeout": "warn"
|
|
350
312
|
};
|
|
351
|
-
const plugins$
|
|
313
|
+
const plugins$6 = { "@eslint-react/web-api": reactWebApi };
|
|
352
314
|
const settings$6 = { ...settings$8 };
|
|
353
315
|
|
|
354
316
|
//#endregion
|
|
355
317
|
//#region src/configs/disable-web-api.ts
|
|
356
318
|
var disable_web_api_exports = /* @__PURE__ */ __exportAll({
|
|
357
|
-
name: () => name$8,
|
|
358
|
-
rules: () => rules$9
|
|
359
|
-
});
|
|
360
|
-
const name$8 = "@eslint-react/disable-web-api";
|
|
361
|
-
const rules$9 = Object.fromEntries(Object.entries(rules$10).map(([key]) => [key, "off"]));
|
|
362
|
-
|
|
363
|
-
//#endregion
|
|
364
|
-
//#region src/configs/no-deprecated.ts
|
|
365
|
-
var no_deprecated_exports = /* @__PURE__ */ __exportAll({
|
|
366
319
|
name: () => name$7,
|
|
367
|
-
plugins: () => plugins$6,
|
|
368
320
|
rules: () => rules$8
|
|
369
321
|
});
|
|
370
|
-
const name$7 = "@eslint-react/
|
|
371
|
-
const rules$8 =
|
|
372
|
-
"@eslint-react/no-component-will-mount": "error",
|
|
373
|
-
"@eslint-react/no-component-will-receive-props": "error",
|
|
374
|
-
"@eslint-react/no-component-will-update": "error",
|
|
375
|
-
"@eslint-react/no-create-ref": "error",
|
|
376
|
-
"@eslint-react/no-forward-ref": "error",
|
|
377
|
-
"@eslint-react/dom/no-find-dom-node": "error",
|
|
378
|
-
"@eslint-react/dom/no-hydrate": "error",
|
|
379
|
-
"@eslint-react/dom/no-render": "error",
|
|
380
|
-
"@eslint-react/dom/no-render-return-value": "error"
|
|
381
|
-
};
|
|
382
|
-
const plugins$6 = {
|
|
383
|
-
...plugins$9,
|
|
384
|
-
...plugins$11
|
|
385
|
-
};
|
|
322
|
+
const name$7 = "@eslint-react/disable-web-api";
|
|
323
|
+
const rules$8 = Object.fromEntries(Object.entries(rules$9).map(([key]) => [key, "off"]));
|
|
386
324
|
|
|
387
325
|
//#endregion
|
|
388
326
|
//#region src/configs/off.ts
|
|
@@ -393,7 +331,7 @@ var off_exports = /* @__PURE__ */ __exportAll({
|
|
|
393
331
|
const name$6 = "@eslint-react/off";
|
|
394
332
|
const rules$7 = {
|
|
395
333
|
...Object.fromEntries(Object.entries(rules$16).map(([key]) => [key, "off"])),
|
|
396
|
-
...rules$
|
|
334
|
+
...rules$10
|
|
397
335
|
};
|
|
398
336
|
|
|
399
337
|
//#endregion
|
|
@@ -409,17 +347,17 @@ const rules$6 = {
|
|
|
409
347
|
...rules$17,
|
|
410
348
|
...rules$18,
|
|
411
349
|
...rules$19,
|
|
412
|
-
...rules$
|
|
350
|
+
...rules$9,
|
|
413
351
|
"@eslint-react/naming-convention/context-name": "warn",
|
|
414
352
|
"@eslint-react/naming-convention/id-name": "warn",
|
|
415
353
|
"@eslint-react/naming-convention/ref-name": "warn",
|
|
416
|
-
"@eslint-react/
|
|
354
|
+
"@eslint-react/use-state": "warn"
|
|
417
355
|
};
|
|
418
356
|
const plugins$5 = {
|
|
357
|
+
...plugins$8,
|
|
419
358
|
...plugins$9,
|
|
420
359
|
...plugins$10,
|
|
421
|
-
...plugins$
|
|
422
|
-
...plugins$7,
|
|
360
|
+
...plugins$6,
|
|
423
361
|
"@eslint-react/naming-convention": reactNamingConvention
|
|
424
362
|
};
|
|
425
363
|
const settings$5 = { ...settings$8 };
|
|
@@ -431,11 +369,7 @@ const settings$5 = { ...settings$8 };
|
|
|
431
369
|
*/
|
|
432
370
|
const rules$5 = {
|
|
433
371
|
"@eslint-react/dom/no-string-style-prop": "off",
|
|
434
|
-
"@eslint-react/dom/no-unknown-property": "off"
|
|
435
|
-
"@eslint-react/jsx-no-duplicate-props": "off",
|
|
436
|
-
"@eslint-react/jsx-no-undef": "off",
|
|
437
|
-
"@eslint-react/jsx-uses-react": "off",
|
|
438
|
-
"@eslint-react/jsx-uses-vars": "off"
|
|
372
|
+
"@eslint-react/dom/no-unknown-property": "off"
|
|
439
373
|
};
|
|
440
374
|
|
|
441
375
|
//#endregion
|
|
@@ -465,7 +399,6 @@ var recommended_type_checked_exports = /* @__PURE__ */ __exportAll({
|
|
|
465
399
|
const name$3 = "@eslint-react/recommended-type-checked";
|
|
466
400
|
const rules$3 = {
|
|
467
401
|
...rules$4,
|
|
468
|
-
"@eslint-react/no-implicit-key": "error",
|
|
469
402
|
"@eslint-react/no-leaked-conditional-rendering": "error"
|
|
470
403
|
};
|
|
471
404
|
const plugins$3 = { ...plugins$4 };
|
|
@@ -526,7 +459,6 @@ var strict_type_checked_exports = /* @__PURE__ */ __exportAll({
|
|
|
526
459
|
const name = "@eslint-react/strict-type-checked";
|
|
527
460
|
const rules = {
|
|
528
461
|
...rules$1,
|
|
529
|
-
"@eslint-react/no-implicit-key": "error",
|
|
530
462
|
"@eslint-react/no-leaked-conditional-rendering": "error",
|
|
531
463
|
"@eslint-react/no-unused-props": "warn"
|
|
532
464
|
};
|
|
@@ -543,13 +475,13 @@ const plugin = {
|
|
|
543
475
|
configs: {
|
|
544
476
|
["all"]: all_exports,
|
|
545
477
|
["disable-conflict-eslint-plugin-react"]: disable_conflict_eslint_plugin_react_exports,
|
|
478
|
+
["disable-conflict-eslint-plugin-react-hooks"]: disable_conflict_eslint_plugin_react_hooks_exports,
|
|
546
479
|
["disable-dom"]: disable_dom_exports,
|
|
547
480
|
["disable-experimental"]: disable_experimental_exports,
|
|
548
481
|
["disable-rsc"]: disable_rsc_exports,
|
|
549
482
|
["disable-type-checked"]: disable_type_checked_exports,
|
|
550
483
|
["disable-web-api"]: disable_web_api_exports,
|
|
551
484
|
["dom"]: dom_exports,
|
|
552
|
-
["no-deprecated"]: no_deprecated_exports,
|
|
553
485
|
["off"]: off_exports,
|
|
554
486
|
["recommended"]: recommended_exports,
|
|
555
487
|
["recommended-type-checked"]: recommended_type_checked_exports,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eslint-react/eslint-plugin",
|
|
3
|
-
"version": "3.0.0-
|
|
3
|
+
"version": "3.0.0-rc.0",
|
|
4
4
|
"description": "A unified plugin that combines all individual plugins from the eslint-react monorepo into one.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -46,21 +46,21 @@
|
|
|
46
46
|
"@typescript-eslint/types": "canary",
|
|
47
47
|
"@typescript-eslint/utils": "canary",
|
|
48
48
|
"ts-api-utils": "^2.4.0",
|
|
49
|
-
"@eslint-react/
|
|
50
|
-
"
|
|
51
|
-
"eslint-plugin-react-
|
|
52
|
-
"eslint-plugin-react-
|
|
53
|
-
"eslint-plugin-react-
|
|
54
|
-
"eslint-plugin-react-x": "3.0.0-
|
|
55
|
-
"eslint-plugin-react-web-api": "3.0.0-next.9"
|
|
49
|
+
"@eslint-react/shared": "3.0.0-rc.0",
|
|
50
|
+
"eslint-plugin-react-dom": "3.0.0-rc.0",
|
|
51
|
+
"eslint-plugin-react-naming-convention": "3.0.0-rc.0",
|
|
52
|
+
"eslint-plugin-react-rsc": "3.0.0-rc.0",
|
|
53
|
+
"eslint-plugin-react-web-api": "3.0.0-rc.0",
|
|
54
|
+
"eslint-plugin-react-x": "3.0.0-rc.0"
|
|
56
55
|
},
|
|
57
56
|
"devDependencies": {
|
|
58
|
-
"tsdown": "^0.
|
|
59
|
-
"@local/configs": "0.0.0"
|
|
57
|
+
"tsdown": "^0.21.0",
|
|
58
|
+
"@local/configs": "0.0.0",
|
|
59
|
+
"@local/eff": "3.0.0-beta.72"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
|
-
"eslint": "^
|
|
63
|
-
"typescript": "
|
|
62
|
+
"eslint": "^10.0.0",
|
|
63
|
+
"typescript": "*"
|
|
64
64
|
},
|
|
65
65
|
"engines": {
|
|
66
66
|
"node": ">=22.0.0"
|
|
@@ -71,6 +71,6 @@
|
|
|
71
71
|
"scripts": {
|
|
72
72
|
"build": "tsdown",
|
|
73
73
|
"lint:publish": "pnpm publint",
|
|
74
|
-
"lint:ts": "
|
|
74
|
+
"lint:ts": "tsl"
|
|
75
75
|
}
|
|
76
76
|
}
|