joymo-ui v0.0.0
Joymo UI
This library contains components and styling that may be reused across all the Joymo suite of products. Created with Angular 12.
NPM >= 7 (shipped with Node 15) is required. See nvm or fnm.
Code scaffolding
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
.
- It is recomended to follow the 7-1 pattern when dealing with style rules. This allows us to centralize definitions and reuse/import them accordingly.
- It is encouraged to define some tests (scaffolding will create a spec file automatically) before you create your code.
Build
- Run
npm run build:demo
to build the Playground, which consumes the library's components and assets. - Run
npm run build:icons
to build the icons SVG sprite introduced in PR#39. - Run
npm run build:ui
to build the UI library kit
Serve the demo project
Run npm run build:ui && npm start
to serve the app locally.
Publishing
After building you may publish this library to our GitHub Packages Registry by running npm run publish:ui
. This command will take care of updating the package version.
It is encouraged to follow the Conventional Commits commit structure to help with readability and semantic versioning when publishing*.
* Until the library reaches a stable, production-ready point, version changes will be frequent and releases do not necessarily follow the Conventional standard. This means that currently all changes strictly produce *patch* bumps only.
Testing
Tests should follow a standard Karma/Jasmine setup.
- To run tests on a CI environment run the
npm test
command. - For local/development environment you may want to run it on watch, headless mode instead:
npm test -- --watch --browsers ChromeHeadless
.
Dependency management
Dependabot automatically manages upgrades on a weekly basis, as specified in dependabot.yml
.
If you need a new runtime dependency to be installed for the UI kit to work (e.g. ng-select
or moment.js
) you should:
- List it as a peer dependency under the
projects/joymo-ui
package. Note: since NPM v7 is it not necessary to list them as development dependency (reference). - Consumer apps (like
joymo-ui-demo
) can just install these required dependencies as dependencies.
3 years ago
4 years ago