@openrewrite/rewrite 8.68.0-20251124-203331 → 8.68.0-20251125-103445
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/java/tree.d.ts +6 -1
- package/dist/java/tree.d.ts.map +1 -1
- package/dist/java/tree.js +13 -3
- package/dist/java/tree.js.map +1 -1
- package/dist/javascript/add-import.d.ts.map +1 -1
- package/dist/javascript/add-import.js +101 -19
- package/dist/javascript/add-import.js.map +1 -1
- package/dist/javascript/dependency-workspace.d.ts +1 -0
- package/dist/javascript/dependency-workspace.d.ts.map +1 -1
- package/dist/javascript/dependency-workspace.js +44 -0
- package/dist/javascript/dependency-workspace.js.map +1 -1
- package/dist/javascript/templating/pattern.d.ts +7 -0
- package/dist/javascript/templating/pattern.d.ts.map +1 -1
- package/dist/javascript/templating/pattern.js +10 -0
- package/dist/javascript/templating/pattern.js.map +1 -1
- package/dist/javascript/templating/rewrite.d.ts.map +1 -1
- package/dist/javascript/templating/rewrite.js +17 -16
- package/dist/javascript/templating/rewrite.js.map +1 -1
- package/dist/javascript/templating/types.d.ts +56 -28
- package/dist/javascript/templating/types.d.ts.map +1 -1
- package/dist/javascript/type-mapping.d.ts +13 -1
- package/dist/javascript/type-mapping.d.ts.map +1 -1
- package/dist/javascript/type-mapping.js +207 -6
- package/dist/javascript/type-mapping.js.map +1 -1
- package/dist/version.txt +1 -1
- package/package.json +1 -1
- package/src/java/tree.ts +6 -1
- package/src/javascript/add-import.ts +101 -25
- package/src/javascript/dependency-workspace.ts +52 -0
- package/src/javascript/templating/pattern.ts +11 -0
- package/src/javascript/templating/rewrite.ts +19 -18
- package/src/javascript/templating/types.ts +60 -28
- package/src/javascript/type-mapping.ts +230 -7
|
@@ -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);
|
|
@@ -277,15 +286,207 @@ class JavaScriptTypeMapping {
|
|
|
277
286
|
return java_1.Type.isPrimitive(type) ? type : java_1.Type.Primitive.None;
|
|
278
287
|
}
|
|
279
288
|
variableType(node) {
|
|
289
|
+
let symbol;
|
|
290
|
+
let location = node;
|
|
291
|
+
// Get the symbol depending on node type
|
|
280
292
|
if (typescript_1.default.isVariableDeclaration(node)) {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
293
|
+
symbol = this.checker.getSymbolAtLocation(node.name);
|
|
294
|
+
}
|
|
295
|
+
else if (typescript_1.default.isParameter(node)) {
|
|
296
|
+
symbol = this.checker.getSymbolAtLocation(node.name);
|
|
297
|
+
}
|
|
298
|
+
else if (typescript_1.default.isIdentifier(node)) {
|
|
299
|
+
// For identifier references (like 'vi' in 'vi.fn()')
|
|
300
|
+
symbol = this.checker.getSymbolAtLocation(node);
|
|
301
|
+
}
|
|
302
|
+
else if (typescript_1.default.isPropertyDeclaration(node) || typescript_1.default.isPropertySignature(node)) {
|
|
303
|
+
symbol = this.checker.getSymbolAtLocation(node.name);
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
// Not a variable/parameter/property we can handle
|
|
307
|
+
return undefined;
|
|
308
|
+
}
|
|
309
|
+
if (!symbol) {
|
|
310
|
+
return undefined;
|
|
311
|
+
}
|
|
312
|
+
// Get the variable declaration (resolve aliases if needed)
|
|
313
|
+
let actualSymbol = symbol;
|
|
314
|
+
if (symbol.flags & typescript_1.default.SymbolFlags.Alias) {
|
|
315
|
+
actualSymbol = this.checker.getAliasedSymbol(symbol);
|
|
316
|
+
}
|
|
317
|
+
// Check if this symbol represents a variable, parameter, or property
|
|
318
|
+
// Exclude functions, classes, interfaces, namespaces, type aliases
|
|
319
|
+
const isExcluded = actualSymbol.flags & (typescript_1.default.SymbolFlags.Function |
|
|
320
|
+
typescript_1.default.SymbolFlags.Class |
|
|
321
|
+
typescript_1.default.SymbolFlags.Interface |
|
|
322
|
+
typescript_1.default.SymbolFlags.Enum |
|
|
323
|
+
typescript_1.default.SymbolFlags.ValueModule |
|
|
324
|
+
typescript_1.default.SymbolFlags.NamespaceModule |
|
|
325
|
+
typescript_1.default.SymbolFlags.TypeAlias |
|
|
326
|
+
typescript_1.default.SymbolFlags.TypeParameter);
|
|
327
|
+
if (isExcluded) {
|
|
328
|
+
// Not a variable - it's a type, function, class, namespace, etc.
|
|
329
|
+
return undefined;
|
|
330
|
+
}
|
|
331
|
+
const isVariable = actualSymbol.flags & (typescript_1.default.SymbolFlags.Variable |
|
|
332
|
+
typescript_1.default.SymbolFlags.Property |
|
|
333
|
+
typescript_1.default.SymbolFlags.FunctionScopedVariable |
|
|
334
|
+
typescript_1.default.SymbolFlags.BlockScopedVariable);
|
|
335
|
+
if (!isVariable) {
|
|
336
|
+
// Not a variable we recognize
|
|
337
|
+
return undefined;
|
|
338
|
+
}
|
|
339
|
+
// Get the type of the variable
|
|
340
|
+
const variableType = this.checker.getTypeOfSymbolAtLocation(actualSymbol, location);
|
|
341
|
+
const mappedType = this.getType(variableType);
|
|
342
|
+
// Get the owner (declaring type) for the variable
|
|
343
|
+
let ownerType;
|
|
344
|
+
// Check if the variable is imported
|
|
345
|
+
if (symbol.flags & typescript_1.default.SymbolFlags.Alias) {
|
|
346
|
+
// For imported variables, find the module specifier
|
|
347
|
+
const declarations = symbol.declarations;
|
|
348
|
+
if (declarations && declarations.length > 0) {
|
|
349
|
+
let importNode = declarations[0];
|
|
350
|
+
// Traverse up to find the ImportDeclaration
|
|
351
|
+
while (importNode && !typescript_1.default.isImportDeclaration(importNode)) {
|
|
352
|
+
importNode = importNode.parent;
|
|
353
|
+
}
|
|
354
|
+
if (importNode && typescript_1.default.isImportDeclaration(importNode)) {
|
|
355
|
+
const importDecl = importNode;
|
|
356
|
+
if (typescript_1.default.isStringLiteral(importDecl.moduleSpecifier)) {
|
|
357
|
+
const moduleSpecifier = importDecl.moduleSpecifier.text;
|
|
358
|
+
// Create a Type.Class representing the module
|
|
359
|
+
ownerType = Object.assign(new NonDraftableType(), {
|
|
360
|
+
kind: java_1.Type.Kind.Class,
|
|
361
|
+
flags: 0,
|
|
362
|
+
classKind: java_1.Type.Class.Kind.Interface,
|
|
363
|
+
fullyQualifiedName: moduleSpecifier,
|
|
364
|
+
typeParameters: [],
|
|
365
|
+
annotations: [],
|
|
366
|
+
interfaces: [],
|
|
367
|
+
members: [],
|
|
368
|
+
methods: [],
|
|
369
|
+
toJSON: function () {
|
|
370
|
+
return java_1.Type.signature(this);
|
|
371
|
+
}
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
// For non-imported variables, check if they belong to a class/interface/namespace
|
|
379
|
+
const parentSymbol = actualSymbol.parent;
|
|
380
|
+
if (parentSymbol) {
|
|
381
|
+
const parentType = this.checker.getDeclaredTypeOfSymbol(parentSymbol);
|
|
382
|
+
if (parentType) {
|
|
383
|
+
ownerType = this.getType(parentType);
|
|
384
|
+
// If the parent is a namespace, try to find the module it came from
|
|
385
|
+
// This handles cases like React.forwardRef where the namespace is React
|
|
386
|
+
// but the module is "react"
|
|
387
|
+
if (parentSymbol.flags & typescript_1.default.SymbolFlags.ValueModule ||
|
|
388
|
+
parentSymbol.flags & typescript_1.default.SymbolFlags.NamespaceModule) {
|
|
389
|
+
// Check if this namespace was imported
|
|
390
|
+
const parentDeclarations = parentSymbol.declarations;
|
|
391
|
+
if (parentDeclarations && parentDeclarations.length > 0) {
|
|
392
|
+
const firstDecl = parentDeclarations[0];
|
|
393
|
+
const sourceFile = firstDecl.getSourceFile();
|
|
394
|
+
// If it's from node_modules or a .d.ts file, try to extract the module name
|
|
395
|
+
if (sourceFile.isDeclarationFile) {
|
|
396
|
+
const fileName = sourceFile.fileName;
|
|
397
|
+
const moduleName = this.extractModuleNameFromPath(fileName);
|
|
398
|
+
if (moduleName) {
|
|
399
|
+
// Store the module as the owningClass for now
|
|
400
|
+
// (This is a bit of a hack, but works with the current type system)
|
|
401
|
+
if (java_1.Type.isClass(ownerType)) {
|
|
402
|
+
ownerType.owningClass = Object.assign(new NonDraftableType(), {
|
|
403
|
+
kind: java_1.Type.Kind.Class,
|
|
404
|
+
flags: 0,
|
|
405
|
+
classKind: java_1.Type.Class.Kind.Interface,
|
|
406
|
+
fullyQualifiedName: moduleName,
|
|
407
|
+
typeParameters: [],
|
|
408
|
+
annotations: [],
|
|
409
|
+
interfaces: [],
|
|
410
|
+
members: [],
|
|
411
|
+
methods: [],
|
|
412
|
+
toJSON: function () {
|
|
413
|
+
return java_1.Type.signature(this);
|
|
414
|
+
}
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
// Create the Type.Variable
|
|
425
|
+
const variable = Object.assign(new NonDraftableType(), {
|
|
426
|
+
kind: java_1.Type.Kind.Variable,
|
|
427
|
+
name: actualSymbol.getName(),
|
|
428
|
+
owner: ownerType,
|
|
429
|
+
type: mappedType,
|
|
430
|
+
annotations: [],
|
|
431
|
+
toJSON: function () {
|
|
432
|
+
return java_1.Type.signature(this);
|
|
433
|
+
}
|
|
434
|
+
});
|
|
435
|
+
return variable;
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Extract the npm module name from a file path.
|
|
439
|
+
* Handles various package manager layouts:
|
|
440
|
+
* - Standard: /path/node_modules/react/index.d.ts -> react
|
|
441
|
+
* - Scoped: /path/node_modules/@types/react/index.d.ts -> react
|
|
442
|
+
* - Scoped with __ encoding: /path/node_modules/@types/testing-library__react/index.d.ts -> @testing-library/react
|
|
443
|
+
* - Nested node_modules: /path/node_modules/pkg/node_modules/dep/index.d.ts -> dep
|
|
444
|
+
* - pnpm: /path/node_modules/.pnpm/react@18.2.0/node_modules/react/index.d.ts -> react
|
|
445
|
+
*
|
|
446
|
+
* @returns The module name, or undefined if not from node_modules
|
|
447
|
+
*/
|
|
448
|
+
extractModuleNameFromPath(fileName) {
|
|
449
|
+
if (!fileName.includes('node_modules/')) {
|
|
450
|
+
return undefined;
|
|
451
|
+
}
|
|
452
|
+
// Find the last occurrence of node_modules/ to handle nested dependencies
|
|
453
|
+
// This also correctly handles pnpm's .pnpm structure
|
|
454
|
+
const lastNodeModulesIndex = fileName.lastIndexOf('node_modules/');
|
|
455
|
+
const afterNodeModules = fileName.substring(lastNodeModulesIndex + 'node_modules/'.length);
|
|
456
|
+
// Split by '/' to get path segments
|
|
457
|
+
const segments = afterNodeModules.split('/');
|
|
458
|
+
if (segments.length === 0) {
|
|
459
|
+
return undefined;
|
|
460
|
+
}
|
|
461
|
+
let moduleName;
|
|
462
|
+
// Handle scoped packages (@scope/package)
|
|
463
|
+
if (segments[0].startsWith('@') && segments.length > 1) {
|
|
464
|
+
moduleName = `${segments[0]}/${segments[1]}`;
|
|
465
|
+
}
|
|
466
|
+
else {
|
|
467
|
+
moduleName = segments[0];
|
|
468
|
+
}
|
|
469
|
+
// Skip pnpm's .pnpm directory - it contains versioned package paths
|
|
470
|
+
// In pnpm, the actual package is in: .pnpm/pkg@version/node_modules/pkg
|
|
471
|
+
// So we already handled this by using lastIndexOf above
|
|
472
|
+
if (moduleName === '.pnpm') {
|
|
473
|
+
return undefined;
|
|
474
|
+
}
|
|
475
|
+
// Remove @types/ prefix and decode DefinitelyTyped scoped package encoding
|
|
476
|
+
// DefinitelyTyped encodes scoped packages using __ instead of /
|
|
477
|
+
// Example: @types/testing-library__react -> @testing-library/react
|
|
478
|
+
if (moduleName.startsWith('@types/')) {
|
|
479
|
+
moduleName = moduleName.substring('@types/'.length);
|
|
480
|
+
// Decode __ encoding for scoped packages
|
|
481
|
+
// testing-library__react -> @testing-library/react
|
|
482
|
+
if (moduleName.includes('__')) {
|
|
483
|
+
const parts = moduleName.split('__');
|
|
484
|
+
if (parts.length === 2) {
|
|
485
|
+
moduleName = `@${parts[0]}/${parts[1]}`;
|
|
486
|
+
}
|
|
286
487
|
}
|
|
287
488
|
}
|
|
288
|
-
return
|
|
489
|
+
return moduleName;
|
|
289
490
|
}
|
|
290
491
|
/**
|
|
291
492
|
* Helper to create a Type.Method object from common parameters
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-mapping.js","sourceRoot":"","sources":["../../src/javascript/type-mapping.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type-mapping.js","sourceRoot":"","sources":["../../src/javascript/type-mapping.ts"],"names":[],"mappings":"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"}
|
package/dist/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
8.68.0-
|
|
1
|
+
8.68.0-20251125-103445
|
package/package.json
CHANGED
package/src/java/tree.ts
CHANGED
|
@@ -835,15 +835,20 @@ export interface DocComment extends Comment {
|
|
|
835
835
|
// TODO implement me!
|
|
836
836
|
}
|
|
837
837
|
|
|
838
|
-
export const
|
|
838
|
+
export const isBinary = (n: any): n is J.Binary => n.kind === J.Kind.Binary;
|
|
839
839
|
export const isBlock = (n: any): n is J.Block => n.kind === J.Kind.Block;
|
|
840
|
+
export const isClassDeclaration = (n: any): n is J.ClassDeclaration => n.kind === J.Kind.ClassDeclaration;
|
|
841
|
+
export const isFieldAccess = (n: any): n is J.FieldAccess => n.kind === J.Kind.FieldAccess;
|
|
840
842
|
export const isIdentifier = (tree: any): tree is J.Identifier => tree["kind"] === J.Kind.Identifier;
|
|
841
843
|
export const isIf = (tree: any): tree is J.If => tree["kind"] === J.Kind.If;
|
|
844
|
+
export const isImport = (tree: any): tree is J.Import => tree["kind"] === J.Kind.Import;
|
|
842
845
|
export const isLambda = (tree: any): tree is J.Lambda => tree["kind"] === J.Kind.Lambda;
|
|
843
846
|
export const isLiteral = (tree: any): tree is J.Literal => tree["kind"] === J.Kind.Literal;
|
|
844
847
|
export const isMethodDeclaration = (n: any): n is J.MethodDeclaration => n.kind === J.Kind.MethodDeclaration;
|
|
845
848
|
export const isMethodInvocation = (n: any): n is J.MethodInvocation => n.kind === J.Kind.MethodInvocation;
|
|
849
|
+
export const isNamedVariable = (n: any): n is J.VariableDeclarations.NamedVariable => n.kind === J.Kind.NamedVariable;
|
|
846
850
|
export const isNewClass = (n: any): n is J.NewClass => n.kind === J.Kind.NewClass;
|
|
851
|
+
export const isReturn = (n: any): n is J.Return => n.kind === J.Kind.Return;
|
|
847
852
|
export const isVariableDeclarations = (n: any): n is J.VariableDeclarations => n.kind === J.Kind.VariableDeclarations;
|
|
848
853
|
|
|
849
854
|
export function rightPadded<T extends J | boolean>(t: T, trailing: J.Space, markers?: Markers): J.RightPadded<T> {
|
|
@@ -448,34 +448,52 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
|
|
|
448
448
|
// We found a matching import with named bindings - merge into it
|
|
449
449
|
return this.produceJavaScript<JS.CompilationUnit>(compilationUnit, p, async draft => {
|
|
450
450
|
const namedImports = importClause.namedBindings as JS.NamedImports;
|
|
451
|
-
|
|
452
|
-
// Create the new specifier with a space prefix (since it's not the first element)
|
|
453
|
-
const newSpecifierBase = this.createImportSpecifier();
|
|
454
|
-
const newSpecifier = {...newSpecifierBase, prefix: singleSpace};
|
|
455
|
-
|
|
456
|
-
// Transfer the right padding from the element before the insertion point to the new element
|
|
457
|
-
// Since we're appending, this is the last existing element
|
|
458
451
|
const existingElements = namedImports.elements.elements;
|
|
459
|
-
const elementBeforeInsertion = existingElements[existingElements.length - 1];
|
|
460
|
-
const paddingToTransfer = elementBeforeInsertion.after;
|
|
461
452
|
|
|
462
|
-
//
|
|
453
|
+
// Find the correct insertion position (alphabetical, case-insensitive)
|
|
454
|
+
const newName = (this.alias || this.member!).toLowerCase();
|
|
455
|
+
let insertIndex = existingElements.findIndex(elem => {
|
|
456
|
+
if (elem.element?.kind === JS.Kind.ImportSpecifier) {
|
|
457
|
+
const name = this.getImportAlias(elem.element) || this.getImportName(elem.element);
|
|
458
|
+
return newName.localeCompare(name.toLowerCase()) < 0;
|
|
459
|
+
}
|
|
460
|
+
return false;
|
|
461
|
+
});
|
|
462
|
+
if (insertIndex === -1) insertIndex = existingElements.length;
|
|
463
|
+
|
|
464
|
+
// Build the new elements array with proper spacing
|
|
463
465
|
const updatedNamedImports: JS.NamedImports = await this.produceJavaScript<JS.NamedImports>(
|
|
464
466
|
namedImports, p, async namedDraft => {
|
|
465
|
-
|
|
466
|
-
const
|
|
467
|
-
|
|
468
|
-
|
|
467
|
+
const lastIndex = existingElements.length - 1;
|
|
468
|
+
const trailingSpace = existingElements[lastIndex].after;
|
|
469
|
+
const newSpecifier = this.createImportSpecifier();
|
|
470
|
+
|
|
471
|
+
const newElements = existingElements.flatMap((elem, j) => {
|
|
472
|
+
const results: J.RightPadded<JS.ImportSpecifier>[] = [];
|
|
473
|
+
if (j === insertIndex) {
|
|
474
|
+
// Insert new element here; first element gets no prefix, others get space
|
|
475
|
+
const prefix = j === 0 ? emptySpace : singleSpace;
|
|
476
|
+
results.push(rightPadded({...newSpecifier, prefix}, emptySpace));
|
|
477
|
+
}
|
|
478
|
+
// Adjust existing element: first after insertion gets space prefix
|
|
479
|
+
let adjusted = elem;
|
|
480
|
+
if (j === 0 && insertIndex === 0 && elem.element) {
|
|
481
|
+
adjusted = {...elem, element: {...elem.element, prefix: singleSpace}};
|
|
482
|
+
}
|
|
483
|
+
// Last element before a new trailing element loses its trailing space
|
|
484
|
+
if (j === lastIndex && insertIndex > lastIndex) {
|
|
485
|
+
adjusted = {...adjusted, after: emptySpace};
|
|
486
|
+
}
|
|
487
|
+
results.push(adjusted);
|
|
488
|
+
return results;
|
|
469
489
|
});
|
|
470
490
|
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
]
|
|
478
|
-
};
|
|
491
|
+
// Append at end if inserting after all existing elements
|
|
492
|
+
if (insertIndex > lastIndex) {
|
|
493
|
+
newElements.push(rightPadded({...newSpecifier, prefix: singleSpace}, trailingSpace));
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
namedDraft.elements = {...namedImports.elements, elements: newElements};
|
|
479
497
|
}
|
|
480
498
|
);
|
|
481
499
|
|
|
@@ -718,12 +736,21 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
|
|
|
718
736
|
}
|
|
719
737
|
}
|
|
720
738
|
|
|
739
|
+
// Try to extract declaring type from either type or fieldType
|
|
721
740
|
if (identifier?.type && Type.isMethod(identifier.type)) {
|
|
722
741
|
const methodType = identifier.type as Type.Method;
|
|
723
742
|
expectedDeclaringType = Type.FullyQualified.getFullyQualifiedName(methodType.declaringType);
|
|
724
743
|
if (expectedDeclaringType) {
|
|
725
744
|
break; // Found it!
|
|
726
745
|
}
|
|
746
|
+
} else if (identifier?.fieldType?.kind === Type.Kind.Variable) {
|
|
747
|
+
const variableType = identifier.fieldType as Type.Variable;
|
|
748
|
+
if (variableType.owner) {
|
|
749
|
+
expectedDeclaringType = Type.FullyQualified.getFullyQualifiedName(variableType.owner);
|
|
750
|
+
if (expectedDeclaringType) {
|
|
751
|
+
break; // Found it!
|
|
752
|
+
}
|
|
753
|
+
}
|
|
727
754
|
}
|
|
728
755
|
}
|
|
729
756
|
}
|
|
@@ -737,6 +764,7 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
|
|
|
737
764
|
|
|
738
765
|
// Step 2: Look for references that match
|
|
739
766
|
const targetName = this.alias || this.member;
|
|
767
|
+
const targetModule = this.module;
|
|
740
768
|
let found = false;
|
|
741
769
|
|
|
742
770
|
// If no existing imports from this module, look for unresolved references
|
|
@@ -746,8 +774,10 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
|
|
|
746
774
|
override async visitIdentifier(identifier: J.Identifier, p: void): Promise<J | undefined> {
|
|
747
775
|
if (identifier.simpleName === targetName) {
|
|
748
776
|
const type = identifier.type;
|
|
777
|
+
const fieldType = identifier.fieldType;
|
|
749
778
|
if (expectedDeclaringType) {
|
|
750
779
|
// We have an expected declaring type - check for exact match
|
|
780
|
+
// Check method type (for functions)
|
|
751
781
|
if (type && Type.isMethod(type)) {
|
|
752
782
|
const methodType = type as Type.Method;
|
|
753
783
|
const declaringTypeName = Type.FullyQualified.getFullyQualifiedName(methodType.declaringType);
|
|
@@ -755,11 +785,56 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
|
|
|
755
785
|
found = true;
|
|
756
786
|
}
|
|
757
787
|
}
|
|
788
|
+
// Also check field type (for objects, variables, etc.)
|
|
789
|
+
else if (fieldType?.kind === Type.Kind.Variable) {
|
|
790
|
+
const variableType = fieldType as Type.Variable;
|
|
791
|
+
// For variables, the owner is the declaring module/namespace
|
|
792
|
+
if (variableType.owner) {
|
|
793
|
+
const ownerTypeName = Type.FullyQualified.getFullyQualifiedName(variableType.owner);
|
|
794
|
+
if (ownerTypeName === expectedDeclaringType) {
|
|
795
|
+
found = true;
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
// Even with expectedDeclaringType, also check for unresolved references
|
|
800
|
+
// This handles the case where the member isn't imported yet
|
|
801
|
+
else if (!type && !fieldType) {
|
|
802
|
+
found = true;
|
|
803
|
+
}
|
|
758
804
|
} else {
|
|
759
|
-
// No existing imports - look for
|
|
760
|
-
|
|
805
|
+
// No existing imports from this module - look for references that match
|
|
806
|
+
// 1. Unresolved references (no type/unknown type and no fieldType)
|
|
807
|
+
const isUnknownType = !type || type.kind === Type.Kind.Unknown;
|
|
808
|
+
if (isUnknownType && !fieldType) {
|
|
761
809
|
found = true;
|
|
762
810
|
}
|
|
811
|
+
// 2. References with fieldType matching the target module
|
|
812
|
+
else if (fieldType?.kind === Type.Kind.Variable) {
|
|
813
|
+
const variableType = fieldType as Type.Variable;
|
|
814
|
+
if (variableType.owner && Type.isClass(variableType.owner)) {
|
|
815
|
+
// Traverse owningClass chain to find the root module (handles nested namespaces)
|
|
816
|
+
// For example: React.forwardRef -> owner is "React" namespace -> owningClass is "react" module
|
|
817
|
+
let current: Type.Class = variableType.owner as Type.Class;
|
|
818
|
+
|
|
819
|
+
// Walk up the owningClass chain until we reach the root
|
|
820
|
+
while (current.owningClass && Type.isClass(current.owningClass)) {
|
|
821
|
+
current = current.owningClass as Type.Class;
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
const moduleName = Type.FullyQualified.getFullyQualifiedName(current);
|
|
825
|
+
if (moduleName === targetModule) {
|
|
826
|
+
found = true;
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
// 3. References with method type matching the target module
|
|
831
|
+
else if (type && Type.isMethod(type)) {
|
|
832
|
+
const methodType = type as Type.Method;
|
|
833
|
+
const declaringTypeName = Type.FullyQualified.getFullyQualifiedName(methodType.declaringType);
|
|
834
|
+
if (declaringTypeName === targetModule) {
|
|
835
|
+
found = true;
|
|
836
|
+
}
|
|
837
|
+
}
|
|
763
838
|
}
|
|
764
839
|
}
|
|
765
840
|
return super.visitIdentifier(identifier, p);
|
|
@@ -822,12 +897,13 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
|
|
|
822
897
|
// For side-effect imports, use emptySpace since space comes from LeftPadded.before
|
|
823
898
|
// For regular imports with import clause, use emptySpace since space comes from LeftPadded.before
|
|
824
899
|
// However, the printer expects the space after 'from' in the literal's prefix
|
|
900
|
+
// Note: value contains the unquoted string, valueSource contains the quoted version for printing
|
|
825
901
|
const moduleSpecifier: J.Literal = {
|
|
826
902
|
id: randomId(),
|
|
827
903
|
kind: J.Kind.Literal,
|
|
828
904
|
prefix: this.sideEffectOnly ? emptySpace : singleSpace,
|
|
829
905
|
markers: emptyMarkers,
|
|
830
|
-
value:
|
|
906
|
+
value: this.module,
|
|
831
907
|
valueSource: `'${this.module}'`,
|
|
832
908
|
unicodeEscapes: [],
|
|
833
909
|
type: undefined
|