mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-15 12:51:30 -05:00
Merge pull request #4179 from Microsoft/exportDeclarationsInSystem
emit export declarations for system modules as a part of 'execute' me…
This commit is contained in:
@@ -22,8 +22,8 @@ System.register(['foo'], function(exports_1) {
|
||||
var cls, cls2, x, y, z, M;
|
||||
return {
|
||||
setters:[
|
||||
function (_alias) {
|
||||
alias = _alias;
|
||||
function (alias_1) {
|
||||
alias = alias_1;
|
||||
}],
|
||||
execute: function() {
|
||||
cls = alias.Class;
|
||||
|
||||
@@ -21,8 +21,8 @@ System.register(["foo"], function(exports_1) {
|
||||
var cls, cls2, x, y, z, M;
|
||||
return {
|
||||
setters:[
|
||||
function (_foo_1) {
|
||||
foo_1 = _foo_1;
|
||||
function (foo_1_1) {
|
||||
foo_1 = foo_1_1;
|
||||
}],
|
||||
execute: function() {
|
||||
cls = foo_1.alias.Class;
|
||||
|
||||
@@ -14,19 +14,19 @@ System.register(['file1', 'file2'], function(exports_1) {
|
||||
var file1_1, n2;
|
||||
return {
|
||||
setters:[
|
||||
function (_file1_1) {
|
||||
file1_1 = _file1_1;
|
||||
exports_1("n", file1_1["default"]);
|
||||
exports_1("n1", file1_1["default"]);
|
||||
exports_1("x", file1_1.x);
|
||||
exports_1("y", file1_1.x);
|
||||
function (file1_1_1) {
|
||||
file1_1 = file1_1_1;
|
||||
},
|
||||
function (_n2) {
|
||||
n2 = _n2;
|
||||
exports_1("n2", n2);
|
||||
exports_1("n3", n2);
|
||||
function (n2_1) {
|
||||
n2 = n2_1;
|
||||
}],
|
||||
execute: function() {
|
||||
exports_1("x", file1_1.x);
|
||||
exports_1("y", file1_1.x);
|
||||
exports_1("n", file1_1["default"]);
|
||||
exports_1("n1", file1_1["default"]);
|
||||
exports_1("n2", n2);
|
||||
exports_1("n3", n2);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -14,19 +14,19 @@ System.register(['file1', 'file2'], function(exports_1) {
|
||||
var file1_1, n2;
|
||||
return {
|
||||
setters:[
|
||||
function (_file1_1) {
|
||||
file1_1 = _file1_1;
|
||||
exports_1("n", file1_1.default);
|
||||
exports_1("n1", file1_1.default);
|
||||
exports_1("x", file1_1.x);
|
||||
exports_1("y", file1_1.x);
|
||||
function (file1_1_1) {
|
||||
file1_1 = file1_1_1;
|
||||
},
|
||||
function (_n2) {
|
||||
n2 = _n2;
|
||||
exports_1("n2", n2);
|
||||
exports_1("n3", n2);
|
||||
function (n2_1) {
|
||||
n2 = n2_1;
|
||||
}],
|
||||
execute: function() {
|
||||
exports_1("x", file1_1.x);
|
||||
exports_1("y", file1_1.x);
|
||||
exports_1("n", file1_1.default);
|
||||
exports_1("n1", file1_1.default);
|
||||
exports_1("n2", n2);
|
||||
exports_1("n3", n2);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -59,8 +59,8 @@ System.register(['bar'], function(exports_1) {
|
||||
}
|
||||
return {
|
||||
setters:[
|
||||
function (_bar_1) {
|
||||
exportStar_1(_bar_1);
|
||||
function (bar_1_1) {
|
||||
exportStar_1(bar_1_1);
|
||||
}],
|
||||
execute: function() {
|
||||
}
|
||||
@@ -82,8 +82,8 @@ System.register(['bar'], function(exports_1) {
|
||||
}
|
||||
return {
|
||||
setters:[
|
||||
function (_bar_1) {
|
||||
exportStar_1(_bar_1);
|
||||
function (bar_1_1) {
|
||||
exportStar_1(bar_1_1);
|
||||
}],
|
||||
execute: function() {
|
||||
exports_1("x", x);
|
||||
@@ -108,14 +108,14 @@ System.register(['a', 'bar'], function(exports_1) {
|
||||
}
|
||||
return {
|
||||
setters:[
|
||||
function (_a_1) {
|
||||
var reexports_1 = {};
|
||||
reexports_1["x"] = _a_1["x"];
|
||||
reexports_1["z"] = _a_1["y"];
|
||||
exports_1(reexports_1);
|
||||
function (a_1_1) {
|
||||
exports_1({
|
||||
"x": a_1_1["x"],
|
||||
"z": a_1_1["y"]
|
||||
});
|
||||
},
|
||||
function (_bar_1) {
|
||||
exportStar_1(_bar_1);
|
||||
function (bar_1_1) {
|
||||
exportStar_1(bar_1_1);
|
||||
}],
|
||||
execute: function() {
|
||||
}
|
||||
@@ -130,11 +130,11 @@ System.register(['a'], function(exports_1) {
|
||||
exports_1("default", default_1);
|
||||
return {
|
||||
setters:[
|
||||
function (_a_1) {
|
||||
var reexports_1 = {};
|
||||
reexports_1["s"] = _a_1["s"];
|
||||
reexports_1["s2"] = _a_1["s1"];
|
||||
exports_1(reexports_1);
|
||||
function (a_1_1) {
|
||||
exports_1({
|
||||
"s": a_1_1["s"],
|
||||
"s2": a_1_1["s1"]
|
||||
});
|
||||
}],
|
||||
execute: function() {
|
||||
exports_1("z", z);
|
||||
@@ -154,8 +154,8 @@ System.register(['a'], function(exports_1) {
|
||||
}
|
||||
return {
|
||||
setters:[
|
||||
function (_a_1) {
|
||||
exportStar_1(_a_1);
|
||||
function (a_1_1) {
|
||||
exportStar_1(a_1_1);
|
||||
}],
|
||||
execute: function() {
|
||||
}
|
||||
|
||||
16
tests/baselines/reference/systemModule14.errors.txt
Normal file
16
tests/baselines/reference/systemModule14.errors.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
tests/cases/compiler/systemModule14.ts(6,17): error TS2307: Cannot find module 'foo'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/systemModule14.ts (1 errors) ====
|
||||
|
||||
function foo() {
|
||||
return a;
|
||||
}
|
||||
|
||||
import {a} from "foo";
|
||||
~~~~~
|
||||
!!! error TS2307: Cannot find module 'foo'.
|
||||
export {foo}
|
||||
|
||||
var x = 1;
|
||||
export {foo as b}
|
||||
31
tests/baselines/reference/systemModule14.js
Normal file
31
tests/baselines/reference/systemModule14.js
Normal file
@@ -0,0 +1,31 @@
|
||||
//// [systemModule14.ts]
|
||||
|
||||
function foo() {
|
||||
return a;
|
||||
}
|
||||
|
||||
import {a} from "foo";
|
||||
export {foo}
|
||||
|
||||
var x = 1;
|
||||
export {foo as b}
|
||||
|
||||
//// [systemModule14.js]
|
||||
System.register(["foo"], function(exports_1) {
|
||||
var foo_1;
|
||||
var x;
|
||||
function foo() {
|
||||
return foo_1.a;
|
||||
}
|
||||
return {
|
||||
setters:[
|
||||
function (foo_1_1) {
|
||||
foo_1 = foo_1_1;
|
||||
}],
|
||||
execute: function() {
|
||||
exports_1("foo", foo);
|
||||
x = 1;
|
||||
exports_1("b", foo);
|
||||
}
|
||||
}
|
||||
});
|
||||
88
tests/baselines/reference/systemModule15.js
Normal file
88
tests/baselines/reference/systemModule15.js
Normal file
@@ -0,0 +1,88 @@
|
||||
//// [tests/cases/compiler/systemModule15.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
|
||||
import * as moduleB from "./file2"
|
||||
|
||||
declare function use(v: any): void;
|
||||
|
||||
use(moduleB.value);
|
||||
use(moduleB.moduleC);
|
||||
use(moduleB.moduleCStar);
|
||||
|
||||
//// [file2.ts]
|
||||
|
||||
import * as moduleCStar from "./file3"
|
||||
import {value2} from "./file4"
|
||||
import moduleC from "./file3"
|
||||
import {value} from "./file3"
|
||||
|
||||
export {
|
||||
moduleCStar,
|
||||
moduleC,
|
||||
value
|
||||
}
|
||||
|
||||
//// [file3.ts]
|
||||
|
||||
export var value = "youpi";
|
||||
export default value;
|
||||
|
||||
//// [file4.ts]
|
||||
|
||||
export var value2 = "v";
|
||||
|
||||
//// [file3.js]
|
||||
System.register([], function(exports_1) {
|
||||
var value;
|
||||
return {
|
||||
setters:[],
|
||||
execute: function() {
|
||||
exports_1("value", value = "youpi");
|
||||
exports_1("default",value);
|
||||
}
|
||||
}
|
||||
});
|
||||
//// [file4.js]
|
||||
System.register([], function(exports_1) {
|
||||
var value2;
|
||||
return {
|
||||
setters:[],
|
||||
execute: function() {
|
||||
exports_1("value2", value2 = "v");
|
||||
}
|
||||
}
|
||||
});
|
||||
//// [file2.js]
|
||||
System.register(["./file3"], function(exports_1) {
|
||||
var moduleCStar, file3_1, file3_2;
|
||||
return {
|
||||
setters:[
|
||||
function (moduleCStar_1) {
|
||||
moduleCStar = moduleCStar_1;
|
||||
file3_1 = moduleCStar_1;
|
||||
file3_2 = moduleCStar_1;
|
||||
}],
|
||||
execute: function() {
|
||||
exports_1("moduleCStar", moduleCStar);
|
||||
exports_1("moduleC", file3_1["default"]);
|
||||
exports_1("value", file3_2.value);
|
||||
}
|
||||
}
|
||||
});
|
||||
//// [file1.js]
|
||||
System.register(["./file2"], function(exports_1) {
|
||||
var moduleB;
|
||||
return {
|
||||
setters:[
|
||||
function (moduleB_1) {
|
||||
moduleB = moduleB_1;
|
||||
}],
|
||||
execute: function() {
|
||||
use(moduleB.value);
|
||||
use(moduleB.moduleC);
|
||||
use(moduleB.moduleCStar);
|
||||
}
|
||||
}
|
||||
});
|
||||
66
tests/baselines/reference/systemModule15.symbols
Normal file
66
tests/baselines/reference/systemModule15.symbols
Normal file
@@ -0,0 +1,66 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
|
||||
import * as moduleB from "./file2"
|
||||
>moduleB : Symbol(moduleB, Decl(file1.ts, 2, 6))
|
||||
|
||||
declare function use(v: any): void;
|
||||
>use : Symbol(use, Decl(file1.ts, 2, 34))
|
||||
>v : Symbol(v, Decl(file1.ts, 4, 21))
|
||||
|
||||
use(moduleB.value);
|
||||
>use : Symbol(use, Decl(file1.ts, 2, 34))
|
||||
>moduleB.value : Symbol(moduleB.value, Decl(file2.ts, 8, 12))
|
||||
>moduleB : Symbol(moduleB, Decl(file1.ts, 2, 6))
|
||||
>value : Symbol(moduleB.value, Decl(file2.ts, 8, 12))
|
||||
|
||||
use(moduleB.moduleC);
|
||||
>use : Symbol(use, Decl(file1.ts, 2, 34))
|
||||
>moduleB.moduleC : Symbol(moduleB.moduleC, Decl(file2.ts, 7, 16))
|
||||
>moduleB : Symbol(moduleB, Decl(file1.ts, 2, 6))
|
||||
>moduleC : Symbol(moduleB.moduleC, Decl(file2.ts, 7, 16))
|
||||
|
||||
use(moduleB.moduleCStar);
|
||||
>use : Symbol(use, Decl(file1.ts, 2, 34))
|
||||
>moduleB.moduleCStar : Symbol(moduleB.moduleCStar, Decl(file2.ts, 6, 8))
|
||||
>moduleB : Symbol(moduleB, Decl(file1.ts, 2, 6))
|
||||
>moduleCStar : Symbol(moduleB.moduleCStar, Decl(file2.ts, 6, 8))
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
|
||||
import * as moduleCStar from "./file3"
|
||||
>moduleCStar : Symbol(moduleCStar, Decl(file2.ts, 1, 6))
|
||||
|
||||
import {value2} from "./file4"
|
||||
>value2 : Symbol(value2, Decl(file2.ts, 2, 8))
|
||||
|
||||
import moduleC from "./file3"
|
||||
>moduleC : Symbol(moduleC, Decl(file2.ts, 3, 6))
|
||||
|
||||
import {value} from "./file3"
|
||||
>value : Symbol(value, Decl(file2.ts, 4, 8))
|
||||
|
||||
export {
|
||||
moduleCStar,
|
||||
>moduleCStar : Symbol(moduleCStar, Decl(file2.ts, 6, 8))
|
||||
|
||||
moduleC,
|
||||
>moduleC : Symbol(moduleC, Decl(file2.ts, 7, 16))
|
||||
|
||||
value
|
||||
>value : Symbol(value, Decl(file2.ts, 8, 12))
|
||||
}
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
|
||||
export var value = "youpi";
|
||||
>value : Symbol(value, Decl(file3.ts, 1, 10))
|
||||
|
||||
export default value;
|
||||
>value : Symbol(value, Decl(file3.ts, 1, 10))
|
||||
|
||||
=== tests/cases/compiler/file4.ts ===
|
||||
|
||||
export var value2 = "v";
|
||||
>value2 : Symbol(value2, Decl(file4.ts, 1, 10))
|
||||
|
||||
71
tests/baselines/reference/systemModule15.types
Normal file
71
tests/baselines/reference/systemModule15.types
Normal file
@@ -0,0 +1,71 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
|
||||
import * as moduleB from "./file2"
|
||||
>moduleB : typeof moduleB
|
||||
|
||||
declare function use(v: any): void;
|
||||
>use : (v: any) => void
|
||||
>v : any
|
||||
|
||||
use(moduleB.value);
|
||||
>use(moduleB.value) : void
|
||||
>use : (v: any) => void
|
||||
>moduleB.value : string
|
||||
>moduleB : typeof moduleB
|
||||
>value : string
|
||||
|
||||
use(moduleB.moduleC);
|
||||
>use(moduleB.moduleC) : void
|
||||
>use : (v: any) => void
|
||||
>moduleB.moduleC : string
|
||||
>moduleB : typeof moduleB
|
||||
>moduleC : string
|
||||
|
||||
use(moduleB.moduleCStar);
|
||||
>use(moduleB.moduleCStar) : void
|
||||
>use : (v: any) => void
|
||||
>moduleB.moduleCStar : typeof
|
||||
>moduleB : typeof moduleB
|
||||
>moduleCStar : typeof
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
|
||||
import * as moduleCStar from "./file3"
|
||||
>moduleCStar : typeof moduleCStar
|
||||
|
||||
import {value2} from "./file4"
|
||||
>value2 : string
|
||||
|
||||
import moduleC from "./file3"
|
||||
>moduleC : string
|
||||
|
||||
import {value} from "./file3"
|
||||
>value : string
|
||||
|
||||
export {
|
||||
moduleCStar,
|
||||
>moduleCStar : typeof moduleCStar
|
||||
|
||||
moduleC,
|
||||
>moduleC : string
|
||||
|
||||
value
|
||||
>value : string
|
||||
}
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
|
||||
export var value = "youpi";
|
||||
>value : string
|
||||
>"youpi" : string
|
||||
|
||||
export default value;
|
||||
>value : string
|
||||
|
||||
=== tests/cases/compiler/file4.ts ===
|
||||
|
||||
export var value2 = "v";
|
||||
>value2 : string
|
||||
>"v" : string
|
||||
|
||||
33
tests/baselines/reference/systemModule16.errors.txt
Normal file
33
tests/baselines/reference/systemModule16.errors.txt
Normal file
@@ -0,0 +1,33 @@
|
||||
tests/cases/compiler/systemModule16.ts(2,20): error TS2307: Cannot find module 'foo'.
|
||||
tests/cases/compiler/systemModule16.ts(3,20): error TS2307: Cannot find module 'bar'.
|
||||
tests/cases/compiler/systemModule16.ts(4,15): error TS2307: Cannot find module 'foo'.
|
||||
tests/cases/compiler/systemModule16.ts(5,15): error TS2307: Cannot find module 'bar'.
|
||||
tests/cases/compiler/systemModule16.ts(8,32): error TS2307: Cannot find module 'foo'.
|
||||
tests/cases/compiler/systemModule16.ts(9,32): error TS2307: Cannot find module 'bar'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/systemModule16.ts (6 errors) ====
|
||||
|
||||
import * as x from "foo";
|
||||
~~~~~
|
||||
!!! error TS2307: Cannot find module 'foo'.
|
||||
import * as y from "bar";
|
||||
~~~~~
|
||||
!!! error TS2307: Cannot find module 'bar'.
|
||||
export * from "foo";
|
||||
~~~~~
|
||||
!!! error TS2307: Cannot find module 'foo'.
|
||||
export * from "bar"
|
||||
~~~~~
|
||||
!!! error TS2307: Cannot find module 'bar'.
|
||||
export {x}
|
||||
export {y}
|
||||
import {a1, b1, c1 as d1} from "foo";
|
||||
~~~~~
|
||||
!!! error TS2307: Cannot find module 'foo'.
|
||||
export {a2, b2, c2 as d2} from "bar";
|
||||
~~~~~
|
||||
!!! error TS2307: Cannot find module 'bar'.
|
||||
|
||||
x,y,a1,b1,d1;
|
||||
|
||||
54
tests/baselines/reference/systemModule16.js
Normal file
54
tests/baselines/reference/systemModule16.js
Normal file
@@ -0,0 +1,54 @@
|
||||
//// [systemModule16.ts]
|
||||
|
||||
import * as x from "foo";
|
||||
import * as y from "bar";
|
||||
export * from "foo";
|
||||
export * from "bar"
|
||||
export {x}
|
||||
export {y}
|
||||
import {a1, b1, c1 as d1} from "foo";
|
||||
export {a2, b2, c2 as d2} from "bar";
|
||||
|
||||
x,y,a1,b1,d1;
|
||||
|
||||
|
||||
//// [systemModule16.js]
|
||||
System.register(["foo", "bar"], function(exports_1) {
|
||||
var x, y, foo_1;
|
||||
var exportedNames_1 = {
|
||||
'x': true,
|
||||
'y': true,
|
||||
'a2': true,
|
||||
'b2': true,
|
||||
'd2': true
|
||||
};
|
||||
function exportStar_1(m) {
|
||||
var exports = {};
|
||||
for(var n in m) {
|
||||
if (n !== "default"&& !exportedNames_1.hasOwnProperty(n)) exports[n] = m[n];
|
||||
}
|
||||
exports_1(exports);
|
||||
}
|
||||
return {
|
||||
setters:[
|
||||
function (x_1) {
|
||||
x = x_1;
|
||||
exportStar_1(x_1);
|
||||
foo_1 = x_1;
|
||||
},
|
||||
function (y_1) {
|
||||
y = y_1;
|
||||
exportStar_1(y_1);
|
||||
exports_1({
|
||||
"a2": y_1["a2"],
|
||||
"b2": y_1["b2"],
|
||||
"d2": y_1["c2"]
|
||||
});
|
||||
}],
|
||||
execute: function() {
|
||||
exports_1("x", x);
|
||||
exports_1("y", y);
|
||||
x, y, foo_1.a1, foo_1.b1, foo_1.c1;
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -38,24 +38,24 @@ System.register(['file1', 'file2', 'file3', 'file4', 'file5', 'file6', 'file7'],
|
||||
}
|
||||
return {
|
||||
setters:[
|
||||
function (_ns) {
|
||||
ns = _ns;
|
||||
function (ns_1) {
|
||||
ns = ns_1;
|
||||
},
|
||||
function (_file2_1) {
|
||||
file2_1 = _file2_1;
|
||||
function (file2_1_1) {
|
||||
file2_1 = file2_1_1;
|
||||
},
|
||||
function (_file3_1) {
|
||||
file3_1 = _file3_1;
|
||||
function (file3_1_1) {
|
||||
file3_1 = file3_1_1;
|
||||
},
|
||||
function (_) {},
|
||||
function (_file5_1) {
|
||||
file5_1 = _file5_1;
|
||||
function (_1) {},
|
||||
function (file5_1_1) {
|
||||
file5_1 = file5_1_1;
|
||||
},
|
||||
function (_ns3) {
|
||||
ns3 = _ns3;
|
||||
function (ns3_1) {
|
||||
ns3 = ns3_1;
|
||||
},
|
||||
function (_file7_1) {
|
||||
exportStar_1(_file7_1);
|
||||
function (file7_1_1) {
|
||||
exportStar_1(file7_1_1);
|
||||
}],
|
||||
execute: function() {
|
||||
ns.f();
|
||||
|
||||
@@ -38,8 +38,8 @@ System.register(['./foo'], function(exports_1) {
|
||||
var Bar;
|
||||
return {
|
||||
setters:[
|
||||
function (_foo_1) {
|
||||
foo_1 = _foo_1;
|
||||
function (foo_1_1) {
|
||||
foo_1 = foo_1_1;
|
||||
}],
|
||||
execute: function() {
|
||||
Bar = (function (_super) {
|
||||
|
||||
12
tests/cases/compiler/systemModule14.ts
Normal file
12
tests/cases/compiler/systemModule14.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
// @module: system
|
||||
// @isolatedModules: true
|
||||
|
||||
function foo() {
|
||||
return a;
|
||||
}
|
||||
|
||||
import {a} from "foo";
|
||||
export {foo}
|
||||
|
||||
var x = 1;
|
||||
export {foo as b}
|
||||
34
tests/cases/compiler/systemModule15.ts
Normal file
34
tests/cases/compiler/systemModule15.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
// @module: system
|
||||
// @isolatedModules: true
|
||||
|
||||
// @filename: file1.ts
|
||||
|
||||
import * as moduleB from "./file2"
|
||||
|
||||
declare function use(v: any): void;
|
||||
|
||||
use(moduleB.value);
|
||||
use(moduleB.moduleC);
|
||||
use(moduleB.moduleCStar);
|
||||
|
||||
// @filename: file2.ts
|
||||
|
||||
import * as moduleCStar from "./file3"
|
||||
import {value2} from "./file4"
|
||||
import moduleC from "./file3"
|
||||
import {value} from "./file3"
|
||||
|
||||
export {
|
||||
moduleCStar,
|
||||
moduleC,
|
||||
value
|
||||
}
|
||||
|
||||
// @filename: file3.ts
|
||||
|
||||
export var value = "youpi";
|
||||
export default value;
|
||||
|
||||
// @filename: file4.ts
|
||||
|
||||
export var value2 = "v";
|
||||
13
tests/cases/compiler/systemModule16.ts
Normal file
13
tests/cases/compiler/systemModule16.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
// @module: system
|
||||
// @isolatedModules: true
|
||||
|
||||
import * as x from "foo";
|
||||
import * as y from "bar";
|
||||
export * from "foo";
|
||||
export * from "bar"
|
||||
export {x}
|
||||
export {y}
|
||||
import {a1, b1, c1 as d1} from "foo";
|
||||
export {a2, b2, c2 as d2} from "bar";
|
||||
|
||||
x,y,a1,b1,d1;
|
||||
Reference in New Issue
Block a user