Skip to content

Passing an argument to an aliased custom ng g schematic, don't recognize the argument #24518

@Lipata

Description

@Lipata

Command

generate

Is this a regression?

  • Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was

13.x

Description

I've created a custom schematic, following the Authoring schematics
topic. The custom schematic (named component) has aliases (c & comp) and an argument (template). Calling the schematic with an alias ng g custom-schematic:c template=grid will throw Unknown argument: template grid error. Calling ng g custom-schematic:component template=grid works fine.

Minimal Reproduction

aliased-custom-schematic.zip

  1. Open and unzip the attached sample. It consists of:

    • test-alias custom schematic project, created following the Authoring schematics
      topic. In addition, I have created launch.json file that will help you easily reproduce the problem.
    • test-params project, created with ng new command on which I'm calling the custom schematic, using ng g. In addition, I have executed npm i ts-node in order to be able to debug the custom schematic upon the test-params project.
  2. You can npm i on both projects.

  3. Open the test-alias project and change the paths in the launch.json file, so that it uses your local paths.

  4. Go to Debug & Run tab in VSCode and run the Run schematics:component.

Exception or Error

Error: Unknown argument: template grid
c:\Users\nalipiev\Desktop\15\test-params\node_modules\@angular\cli\lib\cli\index.js:52
Process exited with code 1

Your Environment

Angular CLI: 15.0.4
Node: 16.13.0
Package Manager: npm 8.12.2
OS: win32 x64

Angular:
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1500.4 (cli-only)
@angular-devkit/core         15.0.4 (cli-only)
@angular-devkit/schematics   15.0.4 (cli-only)
@schematics/angular          15.0.4 (cli-only)

Anything else relevant?

When running the schematic, instead of debugging it, using the way it is described in the Authoring schematics
, it is working.

schematics .:test-alias

However when running it, instead of debugging through the ng g test-alias:c --template=grid it is still not working.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    pFad - Phonifier reborn

    Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

    Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy