@@ -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