use a _context object instead of a __moduleName argument
This commit is contained in:
parent
40714d004c
commit
be2d85d688
@ -2,7 +2,7 @@ import hoistVariables from "babel-helper-hoist-variables";
|
|||||||
import template from "babel-template";
|
import template from "babel-template";
|
||||||
|
|
||||||
let buildTemplate = template(`
|
let buildTemplate = template(`
|
||||||
System.register(MODULE_NAME, [SOURCES], function (EXPORT_IDENTIFIER, __moduleName) {
|
System.register(MODULE_NAME, [SOURCES], function (EXPORT_IDENTIFIER, CONTEXT_IDENTIFIER) {
|
||||||
BEFORE_BODY;
|
BEFORE_BODY;
|
||||||
return {
|
return {
|
||||||
setters: [SETTERS],
|
setters: [SETTERS],
|
||||||
@ -52,9 +52,19 @@ export default function ({ types: t }) {
|
|||||||
inherits: require("babel-plugin-transform-strict-mode"),
|
inherits: require("babel-plugin-transform-strict-mode"),
|
||||||
|
|
||||||
visitor: {
|
visitor: {
|
||||||
|
ReferencedIdentifier(path, state) {
|
||||||
|
if (path.node.name == "__moduleName" && !path.scope.hasBinding("__moduleName")) {
|
||||||
|
path.replaceWith(t.memberExpression(state.contextIdent, t.identifier("id")));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
Program: {
|
Program: {
|
||||||
exit(path) {
|
enter(path, state) {
|
||||||
|
state.contextIdent = path.scope.generateUidIdentifier("context");
|
||||||
|
},
|
||||||
|
exit(path, state) {
|
||||||
let exportIdent = path.scope.generateUidIdentifier("export");
|
let exportIdent = path.scope.generateUidIdentifier("export");
|
||||||
|
let contextIdent = state.contextIdent;
|
||||||
|
|
||||||
let exportNames = Object.create(null);
|
let exportNames = Object.create(null);
|
||||||
let modules = Object.create(null);
|
let modules = Object.create(null);
|
||||||
@ -241,7 +251,8 @@ export default function ({ types: t }) {
|
|||||||
SETTERS: setters,
|
SETTERS: setters,
|
||||||
SOURCES: sources,
|
SOURCES: sources,
|
||||||
BODY: path.node.body,
|
BODY: path.node.body,
|
||||||
EXPORT_IDENTIFIER: exportIdent
|
EXPORT_IDENTIFIER: exportIdent,
|
||||||
|
CONTEXT_IDENTIFIER: contextIdent
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register([], function (_export, __moduleName) {
|
System.register([], function (_export, _context) {
|
||||||
_export("default", function () {});
|
_export("default", function () {});
|
||||||
|
|
||||||
_export("default", class {});
|
_export("default", class {});
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register(["foo"], function (_export, __moduleName) {
|
System.register(["foo"], function (_export, _context) {
|
||||||
return {
|
return {
|
||||||
setters: [function (_foo) {
|
setters: [function (_foo) {
|
||||||
var _exportObj = {};
|
var _exportObj = {};
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register([], function (_export, __moduleName) {
|
System.register([], function (_export, _context) {
|
||||||
return {
|
return {
|
||||||
setters: [],
|
setters: [],
|
||||||
execute: function () {
|
execute: function () {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register([], function (_export, __moduleName) {
|
System.register([], function (_export, _context) {
|
||||||
return {
|
return {
|
||||||
setters: [],
|
setters: [],
|
||||||
execute: function () {
|
execute: function () {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register("my custom module name", [], function (_export, __moduleName) {
|
System.register("my custom module name", [], function (_export, _context) {
|
||||||
return {
|
return {
|
||||||
setters: [],
|
setters: [],
|
||||||
execute: function () {}
|
execute: function () {}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register(["./evens"], function (_export, __moduleName) {
|
System.register(["./evens"], function (_export, _context) {
|
||||||
var isEven, p, a, i, j, isOdd;
|
var isEven, p, a, i, j, isOdd;
|
||||||
return {
|
return {
|
||||||
setters: [function (_evens) {
|
setters: [function (_evens) {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register(["foo"], function (_export, __moduleName) {
|
System.register(["foo"], function (_export, _context) {
|
||||||
var foo, foo2;
|
var foo, foo2;
|
||||||
return {
|
return {
|
||||||
setters: [function (_foo) {
|
setters: [function (_foo) {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register(["foo"], function (_export, __moduleName) {
|
System.register(["foo"], function (_export, _context) {
|
||||||
var foo;
|
var foo;
|
||||||
return {
|
return {
|
||||||
setters: [function (_foo) {
|
setters: [function (_foo) {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register(["foo"], function (_export, __moduleName) {
|
System.register(["foo"], function (_export, _context) {
|
||||||
var foo, xyz;
|
var foo, xyz;
|
||||||
return {
|
return {
|
||||||
setters: [function (_foo) {
|
setters: [function (_foo) {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register(["foo"], function (_export, __moduleName) {
|
System.register(["foo"], function (_export, _context) {
|
||||||
var bar, bar2, baz, baz2, baz3, xyz;
|
var bar, bar2, baz, baz2, baz3, xyz;
|
||||||
return {
|
return {
|
||||||
setters: [function (_foo) {
|
setters: [function (_foo) {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register(["foo", "foo-bar", "./directory/foo-bar"], function (_export, __moduleName) {
|
System.register(["foo", "foo-bar", "./directory/foo-bar"], function (_export, _context) {
|
||||||
return {
|
return {
|
||||||
setters: [function (_foo) {}, function (_fooBar) {}, function (_directoryFooBar) {}],
|
setters: [function (_foo) {}, function (_fooBar) {}, function (_directoryFooBar) {}],
|
||||||
execute: function () {}
|
execute: function () {}
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register([], function (_export, __moduleName) {
|
System.register([], function (_export, _context) {
|
||||||
var name;
|
var name;
|
||||||
return {
|
return {
|
||||||
setters: [],
|
setters: [],
|
||||||
execute: function () {
|
execute: function () {
|
||||||
_export("name", name = __moduleName);
|
_export("name", name = _context.id);
|
||||||
|
|
||||||
_export("name", name);
|
_export("name", name);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register(["foo", "foo-bar", "./directory/foo-bar"], function (_export, __moduleName) {
|
System.register(["foo", "foo-bar", "./directory/foo-bar"], function (_export, _context) {
|
||||||
var foo, foo2, bar, bar2, test2;
|
var foo, foo2, bar, bar2, test2;
|
||||||
return {
|
return {
|
||||||
setters: [function (_foo) {
|
setters: [function (_foo) {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
System.register([], function (_export, __moduleName) {
|
System.register([], function (_export, _context) {
|
||||||
var test, a, b, d;
|
var test, a, b, d;
|
||||||
return {
|
return {
|
||||||
setters: [],
|
setters: [],
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user