@froko/ng-essentials

6.1.3 • Public • Published

ng-essentials

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.

Usage

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:

  • Updates all npm packages to their latest stable versions
  • Installs prettier for advanced code formatting
  • Replaces TsLint by EsLint
  • Adds Angular debugging support for Visual Studio Code
  • Adds formatting and linting support for saved files in Visual Studio Code
  • Adds common Visual Studio Code plugin recommendations
  • Adds an ENV_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.
  • Removes e2e testing functionality with protractor. See below how to add a better alternative.
  • Formats the code with prettier after the installation
  • Lints the code and fixes issues after the installation

ng-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.

Adding a new library with jest support

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.

Adding a new application with jest support

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.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 6.1.3
    11
    • latest

Version History

Package Sidebar

Install

npm i @froko/ng-essentials

Weekly Downloads

13

Version

6.1.3

License

MIT

Unpacked Size

189 kB

Total Files

65

Last publish

Collaborators

  • froko