diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f0e93ed --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,41 @@ +## 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-` 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 + +### Preparation (on Windows only) + +When on Windows, the following should be configured: +`npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"` + +### Execution + +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](https://karma-runner.github.io). + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/README.md b/README.md index bd42e7a..2c5c492 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,33 @@ +![license badge](https://badgen.net/badge/license/apache%202.0/blue) +![Latest version on npmjs](https://badge.fury.io/js/%40ppwcode%2Fng-async.svg) +![NPM Downloads](https://img.shields.io/npm/dm/ng-async) +![GitHub Repo stars](https://img.shields.io/github/stars/peopleware/angular-sdk) + +[![Build & Test](https://github.com/peopleware/angular-sdk/actions/workflows/ci.yaml/badge.svg)](https://github.com/peopleware/angular-sdk/actions/workflows/ci.yaml) +[![Publish New Release to NPM](https://github.com/peopleware/angular-sdk/actions/workflows/publish-npmjs.yaml/badge.svg)](https://github.com/peopleware/angular-sdk/actions/workflows/publish-npmjs.yaml) + # Ppwcode/angular-sdk This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.1. The src folder contains a demo project to showcase the components offered in the various projects. -## 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-` 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 - -### Preparation (on Windows only) - -When on Windows, the following should be configured: -`npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"` - -### Execution - -Run `ng ci:build-libs` to build the project. The build artifacts will be stored in the `dist/` directory. +# Demo project -## Running unit tests +[peopleware.github.io/angular-sdk](https://peopleware.github.io/angular-sdk/) -Run `ng ci:test-libs` to execute the unit tests via [Karma](https://karma-runner.github.io). +# Documentation -## Further help +Documentation is available on a per-project basis. -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. +- ng-async: https://github.com/peopleware/angular-sdk/tree/master/projects/ppwcode/ng-async +- ng-common-components: https://github.com/peopleware/angular-sdk/tree/master/projects/ppwcode/ng-common-components +- ng-common: https://github.com/peopleware/angular-sdk/tree/master/projects/ppwcode/ng-common +- ng-dialogs: https://github.com/peopleware/angular-sdk/tree/master/projects/ppwcode/ng-dialogs +- ng-forms: https://github.com/peopleware/angular-sdk/tree/master/projects/ppwcode/ng-forms +- ng-router: https://github.com/peopleware/angular-sdk/tree/master/projects/ppwcode/ng-router +- ng-router: https://github.com/peopleware/angular-sdk/tree/master/projects/ppwcode/ng-router +- ng-sdk: https://github.com/peopleware/angular-sdk/tree/master/projects/ppwcode/ng-sdk +- ng-state-management: https://github.com/peopleware/angular-sdk/tree/master/projects/ppwcode/ng-state-management +- ng-unit-testing: https://github.com/peopleware/angular-sdk/tree/master/projects/ppwcode/ng-unit-testing +- ng-utils: https://github.com/peopleware/angular-sdk/tree/master/projects/ppwcode/ng-utils +- ng-wireframe: https://github.com/peopleware/angular-sdk/tree/master/projects/ppwcode/ng-wireframe