/angular-sdk

Primary LanguageTypeScript

Ppwcode/angular-sdk

This project was generated with Angular CLI version 16.2.1. The src folder contains a demo project to showcase the components offered in the various projects.

Important note

To run the demo app on your local machine, make sure to update tsconfig.json in the root folder of the project. The paths object should be updated to look like this:

"paths": {
    "@ppwcode/ng-async": ["projects/ppwcode/ng-async/src/public-api"],
    "@ppwcode/ng-common": ["projects/ppwcode/ng-common/src/public-api"],
    "@ppwcode/ng-common-components": ["projects/ppwcode/ng-common-components/src/public-api"],
    "@ppwcode/ng-dialogs": ["projects/ppwcode/ng-dialogs/src/public-api"],
    "@ppwcode/ng-forms": ["projects/ppwcode/ng-forms/src/public-api"],
    "@ppwcode/ng-router": ["projects/ppwcode/ng-router/src/public-api"],
    "@ppwcode/ng-state-management": ["projects/ppwcode/ng-state-management/src/public-api"],
    "@ppwcode/ng-unit-testing": ["projects/ppwcode/ng-unit-testing/src/public-api"],
    "@ppwcode/ng-wireframe": ["projects/ppwcode/ng-wireframe/src/public-api"]
},

Do not commit these changes to Git, it will fail the build pipeline.

Development server

Run npm run start for a dev server running the demo project. Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component in the demo project. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Create a new library

Run ng g lib ng-<lib-name> to generate a new library in the projects directory.

After generating the new library make sure to:

  • Update the ./tsconfig.json file in the root of the repository.
  • Update the path of the newly generated library to point to the projects folder instead of the dist.
  • Also delete the library contents and add in you own components or files.
  • Make sure to expose the public components/classes/... by adding an export in the public-api.ts file of the library.
  • Also add the new library in the scripts/ci/build-libs.sh to the LIBRARIES_LIST at line 4 in the file.
  • Make sure the new lib is added to the projects in angular.json.
  • Add .eslintrc to the library.
  • Add library to .github/workflows/publish-npmjs.yaml to ensure it gets published to npmjs.

Build

Run ng ci:build-libs to build the project. The build artifacts will be stored in the dist/ directory.

Running unit tests

Run ng ci:test-libs to execute the unit tests via Karma.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.