From 9f46bcbe85f678f46602eaf8843f2b6e0fba8d41 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Thu, 2 Oct 2014 09:53:28 +1000 Subject: [PATCH] better node register --- lib/6to5/node.js | 14 ++------------ lib/6to5/register.js | 16 ++++++++++++++++ register.js | 2 +- 3 files changed, 19 insertions(+), 13 deletions(-) create mode 100644 lib/6to5/register.js diff --git a/lib/6to5/node.js b/lib/6to5/node.js index 9903b24c18..6369c4a3ac 100644 --- a/lib/6to5/node.js +++ b/lib/6to5/node.js @@ -5,18 +5,8 @@ var _ = require("lodash"); exports.browserify = require("./browserify"); exports.middleware = require("./middleware"); -exports.register = function (includeNodeModules) { - var old = require.extensions[".js"]; - - require.extensions[".js"] = function (m, filename) { - if (!includeNodeModules && filename.indexOf("node_modules") >= 0) { - return old.apply(this, arugments); - } - - m._compile(exports.transformFileSync(filename, { - sourceMap: true - }), filename); - }; +exports.register = function () { + require("./register"); }; exports.transform = transform; diff --git a/lib/6to5/register.js b/lib/6to5/register.js new file mode 100644 index 0000000000..99c3a78164 --- /dev/null +++ b/lib/6to5/register.js @@ -0,0 +1,16 @@ +var maps = {}; +var old = require.extensions[".js"]; + +require.extensions[".js"] = function (m, filename) { + if (filename.indexOf("node_modules") >= 0) { + return old.apply(this, arguments); + } + + var result = exports.transformFileSync(filename, { + sourceMapObject: true + }); + + maps[flename] = result.map; + + m._compile(result.code, filename); +}; diff --git a/register.js b/register.js index 7d1809bbcd..11d1e33865 100644 --- a/register.js +++ b/register.js @@ -1 +1 @@ -require("6to5").register(); +require("./lib/6to5/register");