Angular-cli: ng help generate: crashes on Angular 5.2.2

Created on 27 Jan 2018  Â·  15Comments  Â·  Source: angular/angular-cli

Versions

$ ng --version

    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / â–³ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/

Angular CLI: 1.6.6
Node: 8.9.4
OS: win32 x64
Angular: 5.2.2
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.6.6
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.0.29
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.6
@schematics/angular: 0.1.17
typescript: 2.4.2
webpack: 3.10.0

Windows Version: Windows 10 Version 1709

Repro steps

  • ng help generate
  • Alternative: ng help generate service

Observed behavior

$ ng help generate service
Cannot read property '0' of undefined
TypeError: Cannot read property '0' of undefined
    at Class.getCollectionName (D:\Users\harbmihi\Projects\WebProjects\Learning\Udemy\Angular5\Downloads\services-start\node_modules\@angular\cli\commands\generate.js:57:36)
    at Class.printDetailedHelp (D:\Users\harbmihi\Projects\WebProjects\Learning\Udemy\Angular5\Downloads\services-start\node_modules\@angular\cli\commands\generate.js:179:37)
    at commandFiles.forEach.cmd (D:\Users\harbmihi\Projects\WebProjects\Learning\Udemy\Angular5\Downloads\services-start\node_modules\@angular\cli\commands\help.js:57:38)
    at Array.forEach (<anonymous>)
    at Class.run (D:\Users\harbmihi\Projects\WebProjects\Learning\Udemy\Angular5\Downloads\services-start\node_modules\@angular\cli\commands\help.js:36:22)
    at resolve (D:\Users\harbmihi\Projects\WebProjects\Learning\Udemy\Angular5\Downloads\services-start\node_modules\@angular\cli\ember-cli\lib\models\command.js:261:20)
    at new Promise (<anonymous>)
    at Class.validateAndRun (D:\Users\harbmihi\Projects\WebProjects\Learning\Udemy\Angular5\Downloads\services-start\node_modules\@angular\cli\ember-cli\lib\models\command.js:240:12)
    at Promise.resolve.then.then (D:\Users\harbmihi\Projects\WebProjects\Learning\Udemy\Angular5\Downloads\services-start\node_modules\@angular\cli\ember-cli\lib\cli\cli.js:140:24)
    at <anonymous>

Desired behavior

  • Program shall not crash
  • Program shall give valid output

Mention any other details that might be useful (optional)

N/A

medium regression bufix

Most helpful comment

This is not fixed in 1.6.7:

ng --version

    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / â–³ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/

Angular CLI: 1.6.7
Node: 8.9.4
OS: win32 x64
Angular:
...

The behavior of the help generate command:

ng help generate
Cannot read property '0' of undefined
TypeError: Cannot read property '0' of undefined
    at Class.getCollectionName (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\commands\generate.js:57:36)
    at Class.printDetailedHelp (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\commands\generate.js:179:37)
    at commandFiles.forEach.cmd (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\commands\help.js:57:38)
    at Array.forEach (<anonymous>)
    at Class.run (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\commands\help.js:36:22)
    at resolve (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\ember-cli\lib\models\command.js:261:20)
    at new Promise (<anonymous>)
    at Class.validateAndRun (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\ember-cli\lib\models\command.js:240:12)
    at Promise.resolve.then.then (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\ember-cli\lib\cli\cli.js:140:24)
    at <anonymous>

All 15 comments

Noticed this issue too because Webstorm is using this command to know the available things that generate can do. This issue seems to only exists on @angular/cli==1.6.6; because when i downgrade to @angular/cli==1.6.5 the issue doesn't occur anymore.

Dennis from WebStorm team here. I can confirm that this fails with the same output for me. We'll be releasing WebStorm 2017.3.4 with a workaround (loading predefined list if the command fails), but would love to get a proper fix.

@denofevil, also experiencing the issue with 1.6.6. Thanks for your efforts on the workaround. @h-bex thanks for reporting the issue.

I also noticed this due to the interaction with WebStorm. Actual generate commands still seem to work, and top level help seems to work, as does help on other commands... just not for the generate command.

Same here on 1.6.6 in Webstorm. Updated Angular CLI because of another bug, so I'll have to manually (cmd) generate my components for now.

Is this fixed in 1.6.7?

This is not fixed in 1.6.7:

ng --version

    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / â–³ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/

Angular CLI: 1.6.7
Node: 8.9.4
OS: win32 x64
Angular:
...

The behavior of the help generate command:

ng help generate
Cannot read property '0' of undefined
TypeError: Cannot read property '0' of undefined
    at Class.getCollectionName (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\commands\generate.js:57:36)
    at Class.printDetailedHelp (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\commands\generate.js:179:37)
    at commandFiles.forEach.cmd (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\commands\help.js:57:38)
    at Array.forEach (<anonymous>)
    at Class.run (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\commands\help.js:36:22)
    at resolve (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\ember-cli\lib\models\command.js:261:20)
    at new Promise (<anonymous>)
    at Class.validateAndRun (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\ember-cli\lib\models\command.js:240:12)
    at Promise.resolve.then.then (D:\Users\harbmihi\AppData\Roaming\npm\node_modules\@angular\cli\ember-cli\lib\cli\cli.js:140:24)
    at <anonymous>

Sorry; wrong button; have to reopen it again.

Hi everyone!
I'm getting the same issue whenever I type "ng g --help"
Output: Cannot read property '0' of undefined

This is the version I've got installed in my lap:
ng --version

 _                      _                 ____ _     ___
/ \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|

/ â–³ \ | '_ \ / _| | | | |/ _ | '__| | | | | | | / ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ __| |_|__, |__,_|_|__,_|_| ____|_____|___|
|___/

Angular CLI: 1.6.7
Node: 8.9.4
OS: win32 x64
Angular: 5.2.3

Thanks in advance...

Same issue here with the "ng g --help" command.

_ _ ____ _ ___ / \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _| / â–³ \ | '_ \ / _ | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ __| |_|__, |__,_|_|__,_|_| ____|_____|___|
|___/

Angular CLI: 1.6.7
Node: 8.9.4
OS: win32 x64
Angular: 5.2.3
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cdk: 5.2.0
@angular/cli: 1.6.7
@angular/material: 5.2.0
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.0.29
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.7
@schematics/angular: 0.1.17
typescript: 2.5.3
webpack: 3.10.0

C:\Code\angularmaterial>ng g --help
Cannot read property '0' of undefined
TypeError: Cannot read property '0' of undefined
at Class.getCollectionName (C:\Code\angularmaterial\node_modules\@angular\cli\commands\generate.js:57:36)
at Class.printDetailedHelp (C:\Code\angularmaterial\node_modules\@angular\cli\commands\generate.js:179:37)
at commandFiles.forEach.cmd (C:\Code\angularmaterial\node_modules\@angular\cli\commands\help.js:57:38)
at Array.forEach ()
at Class.run (C:\Code\angularmaterial\node_modules\@angular\cli\commands\help.js:36:22)
at resolve (C:\Code\angularmaterial\node_modules\@angular\cli\ember-cli\lib\models\command.js:261:20)
at new Promise ()
at Class.validateAndRun (C:\Code\angularmaterial\node_modules\@angular\cli\ember-cli\lib\models\command.js:240:12)
at CLI.callHelp (C:\Code\angularmaterial\node_modules\@angular\cli\ember-cli\lib\cli\cli.js:222:17)
at Promise.resolve.then.then.then.then.result (C:\Code\angularmaterial\node_modules\@angular\cli\ember-cli\lib\cli\cli.js:156:23)
`

Still occurs on 1.7.0-rc.0

Angular CLI: 1.7.0-rc.0
Node: 8.6.0
OS: darwin x64
Angular: 6.0.0-beta.1
... common, compiler, compiler-cli, core, forms, http
... language-service, platform-browser, platform-browser-dynamic
... router

@angular/animations: 6.0.0-beta.2
@angular/cdk: 5.0.1
@angular/cli: 1.7.0-rc.0
@angular/material: 5.0.1
@angular-devkit/build-optimizer: 0.3.1
@angular-devkit/core: 0.3.1
@angular-devkit/schematics: 0.3.1
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.0-rc.0
@schematics/angular: 0.3.1
@schematics/package-update: 0.3.1
typescript-collections: 1.2.5
typescript: 2.6.2
webpack: 3.10.0

Really missing this functionality in IntelliJ ._.

Still occurs with 1.6.8

/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/

Angular CLI: 1.6.8
Node: 8.9.3
OS: win32 x64
Angular: 4.4.6
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router, tsc-wrapped

@angular/cli: 1.6.8
@angular/service-worker: 1.0.0-beta.16
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.0.29
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.8
@schematics/angular: 0.1.17
typescript: 2.3.4
webpack: 3.10.0

C:\Projects\Fdc.web>ng help generate
Cannot read property '0' of undefined
TypeError: Cannot read property '0' of undefined

Same issue with Webstorm 2017 3.4

WebStorm 2017.3.4
Build #WS-173.4548.30, built on January 30, 2018
Licensed to ****

JRE: 1.8.0_152-release-1024-b11 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 3.19.0-25-generic

Confirmation: Bug has been fixed with Angular 1.7.0:

    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / â–³ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/

Angular CLI: 1.7.0
Node: 8.9.4
OS: win32 x64
Angular:
...

Output:

ng help generate
Available schematics:
    application
    class
    component
    directive
    enum
    guard
    interface
    module
    pipe
    service
    universal
    appShell

Result: Works as expected. Thank you!

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

_This action has been performed automatically by a bot._

Was this page helpful?
0 / 5 - 0 ratings

Related issues

JanStureNielsen picture JanStureNielsen  Â·  3Comments

hartjo picture hartjo  Â·  3Comments

rajjejosefsson picture rajjejosefsson  Â·  3Comments

jmurphzyo picture jmurphzyo  Â·  3Comments

sysmat picture sysmat  Â·  3Comments