@eslint-react/eslint-plugin 3.0.0-next.8 → 3.0.0-next.80

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 CHANGED
@@ -5,7 +5,7 @@
5
5
  [![Version](https://img.shields.io/npm/v/@eslint-react/eslint-plugin?style=flat&colorA=111111&colorB=000000)](https://npmjs.com/package/@eslint-react/eslint-plugin)
6
6
  [![Downloads](https://img.shields.io/npm/dt/@eslint-react/eslint-plugin.svg?style=flat&colorA=222222&colorB=000000)](https://npmjs.com/package/@eslint-react/eslint-plugin)
7
7
  [![License](https://img.shields.io/npm/l/@eslint-react/eslint-plugin?style=flat&colorA=333333&colorB=000000)](https://npmjs.com/package/@eslint-react/eslint-plugin)
8
- [![Build with](https://img.shields.io/badge/built_with-tsdown@0.20.3-000000?style=flat)](https://tsdown.dev)
8
+ [![Build with](https://img.shields.io/badge/built_with-tsdown@0.21.0-000000?style=flat)](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: 20.19.0
66
- > - ESLint: 9.36.0
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 { CompatibleConfig, CompatiblePlugin } from "@eslint-react/shared";
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" | "no-deprecated" | "off" | "recommended" | "recommended-type-checked" | "recommended-typescript" | "strict" | "strict-type-checked" | "strict-typescript" | "web-api" | "x";
5
- declare const plugin: CompatiblePlugin & {
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, CompatibleConfig>;
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-next.8";
27
+ var version = "3.0.0-next.80";
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$11,
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$11 = { "@eslint-react/dom": reactDom };
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$10,
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$10 = { "@eslint-react/rsc": reactRsc };
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$9,
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,21 +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
- "@eslint-react/set-state-in-render": "error"
110
+ "@eslint-react/set-state-in-render": "error",
111
+ "@eslint-react/unsupported-syntax": "error",
112
+ "@eslint-react/use-memo": "error",
113
+ "@eslint-react/use-state": "warn"
116
114
  };
117
- const plugins$9 = { "@eslint-react": react };
115
+ const plugins$8 = { "@eslint-react": react };
118
116
  const settings$8 = { "react-x": DEFAULT_ESLINT_REACT_SETTINGS };
119
117
 
120
118
  //#endregion
121
119
  //#region src/configs/all.ts
122
120
  var all_exports = /* @__PURE__ */ __exportAll({
123
121
  name: () => name$15,
124
- plugins: () => plugins$8,
122
+ plugins: () => plugins$7,
125
123
  rules: () => rules$16,
126
124
  settings: () => settings$7
127
125
  });
@@ -130,16 +128,12 @@ const rules$16 = {
130
128
  "@eslint-react/component-hook-factories": "error",
131
129
  "@eslint-react/error-boundaries": "error",
132
130
  "@eslint-react/exhaustive-deps": "warn",
131
+ "@eslint-react/immutability": "error",
133
132
  "@eslint-react/jsx-dollar": "warn",
134
133
  "@eslint-react/jsx-key-before-spread": "warn",
135
134
  "@eslint-react/jsx-no-comment-textnodes": "warn",
136
- "@eslint-react/jsx-no-duplicate-props": "warn",
137
- "@eslint-react/jsx-no-iife": "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$8 = {
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,159 +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 = Object.fromEntries(conflictingRules.map((key) => [key, "off"]));
230
+ const rules$15 = react.configs["disable-conflict-eslint-plugin-react"].rules ?? {};
284
231
 
285
232
  //#endregion
286
- //#region src/configs/disable-dom.ts
287
- var disable_dom_exports = /* @__PURE__ */ __exportAll({
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-dom";
292
- const rules$14 = Object.fromEntries(Object.entries(rules$19).map(([key]) => [key, "off"]));
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-experimental.ts
296
- var disable_experimental_exports = /* @__PURE__ */ __exportAll({
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-experimental";
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
- "@eslint-react/jsx-no-iife": "off",
304
260
  "@eslint-react/no-duplicate-key": "off",
261
+ "@eslint-react/no-implicit-children": "off",
305
262
  "@eslint-react/no-implicit-key": "off",
263
+ "@eslint-react/no-implicit-ref": "off",
306
264
  "@eslint-react/no-misused-capture-owner-stack": "off",
307
265
  "@eslint-react/no-unnecessary-use-callback": "off",
308
266
  "@eslint-react/no-unnecessary-use-memo": "off",
309
267
  "@eslint-react/no-unused-props": "off",
310
- "@eslint-react/prefer-read-only-props": "off",
268
+ "@eslint-react/refs": "off",
269
+ "@eslint-react/set-state-in-render": "off",
270
+ "@eslint-react/unstable-rules-of-props": "off",
311
271
  "@eslint-react/rsc/function-definition": "off"
312
272
  };
313
273
 
314
274
  //#endregion
315
275
  //#region src/configs/disable-rsc.ts
316
276
  var disable_rsc_exports = /* @__PURE__ */ __exportAll({
317
- name: () => name$11,
318
- rules: () => rules$12
277
+ name: () => name$10,
278
+ rules: () => rules$11
319
279
  });
320
- const name$11 = "@eslint-react/disable-rsc";
321
- const rules$12 = Object.fromEntries(Object.entries(rules$18).map(([key]) => [key, "off"]));
280
+ const name$10 = "@eslint-react/disable-rsc";
281
+ const rules$11 = Object.fromEntries(Object.entries(rules$18).map(([key]) => [key, "off"]));
322
282
 
323
283
  //#endregion
324
284
  //#region src/configs/disable-type-checked.ts
325
285
  var disable_type_checked_exports = /* @__PURE__ */ __exportAll({
326
- name: () => name$10,
327
- rules: () => rules$11
286
+ name: () => name$9,
287
+ rules: () => rules$10
328
288
  });
329
- const name$10 = "@eslint-react/disable-type-checked";
330
- const rules$11 = {
289
+ const name$9 = "@eslint-react/disable-type-checked";
290
+ const rules$10 = {
291
+ "@eslint-react/no-implicit-children": "off",
331
292
  "@eslint-react/no-implicit-key": "off",
293
+ "@eslint-react/no-implicit-ref": "off",
332
294
  "@eslint-react/no-leaked-conditional-rendering": "off",
333
- "@eslint-react/no-unused-props": "off",
334
- "@eslint-react/prefer-read-only-props": "off"
295
+ "@eslint-react/no-unused-props": "off"
335
296
  };
336
297
 
337
298
  //#endregion
338
299
  //#region src/configs/web-api.ts
339
300
  var web_api_exports = /* @__PURE__ */ __exportAll({
340
- name: () => name$9,
341
- plugins: () => plugins$7,
342
- rules: () => rules$10,
301
+ name: () => name$8,
302
+ plugins: () => plugins$6,
303
+ rules: () => rules$9,
343
304
  settings: () => settings$6
344
305
  });
345
- const name$9 = "@eslint-react/web-api";
346
- const rules$10 = {
306
+ const name$8 = "@eslint-react/web-api";
307
+ const rules$9 = {
347
308
  "@eslint-react/web-api/no-leaked-event-listener": "warn",
348
309
  "@eslint-react/web-api/no-leaked-interval": "warn",
349
310
  "@eslint-react/web-api/no-leaked-resize-observer": "warn",
350
311
  "@eslint-react/web-api/no-leaked-timeout": "warn"
351
312
  };
352
- const plugins$7 = { "@eslint-react/web-api": reactWebApi };
313
+ const plugins$6 = { "@eslint-react/web-api": reactWebApi };
353
314
  const settings$6 = { ...settings$8 };
354
315
 
355
316
  //#endregion
356
317
  //#region src/configs/disable-web-api.ts
357
318
  var disable_web_api_exports = /* @__PURE__ */ __exportAll({
358
- name: () => name$8,
359
- rules: () => rules$9
360
- });
361
- const name$8 = "@eslint-react/disable-web-api";
362
- const rules$9 = Object.fromEntries(Object.entries(rules$10).map(([key]) => [key, "off"]));
363
-
364
- //#endregion
365
- //#region src/configs/no-deprecated.ts
366
- var no_deprecated_exports = /* @__PURE__ */ __exportAll({
367
319
  name: () => name$7,
368
- plugins: () => plugins$6,
369
320
  rules: () => rules$8
370
321
  });
371
- const name$7 = "@eslint-react/no-deprecated";
372
- const rules$8 = {
373
- "@eslint-react/no-component-will-mount": "error",
374
- "@eslint-react/no-component-will-receive-props": "error",
375
- "@eslint-react/no-component-will-update": "error",
376
- "@eslint-react/no-create-ref": "error",
377
- "@eslint-react/no-forward-ref": "error",
378
- "@eslint-react/dom/no-find-dom-node": "error",
379
- "@eslint-react/dom/no-hydrate": "error",
380
- "@eslint-react/dom/no-render": "error",
381
- "@eslint-react/dom/no-render-return-value": "error"
382
- };
383
- const plugins$6 = {
384
- ...plugins$9,
385
- ...plugins$11
386
- };
322
+ const name$7 = "@eslint-react/disable-web-api";
323
+ const rules$8 = Object.fromEntries(Object.entries(rules$9).map(([key]) => [key, "off"]));
387
324
 
388
325
  //#endregion
389
326
  //#region src/configs/off.ts
@@ -394,7 +331,7 @@ var off_exports = /* @__PURE__ */ __exportAll({
394
331
  const name$6 = "@eslint-react/off";
395
332
  const rules$7 = {
396
333
  ...Object.fromEntries(Object.entries(rules$16).map(([key]) => [key, "off"])),
397
- ...rules$11
334
+ ...rules$10
398
335
  };
399
336
 
400
337
  //#endregion
@@ -410,17 +347,17 @@ const rules$6 = {
410
347
  ...rules$17,
411
348
  ...rules$18,
412
349
  ...rules$19,
413
- ...rules$10,
350
+ ...rules$9,
414
351
  "@eslint-react/naming-convention/context-name": "warn",
415
352
  "@eslint-react/naming-convention/id-name": "warn",
416
353
  "@eslint-react/naming-convention/ref-name": "warn",
417
- "@eslint-react/naming-convention/use-state": "warn"
354
+ "@eslint-react/use-state": "warn"
418
355
  };
419
356
  const plugins$5 = {
357
+ ...plugins$8,
420
358
  ...plugins$9,
421
359
  ...plugins$10,
422
- ...plugins$11,
423
- ...plugins$7,
360
+ ...plugins$6,
424
361
  "@eslint-react/naming-convention": reactNamingConvention
425
362
  };
426
363
  const settings$5 = { ...settings$8 };
@@ -432,11 +369,7 @@ const settings$5 = { ...settings$8 };
432
369
  */
433
370
  const rules$5 = {
434
371
  "@eslint-react/dom/no-string-style-prop": "off",
435
- "@eslint-react/dom/no-unknown-property": "off",
436
- "@eslint-react/jsx-no-duplicate-props": "off",
437
- "@eslint-react/jsx-no-undef": "off",
438
- "@eslint-react/jsx-uses-react": "off",
439
- "@eslint-react/jsx-uses-vars": "off"
372
+ "@eslint-react/dom/no-unknown-property": "off"
440
373
  };
441
374
 
442
375
  //#endregion
@@ -466,7 +399,6 @@ var recommended_type_checked_exports = /* @__PURE__ */ __exportAll({
466
399
  const name$3 = "@eslint-react/recommended-type-checked";
467
400
  const rules$3 = {
468
401
  ...rules$4,
469
- "@eslint-react/no-implicit-key": "error",
470
402
  "@eslint-react/no-leaked-conditional-rendering": "error"
471
403
  };
472
404
  const plugins$3 = { ...plugins$4 };
@@ -483,7 +415,6 @@ var strict_exports = /* @__PURE__ */ __exportAll({
483
415
  const name$2 = "@eslint-react/strict";
484
416
  const rules$2 = {
485
417
  ...rules$6,
486
- "@eslint-react/jsx-no-iife": "error",
487
418
  "@eslint-react/no-children-prop": "error",
488
419
  "@eslint-react/no-class-component": "error",
489
420
  "@eslint-react/no-misused-capture-owner-stack": "error",
@@ -528,7 +459,6 @@ var strict_type_checked_exports = /* @__PURE__ */ __exportAll({
528
459
  const name = "@eslint-react/strict-type-checked";
529
460
  const rules = {
530
461
  ...rules$1,
531
- "@eslint-react/no-implicit-key": "error",
532
462
  "@eslint-react/no-leaked-conditional-rendering": "error",
533
463
  "@eslint-react/no-unused-props": "warn"
534
464
  };
@@ -545,13 +475,13 @@ const plugin = {
545
475
  configs: {
546
476
  ["all"]: all_exports,
547
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,
548
479
  ["disable-dom"]: disable_dom_exports,
549
480
  ["disable-experimental"]: disable_experimental_exports,
550
481
  ["disable-rsc"]: disable_rsc_exports,
551
482
  ["disable-type-checked"]: disable_type_checked_exports,
552
483
  ["disable-web-api"]: disable_web_api_exports,
553
484
  ["dom"]: dom_exports,
554
- ["no-deprecated"]: no_deprecated_exports,
555
485
  ["off"]: off_exports,
556
486
  ["recommended"]: recommended_exports,
557
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-next.8",
3
+ "version": "3.0.0-next.80",
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/eff": "3.0.0-next.8",
50
- "@eslint-react/shared": "3.0.0-next.8",
51
- "eslint-plugin-react-dom": "3.0.0-next.8",
52
- "eslint-plugin-react-rsc": "3.0.0-next.8",
53
- "eslint-plugin-react-naming-convention": "3.0.0-next.8",
54
- "eslint-plugin-react-web-api": "3.0.0-next.8",
55
- "eslint-plugin-react-x": "3.0.0-next.8"
49
+ "@eslint-react/shared": "3.0.0-next.80",
50
+ "eslint-plugin-react-dom": "3.0.0-next.80",
51
+ "eslint-plugin-react-naming-convention": "3.0.0-next.80",
52
+ "eslint-plugin-react-web-api": "3.0.0-next.80",
53
+ "eslint-plugin-react-rsc": "3.0.0-next.80",
54
+ "eslint-plugin-react-x": "3.0.0-next.80"
56
55
  },
57
56
  "devDependencies": {
58
- "tsdown": "^0.20.3",
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": "^8.57.0 || ^9.0.0 || ^10.0.0",
63
- "typescript": ">=4.8.4 <6.0.0"
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": "tsc --noEmit"
74
+ "lint:ts": "tsl"
75
75
  }
76
76
  }