diff --git a/src/transpiler.js b/src/transpiler.js index 1acd0ba..ec2d90c 100644 --- a/src/transpiler.js +++ b/src/transpiler.js @@ -7,8 +7,6 @@ function getTranspilerModule(loader, globalName) { return loader.newModule({ 'default': g[globalName], __useDefault: true }); } - // NB this does not support sub-classing well - var firstRun = true; // use Traceur by default Loader.prototype.transpiler = 'traceur'; @@ -17,12 +15,12 @@ var self = this; // pick up Transpiler modules from existing globals on first run if set - if (firstRun) { + if (!self.transpilerHasRun) { if (g.traceur && !self.has('traceur')) self.set('traceur', getTranspilerModule(self, 'traceur')); if (g.babel && !self.has('babel')) self.set('babel', getTranspilerModule(self, 'babel')); - firstRun = false; + self.transpilerHasRun = true; } return self['import'](self.transpiler).then(function(transpiler) { @@ -101,4 +99,4 @@ } -})(__global.LoaderPolyfill); \ No newline at end of file +})(__global.LoaderPolyfill);