This project was created with the purpose of providing a demo, that could be published into an NPM package.
This project was generated with Angular CLI version 12.2.11.
Workspace was generated with the command ng new cfg-ng-lib --no-create-application --directory=.
The lib was generated with ng generate library cfg-ng-lib
Creating a configurable angular library
https://www.usefuldev.com/post/Angular:%20Creating%20configurable%20libraries%20with%20angular%20cli
- create a config interface in the lib folder: cfg-ng-lib.config.ts
export interface CfgNgLibConfig {
language: string;
}
- add a token const in the lib folder: cfg-ng-lib.config.token.ts
export const CFG_NG_LIB_CONFIG = new InjectionToken(
'CFG_NG_LIB_CONFIG'
);
- Modify the lib module: Open cfg-ng-lib.module.ts and add the following:
export class CfgNgLibModule {
static forRoot(cfgNgLibConfig: CfgNgLibConfig): ModuleWithProviders<CfgNgLibModule> {
return {
ngModule: CfgNgLibModule,
providers: [
{ provide: CFG_NG_LIB_CONFIG, useValue: cfgNgLibConfig }
]
}
};
}
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI Overview and Command Reference page.