This is a repository that contains libraries for Evolver frontend common use cases.
npm install @evolver-fi/evolver-basics
run npm run storybook
to see documentation about the individual components
This is a frontend component that enables easy setup of log message views in an application with Evolver basics backend.
The component provides ready made views for
- Message log list
- Message details
This component supports listing and running Evolver backend triggerables. Also actions for those are exported for use in other places.
Management and triggering of scheduled tasks.
Show basic status information about the system via Reportables.
Frontend components for CRUD operations of DB entities. Requires a corresponding CRUD controller in
Frontend for managing api tokens. Requires JwtController
from evolver-basics-spring
New features and bugs should be tracked as issues in the evolver-front-modules repo. Review by the Evolver frontend team. Slack channel #fugu gets updates for PRs.
There are tests that use the Storybook to compare the rendered components both visually and as serialized DOM snapshots. To run the tests use
npm run test
The test report can be inspected under test-results
directory which contains a generated HTML report.
NOTE: Publishing pre-release versions is not generally recommended outside of upcoming major versions. These instructions assume that a separate release branch is used to develop the upcoming major version.
- develop the feature on a branch starting from the relase branch
- make sure that all the tests pass and the storybook snapshots have been updated
- create a new release
- pull the feature branch
- run
make release
- Make sure to use an appropriate semantic version, for example
2.0.0-alpha.1
- Valid tags are
dev
,alpha
,beta
andrc
- develop feature on a branch starting from main
- once finished, create PR to main. Remember Storybook example! Also make sure that all tests pass.
- When new stories are added, test snapshots should be generated and added to git. use
npm run update-snapshots
to generate the new snapshots and add them to git in a separate commit. Remember to build the static storybook instance withnpm run build-storybook
- When new stories are added, test snapshots should be generated and added to git. use
- after review merge PR
- Create a new release:
- pull the main branch
- run
make release
To develop the library locally without needing to deploy the library after changes:
NOTE: npm link
is essentially a fancy symlink managed by the npm. You may run into unresolveable dependency issues.
- Add this project as a workspace to the main app project's package.json
"workspaces": [
"<path to evolver-front-modules>"
]
-
run
npm link
in the root folder of this project -
run
npm link @evolver-fi/evolver-basics
in the root folder of the app project that is using the library. Make sure the project contains all the needed peer dependencies. -
Run
npm run dev
in the evolver-front-modules project -
Remember to run
npm unlink @evolver-fi/evolver-basics
in the root folder of the app project and remove the workspace from the package.json when you are done.
If there are problems still
rm -rf $APP_PROJET_DIR/.next/cache
where $APP_PROJECT_DIR is the project directory of the main app project could help if the main project is using NextJS