eslint-plugin-react-x 1.28.1-next.4 → 1.28.1-next.6

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
@@ -137,25 +137,9 @@ var settings3 = {
137
137
 
138
138
  // package.json
139
139
  var name4 = "eslint-plugin-react-x";
140
- var version = "1.28.1-next.4";
140
+ var version = "1.28.1-next.6";
141
141
  var createRule = shared.createRuleForPlugin("x");
142
142
 
143
- // src/utils/get-associated-tokens.ts
144
- function getAssociatedTokens(context, node) {
145
- {
146
- const tokenBefore = context.sourceCode.getTokenBefore(node);
147
- const tokenAfter = context.sourceCode.getTokenAfter(node);
148
- const tokens = [];
149
- if (tokenAfter?.value !== "," && tokenBefore?.value === ",") {
150
- tokens.push(tokenBefore);
151
- }
152
- if (tokenAfter?.value === ",") {
153
- tokens.push(tokenAfter);
154
- }
155
- return tokens;
156
- }
157
- }
158
-
159
143
  // src/rules/avoid-shorthand-boolean.ts
160
144
  var RULE_NAME = "avoid-shorthand-boolean";
161
145
  var RULE_FEATURES = [
@@ -268,6 +252,9 @@ var RULE_NAME4 = "no-access-state-in-setstate";
268
252
  var RULE_FEATURES4 = [
269
253
  "CHK"
270
254
  ];
255
+ function isKeyLiteral(node, key) {
256
+ return tsPattern.match(key).with({ type: types.AST_NODE_TYPES.Literal }, eff.constTrue).with({ type: types.AST_NODE_TYPES.TemplateLiteral, expressions: [] }, eff.constTrue).with({ type: types.AST_NODE_TYPES.Identifier }, () => !node.computed).otherwise(eff.constFalse);
257
+ }
271
258
  function getName(node) {
272
259
  if (AST11__namespace.isTsOnlyExpression(node)) {
273
260
  return getName(node.expression);
@@ -378,7 +365,7 @@ var no_access_state_in_setstate_default = createRule({
378
365
  return;
379
366
  }
380
367
  const hasState = node.id.properties.some(
381
- (prop) => prop.type === types.AST_NODE_TYPES.Property && AST11__namespace.isKeyLiteralLike(prop, prop.key) && getName(prop.key) === "state"
368
+ (prop) => prop.type === types.AST_NODE_TYPES.Property && isKeyLiteral(prop, prop.key) && getName(prop.key) === "state"
382
369
  );
383
370
  if (!hasState) {
384
371
  return;
@@ -952,7 +939,7 @@ var RULE_FEATURES16 = [
952
939
  "MOD"
953
940
  ];
954
941
  function isComponentWillMount(node) {
955
- return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentWillMount";
942
+ return AST11__namespace.isMethodOrProperty(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentWillMount";
956
943
  }
957
944
  var no_component_will_mount_default = createRule({
958
945
  meta: {
@@ -1005,7 +992,7 @@ var RULE_FEATURES17 = [
1005
992
  "MOD"
1006
993
  ];
1007
994
  function isComponentWillUpdate(node) {
1008
- return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentWillReceiveProps";
995
+ return AST11__namespace.isMethodOrProperty(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentWillReceiveProps";
1009
996
  }
1010
997
  var no_component_will_receive_props_default = createRule({
1011
998
  meta: {
@@ -1058,7 +1045,7 @@ var RULE_FEATURES18 = [
1058
1045
  "MOD"
1059
1046
  ];
1060
1047
  function isComponentWillUpdate2(node) {
1061
- return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentWillUpdate";
1048
+ return AST11__namespace.isMethodOrProperty(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentWillUpdate";
1062
1049
  }
1063
1050
  var no_component_will_update_default = createRule({
1064
1051
  meta: {
@@ -1265,7 +1252,7 @@ function isAssignmentToThisState(node) {
1265
1252
  return left.type === types.AST_NODE_TYPES.MemberExpression && AST11__namespace.isThisExpression(left.object) && getName2(left.property) === "state";
1266
1253
  }
1267
1254
  function isConstructorFunction(node) {
1268
- return AST11__namespace.isOneOf([types.AST_NODE_TYPES.FunctionDeclaration, types.AST_NODE_TYPES.FunctionExpression])(node) && AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node.parent) && node.parent.key.type === types.AST_NODE_TYPES.Identifier && node.parent.key.name === "constructor";
1255
+ return AST11__namespace.isOneOf([types.AST_NODE_TYPES.FunctionDeclaration, types.AST_NODE_TYPES.FunctionExpression])(node) && AST11__namespace.isMethodOrProperty(node.parent) && node.parent.key.type === types.AST_NODE_TYPES.Identifier && node.parent.key.name === "constructor";
1269
1256
  }
1270
1257
  var no_direct_mutation_state_default = createRule({
1271
1258
  meta: {
@@ -1821,7 +1808,7 @@ var no_missing_context_display_name_default = createRule({
1821
1808
  },
1822
1809
  "Program:exit"() {
1823
1810
  for (const call of createCalls) {
1824
- const id = VAR__namespace.getVariableId(call);
1811
+ const id = core.getInstanceId(call);
1825
1812
  if (id == null) {
1826
1813
  context.report({
1827
1814
  messageId: "noMissingContextDisplayName",
@@ -1833,10 +1820,7 @@ var no_missing_context_display_name_default = createRule({
1833
1820
  const left = node.left;
1834
1821
  if (left.type !== types.AST_NODE_TYPES.MemberExpression) return false;
1835
1822
  const object = left.object;
1836
- return VAR__namespace.isVariableIdEqual(id, object, [
1837
- context.sourceCode.getScope(id),
1838
- context.sourceCode.getScope(object)
1839
- ]);
1823
+ return core.isInstanceIdEqual(context, id, object);
1840
1824
  });
1841
1825
  if (!hasDisplayNameAssignment) {
1842
1826
  context.report({
@@ -2166,7 +2150,7 @@ var RULE_FEATURES33 = [
2166
2150
  "CHK"
2167
2151
  ];
2168
2152
  function isShouldComponentUpdate(node) {
2169
- return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "shouldComponentUpdate";
2153
+ return AST11__namespace.isMethodOrProperty(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "shouldComponentUpdate";
2170
2154
  }
2171
2155
  var no_redundant_should_component_update_default = createRule({
2172
2156
  meta: {
@@ -2217,7 +2201,7 @@ var RULE_FEATURES34 = [
2217
2201
  "CHK"
2218
2202
  ];
2219
2203
  function isComponentDidMount(node) {
2220
- return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentDidMount";
2204
+ return AST11__namespace.isMethodOrProperty(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentDidMount";
2221
2205
  }
2222
2206
  var no_set_state_in_component_did_mount_default = createRule({
2223
2207
  meta: {
@@ -2262,7 +2246,7 @@ var RULE_FEATURES35 = [
2262
2246
  "CHK"
2263
2247
  ];
2264
2248
  function isComponentDidUpdate(node) {
2265
- return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentDidUpdate";
2249
+ return AST11__namespace.isMethodOrProperty(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentDidUpdate";
2266
2250
  }
2267
2251
  var no_set_state_in_component_did_update_default = createRule({
2268
2252
  meta: {
@@ -2307,7 +2291,7 @@ var RULE_FEATURES36 = [
2307
2291
  "CHK"
2308
2292
  ];
2309
2293
  function isComponentWillUpdate3(node) {
2310
- return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentWillUpdate";
2294
+ return AST11__namespace.isMethodOrProperty(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentWillUpdate";
2311
2295
  }
2312
2296
  var no_set_state_in_component_will_update_default = createRule({
2313
2297
  meta: {
@@ -2398,7 +2382,7 @@ var RULE_FEATURES38 = [
2398
2382
  "CHK"
2399
2383
  ];
2400
2384
  function isUnsafeComponentWillMount(node) {
2401
- return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillMount";
2385
+ return AST11__namespace.isMethodOrProperty(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillMount";
2402
2386
  }
2403
2387
  var no_unsafe_component_will_mount_default = createRule({
2404
2388
  meta: {
@@ -2443,7 +2427,7 @@ var RULE_FEATURES39 = [
2443
2427
  "CHK"
2444
2428
  ];
2445
2429
  function isUnsafeComponentWillReceiveProps(node) {
2446
- return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillReceiveProps";
2430
+ return AST11__namespace.isMethodOrProperty(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillReceiveProps";
2447
2431
  }
2448
2432
  var no_unsafe_component_will_receive_props_default = createRule({
2449
2433
  meta: {
@@ -2488,7 +2472,7 @@ var RULE_FEATURES40 = [
2488
2472
  "CHK"
2489
2473
  ];
2490
2474
  function isUnsafeComponentWillUpdate(node) {
2491
- return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillUpdate";
2475
+ return AST11__namespace.isMethodOrProperty(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillUpdate";
2492
2476
  }
2493
2477
  var no_unsafe_component_will_update_default = createRule({
2494
2478
  meta: {
@@ -2692,6 +2676,9 @@ var LIFECYCLE_METHODS = /* @__PURE__ */ new Set([
2692
2676
  "UNSAFE_componentWillReceiveProps",
2693
2677
  "UNSAFE_componentWillUpdate"
2694
2678
  ]);
2679
+ function isKeyLiteral2(node, key) {
2680
+ return tsPattern.match(key).with({ type: types.AST_NODE_TYPES.Literal }, eff.constTrue).with({ type: types.AST_NODE_TYPES.TemplateLiteral, expressions: [] }, eff.constTrue).with({ type: types.AST_NODE_TYPES.Identifier }, () => !node.computed).otherwise(eff.constFalse);
2681
+ }
2695
2682
  function getName3(node) {
2696
2683
  if (AST11__namespace.isTsOnlyExpression(node)) {
2697
2684
  return getName3(node.expression);
@@ -2771,7 +2758,7 @@ var no_unused_class_component_members_default = createRule({
2771
2758
  if (node.static) {
2772
2759
  return;
2773
2760
  }
2774
- if (AST11__namespace.isKeyLiteralLike(node, node.key)) {
2761
+ if (isKeyLiteral2(node, node.key)) {
2775
2762
  propertyDefs.get(currentClass)?.add(node.key);
2776
2763
  }
2777
2764
  }
@@ -2792,7 +2779,7 @@ var no_unused_class_component_members_default = createRule({
2792
2779
  if (!core.isClassComponent(currentClass) || currentMethod.static) {
2793
2780
  return;
2794
2781
  }
2795
- if (!AST11__namespace.isThisExpression(node.object) || !AST11__namespace.isKeyLiteralLike(node, node.property)) {
2782
+ if (!AST11__namespace.isThisExpression(node.object) || !isKeyLiteral2(node, node.property)) {
2796
2783
  return;
2797
2784
  }
2798
2785
  if (node.parent.type === types.AST_NODE_TYPES.AssignmentExpression && node.parent.left === node) {
@@ -2819,7 +2806,7 @@ var no_unused_class_component_members_default = createRule({
2819
2806
  }
2820
2807
  if (node.init != null && AST11__namespace.isThisExpression(node.init) && node.id.type === types.AST_NODE_TYPES.ObjectPattern) {
2821
2808
  for (const prop of node.id.properties) {
2822
- if (prop.type === types.AST_NODE_TYPES.Property && AST11__namespace.isKeyLiteralLike(prop, prop.key)) {
2809
+ if (prop.type === types.AST_NODE_TYPES.Property && isKeyLiteral2(prop, prop.key)) {
2823
2810
  const keyName = getName3(prop.key);
2824
2811
  if (keyName != null) {
2825
2812
  propertyUsages.get(currentClass)?.add(keyName);
@@ -2836,6 +2823,9 @@ var RULE_NAME44 = "no-unused-state";
2836
2823
  var RULE_FEATURES44 = [
2837
2824
  "CHK"
2838
2825
  ];
2826
+ function isKeyLiteral3(node, key) {
2827
+ return tsPattern.match(key).with({ type: types.AST_NODE_TYPES.Literal }, eff.constTrue).with({ type: types.AST_NODE_TYPES.TemplateLiteral, expressions: [] }, eff.constTrue).with({ type: types.AST_NODE_TYPES.Identifier }, () => !node.computed).otherwise(eff.constFalse);
2828
+ }
2839
2829
  function getName4(node) {
2840
2830
  if (AST11__namespace.isTsOnlyExpression(node)) {
2841
2831
  return getName4(node.expression);
@@ -2989,7 +2979,7 @@ var no_unused_state_default = createRule({
2989
2979
  return;
2990
2980
  }
2991
2981
  const hasState = node.id.properties.some((prop) => {
2992
- if (prop.type === types.AST_NODE_TYPES.Property && AST11__namespace.isKeyLiteralLike(prop, prop.key)) {
2982
+ if (prop.type === types.AST_NODE_TYPES.Property && isKeyLiteral3(prop, prop.key)) {
2993
2983
  return getName4(prop.key) === "state";
2994
2984
  }
2995
2985
  return false;
@@ -3089,6 +3079,20 @@ var no_use_context_default = createRule({
3089
3079
  },
3090
3080
  defaultOptions: []
3091
3081
  });
3082
+ function getAssociatedTokens(context, node) {
3083
+ {
3084
+ const tokenBefore = context.sourceCode.getTokenBefore(node);
3085
+ const tokenAfter = context.sourceCode.getTokenAfter(node);
3086
+ const tokens = [];
3087
+ if (tokenAfter?.value !== "," && tokenBefore?.value === ",") {
3088
+ tokens.push(tokenBefore);
3089
+ }
3090
+ if (tokenAfter?.value === ",") {
3091
+ tokens.push(tokenAfter);
3092
+ }
3093
+ return tokens;
3094
+ }
3095
+ }
3092
3096
  var RULE_NAME46 = "no-useless-fragment";
3093
3097
  var defaultOptions = [{
3094
3098
  allowExpressions: true
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import { createRuleForPlugin, getSettingsFromContext, unsafeDecodeSettings, DEFAULT_ESLINT_REACT_SETTINGS } from '@eslint-react/shared';
2
2
  import * as JSX7 from '@eslint-react/jsx';
3
3
  import * as AST11 from '@eslint-react/ast';
4
- import { isForwardRefCall, isClassComponent, isThisSetState, isChildrenCount, isChildrenForEach, isChildrenMap, isChildrenOnly, isChildrenToArray, useComponentCollectorLegacy, isComponentDidCatch, isGetDerivedStateFromError, isCloneElementCall, isCreateRefCall, isComponentName, useComponentCollector, DEFAULT_COMPONENT_HINT, ERComponentFlag, DISPLAY_NAME_ASSIGNMENT_SELECTOR, isCreateContextCall, isChildrenToArrayCall, ERComponentHint, isDirectValueOfRenderPropertyLoose, isDeclaredInRenderPropLoose, isInsideRenderMethod, isCreateElementCall, isReactHookCall, isReactHookCallWithNameAlias, isGetDerivedStateFromProps, isInitializedFromReact } from '@eslint-react/core';
5
- import { _, getOrUpdate, identity } from '@eslint-react/eff';
4
+ import { isForwardRefCall, isClassComponent, isThisSetState, isChildrenCount, isChildrenForEach, isChildrenMap, isChildrenOnly, isChildrenToArray, useComponentCollectorLegacy, isComponentDidCatch, isGetDerivedStateFromError, isCloneElementCall, isCreateRefCall, isComponentName, useComponentCollector, DEFAULT_COMPONENT_HINT, ERComponentFlag, getInstanceId, isInstanceIdEqual, DISPLAY_NAME_ASSIGNMENT_SELECTOR, isCreateContextCall, isChildrenToArrayCall, ERComponentHint, isDirectValueOfRenderPropertyLoose, isDeclaredInRenderPropLoose, isInsideRenderMethod, isCreateElementCall, isReactHookCall, isReactHookCallWithNameAlias, isGetDerivedStateFromProps, isInitializedFromReact } from '@eslint-react/core';
5
+ import { _, getOrUpdate, constTrue, constFalse, identity } from '@eslint-react/eff';
6
6
  import { AST_NODE_TYPES } from '@typescript-eslint/types';
7
7
  import { isMatching, match, P } from 'ts-pattern';
8
8
  import { compare } from 'compare-versions';
@@ -110,25 +110,9 @@ var settings3 = {
110
110
 
111
111
  // package.json
112
112
  var name4 = "eslint-plugin-react-x";
113
- var version = "1.28.1-next.4";
113
+ var version = "1.28.1-next.6";
114
114
  var createRule = createRuleForPlugin("x");
115
115
 
116
- // src/utils/get-associated-tokens.ts
117
- function getAssociatedTokens(context, node) {
118
- {
119
- const tokenBefore = context.sourceCode.getTokenBefore(node);
120
- const tokenAfter = context.sourceCode.getTokenAfter(node);
121
- const tokens = [];
122
- if (tokenAfter?.value !== "," && tokenBefore?.value === ",") {
123
- tokens.push(tokenBefore);
124
- }
125
- if (tokenAfter?.value === ",") {
126
- tokens.push(tokenAfter);
127
- }
128
- return tokens;
129
- }
130
- }
131
-
132
116
  // src/rules/avoid-shorthand-boolean.ts
133
117
  var RULE_NAME = "avoid-shorthand-boolean";
134
118
  var RULE_FEATURES = [
@@ -241,6 +225,9 @@ var RULE_NAME4 = "no-access-state-in-setstate";
241
225
  var RULE_FEATURES4 = [
242
226
  "CHK"
243
227
  ];
228
+ function isKeyLiteral(node, key) {
229
+ return match(key).with({ type: AST_NODE_TYPES.Literal }, constTrue).with({ type: AST_NODE_TYPES.TemplateLiteral, expressions: [] }, constTrue).with({ type: AST_NODE_TYPES.Identifier }, () => !node.computed).otherwise(constFalse);
230
+ }
244
231
  function getName(node) {
245
232
  if (AST11.isTsOnlyExpression(node)) {
246
233
  return getName(node.expression);
@@ -351,7 +338,7 @@ var no_access_state_in_setstate_default = createRule({
351
338
  return;
352
339
  }
353
340
  const hasState = node.id.properties.some(
354
- (prop) => prop.type === AST_NODE_TYPES.Property && AST11.isKeyLiteralLike(prop, prop.key) && getName(prop.key) === "state"
341
+ (prop) => prop.type === AST_NODE_TYPES.Property && isKeyLiteral(prop, prop.key) && getName(prop.key) === "state"
355
342
  );
356
343
  if (!hasState) {
357
344
  return;
@@ -925,7 +912,7 @@ var RULE_FEATURES16 = [
925
912
  "MOD"
926
913
  ];
927
914
  function isComponentWillMount(node) {
928
- return AST11.isOneOf([AST_NODE_TYPES.MethodDefinition, AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "componentWillMount";
915
+ return AST11.isMethodOrProperty(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "componentWillMount";
929
916
  }
930
917
  var no_component_will_mount_default = createRule({
931
918
  meta: {
@@ -978,7 +965,7 @@ var RULE_FEATURES17 = [
978
965
  "MOD"
979
966
  ];
980
967
  function isComponentWillUpdate(node) {
981
- return AST11.isOneOf([AST_NODE_TYPES.MethodDefinition, AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "componentWillReceiveProps";
968
+ return AST11.isMethodOrProperty(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "componentWillReceiveProps";
982
969
  }
983
970
  var no_component_will_receive_props_default = createRule({
984
971
  meta: {
@@ -1031,7 +1018,7 @@ var RULE_FEATURES18 = [
1031
1018
  "MOD"
1032
1019
  ];
1033
1020
  function isComponentWillUpdate2(node) {
1034
- return AST11.isOneOf([AST_NODE_TYPES.MethodDefinition, AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "componentWillUpdate";
1021
+ return AST11.isMethodOrProperty(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "componentWillUpdate";
1035
1022
  }
1036
1023
  var no_component_will_update_default = createRule({
1037
1024
  meta: {
@@ -1238,7 +1225,7 @@ function isAssignmentToThisState(node) {
1238
1225
  return left.type === AST_NODE_TYPES.MemberExpression && AST11.isThisExpression(left.object) && getName2(left.property) === "state";
1239
1226
  }
1240
1227
  function isConstructorFunction(node) {
1241
- return AST11.isOneOf([AST_NODE_TYPES.FunctionDeclaration, AST_NODE_TYPES.FunctionExpression])(node) && AST11.isOneOf([AST_NODE_TYPES.MethodDefinition, AST_NODE_TYPES.PropertyDefinition])(node.parent) && node.parent.key.type === AST_NODE_TYPES.Identifier && node.parent.key.name === "constructor";
1228
+ return AST11.isOneOf([AST_NODE_TYPES.FunctionDeclaration, AST_NODE_TYPES.FunctionExpression])(node) && AST11.isMethodOrProperty(node.parent) && node.parent.key.type === AST_NODE_TYPES.Identifier && node.parent.key.name === "constructor";
1242
1229
  }
1243
1230
  var no_direct_mutation_state_default = createRule({
1244
1231
  meta: {
@@ -1794,7 +1781,7 @@ var no_missing_context_display_name_default = createRule({
1794
1781
  },
1795
1782
  "Program:exit"() {
1796
1783
  for (const call of createCalls) {
1797
- const id = VAR.getVariableId(call);
1784
+ const id = getInstanceId(call);
1798
1785
  if (id == null) {
1799
1786
  context.report({
1800
1787
  messageId: "noMissingContextDisplayName",
@@ -1806,10 +1793,7 @@ var no_missing_context_display_name_default = createRule({
1806
1793
  const left = node.left;
1807
1794
  if (left.type !== AST_NODE_TYPES.MemberExpression) return false;
1808
1795
  const object = left.object;
1809
- return VAR.isVariableIdEqual(id, object, [
1810
- context.sourceCode.getScope(id),
1811
- context.sourceCode.getScope(object)
1812
- ]);
1796
+ return isInstanceIdEqual(context, id, object);
1813
1797
  });
1814
1798
  if (!hasDisplayNameAssignment) {
1815
1799
  context.report({
@@ -2139,7 +2123,7 @@ var RULE_FEATURES33 = [
2139
2123
  "CHK"
2140
2124
  ];
2141
2125
  function isShouldComponentUpdate(node) {
2142
- return AST11.isOneOf([AST_NODE_TYPES.MethodDefinition, AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "shouldComponentUpdate";
2126
+ return AST11.isMethodOrProperty(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "shouldComponentUpdate";
2143
2127
  }
2144
2128
  var no_redundant_should_component_update_default = createRule({
2145
2129
  meta: {
@@ -2190,7 +2174,7 @@ var RULE_FEATURES34 = [
2190
2174
  "CHK"
2191
2175
  ];
2192
2176
  function isComponentDidMount(node) {
2193
- return AST11.isOneOf([AST_NODE_TYPES.MethodDefinition, AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "componentDidMount";
2177
+ return AST11.isMethodOrProperty(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "componentDidMount";
2194
2178
  }
2195
2179
  var no_set_state_in_component_did_mount_default = createRule({
2196
2180
  meta: {
@@ -2235,7 +2219,7 @@ var RULE_FEATURES35 = [
2235
2219
  "CHK"
2236
2220
  ];
2237
2221
  function isComponentDidUpdate(node) {
2238
- return AST11.isOneOf([AST_NODE_TYPES.MethodDefinition, AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "componentDidUpdate";
2222
+ return AST11.isMethodOrProperty(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "componentDidUpdate";
2239
2223
  }
2240
2224
  var no_set_state_in_component_did_update_default = createRule({
2241
2225
  meta: {
@@ -2280,7 +2264,7 @@ var RULE_FEATURES36 = [
2280
2264
  "CHK"
2281
2265
  ];
2282
2266
  function isComponentWillUpdate3(node) {
2283
- return AST11.isOneOf([AST_NODE_TYPES.MethodDefinition, AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "componentWillUpdate";
2267
+ return AST11.isMethodOrProperty(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "componentWillUpdate";
2284
2268
  }
2285
2269
  var no_set_state_in_component_will_update_default = createRule({
2286
2270
  meta: {
@@ -2371,7 +2355,7 @@ var RULE_FEATURES38 = [
2371
2355
  "CHK"
2372
2356
  ];
2373
2357
  function isUnsafeComponentWillMount(node) {
2374
- return AST11.isOneOf([AST_NODE_TYPES.MethodDefinition, AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillMount";
2358
+ return AST11.isMethodOrProperty(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillMount";
2375
2359
  }
2376
2360
  var no_unsafe_component_will_mount_default = createRule({
2377
2361
  meta: {
@@ -2416,7 +2400,7 @@ var RULE_FEATURES39 = [
2416
2400
  "CHK"
2417
2401
  ];
2418
2402
  function isUnsafeComponentWillReceiveProps(node) {
2419
- return AST11.isOneOf([AST_NODE_TYPES.MethodDefinition, AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillReceiveProps";
2403
+ return AST11.isMethodOrProperty(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillReceiveProps";
2420
2404
  }
2421
2405
  var no_unsafe_component_will_receive_props_default = createRule({
2422
2406
  meta: {
@@ -2461,7 +2445,7 @@ var RULE_FEATURES40 = [
2461
2445
  "CHK"
2462
2446
  ];
2463
2447
  function isUnsafeComponentWillUpdate(node) {
2464
- return AST11.isOneOf([AST_NODE_TYPES.MethodDefinition, AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillUpdate";
2448
+ return AST11.isMethodOrProperty(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillUpdate";
2465
2449
  }
2466
2450
  var no_unsafe_component_will_update_default = createRule({
2467
2451
  meta: {
@@ -2665,6 +2649,9 @@ var LIFECYCLE_METHODS = /* @__PURE__ */ new Set([
2665
2649
  "UNSAFE_componentWillReceiveProps",
2666
2650
  "UNSAFE_componentWillUpdate"
2667
2651
  ]);
2652
+ function isKeyLiteral2(node, key) {
2653
+ return match(key).with({ type: AST_NODE_TYPES.Literal }, constTrue).with({ type: AST_NODE_TYPES.TemplateLiteral, expressions: [] }, constTrue).with({ type: AST_NODE_TYPES.Identifier }, () => !node.computed).otherwise(constFalse);
2654
+ }
2668
2655
  function getName3(node) {
2669
2656
  if (AST11.isTsOnlyExpression(node)) {
2670
2657
  return getName3(node.expression);
@@ -2744,7 +2731,7 @@ var no_unused_class_component_members_default = createRule({
2744
2731
  if (node.static) {
2745
2732
  return;
2746
2733
  }
2747
- if (AST11.isKeyLiteralLike(node, node.key)) {
2734
+ if (isKeyLiteral2(node, node.key)) {
2748
2735
  propertyDefs.get(currentClass)?.add(node.key);
2749
2736
  }
2750
2737
  }
@@ -2765,7 +2752,7 @@ var no_unused_class_component_members_default = createRule({
2765
2752
  if (!isClassComponent(currentClass) || currentMethod.static) {
2766
2753
  return;
2767
2754
  }
2768
- if (!AST11.isThisExpression(node.object) || !AST11.isKeyLiteralLike(node, node.property)) {
2755
+ if (!AST11.isThisExpression(node.object) || !isKeyLiteral2(node, node.property)) {
2769
2756
  return;
2770
2757
  }
2771
2758
  if (node.parent.type === AST_NODE_TYPES.AssignmentExpression && node.parent.left === node) {
@@ -2792,7 +2779,7 @@ var no_unused_class_component_members_default = createRule({
2792
2779
  }
2793
2780
  if (node.init != null && AST11.isThisExpression(node.init) && node.id.type === AST_NODE_TYPES.ObjectPattern) {
2794
2781
  for (const prop of node.id.properties) {
2795
- if (prop.type === AST_NODE_TYPES.Property && AST11.isKeyLiteralLike(prop, prop.key)) {
2782
+ if (prop.type === AST_NODE_TYPES.Property && isKeyLiteral2(prop, prop.key)) {
2796
2783
  const keyName = getName3(prop.key);
2797
2784
  if (keyName != null) {
2798
2785
  propertyUsages.get(currentClass)?.add(keyName);
@@ -2809,6 +2796,9 @@ var RULE_NAME44 = "no-unused-state";
2809
2796
  var RULE_FEATURES44 = [
2810
2797
  "CHK"
2811
2798
  ];
2799
+ function isKeyLiteral3(node, key) {
2800
+ return match(key).with({ type: AST_NODE_TYPES.Literal }, constTrue).with({ type: AST_NODE_TYPES.TemplateLiteral, expressions: [] }, constTrue).with({ type: AST_NODE_TYPES.Identifier }, () => !node.computed).otherwise(constFalse);
2801
+ }
2812
2802
  function getName4(node) {
2813
2803
  if (AST11.isTsOnlyExpression(node)) {
2814
2804
  return getName4(node.expression);
@@ -2962,7 +2952,7 @@ var no_unused_state_default = createRule({
2962
2952
  return;
2963
2953
  }
2964
2954
  const hasState = node.id.properties.some((prop) => {
2965
- if (prop.type === AST_NODE_TYPES.Property && AST11.isKeyLiteralLike(prop, prop.key)) {
2955
+ if (prop.type === AST_NODE_TYPES.Property && isKeyLiteral3(prop, prop.key)) {
2966
2956
  return getName4(prop.key) === "state";
2967
2957
  }
2968
2958
  return false;
@@ -3062,6 +3052,20 @@ var no_use_context_default = createRule({
3062
3052
  },
3063
3053
  defaultOptions: []
3064
3054
  });
3055
+ function getAssociatedTokens(context, node) {
3056
+ {
3057
+ const tokenBefore = context.sourceCode.getTokenBefore(node);
3058
+ const tokenAfter = context.sourceCode.getTokenAfter(node);
3059
+ const tokens = [];
3060
+ if (tokenAfter?.value !== "," && tokenBefore?.value === ",") {
3061
+ tokens.push(tokenBefore);
3062
+ }
3063
+ if (tokenAfter?.value === ",") {
3064
+ tokens.push(tokenAfter);
3065
+ }
3066
+ return tokens;
3067
+ }
3068
+ }
3065
3069
  var RULE_NAME46 = "no-useless-fragment";
3066
3070
  var defaultOptions = [{
3067
3071
  allowExpressions: true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-react-x",
3
- "version": "1.28.1-next.4",
3
+ "version": "1.28.1-next.6",
4
4
  "description": "A set of composable linting rules for libraries and frameworks that use React as a UI runtime.",
5
5
  "keywords": [
6
6
  "react",
@@ -50,12 +50,12 @@
50
50
  "is-immutable-type": "^5.0.1",
51
51
  "string-ts": "^2.2.1",
52
52
  "ts-pattern": "^5.6.2",
53
- "@eslint-react/ast": "1.28.1-next.4",
54
- "@eslint-react/eff": "1.28.1-next.4",
55
- "@eslint-react/jsx": "1.28.1-next.4",
56
- "@eslint-react/core": "1.28.1-next.4",
57
- "@eslint-react/shared": "1.28.1-next.4",
58
- "@eslint-react/var": "1.28.1-next.4"
53
+ "@eslint-react/ast": "1.28.1-next.6",
54
+ "@eslint-react/core": "1.28.1-next.6",
55
+ "@eslint-react/eff": "1.28.1-next.6",
56
+ "@eslint-react/jsx": "1.28.1-next.6",
57
+ "@eslint-react/shared": "1.28.1-next.6",
58
+ "@eslint-react/var": "1.28.1-next.6"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/react": "^19.0.10",