diff options
Diffstat (limited to 'lib/moduleEnv.js')
-rw-r--r-- | lib/moduleEnv.js | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/lib/moduleEnv.js b/lib/moduleEnv.js index 8ad7891..29c407c 100644 --- a/lib/moduleEnv.js +++ b/lib/moduleEnv.js @@ -2,6 +2,7 @@ var Module = require("module"), fs = require("fs"), + babelCore = require("babel-core"), coffee; // caching original wrapper @@ -11,18 +12,34 @@ var moduleWrapper0 = Module.wrapper[0], nodeRequire, currentModule; -function load(targetModule) { +function load(targetModule, isTransform) { nodeRequire = targetModule.require; targetModule.require = requireProxy; currentModule = targetModule; registerExtensions(); + targetModule.load(targetModule.id); // This is only necessary if nothing has been required within the module reset(); } +function compile(targetModule, src, filename) { + nodeRequire = targetModule.require; + targetModule.require = requireProxy; + targetModule.filename = filename; + currentModule = targetModule; + + var convertedSrc = babelCore.transform(stripBOM(src), { + plugins: ["transform-es2015-constants"] + }); + + targetModule._compile(convertedSrc.code, filename); + + reset(); +} + function reset() { Module.wrapper[0] = moduleWrapper0; Module.wrapper[1] = moduleWrapper1; @@ -91,4 +108,5 @@ try { } exports.load = load; +exports.compile = compile; exports.inject = inject; |