From 1d987fb655f2a9695b9d28d1bacb742112b6a7de Mon Sep 17 00:00:00 2001 From: Logan Smyth Date: Wed, 23 May 2018 00:45:29 -0700 Subject: [PATCH 1/3] Add --config-file option to babel-node, like babel-cli's option. --- packages/babel-node/src/_babel-node.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/babel-node/src/_babel-node.js b/packages/babel-node/src/_babel-node.js index e680f1ec88..4742a3189a 100644 --- a/packages/babel-node/src/_babel-node.js +++ b/packages/babel-node/src/_babel-node.js @@ -43,6 +43,10 @@ program.option( "List of extensions to hook into [.es6,.js,.es,.jsx,.mjs]", collect, ); +program.option( + "--config-file [path]", + "Path to the babel config file to use. Defaults to working directory babel.config.js", +); program.option("-w, --plugins [string]", "", collect); program.option("-b, --presets [string]", "", collect); @@ -57,6 +61,7 @@ register({ only: program.only, plugins: program.plugins, presets: program.presets, + configFile: program.configFile, }); const replPlugin = ({ types: t }) => ({ From 5bcca0123a1d58974a10873222abe2b2a1b521b9 Mon Sep 17 00:00:00 2001 From: Logan Smyth Date: Wed, 23 May 2018 00:50:59 -0700 Subject: [PATCH 2/3] Add --env-name option to babel-node, like babel-cli's option. --- packages/babel-node/src/_babel-node.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/babel-node/src/_babel-node.js b/packages/babel-node/src/_babel-node.js index 4742a3189a..24042cd8c0 100644 --- a/packages/babel-node/src/_babel-node.js +++ b/packages/babel-node/src/_babel-node.js @@ -47,6 +47,11 @@ program.option( "--config-file [path]", "Path to the babel config file to use. Defaults to working directory babel.config.js", ); +program.option( + "--env-name [name]", + "The name of the 'env' to use when loading configs and plugins. " + + "Defaults to the value of BABEL_ENV, or else NODE_ENV, or else 'development'.", +); program.option("-w, --plugins [string]", "", collect); program.option("-b, --presets [string]", "", collect); @@ -62,6 +67,7 @@ register({ plugins: program.plugins, presets: program.presets, configFile: program.configFile, + envName: program.envName, }); const replPlugin = ({ types: t }) => ({ From c8faa34848c78119595219d370e68ef7cf052461 Mon Sep 17 00:00:00 2001 From: Logan Smyth Date: Wed, 23 May 2018 09:25:43 -0700 Subject: [PATCH 3/3] Only set '.babelrc' option if user explicitly set it. --- packages/babel-node/src/_babel-node.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/babel-node/src/_babel-node.js b/packages/babel-node/src/_babel-node.js index 24042cd8c0..c3bf065ae0 100644 --- a/packages/babel-node/src/_babel-node.js +++ b/packages/babel-node/src/_babel-node.js @@ -60,7 +60,6 @@ program.usage("[options] [ -e script | script.js ] [arguments]"); program.parse(process.argv); register({ - babelrc: program.babelrc, extensions: program.extensions, ignore: program.ignore, only: program.only, @@ -68,6 +67,11 @@ register({ presets: program.presets, configFile: program.configFile, envName: program.envName, + + // Commander will default the "--no-" arguments to true, but we want to + // leave them undefined so that @babel/core can handle the + // default-assignment logic on its own. + babelrc: program.babelrc === true ? undefined : program.babelrc, }); const replPlugin = ({ types: t }) => ({