From dbfa851709a3b3cc97a71499b2212a25482a988b Mon Sep 17 00:00:00 2001 From: Ricardo Varanda Date: Thu, 18 May 2017 15:55:32 +0100 Subject: [PATCH] fix(@angular/cli): fix leading digit in file names from generate command --- packages/@angular/cli/commands/generate.ts | 5 +++++ tests/e2e/tests/generate/generate-name-error.ts | 9 +++++++++ 2 files changed, 14 insertions(+) create mode 100644 tests/e2e/tests/generate/generate-name-error.ts diff --git a/packages/@angular/cli/commands/generate.ts b/packages/@angular/cli/commands/generate.ts index 534d0d66ca..1c8e95ab99 100644 --- a/packages/@angular/cli/commands/generate.ts +++ b/packages/@angular/cli/commands/generate.ts @@ -78,6 +78,11 @@ export default Command.extend({ `The \`ng generate ${name}\` command requires a name to be specified.`); } + if (/^\d/.test(rawArgs[1])) { + SilentError.debugOrThrow('@angular/cli/commands/generate', + `The \`ng generate ${name} ${rawArgs[1]}\` file name cannot begin with a digit.`); + } + rawArgs[0] = blueprint.name; this.registerOptions(blueprint); }, diff --git a/tests/e2e/tests/generate/generate-name-error.ts b/tests/e2e/tests/generate/generate-name-error.ts new file mode 100644 index 0000000000..2fb0583ca5 --- /dev/null +++ b/tests/e2e/tests/generate/generate-name-error.ts @@ -0,0 +1,9 @@ +import {ng} from '../../utils/process'; +import {expectToFail} from '../../utils/utils'; + + +export default function() { + return Promise.resolve() + .then(() => expectToFail(() => + ng('generate', 'component', '1my-component'))); +}