@onecx/nx-migration-utils 5.35.0 → 6.0.0-rc.8

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/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@onecx/nx-migration-utils",
3
- "version": "5.35.0",
3
+ "version": "6.0.0-rc.8",
4
4
  "license": "Apache-2.0",
5
5
  "peerDependencies": {
6
6
  "tslib": "^2.3.0",
7
7
  "@phenomnomnominal/tsquery": "^6",
8
- "@nx/devkit": "^19.8.0",
8
+ "@nx/devkit": "^20.3.0",
9
9
  "typescript": "^5.5.4"
10
10
  },
11
11
  "type": "commonjs",
@@ -1,5 +1,13 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  import { CallExpression } from 'typescript';
3
3
  type MatchingMethodCalls = Map<string, CallExpression[]>;
4
+ /**
5
+ * Detects method calls with a given name on a specified class in files within a specified directory or its subdirectories.
6
+ * @param tree The file tree to search in.
7
+ * @param rootDir The directory to start searching from.
8
+ * @param methodName The name of the method to search for (e.g. 'myMethod').
9
+ * @param className The name of the class to search for (e.g. 'MyClass').
10
+ * @returns A map where the keys are file paths and the values are arrays of CallExpression nodes representing the detected method calls in the respective files.
11
+ */
4
12
  export declare function detectMethodCallsInFiles(tree: Tree, rootDir: string, methodName: string, className: string): MatchingMethodCalls;
5
13
  export {};
@@ -4,6 +4,13 @@ exports.detectMethodCallsInFiles = detectMethodCallsInFiles;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const tsquery_1 = require("@phenomnomnominal/tsquery");
6
6
  const typescript_1 = require("typescript");
7
+ /**
8
+ * Retrieves the names of all declarations that are of the specified type and contain a NewExpression (e.g., 'new MyClass()') with the specified class name.
9
+ * @param contentAst The abstract syntax tree of the file to search in.
10
+ * @param className The name of the class to search for (e.g. 'MyClass').
11
+ * @param type The type of declaration to search for ('PropertyDeclaration' or 'VariableDeclaration').
12
+ * @returns A string array of names of the declarations that match the criteria.
13
+ */
7
14
  function getDeclarationNames(contentAst, className, type) {
8
15
  const declarations = (0, tsquery_1.query)(contentAst, `${type}:has(NewExpression > Identifier[name="${className}"])`);
9
16
  const memberNames = declarations.map((node) => {
@@ -14,6 +21,12 @@ function getDeclarationNames(contentAst, className, type) {
14
21
  });
15
22
  return memberNames;
16
23
  }
24
+ /**
25
+ * Retrieves the names of all properties and variables that are assigned a value from a NewExpression (e.g., 'new MyClass()') with the specified class name.
26
+ * @param contentAst The abstract syntax tree of the file to search in.
27
+ * @param className The name of the class to search for (e.g. 'MyClass').
28
+ * @returns A string array of names of the assignments that match the criteria.
29
+ */
17
30
  function getAssignmentNames(contentAst, className) {
18
31
  const assignments = (0, tsquery_1.query)(contentAst, `ExpressionStatement:has(BinaryExpression:has(EqualsToken):has(NewExpression > Identifier[name="${className}"]))`);
19
32
  const assignmentNames = assignments.map((node) => {
@@ -37,6 +50,13 @@ function getAssignmentNames(contentAst, className) {
37
50
  });
38
51
  return assignmentNames;
39
52
  }
53
+ /**
54
+ * Generates an array of computed queries to find method calls with a given method name on identifiers that are either variables or properties and type of the specified class.
55
+ * @param contentAst The abstract syntax tree of the file to search in.
56
+ * @param className The name of the class to search for (e.g. 'MyClass').
57
+ * @param methodName The name of the method to search for (e.g. 'myMethod').
58
+ * @returns A string array of computed queries to find method calls on identifiers.
59
+ */
40
60
  function getIdentifierCallQueries(contentAst, className, methodName) {
41
61
  const variableNames = getDeclarationNames(contentAst, className, 'VariableDeclaration');
42
62
  const memberNames = getDeclarationNames(contentAst, className, 'PropertyDeclaration');
@@ -47,6 +67,14 @@ function getIdentifierCallQueries(contentAst, className, methodName) {
47
67
  const identifierCallPatterns = distinctIdentifiers.map((name) => `CallExpression:has(PropertyAccessExpression > Identifier[name="${name}"]):has(Identifier[name="${methodName}"])`);
48
68
  return identifierCallPatterns;
49
69
  }
70
+ /**
71
+ * Detects method calls with a given name on a specified class in files within a specified directory or its subdirectories.
72
+ * @param tree The file tree to search in.
73
+ * @param rootDir The directory to start searching from.
74
+ * @param methodName The name of the method to search for (e.g. 'myMethod').
75
+ * @param className The name of the class to search for (e.g. 'MyClass').
76
+ * @returns A map where the keys are file paths and the values are arrays of CallExpression nodes representing the detected method calls in the respective files.
77
+ */
50
78
  function detectMethodCallsInFiles(tree, rootDir, methodName, className) {
51
79
  const matchingFiles = new Map();
52
80
  // Look at each file inside of specified rootDir or any of its subdirectories that isn't gitignored
@@ -1 +1 @@
1
- {"version":3,"file":"detect-method-calls-in-files.js","sourceRoot":"","sources":["../../../../../../libs/nx-migration-utils/src/lib/utils/detect-method-calls-in-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect-method-calls-in-files.js","sourceRoot":"","sources":["../../../../../../libs/nx-migration-utils/src/lib/utils/detect-method-calls-in-files.ts"],"names":[],"mappings":"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"}
@@ -1 +1,6 @@
1
+ /**
2
+ * Prints a warning message if there are affected files.
3
+ * @param warning The warning message to print.
4
+ * @param affectedFiles An array of affected file paths.
5
+ */
1
6
  export declare function printWarnings(warning: string, affectedFiles: string[]): void;
@@ -2,6 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.printWarnings = printWarnings;
4
4
  const devkit_1 = require("@nx/devkit");
5
+ /**
6
+ * Prints a warning message if there are affected files.
7
+ * @param warning The warning message to print.
8
+ * @param affectedFiles An array of affected file paths.
9
+ */
5
10
  function printWarnings(warning, affectedFiles) {
6
11
  if (affectedFiles.length > 0) {
7
12
  devkit_1.logger.warn(warning);
@@ -1 +1 @@
1
- {"version":3,"file":"print-warnings.js","sourceRoot":"","sources":["../../../../../../libs/nx-migration-utils/src/lib/utils/print-warnings.ts"],"names":[],"mappings":";;AACA,sCAQC;AATD,uCAAmC;AACnC,SAAgB,aAAa,CAAC,OAAe,EAAE,aAAuB;IAClE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpB,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,eAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"print-warnings.js","sourceRoot":"","sources":["../../../../../../libs/nx-migration-utils/src/lib/utils/print-warnings.ts"],"names":[],"mappings":";;AAOA,sCAQC;AAfD,uCAAmC;AAEnC;;;;GAIG;AACH,SAAgB,aAAa,CAAC,OAAe,EAAE,aAAuB;IAClE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpB,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,eAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC;AACP,CAAC"}