@openrewrite/rewrite 8.67.0-20251120-102936 → 8.67.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 (77) hide show
  1. package/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +2 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/java/tree.d.ts +7 -1
  5. package/dist/java/tree.d.ts.map +1 -1
  6. package/dist/java/tree.js +13 -3
  7. package/dist/java/tree.js.map +1 -1
  8. package/dist/javascript/add-import.d.ts.map +1 -1
  9. package/dist/javascript/add-import.js +200 -44
  10. package/dist/javascript/add-import.js.map +1 -1
  11. package/dist/javascript/cleanup/index.d.ts +2 -0
  12. package/dist/javascript/cleanup/index.d.ts.map +1 -0
  13. package/dist/javascript/cleanup/index.js +21 -0
  14. package/dist/javascript/cleanup/index.js.map +1 -0
  15. package/dist/javascript/cleanup/use-object-property-shorthand.d.ts +22 -0
  16. package/dist/javascript/cleanup/use-object-property-shorthand.d.ts.map +1 -0
  17. package/dist/javascript/cleanup/use-object-property-shorthand.js +144 -0
  18. package/dist/javascript/cleanup/use-object-property-shorthand.js.map +1 -0
  19. package/dist/javascript/comparator.d.ts +8 -0
  20. package/dist/javascript/comparator.d.ts.map +1 -1
  21. package/dist/javascript/comparator.js +12 -0
  22. package/dist/javascript/comparator.js.map +1 -1
  23. package/dist/javascript/dependency-workspace.d.ts +1 -0
  24. package/dist/javascript/dependency-workspace.d.ts.map +1 -1
  25. package/dist/javascript/dependency-workspace.js +44 -0
  26. package/dist/javascript/dependency-workspace.js.map +1 -1
  27. package/dist/javascript/parser.d.ts.map +1 -1
  28. package/dist/javascript/parser.js +21 -1
  29. package/dist/javascript/parser.js.map +1 -1
  30. package/dist/javascript/print.d.ts +1 -0
  31. package/dist/javascript/print.d.ts.map +1 -1
  32. package/dist/javascript/print.js +8 -0
  33. package/dist/javascript/print.js.map +1 -1
  34. package/dist/javascript/rpc.js +14 -0
  35. package/dist/javascript/rpc.js.map +1 -1
  36. package/dist/javascript/templating/pattern.d.ts +7 -0
  37. package/dist/javascript/templating/pattern.d.ts.map +1 -1
  38. package/dist/javascript/templating/pattern.js +10 -0
  39. package/dist/javascript/templating/pattern.js.map +1 -1
  40. package/dist/javascript/templating/rewrite.d.ts.map +1 -1
  41. package/dist/javascript/templating/rewrite.js +17 -16
  42. package/dist/javascript/templating/rewrite.js.map +1 -1
  43. package/dist/javascript/templating/types.d.ts +56 -28
  44. package/dist/javascript/templating/types.d.ts.map +1 -1
  45. package/dist/javascript/tree.d.ts +9 -0
  46. package/dist/javascript/tree.d.ts.map +1 -1
  47. package/dist/javascript/tree.js +1 -0
  48. package/dist/javascript/tree.js.map +1 -1
  49. package/dist/javascript/type-mapping.d.ts +13 -1
  50. package/dist/javascript/type-mapping.d.ts.map +1 -1
  51. package/dist/javascript/type-mapping.js +215 -8
  52. package/dist/javascript/type-mapping.js.map +1 -1
  53. package/dist/javascript/visitor.d.ts +1 -0
  54. package/dist/javascript/visitor.d.ts.map +1 -1
  55. package/dist/javascript/visitor.js +11 -0
  56. package/dist/javascript/visitor.js.map +1 -1
  57. package/dist/json/parser.js +18 -2
  58. package/dist/json/parser.js.map +1 -1
  59. package/dist/version.txt +1 -1
  60. package/package.json +1 -1
  61. package/src/index.ts +3 -0
  62. package/src/java/tree.ts +7 -1
  63. package/src/javascript/add-import.ts +211 -53
  64. package/src/javascript/cleanup/index.ts +17 -0
  65. package/src/javascript/cleanup/use-object-property-shorthand.ts +154 -0
  66. package/src/javascript/comparator.ts +11 -0
  67. package/src/javascript/dependency-workspace.ts +52 -0
  68. package/src/javascript/parser.ts +23 -1
  69. package/src/javascript/print.ts +7 -0
  70. package/src/javascript/rpc.ts +12 -0
  71. package/src/javascript/templating/pattern.ts +11 -0
  72. package/src/javascript/templating/rewrite.ts +19 -18
  73. package/src/javascript/templating/types.ts +60 -28
  74. package/src/javascript/tree.ts +10 -0
  75. package/src/javascript/type-mapping.ts +239 -9
  76. package/src/javascript/visitor.ts +10 -0
  77. package/src/json/parser.ts +16 -2
@@ -532,6 +532,30 @@ export interface RewriteRule {
532
532
  */
533
533
  orElse(alternative: RewriteRule): RewriteRule;
534
534
  }
535
+ /**
536
+ * Context for preMatch predicate - only has cursor, no captures yet.
537
+ */
538
+ export interface PreMatchContext {
539
+ /**
540
+ * The cursor pointing to the node being considered for matching.
541
+ * Allows navigating the AST (parent, root, etc.).
542
+ */
543
+ cursor: Cursor;
544
+ }
545
+ /**
546
+ * Context for postMatch predicate - has cursor and captured values.
547
+ */
548
+ export interface PostMatchContext {
549
+ /**
550
+ * The cursor pointing to the matched node.
551
+ * Allows navigating the AST (parent, root, etc.).
552
+ */
553
+ cursor: Cursor;
554
+ /**
555
+ * Values captured during pattern matching.
556
+ */
557
+ captures: CaptureMap;
558
+ }
535
559
  /**
536
560
  * Configuration for a replacement rule.
537
561
  */
@@ -539,54 +563,51 @@ export interface RewriteConfig {
539
563
  before: Pattern | Pattern[];
540
564
  after: Template | ((match: MatchResult) => Template);
541
565
  /**
542
- * Optional context predicate that must evaluate to true for the transformation to be applied.
543
- * Evaluated after the pattern matches structurally but before applying the template.
544
- * Provides access to both the matched node and the cursor for context inspection.
566
+ * Optional predicate evaluated BEFORE pattern matching.
567
+ * Use for efficient early filtering based on AST context when captures aren't needed.
568
+ * If this returns false, pattern matching is skipped entirely.
545
569
  *
546
- * @param node The matched AST node
547
- * @param cursor The cursor at the matched node, providing access to ancestors and context
548
- * @returns true if the transformation should be applied, false otherwise
570
+ * @param node The AST node being considered for matching
571
+ * @param context Context providing cursor for AST navigation
572
+ * @returns true to proceed with pattern matching, false to skip this node
549
573
  *
550
574
  * @example
551
575
  * ```typescript
552
576
  * rewrite(() => ({
553
- * before: pattern`await ${_('promise')}`,
554
- * after: template`await ${_('promise')}.catch(handleError)`,
555
- * where: (node, cursor) => {
556
- * // Only apply inside async functions
557
- * const method = cursor.firstEnclosing((n: any): n is J.MethodDeclaration =>
558
- * n.kind === J.Kind.MethodDeclaration
559
- * );
560
- * return method?.modifiers.some(m => m.type === 'async') || false;
577
+ * before: pattern`console.log(${_('msg')})`,
578
+ * after: template`logger.info(${_('msg')})`,
579
+ * preMatch: (node, {cursor}) => {
580
+ * // Only attempt matching inside functions named 'handleError'
581
+ * const method = cursor.firstEnclosing(isMethodDeclaration);
582
+ * return method?.name.simpleName === 'handleError';
561
583
  * }
562
584
  * }));
563
585
  * ```
564
586
  */
565
- where?: (node: J, cursor: Cursor) => boolean | Promise<boolean>;
587
+ preMatch?: (node: J, context: PreMatchContext) => boolean | Promise<boolean>;
566
588
  /**
567
- * Optional context predicate that must evaluate to false for the transformation to be applied.
568
- * Evaluated after the pattern matches structurally but before applying the template.
569
- * Provides access to both the matched node and the cursor for context inspection.
589
+ * Optional predicate evaluated AFTER pattern matching succeeds.
590
+ * Use when you need access to captured values to decide whether to apply the transformation.
591
+ * If this returns false, the transformation is not applied.
570
592
  *
571
593
  * @param node The matched AST node
572
- * @param cursor The cursor at the matched node, providing access to ancestors and context
573
- * @returns true if the transformation should NOT be applied, false if it should proceed
594
+ * @param context Context providing cursor for AST navigation and captured values
595
+ * @returns true to apply the transformation, false to skip
574
596
  *
575
597
  * @example
576
598
  * ```typescript
577
599
  * rewrite(() => ({
578
- * before: pattern`await ${_('promise')}`,
579
- * after: template`await ${_('promise')}.catch(handleError)`,
580
- * whereNot: (node, cursor) => {
581
- * // Don't apply inside try-catch blocks
582
- * return cursor.firstEnclosing((n: any): n is J.Try =>
583
- * n.kind === J.Kind.Try
584
- * ) !== undefined;
600
+ * before: pattern`${_('a')} + ${_('b')}`,
601
+ * after: template`${_('b')} + ${_('a')}`,
602
+ * postMatch: (node, {cursor, captures}) => {
603
+ * // Only swap if 'a' is a literal number
604
+ * const a = captures.get('a');
605
+ * return a?.kind === J.Kind.Literal && typeof a.value === 'number';
585
606
  * }
586
607
  * }));
587
608
  * ```
588
609
  */
589
- whereNot?: (node: J, cursor: Cursor) => boolean | Promise<boolean>;
610
+ postMatch?: (node: J, context: PostMatchContext) => boolean | Promise<boolean>;
590
611
  }
591
612
  /**
592
613
  * Options for debugging pattern matching.
@@ -679,6 +700,13 @@ export interface MatchResult {
679
700
  */
680
701
  get(capture: string): any;
681
702
  get<T>(capture: Capture<T>): T | undefined;
703
+ /**
704
+ * Checks if a capture has been matched.
705
+ *
706
+ * @param capture The capture name (string) or Capture object
707
+ * @returns true if the capture exists in the match result
708
+ */
709
+ has(capture: Capture | string): boolean;
682
710
  }
683
711
  /**
684
712
  * Result of a pattern match attempt with debug information.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/types.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,7 @@ export declare namespace JS {
56
56
  readonly PropertyAssignment: "org.openrewrite.javascript.tree.JS$PropertyAssignment";
57
57
  readonly SatisfiesExpression: "org.openrewrite.javascript.tree.JS$SatisfiesExpression";
58
58
  readonly ScopedVariableDeclarations: "org.openrewrite.javascript.tree.JS$ScopedVariableDeclarations";
59
+ readonly Shebang: "org.openrewrite.javascript.tree.JS$Shebang";
59
60
  readonly StatementExpression: "org.openrewrite.javascript.tree.JS$StatementExpression";
60
61
  readonly TaggedTemplateExpression: "org.openrewrite.javascript.tree.JS$TaggedTemplateExpression";
61
62
  readonly TemplateExpression: "org.openrewrite.javascript.tree.JS$TemplateExpression";
@@ -380,6 +381,14 @@ export declare namespace JS {
380
381
  readonly modifiers: J.Modifier[];
381
382
  readonly variables: J.RightPadded<J>[];
382
383
  }
384
+ /**
385
+ * Represents a shebang line at the beginning of a script.
386
+ * @example #!/usr/bin/env node
387
+ */
388
+ interface Shebang extends JS, Statement {
389
+ readonly kind: typeof Kind.Shebang;
390
+ readonly text: string;
391
+ }
383
392
  /**
384
393
  * Represents a statement used as an expression. The example shows a function expressions.
385
394
  * @example const greet = function (name: string) : string { return name; };
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/javascript/tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/javascript/tree.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,7 @@ var JS;
61
61
  PropertyAssignment: "org.openrewrite.javascript.tree.JS$PropertyAssignment",
62
62
  SatisfiesExpression: "org.openrewrite.javascript.tree.JS$SatisfiesExpression",
63
63
  ScopedVariableDeclarations: "org.openrewrite.javascript.tree.JS$ScopedVariableDeclarations",
64
+ Shebang: "org.openrewrite.javascript.tree.JS$Shebang",
64
65
  StatementExpression: "org.openrewrite.javascript.tree.JS$StatementExpression",
65
66
  TaggedTemplateExpression: "org.openrewrite.javascript.tree.JS$TaggedTemplateExpression",
66
67
  TemplateExpression: "org.openrewrite.javascript.tree.JS$TemplateExpression",
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/javascript/tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/javascript/tree.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,19 @@ export declare class JavaScriptTypeMapping {
13
13
  private getType;
14
14
  private getSignature;
15
15
  primitiveType(node: ts.Node): Type.Primitive;
16
- variableType(node: ts.NamedDeclaration): Type.Variable | undefined;
16
+ variableType(node: ts.Node): Type.Variable | undefined;
17
+ /**
18
+ * Extract the npm module name from a file path.
19
+ * Handles various package manager layouts:
20
+ * - Standard: /path/node_modules/react/index.d.ts -> react
21
+ * - Scoped: /path/node_modules/@types/react/index.d.ts -> react
22
+ * - Scoped with __ encoding: /path/node_modules/@types/testing-library__react/index.d.ts -> @testing-library/react
23
+ * - Nested node_modules: /path/node_modules/pkg/node_modules/dep/index.d.ts -> dep
24
+ * - pnpm: /path/node_modules/.pnpm/react@18.2.0/node_modules/react/index.d.ts -> react
25
+ *
26
+ * @returns The module name, or undefined if not from node_modules
27
+ */
28
+ private extractModuleNameFromPath;
17
29
  /**
18
30
  * Helper to create a Type.Method object from common parameters
19
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"type-mapping.d.ts","sourceRoot":"","sources":["../../src/javascript/type-mapping.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAS7B,qBAAa,qBAAqB;IAa1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAEnE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;gBAIpC,OAAO,EAAE,EAAE,CAAC,WAAW;IA4B5C,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS;IAUrC,OAAO,CAAC,OAAO;IAgNf,OAAO,CAAC,YAAY;IA4BpB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS;IAQ5C,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,GAAG,SAAS;IAYlE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmDxB,OAAO,CAAC,WAAW;IAanB,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS;IA0TlD;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA6F7B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA6HzB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IA4CpC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAqBvB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAmCjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;CA8D/B"}
1
+ {"version":3,"file":"type-mapping.d.ts","sourceRoot":"","sources":["../../src/javascript/type-mapping.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAS7B,qBAAa,qBAAqB;IAa1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAEnE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;gBAIpC,OAAO,EAAE,EAAE,CAAC,WAAW;IA4B5C,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS;IAoBrC,OAAO,CAAC,OAAO;IAuNf,OAAO,CAAC,YAAY;IA4BpB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS;IAQ5C,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,SAAS;IAoKtD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,yBAAyB;IAkDjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmDxB,OAAO,CAAC,WAAW;IAanB,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS;IA0TlD;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA6F7B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA6HzB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IA4CpC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAqBvB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAmCjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;CA8D/B"}
@@ -55,6 +55,15 @@ class JavaScriptTypeMapping {
55
55
  }
56
56
  }
57
57
  type(node) {
58
+ // For identifiers, check if this references a variable
59
+ // This enables fieldType attribution for variable references
60
+ if (typescript_1.default.isIdentifier(node)) {
61
+ const variableType = this.variableType(node);
62
+ if (variableType) {
63
+ return variableType;
64
+ }
65
+ // Fall through to regular type checking if not a variable
66
+ }
58
67
  let type;
59
68
  if (typescript_1.default.isExpression(node)) {
60
69
  type = this.checker.getTypeAtLocation(node);
@@ -103,6 +112,13 @@ class JavaScriptTypeMapping {
103
112
  if (existing) {
104
113
  return existing;
105
114
  }
115
+ // TypeScript represents `boolean` as a union of `false | true`, but the union
116
+ // type still has the Boolean flag set. Check this early to return Primitive.Boolean
117
+ // before we process it as a generic union type.
118
+ if (type.flags & typescript_1.default.TypeFlags.Boolean) {
119
+ this.typeCache.set(signature, java_1.Type.Primitive.Boolean);
120
+ return java_1.Type.Primitive.Boolean;
121
+ }
106
122
  // Get symbol for later use in type detection
107
123
  const symbol = (_b = type.getSymbol) === null || _b === void 0 ? void 0 : _b.call(type);
108
124
  // IMPORTANT: Check if this is a type reference to a parameterized type FIRST
@@ -215,8 +231,7 @@ class JavaScriptTypeMapping {
215
231
  // so we can just process the resolved type normally (falling through to union handling below).
216
232
  // Check for union types (e.g., string | number)
217
233
  if (type.flags & typescript_1.default.TypeFlags.Union) {
218
- const unionType = type;
219
- return this.createUnionType(unionType, signature);
234
+ return this.createUnionType(type, signature);
220
235
  }
221
236
  // Check for intersection types (e.g., A & B)
222
237
  if (type.flags & typescript_1.default.TypeFlags.Intersection) {
@@ -277,15 +292,207 @@ class JavaScriptTypeMapping {
277
292
  return java_1.Type.isPrimitive(type) ? type : java_1.Type.Primitive.None;
278
293
  }
279
294
  variableType(node) {
295
+ let symbol;
296
+ let location = node;
297
+ // Get the symbol depending on node type
280
298
  if (typescript_1.default.isVariableDeclaration(node)) {
281
- const symbol = this.checker.getSymbolAtLocation(node.name);
282
- if (symbol) {
283
- // TODO: Implement in Phase 6
284
- // const type = this.checker.getTypeOfSymbolAtLocation(symbol, node);
285
- // return JavaType.Variable with proper mapping
299
+ symbol = this.checker.getSymbolAtLocation(node.name);
300
+ }
301
+ else if (typescript_1.default.isParameter(node)) {
302
+ symbol = this.checker.getSymbolAtLocation(node.name);
303
+ }
304
+ else if (typescript_1.default.isIdentifier(node)) {
305
+ // For identifier references (like 'vi' in 'vi.fn()')
306
+ symbol = this.checker.getSymbolAtLocation(node);
307
+ }
308
+ else if (typescript_1.default.isPropertyDeclaration(node) || typescript_1.default.isPropertySignature(node)) {
309
+ symbol = this.checker.getSymbolAtLocation(node.name);
310
+ }
311
+ else {
312
+ // Not a variable/parameter/property we can handle
313
+ return undefined;
314
+ }
315
+ if (!symbol) {
316
+ return undefined;
317
+ }
318
+ // Get the variable declaration (resolve aliases if needed)
319
+ let actualSymbol = symbol;
320
+ if (symbol.flags & typescript_1.default.SymbolFlags.Alias) {
321
+ actualSymbol = this.checker.getAliasedSymbol(symbol);
322
+ }
323
+ // Check if this symbol represents a variable, parameter, or property
324
+ // Exclude functions, classes, interfaces, namespaces, type aliases
325
+ const isExcluded = actualSymbol.flags & (typescript_1.default.SymbolFlags.Function |
326
+ typescript_1.default.SymbolFlags.Class |
327
+ typescript_1.default.SymbolFlags.Interface |
328
+ typescript_1.default.SymbolFlags.Enum |
329
+ typescript_1.default.SymbolFlags.ValueModule |
330
+ typescript_1.default.SymbolFlags.NamespaceModule |
331
+ typescript_1.default.SymbolFlags.TypeAlias |
332
+ typescript_1.default.SymbolFlags.TypeParameter);
333
+ if (isExcluded) {
334
+ // Not a variable - it's a type, function, class, namespace, etc.
335
+ return undefined;
336
+ }
337
+ const isVariable = actualSymbol.flags & (typescript_1.default.SymbolFlags.Variable |
338
+ typescript_1.default.SymbolFlags.Property |
339
+ typescript_1.default.SymbolFlags.FunctionScopedVariable |
340
+ typescript_1.default.SymbolFlags.BlockScopedVariable);
341
+ if (!isVariable) {
342
+ // Not a variable we recognize
343
+ return undefined;
344
+ }
345
+ // Get the type of the variable
346
+ const variableType = this.checker.getTypeOfSymbolAtLocation(actualSymbol, location);
347
+ const mappedType = this.getType(variableType);
348
+ // Get the owner (declaring type) for the variable
349
+ let ownerType;
350
+ // Check if the variable is imported
351
+ if (symbol.flags & typescript_1.default.SymbolFlags.Alias) {
352
+ // For imported variables, find the module specifier
353
+ const declarations = symbol.declarations;
354
+ if (declarations && declarations.length > 0) {
355
+ let importNode = declarations[0];
356
+ // Traverse up to find the ImportDeclaration
357
+ while (importNode && !typescript_1.default.isImportDeclaration(importNode)) {
358
+ importNode = importNode.parent;
359
+ }
360
+ if (importNode && typescript_1.default.isImportDeclaration(importNode)) {
361
+ const importDecl = importNode;
362
+ if (typescript_1.default.isStringLiteral(importDecl.moduleSpecifier)) {
363
+ const moduleSpecifier = importDecl.moduleSpecifier.text;
364
+ // Create a Type.Class representing the module
365
+ ownerType = Object.assign(new NonDraftableType(), {
366
+ kind: java_1.Type.Kind.Class,
367
+ flags: 0,
368
+ classKind: java_1.Type.Class.Kind.Interface,
369
+ fullyQualifiedName: moduleSpecifier,
370
+ typeParameters: [],
371
+ annotations: [],
372
+ interfaces: [],
373
+ members: [],
374
+ methods: [],
375
+ toJSON: function () {
376
+ return java_1.Type.signature(this);
377
+ }
378
+ });
379
+ }
380
+ }
381
+ }
382
+ }
383
+ else {
384
+ // For non-imported variables, check if they belong to a class/interface/namespace
385
+ const parentSymbol = actualSymbol.parent;
386
+ if (parentSymbol) {
387
+ const parentType = this.checker.getDeclaredTypeOfSymbol(parentSymbol);
388
+ if (parentType) {
389
+ ownerType = this.getType(parentType);
390
+ // If the parent is a namespace, try to find the module it came from
391
+ // This handles cases like React.forwardRef where the namespace is React
392
+ // but the module is "react"
393
+ if (parentSymbol.flags & typescript_1.default.SymbolFlags.ValueModule ||
394
+ parentSymbol.flags & typescript_1.default.SymbolFlags.NamespaceModule) {
395
+ // Check if this namespace was imported
396
+ const parentDeclarations = parentSymbol.declarations;
397
+ if (parentDeclarations && parentDeclarations.length > 0) {
398
+ const firstDecl = parentDeclarations[0];
399
+ const sourceFile = firstDecl.getSourceFile();
400
+ // If it's from node_modules or a .d.ts file, try to extract the module name
401
+ if (sourceFile.isDeclarationFile) {
402
+ const fileName = sourceFile.fileName;
403
+ const moduleName = this.extractModuleNameFromPath(fileName);
404
+ if (moduleName) {
405
+ // Store the module as the owningClass for now
406
+ // (This is a bit of a hack, but works with the current type system)
407
+ if (java_1.Type.isClass(ownerType)) {
408
+ ownerType.owningClass = Object.assign(new NonDraftableType(), {
409
+ kind: java_1.Type.Kind.Class,
410
+ flags: 0,
411
+ classKind: java_1.Type.Class.Kind.Interface,
412
+ fullyQualifiedName: moduleName,
413
+ typeParameters: [],
414
+ annotations: [],
415
+ interfaces: [],
416
+ members: [],
417
+ methods: [],
418
+ toJSON: function () {
419
+ return java_1.Type.signature(this);
420
+ }
421
+ });
422
+ }
423
+ }
424
+ }
425
+ }
426
+ }
427
+ }
428
+ }
429
+ }
430
+ // Create the Type.Variable
431
+ const variable = Object.assign(new NonDraftableType(), {
432
+ kind: java_1.Type.Kind.Variable,
433
+ name: actualSymbol.getName(),
434
+ owner: ownerType,
435
+ type: mappedType,
436
+ annotations: [],
437
+ toJSON: function () {
438
+ return java_1.Type.signature(this);
439
+ }
440
+ });
441
+ return variable;
442
+ }
443
+ /**
444
+ * Extract the npm module name from a file path.
445
+ * Handles various package manager layouts:
446
+ * - Standard: /path/node_modules/react/index.d.ts -> react
447
+ * - Scoped: /path/node_modules/@types/react/index.d.ts -> react
448
+ * - Scoped with __ encoding: /path/node_modules/@types/testing-library__react/index.d.ts -> @testing-library/react
449
+ * - Nested node_modules: /path/node_modules/pkg/node_modules/dep/index.d.ts -> dep
450
+ * - pnpm: /path/node_modules/.pnpm/react@18.2.0/node_modules/react/index.d.ts -> react
451
+ *
452
+ * @returns The module name, or undefined if not from node_modules
453
+ */
454
+ extractModuleNameFromPath(fileName) {
455
+ if (!fileName.includes('node_modules/')) {
456
+ return undefined;
457
+ }
458
+ // Find the last occurrence of node_modules/ to handle nested dependencies
459
+ // This also correctly handles pnpm's .pnpm structure
460
+ const lastNodeModulesIndex = fileName.lastIndexOf('node_modules/');
461
+ const afterNodeModules = fileName.substring(lastNodeModulesIndex + 'node_modules/'.length);
462
+ // Split by '/' to get path segments
463
+ const segments = afterNodeModules.split('/');
464
+ if (segments.length === 0) {
465
+ return undefined;
466
+ }
467
+ let moduleName;
468
+ // Handle scoped packages (@scope/package)
469
+ if (segments[0].startsWith('@') && segments.length > 1) {
470
+ moduleName = `${segments[0]}/${segments[1]}`;
471
+ }
472
+ else {
473
+ moduleName = segments[0];
474
+ }
475
+ // Skip pnpm's .pnpm directory - it contains versioned package paths
476
+ // In pnpm, the actual package is in: .pnpm/pkg@version/node_modules/pkg
477
+ // So we already handled this by using lastIndexOf above
478
+ if (moduleName === '.pnpm') {
479
+ return undefined;
480
+ }
481
+ // Remove @types/ prefix and decode DefinitelyTyped scoped package encoding
482
+ // DefinitelyTyped encodes scoped packages using __ instead of /
483
+ // Example: @types/testing-library__react -> @testing-library/react
484
+ if (moduleName.startsWith('@types/')) {
485
+ moduleName = moduleName.substring('@types/'.length);
486
+ // Decode __ encoding for scoped packages
487
+ // testing-library__react -> @testing-library/react
488
+ if (moduleName.includes('__')) {
489
+ const parts = moduleName.split('__');
490
+ if (parts.length === 2) {
491
+ moduleName = `@${parts[0]}/${parts[1]}`;
492
+ }
286
493
  }
287
494
  }
288
- return undefined;
495
+ return moduleName;
289
496
  }
290
497
  /**
291
498
  * Helper to create a Type.Method object from common parameters