diff --git a/src/babel/api/register/node.js b/src/babel/api/register/node.js index 5fbe572426..f5c04106b1 100644 --- a/src/babel/api/register/node.js +++ b/src/babel/api/register/node.js @@ -6,6 +6,7 @@ import * as babel from "../node"; import each from "lodash/collection/each"; import * as util from "../../util"; import fs from "fs"; +import path from "path"; sourceMapSupport.install({ handleUncaughtExceptions: false, @@ -81,7 +82,7 @@ var compile = function (filename, opts = {}) { var shouldIgnore = function (filename) { if (!ignore && !only) { - return /node_modules/.test(filename); + return filename.split(path.sep).indexOf("node_modules") >= 0; } else { return util.shouldIgnore(filename, ignore || [], only || []); } diff --git a/test/core/fixtures/require-hook/not_node_modules/input.js b/test/core/fixtures/require-hook/not_node_modules/input.js new file mode 100644 index 0000000000..ff14abefe9 --- /dev/null +++ b/test/core/fixtures/require-hook/not_node_modules/input.js @@ -0,0 +1 @@ +() => {}; diff --git a/test/core/require-hook.js b/test/core/require-hook.js new file mode 100644 index 0000000000..6a61c3cb9d --- /dev/null +++ b/test/core/require-hook.js @@ -0,0 +1,12 @@ +var chai = require("chai"); + +// Require-hook. +require("../../lib/babel/api/register/node"); + +suite("require hook", function () { + test("not node_modules", function () { + chai.expect(function () { + require("./fixtures/require-hook/not_node_modules/input"); + }).to.not.throw(); + }); +});