diff --git a/lib/index-traceur.js b/lib/index-traceur.js index 8325061..b8b9cdf 100644 --- a/lib/index-traceur.js +++ b/lib/index-traceur.js @@ -1,8 +1,6 @@ -require('traceur'); - var System = require('../dist/es6-module-loader.src'); -System.parser = 'traceur'; +System.transpiler = 'traceur'; module.exports = { Loader: global.LoaderPolyfill, diff --git a/src/transpiler.js b/src/transpiler.js index 3a9444a..1c37fa3 100644 --- a/src/transpiler.js +++ b/src/transpiler.js @@ -16,7 +16,12 @@ transpilerModule = transpilerModule['default']; } else { - transpilerModule = __global[this.transpiler] || typeof require != 'undefined' && require(this.transpiler == 'babel' ? 'babel-core' : 'traceur'); + transpilerModule = __global[this.transpiler]; + if (!transpilerModule && typeof require != 'undefined') { + var curSystem = __global.System; + transpilerModule = require(this.transpiler == 'babel' ? 'babel-core' : 'traceur'); + __global.System = curSystem; + } if (!transpilerModule) throw new TypeError('Include Traceur or Babel for module syntax support.'); this.set('@' + this.transpiler, this.newModule({ 'default': transpilerModule, __useDefault: true }));