@evolver-fi/evolver-basics
TypeScript icon, indicating that this package has built-in type declarations

3.0.1 • Public • Published

Evolver frontend modules

This is a repository that contains libraries for Evolver frontend common use cases.

Usage

  1. npm install @evolver-fi/evolver-basics

run npm run storybook to see documentation about the individual components

Message log component

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

Triggers component

This component supports listing and running Evolver backend triggerables. Also actions for those are exported for use in other places.

Scheduled tasks component

Management and triggering of scheduled tasks.

Status component

Show basic status information about the system via Reportables.

CRUD components

Frontend components for CRUD operations of DB entities. Requires a corresponding CRUD controller in

JWT components

Frontend for managing api tokens. Requires JwtController from evolver-basics-spring

Development

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.

Testing

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.

Pre-release process

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 and rc

Release process:

  • 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 with npm run build-storybook
  • after review merge PR
  • Create a new release:
    • pull the main branch
    • run make release

Develop without deploying the lib to NPM

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.

  1. Add this project as a workspace to the main app project's package.json
"workspaces": [
    "<path to evolver-front-modules>"
]
  1. run npm link in the root folder of this project

  2. 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.

  3. Run npm run dev in the evolver-front-modules project

  4. 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

Readme

Keywords

none

Package Sidebar

Install

npm i @evolver-fi/evolver-basics

Weekly Downloads

16

Version

3.0.1

License

APACHE-2.0

Unpacked Size

315 kB

Total Files

255

Last publish

Collaborators

  • jkyro
  • evolver-fi-admin