eslint-plugin-react-x 1.24.0-next.8 → 1.24.0-next.9

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
@@ -42,7 +42,7 @@ var ts__default = /*#__PURE__*/_interopDefault(ts);
42
42
 
43
43
  // package.json
44
44
  var name = "eslint-plugin-react-x";
45
- var version = "1.24.0-next.8";
45
+ var version = "1.24.0-next.9";
46
46
  var createRule = shared.createRuleForPlugin("x");
47
47
 
48
48
  // src/rules/avoid-shorthand-boolean.ts
@@ -661,12 +661,6 @@ var RULE_NAME12 = "no-class-component";
661
661
  var RULE_FEATURES12 = [
662
662
  "CHK"
663
663
  ];
664
- function isComponentDidCatch(node) {
665
- return (node.type === types.AST_NODE_TYPES.MethodDefinition || node.type === types.AST_NODE_TYPES.PropertyDefinition) && !node.static && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentDidCatch";
666
- }
667
- function isGetDerivedStateFromError(node) {
668
- return (node.type === types.AST_NODE_TYPES.MethodDefinition || node.type === types.AST_NODE_TYPES.PropertyDefinition) && node.static && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "getDerivedStateFromError";
669
- }
670
664
  var no_class_component_default = createRule({
671
665
  meta: {
672
666
  type: "problem",
@@ -690,7 +684,7 @@ var no_class_component_default = createRule({
690
684
  "Program:exit"(node) {
691
685
  const components = ctx.getAllComponents(node);
692
686
  for (const { name: name2 = "anonymous", node: component } of components.values()) {
693
- if (component.body.body.some((m) => isComponentDidCatch(m) || isGetDerivedStateFromError(m))) {
687
+ if (component.body.body.some((m) => core.isComponentDidCatch(m) || core.isGetDerivedStateFromError(m))) {
694
688
  continue;
695
689
  }
696
690
  context.report({
@@ -2680,15 +2674,6 @@ function isAssignmentToThisState2(node) {
2680
2674
  const { left } = node;
2681
2675
  return left.type === types.AST_NODE_TYPES.MemberExpression && AST11__namespace.isThisExpression(left.object) && getName4(left.property) === "state";
2682
2676
  }
2683
- var isGetDerivedStateFromProps = tsPattern.isMatching({
2684
- key: {
2685
- name: "getDerivedStateFromProps"
2686
- },
2687
- static: true,
2688
- value: {
2689
- params: tsPattern.P.array()
2690
- }
2691
- });
2692
2677
  var no_unused_state_default = createRule({
2693
2678
  meta: {
2694
2679
  type: "problem",
@@ -2735,7 +2720,7 @@ var no_unused_state_default = createRule({
2735
2720
  return;
2736
2721
  }
2737
2722
  if (node.static) {
2738
- if (isGetDerivedStateFromProps(node) && node.value.params.length > 1) {
2723
+ if (core.isGetDerivedStateFromProps(node) && tsPattern.isMatching({ params: [tsPattern.P.nonNullable, ...tsPattern.P.array()] })(node.value)) {
2739
2724
  const defNode = stateDefs.get(currentClass)?.node;
2740
2725
  stateDefs.set(currentClass, { node: defNode, isUsed: true });
2741
2726
  }
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as JSX7 from '@eslint-react/jsx';
2
2
  import { createRuleForPlugin, getSettingsFromContext, unsafeDecodeSettings } from '@eslint-react/shared';
3
3
  import * as AST11 from '@eslint-react/ast';
4
- import { isForwardRefCall, isThisSetState, isClassComponent, isChildrenCount, isChildrenForEach, isChildrenMap, isChildrenOnly, isChildrenToArray, useComponentCollectorLegacy, isCloneElementCall, isCreateRefCall, isComponentName, useComponentCollector, DEFAULT_COMPONENT_HINT, ERFunctionComponentFlag, isChildrenToArrayCall, ERComponentHint, isDirectValueOfRenderPropertyLoose, isDeclaredInRenderPropLoose, isInsideCreateElementProps, isInsideRenderMethod, ERClassComponentFlag, isReactHookCall, isCreateElementCall, isInitializedFromReact } from '@eslint-react/core';
4
+ import { isForwardRefCall, isThisSetState, isClassComponent, isChildrenCount, isChildrenForEach, isChildrenMap, isChildrenOnly, isChildrenToArray, useComponentCollectorLegacy, isComponentDidCatch, isGetDerivedStateFromError, isCloneElementCall, isCreateRefCall, isComponentName, useComponentCollector, DEFAULT_COMPONENT_HINT, ERFunctionComponentFlag, isChildrenToArrayCall, ERComponentHint, isDirectValueOfRenderPropertyLoose, isDeclaredInRenderPropLoose, isInsideCreateElementProps, isInsideRenderMethod, ERClassComponentFlag, isReactHookCall, isCreateElementCall, isGetDerivedStateFromProps, isInitializedFromReact } from '@eslint-react/core';
5
5
  import { _, getOrUpdate } from '@eslint-react/eff';
6
6
  import { AST_NODE_TYPES } from '@typescript-eslint/types';
7
7
  import { isMatching, match, P } from 'ts-pattern';
@@ -15,7 +15,7 @@ import { getTypeImmutability, isUnknown, isImmutable, isReadonlyShallow, isReado
15
15
 
16
16
  // package.json
17
17
  var name = "eslint-plugin-react-x";
18
- var version = "1.24.0-next.8";
18
+ var version = "1.24.0-next.9";
19
19
  var createRule = createRuleForPlugin("x");
20
20
 
21
21
  // src/rules/avoid-shorthand-boolean.ts
@@ -634,12 +634,6 @@ var RULE_NAME12 = "no-class-component";
634
634
  var RULE_FEATURES12 = [
635
635
  "CHK"
636
636
  ];
637
- function isComponentDidCatch(node) {
638
- return (node.type === AST_NODE_TYPES.MethodDefinition || node.type === AST_NODE_TYPES.PropertyDefinition) && !node.static && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "componentDidCatch";
639
- }
640
- function isGetDerivedStateFromError(node) {
641
- return (node.type === AST_NODE_TYPES.MethodDefinition || node.type === AST_NODE_TYPES.PropertyDefinition) && node.static && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "getDerivedStateFromError";
642
- }
643
637
  var no_class_component_default = createRule({
644
638
  meta: {
645
639
  type: "problem",
@@ -2653,15 +2647,6 @@ function isAssignmentToThisState2(node) {
2653
2647
  const { left } = node;
2654
2648
  return left.type === AST_NODE_TYPES.MemberExpression && AST11.isThisExpression(left.object) && getName4(left.property) === "state";
2655
2649
  }
2656
- var isGetDerivedStateFromProps = isMatching({
2657
- key: {
2658
- name: "getDerivedStateFromProps"
2659
- },
2660
- static: true,
2661
- value: {
2662
- params: P.array()
2663
- }
2664
- });
2665
2650
  var no_unused_state_default = createRule({
2666
2651
  meta: {
2667
2652
  type: "problem",
@@ -2708,7 +2693,7 @@ var no_unused_state_default = createRule({
2708
2693
  return;
2709
2694
  }
2710
2695
  if (node.static) {
2711
- if (isGetDerivedStateFromProps(node) && node.value.params.length > 1) {
2696
+ if (isGetDerivedStateFromProps(node) && isMatching({ params: [P.nonNullable, ...P.array()] })(node.value)) {
2712
2697
  const defNode = stateDefs.get(currentClass)?.node;
2713
2698
  stateDefs.set(currentClass, { node: defNode, isUsed: true });
2714
2699
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-react-x",
3
- "version": "1.24.0-next.8",
3
+ "version": "1.24.0-next.9",
4
4
  "description": "A set of composable ESLint rules for libraries and frameworks that use React as a UI runtime.",
5
5
  "keywords": [
6
6
  "react",
@@ -48,12 +48,12 @@
48
48
  "is-immutable-type": "^5.0.1",
49
49
  "string-ts": "^2.2.0",
50
50
  "ts-pattern": "^5.6.0",
51
- "@eslint-react/ast": "1.24.0-next.8",
52
- "@eslint-react/eff": "1.24.0-next.8",
53
- "@eslint-react/core": "1.24.0-next.8",
54
- "@eslint-react/jsx": "1.24.0-next.8",
55
- "@eslint-react/var": "1.24.0-next.8",
56
- "@eslint-react/shared": "1.24.0-next.8"
51
+ "@eslint-react/ast": "1.24.0-next.9",
52
+ "@eslint-react/core": "1.24.0-next.9",
53
+ "@eslint-react/eff": "1.24.0-next.9",
54
+ "@eslint-react/shared": "1.24.0-next.9",
55
+ "@eslint-react/jsx": "1.24.0-next.9",
56
+ "@eslint-react/var": "1.24.0-next.9"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/react": "^19.0.7",