diff --git a/packages/babel-helper-transform-fixture-test-runner/src/index.js b/packages/babel-helper-transform-fixture-test-runner/src/index.js index 12d94265c4..9fced3069f 100644 --- a/packages/babel-helper-transform-fixture-test-runner/src/index.js +++ b/packages/babel-helper-transform-fixture-test-runner/src/index.js @@ -65,11 +65,12 @@ function run(task) { if (execCode) { let execOpts = getOpts(exec); + let execDirName = path.dirname(exec.loc); result = babel.transform(execCode, execOpts); execCode = result.code; try { - resultExec = runExec(execOpts, execCode); + resultExec = runExec(execOpts, execCode, execDirName); } catch (err) { err.message = exec.loc + ": " + err.message; err.message += codeFrame(execCode); @@ -110,7 +111,7 @@ function run(task) { } } -function runExec(opts, execCode) { +function runExec(opts, execCode, execDirname) { let sandbox = { ...helpers, babelHelpers, @@ -118,6 +119,9 @@ function runExec(opts, execCode) { transform: babel.transform, opts, exports: {}, + require(id) { + return require(id[0] === "." ? path.resolve(execDirname, id) : id); + } }; let fn = new Function(...Object.keys(sandbox), execCode); diff --git a/packages/babel-plugin-syntax-trailing-function-commas/test/fixtures/trailing-function-commas/test-exec-require/exec.js b/packages/babel-plugin-syntax-trailing-function-commas/test/fixtures/trailing-function-commas/test-exec-require/exec.js new file mode 100644 index 0000000000..d4790d93bd --- /dev/null +++ b/packages/babel-plugin-syntax-trailing-function-commas/test/fixtures/trailing-function-commas/test-exec-require/exec.js @@ -0,0 +1,4 @@ +// builtin module +require("path"); +// relative module +require("../../../../lib");