Go to file
Maksym Sadovnychyy 2c18605699 (feature): init
2026-05-24 12:07:27 +02:00
assets/docs (feature): init 2026-05-24 12:07:27 +02:00
scripts (feature): init 2026-05-24 12:07:27 +02:00
src (feature): init 2026-05-24 12:07:27 +02:00
utils (feature): init 2026-05-24 12:07:27 +02:00
.gitignore (feature): init 2026-05-24 12:07:27 +02:00
CHANGELOG.md (feature): init 2026-05-24 12:07:27 +02:00
README.md (feature): init 2026-05-24 12:07:27 +02:00

maksit-webui

Shared React UI library for maksit-certs-ui and maksit-vault WebUI apps.

Packages

npm package Description
@maksit/webui-contracts Shared TypeScript contracts (paging, gallery types, patch ops, scopes)
@maksit/webui-core Utilities (deepDelta, enum helpers, ACL parsers) and useFormState
@maksit/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

Release to npmjs

  1. Set NPMJS_MAKS_IT to your npm automation token (same pattern as NUGET_MAKS_IT for NuGet).
  2. Bump src/package.json version (and tag vX.Y.Z on main when using the publish guard).
  3. Run utils/Release-Package/Release-Package.bat (or pwsh 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 @maksit/webui-contracts @maksit/webui-core @maksit/webui-components

Wrap the app with WebUiProvider and pass axios/redux adapters — see assets/docs/NPM_CONSUMPTION.md.

License

MIT