Law Widgets is a monorepo that houses components libraries for formatting and adding interactivity to Akoma Ntoso documents.
Law Widgets is based on Web Components, which enables significant performance, usability, and feature improvements alongside support for React, and Vue.
Project | Documentation | Package | Description |
---|---|---|---|
Core | README.md |
@lawsafrica/law-widgets |
Web components library built for Akoma Ntoso documents |
Law Widget Styles | README.md |
@lawsafrica/law-widget-styles |
Stylesheets for use with HTML documents published using the Indigo platform. |
Vue | README.md |
@lawsafrica/law-widgets-vue |
Vue wrapper component library of @lawsafrica/law-widgets
|
React | README.md |
@lawsafrica/law-widgets-react |
React wrapper component library of @lawsafrica/law-widgets
|
Click here to learn how to use our components.
You must have nodejs version 20.
At the root of project in your terminal, run npm install
Lerna is used for managing and publishing packages in this repo.
Installing and symlinking dependencies via Lerna
Run npx lerna bootstrap
in the terminal. This will npm install all the packages (core
, law-widget-styles
, react
, vue
),
and provide the necessary symlinking between packages. (i.e core
has law-widget-styles
as a dependency, hence Lerna will
symlink law-widget-styles
).
In the terminal, run npx lerna run test
.
In the terminal, run npx lerna run build
.
- Once you have merged your feature into main, run
npx lerna version VERSION_NUMBER --conventional-commits
( e.gnpx lerna version 1.0.1 --conventional-commits
) in the terminal. - An automatic tagged commit will occur and the changelog for the packages will be updated.
- Create a new release here. Use the tag that was pushed for your release.
- Upon creating a release, a new version of the packages will be published on
npm
.