diff --git a/packages/babel-core/src/transformation/file/options/option-manager.js b/packages/babel-core/src/transformation/file/options/option-manager.js index 9ed73aa717..f8a787783f 100644 --- a/packages/babel-core/src/transformation/file/options/option-manager.js +++ b/packages/babel-core/src/transformation/file/options/option-manager.js @@ -401,6 +401,11 @@ export default class OptionManager { init(opts: Object = {}): Object { let filename = opts.filename; + // resolve all .babelrc files + if (opts.babelrc !== false) { + this.findConfigs(filename); + } + // merge in base options this.mergeOptions({ options: opts, @@ -408,11 +413,6 @@ export default class OptionManager { dirname: filename && path.dirname(filename) }); - // resolve all .babelrc files - if (this.options.babelrc !== false) { - this.findConfigs(filename); - } - // normalise this.normaliseOptions(opts); diff --git a/packages/babel-register/src/node.js b/packages/babel-register/src/node.js index 1c72e48f80..da9a08e87c 100644 --- a/packages/babel-register/src/node.js +++ b/packages/babel-register/src/node.js @@ -49,16 +49,10 @@ function mtime(filename) { function compile(filename) { let result; - let optsManager = new OptionManager; - // merge in base options and resolve all the plugins and presets relative to this file - optsManager.mergeOptions({ - options: deepClone(transformOpts), - alias: "base", - dirname: path.dirname(filename) - }); - - let opts = optsManager.init({ filename }); + let opts = new OptionManager().init(extend(deepClone(transformOpts), { + filename + })); let cacheKey = `${JSON.stringify(opts)}:${babel.version}`;