@eslint-react/eslint-plugin 1.9.2-next.6 → 1.10.0-beta.0

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
@@ -128,8 +128,10 @@ Add the plugin to your `.eslintrc.json`:
128
128
  _This preset includes the `recommended` preset._
129
129
  - **dom**\
130
130
  Enable rules that are specific to React DOM.
131
- - **off-dom**\
131
+ - **disable-dom**\
132
132
  Disable rules that are specific to React DOM.
133
+ - **disable-type-checked**\
134
+ Disable rules that require type information.
133
135
  - **off**\
134
136
  Disable all rules in this plugin except for debug rules.
135
137
 
@@ -148,8 +150,10 @@ Add the plugin to your `.eslintrc.json`:
148
150
  _This preset includes the `recommended-legacy` preset._
149
151
  - **dom-legacy**\
150
152
  Enable rules that are specific to React DOM.
151
- - **off-dom-legacy**\
153
+ - **disable-dom-legacy**\
152
154
  Disable rules that are specific to React DOM.
155
+ - **disable-type-checked-legacy**\
156
+ Disable rules that require type information.
153
157
  - **off-legacy**\
154
158
  Disable all rules in this plugin except for debug rules.
155
159
 
package/dist/index.d.mts CHANGED
@@ -460,6 +460,9 @@ declare const _default: {
460
460
  };
461
461
  };
462
462
  };
463
+ /**
464
+ * @deprecated Use `disable-dom` instead
465
+ */
463
466
  readonly "off-dom": {
464
467
  readonly plugins: {
465
468
  readonly "@eslint-react": typeof react;
@@ -492,6 +495,9 @@ declare const _default: {
492
495
  };
493
496
  };
494
497
  };
498
+ /**
499
+ * @deprecated Use `disable-dom-legacy` instead
500
+ */
495
501
  readonly "off-dom-legacy": {
496
502
  readonly plugins: readonly ["@eslint-react"];
497
503
  readonly rules: {
@@ -843,6 +849,104 @@ declare const _default: {
843
849
  };
844
850
  };
845
851
  };
852
+ readonly "disable-dom": {
853
+ readonly plugins: {
854
+ readonly "@eslint-react": typeof react;
855
+ readonly "@eslint-react/debug": typeof reactDebug;
856
+ readonly "@eslint-react/dom": typeof reactDom;
857
+ readonly "@eslint-react/hooks-extra": typeof reactHooksExtra;
858
+ readonly "@eslint-react/naming-convention": typeof reactNamingConvention;
859
+ };
860
+ readonly rules: {
861
+ "@eslint-react/dom/no-children-in-void-dom-elements": never;
862
+ "@eslint-react/dom/no-dangerously-set-innerhtml": never;
863
+ "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": never;
864
+ "@eslint-react/dom/no-find-dom-node": never;
865
+ "@eslint-react/dom/no-missing-button-type": never;
866
+ "@eslint-react/dom/no-missing-iframe-sandbox": never;
867
+ "@eslint-react/dom/no-namespace": never;
868
+ "@eslint-react/dom/no-render-return-value": never;
869
+ "@eslint-react/dom/no-script-url": never;
870
+ "@eslint-react/dom/no-unsafe-iframe-sandbox": never;
871
+ "@eslint-react/dom/no-unsafe-target-blank": never;
872
+ };
873
+ readonly settings: {
874
+ readonly "react-x": {
875
+ readonly additionalHooks: {
876
+ readonly useLayoutEffect: ["useIsomorphicLayoutEffect"];
877
+ };
878
+ readonly polymorphicPropName: "as";
879
+ readonly skipImportCheck: false;
880
+ readonly version: "detect";
881
+ };
882
+ };
883
+ };
884
+ readonly "disable-dom-legacy": {
885
+ readonly plugins: readonly ["@eslint-react"];
886
+ readonly rules: {
887
+ "@eslint-react/dom/no-children-in-void-dom-elements": never;
888
+ "@eslint-react/dom/no-dangerously-set-innerhtml": never;
889
+ "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": never;
890
+ "@eslint-react/dom/no-find-dom-node": never;
891
+ "@eslint-react/dom/no-missing-button-type": never;
892
+ "@eslint-react/dom/no-missing-iframe-sandbox": never;
893
+ "@eslint-react/dom/no-namespace": never;
894
+ "@eslint-react/dom/no-render-return-value": never;
895
+ "@eslint-react/dom/no-script-url": never;
896
+ "@eslint-react/dom/no-unsafe-iframe-sandbox": never;
897
+ "@eslint-react/dom/no-unsafe-target-blank": never;
898
+ };
899
+ readonly settings: {
900
+ readonly "react-x": {
901
+ readonly additionalHooks: {
902
+ readonly useLayoutEffect: ["useIsomorphicLayoutEffect"];
903
+ };
904
+ readonly polymorphicPropName: "as";
905
+ readonly skipImportCheck: false;
906
+ readonly version: "detect";
907
+ };
908
+ };
909
+ };
910
+ readonly "disable-type-checked": {
911
+ readonly plugins: {
912
+ readonly "@eslint-react": typeof react;
913
+ readonly "@eslint-react/debug": typeof reactDebug;
914
+ readonly "@eslint-react/dom": typeof reactDom;
915
+ readonly "@eslint-react/hooks-extra": typeof reactHooksExtra;
916
+ readonly "@eslint-react/naming-convention": typeof reactNamingConvention;
917
+ };
918
+ readonly rules: {
919
+ readonly "@eslint-react/no-leaked-conditional-rendering": "off";
920
+ readonly "@eslint-react/prefer-read-only-props": "off";
921
+ };
922
+ readonly settings: {
923
+ readonly "react-x": {
924
+ readonly additionalHooks: {
925
+ readonly useLayoutEffect: ["useIsomorphicLayoutEffect"];
926
+ };
927
+ readonly polymorphicPropName: "as";
928
+ readonly skipImportCheck: false;
929
+ readonly version: "detect";
930
+ };
931
+ };
932
+ };
933
+ readonly "disable-type-checked-legacy": {
934
+ readonly plugins: readonly ["@eslint-react"];
935
+ readonly rules: {
936
+ readonly "@eslint-react/no-leaked-conditional-rendering": "off";
937
+ readonly "@eslint-react/prefer-read-only-props": "off";
938
+ };
939
+ readonly settings: {
940
+ readonly "react-x": {
941
+ readonly additionalHooks: {
942
+ readonly useLayoutEffect: ["useIsomorphicLayoutEffect"];
943
+ };
944
+ readonly polymorphicPropName: "as";
945
+ readonly skipImportCheck: false;
946
+ readonly version: "detect";
947
+ };
948
+ };
949
+ };
846
950
  };
847
951
  readonly rules: {
848
952
  readonly "debug/class-component": _typescript_eslint_utils_ts_eslint.RuleModule<"classComponent", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
package/dist/index.d.ts CHANGED
@@ -460,6 +460,9 @@ declare const _default: {
460
460
  };
461
461
  };
462
462
  };
463
+ /**
464
+ * @deprecated Use `disable-dom` instead
465
+ */
463
466
  readonly "off-dom": {
464
467
  readonly plugins: {
465
468
  readonly "@eslint-react": typeof react;
@@ -492,6 +495,9 @@ declare const _default: {
492
495
  };
493
496
  };
494
497
  };
498
+ /**
499
+ * @deprecated Use `disable-dom-legacy` instead
500
+ */
495
501
  readonly "off-dom-legacy": {
496
502
  readonly plugins: readonly ["@eslint-react"];
497
503
  readonly rules: {
@@ -843,6 +849,104 @@ declare const _default: {
843
849
  };
844
850
  };
845
851
  };
852
+ readonly "disable-dom": {
853
+ readonly plugins: {
854
+ readonly "@eslint-react": typeof react;
855
+ readonly "@eslint-react/debug": typeof reactDebug;
856
+ readonly "@eslint-react/dom": typeof reactDom;
857
+ readonly "@eslint-react/hooks-extra": typeof reactHooksExtra;
858
+ readonly "@eslint-react/naming-convention": typeof reactNamingConvention;
859
+ };
860
+ readonly rules: {
861
+ "@eslint-react/dom/no-children-in-void-dom-elements": never;
862
+ "@eslint-react/dom/no-dangerously-set-innerhtml": never;
863
+ "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": never;
864
+ "@eslint-react/dom/no-find-dom-node": never;
865
+ "@eslint-react/dom/no-missing-button-type": never;
866
+ "@eslint-react/dom/no-missing-iframe-sandbox": never;
867
+ "@eslint-react/dom/no-namespace": never;
868
+ "@eslint-react/dom/no-render-return-value": never;
869
+ "@eslint-react/dom/no-script-url": never;
870
+ "@eslint-react/dom/no-unsafe-iframe-sandbox": never;
871
+ "@eslint-react/dom/no-unsafe-target-blank": never;
872
+ };
873
+ readonly settings: {
874
+ readonly "react-x": {
875
+ readonly additionalHooks: {
876
+ readonly useLayoutEffect: ["useIsomorphicLayoutEffect"];
877
+ };
878
+ readonly polymorphicPropName: "as";
879
+ readonly skipImportCheck: false;
880
+ readonly version: "detect";
881
+ };
882
+ };
883
+ };
884
+ readonly "disable-dom-legacy": {
885
+ readonly plugins: readonly ["@eslint-react"];
886
+ readonly rules: {
887
+ "@eslint-react/dom/no-children-in-void-dom-elements": never;
888
+ "@eslint-react/dom/no-dangerously-set-innerhtml": never;
889
+ "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": never;
890
+ "@eslint-react/dom/no-find-dom-node": never;
891
+ "@eslint-react/dom/no-missing-button-type": never;
892
+ "@eslint-react/dom/no-missing-iframe-sandbox": never;
893
+ "@eslint-react/dom/no-namespace": never;
894
+ "@eslint-react/dom/no-render-return-value": never;
895
+ "@eslint-react/dom/no-script-url": never;
896
+ "@eslint-react/dom/no-unsafe-iframe-sandbox": never;
897
+ "@eslint-react/dom/no-unsafe-target-blank": never;
898
+ };
899
+ readonly settings: {
900
+ readonly "react-x": {
901
+ readonly additionalHooks: {
902
+ readonly useLayoutEffect: ["useIsomorphicLayoutEffect"];
903
+ };
904
+ readonly polymorphicPropName: "as";
905
+ readonly skipImportCheck: false;
906
+ readonly version: "detect";
907
+ };
908
+ };
909
+ };
910
+ readonly "disable-type-checked": {
911
+ readonly plugins: {
912
+ readonly "@eslint-react": typeof react;
913
+ readonly "@eslint-react/debug": typeof reactDebug;
914
+ readonly "@eslint-react/dom": typeof reactDom;
915
+ readonly "@eslint-react/hooks-extra": typeof reactHooksExtra;
916
+ readonly "@eslint-react/naming-convention": typeof reactNamingConvention;
917
+ };
918
+ readonly rules: {
919
+ readonly "@eslint-react/no-leaked-conditional-rendering": "off";
920
+ readonly "@eslint-react/prefer-read-only-props": "off";
921
+ };
922
+ readonly settings: {
923
+ readonly "react-x": {
924
+ readonly additionalHooks: {
925
+ readonly useLayoutEffect: ["useIsomorphicLayoutEffect"];
926
+ };
927
+ readonly polymorphicPropName: "as";
928
+ readonly skipImportCheck: false;
929
+ readonly version: "detect";
930
+ };
931
+ };
932
+ };
933
+ readonly "disable-type-checked-legacy": {
934
+ readonly plugins: readonly ["@eslint-react"];
935
+ readonly rules: {
936
+ readonly "@eslint-react/no-leaked-conditional-rendering": "off";
937
+ readonly "@eslint-react/prefer-read-only-props": "off";
938
+ };
939
+ readonly settings: {
940
+ readonly "react-x": {
941
+ readonly additionalHooks: {
942
+ readonly useLayoutEffect: ["useIsomorphicLayoutEffect"];
943
+ };
944
+ readonly polymorphicPropName: "as";
945
+ readonly skipImportCheck: false;
946
+ readonly version: "detect";
947
+ };
948
+ };
949
+ };
846
950
  };
847
951
  readonly rules: {
848
952
  readonly "debug/class-component": _typescript_eslint_utils_ts_eslint.RuleModule<"classComponent", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ var react__namespace = /*#__PURE__*/_interopNamespace(react);
36
36
 
37
37
  // package.json
38
38
  var name = "@eslint-react/eslint-plugin";
39
- var version = "1.9.2-next.6";
39
+ var version = "1.10.0-beta.0";
40
40
  function transformKeys(obj, transform) {
41
41
  if (tools.typeOf(obj) !== "object") return obj;
42
42
  const res = {};
@@ -189,6 +189,18 @@ var recommendedTypeCheckedPreset = {
189
189
  ...recommendedPreset,
190
190
  "no-leaked-conditional-rendering": "warn"
191
191
  };
192
+ var disableTypeCheckedPreset = {
193
+ "no-leaked-conditional-rendering": "off",
194
+ "prefer-read-only-props": "off"
195
+ };
196
+ var debugPreset = {
197
+ "debug/class-component": "warn",
198
+ "debug/function-component": "warn",
199
+ "debug/react-hooks": "warn"
200
+ };
201
+ var allPresetEntries = tools.entries(allPreset);
202
+ var offPreset = tools.fromEntries(allPresetEntries.map(([key]) => [key, "off"]));
203
+ var offDomPreset = tools.fromEntries(tools.entries(domPreset).map(([key]) => [key, "off"]));
192
204
  var corePresetSettings = {
193
205
  ...shared.DEFAULT_ESLINT_REACT_SETTINGS
194
206
  };
@@ -207,14 +219,6 @@ var domPresetSettings = {
207
219
  }
208
220
  ]
209
221
  };
210
- var debugPreset = {
211
- "debug/class-component": "warn",
212
- "debug/function-component": "warn",
213
- "debug/react-hooks": "warn"
214
- };
215
- var allPresetEntries = tools.entries(allPreset);
216
- var offPreset = tools.fromEntries(allPresetEntries.map(([key]) => [key, "off"]));
217
- var offDomPreset = tools.fromEntries(tools.entries(domPreset).map(([key]) => [key, "off"]));
218
222
  var legacyConfigPlugins = ["@eslint-react"];
219
223
  var flatConfigPlugins = {
220
224
  "@eslint-react": react__namespace,
@@ -255,16 +259,25 @@ var src_default = {
255
259
  ["debug-legacy"]: createLegacyConfig(debugPreset),
256
260
  ["dom"]: createFlatConfig(domPreset, domPresetSettings),
257
261
  ["dom-legacy"]: createLegacyConfig(domPreset),
258
- // ["hooks-extra"]: createFlatConfig(hooksExtraPreset),
259
- // ["hooks-extra-legacy"]: createLegacyConfig(hooksExtraPreset),
260
262
  ["off"]: createFlatConfig(offPreset),
263
+ /**
264
+ * @deprecated Use `disable-dom` instead
265
+ */
261
266
  ["off-dom"]: createFlatConfig(offDomPreset),
267
+ /**
268
+ * @deprecated Use `disable-dom-legacy` instead
269
+ */
262
270
  ["off-dom-legacy"]: createLegacyConfig(offDomPreset),
263
271
  ["off-legacy"]: createLegacyConfig(offPreset),
264
272
  ["recommended"]: createFlatConfig(recommendedPreset),
265
273
  ["recommended-legacy"]: createLegacyConfig(recommendedPreset),
266
274
  ["recommended-type-checked"]: createFlatConfig(recommendedTypeCheckedPreset),
267
- ["recommended-type-checked-legacy"]: createLegacyConfig(recommendedTypeCheckedPreset)
275
+ ["recommended-type-checked-legacy"]: createLegacyConfig(recommendedTypeCheckedPreset),
276
+ // Part: disable presets
277
+ ["disable-dom"]: createFlatConfig(offDomPreset),
278
+ ["disable-dom-legacy"]: createLegacyConfig(offDomPreset),
279
+ ["disable-type-checked"]: createFlatConfig(disableTypeCheckedPreset),
280
+ ["disable-type-checked-legacy"]: createLegacyConfig(disableTypeCheckedPreset)
268
281
  },
269
282
  rules: {
270
283
  ...react__namespace.rules,
package/dist/index.mjs CHANGED
@@ -10,7 +10,7 @@ import * as react from 'eslint-plugin-react-x';
10
10
 
11
11
  // package.json
12
12
  var name = "@eslint-react/eslint-plugin";
13
- var version = "1.9.2-next.6";
13
+ var version = "1.10.0-beta.0";
14
14
  function transformKeys(obj, transform) {
15
15
  if (typeOf(obj) !== "object") return obj;
16
16
  const res = {};
@@ -163,6 +163,18 @@ var recommendedTypeCheckedPreset = {
163
163
  ...recommendedPreset,
164
164
  "no-leaked-conditional-rendering": "warn"
165
165
  };
166
+ var disableTypeCheckedPreset = {
167
+ "no-leaked-conditional-rendering": "off",
168
+ "prefer-read-only-props": "off"
169
+ };
170
+ var debugPreset = {
171
+ "debug/class-component": "warn",
172
+ "debug/function-component": "warn",
173
+ "debug/react-hooks": "warn"
174
+ };
175
+ var allPresetEntries = entries(allPreset);
176
+ var offPreset = fromEntries(allPresetEntries.map(([key]) => [key, "off"]));
177
+ var offDomPreset = fromEntries(entries(domPreset).map(([key]) => [key, "off"]));
166
178
  var corePresetSettings = {
167
179
  ...DEFAULT_ESLINT_REACT_SETTINGS
168
180
  };
@@ -181,14 +193,6 @@ var domPresetSettings = {
181
193
  }
182
194
  ]
183
195
  };
184
- var debugPreset = {
185
- "debug/class-component": "warn",
186
- "debug/function-component": "warn",
187
- "debug/react-hooks": "warn"
188
- };
189
- var allPresetEntries = entries(allPreset);
190
- var offPreset = fromEntries(allPresetEntries.map(([key]) => [key, "off"]));
191
- var offDomPreset = fromEntries(entries(domPreset).map(([key]) => [key, "off"]));
192
196
  var legacyConfigPlugins = ["@eslint-react"];
193
197
  var flatConfigPlugins = {
194
198
  "@eslint-react": react,
@@ -229,16 +233,25 @@ var src_default = {
229
233
  ["debug-legacy"]: createLegacyConfig(debugPreset),
230
234
  ["dom"]: createFlatConfig(domPreset, domPresetSettings),
231
235
  ["dom-legacy"]: createLegacyConfig(domPreset),
232
- // ["hooks-extra"]: createFlatConfig(hooksExtraPreset),
233
- // ["hooks-extra-legacy"]: createLegacyConfig(hooksExtraPreset),
234
236
  ["off"]: createFlatConfig(offPreset),
237
+ /**
238
+ * @deprecated Use `disable-dom` instead
239
+ */
235
240
  ["off-dom"]: createFlatConfig(offDomPreset),
241
+ /**
242
+ * @deprecated Use `disable-dom-legacy` instead
243
+ */
236
244
  ["off-dom-legacy"]: createLegacyConfig(offDomPreset),
237
245
  ["off-legacy"]: createLegacyConfig(offPreset),
238
246
  ["recommended"]: createFlatConfig(recommendedPreset),
239
247
  ["recommended-legacy"]: createLegacyConfig(recommendedPreset),
240
248
  ["recommended-type-checked"]: createFlatConfig(recommendedTypeCheckedPreset),
241
- ["recommended-type-checked-legacy"]: createLegacyConfig(recommendedTypeCheckedPreset)
249
+ ["recommended-type-checked-legacy"]: createLegacyConfig(recommendedTypeCheckedPreset),
250
+ // Part: disable presets
251
+ ["disable-dom"]: createFlatConfig(offDomPreset),
252
+ ["disable-dom-legacy"]: createLegacyConfig(offDomPreset),
253
+ ["disable-type-checked"]: createFlatConfig(disableTypeCheckedPreset),
254
+ ["disable-type-checked-legacy"]: createLegacyConfig(disableTypeCheckedPreset)
242
255
  },
243
256
  rules: {
244
257
  ...react.rules,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eslint-react/eslint-plugin",
3
- "version": "1.9.2-next.6",
3
+ "version": "1.10.0-beta.0",
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",
@@ -47,14 +47,14 @@
47
47
  "@typescript-eslint/type-utils": "^8.0.1",
48
48
  "@typescript-eslint/types": "^8.0.1",
49
49
  "@typescript-eslint/utils": "^8.0.1",
50
- "@eslint-react/tools": "1.9.2-next.6",
51
- "@eslint-react/shared": "1.9.2-next.6",
52
- "@eslint-react/types": "1.9.2-next.6",
53
- "eslint-plugin-react-debug": "1.9.2-next.6",
54
- "eslint-plugin-react-dom": "1.9.2-next.6",
55
- "eslint-plugin-react-naming-convention": "1.9.2-next.6",
56
- "eslint-plugin-react-hooks-extra": "1.9.2-next.6",
57
- "eslint-plugin-react-x": "1.9.2-next.6"
50
+ "@eslint-react/shared": "1.10.0-beta.0",
51
+ "@eslint-react/tools": "1.10.0-beta.0",
52
+ "eslint-plugin-react-dom": "1.10.0-beta.0",
53
+ "eslint-plugin-react-debug": "1.10.0-beta.0",
54
+ "@eslint-react/types": "1.10.0-beta.0",
55
+ "eslint-plugin-react-hooks-extra": "1.10.0-beta.0",
56
+ "eslint-plugin-react-naming-convention": "1.10.0-beta.0",
57
+ "eslint-plugin-react-x": "1.10.0-beta.0"
58
58
  },
59
59
  "devDependencies": {
60
60
  "tsup": "^8.2.4"