From 61e866f6b84eb88599d4282b1da6a142864e7ad4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Fri, 2 Apr 2021 21:57:49 +0200 Subject: [PATCH] Do not load root `babel.config.js` in tests (#13087) * Do not load root `babel.config.js` in tests * Update packages/babel-helper-transform-fixture-test-runner/src/index.ts --- .../src/index.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/babel-helper-transform-fixture-test-runner/src/index.ts b/packages/babel-helper-transform-fixture-test-runner/src/index.ts index 5bd8ea61f0..459388d7e8 100644 --- a/packages/babel-helper-transform-fixture-test-runner/src/index.ts +++ b/packages/babel-helper-transform-fixture-test-runner/src/index.ts @@ -27,11 +27,23 @@ const cachedScripts = new QuickLRU({ maxSize: 10 }); const contextModuleCache = new WeakMap(); const sharedTestContext = createContext(); +// We never want our tests to accidentally load the root +// babel.config.js file, so we disable config loading by +// default. Tests can still set `configFile: true | string` +// to re-enable config loading. +function transformWithoutConfigFile(code, opts) { + return babel.transform(code, { + configFile: false, + babelrc: false, + ...opts, + }); +} + function createContext() { const context = vm.createContext({ ...helpers, process: process, - transform: babel.transform, + transform: transformWithoutConfigFile, setTimeout: setTimeout, setImmediate: setImmediate, expect, @@ -207,6 +219,7 @@ function run(task) { sourceFileName: self.filename, sourceType: "script", babelrc: false, + configFile: false, inputSourceMap: task.inputSourceMap || undefined, ...opts, };