@eslint-react/eslint-plugin 1.11.0-next.0 → 1.11.0-next.10

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
@@ -6,7 +6,7 @@
6
6
  [![Size](https://img.shields.io/bundlephobia/minzip/@eslint-react/eslint-plugin?label=gzip&style=flat&colorA=000000&colorB=000000)](https://bundlephobia.com/package/@eslint-react/eslint-plugin)
7
7
  [![Downloads](https://img.shields.io/npm/dt/@eslint-react/eslint-plugin.svg?style=flat&colorA=000000&colorB=000000)](https://npmjs.com/package/@eslint-react/eslint-plugin)
8
8
 
9
- A series of composable ESLint rules rewritten from scratch for libraries and frameworks that use React as a UI runtime.
9
+ A series of ESLint plugins for building robust and reliable React applications.
10
10
 
11
11
  ## Features
12
12
 
@@ -24,7 +24,7 @@ A series of composable ESLint rules rewritten from scratch for libraries and fra
24
24
 
25
25
  - [`eslint-plugin-react-x`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) - Core rules (renderer-agnostic, compatible with x-platform).
26
26
  - [`eslint-plugin-react-dom`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) - DOM specific rules for React DOM.
27
- - [`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 in React.
27
+ - [`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.
28
28
  - [`eslint-plugin-react-hooks-extra`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-hooks-extra) - Extra React Hooks rules.
29
29
  - [`eslint-plugin-react-naming-convention`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-naming-convention) - Naming convention rules.
30
30
 
@@ -124,21 +124,13 @@ Add the plugin to your `.eslintrc.json`:
124
124
  - **dom**\
125
125
  Enable rules that are specific to React DOM.
126
126
  - **web-api**\
127
- Enable rules for interacting with Web APIs in React.
127
+ Enable rules for interacting with Web APIs.
128
128
  - **recommended**\
129
129
  Enable rules that are recommended by ESLint React.\
130
130
  _This preset includes the `core`, `dom`, and `web-api` presets._
131
131
  - **recommended-type-checked**\
132
132
  Enable rules that are recommended by ESLint React with additional rules that require type information.\
133
133
  _This preset includes the `recommended` preset._
134
- - **disable-dom**\
135
- Disable rules that are specific to React DOM.
136
- - **disable-web-api**\
137
- Disable rules for interacting with Web APIs in React.
138
- - **disable-type-checked**\
139
- Disable rules that require type information.
140
- - **off**\
141
- Disable all rules in this plugin except for debug rules.
142
134
 
143
135
  ### Legacy Config
144
136
 
@@ -150,21 +142,13 @@ Add the plugin to your `.eslintrc.json`:
150
142
  - **dom-legacy**\
151
143
  Enable rules that are specific to React DOM.
152
144
  - **web-api-legacy**\
153
- Enable rules for interacting with Web APIs in React.
145
+ Enable rules for interacting with Web APIs.
154
146
  - **recommended-legacy**\
155
147
  Enable rules that are recommended by ESLint React.\
156
148
  _This preset includes the `core-legacy`, `dom-legacy`, and `web-api-legacy` presets._
157
149
  - **recommended-type-checked-legacy**\
158
150
  Enable rules that are recommended by ESLint React with additional rules that require type information.\
159
151
  _This preset includes the `recommended-legacy` preset._
160
- - **disable-dom-legacy**\
161
- Disable rules that are specific to React DOM.
162
- - **disable-web-api-legacy**\
163
- Disable rules for interacting with Web APIs in React.
164
- - **disable-type-checked-legacy**\
165
- Disable rules that require type information.
166
- - **off-legacy**\
167
- Disable all rules in this plugin except for debug rules.
168
152
 
169
153
  </details>
170
154
 
@@ -215,21 +199,6 @@ Thank you to everyone contributing to ESLint React!
215
199
  </picture>
216
200
  </a>
217
201
 
218
- <!-- Made with [OSS Insight](https://ossinsight.io/) -->
219
-
220
- ### All Contributors
221
-
222
- <!-- Copy-paste in your Readme.md file -->
223
-
224
- <a href="https://next.ossinsight.io/widgets/official/compose-contributors?repo_id=680315614&limit=50" target="_blank" style="display: block" align="center">
225
- <picture>
226
- <source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-contributors/thumbnail.png?repo_id=680315614&limit=50&image_size=auto&color_scheme=dark" width="655" height="auto">
227
- <img alt="Contributors of Rel1cx/eslint-react" src="https://next.ossinsight.io/widgets/official/compose-contributors/thumbnail.png?repo_id=680315614&limit=50&image_size=auto&color_scheme=light" width="655" height="auto">
228
- </picture>
229
- </a>
230
-
231
- <!-- Made with [OSS Insight](https://ossinsight.io/) -->
232
-
233
202
  ## License
234
203
 
235
204
  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
package/dist/index.d.mts CHANGED
@@ -226,7 +226,9 @@ declare const _default: {
226
226
  readonly "@eslint-react/web-api": typeof reactWebApi;
227
227
  };
228
228
  readonly rules: {
229
- readonly "@eslint-react/web-api/no-leaked-event-listener": "error";
229
+ readonly "@eslint-react/web-api/no-leaked-event-listener": "warn";
230
+ readonly "@eslint-react/web-api/no-leaked-interval": "warn";
231
+ readonly "@eslint-react/web-api/no-leaked-timeout": "warn";
230
232
  readonly "@eslint-react/dom/no-children-in-void-dom-elements": "warn";
231
233
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml": "warn";
232
234
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": "error";
@@ -285,7 +287,9 @@ declare const _default: {
285
287
  readonly "recommended-legacy": {
286
288
  readonly plugins: readonly ["@eslint-react"];
287
289
  readonly rules: {
288
- readonly "@eslint-react/web-api/no-leaked-event-listener": "error";
290
+ readonly "@eslint-react/web-api/no-leaked-event-listener": "warn";
291
+ readonly "@eslint-react/web-api/no-leaked-interval": "warn";
292
+ readonly "@eslint-react/web-api/no-leaked-timeout": "warn";
289
293
  readonly "@eslint-react/dom/no-children-in-void-dom-elements": "warn";
290
294
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml": "warn";
291
295
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": "error";
@@ -352,7 +356,9 @@ declare const _default: {
352
356
  };
353
357
  readonly rules: {
354
358
  readonly "@eslint-react/no-leaked-conditional-rendering": "warn";
355
- readonly "@eslint-react/web-api/no-leaked-event-listener": "error";
359
+ readonly "@eslint-react/web-api/no-leaked-event-listener": "warn";
360
+ readonly "@eslint-react/web-api/no-leaked-interval": "warn";
361
+ readonly "@eslint-react/web-api/no-leaked-timeout": "warn";
356
362
  readonly "@eslint-react/dom/no-children-in-void-dom-elements": "warn";
357
363
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml": "warn";
358
364
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": "error";
@@ -412,7 +418,9 @@ declare const _default: {
412
418
  readonly plugins: readonly ["@eslint-react"];
413
419
  readonly rules: {
414
420
  readonly "@eslint-react/no-leaked-conditional-rendering": "warn";
415
- readonly "@eslint-react/web-api/no-leaked-event-listener": "error";
421
+ readonly "@eslint-react/web-api/no-leaked-event-listener": "warn";
422
+ readonly "@eslint-react/web-api/no-leaked-interval": "warn";
423
+ readonly "@eslint-react/web-api/no-leaked-timeout": "warn";
416
424
  readonly "@eslint-react/dom/no-children-in-void-dom-elements": "warn";
417
425
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml": "warn";
418
426
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": "error";
@@ -538,6 +546,8 @@ declare const _default: {
538
546
  };
539
547
  readonly rules: {
540
548
  "@eslint-react/web-api/no-leaked-event-listener"?: "off";
549
+ "@eslint-react/web-api/no-leaked-interval"?: "off";
550
+ "@eslint-react/web-api/no-leaked-timeout"?: "off";
541
551
  };
542
552
  readonly settings: {
543
553
  readonly "react-x": {
@@ -554,6 +564,8 @@ declare const _default: {
554
564
  readonly plugins: readonly ["@eslint-react"];
555
565
  readonly rules: {
556
566
  "@eslint-react/web-api/no-leaked-event-listener"?: "off";
567
+ "@eslint-react/web-api/no-leaked-interval"?: "off";
568
+ "@eslint-react/web-api/no-leaked-timeout"?: "off";
557
569
  };
558
570
  readonly settings: {
559
571
  readonly "react-x": {
@@ -669,7 +681,9 @@ declare const _default: {
669
681
  readonly "@eslint-react/dom/no-script-url": "warn";
670
682
  readonly "@eslint-react/dom/no-unsafe-iframe-sandbox": "warn";
671
683
  readonly "@eslint-react/dom/no-unsafe-target-blank": "warn";
672
- readonly "@eslint-react/web-api/no-leaked-event-listener": "error";
684
+ readonly "@eslint-react/web-api/no-leaked-event-listener": "warn";
685
+ readonly "@eslint-react/web-api/no-leaked-interval": "warn";
686
+ readonly "@eslint-react/web-api/no-leaked-timeout": "warn";
673
687
  readonly "@eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks": "warn";
674
688
  readonly "@eslint-react/hooks-extra/ensure-use-callback-has-non-empty-deps": "warn";
675
689
  readonly "@eslint-react/hooks-extra/ensure-use-memo-has-non-empty-deps": "warn";
@@ -749,7 +763,9 @@ declare const _default: {
749
763
  readonly "@eslint-react/dom/no-script-url": "warn";
750
764
  readonly "@eslint-react/dom/no-unsafe-iframe-sandbox": "warn";
751
765
  readonly "@eslint-react/dom/no-unsafe-target-blank": "warn";
752
- readonly "@eslint-react/web-api/no-leaked-event-listener": "error";
766
+ readonly "@eslint-react/web-api/no-leaked-event-listener": "warn";
767
+ readonly "@eslint-react/web-api/no-leaked-interval": "warn";
768
+ readonly "@eslint-react/web-api/no-leaked-timeout": "warn";
753
769
  readonly "@eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks": "warn";
754
770
  readonly "@eslint-react/hooks-extra/ensure-use-callback-has-non-empty-deps": "warn";
755
771
  readonly "@eslint-react/hooks-extra/ensure-use-memo-has-non-empty-deps": "warn";
@@ -837,6 +853,8 @@ declare const _default: {
837
853
  readonly "@eslint-react/dom/no-unsafe-iframe-sandbox"?: "off";
838
854
  readonly "@eslint-react/dom/no-unsafe-target-blank"?: "off";
839
855
  readonly "@eslint-react/web-api/no-leaked-event-listener"?: "off";
856
+ readonly "@eslint-react/web-api/no-leaked-interval"?: "off";
857
+ readonly "@eslint-react/web-api/no-leaked-timeout"?: "off";
840
858
  readonly "@eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks"?: "off";
841
859
  readonly "@eslint-react/hooks-extra/ensure-use-callback-has-non-empty-deps"?: "off";
842
860
  readonly "@eslint-react/hooks-extra/ensure-use-memo-has-non-empty-deps"?: "off";
@@ -917,6 +935,8 @@ declare const _default: {
917
935
  readonly "@eslint-react/dom/no-unsafe-iframe-sandbox"?: "off";
918
936
  readonly "@eslint-react/dom/no-unsafe-target-blank"?: "off";
919
937
  readonly "@eslint-react/web-api/no-leaked-event-listener"?: "off";
938
+ readonly "@eslint-react/web-api/no-leaked-interval"?: "off";
939
+ readonly "@eslint-react/web-api/no-leaked-timeout"?: "off";
920
940
  readonly "@eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks"?: "off";
921
941
  readonly "@eslint-react/hooks-extra/ensure-use-callback-has-non-empty-deps"?: "off";
922
942
  readonly "@eslint-react/hooks-extra/ensure-use-memo-has-non-empty-deps"?: "off";
@@ -1010,7 +1030,7 @@ declare const _default: {
1010
1030
  excepts?: readonly string[];
1011
1031
  rule?: "CONSTANT_CASE" | "PascalCase";
1012
1032
  } | "CONSTANT_CASE" | "PascalCase" | undefined], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1013
- readonly "naming-convention/filename": _typescript_eslint_utils_ts_eslint.RuleModule<"filenameCaseMismatch" | "filenameCaseMismatchSuggestion" | "filenameEmpty", readonly ["PascalCase" | {
1033
+ readonly "naming-convention/filename": _typescript_eslint_utils_ts_eslint.RuleModule<"filenameCaseMismatchSuggestion" | "filenameEmpty", readonly ["PascalCase" | {
1014
1034
  excepts?: readonly string[];
1015
1035
  extensions?: readonly string[];
1016
1036
  rule?: "PascalCase" | "camelCase" | "kebab-case" | "snake_case";
@@ -1027,6 +1047,8 @@ declare const _default: {
1027
1047
  readonly "hooks-extra/no-direct-set-state-in-use-layout-effect": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectSetStateInUseLayoutEffect", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1028
1048
  readonly "hooks-extra/prefer-use-state-lazy-initialization": _typescript_eslint_utils_ts_eslint.RuleModule<"preferUseStateLazyInitialization", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1029
1049
  readonly "web-api/no-leaked-event-listener": _typescript_eslint_utils_ts_eslint.RuleModule<"noLeakedEventListenerInEffect" | "noLeakedEventListenerInLifecycle" | "noLeakedEventListenerOfInlineFunction", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1050
+ readonly "web-api/no-leaked-interval": _typescript_eslint_utils_ts_eslint.RuleModule<"noLeakedIntervalInEffect" | "noLeakedIntervalInLifecycle" | "noLeakedIntervalNoIntervalId", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1051
+ readonly "web-api/no-leaked-timeout": _typescript_eslint_utils_ts_eslint.RuleModule<"noLeakedTimeoutInEffect" | "noLeakedTimeoutInLifecycle" | "noLeakedTimeoutNoTimeoutId", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1030
1052
  readonly "dom/no-children-in-void-dom-elements": _typescript_eslint_utils_ts_eslint.RuleModule<"noChildrenInVoidDomElements", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1031
1053
  readonly "dom/no-dangerously-set-innerhtml": _typescript_eslint_utils_ts_eslint.RuleModule<"noDangerouslySetInnerhtml", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1032
1054
  readonly "dom/no-dangerously-set-innerhtml-with-children": _typescript_eslint_utils_ts_eslint.RuleModule<"noDangerouslySetInnerhtmlWithChildren", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
package/dist/index.d.ts CHANGED
@@ -226,7 +226,9 @@ declare const _default: {
226
226
  readonly "@eslint-react/web-api": typeof reactWebApi;
227
227
  };
228
228
  readonly rules: {
229
- readonly "@eslint-react/web-api/no-leaked-event-listener": "error";
229
+ readonly "@eslint-react/web-api/no-leaked-event-listener": "warn";
230
+ readonly "@eslint-react/web-api/no-leaked-interval": "warn";
231
+ readonly "@eslint-react/web-api/no-leaked-timeout": "warn";
230
232
  readonly "@eslint-react/dom/no-children-in-void-dom-elements": "warn";
231
233
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml": "warn";
232
234
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": "error";
@@ -285,7 +287,9 @@ declare const _default: {
285
287
  readonly "recommended-legacy": {
286
288
  readonly plugins: readonly ["@eslint-react"];
287
289
  readonly rules: {
288
- readonly "@eslint-react/web-api/no-leaked-event-listener": "error";
290
+ readonly "@eslint-react/web-api/no-leaked-event-listener": "warn";
291
+ readonly "@eslint-react/web-api/no-leaked-interval": "warn";
292
+ readonly "@eslint-react/web-api/no-leaked-timeout": "warn";
289
293
  readonly "@eslint-react/dom/no-children-in-void-dom-elements": "warn";
290
294
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml": "warn";
291
295
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": "error";
@@ -352,7 +356,9 @@ declare const _default: {
352
356
  };
353
357
  readonly rules: {
354
358
  readonly "@eslint-react/no-leaked-conditional-rendering": "warn";
355
- readonly "@eslint-react/web-api/no-leaked-event-listener": "error";
359
+ readonly "@eslint-react/web-api/no-leaked-event-listener": "warn";
360
+ readonly "@eslint-react/web-api/no-leaked-interval": "warn";
361
+ readonly "@eslint-react/web-api/no-leaked-timeout": "warn";
356
362
  readonly "@eslint-react/dom/no-children-in-void-dom-elements": "warn";
357
363
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml": "warn";
358
364
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": "error";
@@ -412,7 +418,9 @@ declare const _default: {
412
418
  readonly plugins: readonly ["@eslint-react"];
413
419
  readonly rules: {
414
420
  readonly "@eslint-react/no-leaked-conditional-rendering": "warn";
415
- readonly "@eslint-react/web-api/no-leaked-event-listener": "error";
421
+ readonly "@eslint-react/web-api/no-leaked-event-listener": "warn";
422
+ readonly "@eslint-react/web-api/no-leaked-interval": "warn";
423
+ readonly "@eslint-react/web-api/no-leaked-timeout": "warn";
416
424
  readonly "@eslint-react/dom/no-children-in-void-dom-elements": "warn";
417
425
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml": "warn";
418
426
  readonly "@eslint-react/dom/no-dangerously-set-innerhtml-with-children": "error";
@@ -538,6 +546,8 @@ declare const _default: {
538
546
  };
539
547
  readonly rules: {
540
548
  "@eslint-react/web-api/no-leaked-event-listener"?: "off";
549
+ "@eslint-react/web-api/no-leaked-interval"?: "off";
550
+ "@eslint-react/web-api/no-leaked-timeout"?: "off";
541
551
  };
542
552
  readonly settings: {
543
553
  readonly "react-x": {
@@ -554,6 +564,8 @@ declare const _default: {
554
564
  readonly plugins: readonly ["@eslint-react"];
555
565
  readonly rules: {
556
566
  "@eslint-react/web-api/no-leaked-event-listener"?: "off";
567
+ "@eslint-react/web-api/no-leaked-interval"?: "off";
568
+ "@eslint-react/web-api/no-leaked-timeout"?: "off";
557
569
  };
558
570
  readonly settings: {
559
571
  readonly "react-x": {
@@ -669,7 +681,9 @@ declare const _default: {
669
681
  readonly "@eslint-react/dom/no-script-url": "warn";
670
682
  readonly "@eslint-react/dom/no-unsafe-iframe-sandbox": "warn";
671
683
  readonly "@eslint-react/dom/no-unsafe-target-blank": "warn";
672
- readonly "@eslint-react/web-api/no-leaked-event-listener": "error";
684
+ readonly "@eslint-react/web-api/no-leaked-event-listener": "warn";
685
+ readonly "@eslint-react/web-api/no-leaked-interval": "warn";
686
+ readonly "@eslint-react/web-api/no-leaked-timeout": "warn";
673
687
  readonly "@eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks": "warn";
674
688
  readonly "@eslint-react/hooks-extra/ensure-use-callback-has-non-empty-deps": "warn";
675
689
  readonly "@eslint-react/hooks-extra/ensure-use-memo-has-non-empty-deps": "warn";
@@ -749,7 +763,9 @@ declare const _default: {
749
763
  readonly "@eslint-react/dom/no-script-url": "warn";
750
764
  readonly "@eslint-react/dom/no-unsafe-iframe-sandbox": "warn";
751
765
  readonly "@eslint-react/dom/no-unsafe-target-blank": "warn";
752
- readonly "@eslint-react/web-api/no-leaked-event-listener": "error";
766
+ readonly "@eslint-react/web-api/no-leaked-event-listener": "warn";
767
+ readonly "@eslint-react/web-api/no-leaked-interval": "warn";
768
+ readonly "@eslint-react/web-api/no-leaked-timeout": "warn";
753
769
  readonly "@eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks": "warn";
754
770
  readonly "@eslint-react/hooks-extra/ensure-use-callback-has-non-empty-deps": "warn";
755
771
  readonly "@eslint-react/hooks-extra/ensure-use-memo-has-non-empty-deps": "warn";
@@ -837,6 +853,8 @@ declare const _default: {
837
853
  readonly "@eslint-react/dom/no-unsafe-iframe-sandbox"?: "off";
838
854
  readonly "@eslint-react/dom/no-unsafe-target-blank"?: "off";
839
855
  readonly "@eslint-react/web-api/no-leaked-event-listener"?: "off";
856
+ readonly "@eslint-react/web-api/no-leaked-interval"?: "off";
857
+ readonly "@eslint-react/web-api/no-leaked-timeout"?: "off";
840
858
  readonly "@eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks"?: "off";
841
859
  readonly "@eslint-react/hooks-extra/ensure-use-callback-has-non-empty-deps"?: "off";
842
860
  readonly "@eslint-react/hooks-extra/ensure-use-memo-has-non-empty-deps"?: "off";
@@ -917,6 +935,8 @@ declare const _default: {
917
935
  readonly "@eslint-react/dom/no-unsafe-iframe-sandbox"?: "off";
918
936
  readonly "@eslint-react/dom/no-unsafe-target-blank"?: "off";
919
937
  readonly "@eslint-react/web-api/no-leaked-event-listener"?: "off";
938
+ readonly "@eslint-react/web-api/no-leaked-interval"?: "off";
939
+ readonly "@eslint-react/web-api/no-leaked-timeout"?: "off";
920
940
  readonly "@eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks"?: "off";
921
941
  readonly "@eslint-react/hooks-extra/ensure-use-callback-has-non-empty-deps"?: "off";
922
942
  readonly "@eslint-react/hooks-extra/ensure-use-memo-has-non-empty-deps"?: "off";
@@ -1010,7 +1030,7 @@ declare const _default: {
1010
1030
  excepts?: readonly string[];
1011
1031
  rule?: "CONSTANT_CASE" | "PascalCase";
1012
1032
  } | "CONSTANT_CASE" | "PascalCase" | undefined], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1013
- readonly "naming-convention/filename": _typescript_eslint_utils_ts_eslint.RuleModule<"filenameCaseMismatch" | "filenameCaseMismatchSuggestion" | "filenameEmpty", readonly ["PascalCase" | {
1033
+ readonly "naming-convention/filename": _typescript_eslint_utils_ts_eslint.RuleModule<"filenameCaseMismatchSuggestion" | "filenameEmpty", readonly ["PascalCase" | {
1014
1034
  excepts?: readonly string[];
1015
1035
  extensions?: readonly string[];
1016
1036
  rule?: "PascalCase" | "camelCase" | "kebab-case" | "snake_case";
@@ -1027,6 +1047,8 @@ declare const _default: {
1027
1047
  readonly "hooks-extra/no-direct-set-state-in-use-layout-effect": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectSetStateInUseLayoutEffect", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1028
1048
  readonly "hooks-extra/prefer-use-state-lazy-initialization": _typescript_eslint_utils_ts_eslint.RuleModule<"preferUseStateLazyInitialization", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1029
1049
  readonly "web-api/no-leaked-event-listener": _typescript_eslint_utils_ts_eslint.RuleModule<"noLeakedEventListenerInEffect" | "noLeakedEventListenerInLifecycle" | "noLeakedEventListenerOfInlineFunction", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1050
+ readonly "web-api/no-leaked-interval": _typescript_eslint_utils_ts_eslint.RuleModule<"noLeakedIntervalInEffect" | "noLeakedIntervalInLifecycle" | "noLeakedIntervalNoIntervalId", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1051
+ readonly "web-api/no-leaked-timeout": _typescript_eslint_utils_ts_eslint.RuleModule<"noLeakedTimeoutInEffect" | "noLeakedTimeoutInLifecycle" | "noLeakedTimeoutNoTimeoutId", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1030
1052
  readonly "dom/no-children-in-void-dom-elements": _typescript_eslint_utils_ts_eslint.RuleModule<"noChildrenInVoidDomElements", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1031
1053
  readonly "dom/no-dangerously-set-innerhtml": _typescript_eslint_utils_ts_eslint.RuleModule<"noDangerouslySetInnerhtml", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1032
1054
  readonly "dom/no-dangerously-set-innerhtml-with-children": _typescript_eslint_utils_ts_eslint.RuleModule<"noDangerouslySetInnerhtmlWithChildren", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
package/dist/index.js CHANGED
@@ -38,7 +38,7 @@ var react__namespace = /*#__PURE__*/_interopNamespace(react);
38
38
 
39
39
  // package.json
40
40
  var name = "@eslint-react/eslint-plugin";
41
- var version = "1.11.0-next.0";
41
+ var version = "1.11.0-next.10";
42
42
  function transformKeys(obj, transform) {
43
43
  if (tools.typeOf(obj) !== "object") return obj;
44
44
  const res = {};
@@ -114,7 +114,9 @@ var allPreset = {
114
114
  "dom/no-unsafe-iframe-sandbox": "warn",
115
115
  "dom/no-unsafe-target-blank": "warn",
116
116
  // Part: Web API
117
- "web-api/no-leaked-event-listener": "error",
117
+ "web-api/no-leaked-event-listener": "warn",
118
+ "web-api/no-leaked-interval": "warn",
119
+ "web-api/no-leaked-timeout": "warn",
118
120
  // Part: Hooks Extra
119
121
  "hooks-extra/ensure-custom-hooks-using-other-hooks": "warn",
120
122
  "hooks-extra/ensure-use-callback-has-non-empty-deps": "warn",
@@ -188,24 +190,9 @@ var domPreset = {
188
190
  "dom/no-unsafe-target-blank": "warn"
189
191
  };
190
192
  var webApiPreset = {
191
- "web-api/no-leaked-event-listener": "error"
192
- // "web-api/no-leaked-timeout": "warn",
193
- // "web-api/no-leaked-interval": "warn",
194
- // "web-api/no-leaked-resize-observer": "warn",
195
- // "web-api/no-leaked-intersection-observer": "warn",
196
- // "web-api/no-leaked-mutation-observer": "warn",
197
- // "web-api/no-leaked-performance-observer": "warn",
198
- // "web-api/no-leaked-websocket": "warn",
199
- // "web-api/no-leaked-broadcast-channel": "warn",
200
- // "web-api/no-leaked-geolocation": "warn",
201
- // "web-api/no-leaked-absolute-orientation-sensor": "warn",
202
- // "web-api/no-leaked-relative-accelerometer": "warn",
203
- // "web-api/no-leaked-ambient-light-sensor": "warn",
204
- // "web-api/no-leaked-gravity-sensor": "warn",
205
- // "web-api/no-leaked-gyroscope": "warn",
206
- // "web-api/no-leaked-linear-acceleration-sensor": "warn",
207
- // "web-api/no-leaked-magnetometer": "warn",
208
- // "web-api/no-leaked-orientation-sensor": "warn",
193
+ "web-api/no-leaked-event-listener": "warn",
194
+ "web-api/no-leaked-interval": "warn",
195
+ "web-api/no-leaked-timeout": "warn"
209
196
  };
210
197
  var recommendedPreset = {
211
198
  ...corePreset,
package/dist/index.mjs CHANGED
@@ -11,7 +11,7 @@ import * as react from 'eslint-plugin-react-x';
11
11
 
12
12
  // package.json
13
13
  var name = "@eslint-react/eslint-plugin";
14
- var version = "1.11.0-next.0";
14
+ var version = "1.11.0-next.10";
15
15
  function transformKeys(obj, transform) {
16
16
  if (typeOf(obj) !== "object") return obj;
17
17
  const res = {};
@@ -87,7 +87,9 @@ var allPreset = {
87
87
  "dom/no-unsafe-iframe-sandbox": "warn",
88
88
  "dom/no-unsafe-target-blank": "warn",
89
89
  // Part: Web API
90
- "web-api/no-leaked-event-listener": "error",
90
+ "web-api/no-leaked-event-listener": "warn",
91
+ "web-api/no-leaked-interval": "warn",
92
+ "web-api/no-leaked-timeout": "warn",
91
93
  // Part: Hooks Extra
92
94
  "hooks-extra/ensure-custom-hooks-using-other-hooks": "warn",
93
95
  "hooks-extra/ensure-use-callback-has-non-empty-deps": "warn",
@@ -161,24 +163,9 @@ var domPreset = {
161
163
  "dom/no-unsafe-target-blank": "warn"
162
164
  };
163
165
  var webApiPreset = {
164
- "web-api/no-leaked-event-listener": "error"
165
- // "web-api/no-leaked-timeout": "warn",
166
- // "web-api/no-leaked-interval": "warn",
167
- // "web-api/no-leaked-resize-observer": "warn",
168
- // "web-api/no-leaked-intersection-observer": "warn",
169
- // "web-api/no-leaked-mutation-observer": "warn",
170
- // "web-api/no-leaked-performance-observer": "warn",
171
- // "web-api/no-leaked-websocket": "warn",
172
- // "web-api/no-leaked-broadcast-channel": "warn",
173
- // "web-api/no-leaked-geolocation": "warn",
174
- // "web-api/no-leaked-absolute-orientation-sensor": "warn",
175
- // "web-api/no-leaked-relative-accelerometer": "warn",
176
- // "web-api/no-leaked-ambient-light-sensor": "warn",
177
- // "web-api/no-leaked-gravity-sensor": "warn",
178
- // "web-api/no-leaked-gyroscope": "warn",
179
- // "web-api/no-leaked-linear-acceleration-sensor": "warn",
180
- // "web-api/no-leaked-magnetometer": "warn",
181
- // "web-api/no-leaked-orientation-sensor": "warn",
166
+ "web-api/no-leaked-event-listener": "warn",
167
+ "web-api/no-leaked-interval": "warn",
168
+ "web-api/no-leaked-timeout": "warn"
182
169
  };
183
170
  var recommendedPreset = {
184
171
  ...corePreset,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eslint-react/eslint-plugin",
3
- "version": "1.11.0-next.0",
3
+ "version": "1.11.0-next.10",
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",
@@ -43,19 +43,19 @@
43
43
  "./package.json"
44
44
  ],
45
45
  "dependencies": {
46
- "@typescript-eslint/scope-manager": "^8.1.0",
47
- "@typescript-eslint/type-utils": "^8.1.0",
48
- "@typescript-eslint/types": "^8.1.0",
49
- "@typescript-eslint/utils": "^8.1.0",
50
- "@eslint-react/types": "1.11.0-next.0",
51
- "@eslint-react/shared": "1.11.0-next.0",
52
- "@eslint-react/tools": "1.11.0-next.0",
53
- "eslint-plugin-react-debug": "1.11.0-next.0",
54
- "eslint-plugin-react-hooks-extra": "1.11.0-next.0",
55
- "eslint-plugin-react-naming-convention": "1.11.0-next.0",
56
- "eslint-plugin-react-dom": "1.11.0-next.0",
57
- "eslint-plugin-react-web-api": "1.11.0-next.0",
58
- "eslint-plugin-react-x": "1.11.0-next.0"
46
+ "@typescript-eslint/scope-manager": "^8.2.0",
47
+ "@typescript-eslint/type-utils": "^8.2.0",
48
+ "@typescript-eslint/types": "^8.2.0",
49
+ "@typescript-eslint/utils": "^8.2.0",
50
+ "@eslint-react/shared": "1.11.0-next.10",
51
+ "@eslint-react/types": "1.11.0-next.10",
52
+ "eslint-plugin-react-debug": "1.11.0-next.10",
53
+ "eslint-plugin-react-dom": "1.11.0-next.10",
54
+ "eslint-plugin-react-hooks-extra": "1.11.0-next.10",
55
+ "@eslint-react/tools": "1.11.0-next.10",
56
+ "eslint-plugin-react-naming-convention": "1.11.0-next.10",
57
+ "eslint-plugin-react-web-api": "1.11.0-next.10",
58
+ "eslint-plugin-react-x": "1.11.0-next.10"
59
59
  },
60
60
  "devDependencies": {
61
61
  "tsup": "^8.2.4"