Skip to content

Commit a310ccd

Browse files
rewrite esm imports
1 parent ede7719 commit a310ccd

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

src/compiler/factory/utilities.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ import {
6666
getOrCreateEmitNode,
6767
getOriginalNode,
6868
getOutputExtension,
69+
getOutputPathsFor,
6970
getParseTreeNode,
7071
getRelativePathFromFile,
7172
getSourceTextOfNodeFromSourceFile,
@@ -831,12 +832,19 @@ function tryRenameInternalModule(factory: NodeFactory, moduleName: LiteralExpres
831832
if (options.rewriteImports) {
832833
const cache = host.getModuleResolutionCache?.();
833834
const resolvedModule = resolveModuleName(moduleName.text, sourceFile.fileName, options, host as ModuleResolutionHost, cache);
834-
if (resolvedModule.resolvedModule && !resolvedModule.resolvedModule.resolvedFileName.includes("/node_modules/")) {
835+
836+
if (resolvedModule.resolvedModule && !resolvedModule.resolvedModule.isExternalLibraryImport) {
835837
const relative = getRelativePathFromFile(sourceFile.fileName, resolvedModule.resolvedModule.resolvedFileName, host.getCanonicalFileName);
836838
const updated = changeExtension(relative, getOutputExtension(relative, options));
837-
838839
return factory.createStringLiteral(updated);
839840
}
841+
842+
//if (resolvedModule.resolvedModule) {
843+
// const outPath = getOutputPathsFor(sourceFile, host, /*forceDtsPaths*/ false).jsFilePath;
844+
// const relative = getRelativePathFromFile(outPath ?? sourceFile.fileName, resolvedModule.resolvedModule.resolvedFileName, host.getCanonicalFileName);
845+
// const updated = changeExtension(relative, getOutputExtension(relative, options));
846+
// return factory.createStringLiteral(updated);
847+
//}
840848
}
841849
return undefined;
842850
}

src/compiler/transformers/module/esnextAnd2015.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,18 @@ export function transformECMAScriptModule(context: TransformationContext): (x: S
169169
}
170170

171171
function visitImportDeclaration(node: ImportDeclaration): VisitResult<ImportDeclaration> {
172+
if (compilerOptions.rewriteImports) {
173+
const moduleName = getExternalModuleNameLiteral(factory, node, currentSourceFile!, host, resolver, compilerOptions);
174+
if (moduleName) {
175+
return factory.updateImportDeclaration(
176+
node,
177+
node.modifiers,
178+
node.importClause,
179+
moduleName,
180+
node.attributes,
181+
);
182+
}
183+
}
172184
if (!compilerOptions.rewriteRelativeImportExtensions) {
173185
return node;
174186
}

0 commit comments

Comments
 (0)