@eslint-react/eslint-plugin 2.0.0-next.11 → 2.0.0-next.120

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import reactDebug from 'eslint-plugin-react-debug';
2
2
  import reactDom from 'eslint-plugin-react-dom';
3
+ import reactHooksExtra from 'eslint-plugin-react-hooks-extra';
3
4
  import reactNamingConvention from 'eslint-plugin-react-naming-convention';
4
5
  import reactWebApi from 'eslint-plugin-react-web-api';
5
6
  import react from 'eslint-plugin-react-x';
@@ -7,13 +8,13 @@ import { DEFAULT_ESLINT_REACT_SETTINGS } from '@eslint-react/shared';
7
8
 
8
9
  var __defProp = Object.defineProperty;
9
10
  var __export = (target, all) => {
10
- for (var name14 in all)
11
- __defProp(target, name14, { get: all[name14], enumerable: true });
11
+ for (var name15 in all)
12
+ __defProp(target, name15, { get: all[name15], enumerable: true });
12
13
  };
13
14
 
14
15
  // package.json
15
16
  var name = "@eslint-react/eslint-plugin";
16
- var version = "2.0.0-next.11";
17
+ var version = "2.0.0-next.120";
17
18
 
18
19
  // src/configs/all.ts
19
20
  var all_exports = {};
@@ -69,7 +70,10 @@ var name3 = "@eslint-react/x";
69
70
  var rules2 = {
70
71
  "@eslint-react/jsx-no-comment-textnodes": "warn",
71
72
  "@eslint-react/jsx-no-duplicate-props": "warn",
73
+ // "@eslint-react/jsx-no-iife": "warn",
72
74
  // "@eslint-react/jsx-no-undef": "error",
75
+ // "@eslint-react/jsx-shorthand-boolean": "warn",
76
+ // "@eslint-react/jsx-shorthand-fragment": "warn",
73
77
  "@eslint-react/jsx-uses-react": "warn",
74
78
  "@eslint-react/jsx-uses-vars": "warn",
75
79
  "@eslint-react/no-access-state-in-setstate": "error",
@@ -82,6 +86,7 @@ var rules2 = {
82
86
  "@eslint-react/no-children-to-array": "warn",
83
87
  // "@eslint-react/no-class-component": "warn",
84
88
  "@eslint-react/no-clone-element": "warn",
89
+ "@eslint-react/no-comment-textnodes": "warn",
85
90
  "@eslint-react/no-component-will-mount": "error",
86
91
  "@eslint-react/no-component-will-receive-props": "error",
87
92
  "@eslint-react/no-component-will-update": "error",
@@ -89,25 +94,24 @@ var rules2 = {
89
94
  "@eslint-react/no-create-ref": "error",
90
95
  "@eslint-react/no-default-props": "error",
91
96
  "@eslint-react/no-direct-mutation-state": "error",
92
- // "@eslint-react/prefer-destructuring-assignment": "warn",
93
- // "@eslint-react/prefer-namespace-import": "warn",
94
- // "@eslint-react/prefer-read-only-props": "error",
95
- "@eslint-react/no-direct-set-state-in-use-effect": "warn",
96
- "@eslint-react/no-duplicate-key": "warn",
97
+ "@eslint-react/no-duplicate-key": "error",
97
98
  "@eslint-react/no-forward-ref": "warn",
98
99
  "@eslint-react/no-implicit-key": "warn",
100
+ // "@eslint-react/no-leaked-conditional-rendering": "warn",
99
101
  // "@eslint-react/no-missing-component-display-name": "warn",
100
102
  // "@eslint-react/no-missing-context-display-name": "warn",
101
103
  "@eslint-react/no-missing-key": "error",
102
104
  // "@eslint-react/no-misused-capture-owner-stack": "error",
103
105
  "@eslint-react/no-nested-component-definitions": "error",
104
- "@eslint-react/no-nested-lazy-component-declarations": "warn",
106
+ "@eslint-react/no-nested-lazy-component-declarations": "error",
105
107
  "@eslint-react/no-prop-types": "error",
106
108
  "@eslint-react/no-redundant-should-component-update": "error",
107
109
  "@eslint-react/no-set-state-in-component-did-mount": "warn",
108
110
  "@eslint-react/no-set-state-in-component-did-update": "warn",
109
111
  "@eslint-react/no-set-state-in-component-will-update": "warn",
110
112
  "@eslint-react/no-string-refs": "error",
113
+ // "@eslint-react/no-unnecessary-use-callback": "warn",
114
+ // "@eslint-react/no-unnecessary-use-memo": "warn",
111
115
  "@eslint-react/no-unnecessary-use-prefix": "warn",
112
116
  "@eslint-react/no-unsafe-component-will-mount": "warn",
113
117
  "@eslint-react/no-unsafe-component-will-receive-props": "warn",
@@ -115,9 +119,14 @@ var rules2 = {
115
119
  "@eslint-react/no-unstable-context-value": "warn",
116
120
  "@eslint-react/no-unstable-default-props": "warn",
117
121
  "@eslint-react/no-unused-class-component-members": "warn",
122
+ // "@eslint-react/no-unused-props": "warn",
118
123
  "@eslint-react/no-unused-state": "warn",
119
124
  "@eslint-react/no-use-context": "warn",
120
125
  "@eslint-react/no-useless-forward-ref": "warn",
126
+ // "@eslint-react/no-useless-fragment": "warn",
127
+ // "@eslint-react/prefer-destructuring-assignment": "warn",
128
+ // "@eslint-react/prefer-namespace-import": "warn",
129
+ // "@eslint-react/prefer-read-only-props": "error",
121
130
  "@eslint-react/prefer-use-state-lazy-initialization": "warn"
122
131
  };
123
132
  var plugins2 = {
@@ -130,9 +139,13 @@ var settings2 = {
130
139
  // src/configs/all.ts
131
140
  var name4 = "@eslint-react/all";
132
141
  var rules3 = {
142
+ "@eslint-react/jsx-key-before-spread": "warn",
133
143
  "@eslint-react/jsx-no-comment-textnodes": "warn",
134
144
  "@eslint-react/jsx-no-duplicate-props": "warn",
145
+ "@eslint-react/jsx-no-iife": "warn",
135
146
  "@eslint-react/jsx-no-undef": "error",
147
+ "@eslint-react/jsx-shorthand-boolean": "warn",
148
+ "@eslint-react/jsx-shorthand-fragment": "warn",
136
149
  "@eslint-react/jsx-uses-react": "warn",
137
150
  "@eslint-react/jsx-uses-vars": "warn",
138
151
  "@eslint-react/no-access-state-in-setstate": "error",
@@ -145,6 +158,7 @@ var rules3 = {
145
158
  "@eslint-react/no-children-to-array": "warn",
146
159
  "@eslint-react/no-class-component": "warn",
147
160
  "@eslint-react/no-clone-element": "warn",
161
+ "@eslint-react/no-comment-textnodes": "warn",
148
162
  "@eslint-react/no-component-will-mount": "error",
149
163
  "@eslint-react/no-component-will-receive-props": "error",
150
164
  "@eslint-react/no-component-will-update": "error",
@@ -152,17 +166,16 @@ var rules3 = {
152
166
  "@eslint-react/no-create-ref": "error",
153
167
  "@eslint-react/no-default-props": "error",
154
168
  "@eslint-react/no-direct-mutation-state": "error",
155
- "@eslint-react/no-direct-set-state-in-use-effect": "warn",
156
- "@eslint-react/no-direct-set-state-in-use-layout-effect": "warn",
157
- "@eslint-react/no-duplicate-key": "warn",
169
+ "@eslint-react/no-duplicate-key": "error",
158
170
  "@eslint-react/no-forward-ref": "warn",
159
171
  "@eslint-react/no-implicit-key": "warn",
172
+ // "@eslint-react/no-leaked-conditional-rendering": "warn",
160
173
  "@eslint-react/no-missing-component-display-name": "warn",
161
174
  "@eslint-react/no-missing-context-display-name": "warn",
162
175
  "@eslint-react/no-missing-key": "error",
163
176
  "@eslint-react/no-misused-capture-owner-stack": "error",
164
177
  "@eslint-react/no-nested-component-definitions": "error",
165
- "@eslint-react/no-nested-lazy-component-declarations": "warn",
178
+ "@eslint-react/no-nested-lazy-component-declarations": "error",
166
179
  "@eslint-react/no-prop-types": "error",
167
180
  "@eslint-react/no-redundant-should-component-update": "error",
168
181
  "@eslint-react/no-set-state-in-component-did-mount": "warn",
@@ -178,12 +191,17 @@ var rules3 = {
178
191
  "@eslint-react/no-unstable-context-value": "warn",
179
192
  "@eslint-react/no-unstable-default-props": "warn",
180
193
  "@eslint-react/no-unused-class-component-members": "warn",
194
+ // "@eslint-react/no-unused-props": "warn",
181
195
  "@eslint-react/no-unused-state": "warn",
182
196
  "@eslint-react/no-use-context": "warn",
183
197
  "@eslint-react/no-useless-forward-ref": "warn",
198
+ "@eslint-react/no-useless-fragment": "warn",
184
199
  "@eslint-react/prefer-destructuring-assignment": "warn",
185
200
  "@eslint-react/prefer-namespace-import": "warn",
201
+ // "@eslint-react/prefer-read-only-props": "error",
186
202
  "@eslint-react/prefer-use-state-lazy-initialization": "warn",
203
+ "@eslint-react/hooks-extra/no-direct-set-state-in-use-effect": "warn",
204
+ "@eslint-react/hooks-extra/no-direct-set-state-in-use-layout-effect": "warn",
187
205
  "@eslint-react/dom/no-dangerously-set-innerhtml": "warn",
188
206
  "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": "error",
189
207
  "@eslint-react/dom/no-find-dom-node": "error",
@@ -214,6 +232,7 @@ var plugins3 = {
214
232
  ...plugins2,
215
233
  ...plugins,
216
234
  "@eslint-react/debug": reactDebug,
235
+ "@eslint-react/hooks-extra": reactHooksExtra,
217
236
  "@eslint-react/naming-convention": reactNamingConvention,
218
237
  "@eslint-react/web-api": reactWebApi
219
238
  };
@@ -240,43 +259,103 @@ var plugins4 = {
240
259
  "@eslint-react/debug": reactDebug
241
260
  };
242
261
 
262
+ // src/configs/disable-conflict-eslint-plugin-react.ts
263
+ var disable_conflict_eslint_plugin_react_exports = {};
264
+ __export(disable_conflict_eslint_plugin_react_exports, {
265
+ name: () => name6,
266
+ rules: () => rules5
267
+ });
268
+ var conflictingRules = [
269
+ "button-has-type",
270
+ "destructuring-assignment",
271
+ "display-name",
272
+ "forbid-prop-types",
273
+ "forward-ref-uses-ref",
274
+ "hook-use-state",
275
+ "iframe-missing-sandbox",
276
+ "jsx-boolean-value",
277
+ "jsx-filename-extension",
278
+ "jsx-fragments",
279
+ "jsx-key",
280
+ "jsx-no-comment-textnodes",
281
+ "jsx-no-constructed-context-values",
282
+ "jsx-no-duplicate-props",
283
+ "jsx-no-leaked-render",
284
+ "jsx-no-script-url",
285
+ "jsx-no-target-blank",
286
+ "jsx-no-undef",
287
+ "jsx-no-useless-fragment",
288
+ "jsx-pascal-case",
289
+ "jsx-uses-react",
290
+ "jsx-uses-vars",
291
+ "no-access-state-in-setstate",
292
+ "no-array-index-key",
293
+ "no-children-prop",
294
+ "no-danger",
295
+ "no-danger-with-children",
296
+ "no-deprecated",
297
+ "no-did-mount-set-state",
298
+ "no-did-update-set-state",
299
+ "no-direct-mutation-state",
300
+ "no-find-dom-node",
301
+ "no-namespace",
302
+ "no-object-type-as-default-prop",
303
+ "no-redundant-should-component-update",
304
+ "no-render-return-value",
305
+ "no-string-refs",
306
+ "no-unknown-property",
307
+ "no-unsafe",
308
+ "no-unstable-nested-components",
309
+ "no-unused-class-component-members",
310
+ "no-unused-state",
311
+ "no-will-update-set-state",
312
+ "prefer-read-only-props",
313
+ "prop-types",
314
+ "void-dom-elements-no-children"
315
+ ];
316
+ var name6 = "@eslint-react/disable-conflict-eslint-plugin-react";
317
+ var rules5 = Object.fromEntries(
318
+ Object.entries(conflictingRules).map(([key]) => [key, "off"])
319
+ );
320
+
243
321
  // src/configs/disable-debug.ts
244
322
  var disable_debug_exports = {};
245
323
  __export(disable_debug_exports, {
246
- name: () => name6,
247
- rules: () => rules5
324
+ name: () => name7,
325
+ rules: () => rules6
248
326
  });
249
- var name6 = "@eslint-react/disable-debug";
250
- var rules5 = Object.fromEntries(Object.entries(rules4).map(([rule]) => [rule, "off"]));
327
+ var name7 = "@eslint-react/disable-debug";
328
+ var rules6 = Object.fromEntries(Object.entries(rules4).map(([rule]) => [rule, "off"]));
251
329
 
252
330
  // src/configs/disable-dom.ts
253
331
  var disable_dom_exports = {};
254
332
  __export(disable_dom_exports, {
255
- name: () => name7,
256
- rules: () => rules6
333
+ name: () => name8,
334
+ rules: () => rules7
257
335
  });
258
- var name7 = "@eslint-react/disable-dom";
259
- var rules6 = Object.fromEntries(Object.entries(rules).map(([key]) => [key, "off"]));
336
+ var name8 = "@eslint-react/disable-dom";
337
+ var rules7 = Object.fromEntries(Object.entries(rules).map(([key]) => [key, "off"]));
260
338
 
261
339
  // src/configs/disable-type-checked.ts
262
340
  var disable_type_checked_exports = {};
263
341
  __export(disable_type_checked_exports, {
264
- name: () => name8,
265
- rules: () => rules7
342
+ name: () => name9,
343
+ rules: () => rules8
266
344
  });
267
- var name8 = "@eslint-react/disable-type-checked";
268
- var rules7 = {
345
+ var name9 = "@eslint-react/disable-type-checked";
346
+ var rules8 = {
269
347
  "@eslint-react/no-leaked-conditional-rendering": "off",
348
+ "@eslint-react/no-unused-props": "off",
270
349
  "@eslint-react/prefer-read-only-props": "off"
271
350
  };
272
351
 
273
352
  // src/configs/disable-web-api.ts
274
353
  var disable_web_api_exports = {};
275
354
  __export(disable_web_api_exports, {
276
- name: () => name9,
277
- rules: () => rules9
355
+ name: () => name10,
356
+ rules: () => rules10
278
357
  });
279
- var rules8 = {
358
+ var rules9 = {
280
359
  "@eslint-react/web-api/no-leaked-event-listener": "warn",
281
360
  "@eslint-react/web-api/no-leaked-interval": "warn",
282
361
  "@eslint-react/web-api/no-leaked-resize-observer": "warn",
@@ -287,34 +366,34 @@ var plugins5 = {
287
366
  };
288
367
 
289
368
  // src/configs/disable-web-api.ts
290
- var name9 = "@eslint-react/disable-web-api";
291
- var rules9 = Object.fromEntries(Object.entries(rules8).map(([key]) => [key, "off"]));
369
+ var name10 = "@eslint-react/disable-web-api";
370
+ var rules10 = Object.fromEntries(Object.entries(rules9).map(([key]) => [key, "off"]));
292
371
 
293
372
  // src/configs/off.ts
294
373
  var off_exports = {};
295
374
  __export(off_exports, {
296
- name: () => name10,
297
- rules: () => rules10
375
+ name: () => name11,
376
+ rules: () => rules11
298
377
  });
299
- var name10 = "@eslint-react/off";
300
- var rules10 = {
378
+ var name11 = "@eslint-react/off";
379
+ var rules11 = {
301
380
  ...Object.fromEntries(Object.entries(rules3).map(([key]) => [key, "off"])),
302
- ...rules7
381
+ ...rules8
303
382
  };
304
383
 
305
384
  // src/configs/recommended.ts
306
385
  var recommended_exports = {};
307
386
  __export(recommended_exports, {
308
- name: () => name11,
387
+ name: () => name12,
309
388
  plugins: () => plugins6,
310
- rules: () => rules11,
389
+ rules: () => rules12,
311
390
  settings: () => settings5
312
391
  });
313
- var name11 = "@eslint-react/recommended";
314
- var rules11 = {
392
+ var name12 = "@eslint-react/recommended";
393
+ var rules12 = {
315
394
  ...rules2,
316
395
  ...rules,
317
- ...rules8,
396
+ ...rules9,
318
397
  "@eslint-react/naming-convention/context-name": "warn"
319
398
  // "@eslint-react/naming-convention/use-state": "warn",
320
399
  };
@@ -323,6 +402,7 @@ var plugins6 = {
323
402
  ...plugins,
324
403
  ...plugins5,
325
404
  "@eslint-react/debug": reactDebug,
405
+ "@eslint-react/hooks-extra": reactHooksExtra,
326
406
  "@eslint-react/naming-convention": reactNamingConvention
327
407
  };
328
408
  var settings5 = {
@@ -332,23 +412,23 @@ var settings5 = {
332
412
  // src/configs/recommended-type-checked.ts
333
413
  var recommended_type_checked_exports = {};
334
414
  __export(recommended_type_checked_exports, {
335
- name: () => name13,
415
+ name: () => name14,
336
416
  plugins: () => plugins8,
337
- rules: () => rules13,
417
+ rules: () => rules14,
338
418
  settings: () => settings7
339
419
  });
340
420
 
341
421
  // src/configs/recommended-typescript.ts
342
422
  var recommended_typescript_exports = {};
343
423
  __export(recommended_typescript_exports, {
344
- name: () => name12,
424
+ name: () => name13,
345
425
  plugins: () => plugins7,
346
- rules: () => rules12,
426
+ rules: () => rules13,
347
427
  settings: () => settings6
348
428
  });
349
- var name12 = "@eslint-react/recommended-typescript";
350
- var rules12 = {
351
- ...rules11,
429
+ var name13 = "@eslint-react/recommended-typescript";
430
+ var rules13 = {
431
+ ...rules12,
352
432
  "@eslint-react/dom/no-unknown-property": "off",
353
433
  "@eslint-react/jsx-no-duplicate-props": "off",
354
434
  "@eslint-react/jsx-uses-react": "off",
@@ -362,9 +442,9 @@ var settings6 = {
362
442
  };
363
443
 
364
444
  // src/configs/recommended-type-checked.ts
365
- var name13 = "@eslint-react/recommended-type-checked";
366
- var rules13 = {
367
- ...rules12,
445
+ var name14 = "@eslint-react/recommended-type-checked";
446
+ var rules14 = {
447
+ ...rules13,
368
448
  "@eslint-react/no-leaked-conditional-rendering": "warn"
369
449
  // "@eslint-react/prefer-read-only-props": "warn",
370
450
  };
@@ -398,10 +478,10 @@ function padKeysLeft(obj, left) {
398
478
  }
399
479
 
400
480
  // src/index.ts
401
- function toLegacyConfig({ rules: rules14 }) {
481
+ function toLegacyConfig({ rules: rules15 }) {
402
482
  return {
403
483
  plugins: ["@eslint-react"],
404
- rules: rules14
484
+ rules: rules15
405
485
  };
406
486
  }
407
487
  var index_default = {
@@ -414,6 +494,8 @@ var index_default = {
414
494
  ["all-legacy"]: toLegacyConfig(all_exports),
415
495
  ["debug"]: debug_exports,
416
496
  ["debug-legacy"]: toLegacyConfig(debug_exports),
497
+ ["disable-conflict-eslint-plugin-react"]: disable_conflict_eslint_plugin_react_exports,
498
+ ["disable-conflict-eslint-plugin-react-legacy"]: toLegacyConfig(disable_conflict_eslint_plugin_react_exports),
417
499
  ["disable-debug"]: disable_debug_exports,
418
500
  ["disable-debug-legacy"]: toLegacyConfig(disable_debug_exports),
419
501
  ["disable-dom"]: disable_dom_exports,
@@ -439,6 +521,7 @@ var index_default = {
439
521
  ...react.rules,
440
522
  ...padKeysLeft(reactDom.rules, "dom/"),
441
523
  ...padKeysLeft(reactWebApi.rules, "web-api/"),
524
+ ...padKeysLeft(reactHooksExtra, "hooks-extra/"),
442
525
  ...padKeysLeft(reactNamingConvention.rules, "naming-convention/"),
443
526
  ...padKeysLeft(reactDebug.rules, "debug/")
444
527
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eslint-react/eslint-plugin",
3
- "version": "2.0.0-next.11",
3
+ "version": "2.0.0-next.120",
4
4
  "description": "A unified plugin that combines all individual plugins from the eslint-react monorepo into one.",
5
5
  "keywords": [
6
6
  "react",
@@ -37,25 +37,26 @@
37
37
  "./package.json"
38
38
  ],
39
39
  "dependencies": {
40
- "@typescript-eslint/scope-manager": "^8.31.1",
41
- "@typescript-eslint/type-utils": "^8.31.1",
42
- "@typescript-eslint/types": "^8.31.1",
43
- "@typescript-eslint/utils": "^8.31.1",
44
- "@eslint-react/eff": "2.0.0-next.11",
45
- "@eslint-react/shared": "2.0.0-next.11",
46
- "eslint-plugin-react-debug": "2.0.0-next.11",
47
- "eslint-plugin-react-dom": "2.0.0-next.11",
48
- "@eslint-react/kit": "2.0.0-next.11",
49
- "eslint-plugin-react-naming-convention": "2.0.0-next.11",
50
- "eslint-plugin-react-x": "2.0.0-next.11",
51
- "eslint-plugin-react-web-api": "2.0.0-next.11"
40
+ "@typescript-eslint/scope-manager": "^8.38.0",
41
+ "@typescript-eslint/type-utils": "^8.38.0",
42
+ "@typescript-eslint/types": "^8.38.0",
43
+ "@typescript-eslint/utils": "^8.38.0",
44
+ "@eslint-react/eff": "2.0.0-next.120",
45
+ "@eslint-react/shared": "2.0.0-next.120",
46
+ "@eslint-react/kit": "2.0.0-next.120",
47
+ "eslint-plugin-react-debug": "2.0.0-next.120",
48
+ "eslint-plugin-react-hooks-extra": "2.0.0-next.120",
49
+ "eslint-plugin-react-naming-convention": "2.0.0-next.120",
50
+ "eslint-plugin-react-web-api": "2.0.0-next.120",
51
+ "eslint-plugin-react-dom": "2.0.0-next.120",
52
+ "eslint-plugin-react-x": "2.0.0-next.120"
52
53
  },
53
54
  "devDependencies": {
54
- "tsup": "^8.4.0",
55
+ "tsup": "^8.5.0",
55
56
  "@local/configs": "0.0.0"
56
57
  },
57
58
  "peerDependencies": {
58
- "eslint": "^9.25.1",
59
+ "eslint": "^9.31.0",
59
60
  "typescript": "^4.9.5 || ^5.4.5"
60
61
  },
61
62
  "peerDependenciesMeta": {
@@ -67,7 +68,6 @@
67
68
  }
68
69
  },
69
70
  "engines": {
70
- "bun": ">=1.0.15",
71
71
  "node": ">=20.19.0"
72
72
  },
73
73
  "publishConfig": {