Skip to content
This repository has been archived by the owner on Oct 9, 2020. It is now read-only.

Commit

Permalink
upgraded global transformer to babel transform-global-system-wrapper
Browse files Browse the repository at this point in the history
  • Loading branch information
asapach committed Jul 24, 2016
1 parent b474ee7 commit 051deb6
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 136 deletions.
164 changes: 33 additions & 131 deletions compilers/global.js
Original file line number Diff line number Diff line change
@@ -1,151 +1,53 @@
var traceur = require('traceur');
var traceurGet = require('../lib/utils').traceurGet;
var ParseTreeTransformer = traceurGet('codegeneration/ParseTreeTransformer.js').ParseTreeTransformer;
var parseStatements = traceurGet('codegeneration/PlaceholderParser.js').parseStatements;
var parseStatement = traceurGet('codegeneration/PlaceholderParser.js').parseStatement;
var parseExpression = traceurGet('codegeneration/PlaceholderParser.js').parseExpression;
var Script = traceurGet('syntax/trees/ParseTrees.js').Script;
var FunctionBody = traceurGet('syntax/trees/ParseTrees.js').FunctionBody;
var path = require('path');
var babel = require('babel-core');

// wraps global scripts
function GlobalTransformer(name, deps, exportName, globals, systemGlobal) {
this.name = name;
this.deps = deps;
this.exportName = exportName;
this.varGlobals = [];
this.fnGlobals = [];
this.globals = globals;
this.inOuterScope = true;
this.systemGlobal = systemGlobal;
return ParseTreeTransformer.call(this);
function pathToUrl(p) {
return p.replace(/\\/g, '/');
}

GlobalTransformer.prototype = Object.create(ParseTreeTransformer.prototype);

GlobalTransformer.prototype.transformVariableDeclarationList = function(tree) {
this.isVarDeclaration = tree.declarationType == 'var';
return ParseTreeTransformer.prototype.transformVariableDeclarationList.call(this, tree);
}

GlobalTransformer.prototype.transformVariableDeclaration = function(tree) {
tree = ParseTreeTransformer.prototype.transformVariableDeclaration.call(this, tree);

if (!this.inOuterScope || !this.isVarDeclaration)
return tree;

var varName = tree.lvalue.identifierToken.value;
if (this.varGlobals.indexOf(varName) == -1)
this.varGlobals.push(varName);

return tree;
}
GlobalTransformer.prototype.enterScope = function() {
var revert = this.inOuterScope;
this.inOuterScope = false;
return revert;
}
GlobalTransformer.prototype.exitScope = function(revert) {
if (revert)
this.inOuterScope = true;
}

GlobalTransformer.prototype.transformFunctionDeclaration = function(tree) {
// named functions in outer scope are globals
if (this.inOuterScope && tree.name)
this.fnGlobals.push(tree.name.identifierToken.value);
var revert = this.enterScope();
tree = ParseTreeTransformer.prototype.transformFunctionDeclaration.call(this, tree);
this.exitScope(revert);
return tree;
}

GlobalTransformer.prototype.transformFunctionExpression = function(tree) {
var revert = this.enterScope();
tree = ParseTreeTransformer.prototype.transformFunctionExpression.call(this, tree);
this.exitScope(revert);
return tree;
}

GlobalTransformer.prototype.transformScript = function(tree) {
tree = ParseTreeTransformer.prototype.transformScript.call(this, tree);

// hoist function declaration assignments to the global
var scriptItemList = this.fnGlobals.map(function(g) {
return parseStatement(['this["' + g + '"] = ' + g + ';']);
})
// for globals defined as "var x = 5;" in outer scope, add "this.x = x;" at end
.concat(this.varGlobals.map(function(g) {
return parseStatement(['var ' + g + ' = this["' + g + '"];']);
}))
.concat(tree.scriptItemList).concat(this.varGlobals.map(function(g) {
return parseStatement(['this["' + g + '"] = ' + g + ';']);
}));

var wrapperFunction = parseExpression(['function() {}'])
wrapperFunction.location = null;
wrapperFunction.body = new FunctionBody(null, scriptItemList);

var globalExpression;
if (this.globals) {
var nl = '\n ';
globalExpression = '{';
var first = true;
for (var g in this.globals) {
if (!this.globals[g])
continue;
globalExpression += (first ? '' : ',') + nl + '"' + g + '": $__require("' + this.globals[g] + '")';
first = false;
}
globalExpression += nl + '}';
}

return new Script(tree.location, parseStatements([
this.systemGlobal + '.registerDynamic(' + (this.name ? '"' + this.name + '", ' : '') + JSON.stringify(this.deps) + ', false, function($__require, $__exports, $__module) {\n'
+ 'var _retrieveGlobal = ' + this.systemGlobal + '.get("@@global-helpers").prepareGlobal($__module.id, '
+ (this.exportName ? '"' + this.exportName + '"' : 'null') + ', ' + (globalExpression ? globalExpression : 'null') + ');\n'
+ ' (',
')();\n'
+ ' return _retrieveGlobal();\n'
+ '});'], wrapperFunction));
}
exports.GlobalTransformer = GlobalTransformer;

exports.compile = function(load, opts, loader) {
var options = { script: true, sourceRoot: true };

if (opts.sourceMaps)
options.sourceMaps = 'memory';
if (opts.lowResSourceMaps)
options.lowResolutionSourceMap = true;

if (load.metadata.sourceMap)
options.inputSourceMap = load.metadata.sourceMap;

var compiler = new traceur.Compiler(options);
var tree = compiler.parse(load.source, load.path);

exports.compile = function (load, opts, loader) {
var deps = opts.normalize ? load.deps.map(function(dep) { return load.depMap[dep]; }) : load.deps;

// send normalized globals into the transformer
var normalizedGlobals
var normalizedGlobals;
if (load.metadata.globals) {
normalizedGlobals = {};
for (var g in load.metadata.globals)
normalizedGlobals[g] = opts.normalize ? load.depMap[load.metadata.globals[g]] : load.metadata.globals[g];
}

var transformer = new GlobalTransformer(!opts.anonymous && load.name, deps, load.metadata.exports, normalizedGlobals, opts.systemGlobal);
tree = transformer.transformAny(tree);

var output = compiler.write(tree, load.path);
var sourceRoot = pathToUrl(path.dirname(load.path) + '/');
var options = {
babelrc: false,
filename: pathToUrl(load.path),
filenameRelative: path.basename(load.path),
inputSourceMap: load.metadata.sourceMap,
sourceFileName: path.basename(load.path),
sourceMaps: opts.sourceMaps,
sourceRoot: sourceRoot,
plugins: [
['transform-global-system-wrapper', {
deps: deps,
exportName: load.metadata.exports,
globals: normalizedGlobals,
moduleName: !opts.anonymous && load.name,
systemGlobal: opts.systemGlobal
}]
]
};

var output = babel.transform(load.source, options);

var sourceMap = output.map;
if (sourceMap && !sourceMap.sourceRoot) // if input source map doesn't have sourceRoot - add it
sourceMap.sourceRoot = sourceRoot;

return Promise.resolve({
source: output,
sourceMap: compiler.getSourceMap()
source: output.code,
sourceMap: sourceMap
});
};


exports.sfx = function(loader) {
return require('fs').readFileSync(require('path').resolve(__dirname, '../templates/global-helpers.min.js')).toString();
};
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"dependencies": {
"babel-core": "^6.9.0",
"babel-plugin-transform-es2015-modules-systemjs": "^6.6.5",
"babel-plugin-transform-global-system-wrapper": "0.0.1",
"babel-plugin-transform-system-register": "0.0.1",
"bluebird": "^3.3.4",
"data-uri-to-buffer": "0.0.4",
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"version":3,"sources":["test/fixtures/test-tree/third.js","test/fixtures/test-tree/cjs.js","test/fixtures/test-tree/second.js","test/fixtures/test-tree/jquery.js","test/fixtures/test-tree/global.js","test/fixtures/test-tree/some.js","test/fixtures/test-tree/text.txt","test/fixtures/test-tree/amd.js","test/fixtures/test-tree/unknown","test/fixtures/test-tree/file.json","test/fixtures/test-tree/first.js"],"names":[],"mappings":"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","file":"output.js"}
{"version":3,"sources":["test/fixtures/test-tree/third.js","test/fixtures/test-tree/cjs.js","test/fixtures/test-tree/second.js","test/fixtures/test-tree/jquery.js","test/fixtures/test-tree/global.js","test/fixtures/test-tree/text.txt","test/fixtures/test-tree/amd.js","test/fixtures/test-tree/unknown","test/fixtures/test-tree/file.json","test/fixtures/test-tree/first.js"],"names":[],"mappings":";OAAO,qBAAS,CAAC,aAAD,GAAiB,UAAS,SAAT,gBAAoB;AACnD,SAAO;AACL,aAAS,CAAC,YAAW,CAAE,CAAd,CADJ;AAEL,aAAS,YAAW;AAClB,gBAAU,MAAV,EAAkB,SAAlB;AACA,gBAAU,IAAV,EAAgB,GAAhB;AACA,gBAAU,MAAV,EAAkB,YAAlB;AACD;AANI,GAAP;AAQD;KCTI,gBAAgB,AAAC,CAAC,QAAO,CAAG,GAAC,CAAG,KAAG,CAAG,UAAS,UAAS,CAAG,CAAA,OAAM,CAAG,CAAA,MAAK;;AAC1E,AAAI,IAAA,CAAA,MAAK;AAAG,WAAK,EAAI,KAAG;AAAG,WAAK,EAAI,KAAG,CAAC;AADxC,IAAA,CAAA,WAAU,EAAI,CAAA,MAAK,IAAI,AAAC,CAAC,eAAc,CAAC,YAAY,AAAC,CAAC,MAAK,GAAG,CAAC;AAAG,eAAS,EAAI,CAAA,WAAU,SAAS;AAAG,cAAQ,EAAI,CAAA,WAAU,QAAQ,CAAC;QAAlI,IAAI,AAAC,CAAC,UAAS,CAAC,CAAC;EAEtB,SAAS,UAAM,CAAG;AACjB,OAAI,MAAO,WAAM,CAAA,EAAK,YAAU,CAAA,EAAK,CAAA,IAAG,AAAC,CAAC,gBAAe,CAAC,CAAA,EAAK,YAAU;AACvE,YAAM,IAAI,EAAI,KAAG,CAAC;AAAA,AAEpB,OAAI,KAAI;AACN,eAPK,AAAC,CAOE,MAAK,EAAI,aAAW,CAPJ,CAOM;AAAA,GACjC,AAAC,CAAC,UAAM,CAAC,CAAC;QAEL,IAAI,EAAI,aAAmB,CAAC;OAV3B,CAAA,MAAK,QAAQ,CAAC;AAA8E,CAAC,CAAC;AAUnE;;;;MCRvB,CAAC;;;;AAAD,OAAC,GAAG,CAAC;;;;;;;;;;QCFZ;QAAA,SAAS;0BAAT;;;;;;;;;;;;;;SCGC,SAAS,OAAO;;;;;;;;;;;;KCHhB,gBAAgB,AAAC,CAAC,yBAAwB,CAAG,GAAC,CAAG,KAAG,CAAG,UAAS,UAAS,CAAG,CAAA,OAAM,CAAG,CAAA,MAAK;;AAC3F,AAAI,IAAA,CAAA,MAAK;AAAG,WAAK,EAAI,KAAG;AAAG,WAAK,EAAI,KAAG,CAAC;OADvC,QAAQ,EAAI,oBAAkB,CAAC;OAA7B,CAAA,MAAK,QAAQ,CAAC;AAA+F,CAAC,CAAC;AAAlF;;;KCA/B,AAAC,CAAC,QAAO,CAAG,EAAC,aAAY,CAAE,wBAAsB,CAAE,8BAA4B,CAAC,CAAL,UAAS,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG;AAChG,OAAO;AAAE,KAAC,CAAG,MAAI;AAAG,OAAG,CAAG,EAAA;AAAA,EAAE,CAAC;CAD0E,CAEvG;;;;;;MCFE,AAAK,OAEE,AAAS;;;yBAFhB;AAAK,cAAG,AAAE;;AACT,YAAC,AAAa,gBAAG,YAAW,AAAC;AAAC;AAAC,AAAC,AAC1B;AAAS,kBAAG,6BAAK,AAAS,WAAC,AAAK,AAAG;;;;;;KCFzC,gBAAgB,AAAC,CAAC,WAAU,CAAG,GAAC,CAAG,KAAG,CAAG,UAAS,UAAS,CAAG,CAAA,OAAM,CAAG,CAAA,MAAK;;AAC7E,AAAI,IAAA,CAAA,MAAK;AAAG,WAAK,EAAI,KAAG;AAAG,WAAK,EAAI,KAAG,CAAC;OADvC,QAAQ,EAAI,EAAC,MAAK,CAAE,OAAK,CAAC,CAAA;OAAxB,CAAA,MAAK,QAAQ,CAAC;AAAiF,CAAC,CAAC;AAAzE;;;;eCOpB,CAAC,EAED,CAAC;;;oBAPH,CAAC;;uBAGF,IAAI;;;AAED,OAAC,GAAG,IAAI;;;;AAER,OAAC,GAAG,CAAC;;;;OACf,CAAC","file":"output.js"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"version":3,"sources":["test/fixtures/test-tree/third.js","test/fixtures/test-tree/cjs.js","test/fixtures/test-tree/second.js","test/fixtures/test-tree/jquery.js","test/fixtures/test-tree/global.js","test/fixtures/test-tree/some.js","test/fixtures/test-tree/text.txt","test/fixtures/test-tree/amd.js","test/fixtures/test-tree/unknown","test/fixtures/test-tree/file.json","test/fixtures/test-tree/first.js"],"names":[],"mappings":"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","file":"output.js"}
{"version":3,"sources":["test/fixtures/test-tree/third.js","test/fixtures/test-tree/cjs.js","test/fixtures/test-tree/second.js","test/fixtures/test-tree/jquery.js","test/fixtures/test-tree/global.js","test/fixtures/test-tree/text.txt","test/fixtures/test-tree/amd.js","test/fixtures/test-tree/unknown","test/fixtures/test-tree/file.json","test/fixtures/test-tree/first.js"],"names":[],"mappings":"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","file":"output.js"}

0 comments on commit 051deb6

Please sign in to comment.