diff --git a/packages/babel-cli/src/babel/index.js b/packages/babel-cli/src/babel/index.js index f3194576072a..a740bcdedadf 100755 --- a/packages/babel-cli/src/babel/index.js +++ b/packages/babel-cli/src/babel/index.js @@ -6,8 +6,12 @@ import fileCommand from "./file"; const opts = parseArgv(process.argv); -const fn = opts.cliOptions.outDir ? dirCommand : fileCommand; -fn(opts).catch(err => { - console.error(err); - process.exit(1); -}); +if (opts) { + const fn = opts.cliOptions.outDir ? dirCommand : fileCommand; + fn(opts).catch(err => { + console.error(err); + process.exitCode = 1; + }); +} else { + process.exitCode = 2; +} diff --git a/packages/babel-cli/src/babel/options.js b/packages/babel-cli/src/babel/options.js index 19ae7bfce878..897c05ba16da 100644 --- a/packages/babel-cli/src/babel/options.js +++ b/packages/babel-cli/src/babel/options.js @@ -158,7 +158,7 @@ export type CmdOptions = { cliOptions: Object, }; -export default function parseArgv(args: Array): CmdOptions { +export default function parseArgv(args: Array): CmdOptions | null { // commander.parse(args); @@ -223,7 +223,7 @@ export default function parseArgv(args: Array): CmdOptions { errors.forEach(function(e) { console.error(" " + e); }); - process.exit(2); + return null; } const opts = commander.opts(); diff --git a/packages/babel-cli/src/babel/util.js b/packages/babel-cli/src/babel/util.js index daacba53f0d2..9355c0ff85a4 100644 --- a/packages/babel-cli/src/babel/util.js +++ b/packages/babel-cli/src/babel/util.js @@ -112,7 +112,7 @@ export function deleteDir(path: string): void { process.on("uncaughtException", function(err) { console.error(err); - process.exit(1); + process.exitCode = 1; }); export function requireChokidar(): Object {