fix(@angular/cli): do not show stack on argument parse error

This commit is contained in:
Hans 2018-09-19 11:51:02 -07:00
parent f7f5b28dae
commit 97576ecd13
2 changed files with 16 additions and 5 deletions

View File

@ -182,9 +182,20 @@ export async function runCommand(
return 1; return 1;
} }
const parsedOptions = parser.parseArguments(args, description.options); try {
Command.setCommandMap(commandMap); const parsedOptions = parser.parseArguments(args, description.options);
const command = new description.impl({ workspace }, description, logger); Command.setCommandMap(commandMap);
const command = new description.impl({ workspace }, description, logger);
return await command.validateAndRun(parsedOptions); return await command.validateAndRun(parsedOptions);
} catch (e) {
if (e instanceof parser.ParseArgumentException) {
logger.fatal('Cannot parse arguments. See below for the reasons.');
logger.fatal(' ' + e.comments.join('\n '));
return 1;
} else {
throw e;
}
}
} }

View File

@ -12,7 +12,7 @@ import { Arguments, Option, OptionType, Value } from './interface';
export class ParseArgumentException extends BaseException { export class ParseArgumentException extends BaseException {
constructor( constructor(
comments: string[], public readonly comments: string[],
public readonly parsed: Arguments, public readonly parsed: Arguments,
public readonly ignored: string[], public readonly ignored: string[],
) { ) {