diff --git a/README.md b/README.md index 053436f59c..06f78f826b 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ It's as easy as: - [Rest parameters](FEATURES.md#rest-parameters) - [Spread](FEATURES.md#spread) - [Template literals](FEATURES.md#template-literals) - - [Unicode Regex](FEATURES.md#unicode-regex) + - [Unicode regex](FEATURES.md#unicode-regex) ## Usage @@ -180,7 +180,8 @@ specified in [Polyfill](#polyfill) is also required. require("6to5/register"); ``` -**NOTE:** All requires to `node_modules` will be ignored. +**NOTE:** By default all requires to `node_modules` will be ignored. You can +override this by passing an ignore regex via `require("6to5/register")(/regex/)`. ### Browser diff --git a/lib/6to5/index.js b/lib/6to5/index.js index 568a708aef..e7fcf8e464 100644 --- a/lib/6to5/index.js +++ b/lib/6to5/index.js @@ -5,7 +5,7 @@ var _ = require("lodash"); exports.util = require("./util"); exports.register = function () { - require("./register"); + return require("./register"); }; exports.polyfill = function () { diff --git a/lib/6to5/register.js b/lib/6to5/register.js index 64551e767e..a9a8a9b6c5 100644 --- a/lib/6to5/register.js +++ b/lib/6to5/register.js @@ -6,9 +6,11 @@ var old = require.extensions[".js"]; // TODO: source maps - Error.prepareStackTrace override +var ignoreRegex = /node_modules/; + require.extensions[".js"] = require.extensions[".es6"] = function (m, filename) { - if (filename.indexOf("node_modules") >= 0) { + if (ignoreRegex && ignoreRegex.test(filename)) { return old.apply(this, arguments); } @@ -20,3 +22,7 @@ require.extensions[".es6"] = function (m, filename) { m._compile(result.code, filename); }; + +module.exports = function (_ignoreRegex) { + ignoreRegex = _ignoreRegex; +}; diff --git a/register.js b/register.js index 11d1e33865..a8de654c4b 100644 --- a/register.js +++ b/register.js @@ -1 +1 @@ -require("./lib/6to5/register"); +module.exports = require("./lib/6to5/register");