- File issues.
- Edit/write documentation.
- Submit pull requests.
- Test in different environments.
- Raise awareness.
Following tools are getting used:
Angularas primary target framework http://angular.io/TypeScriptas primary language - https://www.typescriptlang.org/ng-packagrto generate Angular specific package format - https://github.com/dherges/ng-packagrcompodocfor API documentation - https://compodoc.app/Jasminefor test cases - https://jasmine.github.io/Karmafor running test cases in browsers - http://karma-runner.github.io/nodejsduring development - https://nodejs.org/npmfor dependency management, packaging and distribution - https://www.npmjs.com/gitfor version control - https://git-scm.com/
Instructions on setting up development environment:
- Install
nodeandnpm- https://nodejs.org/ - Checkout code from GitHub - you may fork the code first into your GitHub account.
- Use
npm ito install dependencies:$ npm i
The project was originally generated by angular-cli (at Angular 2).
In those days there was no clear guideline on how to create and organize an
Angular library.
Later it switched to ng-packagr which brought quite a lot of sanity.
The source code is in src folder.
All the test case files are within specs which is not what typically Angular
projects do.
Because of compatibility reasons paths of specific files have been kept same. While doing v8 - when v6 compatibility would be dropped, the source code is likely to be rearranged.
- A Stomp broker is used for running the tests. I have been using RabbitMQ.
- Edit
spec/config/browser-config.jsandspec/config/node-config.jsas per your setup. Defaults should work for as RabbitMQ default setup on localhost. - Please note that in RabbitMQ you will need to enable Stomp and WebStomp plugins.
- By default RabbitMQ WebStomp will treat messages a text, you will need to tell
it is use binary frames:
$ echo 'web_stomp.ws_frame = binary' >> /etc/rabbitmq/rabbitmq.conf
- A RabbitMQ Dockerfile is provided with necessary plugins and configuration. To use it, run:
$ docker build -t myrabbitmq rabbitmq/ # Needed only once $ docker run -d -p 15674:15674 myrabbitmq # to start the broker
Key npm tasks:
cleanup - Remove generated built artifacts
doc - Generate docs
doc-serve - Generate docs and watch for changes
test - Run tests
lint - run lint on soucres
- Checkout a new branch.
- Make code changes (src/specs)
- Run tests:
$ npm run test - Lint:
$ npm run lint
- Update documentation - do update the docs-src/Changelog.md
- Regenerate documentation:
$ npm run doc
- Please follow GitHub guidelines. Raise an issue if you are unclear.