Description
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
-
Open and unzip the attached sample. It consists of:
test-alias
custom schematic project, created following the Authoring schematics
topic. In addition, I have createdlaunch.json
file that will help you easily reproduce the problem.test-params
project, created withng new
command on which I'm calling the custom schematic, usingng g
. In addition, I have executednpm i ts-node
in order to be able to debug the custom schematic upon thetest-params
project.
-
You can
npm i
on both projects. -
Open the
test-alias
project and change the paths in thelaunch.json
file, so that it uses your local paths. -
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.