An essentials schematics for new Angular applications
Adds better defaults to a new Angular application generated with the Angular-CLI. ng-essentials is heavily inspired by the following schematics:
It includes many of the ideas of the following blog post, also written by Martin Hochel: Use React tools for better Angular apps.
This schematic uses the ng add
command to add it's value to a new Angular application:
ng add @froko/ng-essentials
The above command does the following:
prettier
for advanced code formattingENV_PROVIDERS
configuration array with the current environment name and a base URL to the environment.ts
and environment.prod.ts
files and provides this array in the AppModules's providers
array.protractor
. See below how to add a better alternative.prettier
after the installationng-essentials comes with some configuration switches to add even more value:
--jest
removes testing functionality with jasmine
and karma
and replaces it with jest using @angular-builders/jest.
--cypress
adds e2e testing functionality with Cypress.io. Please note that ng e2e
won't work anymore. Use npm run cypress
or yarn cypress
instead.
--husky
installs husky which formats and lints staged files (pre-commit hook).
This schematic also works with an empty Angular workspace, created with ng new app-name --createApplication=false
.
This schematic enhances the creation of a new library when the schematic was previously installed with the --jest
option. By running
ng generate lib myAwesomeLib
it will delete the karma/jasmine configuration and add jest support for the new library as well.
This schematic enhances the creation of a new application when the schematic was previously installed with the --jest
option. By running
ng generate app myAwesomeApp
it will delete the karma/jasmine configuration and add jest support for the new application as well.