@eslint-react/eslint-plugin 1.7.1-next.1 → 1.7.1

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
@@ -27,7 +27,7 @@ A series of composable ESLint rules rewritten from scratch for libraries and fra
27
27
 
28
28
  ### Mono plugins (will be available in 2.0)
29
29
 
30
- - [`eslint-plugin-react-x`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) - Core rules (DOM Irrelevant, Render Target Agnostic, Formatting Independent).
30
+ - [`eslint-plugin-react-x`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) - Core rules (regardless of render target, compatible with x-platform).
31
31
  - [`eslint-plugin-react-dom`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) - DOM specific rules for React DOM.
32
32
  - [`eslint-plugin-react-hooks-extra`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-hooks-extra) - Extra React Hooks rules.
33
33
  - [`eslint-plugin-react-naming-convention`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-naming-convention) - Naming convention rules.
@@ -106,6 +106,8 @@ Add the plugin to your `.eslintrc.json`:
106
106
 
107
107
  ## Presets
108
108
 
109
+ #### Flat Config
110
+
109
111
  - **recommended**\
110
112
  Enable rules that are recommended by ESLint React.
111
113
  - **recommended-type-checked**\
@@ -117,11 +119,24 @@ Add the plugin to your `.eslintrc.json`:
117
119
  - **off**\
118
120
  Disable all rules in this plugin except for debug rules.
119
121
 
120
- [Full Presets List↗](https://eslint-react.xyz/presets/overview)
122
+ #### Legacy Config
123
+
124
+ - **recommended-legacy**\
125
+ Enable rules that are recommended by ESLint React.
126
+ - **recommended-type-checked-legacy**\
127
+ Enable rules that are recommended by ESLint React with additional rules that require type information.
128
+ - **dom-legacy**\
129
+ Enable rules that are specific to React DOM.
130
+ - **off-dom-legacy**\
131
+ Disable rules that are specific to React DOM.
132
+ - **off-legacy**\
133
+ Disable all rules in this plugin except for debug rules.
134
+
135
+ [Full Presets List↗](https://eslint-react.xyz/docs/presets)
121
136
 
122
137
  ## Rules
123
138
 
124
- [Rules Overview ↗](https://eslint-react.xyz/rules/overview)
139
+ [Rules Overview ↗](https://eslint-react.xyz/docs/rules/overview)
125
140
 
126
141
  ## FAQ
127
142
 
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _typescript_eslint_utils_ts_eslint from '@typescript-eslint/utils/ts-eslint';
2
- import * as _eslint_react_shared from '@eslint-react/shared';
2
+ import { ESLintReactSettings } from '@eslint-react/shared';
3
3
  import * as reactDebug from 'eslint-plugin-react-debug';
4
4
  import * as reactDom from 'eslint-plugin-react-dom';
5
5
  import * as reactHooksExtra from 'eslint-plugin-react-hooks-extra';
@@ -86,7 +86,7 @@ declare const _default: {
86
86
  readonly "@eslint-react/naming-convention/use-state": "warn";
87
87
  };
88
88
  readonly settings: {
89
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
89
+ readonly "react-x": ESLintReactSettings;
90
90
  };
91
91
  };
92
92
  readonly debug: {
@@ -103,7 +103,7 @@ declare const _default: {
103
103
  readonly "@eslint-react/debug/react-hooks": "warn";
104
104
  };
105
105
  readonly settings: {
106
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
106
+ readonly "react-x": ESLintReactSettings;
107
107
  };
108
108
  };
109
109
  readonly dom: {
@@ -127,7 +127,7 @@ declare const _default: {
127
127
  readonly "@eslint-react/dom/no-unsafe-target-blank": "warn";
128
128
  };
129
129
  readonly settings: {
130
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
130
+ readonly "react-x": ESLintReactSettings;
131
131
  };
132
132
  };
133
133
  readonly off: {
@@ -204,7 +204,7 @@ declare const _default: {
204
204
  "@eslint-react/naming-convention/use-state"?: "off";
205
205
  };
206
206
  readonly settings: {
207
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
207
+ readonly "react-x": ESLintReactSettings;
208
208
  };
209
209
  };
210
210
  readonly "off-dom": {
@@ -228,7 +228,7 @@ declare const _default: {
228
228
  "@eslint-react/dom/no-unsafe-target-blank"?: "off";
229
229
  };
230
230
  readonly settings: {
231
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
231
+ readonly "react-x": ESLintReactSettings;
232
232
  };
233
233
  };
234
234
  readonly recommended: {
@@ -286,7 +286,7 @@ declare const _default: {
286
286
  readonly "@eslint-react/hooks-extra/prefer-use-state-lazy-initialization": "warn";
287
287
  };
288
288
  readonly settings: {
289
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
289
+ readonly "react-x": ESLintReactSettings;
290
290
  };
291
291
  };
292
292
  readonly "recommended-type-checked": {
@@ -345,7 +345,7 @@ declare const _default: {
345
345
  readonly "@eslint-react/hooks-extra/prefer-use-state-lazy-initialization": "warn";
346
346
  };
347
347
  readonly settings: {
348
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
348
+ readonly "react-x": ESLintReactSettings;
349
349
  };
350
350
  };
351
351
  readonly "all-legacy": {
@@ -416,7 +416,7 @@ declare const _default: {
416
416
  readonly "@eslint-react/naming-convention/use-state": "warn";
417
417
  };
418
418
  readonly settings: {
419
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
419
+ readonly "react-x": ESLintReactSettings;
420
420
  };
421
421
  };
422
422
  readonly "debug-legacy": {
@@ -427,7 +427,7 @@ declare const _default: {
427
427
  readonly "@eslint-react/debug/react-hooks": "warn";
428
428
  };
429
429
  readonly settings: {
430
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
430
+ readonly "react-x": ESLintReactSettings;
431
431
  };
432
432
  };
433
433
  readonly "dom-legacy": {
@@ -445,7 +445,7 @@ declare const _default: {
445
445
  readonly "@eslint-react/dom/no-unsafe-target-blank": "warn";
446
446
  };
447
447
  readonly settings: {
448
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
448
+ readonly "react-x": ESLintReactSettings;
449
449
  };
450
450
  };
451
451
  readonly "off-dom-legacy": {
@@ -463,7 +463,7 @@ declare const _default: {
463
463
  "@eslint-react/dom/no-unsafe-target-blank"?: "off";
464
464
  };
465
465
  readonly settings: {
466
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
466
+ readonly "react-x": ESLintReactSettings;
467
467
  };
468
468
  };
469
469
  readonly "off-legacy": {
@@ -534,7 +534,7 @@ declare const _default: {
534
534
  "@eslint-react/naming-convention/use-state"?: "off";
535
535
  };
536
536
  readonly settings: {
537
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
537
+ readonly "react-x": ESLintReactSettings;
538
538
  };
539
539
  };
540
540
  readonly "recommended-legacy": {
@@ -586,7 +586,7 @@ declare const _default: {
586
586
  readonly "@eslint-react/hooks-extra/prefer-use-state-lazy-initialization": "warn";
587
587
  };
588
588
  readonly settings: {
589
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
589
+ readonly "react-x": ESLintReactSettings;
590
590
  };
591
591
  };
592
592
  readonly "recommended-type-checked-legacy": {
@@ -639,7 +639,7 @@ declare const _default: {
639
639
  readonly "@eslint-react/hooks-extra/prefer-use-state-lazy-initialization": "warn";
640
640
  };
641
641
  readonly settings: {
642
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
642
+ readonly "react-x": ESLintReactSettings;
643
643
  };
644
644
  };
645
645
  };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _typescript_eslint_utils_ts_eslint from '@typescript-eslint/utils/ts-eslint';
2
- import * as _eslint_react_shared from '@eslint-react/shared';
2
+ import { ESLintReactSettings } from '@eslint-react/shared';
3
3
  import * as reactDebug from 'eslint-plugin-react-debug';
4
4
  import * as reactDom from 'eslint-plugin-react-dom';
5
5
  import * as reactHooksExtra from 'eslint-plugin-react-hooks-extra';
@@ -86,7 +86,7 @@ declare const _default: {
86
86
  readonly "@eslint-react/naming-convention/use-state": "warn";
87
87
  };
88
88
  readonly settings: {
89
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
89
+ readonly "react-x": ESLintReactSettings;
90
90
  };
91
91
  };
92
92
  readonly debug: {
@@ -103,7 +103,7 @@ declare const _default: {
103
103
  readonly "@eslint-react/debug/react-hooks": "warn";
104
104
  };
105
105
  readonly settings: {
106
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
106
+ readonly "react-x": ESLintReactSettings;
107
107
  };
108
108
  };
109
109
  readonly dom: {
@@ -127,7 +127,7 @@ declare const _default: {
127
127
  readonly "@eslint-react/dom/no-unsafe-target-blank": "warn";
128
128
  };
129
129
  readonly settings: {
130
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
130
+ readonly "react-x": ESLintReactSettings;
131
131
  };
132
132
  };
133
133
  readonly off: {
@@ -204,7 +204,7 @@ declare const _default: {
204
204
  "@eslint-react/naming-convention/use-state"?: "off";
205
205
  };
206
206
  readonly settings: {
207
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
207
+ readonly "react-x": ESLintReactSettings;
208
208
  };
209
209
  };
210
210
  readonly "off-dom": {
@@ -228,7 +228,7 @@ declare const _default: {
228
228
  "@eslint-react/dom/no-unsafe-target-blank"?: "off";
229
229
  };
230
230
  readonly settings: {
231
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
231
+ readonly "react-x": ESLintReactSettings;
232
232
  };
233
233
  };
234
234
  readonly recommended: {
@@ -286,7 +286,7 @@ declare const _default: {
286
286
  readonly "@eslint-react/hooks-extra/prefer-use-state-lazy-initialization": "warn";
287
287
  };
288
288
  readonly settings: {
289
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
289
+ readonly "react-x": ESLintReactSettings;
290
290
  };
291
291
  };
292
292
  readonly "recommended-type-checked": {
@@ -345,7 +345,7 @@ declare const _default: {
345
345
  readonly "@eslint-react/hooks-extra/prefer-use-state-lazy-initialization": "warn";
346
346
  };
347
347
  readonly settings: {
348
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
348
+ readonly "react-x": ESLintReactSettings;
349
349
  };
350
350
  };
351
351
  readonly "all-legacy": {
@@ -416,7 +416,7 @@ declare const _default: {
416
416
  readonly "@eslint-react/naming-convention/use-state": "warn";
417
417
  };
418
418
  readonly settings: {
419
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
419
+ readonly "react-x": ESLintReactSettings;
420
420
  };
421
421
  };
422
422
  readonly "debug-legacy": {
@@ -427,7 +427,7 @@ declare const _default: {
427
427
  readonly "@eslint-react/debug/react-hooks": "warn";
428
428
  };
429
429
  readonly settings: {
430
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
430
+ readonly "react-x": ESLintReactSettings;
431
431
  };
432
432
  };
433
433
  readonly "dom-legacy": {
@@ -445,7 +445,7 @@ declare const _default: {
445
445
  readonly "@eslint-react/dom/no-unsafe-target-blank": "warn";
446
446
  };
447
447
  readonly settings: {
448
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
448
+ readonly "react-x": ESLintReactSettings;
449
449
  };
450
450
  };
451
451
  readonly "off-dom-legacy": {
@@ -463,7 +463,7 @@ declare const _default: {
463
463
  "@eslint-react/dom/no-unsafe-target-blank"?: "off";
464
464
  };
465
465
  readonly settings: {
466
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
466
+ readonly "react-x": ESLintReactSettings;
467
467
  };
468
468
  };
469
469
  readonly "off-legacy": {
@@ -534,7 +534,7 @@ declare const _default: {
534
534
  "@eslint-react/naming-convention/use-state"?: "off";
535
535
  };
536
536
  readonly settings: {
537
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
537
+ readonly "react-x": ESLintReactSettings;
538
538
  };
539
539
  };
540
540
  readonly "recommended-legacy": {
@@ -586,7 +586,7 @@ declare const _default: {
586
586
  readonly "@eslint-react/hooks-extra/prefer-use-state-lazy-initialization": "warn";
587
587
  };
588
588
  readonly settings: {
589
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
589
+ readonly "react-x": ESLintReactSettings;
590
590
  };
591
591
  };
592
592
  readonly "recommended-type-checked-legacy": {
@@ -639,7 +639,7 @@ declare const _default: {
639
639
  readonly "@eslint-react/hooks-extra/prefer-use-state-lazy-initialization": "warn";
640
640
  };
641
641
  readonly settings: {
642
- readonly "react-x": _eslint_react_shared.ESLintReactSettings;
642
+ readonly "react-x": ESLintReactSettings;
643
643
  };
644
644
  };
645
645
  };
package/dist/index.js CHANGED
@@ -38,7 +38,7 @@ var R__namespace = /*#__PURE__*/_interopNamespace(R);
38
38
 
39
39
  // package.json
40
40
  var name = "@eslint-react/eslint-plugin";
41
- var version = "1.7.1-next.1";
41
+ var version = "1.7.1";
42
42
  function transformKeys(obj, transform) {
43
43
  if (tools.typeOf(obj) !== "object") return obj;
44
44
  const res = {};
@@ -209,6 +209,21 @@ var domPreset = {
209
209
  "dom/no-unsafe-iframe-sandbox": "warn",
210
210
  "dom/no-unsafe-target-blank": "warn"
211
211
  };
212
+ var domPresetSettings = {
213
+ ...shared.DEFAULT_ESLINT_REACT_SETTINGS,
214
+ additionalComponents: [
215
+ {
216
+ name: "Link",
217
+ as: "a",
218
+ attributes: [
219
+ {
220
+ name: "to",
221
+ as: "href"
222
+ }
223
+ ]
224
+ }
225
+ ]
226
+ };
212
227
  var debugPreset = {
213
228
  "debug/class-component": "warn",
214
229
  "debug/function-component": "warn",
@@ -225,21 +240,22 @@ var flatConfigPlugins = {
225
240
  "@eslint-react/hooks-extra": reactHooksExtra__namespace,
226
241
  "@eslint-react/naming-convention": reactNamingConvention__namespace
227
242
  };
228
- var settings = {
229
- "react-x": shared.DEFAULT_ESLINT_REACT_SETTINGS
230
- };
231
- function createLegacyConfig(rules6, plugins = legacyConfigPlugins) {
243
+ function createLegacyConfig(rules6, settings = shared.DEFAULT_ESLINT_REACT_SETTINGS) {
232
244
  return {
233
- plugins,
245
+ plugins: legacyConfigPlugins,
234
246
  rules: padKeysLeft(rules6, "@eslint-react/"),
235
- settings
247
+ settings: {
248
+ "react-x": settings
249
+ }
236
250
  };
237
251
  }
238
- function createFlatConfig(rules6, plugins = flatConfigPlugins) {
252
+ function createFlatConfig(rules6, settings = shared.DEFAULT_ESLINT_REACT_SETTINGS) {
239
253
  return {
240
- plugins,
254
+ plugins: flatConfigPlugins,
241
255
  rules: padKeysLeft(rules6, "@eslint-react/"),
242
- settings
256
+ settings: {
257
+ "react-x": settings
258
+ }
243
259
  };
244
260
  }
245
261
  var src_default = {
@@ -250,7 +266,7 @@ var src_default = {
250
266
  configs: {
251
267
  all: createFlatConfig(allPreset),
252
268
  debug: createFlatConfig(debugPreset),
253
- dom: createFlatConfig(domPreset),
269
+ dom: createFlatConfig(domPreset, domPresetSettings),
254
270
  off: createFlatConfig(offPreset),
255
271
  "off-dom": createFlatConfig(offDomPreset),
256
272
  recommended: createFlatConfig(recommendedPreset),
package/dist/index.mjs CHANGED
@@ -11,7 +11,7 @@ import { typeOf } from '@eslint-react/tools';
11
11
 
12
12
  // package.json
13
13
  var name = "@eslint-react/eslint-plugin";
14
- var version = "1.7.1-next.1";
14
+ var version = "1.7.1";
15
15
  function transformKeys(obj, transform) {
16
16
  if (typeOf(obj) !== "object") return obj;
17
17
  const res = {};
@@ -182,6 +182,21 @@ var domPreset = {
182
182
  "dom/no-unsafe-iframe-sandbox": "warn",
183
183
  "dom/no-unsafe-target-blank": "warn"
184
184
  };
185
+ var domPresetSettings = {
186
+ ...DEFAULT_ESLINT_REACT_SETTINGS,
187
+ additionalComponents: [
188
+ {
189
+ name: "Link",
190
+ as: "a",
191
+ attributes: [
192
+ {
193
+ name: "to",
194
+ as: "href"
195
+ }
196
+ ]
197
+ }
198
+ ]
199
+ };
185
200
  var debugPreset = {
186
201
  "debug/class-component": "warn",
187
202
  "debug/function-component": "warn",
@@ -198,21 +213,22 @@ var flatConfigPlugins = {
198
213
  "@eslint-react/hooks-extra": reactHooksExtra,
199
214
  "@eslint-react/naming-convention": reactNamingConvention
200
215
  };
201
- var settings = {
202
- "react-x": DEFAULT_ESLINT_REACT_SETTINGS
203
- };
204
- function createLegacyConfig(rules6, plugins = legacyConfigPlugins) {
216
+ function createLegacyConfig(rules6, settings = DEFAULT_ESLINT_REACT_SETTINGS) {
205
217
  return {
206
- plugins,
218
+ plugins: legacyConfigPlugins,
207
219
  rules: padKeysLeft(rules6, "@eslint-react/"),
208
- settings
220
+ settings: {
221
+ "react-x": settings
222
+ }
209
223
  };
210
224
  }
211
- function createFlatConfig(rules6, plugins = flatConfigPlugins) {
225
+ function createFlatConfig(rules6, settings = DEFAULT_ESLINT_REACT_SETTINGS) {
212
226
  return {
213
- plugins,
227
+ plugins: flatConfigPlugins,
214
228
  rules: padKeysLeft(rules6, "@eslint-react/"),
215
- settings
229
+ settings: {
230
+ "react-x": settings
231
+ }
216
232
  };
217
233
  }
218
234
  var src_default = {
@@ -223,7 +239,7 @@ var src_default = {
223
239
  configs: {
224
240
  all: createFlatConfig(allPreset),
225
241
  debug: createFlatConfig(debugPreset),
226
- dom: createFlatConfig(domPreset),
242
+ dom: createFlatConfig(domPreset, domPresetSettings),
227
243
  off: createFlatConfig(offPreset),
228
244
  "off-dom": createFlatConfig(offDomPreset),
229
245
  recommended: createFlatConfig(recommendedPreset),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eslint-react/eslint-plugin",
3
- "version": "1.7.1-next.1",
3
+ "version": "1.7.1",
4
4
  "description": "The main ESLint plugin of ESLint React. Contains all the rules and presets of ESLint React.",
5
5
  "keywords": [
6
6
  "eslint",
@@ -51,14 +51,14 @@
51
51
  "@typescript-eslint/types": "^7.18.0",
52
52
  "@typescript-eslint/utils": "^7.18.0",
53
53
  "remeda": "^2.6.0",
54
- "@eslint-react/shared": "1.7.1-next.1",
55
- "@eslint-react/types": "1.7.1-next.1",
56
- "@eslint-react/tools": "1.7.1-next.1",
57
- "eslint-plugin-react-debug": "1.7.1-next.1",
58
- "eslint-plugin-react-naming-convention": "1.7.1-next.1",
59
- "eslint-plugin-react-hooks-extra": "1.7.1-next.1",
60
- "eslint-plugin-react-x": "1.7.1-next.1",
61
- "eslint-plugin-react-dom": "1.7.1-next.1"
54
+ "@eslint-react/shared": "1.7.1",
55
+ "@eslint-react/tools": "1.7.1",
56
+ "@eslint-react/types": "1.7.1",
57
+ "eslint-plugin-react-dom": "1.7.1",
58
+ "eslint-plugin-react-debug": "1.7.1",
59
+ "eslint-plugin-react-naming-convention": "1.7.1",
60
+ "eslint-plugin-react-x": "1.7.1",
61
+ "eslint-plugin-react-hooks-extra": "1.7.1"
62
62
  },
63
63
  "devDependencies": {
64
64
  "tsup": "8.2.3"