@eslint-react/eslint-plugin 3.0.0-next.7 → 3.0.0-next.70

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--beta.2-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,17 +43,17 @@
42
43
 
43
44
  ## Public Packages
44
45
 
45
- ### Unified ESLint Plugin
46
+ ### Modular ESLint Plugins
46
47
 
47
- - [`@eslint-react/eslint-plugin`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin) - A unified plugin that combines all individual plugins into one.
48
+ - [`eslint-plugin-react-x`](https://npmx.dev/package/eslint-plugin-react-x) - X rules (renderer-agnostic, compatible with x-platform).
49
+ - [`eslint-plugin-react-rsc`](https://npmx.dev/package/eslint-plugin-react-rsc) - Rules for React Server Components.
50
+ - [`eslint-plugin-react-dom`](https://npmx.dev/package/eslint-plugin-react-dom) - DOM-specific rules for React DOM.
51
+ - [`eslint-plugin-react-web-api`](https://npmx.dev/package/eslint-plugin-react-web-api) - Rules for interacting with Web APIs.
52
+ - [`eslint-plugin-react-naming-convention`](https://npmx.dev/package/eslint-plugin-react-naming-convention) - Naming convention rules.
48
53
 
49
- ### Modular ESLint Plugins
54
+ ### Unified ESLint Plugin
50
55
 
51
- - [`eslint-plugin-react-x`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) - X rules (renderer-agnostic, compatible with x-platform).
52
- - [`eslint-plugin-react-rsc`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-rsc) - Rules for React Server Components.
53
- - [`eslint-plugin-react-dom`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) - DOM-specific rules for React DOM.
54
- - [`eslint-plugin-react-web-api`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-web-api) - Rules for interacting with Web APIs.
55
- - [`eslint-plugin-react-naming-convention`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-naming-convention) - Naming convention rules.
56
+ - [`@eslint-react/eslint-plugin`](https://npmx.dev/package/@eslint-react/eslint-plugin) - A unified plugin that combines all individual plugins into one.
56
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.
@@ -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.7";
27
+ var version = "3.0.0-next.70";
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
  });
@@ -107,21 +107,22 @@ const rules$17 = {
107
107
  "@eslint-react/no-unsafe-component-will-update": "warn",
108
108
  "@eslint-react/no-unused-class-component-members": "warn",
109
109
  "@eslint-react/no-use-context": "warn",
110
- "@eslint-react/no-useless-forward-ref": "warn",
111
- "@eslint-react/prefer-use-state-lazy-initialization": "warn",
112
110
  "@eslint-react/purity": "warn",
113
111
  "@eslint-react/rules-of-hooks": "error",
114
112
  "@eslint-react/set-state-in-effect": "warn",
115
- "@eslint-react/set-state-in-render": "error"
113
+ "@eslint-react/set-state-in-render": "error",
114
+ "@eslint-react/unsupported-syntax": "error",
115
+ "@eslint-react/use-memo": "error",
116
+ "@eslint-react/use-state": "warn"
116
117
  };
117
- const plugins$9 = { "@eslint-react": react };
118
+ const plugins$8 = { "@eslint-react": react };
118
119
  const settings$8 = { "react-x": DEFAULT_ESLINT_REACT_SETTINGS };
119
120
 
120
121
  //#endregion
121
122
  //#region src/configs/all.ts
122
123
  var all_exports = /* @__PURE__ */ __exportAll({
123
124
  name: () => name$15,
124
- plugins: () => plugins$8,
125
+ plugins: () => plugins$7,
125
126
  rules: () => rules$16,
126
127
  settings: () => settings$7
127
128
  });
@@ -130,12 +131,11 @@ const rules$16 = {
130
131
  "@eslint-react/component-hook-factories": "error",
131
132
  "@eslint-react/error-boundaries": "error",
132
133
  "@eslint-react/exhaustive-deps": "warn",
134
+ "@eslint-react/immutability": "error",
133
135
  "@eslint-react/jsx-dollar": "warn",
134
136
  "@eslint-react/jsx-key-before-spread": "warn",
135
137
  "@eslint-react/jsx-no-comment-textnodes": "warn",
136
138
  "@eslint-react/jsx-no-duplicate-props": "warn",
137
- "@eslint-react/jsx-no-iife": "warn",
138
- "@eslint-react/jsx-no-undef": "error",
139
139
  "@eslint-react/jsx-shorthand-boolean": "warn",
140
140
  "@eslint-react/jsx-shorthand-fragment": "warn",
141
141
  "@eslint-react/jsx-uses-react": "warn",
@@ -179,14 +179,17 @@ const rules$16 = {
179
179
  "@eslint-react/no-unused-class-component-members": "warn",
180
180
  "@eslint-react/no-unused-state": "warn",
181
181
  "@eslint-react/no-use-context": "warn",
182
- "@eslint-react/no-useless-forward-ref": "warn",
183
182
  "@eslint-react/no-useless-fragment": "warn",
184
183
  "@eslint-react/prefer-destructuring-assignment": "warn",
185
184
  "@eslint-react/prefer-namespace-import": "warn",
186
- "@eslint-react/prefer-use-state-lazy-initialization": "warn",
187
185
  "@eslint-react/purity": "warn",
186
+ "@eslint-react/refs": "error",
188
187
  "@eslint-react/rules-of-hooks": "error",
189
188
  "@eslint-react/set-state-in-effect": "warn",
189
+ "@eslint-react/set-state-in-render": "error",
190
+ "@eslint-react/unsupported-syntax": "error",
191
+ "@eslint-react/use-memo": "error",
192
+ "@eslint-react/use-state": "warn",
190
193
  "@eslint-react/dom/no-dangerously-set-innerhtml": "warn",
191
194
  "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": "error",
192
195
  "@eslint-react/dom/no-find-dom-node": "error",
@@ -210,16 +213,14 @@ const rules$16 = {
210
213
  "@eslint-react/web-api/no-leaked-interval": "warn",
211
214
  "@eslint-react/web-api/no-leaked-resize-observer": "warn",
212
215
  "@eslint-react/web-api/no-leaked-timeout": "warn",
213
- "@eslint-react/naming-convention/component-name": "warn",
214
216
  "@eslint-react/naming-convention/context-name": "warn",
215
217
  "@eslint-react/naming-convention/id-name": "warn",
216
- "@eslint-react/naming-convention/ref-name": "warn",
217
- "@eslint-react/naming-convention/use-state": "warn"
218
+ "@eslint-react/naming-convention/ref-name": "warn"
218
219
  };
219
- const plugins$8 = {
220
+ const plugins$7 = {
221
+ ...plugins$8,
220
222
  ...plugins$9,
221
223
  ...plugins$10,
222
- ...plugins$11,
223
224
  "@eslint-react/naming-convention": reactNamingConvention,
224
225
  "@eslint-react/web-api": reactWebApi
225
226
  };
@@ -231,159 +232,97 @@ var disable_conflict_eslint_plugin_react_exports = /* @__PURE__ */ __exportAll({
231
232
  name: () => name$14,
232
233
  rules: () => rules$15
233
234
  });
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
235
  const name$14 = "@eslint-react/disable-conflict-eslint-plugin-react";
283
- const rules$15 = Object.fromEntries(conflictingRules.map((key) => [key, "off"]));
236
+ const rules$15 = react.configs["disable-conflict-eslint-plugin-react"].rules ?? {};
284
237
 
285
238
  //#endregion
286
- //#region src/configs/disable-dom.ts
287
- var disable_dom_exports = /* @__PURE__ */ __exportAll({
239
+ //#region src/configs/disable-conflict-eslint-plugin-react-hooks.ts
240
+ var disable_conflict_eslint_plugin_react_hooks_exports = /* @__PURE__ */ __exportAll({
288
241
  name: () => name$13,
289
242
  rules: () => rules$14
290
243
  });
291
- const name$13 = "@eslint-react/disable-dom";
292
- const rules$14 = Object.fromEntries(Object.entries(rules$19).map(([key]) => [key, "off"]));
244
+ const name$13 = "@eslint-react/disable-conflict-eslint-plugin-react-hooks";
245
+ const rules$14 = react.configs["disable-conflict-eslint-plugin-react-hooks"].rules ?? {};
293
246
 
294
247
  //#endregion
295
- //#region src/configs/disable-experimental.ts
296
- var disable_experimental_exports = /* @__PURE__ */ __exportAll({
248
+ //#region src/configs/disable-dom.ts
249
+ var disable_dom_exports = /* @__PURE__ */ __exportAll({
297
250
  name: () => name$12,
298
251
  rules: () => rules$13
299
252
  });
300
- const name$12 = "@eslint-react/disable-experimental";
301
- const rules$13 = {
253
+ const name$12 = "@eslint-react/disable-dom";
254
+ const rules$13 = Object.fromEntries(Object.entries(rules$19).map(([key]) => [key, "off"]));
255
+
256
+ //#endregion
257
+ //#region src/configs/disable-experimental.ts
258
+ var disable_experimental_exports = /* @__PURE__ */ __exportAll({
259
+ name: () => name$11,
260
+ rules: () => rules$12
261
+ });
262
+ const name$11 = "@eslint-react/disable-experimental";
263
+ const rules$12 = {
264
+ "@eslint-react/exhaustive-deps": "off",
302
265
  "@eslint-react/jsx-key-before-spread": "off",
303
- "@eslint-react/jsx-no-iife": "off",
304
266
  "@eslint-react/no-duplicate-key": "off",
305
267
  "@eslint-react/no-implicit-key": "off",
306
268
  "@eslint-react/no-misused-capture-owner-stack": "off",
307
269
  "@eslint-react/no-unnecessary-use-callback": "off",
308
270
  "@eslint-react/no-unnecessary-use-memo": "off",
309
271
  "@eslint-react/no-unused-props": "off",
310
- "@eslint-react/prefer-read-only-props": "off",
272
+ "@eslint-react/refs": "off",
273
+ "@eslint-react/rules-of-hooks": "off",
274
+ "@eslint-react/set-state-in-render": "off",
311
275
  "@eslint-react/rsc/function-definition": "off"
312
276
  };
313
277
 
314
278
  //#endregion
315
279
  //#region src/configs/disable-rsc.ts
316
280
  var disable_rsc_exports = /* @__PURE__ */ __exportAll({
317
- name: () => name$11,
318
- rules: () => rules$12
281
+ name: () => name$10,
282
+ rules: () => rules$11
319
283
  });
320
- const name$11 = "@eslint-react/disable-rsc";
321
- const rules$12 = Object.fromEntries(Object.entries(rules$18).map(([key]) => [key, "off"]));
284
+ const name$10 = "@eslint-react/disable-rsc";
285
+ const rules$11 = Object.fromEntries(Object.entries(rules$18).map(([key]) => [key, "off"]));
322
286
 
323
287
  //#endregion
324
288
  //#region src/configs/disable-type-checked.ts
325
289
  var disable_type_checked_exports = /* @__PURE__ */ __exportAll({
326
- name: () => name$10,
327
- rules: () => rules$11
290
+ name: () => name$9,
291
+ rules: () => rules$10
328
292
  });
329
- const name$10 = "@eslint-react/disable-type-checked";
330
- const rules$11 = {
293
+ const name$9 = "@eslint-react/disable-type-checked";
294
+ const rules$10 = {
331
295
  "@eslint-react/no-implicit-key": "off",
332
296
  "@eslint-react/no-leaked-conditional-rendering": "off",
333
- "@eslint-react/no-unused-props": "off",
334
- "@eslint-react/prefer-read-only-props": "off"
297
+ "@eslint-react/no-unused-props": "off"
335
298
  };
336
299
 
337
300
  //#endregion
338
301
  //#region src/configs/web-api.ts
339
302
  var web_api_exports = /* @__PURE__ */ __exportAll({
340
- name: () => name$9,
341
- plugins: () => plugins$7,
342
- rules: () => rules$10,
303
+ name: () => name$8,
304
+ plugins: () => plugins$6,
305
+ rules: () => rules$9,
343
306
  settings: () => settings$6
344
307
  });
345
- const name$9 = "@eslint-react/web-api";
346
- const rules$10 = {
308
+ const name$8 = "@eslint-react/web-api";
309
+ const rules$9 = {
347
310
  "@eslint-react/web-api/no-leaked-event-listener": "warn",
348
311
  "@eslint-react/web-api/no-leaked-interval": "warn",
349
312
  "@eslint-react/web-api/no-leaked-resize-observer": "warn",
350
313
  "@eslint-react/web-api/no-leaked-timeout": "warn"
351
314
  };
352
- const plugins$7 = { "@eslint-react/web-api": reactWebApi };
315
+ const plugins$6 = { "@eslint-react/web-api": reactWebApi };
353
316
  const settings$6 = { ...settings$8 };
354
317
 
355
318
  //#endregion
356
319
  //#region src/configs/disable-web-api.ts
357
320
  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
321
  name: () => name$7,
368
- plugins: () => plugins$6,
369
322
  rules: () => rules$8
370
323
  });
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
- };
324
+ const name$7 = "@eslint-react/disable-web-api";
325
+ const rules$8 = Object.fromEntries(Object.entries(rules$9).map(([key]) => [key, "off"]));
387
326
 
388
327
  //#endregion
389
328
  //#region src/configs/off.ts
@@ -394,7 +333,7 @@ var off_exports = /* @__PURE__ */ __exportAll({
394
333
  const name$6 = "@eslint-react/off";
395
334
  const rules$7 = {
396
335
  ...Object.fromEntries(Object.entries(rules$16).map(([key]) => [key, "off"])),
397
- ...rules$11
336
+ ...rules$10
398
337
  };
399
338
 
400
339
  //#endregion
@@ -410,17 +349,17 @@ const rules$6 = {
410
349
  ...rules$17,
411
350
  ...rules$18,
412
351
  ...rules$19,
413
- ...rules$10,
352
+ ...rules$9,
414
353
  "@eslint-react/naming-convention/context-name": "warn",
415
354
  "@eslint-react/naming-convention/id-name": "warn",
416
355
  "@eslint-react/naming-convention/ref-name": "warn",
417
- "@eslint-react/naming-convention/use-state": "warn"
356
+ "@eslint-react/use-state": "warn"
418
357
  };
419
358
  const plugins$5 = {
359
+ ...plugins$8,
420
360
  ...plugins$9,
421
361
  ...plugins$10,
422
- ...plugins$11,
423
- ...plugins$7,
362
+ ...plugins$6,
424
363
  "@eslint-react/naming-convention": reactNamingConvention
425
364
  };
426
365
  const settings$5 = { ...settings$8 };
@@ -434,7 +373,6 @@ const rules$5 = {
434
373
  "@eslint-react/dom/no-string-style-prop": "off",
435
374
  "@eslint-react/dom/no-unknown-property": "off",
436
375
  "@eslint-react/jsx-no-duplicate-props": "off",
437
- "@eslint-react/jsx-no-undef": "off",
438
376
  "@eslint-react/jsx-uses-react": "off",
439
377
  "@eslint-react/jsx-uses-vars": "off"
440
378
  };
@@ -483,7 +421,6 @@ var strict_exports = /* @__PURE__ */ __exportAll({
483
421
  const name$2 = "@eslint-react/strict";
484
422
  const rules$2 = {
485
423
  ...rules$6,
486
- "@eslint-react/jsx-no-iife": "error",
487
424
  "@eslint-react/no-children-prop": "error",
488
425
  "@eslint-react/no-class-component": "error",
489
426
  "@eslint-react/no-misused-capture-owner-stack": "error",
@@ -545,13 +482,13 @@ const plugin = {
545
482
  configs: {
546
483
  ["all"]: all_exports,
547
484
  ["disable-conflict-eslint-plugin-react"]: disable_conflict_eslint_plugin_react_exports,
485
+ ["disable-conflict-eslint-plugin-react-hooks"]: disable_conflict_eslint_plugin_react_hooks_exports,
548
486
  ["disable-dom"]: disable_dom_exports,
549
487
  ["disable-experimental"]: disable_experimental_exports,
550
488
  ["disable-rsc"]: disable_rsc_exports,
551
489
  ["disable-type-checked"]: disable_type_checked_exports,
552
490
  ["disable-web-api"]: disable_web_api_exports,
553
491
  ["dom"]: dom_exports,
554
- ["no-deprecated"]: no_deprecated_exports,
555
492
  ["off"]: off_exports,
556
493
  ["recommended"]: recommended_exports,
557
494
  ["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.7",
3
+ "version": "3.0.0-next.70",
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,16 +46,16 @@
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.7",
50
- "@eslint-react/shared": "3.0.0-next.7",
51
- "eslint-plugin-react-dom": "3.0.0-next.7",
52
- "eslint-plugin-react-naming-convention": "3.0.0-next.7",
53
- "eslint-plugin-react-rsc": "3.0.0-next.7",
54
- "eslint-plugin-react-web-api": "3.0.0-next.7",
55
- "eslint-plugin-react-x": "3.0.0-next.7"
49
+ "@eslint-react/eff": "3.0.0-next.70",
50
+ "@eslint-react/shared": "3.0.0-next.70",
51
+ "eslint-plugin-react-dom": "3.0.0-next.70",
52
+ "eslint-plugin-react-naming-convention": "3.0.0-next.70",
53
+ "eslint-plugin-react-web-api": "3.0.0-next.70",
54
+ "eslint-plugin-react-x": "3.0.0-next.70",
55
+ "eslint-plugin-react-rsc": "3.0.0-next.70"
56
56
  },
57
57
  "devDependencies": {
58
- "tsdown": "^0.20.3",
58
+ "tsdown": "^0.21.0-beta.2",
59
59
  "@local/configs": "0.0.0"
60
60
  },
61
61
  "peerDependencies": {
@@ -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
  }