diff --git a/packages/babel-node/src/_babel-node.js b/packages/babel-node/src/_babel-node.js index c3bf065ae0..27f94a3d73 100644 --- a/packages/babel-node/src/_babel-node.js +++ b/packages/babel-node/src/_babel-node.js @@ -150,7 +150,10 @@ if (program.eval || program.print) { } if (arg[0] === "-") { - const parsedArg = program[arg.slice(2)]; + const camelArg = arg + .slice(2) + .replace(/-(\w)/, (s, c) => c.toUpperCase()); + const parsedArg = program[camelArg]; if ( arg === "-r" || arg === "--require" || diff --git a/packages/babel-node/test/fixtures/babel-node/--config-file/in-files/configFile.js b/packages/babel-node/test/fixtures/babel-node/--config-file/in-files/configFile.js new file mode 100644 index 0000000000..c1a4330ea7 --- /dev/null +++ b/packages/babel-node/test/fixtures/babel-node/--config-file/in-files/configFile.js @@ -0,0 +1,7 @@ +module.exports = function (api) { + api.cache.forever(); + + console.log("Config was loaded, so --config-file was used."); + + return {}; +}; diff --git a/packages/babel-node/test/fixtures/babel-node/--config-file/in-files/index.js b/packages/babel-node/test/fixtures/babel-node/--config-file/in-files/index.js new file mode 100644 index 0000000000..85ce559e8f --- /dev/null +++ b/packages/babel-node/test/fixtures/babel-node/--config-file/in-files/index.js @@ -0,0 +1 @@ +console.log("foo"); diff --git a/packages/babel-node/test/fixtures/babel-node/--config-file/options.json b/packages/babel-node/test/fixtures/babel-node/--config-file/options.json new file mode 100644 index 0000000000..f3641ca28e --- /dev/null +++ b/packages/babel-node/test/fixtures/babel-node/--config-file/options.json @@ -0,0 +1,3 @@ +{ + "args": ["--config-file", "./configFile.js", "index"] +} diff --git a/packages/babel-node/test/fixtures/babel-node/--config-file/stdout.txt b/packages/babel-node/test/fixtures/babel-node/--config-file/stdout.txt new file mode 100644 index 0000000000..9abefc8788 --- /dev/null +++ b/packages/babel-node/test/fixtures/babel-node/--config-file/stdout.txt @@ -0,0 +1,2 @@ +Config was loaded, so --config-file was used. +foo diff --git a/packages/babel-node/test/fixtures/babel-node/--env-name/.babelrc b/packages/babel-node/test/fixtures/babel-node/--env-name/.babelrc new file mode 100644 index 0000000000..11a427f9b1 --- /dev/null +++ b/packages/babel-node/test/fixtures/babel-node/--env-name/.babelrc @@ -0,0 +1,7 @@ +{ + "env": { + "env-name-test": { + "plugins": ["./logPlugin.js"] + } + } +} diff --git a/packages/babel-node/test/fixtures/babel-node/--env-name/in-files/index.js b/packages/babel-node/test/fixtures/babel-node/--env-name/in-files/index.js new file mode 100644 index 0000000000..85ce559e8f --- /dev/null +++ b/packages/babel-node/test/fixtures/babel-node/--env-name/in-files/index.js @@ -0,0 +1 @@ +console.log("foo"); diff --git a/packages/babel-node/test/fixtures/babel-node/--env-name/in-files/logPlugin.js b/packages/babel-node/test/fixtures/babel-node/--env-name/in-files/logPlugin.js new file mode 100644 index 0000000000..df44ed6504 --- /dev/null +++ b/packages/babel-node/test/fixtures/babel-node/--env-name/in-files/logPlugin.js @@ -0,0 +1,4 @@ +module.exports = function () { + console.log("Plugin was loaded, so --env-name matched."); + return {} +} diff --git a/packages/babel-node/test/fixtures/babel-node/--env-name/options.json b/packages/babel-node/test/fixtures/babel-node/--env-name/options.json new file mode 100644 index 0000000000..d086b11bf3 --- /dev/null +++ b/packages/babel-node/test/fixtures/babel-node/--env-name/options.json @@ -0,0 +1,3 @@ +{ + "args": ["--env-name", "env-name-test", "index"] +} diff --git a/packages/babel-node/test/fixtures/babel-node/--env-name/stdout.txt b/packages/babel-node/test/fixtures/babel-node/--env-name/stdout.txt new file mode 100644 index 0000000000..cbda08d96c --- /dev/null +++ b/packages/babel-node/test/fixtures/babel-node/--env-name/stdout.txt @@ -0,0 +1,2 @@ +Plugin was loaded, so --env-name matched. +foo