diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts index 669cbcbcf0c..b531302d01b 100644 --- a/src/compiler/declarationEmitter.ts +++ b/src/compiler/declarationEmitter.ts @@ -680,7 +680,7 @@ namespace ts { } else { write("require("); - writeTextOfNode(currentText, getExternalModuleImportEqualsDeclarationExpression(node)); + emitExternalModuleSpecifier(getExternalModuleImportEqualsDeclarationExpression(node)); write(");"); } writer.writeLine(); diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 2ea8c81c7e2..a483fe29cff 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -6804,7 +6804,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi } } - function getExternalModuleNameText(importNode: ImportDeclaration | ExportDeclaration | ImportEqualsDeclaration): string { + function getExternalModuleNameText(importNode: ImportDeclaration | ExportDeclaration | ImportEqualsDeclaration, emitRelativePathAsModuleName: boolean): string { + if (emitRelativePathAsModuleName) { + const name = getExternalModuleNameFromDeclaration(host, resolver, importNode); + if (name) { + return `"${name}"`; + } + } const moduleName = getExternalModuleName(importNode); if (moduleName.kind === SyntaxKind.StringLiteral) { return tryRenameExternalModule(moduleName) || getLiteralText(moduleName); @@ -7364,7 +7370,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi const dependencyGroups: DependencyGroup[] = []; for (let i = 0; i < externalImports.length; ++i) { - let text = getExternalModuleNameText(externalImports[i]); + const text = getExternalModuleNameText(externalImports[i], emitRelativePathAsModuleName); if (hasProperty(groupIndices, text)) { // deduplicate/group entries in dependency list by the dependency name const groupIndex = groupIndices[text]; @@ -7380,12 +7386,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi write(", "); } - if (emitRelativePathAsModuleName) { - const name = getExternalModuleNameFromDeclaration(host, resolver, externalImports[i]); - if (name) { - text = `"${name}"`; - } - } write(text); } write(`], function(${exportFunctionForFile}) {`); @@ -7428,14 +7428,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi for (const importNode of externalImports) { // Find the name of the external module - let externalModuleName = getExternalModuleNameText(importNode); - - if (emitRelativePathAsModuleName) { - const name = getExternalModuleNameFromDeclaration(host, resolver, importNode); - if (name) { - externalModuleName = `"${name}"`; - } - } + const externalModuleName = getExternalModuleNameText(importNode, emitRelativePathAsModuleName); // Find the name of the module alias, if there is one const importAliasName = getLocalNameForExternalImport(importNode);