Fix —require

This commit is contained in:
Daniel Tschinder
2018-03-14 13:26:07 +01:00
parent 8317f8ab14
commit da2aea31f5
2 changed files with 16 additions and 2 deletions

View File

@@ -23,6 +23,7 @@ function collect(value, previousValue): Array<string> {
/* eslint-disable max-len */
program.option("-e, --eval [script]", "Evaluate script");
program.option("-r, --require [module]", "Require module");
program.option("-p, --print [code]", "Evaluate script and print result");
program.option(
"-o, --only [globs]",
@@ -132,7 +133,11 @@ if (program.eval || program.print) {
if (arg[0] === "-") {
const parsedArg = program[arg.slice(2)];
if (parsedArg && parsedArg !== true) {
if (
arg === "-r" ||
arg === "--require" ||
(parsedArg && parsedArg !== true)
) {
ignoreNext = true;
}
} else {
@@ -142,6 +147,15 @@ if (program.eval || program.print) {
});
args = args.slice(i);
// We have to handle require ourselfs, as we want to require it in the context of babel-register
if (program.require) {
let requireFileName = program.require;
if (!path.isAbsolute(requireFileName)) {
requireFileName = path.join(process.cwd(), requireFileName);
}
require(requireFileName);
}
// make the filename absolute
const filename = args[0];
if (!path.isAbsolute(filename)) {

View File

@@ -52,8 +52,8 @@ getV8Flags(function(err, v8Flags) {
case "-r":
case "--require":
args.push(babelArgs[index + 1]);
args.push(flag);
args.push(babelArgs[index + 1]);
delete babelArgs[index + 1];
break;