Skip to content

Commit 6de5221

Browse files
committed
dont mutate
1 parent f06627f commit 6de5221

File tree

2 files changed

+15
-19
lines changed

2 files changed

+15
-19
lines changed

src/compiler/declarationEmitter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ namespace ts {
130130
}
131131
else if (isExternalModule(sourceFile)) {
132132
noDeclare = true;
133-
write(`declare module "${sourceFile.moduleName}" {`);
133+
write(`declare module "${getModuleName(host, sourceFile)}" {`);
134134
writeLine();
135135
increaseIndent();
136136
emitSourceFile(sourceFile);

src/compiler/emitter.ts

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ namespace ts {
77
return isExternalModule(sourceFile) || isDeclarationFile(sourceFile);
88
}
99

10+
export function getModuleName(host: EmitHost, file: SourceFile): string {
11+
return file.moduleName || getExternalModuleNameFromPath(host, file.fileName);
12+
}
13+
1014
type DependencyGroup = Array<ImportDeclaration | ImportEqualsDeclaration | ExportDeclaration>;
1115

1216
let entities: Map<number> = {
@@ -578,12 +582,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
578582
forEach(host.getSourceFiles(), emitEmitHelpers);
579583
}
580584
forEach(host.getSourceFiles(), sourceFile => {
581-
if (!isExternalModuleOrDeclarationFile(sourceFile)) {
585+
if ((!isExternalModuleOrDeclarationFile(sourceFile)) || (modulekind && isExternalModule(sourceFile))) {
582586
emitSourceFile(sourceFile);
583587
}
584-
else if (modulekind && isExternalModule(sourceFile)) {
585-
emitConcatenatedModule(sourceFile);
586-
}
587588
});
588589
}
589590

@@ -597,14 +598,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
597598
emit(sourceFile);
598599
}
599600

600-
function emitConcatenatedModule(sourceFile: SourceFile): void {
601-
currentSourceFile = sourceFile;
602-
exportFunctionForFile = undefined;
603-
let canonicalName = getExternalModuleNameFromPath(host, sourceFile.fileName);
604-
sourceFile.moduleName = sourceFile.moduleName || canonicalName;
605-
emit(sourceFile);
606-
}
607-
608601
function isUniqueName(name: string): boolean {
609602
return !resolver.hasGlobalName(name) &&
610603
!hasProperty(currentSourceFile.identifiers, name) &&
@@ -7282,6 +7275,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
72827275
write("}"); // execute
72837276
}
72847277

7278+
function writeModuleName(node: SourceFile, resolveModuleNames?: boolean): void {
7279+
let moduleName = node.moduleName;
7280+
if (moduleName || (resolveModuleNames && (moduleName = getModuleName(host, node)))) {
7281+
write(`"${moduleName}", `);
7282+
}
7283+
}
7284+
72857285
function emitSystemModule(node: SourceFile, resolveModuleNames?: boolean): void {
72867286
collectExternalModuleInfo(node);
72877287
// System modules has the following shape
@@ -7297,9 +7297,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
72977297
exportFunctionForFile = makeUniqueName("exports");
72987298
writeLine();
72997299
write("System.register(");
7300-
if (node.moduleName) {
7301-
write(`"${node.moduleName}", `);
7302-
}
7300+
writeModuleName(node, resolveModuleNames);
73037301
write("[");
73047302

73057303
let groupIndices: Map<number> = {};
@@ -7459,9 +7457,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
74597457

74607458
writeLine();
74617459
write("define(");
7462-
if (node.moduleName) {
7463-
write("\"" + node.moduleName + "\", ");
7464-
}
7460+
writeModuleName(node, resolveModuleNames);
74657461
emitAMDDependencies(node, /*includeNonAmdDependencies*/ true, resolveModuleNames);
74667462
increaseIndent();
74677463
let startIndex = emitDirectivePrologues(node.statements, /*startWithNewLine*/ true);

0 commit comments

Comments
 (0)