@eslint-react/core 2.12.4-beta.0 → 2.12.4-beta.2

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.d.ts CHANGED
@@ -561,7 +561,7 @@ declare function isInsideComponentOrHook(node: TSESTree.Node | unit): boolean;
561
561
  */
562
562
  declare function isUseEffectSetupCallback(node: TSESTree.Node | unit): boolean;
563
563
  /**
564
- * Determine if a node is the cleanup function returned by a useEffect-like hook's setup function.
564
+ * Determine if a node is the cleanup function returned by a useEffect-like hook's setup function
565
565
  * @param node The AST node to check
566
566
  */
567
567
  declare function isUseEffectCleanupCallback(node: TSESTree.Node | unit): boolean;
@@ -901,7 +901,7 @@ declare function isInitializedFromRef(name: string, initialScope: Scope): boolea
901
901
  * Get the init expression of a ref variable
902
902
  * @param name The variable name
903
903
  * @param initialScope The initial scope
904
- * @returns The init expression node if the variable is derived from a ref, or null otherwise
904
+ * @returns The init expression node if the variable is derived from a ref, or undefined otherwise
905
905
  */
906
906
  declare function getRefInit(name: string, initialScope: Scope): TSESTree$1.Expression | unit;
907
907
  //#endregion
package/dist/index.js CHANGED
@@ -47,7 +47,7 @@ function isReactAPI(api) {
47
47
  const func = (context, node) => {
48
48
  if (node == null) return false;
49
49
  const getText = (n) => context.sourceCode.getText(n);
50
- const name = ast.toStringFormat(node, getText);
50
+ const name = ast.getFullyQualifiedName(node, getText);
51
51
  if (name === api) return true;
52
52
  if (name.substring(name.indexOf(".") + 1) === api) return true;
53
53
  return false;
@@ -232,15 +232,15 @@ function isUseEffectSetupCallback(node) {
232
232
  return node.parent?.type === AST_NODE_TYPES.CallExpression && node.parent.arguments.at(0) === node && isUseEffectLikeCall(node.parent);
233
233
  }
234
234
  /**
235
- * Determine if a node is the cleanup function returned by a useEffect-like hook's setup function.
235
+ * Determine if a node is the cleanup function returned by a useEffect-like hook's setup function
236
236
  * @param node The AST node to check
237
237
  */
238
238
  function isUseEffectCleanupCallback(node) {
239
239
  if (node == null) return false;
240
- const pReturn = ast.findParentNode(node, ast.is(AST_NODE_TYPES.ReturnStatement));
241
- const pFunction = ast.findParentNode(node, ast.isFunction);
242
- if (pFunction !== ast.findParentNode(pReturn, ast.isFunction)) return false;
243
- return isUseEffectSetupCallback(pFunction);
240
+ const returnStatement = ast.findParentNode(node, ast.is(AST_NODE_TYPES.ReturnStatement));
241
+ const enclosingFunction = ast.findParentNode(node, ast.isFunction);
242
+ if (enclosingFunction !== ast.findParentNode(returnStatement, ast.isFunction)) return false;
243
+ return isUseEffectSetupCallback(enclosingFunction);
244
244
  }
245
245
 
246
246
  //#endregion
@@ -283,7 +283,7 @@ function useHookCollector(context) {
283
283
  id,
284
284
  key,
285
285
  kind: "function",
286
- name: ast.toStringFormat(id, getText),
286
+ name: ast.getFullyQualifiedName(id, getText),
287
287
  node,
288
288
  directives: [],
289
289
  flag: 0n,
@@ -955,7 +955,7 @@ function useComponentCollector(context, options = {}) {
955
955
  const isExportDefault = exp != null;
956
956
  const isExportDefaultDeclaration = exp != null && ast.getUnderlyingExpression(exp.declaration) === node;
957
957
  const id = getFunctionComponentId(context, node);
958
- const name = id == null ? unit : ast.toStringFormat(id, getText);
958
+ const name = id == null ? unit : ast.getFullyQualifiedName(id, getText);
959
959
  const initPath = ast.getFunctionInitPath(node);
960
960
  const directives = ast.getFunctionDirectives(node);
961
961
  const entry = {
@@ -1052,7 +1052,7 @@ function useComponentCollectorLegacy(context) {
1052
1052
  if (!isClassComponent(node)) return;
1053
1053
  const id = ast.getClassId(node);
1054
1054
  const key = idGen.next();
1055
- const name = id == null ? unit : ast.toStringFormat(id, getText);
1055
+ const name = id == null ? unit : ast.getFullyQualifiedName(id, getText);
1056
1056
  const flag = isPureComponent(node) ? ComponentFlag.PureComponent : ComponentFlag.None;
1057
1057
  components.set(key, {
1058
1058
  id,
@@ -1274,7 +1274,7 @@ function isInitializedFromRef(name, initialScope) {
1274
1274
  * Get the init expression of a ref variable
1275
1275
  * @param name The variable name
1276
1276
  * @param initialScope The initial scope
1277
- * @returns The init expression node if the variable is derived from a ref, or null otherwise
1277
+ * @returns The init expression node if the variable is derived from a ref, or undefined otherwise
1278
1278
  */
1279
1279
  function getRefInit(name, initialScope) {
1280
1280
  for (const { node } of findVariable(initialScope)(name)?.defs ?? []) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eslint-react/core",
3
- "version": "2.12.4-beta.0",
3
+ "version": "2.12.4-beta.2",
4
4
  "description": "ESLint React's ESLint utility module for static analysis of React core APIs and patterns.",
5
5
  "homepage": "https://github.com/Rel1cx/eslint-react",
6
6
  "bugs": {
@@ -34,10 +34,10 @@
34
34
  "@typescript-eslint/types": "^8.54.0",
35
35
  "@typescript-eslint/utils": "^8.54.0",
36
36
  "ts-pattern": "^5.9.0",
37
- "@eslint-react/eff": "2.12.4-beta.0",
38
- "@eslint-react/ast": "2.12.4-beta.0",
39
- "@eslint-react/shared": "2.12.4-beta.0",
40
- "@eslint-react/var": "2.12.4-beta.0"
37
+ "@eslint-react/ast": "2.12.4-beta.2",
38
+ "@eslint-react/eff": "2.12.4-beta.2",
39
+ "@eslint-react/shared": "2.12.4-beta.2",
40
+ "@eslint-react/var": "2.12.4-beta.2"
41
41
  },
42
42
  "devDependencies": {
43
43
  "tsdown": "^0.20.3",