@eslint-react/eslint-plugin 3.0.0-next.64 → 3.0.0-next.65

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
@@ -154,17 +154,6 @@ export default defineConfig(
154
154
  - `strict-type-checked`\
155
155
  Same as the `strict-typescript` preset but enables additional rules that require type information.
156
156
 
157
- ### Category Based
158
-
159
- <!-- TODO: Add hooks and performance presets later -->
160
- <!-- - `hooks`\ -->
161
- <!-- Enable all rules related to React Hooks. -->
162
- <!-- - `performance`\ -->
163
- <!-- Enable all rules related to React performance optimizations. -->
164
-
165
- - `no-deprecated`\
166
- Enable all rules that disallow deprecated React APIs with "error" severity.
167
-
168
157
  ### Other
169
158
 
170
159
  - `disable-rsc`\
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
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-conflict-eslint-plugin-react-hooks" | "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";
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
5
  declare const plugin: ESLint.Plugin & {
6
6
  /**
7
7
  * For more information about each preset, please refer to the documentation.
package/dist/index.js CHANGED
@@ -23,18 +23,18 @@ var __exportAll = (all, no_symbols) => {
23
23
 
24
24
  //#endregion
25
25
  //#region package.json
26
- var name$20 = "@eslint-react/eslint-plugin";
27
- var version = "3.0.0-next.64";
26
+ var name$19 = "@eslint-react/eslint-plugin";
27
+ var version = "3.0.0-next.65";
28
28
 
29
29
  //#endregion
30
30
  //#region src/configs/dom.ts
31
31
  var dom_exports = /* @__PURE__ */ __exportAll({
32
- name: () => name$19,
33
- plugins: () => plugins$11,
34
- rules: () => rules$20
32
+ name: () => name$18,
33
+ plugins: () => plugins$10,
34
+ rules: () => rules$19
35
35
  });
36
- const name$19 = "@eslint-react/dom";
37
- const rules$20 = {
36
+ const name$18 = "@eslint-react/dom";
37
+ const rules$19 = {
38
38
  "@eslint-react/dom/no-dangerously-set-innerhtml": "warn",
39
39
  "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": "error",
40
40
  "@eslint-react/dom/no-find-dom-node": "error",
@@ -48,29 +48,29 @@ const rules$20 = {
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
- name: () => name$18,
57
- plugins: () => plugins$10,
58
- rules: () => rules$19
56
+ name: () => name$17,
57
+ plugins: () => plugins$9,
58
+ rules: () => rules$18
59
59
  });
60
- const name$18 = "@eslint-react/rsc";
61
- const rules$19 = { "@eslint-react/rsc/function-definition": "error" };
62
- const plugins$10 = { "@eslint-react/rsc": reactRsc };
60
+ const name$17 = "@eslint-react/rsc";
61
+ const rules$18 = { "@eslint-react/rsc/function-definition": "error" };
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
- name: () => name$17,
68
- plugins: () => plugins$9,
69
- rules: () => rules$18,
67
+ name: () => name$16,
68
+ plugins: () => plugins$8,
69
+ rules: () => rules$17,
70
70
  settings: () => settings$8
71
71
  });
72
- const name$17 = "@eslint-react/x";
73
- const rules$18 = {
72
+ const name$16 = "@eslint-react/x";
73
+ const rules$17 = {
74
74
  "@eslint-react/component-hook-factories": "error",
75
75
  "@eslint-react/error-boundaries": "error",
76
76
  "@eslint-react/exhaustive-deps": "warn",
@@ -115,19 +115,19 @@ const rules$18 = {
115
115
  "@eslint-react/use-memo": "error",
116
116
  "@eslint-react/use-state": "warn"
117
117
  };
118
- const plugins$9 = { "@eslint-react": react };
118
+ const plugins$8 = { "@eslint-react": react };
119
119
  const settings$8 = { "react-x": DEFAULT_ESLINT_REACT_SETTINGS };
120
120
 
121
121
  //#endregion
122
122
  //#region src/configs/all.ts
123
123
  var all_exports = /* @__PURE__ */ __exportAll({
124
- name: () => name$16,
125
- plugins: () => plugins$8,
126
- rules: () => rules$17,
124
+ name: () => name$15,
125
+ plugins: () => plugins$7,
126
+ rules: () => rules$16,
127
127
  settings: () => settings$7
128
128
  });
129
- const name$16 = "@eslint-react/all";
130
- const rules$17 = {
129
+ const name$15 = "@eslint-react/all";
130
+ const rules$16 = {
131
131
  "@eslint-react/component-hook-factories": "error",
132
132
  "@eslint-react/error-boundaries": "error",
133
133
  "@eslint-react/exhaustive-deps": "warn",
@@ -217,10 +217,10 @@ const rules$17 = {
217
217
  "@eslint-react/naming-convention/id-name": "warn",
218
218
  "@eslint-react/naming-convention/ref-name": "warn"
219
219
  };
220
- const plugins$8 = {
220
+ const plugins$7 = {
221
+ ...plugins$8,
221
222
  ...plugins$9,
222
223
  ...plugins$10,
223
- ...plugins$11,
224
224
  "@eslint-react/naming-convention": reactNamingConvention,
225
225
  "@eslint-react/web-api": reactWebApi
226
226
  };
@@ -229,98 +229,38 @@ const settings$7 = { ...settings$8 };
229
229
  //#endregion
230
230
  //#region src/configs/disable-conflict-eslint-plugin-react.ts
231
231
  var disable_conflict_eslint_plugin_react_exports = /* @__PURE__ */ __exportAll({
232
- name: () => name$15,
233
- rules: () => rules$16
232
+ name: () => name$14,
233
+ rules: () => rules$15
234
234
  });
235
- const conflictingRules$1 = [
236
- "react/button-has-type",
237
- "react/destructuring-assignment",
238
- "react/display-name",
239
- "react/forbid-prop-types",
240
- "react/forward-ref-uses-ref",
241
- "react/hook-use-state",
242
- "react/iframe-missing-sandbox",
243
- "react/jsx-boolean-value",
244
- "react/jsx-filename-extension",
245
- "react/jsx-fragments",
246
- "react/jsx-key",
247
- "react/jsx-no-comment-textnodes",
248
- "react/jsx-no-constructed-context-values",
249
- "react/jsx-no-duplicate-props",
250
- "react/jsx-no-leaked-render",
251
- "react/jsx-no-script-url",
252
- "react/jsx-no-target-blank",
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/prop-types",
279
- "react/void-dom-elements-no-children"
280
- ];
281
- const name$15 = "@eslint-react/disable-conflict-eslint-plugin-react";
282
- const rules$16 = Object.fromEntries(conflictingRules$1.map((key) => [key, "off"]));
235
+ const name$14 = "@eslint-react/disable-conflict-eslint-plugin-react";
236
+ const rules$15 = react.configs["disable-conflict-eslint-plugin-react"].rules ?? {};
283
237
 
284
238
  //#endregion
285
239
  //#region src/configs/disable-conflict-eslint-plugin-react-hooks.ts
286
240
  var disable_conflict_eslint_plugin_react_hooks_exports = /* @__PURE__ */ __exportAll({
287
- name: () => name$14,
288
- rules: () => rules$15
241
+ name: () => name$13,
242
+ rules: () => rules$14
289
243
  });
290
- const conflictingRules = [
291
- "react-hooks/exhaustive-deps",
292
- "react-hooks/rules-of-hooks",
293
- "react-hooks/component-hook-factories",
294
- "react-hooks/error-boundaries",
295
- "react-hooks/immutability",
296
- "react-hooks/purity",
297
- "react-hooks/refs",
298
- "react-hooks/set-state-in-effect",
299
- "react-hooks/set-state-in-render",
300
- "react-hooks/static-components",
301
- "react-hooks/unsupported-syntax",
302
- "react-hooks/use-memo"
303
- ];
304
- const name$14 = "@eslint-react/disable-conflict-eslint-plugin-react-hooks";
305
- const rules$15 = Object.fromEntries(conflictingRules.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 ?? {};
306
246
 
307
247
  //#endregion
308
248
  //#region src/configs/disable-dom.ts
309
249
  var disable_dom_exports = /* @__PURE__ */ __exportAll({
310
- name: () => name$13,
311
- rules: () => rules$14
250
+ name: () => name$12,
251
+ rules: () => rules$13
312
252
  });
313
- const name$13 = "@eslint-react/disable-dom";
314
- const rules$14 = Object.fromEntries(Object.entries(rules$20).map(([key]) => [key, "off"]));
253
+ const name$12 = "@eslint-react/disable-dom";
254
+ const rules$13 = Object.fromEntries(Object.entries(rules$19).map(([key]) => [key, "off"]));
315
255
 
316
256
  //#endregion
317
257
  //#region src/configs/disable-experimental.ts
318
258
  var disable_experimental_exports = /* @__PURE__ */ __exportAll({
319
- name: () => name$12,
320
- rules: () => rules$13
259
+ name: () => name$11,
260
+ rules: () => rules$12
321
261
  });
322
- const name$12 = "@eslint-react/disable-experimental";
323
- const rules$13 = {
262
+ const name$11 = "@eslint-react/disable-experimental";
263
+ const rules$12 = {
324
264
  "@eslint-react/exhaustive-deps": "off",
325
265
  "@eslint-react/jsx-key-before-spread": "off",
326
266
  "@eslint-react/no-duplicate-key": "off",
@@ -338,20 +278,20 @@ const rules$13 = {
338
278
  //#endregion
339
279
  //#region src/configs/disable-rsc.ts
340
280
  var disable_rsc_exports = /* @__PURE__ */ __exportAll({
341
- name: () => name$11,
342
- rules: () => rules$12
281
+ name: () => name$10,
282
+ rules: () => rules$11
343
283
  });
344
- const name$11 = "@eslint-react/disable-rsc";
345
- const rules$12 = Object.fromEntries(Object.entries(rules$19).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"]));
346
286
 
347
287
  //#endregion
348
288
  //#region src/configs/disable-type-checked.ts
349
289
  var disable_type_checked_exports = /* @__PURE__ */ __exportAll({
350
- name: () => name$10,
351
- rules: () => rules$11
290
+ name: () => name$9,
291
+ rules: () => rules$10
352
292
  });
353
- const name$10 = "@eslint-react/disable-type-checked";
354
- const rules$11 = {
293
+ const name$9 = "@eslint-react/disable-type-checked";
294
+ const rules$10 = {
355
295
  "@eslint-react/no-implicit-key": "off",
356
296
  "@eslint-react/no-leaked-conditional-rendering": "off",
357
297
  "@eslint-react/no-unused-props": "off"
@@ -360,53 +300,29 @@ const rules$11 = {
360
300
  //#endregion
361
301
  //#region src/configs/web-api.ts
362
302
  var web_api_exports = /* @__PURE__ */ __exportAll({
363
- name: () => name$9,
364
- plugins: () => plugins$7,
365
- rules: () => rules$10,
303
+ name: () => name$8,
304
+ plugins: () => plugins$6,
305
+ rules: () => rules$9,
366
306
  settings: () => settings$6
367
307
  });
368
- const name$9 = "@eslint-react/web-api";
369
- const rules$10 = {
308
+ const name$8 = "@eslint-react/web-api";
309
+ const rules$9 = {
370
310
  "@eslint-react/web-api/no-leaked-event-listener": "warn",
371
311
  "@eslint-react/web-api/no-leaked-interval": "warn",
372
312
  "@eslint-react/web-api/no-leaked-resize-observer": "warn",
373
313
  "@eslint-react/web-api/no-leaked-timeout": "warn"
374
314
  };
375
- const plugins$7 = { "@eslint-react/web-api": reactWebApi };
315
+ const plugins$6 = { "@eslint-react/web-api": reactWebApi };
376
316
  const settings$6 = { ...settings$8 };
377
317
 
378
318
  //#endregion
379
319
  //#region src/configs/disable-web-api.ts
380
320
  var disable_web_api_exports = /* @__PURE__ */ __exportAll({
381
- name: () => name$8,
382
- rules: () => rules$9
383
- });
384
- const name$8 = "@eslint-react/disable-web-api";
385
- const rules$9 = Object.fromEntries(Object.entries(rules$10).map(([key]) => [key, "off"]));
386
-
387
- //#endregion
388
- //#region src/configs/no-deprecated.ts
389
- var no_deprecated_exports = /* @__PURE__ */ __exportAll({
390
321
  name: () => name$7,
391
- plugins: () => plugins$6,
392
322
  rules: () => rules$8
393
323
  });
394
- const name$7 = "@eslint-react/no-deprecated";
395
- const rules$8 = {
396
- "@eslint-react/no-component-will-mount": "error",
397
- "@eslint-react/no-component-will-receive-props": "error",
398
- "@eslint-react/no-component-will-update": "error",
399
- "@eslint-react/no-create-ref": "error",
400
- "@eslint-react/no-forward-ref": "error",
401
- "@eslint-react/dom/no-find-dom-node": "error",
402
- "@eslint-react/dom/no-hydrate": "error",
403
- "@eslint-react/dom/no-render": "error",
404
- "@eslint-react/dom/no-render-return-value": "error"
405
- };
406
- const plugins$6 = {
407
- ...plugins$9,
408
- ...plugins$11
409
- };
324
+ const name$7 = "@eslint-react/disable-web-api";
325
+ const rules$8 = Object.fromEntries(Object.entries(rules$9).map(([key]) => [key, "off"]));
410
326
 
411
327
  //#endregion
412
328
  //#region src/configs/off.ts
@@ -416,8 +332,8 @@ var off_exports = /* @__PURE__ */ __exportAll({
416
332
  });
417
333
  const name$6 = "@eslint-react/off";
418
334
  const rules$7 = {
419
- ...Object.fromEntries(Object.entries(rules$17).map(([key]) => [key, "off"])),
420
- ...rules$11
335
+ ...Object.fromEntries(Object.entries(rules$16).map(([key]) => [key, "off"])),
336
+ ...rules$10
421
337
  };
422
338
 
423
339
  //#endregion
@@ -430,20 +346,20 @@ var recommended_exports = /* @__PURE__ */ __exportAll({
430
346
  });
431
347
  const name$5 = "@eslint-react/recommended";
432
348
  const rules$6 = {
349
+ ...rules$17,
433
350
  ...rules$18,
434
351
  ...rules$19,
435
- ...rules$20,
436
- ...rules$10,
352
+ ...rules$9,
437
353
  "@eslint-react/naming-convention/context-name": "warn",
438
354
  "@eslint-react/naming-convention/id-name": "warn",
439
355
  "@eslint-react/naming-convention/ref-name": "warn",
440
356
  "@eslint-react/use-state": "warn"
441
357
  };
442
358
  const plugins$5 = {
359
+ ...plugins$8,
443
360
  ...plugins$9,
444
361
  ...plugins$10,
445
- ...plugins$11,
446
- ...plugins$7,
362
+ ...plugins$6,
447
363
  "@eslint-react/naming-convention": reactNamingConvention
448
364
  };
449
365
  const settings$5 = { ...settings$8 };
@@ -560,7 +476,7 @@ const settings = { ...settings$1 };
560
476
  //#region src/index.ts
561
477
  const plugin = {
562
478
  meta: {
563
- name: name$20,
479
+ name: name$19,
564
480
  version
565
481
  },
566
482
  configs: {
@@ -573,7 +489,6 @@ const plugin = {
573
489
  ["disable-type-checked"]: disable_type_checked_exports,
574
490
  ["disable-web-api"]: disable_web_api_exports,
575
491
  ["dom"]: dom_exports,
576
- ["no-deprecated"]: no_deprecated_exports,
577
492
  ["off"]: off_exports,
578
493
  ["recommended"]: recommended_exports,
579
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.64",
3
+ "version": "3.0.0-next.65",
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,13 +46,13 @@
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.64",
50
- "@eslint-react/shared": "3.0.0-next.64",
51
- "eslint-plugin-react-dom": "3.0.0-next.64",
52
- "eslint-plugin-react-naming-convention": "3.0.0-next.64",
53
- "eslint-plugin-react-rsc": "3.0.0-next.64",
54
- "eslint-plugin-react-x": "3.0.0-next.64",
55
- "eslint-plugin-react-web-api": "3.0.0-next.64"
49
+ "@eslint-react/eff": "3.0.0-next.65",
50
+ "@eslint-react/shared": "3.0.0-next.65",
51
+ "eslint-plugin-react-naming-convention": "3.0.0-next.65",
52
+ "eslint-plugin-react-x": "3.0.0-next.65",
53
+ "eslint-plugin-react-dom": "3.0.0-next.65",
54
+ "eslint-plugin-react-rsc": "3.0.0-next.65",
55
+ "eslint-plugin-react-web-api": "3.0.0-next.65"
56
56
  },
57
57
  "devDependencies": {
58
58
  "tsdown": "^0.21.0-beta.2",