2.5 KiB
MaksIT.WebUI
Shared React UI library for maksit-certs-ui and maksit-vault WebUI apps.
Packages
| npm package | Description |
|---|---|
@maks-it.com/webui-contracts |
Shared TypeScript contracts (paging, gallery types, patch ops, scopes) |
@maks-it.com/webui-core |
Utilities (deepDelta, enum helpers, ACL parsers) and useFormState |
@maks-it.com/webui-components |
React components, layout, editors, DataTable, auth shell |
Source lives under src/ (npm workspaces). Release automation lives under utils/ (from maksit-repoutils).
Local development
cd src
npm install
npm run build
npm test
npm run storybook
Storybook (npm run storybook) runs a local catalog of @maks-it.com/webui-components with Tailwind, React Router, autodocs, a11y checks, and Vitest component tests (testing widget + npm run test-storybook). Stories live under src/stories/components/ (mirroring component folders); see src/stories/README.md for story conventions and testing.
Tests and coverage badges: utils/Run-Tests/Run-Tests.bat (plugin config in utils/Run-Tests/scriptsettings.json; uses NpmJestTest).
Release to npmjs
- Set
NPMJS_MAKS_ITto your npm automation token (same pattern asNUGET_MAKS_ITfor NuGet). - Bump
src/package.jsonversion(and tagvX.Y.Zonmainwhen using the publish guard). - Run
utils/Release-Package/Release-Package.bat(orpwsh utils/Release-Package/Release-Package.ps1).
Configured plugins (see utils/Release-Package/scriptsettings.json):
| Plugin | Role |
|---|---|
NpmReleaseVersion |
Read semver from src/package.json; sync packages/*/package.json |
NpmBuild |
npm ci + npm run build |
ReleasePublishGuard |
Branch/tag checks before publish |
GitHub |
GitHub release (optional; needs GITHUB_MAKS_IT_COM) |
NpmPublish |
Publish workspace packages in dependency order |
Refresh shared utils from repoutils: utils/Update-RepoUtils/Update-RepoUtils.bat.
Consume in product repos
npm install @maks-it.com/webui-contracts @maks-it.com/webui-core @maks-it.com/webui-components
Wrap the app with WebUiProvider and pass axios/redux adapters — see assets/docs/NPM_CONSUMPTION.md.
License
MIT