eslint-plugin-react-dom 1.37.1-next.5 → 1.37.2-beta.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.
Files changed (3) hide show
  1. package/dist/index.js +157 -154
  2. package/dist/index.mjs +157 -154
  3. package/package.json +7 -7
package/dist/index.js CHANGED
@@ -66,7 +66,7 @@ var settings = {
66
66
 
67
67
  // package.json
68
68
  var name2 = "eslint-plugin-react-dom";
69
- var version = "1.37.1-next.5";
69
+ var version = "1.37.2-beta.1";
70
70
  var createRule = shared.createRuleForPlugin("dom");
71
71
 
72
72
  // src/utils/find-custom-component.ts
@@ -264,53 +264,54 @@ var no_hydrate_default = createRule({
264
264
  schema: []
265
265
  },
266
266
  name: RULE_NAME5,
267
- create(context) {
268
- if (!context.sourceCode.text.includes("hydrate")) return {};
269
- const settings2 = shared.getSettingsFromContext(context);
270
- if (compareVersions.compare(settings2.version, "18.0.0", "<")) return {};
271
- const reactDomNames = /* @__PURE__ */ new Set();
272
- const hydrateNames = /* @__PURE__ */ new Set();
273
- return {
274
- CallExpression(node) {
275
- switch (true) {
276
- case (node.callee.type === types.AST_NODE_TYPES.Identifier && hydrateNames.has(node.callee.name)):
277
- context.report({
278
- messageId: "noHydrate",
279
- node,
280
- fix: getFix(context, node)
281
- });
282
- return;
283
- case (node.callee.type === types.AST_NODE_TYPES.MemberExpression && node.callee.object.type === types.AST_NODE_TYPES.Identifier && node.callee.property.type === types.AST_NODE_TYPES.Identifier && node.callee.property.name === "hydrate" && reactDomNames.has(node.callee.object.name)):
284
- context.report({
285
- messageId: "noHydrate",
286
- node,
287
- fix: getFix(context, node)
288
- });
289
- return;
290
- }
291
- },
292
- ImportDeclaration(node) {
293
- const [baseSource] = node.source.value.split("/");
294
- if (baseSource !== "react-dom") return;
295
- for (const specifier of node.specifiers) {
296
- switch (specifier.type) {
297
- case types.AST_NODE_TYPES.ImportSpecifier:
298
- if (specifier.imported.type !== types.AST_NODE_TYPES.Identifier) continue;
299
- if (specifier.imported.name === "hydrate") {
300
- hydrateNames.add(specifier.local.name);
301
- }
302
- continue;
303
- case types.AST_NODE_TYPES.ImportDefaultSpecifier:
304
- case types.AST_NODE_TYPES.ImportNamespaceSpecifier:
305
- reactDomNames.add(specifier.local.name);
306
- continue;
307
- }
308
- }
309
- }
310
- };
311
- },
267
+ create: create5,
312
268
  defaultOptions: []
313
269
  });
270
+ function create5(context) {
271
+ if (!context.sourceCode.text.includes("hydrate")) return {};
272
+ const settings2 = shared.getSettingsFromContext(context);
273
+ if (compareVersions.compare(settings2.version, "18.0.0", "<")) return {};
274
+ const reactDomNames = /* @__PURE__ */ new Set();
275
+ const hydrateNames = /* @__PURE__ */ new Set();
276
+ return {
277
+ CallExpression(node) {
278
+ switch (true) {
279
+ case (node.callee.type === types.AST_NODE_TYPES.Identifier && hydrateNames.has(node.callee.name)):
280
+ context.report({
281
+ messageId: "noHydrate",
282
+ node,
283
+ fix: getFix(context, node)
284
+ });
285
+ return;
286
+ case (node.callee.type === types.AST_NODE_TYPES.MemberExpression && node.callee.object.type === types.AST_NODE_TYPES.Identifier && node.callee.property.type === types.AST_NODE_TYPES.Identifier && node.callee.property.name === "hydrate" && reactDomNames.has(node.callee.object.name)):
287
+ context.report({
288
+ messageId: "noHydrate",
289
+ node,
290
+ fix: getFix(context, node)
291
+ });
292
+ return;
293
+ }
294
+ },
295
+ ImportDeclaration(node) {
296
+ const [baseSource] = node.source.value.split("/");
297
+ if (baseSource !== "react-dom") return;
298
+ for (const specifier of node.specifiers) {
299
+ switch (specifier.type) {
300
+ case types.AST_NODE_TYPES.ImportSpecifier:
301
+ if (specifier.imported.type !== types.AST_NODE_TYPES.Identifier) continue;
302
+ if (specifier.imported.name === "hydrate") {
303
+ hydrateNames.add(specifier.local.name);
304
+ }
305
+ continue;
306
+ case types.AST_NODE_TYPES.ImportDefaultSpecifier:
307
+ case types.AST_NODE_TYPES.ImportNamespaceSpecifier:
308
+ reactDomNames.add(specifier.local.name);
309
+ continue;
310
+ }
311
+ }
312
+ }
313
+ };
314
+ }
314
315
  function getFix(context, node) {
315
316
  const getText2 = (n) => context.sourceCode.getText(n);
316
317
  return (fixer) => {
@@ -337,10 +338,10 @@ var no_missing_button_type_default = createRule({
337
338
  schema: []
338
339
  },
339
340
  name: RULE_NAME6,
340
- create: create5,
341
+ create: create6,
341
342
  defaultOptions: []
342
343
  });
343
- function create5(context) {
344
+ function create6(context) {
344
345
  const settings2 = shared.getSettingsFromContext(context);
345
346
  const polymorphicPropName = settings2.polymorphicPropName;
346
347
  const additionalComponents = settings2.additionalComponents.filter((c) => c.as === "button");
@@ -418,10 +419,10 @@ var no_missing_iframe_sandbox_default = createRule({
418
419
  schema: []
419
420
  },
420
421
  name: RULE_NAME7,
421
- create: create6,
422
+ create: create7,
422
423
  defaultOptions: []
423
424
  });
424
- function create6(context) {
425
+ function create7(context) {
425
426
  const settings2 = shared.getSettingsFromContext(context);
426
427
  const polymorphicPropName = settings2.polymorphicPropName;
427
428
  const additionalComponents = settings2.additionalComponents.filter((c) => c.as === "iframe");
@@ -477,10 +478,10 @@ var no_namespace_default = createRule({
477
478
  schema: []
478
479
  },
479
480
  name: RULE_NAME8,
480
- create: create7,
481
+ create: create8,
481
482
  defaultOptions: []
482
483
  });
483
- function create7(context) {
484
+ function create8(context) {
484
485
  return {
485
486
  JSXElement(node) {
486
487
  const name3 = JSX__namespace.getElementType(node);
@@ -515,53 +516,54 @@ var no_render_default = createRule({
515
516
  schema: []
516
517
  },
517
518
  name: RULE_NAME9,
518
- create(context) {
519
- if (!context.sourceCode.text.includes("render")) return {};
520
- const settings2 = shared.getSettingsFromContext(context);
521
- if (compareVersions.compare(settings2.version, "18.0.0", "<")) return {};
522
- const reactDomNames = /* @__PURE__ */ new Set();
523
- const renderNames = /* @__PURE__ */ new Set();
524
- return {
525
- CallExpression(node) {
526
- switch (true) {
527
- case (node.callee.type === types.AST_NODE_TYPES.Identifier && renderNames.has(node.callee.name)):
528
- context.report({
529
- messageId: "noRender",
530
- node,
531
- fix: getFix2(context, node)
532
- });
533
- return;
534
- case (node.callee.type === types.AST_NODE_TYPES.MemberExpression && node.callee.object.type === types.AST_NODE_TYPES.Identifier && node.callee.property.type === types.AST_NODE_TYPES.Identifier && node.callee.property.name === "render" && reactDomNames.has(node.callee.object.name)):
535
- context.report({
536
- messageId: "noRender",
537
- node,
538
- fix: getFix2(context, node)
539
- });
540
- return;
541
- }
542
- },
543
- ImportDeclaration(node) {
544
- const [baseSource] = node.source.value.split("/");
545
- if (baseSource !== "react-dom") return;
546
- for (const specifier of node.specifiers) {
547
- switch (specifier.type) {
548
- case types.AST_NODE_TYPES.ImportSpecifier:
549
- if (specifier.imported.type !== types.AST_NODE_TYPES.Identifier) continue;
550
- if (specifier.imported.name === "render") {
551
- renderNames.add(specifier.local.name);
552
- }
553
- continue;
554
- case types.AST_NODE_TYPES.ImportDefaultSpecifier:
555
- case types.AST_NODE_TYPES.ImportNamespaceSpecifier:
556
- reactDomNames.add(specifier.local.name);
557
- continue;
558
- }
559
- }
560
- }
561
- };
562
- },
519
+ create: create9,
563
520
  defaultOptions: []
564
521
  });
522
+ function create9(context) {
523
+ if (!context.sourceCode.text.includes("render")) return {};
524
+ const settings2 = shared.getSettingsFromContext(context);
525
+ if (compareVersions.compare(settings2.version, "18.0.0", "<")) return {};
526
+ const reactDomNames = /* @__PURE__ */ new Set();
527
+ const renderNames = /* @__PURE__ */ new Set();
528
+ return {
529
+ CallExpression(node) {
530
+ switch (true) {
531
+ case (node.callee.type === types.AST_NODE_TYPES.Identifier && renderNames.has(node.callee.name)):
532
+ context.report({
533
+ messageId: "noRender",
534
+ node,
535
+ fix: getFix2(context, node)
536
+ });
537
+ return;
538
+ case (node.callee.type === types.AST_NODE_TYPES.MemberExpression && node.callee.object.type === types.AST_NODE_TYPES.Identifier && node.callee.property.type === types.AST_NODE_TYPES.Identifier && node.callee.property.name === "render" && reactDomNames.has(node.callee.object.name)):
539
+ context.report({
540
+ messageId: "noRender",
541
+ node,
542
+ fix: getFix2(context, node)
543
+ });
544
+ return;
545
+ }
546
+ },
547
+ ImportDeclaration(node) {
548
+ const [baseSource] = node.source.value.split("/");
549
+ if (baseSource !== "react-dom") return;
550
+ for (const specifier of node.specifiers) {
551
+ switch (specifier.type) {
552
+ case types.AST_NODE_TYPES.ImportSpecifier:
553
+ if (specifier.imported.type !== types.AST_NODE_TYPES.Identifier) continue;
554
+ if (specifier.imported.name === "render") {
555
+ renderNames.add(specifier.local.name);
556
+ }
557
+ continue;
558
+ case types.AST_NODE_TYPES.ImportDefaultSpecifier:
559
+ case types.AST_NODE_TYPES.ImportNamespaceSpecifier:
560
+ reactDomNames.add(specifier.local.name);
561
+ continue;
562
+ }
563
+ }
564
+ }
565
+ };
566
+ }
565
567
  function getFix2(context, node) {
566
568
  const getText2 = (n) => context.sourceCode.getText(n);
567
569
  return (fixer) => {
@@ -595,10 +597,10 @@ var no_render_return_value_default = createRule({
595
597
  schema: []
596
598
  },
597
599
  name: RULE_NAME10,
598
- create: create8,
600
+ create: create10,
599
601
  defaultOptions: []
600
602
  });
601
- function create8(context) {
603
+ function create10(context) {
602
604
  return {
603
605
  CallExpression(node) {
604
606
  const { callee, parent } = node;
@@ -640,10 +642,10 @@ var no_script_url_default = createRule({
640
642
  schema: []
641
643
  },
642
644
  name: RULE_NAME11,
643
- create: create9,
645
+ create: create11,
644
646
  defaultOptions: []
645
647
  });
646
- function create9(context) {
648
+ function create11(context) {
647
649
  return {
648
650
  JSXAttribute(node) {
649
651
  if (node.name.type !== types.AST_NODE_TYPES.JSXIdentifier || node.value == null) {
@@ -1626,10 +1628,10 @@ var no_unknown_property_default = createRule({
1626
1628
  }]
1627
1629
  },
1628
1630
  name: RULE_NAME12,
1629
- create: create10,
1631
+ create: create12,
1630
1632
  defaultOptions: []
1631
1633
  });
1632
- function create10(context) {
1634
+ function create12(context) {
1633
1635
  const report = shared.createReport(context);
1634
1636
  function getIgnoreConfig() {
1635
1637
  return context.options[0]?.ignore || DEFAULTS.ignore;
@@ -1744,10 +1746,10 @@ var no_unsafe_iframe_sandbox_default = createRule({
1744
1746
  schema: []
1745
1747
  },
1746
1748
  name: RULE_NAME13,
1747
- create: create11,
1749
+ create: create13,
1748
1750
  defaultOptions: []
1749
1751
  });
1750
- function create11(context) {
1752
+ function create13(context) {
1751
1753
  const settings2 = shared.getSettingsFromContext(context);
1752
1754
  const polymorphicPropName = settings2.polymorphicPropName;
1753
1755
  const additionalComponents = settings2.additionalComponents.filter((c) => c.as === "iframe");
@@ -1813,10 +1815,10 @@ var no_unsafe_target_blank_default = createRule({
1813
1815
  schema: []
1814
1816
  },
1815
1817
  name: RULE_NAME14,
1816
- create: create12,
1818
+ create: create14,
1817
1819
  defaultOptions: []
1818
1820
  });
1819
- function create12(context) {
1821
+ function create14(context) {
1820
1822
  const settings2 = shared.getSettingsFromContext(context);
1821
1823
  const polymorphicPropName = settings2.polymorphicPropName;
1822
1824
  const additionalComponents = settings2.additionalComponents.filter((c) => c.as === "a");
@@ -1881,53 +1883,54 @@ var no_use_form_state_default = createRule({
1881
1883
  schema: []
1882
1884
  },
1883
1885
  name: RULE_NAME15,
1884
- create(context) {
1885
- if (!context.sourceCode.text.includes("useFormState")) return {};
1886
- const settings2 = shared.getSettingsFromContext(context);
1887
- if (compareVersions.compare(settings2.version, "19.0.0", "<")) return {};
1888
- const reactDomNames = /* @__PURE__ */ new Set();
1889
- const useFormStateNames = /* @__PURE__ */ new Set();
1890
- return {
1891
- CallExpression(node) {
1892
- switch (true) {
1893
- case (node.callee.type === types.AST_NODE_TYPES.Identifier && useFormStateNames.has(node.callee.name)):
1894
- context.report({
1895
- messageId: "noUseFormState",
1896
- node,
1897
- fix: getFix3(context, node)
1898
- });
1899
- return;
1900
- case (node.callee.type === types.AST_NODE_TYPES.MemberExpression && node.callee.object.type === types.AST_NODE_TYPES.Identifier && node.callee.property.type === types.AST_NODE_TYPES.Identifier && node.callee.property.name === "useFormState" && reactDomNames.has(node.callee.object.name)):
1901
- context.report({
1902
- messageId: "noUseFormState",
1903
- node,
1904
- fix: getFix3(context, node)
1905
- });
1906
- return;
1907
- }
1908
- },
1909
- ImportDeclaration(node) {
1910
- const [baseSource] = node.source.value.split("/");
1911
- if (baseSource !== "react-dom") return;
1912
- for (const specifier of node.specifiers) {
1913
- switch (specifier.type) {
1914
- case types.AST_NODE_TYPES.ImportSpecifier:
1915
- if (specifier.imported.type !== types.AST_NODE_TYPES.Identifier) continue;
1916
- if (specifier.imported.name === "useFormState") {
1917
- useFormStateNames.add(specifier.local.name);
1918
- }
1919
- continue;
1920
- case types.AST_NODE_TYPES.ImportDefaultSpecifier:
1921
- case types.AST_NODE_TYPES.ImportNamespaceSpecifier:
1922
- reactDomNames.add(specifier.local.name);
1923
- continue;
1924
- }
1925
- }
1926
- }
1927
- };
1928
- },
1886
+ create: create15,
1929
1887
  defaultOptions: []
1930
1888
  });
1889
+ function create15(context) {
1890
+ if (!context.sourceCode.text.includes("useFormState")) return {};
1891
+ const settings2 = shared.getSettingsFromContext(context);
1892
+ if (compareVersions.compare(settings2.version, "19.0.0", "<")) return {};
1893
+ const reactDomNames = /* @__PURE__ */ new Set();
1894
+ const useFormStateNames = /* @__PURE__ */ new Set();
1895
+ return {
1896
+ CallExpression(node) {
1897
+ switch (true) {
1898
+ case (node.callee.type === types.AST_NODE_TYPES.Identifier && useFormStateNames.has(node.callee.name)):
1899
+ context.report({
1900
+ messageId: "noUseFormState",
1901
+ node,
1902
+ fix: getFix3(context, node)
1903
+ });
1904
+ return;
1905
+ case (node.callee.type === types.AST_NODE_TYPES.MemberExpression && node.callee.object.type === types.AST_NODE_TYPES.Identifier && node.callee.property.type === types.AST_NODE_TYPES.Identifier && node.callee.property.name === "useFormState" && reactDomNames.has(node.callee.object.name)):
1906
+ context.report({
1907
+ messageId: "noUseFormState",
1908
+ node,
1909
+ fix: getFix3(context, node)
1910
+ });
1911
+ return;
1912
+ }
1913
+ },
1914
+ ImportDeclaration(node) {
1915
+ const [baseSource] = node.source.value.split("/");
1916
+ if (baseSource !== "react-dom") return;
1917
+ for (const specifier of node.specifiers) {
1918
+ switch (specifier.type) {
1919
+ case types.AST_NODE_TYPES.ImportSpecifier:
1920
+ if (specifier.imported.type !== types.AST_NODE_TYPES.Identifier) continue;
1921
+ if (specifier.imported.name === "useFormState") {
1922
+ useFormStateNames.add(specifier.local.name);
1923
+ }
1924
+ continue;
1925
+ case types.AST_NODE_TYPES.ImportDefaultSpecifier:
1926
+ case types.AST_NODE_TYPES.ImportNamespaceSpecifier:
1927
+ reactDomNames.add(specifier.local.name);
1928
+ continue;
1929
+ }
1930
+ }
1931
+ }
1932
+ };
1933
+ }
1931
1934
  function getFix3(context, node) {
1932
1935
  const { importSource } = shared.getSettingsFromContext(context);
1933
1936
  return (fixer) => {
@@ -1971,10 +1974,10 @@ var no_void_elements_with_children_default = createRule({
1971
1974
  schema: []
1972
1975
  },
1973
1976
  name: RULE_NAME16,
1974
- create: create13,
1977
+ create: create16,
1975
1978
  defaultOptions: []
1976
1979
  });
1977
- function create13(context) {
1980
+ function create16(context) {
1978
1981
  return {
1979
1982
  JSXElement(node) {
1980
1983
  const elementName = JSX__namespace.getElementType(node);
package/dist/index.mjs CHANGED
@@ -43,7 +43,7 @@ var settings = {
43
43
 
44
44
  // package.json
45
45
  var name2 = "eslint-plugin-react-dom";
46
- var version = "1.37.1-next.5";
46
+ var version = "1.37.2-beta.1";
47
47
  var createRule = createRuleForPlugin("dom");
48
48
 
49
49
  // src/utils/find-custom-component.ts
@@ -241,53 +241,54 @@ var no_hydrate_default = createRule({
241
241
  schema: []
242
242
  },
243
243
  name: RULE_NAME5,
244
- create(context) {
245
- if (!context.sourceCode.text.includes("hydrate")) return {};
246
- const settings2 = getSettingsFromContext(context);
247
- if (compare(settings2.version, "18.0.0", "<")) return {};
248
- const reactDomNames = /* @__PURE__ */ new Set();
249
- const hydrateNames = /* @__PURE__ */ new Set();
250
- return {
251
- CallExpression(node) {
252
- switch (true) {
253
- case (node.callee.type === AST_NODE_TYPES.Identifier && hydrateNames.has(node.callee.name)):
254
- context.report({
255
- messageId: "noHydrate",
256
- node,
257
- fix: getFix(context, node)
258
- });
259
- return;
260
- case (node.callee.type === AST_NODE_TYPES.MemberExpression && node.callee.object.type === AST_NODE_TYPES.Identifier && node.callee.property.type === AST_NODE_TYPES.Identifier && node.callee.property.name === "hydrate" && reactDomNames.has(node.callee.object.name)):
261
- context.report({
262
- messageId: "noHydrate",
263
- node,
264
- fix: getFix(context, node)
265
- });
266
- return;
267
- }
268
- },
269
- ImportDeclaration(node) {
270
- const [baseSource] = node.source.value.split("/");
271
- if (baseSource !== "react-dom") return;
272
- for (const specifier of node.specifiers) {
273
- switch (specifier.type) {
274
- case AST_NODE_TYPES.ImportSpecifier:
275
- if (specifier.imported.type !== AST_NODE_TYPES.Identifier) continue;
276
- if (specifier.imported.name === "hydrate") {
277
- hydrateNames.add(specifier.local.name);
278
- }
279
- continue;
280
- case AST_NODE_TYPES.ImportDefaultSpecifier:
281
- case AST_NODE_TYPES.ImportNamespaceSpecifier:
282
- reactDomNames.add(specifier.local.name);
283
- continue;
284
- }
285
- }
286
- }
287
- };
288
- },
244
+ create: create5,
289
245
  defaultOptions: []
290
246
  });
247
+ function create5(context) {
248
+ if (!context.sourceCode.text.includes("hydrate")) return {};
249
+ const settings2 = getSettingsFromContext(context);
250
+ if (compare(settings2.version, "18.0.0", "<")) return {};
251
+ const reactDomNames = /* @__PURE__ */ new Set();
252
+ const hydrateNames = /* @__PURE__ */ new Set();
253
+ return {
254
+ CallExpression(node) {
255
+ switch (true) {
256
+ case (node.callee.type === AST_NODE_TYPES.Identifier && hydrateNames.has(node.callee.name)):
257
+ context.report({
258
+ messageId: "noHydrate",
259
+ node,
260
+ fix: getFix(context, node)
261
+ });
262
+ return;
263
+ case (node.callee.type === AST_NODE_TYPES.MemberExpression && node.callee.object.type === AST_NODE_TYPES.Identifier && node.callee.property.type === AST_NODE_TYPES.Identifier && node.callee.property.name === "hydrate" && reactDomNames.has(node.callee.object.name)):
264
+ context.report({
265
+ messageId: "noHydrate",
266
+ node,
267
+ fix: getFix(context, node)
268
+ });
269
+ return;
270
+ }
271
+ },
272
+ ImportDeclaration(node) {
273
+ const [baseSource] = node.source.value.split("/");
274
+ if (baseSource !== "react-dom") return;
275
+ for (const specifier of node.specifiers) {
276
+ switch (specifier.type) {
277
+ case AST_NODE_TYPES.ImportSpecifier:
278
+ if (specifier.imported.type !== AST_NODE_TYPES.Identifier) continue;
279
+ if (specifier.imported.name === "hydrate") {
280
+ hydrateNames.add(specifier.local.name);
281
+ }
282
+ continue;
283
+ case AST_NODE_TYPES.ImportDefaultSpecifier:
284
+ case AST_NODE_TYPES.ImportNamespaceSpecifier:
285
+ reactDomNames.add(specifier.local.name);
286
+ continue;
287
+ }
288
+ }
289
+ }
290
+ };
291
+ }
291
292
  function getFix(context, node) {
292
293
  const getText2 = (n) => context.sourceCode.getText(n);
293
294
  return (fixer) => {
@@ -314,10 +315,10 @@ var no_missing_button_type_default = createRule({
314
315
  schema: []
315
316
  },
316
317
  name: RULE_NAME6,
317
- create: create5,
318
+ create: create6,
318
319
  defaultOptions: []
319
320
  });
320
- function create5(context) {
321
+ function create6(context) {
321
322
  const settings2 = getSettingsFromContext(context);
322
323
  const polymorphicPropName = settings2.polymorphicPropName;
323
324
  const additionalComponents = settings2.additionalComponents.filter((c) => c.as === "button");
@@ -395,10 +396,10 @@ var no_missing_iframe_sandbox_default = createRule({
395
396
  schema: []
396
397
  },
397
398
  name: RULE_NAME7,
398
- create: create6,
399
+ create: create7,
399
400
  defaultOptions: []
400
401
  });
401
- function create6(context) {
402
+ function create7(context) {
402
403
  const settings2 = getSettingsFromContext(context);
403
404
  const polymorphicPropName = settings2.polymorphicPropName;
404
405
  const additionalComponents = settings2.additionalComponents.filter((c) => c.as === "iframe");
@@ -454,10 +455,10 @@ var no_namespace_default = createRule({
454
455
  schema: []
455
456
  },
456
457
  name: RULE_NAME8,
457
- create: create7,
458
+ create: create8,
458
459
  defaultOptions: []
459
460
  });
460
- function create7(context) {
461
+ function create8(context) {
461
462
  return {
462
463
  JSXElement(node) {
463
464
  const name3 = JSX.getElementType(node);
@@ -492,53 +493,54 @@ var no_render_default = createRule({
492
493
  schema: []
493
494
  },
494
495
  name: RULE_NAME9,
495
- create(context) {
496
- if (!context.sourceCode.text.includes("render")) return {};
497
- const settings2 = getSettingsFromContext(context);
498
- if (compare(settings2.version, "18.0.0", "<")) return {};
499
- const reactDomNames = /* @__PURE__ */ new Set();
500
- const renderNames = /* @__PURE__ */ new Set();
501
- return {
502
- CallExpression(node) {
503
- switch (true) {
504
- case (node.callee.type === AST_NODE_TYPES.Identifier && renderNames.has(node.callee.name)):
505
- context.report({
506
- messageId: "noRender",
507
- node,
508
- fix: getFix2(context, node)
509
- });
510
- return;
511
- case (node.callee.type === AST_NODE_TYPES.MemberExpression && node.callee.object.type === AST_NODE_TYPES.Identifier && node.callee.property.type === AST_NODE_TYPES.Identifier && node.callee.property.name === "render" && reactDomNames.has(node.callee.object.name)):
512
- context.report({
513
- messageId: "noRender",
514
- node,
515
- fix: getFix2(context, node)
516
- });
517
- return;
518
- }
519
- },
520
- ImportDeclaration(node) {
521
- const [baseSource] = node.source.value.split("/");
522
- if (baseSource !== "react-dom") return;
523
- for (const specifier of node.specifiers) {
524
- switch (specifier.type) {
525
- case AST_NODE_TYPES.ImportSpecifier:
526
- if (specifier.imported.type !== AST_NODE_TYPES.Identifier) continue;
527
- if (specifier.imported.name === "render") {
528
- renderNames.add(specifier.local.name);
529
- }
530
- continue;
531
- case AST_NODE_TYPES.ImportDefaultSpecifier:
532
- case AST_NODE_TYPES.ImportNamespaceSpecifier:
533
- reactDomNames.add(specifier.local.name);
534
- continue;
535
- }
536
- }
537
- }
538
- };
539
- },
496
+ create: create9,
540
497
  defaultOptions: []
541
498
  });
499
+ function create9(context) {
500
+ if (!context.sourceCode.text.includes("render")) return {};
501
+ const settings2 = getSettingsFromContext(context);
502
+ if (compare(settings2.version, "18.0.0", "<")) return {};
503
+ const reactDomNames = /* @__PURE__ */ new Set();
504
+ const renderNames = /* @__PURE__ */ new Set();
505
+ return {
506
+ CallExpression(node) {
507
+ switch (true) {
508
+ case (node.callee.type === AST_NODE_TYPES.Identifier && renderNames.has(node.callee.name)):
509
+ context.report({
510
+ messageId: "noRender",
511
+ node,
512
+ fix: getFix2(context, node)
513
+ });
514
+ return;
515
+ case (node.callee.type === AST_NODE_TYPES.MemberExpression && node.callee.object.type === AST_NODE_TYPES.Identifier && node.callee.property.type === AST_NODE_TYPES.Identifier && node.callee.property.name === "render" && reactDomNames.has(node.callee.object.name)):
516
+ context.report({
517
+ messageId: "noRender",
518
+ node,
519
+ fix: getFix2(context, node)
520
+ });
521
+ return;
522
+ }
523
+ },
524
+ ImportDeclaration(node) {
525
+ const [baseSource] = node.source.value.split("/");
526
+ if (baseSource !== "react-dom") return;
527
+ for (const specifier of node.specifiers) {
528
+ switch (specifier.type) {
529
+ case AST_NODE_TYPES.ImportSpecifier:
530
+ if (specifier.imported.type !== AST_NODE_TYPES.Identifier) continue;
531
+ if (specifier.imported.name === "render") {
532
+ renderNames.add(specifier.local.name);
533
+ }
534
+ continue;
535
+ case AST_NODE_TYPES.ImportDefaultSpecifier:
536
+ case AST_NODE_TYPES.ImportNamespaceSpecifier:
537
+ reactDomNames.add(specifier.local.name);
538
+ continue;
539
+ }
540
+ }
541
+ }
542
+ };
543
+ }
542
544
  function getFix2(context, node) {
543
545
  const getText2 = (n) => context.sourceCode.getText(n);
544
546
  return (fixer) => {
@@ -572,10 +574,10 @@ var no_render_return_value_default = createRule({
572
574
  schema: []
573
575
  },
574
576
  name: RULE_NAME10,
575
- create: create8,
577
+ create: create10,
576
578
  defaultOptions: []
577
579
  });
578
- function create8(context) {
580
+ function create10(context) {
579
581
  return {
580
582
  CallExpression(node) {
581
583
  const { callee, parent } = node;
@@ -617,10 +619,10 @@ var no_script_url_default = createRule({
617
619
  schema: []
618
620
  },
619
621
  name: RULE_NAME11,
620
- create: create9,
622
+ create: create11,
621
623
  defaultOptions: []
622
624
  });
623
- function create9(context) {
625
+ function create11(context) {
624
626
  return {
625
627
  JSXAttribute(node) {
626
628
  if (node.name.type !== AST_NODE_TYPES.JSXIdentifier || node.value == null) {
@@ -1603,10 +1605,10 @@ var no_unknown_property_default = createRule({
1603
1605
  }]
1604
1606
  },
1605
1607
  name: RULE_NAME12,
1606
- create: create10,
1608
+ create: create12,
1607
1609
  defaultOptions: []
1608
1610
  });
1609
- function create10(context) {
1611
+ function create12(context) {
1610
1612
  const report = createReport(context);
1611
1613
  function getIgnoreConfig() {
1612
1614
  return context.options[0]?.ignore || DEFAULTS.ignore;
@@ -1721,10 +1723,10 @@ var no_unsafe_iframe_sandbox_default = createRule({
1721
1723
  schema: []
1722
1724
  },
1723
1725
  name: RULE_NAME13,
1724
- create: create11,
1726
+ create: create13,
1725
1727
  defaultOptions: []
1726
1728
  });
1727
- function create11(context) {
1729
+ function create13(context) {
1728
1730
  const settings2 = getSettingsFromContext(context);
1729
1731
  const polymorphicPropName = settings2.polymorphicPropName;
1730
1732
  const additionalComponents = settings2.additionalComponents.filter((c) => c.as === "iframe");
@@ -1790,10 +1792,10 @@ var no_unsafe_target_blank_default = createRule({
1790
1792
  schema: []
1791
1793
  },
1792
1794
  name: RULE_NAME14,
1793
- create: create12,
1795
+ create: create14,
1794
1796
  defaultOptions: []
1795
1797
  });
1796
- function create12(context) {
1798
+ function create14(context) {
1797
1799
  const settings2 = getSettingsFromContext(context);
1798
1800
  const polymorphicPropName = settings2.polymorphicPropName;
1799
1801
  const additionalComponents = settings2.additionalComponents.filter((c) => c.as === "a");
@@ -1858,53 +1860,54 @@ var no_use_form_state_default = createRule({
1858
1860
  schema: []
1859
1861
  },
1860
1862
  name: RULE_NAME15,
1861
- create(context) {
1862
- if (!context.sourceCode.text.includes("useFormState")) return {};
1863
- const settings2 = getSettingsFromContext(context);
1864
- if (compare(settings2.version, "19.0.0", "<")) return {};
1865
- const reactDomNames = /* @__PURE__ */ new Set();
1866
- const useFormStateNames = /* @__PURE__ */ new Set();
1867
- return {
1868
- CallExpression(node) {
1869
- switch (true) {
1870
- case (node.callee.type === AST_NODE_TYPES.Identifier && useFormStateNames.has(node.callee.name)):
1871
- context.report({
1872
- messageId: "noUseFormState",
1873
- node,
1874
- fix: getFix3(context, node)
1875
- });
1876
- return;
1877
- case (node.callee.type === AST_NODE_TYPES.MemberExpression && node.callee.object.type === AST_NODE_TYPES.Identifier && node.callee.property.type === AST_NODE_TYPES.Identifier && node.callee.property.name === "useFormState" && reactDomNames.has(node.callee.object.name)):
1878
- context.report({
1879
- messageId: "noUseFormState",
1880
- node,
1881
- fix: getFix3(context, node)
1882
- });
1883
- return;
1884
- }
1885
- },
1886
- ImportDeclaration(node) {
1887
- const [baseSource] = node.source.value.split("/");
1888
- if (baseSource !== "react-dom") return;
1889
- for (const specifier of node.specifiers) {
1890
- switch (specifier.type) {
1891
- case AST_NODE_TYPES.ImportSpecifier:
1892
- if (specifier.imported.type !== AST_NODE_TYPES.Identifier) continue;
1893
- if (specifier.imported.name === "useFormState") {
1894
- useFormStateNames.add(specifier.local.name);
1895
- }
1896
- continue;
1897
- case AST_NODE_TYPES.ImportDefaultSpecifier:
1898
- case AST_NODE_TYPES.ImportNamespaceSpecifier:
1899
- reactDomNames.add(specifier.local.name);
1900
- continue;
1901
- }
1902
- }
1903
- }
1904
- };
1905
- },
1863
+ create: create15,
1906
1864
  defaultOptions: []
1907
1865
  });
1866
+ function create15(context) {
1867
+ if (!context.sourceCode.text.includes("useFormState")) return {};
1868
+ const settings2 = getSettingsFromContext(context);
1869
+ if (compare(settings2.version, "19.0.0", "<")) return {};
1870
+ const reactDomNames = /* @__PURE__ */ new Set();
1871
+ const useFormStateNames = /* @__PURE__ */ new Set();
1872
+ return {
1873
+ CallExpression(node) {
1874
+ switch (true) {
1875
+ case (node.callee.type === AST_NODE_TYPES.Identifier && useFormStateNames.has(node.callee.name)):
1876
+ context.report({
1877
+ messageId: "noUseFormState",
1878
+ node,
1879
+ fix: getFix3(context, node)
1880
+ });
1881
+ return;
1882
+ case (node.callee.type === AST_NODE_TYPES.MemberExpression && node.callee.object.type === AST_NODE_TYPES.Identifier && node.callee.property.type === AST_NODE_TYPES.Identifier && node.callee.property.name === "useFormState" && reactDomNames.has(node.callee.object.name)):
1883
+ context.report({
1884
+ messageId: "noUseFormState",
1885
+ node,
1886
+ fix: getFix3(context, node)
1887
+ });
1888
+ return;
1889
+ }
1890
+ },
1891
+ ImportDeclaration(node) {
1892
+ const [baseSource] = node.source.value.split("/");
1893
+ if (baseSource !== "react-dom") return;
1894
+ for (const specifier of node.specifiers) {
1895
+ switch (specifier.type) {
1896
+ case AST_NODE_TYPES.ImportSpecifier:
1897
+ if (specifier.imported.type !== AST_NODE_TYPES.Identifier) continue;
1898
+ if (specifier.imported.name === "useFormState") {
1899
+ useFormStateNames.add(specifier.local.name);
1900
+ }
1901
+ continue;
1902
+ case AST_NODE_TYPES.ImportDefaultSpecifier:
1903
+ case AST_NODE_TYPES.ImportNamespaceSpecifier:
1904
+ reactDomNames.add(specifier.local.name);
1905
+ continue;
1906
+ }
1907
+ }
1908
+ }
1909
+ };
1910
+ }
1908
1911
  function getFix3(context, node) {
1909
1912
  const { importSource } = getSettingsFromContext(context);
1910
1913
  return (fixer) => {
@@ -1948,10 +1951,10 @@ var no_void_elements_with_children_default = createRule({
1948
1951
  schema: []
1949
1952
  },
1950
1953
  name: RULE_NAME16,
1951
- create: create13,
1954
+ create: create16,
1952
1955
  defaultOptions: []
1953
1956
  });
1954
- function create13(context) {
1957
+ function create16(context) {
1955
1958
  return {
1956
1959
  JSXElement(node) {
1957
1960
  const elementName = JSX.getElementType(node);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-react-dom",
3
- "version": "1.37.1-next.5",
3
+ "version": "1.37.2-beta.1",
4
4
  "description": "ESLint React's ESLint plugin for React DOM related rules.",
5
5
  "keywords": [
6
6
  "react",
@@ -49,12 +49,12 @@
49
49
  "compare-versions": "^6.1.1",
50
50
  "string-ts": "^2.2.1",
51
51
  "ts-pattern": "^5.6.2",
52
- "@eslint-react/ast": "1.37.1-next.5",
53
- "@eslint-react/core": "1.37.1-next.5",
54
- "@eslint-react/eff": "1.37.1-next.5",
55
- "@eslint-react/shared": "1.37.1-next.5",
56
- "@eslint-react/var": "1.37.1-next.5",
57
- "@eslint-react/jsx": "1.37.1-next.5"
52
+ "@eslint-react/ast": "1.37.2-beta.1",
53
+ "@eslint-react/eff": "1.37.2-beta.1",
54
+ "@eslint-react/core": "1.37.2-beta.1",
55
+ "@eslint-react/jsx": "1.37.2-beta.1",
56
+ "@eslint-react/shared": "1.37.2-beta.1",
57
+ "@eslint-react/var": "1.37.2-beta.1"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@types/react": "^19.0.12",