emit module name for system modules, add moduleName argument to 'transpile' function

Conflicts:
	src/services/services.ts
This commit is contained in:
Vladimir Matveev 2015-06-03 14:55:42 -07:00
parent 6f45524b9f
commit 7c8a50336d
7 changed files with 43 additions and 7 deletions

View File

@ -5477,7 +5477,11 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
Debug.assert(!exportFunctionForFile);
// make sure that name of 'exports' function does not conflict with existing identifiers
exportFunctionForFile = makeUniqueName("exports");
write("System.register([");
write("System.register(");
if (node.moduleName) {
write(`"${node.moduleName}", `);
}
write("[")
for (let i = 0; i < externalImports.length; ++i) {
let text = getExternalModuleNameText(externalImports[i]);
if (i !== 0) {
@ -5563,8 +5567,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
writeLine();
write("define(");
if (node.amdModuleName) {
write("\"" + node.amdModuleName + "\", ");
if (node.moduleName) {
write("\"" + node.moduleName + "\", ");
}
emitAMDDependencies(node, /*includeNonAmdDependencies*/ true);
write(") {");

View File

@ -4820,7 +4820,7 @@ module ts {
sourceFile.referencedFiles = referencedFiles;
sourceFile.amdDependencies = amdDependencies;
sourceFile.amdModuleName = amdModuleName;
sourceFile.moduleName = amdModuleName;
}
function setExternalModuleIndicator(sourceFile: SourceFile) {

View File

@ -1001,7 +1001,7 @@ module ts {
text: string;
amdDependencies: {path: string; name: string}[];
amdModuleName: string;
moduleName: string;
referencedFiles: FileReference[];
hasNoDefaultLib: boolean;

View File

@ -735,7 +735,7 @@ module ts {
public endOfFileToken: Node;
public amdDependencies: { name: string; path: string }[];
public amdModuleName: string;
public moduleName: string;
public referencedFiles: FileReference[];
public syntacticDiagnostics: Diagnostic[];
@ -1766,7 +1766,7 @@ module ts {
* - noLib = true
* - noResolve = true
*/
export function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[]): string {
export function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string {
let options = compilerOptions ? clone(compilerOptions) : getDefaultCompilerOptions();
options.isolatedModules = true;
@ -1785,6 +1785,9 @@ module ts {
// Parse
let inputFileName = fileName || "module.ts";
let sourceFile = createSourceFile(inputFileName, input, options.target);
if (moduleName) {
sourceFile.moduleName = moduleName;
}
// Store syntactic diagnostics
if (diagnostics && sourceFile.parseDiagnostics) {

View File

@ -0,0 +1,10 @@
tests/cases/compiler/systemModule12.ts(3,15): error TS2307: Cannot find module 'file1'.
==== tests/cases/compiler/systemModule12.ts (1 errors) ====
///<amd-module name='NamedModule'/>
import n from 'file1'
~~~~~~~
!!! error TS2307: Cannot find module 'file1'.

View File

@ -0,0 +1,14 @@
//// [systemModule12.ts]
///<amd-module name='NamedModule'/>
import n from 'file1'
//// [systemModule12.js]
System.register("NamedModule", [], function(exports_1) {
return {
setters:[],
execute: function() {
}
}
});

View File

@ -0,0 +1,5 @@
// @module: system
// @isolatedModules: true
///<amd-module name='NamedModule'/>
import n from 'file1'