@eslint-react/eslint-plugin 1.10.2-next.2 → 1.11.0-beta.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/dist/index.js CHANGED
@@ -6,6 +6,7 @@ var reactDebug = require('eslint-plugin-react-debug');
6
6
  var reactDom = require('eslint-plugin-react-dom');
7
7
  var reactHooksExtra = require('eslint-plugin-react-hooks-extra');
8
8
  var reactNamingConvention = require('eslint-plugin-react-naming-convention');
9
+ var reactWebApi = require('eslint-plugin-react-web-api');
9
10
  var react = require('eslint-plugin-react-x');
10
11
 
11
12
  function _interopNamespace(e) {
@@ -30,13 +31,14 @@ var reactDebug__namespace = /*#__PURE__*/_interopNamespace(reactDebug);
30
31
  var reactDom__namespace = /*#__PURE__*/_interopNamespace(reactDom);
31
32
  var reactHooksExtra__namespace = /*#__PURE__*/_interopNamespace(reactHooksExtra);
32
33
  var reactNamingConvention__namespace = /*#__PURE__*/_interopNamespace(reactNamingConvention);
34
+ var reactWebApi__namespace = /*#__PURE__*/_interopNamespace(reactWebApi);
33
35
  var react__namespace = /*#__PURE__*/_interopNamespace(react);
34
36
 
35
37
  // src/index.ts
36
38
 
37
39
  // package.json
38
40
  var name = "@eslint-react/eslint-plugin";
39
- var version = "1.10.2-next.2";
41
+ var version = "1.11.0-beta.10";
40
42
  function transformKeys(obj, transform) {
41
43
  if (tools.typeOf(obj) !== "object") return obj;
42
44
  const res = {};
@@ -53,6 +55,7 @@ function padKeysLeft(obj, left) {
53
55
 
54
56
  // src/index.ts
55
57
  var allPreset = {
58
+ // Part: Core
56
59
  "avoid-shorthand-boolean": "warn",
57
60
  "avoid-shorthand-fragment": "warn",
58
61
  "ensure-forward-ref-using-ref": "warn",
@@ -98,7 +101,7 @@ var allPreset = {
98
101
  // "prefer-read-only-props": "warn", // This rule requires type information
99
102
  "prefer-shorthand-boolean": "warn",
100
103
  "prefer-shorthand-fragment": "warn",
101
- // eslint-disable-next-line perfectionist/sort-objects
104
+ // Part: DOM
102
105
  "dom/no-children-in-void-dom-elements": "warn",
103
106
  "dom/no-dangerously-set-innerhtml": "warn",
104
107
  "dom/no-dangerously-set-innerhtml-with-children": "error",
@@ -110,6 +113,11 @@ var allPreset = {
110
113
  "dom/no-script-url": "warn",
111
114
  "dom/no-unsafe-iframe-sandbox": "warn",
112
115
  "dom/no-unsafe-target-blank": "warn",
116
+ // Part: Web API
117
+ "web-api/no-leaked-event-listener": "warn",
118
+ "web-api/no-leaked-interval": "warn",
119
+ "web-api/no-leaked-timeout": "warn",
120
+ // Part: Hooks Extra
113
121
  "hooks-extra/ensure-custom-hooks-using-other-hooks": "warn",
114
122
  "hooks-extra/ensure-use-callback-has-non-empty-deps": "warn",
115
123
  "hooks-extra/ensure-use-memo-has-non-empty-deps": "warn",
@@ -181,9 +189,15 @@ var domPreset = {
181
189
  "dom/no-unsafe-iframe-sandbox": "warn",
182
190
  "dom/no-unsafe-target-blank": "warn"
183
191
  };
192
+ var webApiPreset = {
193
+ "web-api/no-leaked-event-listener": "warn",
194
+ "web-api/no-leaked-interval": "warn",
195
+ "web-api/no-leaked-timeout": "warn"
196
+ };
184
197
  var recommendedPreset = {
185
198
  ...corePreset,
186
- ...domPreset
199
+ ...domPreset,
200
+ ...webApiPreset
187
201
  };
188
202
  var recommendedTypeCheckedPreset = {
189
203
  ...recommendedPreset,
@@ -198,9 +212,13 @@ var debugPreset = {
198
212
  "debug/function-component": "warn",
199
213
  "debug/react-hooks": "warn"
200
214
  };
215
+ var disableDomPreset = tools.fromEntries(tools.entries(domPreset).map(([key]) => [key, "off"]));
216
+ var disableWebApiPreset = tools.fromEntries(tools.entries(webApiPreset).map(([key]) => [key, "off"]));
201
217
  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"]));
218
+ var offPreset = {
219
+ ...tools.fromEntries(allPresetEntries.map(([key]) => [key, "off"])),
220
+ ...disableTypeCheckedPreset
221
+ };
204
222
  var corePresetSettings = {
205
223
  ...shared.DEFAULT_ESLINT_REACT_SETTINGS
206
224
  };
@@ -225,21 +243,22 @@ var flatConfigPlugins = {
225
243
  "@eslint-react/debug": reactDebug__namespace,
226
244
  "@eslint-react/dom": reactDom__namespace,
227
245
  "@eslint-react/hooks-extra": reactHooksExtra__namespace,
228
- "@eslint-react/naming-convention": reactNamingConvention__namespace
246
+ "@eslint-react/naming-convention": reactNamingConvention__namespace,
247
+ "@eslint-react/web-api": reactWebApi__namespace
229
248
  };
230
- function createLegacyConfig(rules6, settings = shared.DEFAULT_ESLINT_REACT_SETTINGS) {
249
+ function createLegacyConfig(rules7, settings = shared.DEFAULT_ESLINT_REACT_SETTINGS) {
231
250
  return {
232
251
  plugins: legacyConfigPlugins,
233
- rules: padKeysLeft(rules6, "@eslint-react/"),
252
+ rules: padKeysLeft(rules7, "@eslint-react/"),
234
253
  settings: {
235
254
  "react-x": settings
236
255
  }
237
256
  };
238
257
  }
239
- function createFlatConfig(rules6, settings = shared.DEFAULT_ESLINT_REACT_SETTINGS) {
258
+ function createFlatConfig(rules7, settings = shared.DEFAULT_ESLINT_REACT_SETTINGS) {
240
259
  return {
241
260
  plugins: flatConfigPlugins,
242
- rules: padKeysLeft(rules6, "@eslint-react/"),
261
+ rules: padKeysLeft(rules7, "@eslint-react/"),
243
262
  settings: {
244
263
  "react-x": settings
245
264
  }
@@ -251,37 +270,40 @@ var src_default = {
251
270
  version
252
271
  },
253
272
  configs: {
254
- ["all"]: createFlatConfig(allPreset),
255
- ["all-legacy"]: createLegacyConfig(allPreset),
273
+ /* eslint-disable perfectionist/sort-objects */
256
274
  ["core"]: createFlatConfig(corePreset, corePresetSettings),
257
275
  ["core-legacy"]: createLegacyConfig(corePreset, corePresetSettings),
258
276
  ["debug"]: createFlatConfig(debugPreset),
259
277
  ["debug-legacy"]: createLegacyConfig(debugPreset),
260
278
  ["dom"]: createFlatConfig(domPreset, domPresetSettings),
261
279
  ["dom-legacy"]: createLegacyConfig(domPreset),
262
- ["off"]: createFlatConfig(offPreset),
263
- /**
264
- * @deprecated Use `disable-dom` instead
265
- */
266
- ["off-dom"]: createFlatConfig(offDomPreset),
267
- /**
268
- * @deprecated Use `disable-dom-legacy` instead
269
- */
270
- ["off-dom-legacy"]: createLegacyConfig(offDomPreset),
271
- ["off-legacy"]: createLegacyConfig(offPreset),
272
280
  ["recommended"]: createFlatConfig(recommendedPreset),
273
281
  ["recommended-legacy"]: createLegacyConfig(recommendedPreset),
274
282
  ["recommended-type-checked"]: createFlatConfig(recommendedTypeCheckedPreset),
275
283
  ["recommended-type-checked-legacy"]: createLegacyConfig(recommendedTypeCheckedPreset),
276
284
  // Part: disable presets
277
- ["disable-dom"]: createFlatConfig(offDomPreset),
278
- ["disable-dom-legacy"]: createLegacyConfig(offDomPreset),
285
+ ["disable-dom"]: createFlatConfig(disableDomPreset),
286
+ ["disable-dom-legacy"]: createLegacyConfig(disableDomPreset),
287
+ ["disable-web-api"]: createFlatConfig(disableWebApiPreset),
288
+ ["disable-web-api-legacy"]: createLegacyConfig(disableWebApiPreset),
279
289
  ["disable-type-checked"]: createFlatConfig(disableTypeCheckedPreset),
280
- ["disable-type-checked-legacy"]: createLegacyConfig(disableTypeCheckedPreset)
290
+ ["disable-type-checked-legacy"]: createLegacyConfig(disableTypeCheckedPreset),
291
+ // Part: all or off presets
292
+ ["all"]: createFlatConfig(allPreset),
293
+ ["all-legacy"]: createLegacyConfig(allPreset),
294
+ ["off"]: createFlatConfig(offPreset),
295
+ ["off-legacy"]: createLegacyConfig(offPreset),
296
+ // Part: deprecated presets
297
+ /** @deprecated Use `disable-dom` instead */
298
+ ["off-dom"]: createFlatConfig(disableDomPreset),
299
+ /** @deprecated Use `disable-dom-legacy` instead */
300
+ ["off-dom-legacy"]: createLegacyConfig(disableDomPreset)
301
+ /* eslint-enable perfectionist/sort-objects */
281
302
  },
282
303
  rules: {
283
304
  ...react__namespace.rules,
284
305
  ...padKeysLeft(reactDom__namespace.rules, "dom/"),
306
+ ...padKeysLeft(reactWebApi__namespace.rules, "web-api/"),
285
307
  ...padKeysLeft(reactHooksExtra__namespace.rules, "hooks-extra/"),
286
308
  ...padKeysLeft(reactNamingConvention__namespace.rules, "naming-convention/"),
287
309
  ...padKeysLeft(reactDebug__namespace.rules, "debug/")
package/dist/index.mjs CHANGED
@@ -1,16 +1,17 @@
1
1
  import { DEFAULT_ESLINT_REACT_SETTINGS } from '@eslint-react/shared';
2
- import { entries, fromEntries, typeOf } from '@eslint-react/tools';
2
+ import { fromEntries, entries, typeOf } from '@eslint-react/tools';
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';
6
6
  import * as reactNamingConvention from 'eslint-plugin-react-naming-convention';
7
+ import * as reactWebApi from 'eslint-plugin-react-web-api';
7
8
  import * as react from 'eslint-plugin-react-x';
8
9
 
9
10
  // src/index.ts
10
11
 
11
12
  // package.json
12
13
  var name = "@eslint-react/eslint-plugin";
13
- var version = "1.10.2-next.2";
14
+ var version = "1.11.0-beta.10";
14
15
  function transformKeys(obj, transform) {
15
16
  if (typeOf(obj) !== "object") return obj;
16
17
  const res = {};
@@ -27,6 +28,7 @@ function padKeysLeft(obj, left) {
27
28
 
28
29
  // src/index.ts
29
30
  var allPreset = {
31
+ // Part: Core
30
32
  "avoid-shorthand-boolean": "warn",
31
33
  "avoid-shorthand-fragment": "warn",
32
34
  "ensure-forward-ref-using-ref": "warn",
@@ -72,7 +74,7 @@ var allPreset = {
72
74
  // "prefer-read-only-props": "warn", // This rule requires type information
73
75
  "prefer-shorthand-boolean": "warn",
74
76
  "prefer-shorthand-fragment": "warn",
75
- // eslint-disable-next-line perfectionist/sort-objects
77
+ // Part: DOM
76
78
  "dom/no-children-in-void-dom-elements": "warn",
77
79
  "dom/no-dangerously-set-innerhtml": "warn",
78
80
  "dom/no-dangerously-set-innerhtml-with-children": "error",
@@ -84,6 +86,11 @@ var allPreset = {
84
86
  "dom/no-script-url": "warn",
85
87
  "dom/no-unsafe-iframe-sandbox": "warn",
86
88
  "dom/no-unsafe-target-blank": "warn",
89
+ // Part: Web API
90
+ "web-api/no-leaked-event-listener": "warn",
91
+ "web-api/no-leaked-interval": "warn",
92
+ "web-api/no-leaked-timeout": "warn",
93
+ // Part: Hooks Extra
87
94
  "hooks-extra/ensure-custom-hooks-using-other-hooks": "warn",
88
95
  "hooks-extra/ensure-use-callback-has-non-empty-deps": "warn",
89
96
  "hooks-extra/ensure-use-memo-has-non-empty-deps": "warn",
@@ -155,9 +162,15 @@ var domPreset = {
155
162
  "dom/no-unsafe-iframe-sandbox": "warn",
156
163
  "dom/no-unsafe-target-blank": "warn"
157
164
  };
165
+ var webApiPreset = {
166
+ "web-api/no-leaked-event-listener": "warn",
167
+ "web-api/no-leaked-interval": "warn",
168
+ "web-api/no-leaked-timeout": "warn"
169
+ };
158
170
  var recommendedPreset = {
159
171
  ...corePreset,
160
- ...domPreset
172
+ ...domPreset,
173
+ ...webApiPreset
161
174
  };
162
175
  var recommendedTypeCheckedPreset = {
163
176
  ...recommendedPreset,
@@ -172,9 +185,13 @@ var debugPreset = {
172
185
  "debug/function-component": "warn",
173
186
  "debug/react-hooks": "warn"
174
187
  };
188
+ var disableDomPreset = fromEntries(entries(domPreset).map(([key]) => [key, "off"]));
189
+ var disableWebApiPreset = fromEntries(entries(webApiPreset).map(([key]) => [key, "off"]));
175
190
  var allPresetEntries = entries(allPreset);
176
- var offPreset = fromEntries(allPresetEntries.map(([key]) => [key, "off"]));
177
- var offDomPreset = fromEntries(entries(domPreset).map(([key]) => [key, "off"]));
191
+ var offPreset = {
192
+ ...fromEntries(allPresetEntries.map(([key]) => [key, "off"])),
193
+ ...disableTypeCheckedPreset
194
+ };
178
195
  var corePresetSettings = {
179
196
  ...DEFAULT_ESLINT_REACT_SETTINGS
180
197
  };
@@ -199,21 +216,22 @@ var flatConfigPlugins = {
199
216
  "@eslint-react/debug": reactDebug,
200
217
  "@eslint-react/dom": reactDom,
201
218
  "@eslint-react/hooks-extra": reactHooksExtra,
202
- "@eslint-react/naming-convention": reactNamingConvention
219
+ "@eslint-react/naming-convention": reactNamingConvention,
220
+ "@eslint-react/web-api": reactWebApi
203
221
  };
204
- function createLegacyConfig(rules6, settings = DEFAULT_ESLINT_REACT_SETTINGS) {
222
+ function createLegacyConfig(rules7, settings = DEFAULT_ESLINT_REACT_SETTINGS) {
205
223
  return {
206
224
  plugins: legacyConfigPlugins,
207
- rules: padKeysLeft(rules6, "@eslint-react/"),
225
+ rules: padKeysLeft(rules7, "@eslint-react/"),
208
226
  settings: {
209
227
  "react-x": settings
210
228
  }
211
229
  };
212
230
  }
213
- function createFlatConfig(rules6, settings = DEFAULT_ESLINT_REACT_SETTINGS) {
231
+ function createFlatConfig(rules7, settings = DEFAULT_ESLINT_REACT_SETTINGS) {
214
232
  return {
215
233
  plugins: flatConfigPlugins,
216
- rules: padKeysLeft(rules6, "@eslint-react/"),
234
+ rules: padKeysLeft(rules7, "@eslint-react/"),
217
235
  settings: {
218
236
  "react-x": settings
219
237
  }
@@ -225,37 +243,40 @@ var src_default = {
225
243
  version
226
244
  },
227
245
  configs: {
228
- ["all"]: createFlatConfig(allPreset),
229
- ["all-legacy"]: createLegacyConfig(allPreset),
246
+ /* eslint-disable perfectionist/sort-objects */
230
247
  ["core"]: createFlatConfig(corePreset, corePresetSettings),
231
248
  ["core-legacy"]: createLegacyConfig(corePreset, corePresetSettings),
232
249
  ["debug"]: createFlatConfig(debugPreset),
233
250
  ["debug-legacy"]: createLegacyConfig(debugPreset),
234
251
  ["dom"]: createFlatConfig(domPreset, domPresetSettings),
235
252
  ["dom-legacy"]: createLegacyConfig(domPreset),
236
- ["off"]: createFlatConfig(offPreset),
237
- /**
238
- * @deprecated Use `disable-dom` instead
239
- */
240
- ["off-dom"]: createFlatConfig(offDomPreset),
241
- /**
242
- * @deprecated Use `disable-dom-legacy` instead
243
- */
244
- ["off-dom-legacy"]: createLegacyConfig(offDomPreset),
245
- ["off-legacy"]: createLegacyConfig(offPreset),
246
253
  ["recommended"]: createFlatConfig(recommendedPreset),
247
254
  ["recommended-legacy"]: createLegacyConfig(recommendedPreset),
248
255
  ["recommended-type-checked"]: createFlatConfig(recommendedTypeCheckedPreset),
249
256
  ["recommended-type-checked-legacy"]: createLegacyConfig(recommendedTypeCheckedPreset),
250
257
  // Part: disable presets
251
- ["disable-dom"]: createFlatConfig(offDomPreset),
252
- ["disable-dom-legacy"]: createLegacyConfig(offDomPreset),
258
+ ["disable-dom"]: createFlatConfig(disableDomPreset),
259
+ ["disable-dom-legacy"]: createLegacyConfig(disableDomPreset),
260
+ ["disable-web-api"]: createFlatConfig(disableWebApiPreset),
261
+ ["disable-web-api-legacy"]: createLegacyConfig(disableWebApiPreset),
253
262
  ["disable-type-checked"]: createFlatConfig(disableTypeCheckedPreset),
254
- ["disable-type-checked-legacy"]: createLegacyConfig(disableTypeCheckedPreset)
263
+ ["disable-type-checked-legacy"]: createLegacyConfig(disableTypeCheckedPreset),
264
+ // Part: all or off presets
265
+ ["all"]: createFlatConfig(allPreset),
266
+ ["all-legacy"]: createLegacyConfig(allPreset),
267
+ ["off"]: createFlatConfig(offPreset),
268
+ ["off-legacy"]: createLegacyConfig(offPreset),
269
+ // Part: deprecated presets
270
+ /** @deprecated Use `disable-dom` instead */
271
+ ["off-dom"]: createFlatConfig(disableDomPreset),
272
+ /** @deprecated Use `disable-dom-legacy` instead */
273
+ ["off-dom-legacy"]: createLegacyConfig(disableDomPreset)
274
+ /* eslint-enable perfectionist/sort-objects */
255
275
  },
256
276
  rules: {
257
277
  ...react.rules,
258
278
  ...padKeysLeft(reactDom.rules, "dom/"),
279
+ ...padKeysLeft(reactWebApi.rules, "web-api/"),
259
280
  ...padKeysLeft(reactHooksExtra.rules, "hooks-extra/"),
260
281
  ...padKeysLeft(reactNamingConvention.rules, "naming-convention/"),
261
282
  ...padKeysLeft(reactDebug.rules, "debug/")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eslint-react/eslint-plugin",
3
- "version": "1.10.2-next.2",
3
+ "version": "1.11.0-beta.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,18 +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/shared": "1.10.2-next.2",
51
- "@eslint-react/tools": "1.10.2-next.2",
52
- "@eslint-react/types": "1.10.2-next.2",
53
- "eslint-plugin-react-dom": "1.10.2-next.2",
54
- "eslint-plugin-react-hooks-extra": "1.10.2-next.2",
55
- "eslint-plugin-react-naming-convention": "1.10.2-next.2",
56
- "eslint-plugin-react-x": "1.10.2-next.2",
57
- "eslint-plugin-react-debug": "1.10.2-next.2"
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-beta.10",
51
+ "@eslint-react/tools": "1.11.0-beta.10",
52
+ "@eslint-react/types": "1.11.0-beta.10",
53
+ "eslint-plugin-react-debug": "1.11.0-beta.10",
54
+ "eslint-plugin-react-naming-convention": "1.11.0-beta.10",
55
+ "eslint-plugin-react-dom": "1.11.0-beta.10",
56
+ "eslint-plugin-react-hooks-extra": "1.11.0-beta.10",
57
+ "eslint-plugin-react-web-api": "1.11.0-beta.10",
58
+ "eslint-plugin-react-x": "1.11.0-beta.10"
58
59
  },
59
60
  "devDependencies": {
60
61
  "tsup": "^8.2.4"