I updated my NX Workspace to the latest version (
"@nrwl/angular": "11.5.2") using it with Angular apps (v 11.2.6) in a monorepo.
I would like to generate a new Angular library using the following command:
ng generate @nrwl/angular:library --name=service --style=scss --directory=/libs/booking
But I receive the following error in the console:
SchematicsException [Error]: Project name "-libs-booking-service" is not valid. New project names must start with a letter, and must contain only alphanumeric characters or dashes. When adding a dash the segment after the dash must also start with a letter.
Somehow the command adds a dash
- before the project name, generating the error.
I also wiped out the node_modules and reinstalled the packages again, but without any luck.
I leave below the steps that helped me to fix the issue after the hint from Shashank :
If I remove the leading
/ in the directory parameter, I get the following error:
ng generate @nrwl/angular:library --name=services --style=scss --directory=libs/booking TypeError: Cannot read property 'paths' of undefined
That it is due to the tsconfig.json that for NX should still be
tsconfig.base.json. By renaming it (temporarily) the command works.
As per your comment, I think below command works for you.Your
/libs/booking, which should have been
ng generate @nrwl/workspace:library --name=service --style=scss --directory=libs/booking