@r01al/mfe-workforce-common-client
v1.1.0
Published
Shared browser contracts, hooks, theming, and base styles for Workforce micro-frontends.
Maintainers
Readme
@r01al/mfe-workforce-common-client
The browser-side platform library for the Workforce micro-frontends.
It provides:
- workforce DTOs and position values
- the workforce HTTP API client
- typed theme and workspace-preference persistence
- a React worker-loading hook
- shared design tokens, resets, and reusable Bulma-aligned UI primitives
Screen and layout CSS intentionally stays in the MFE that owns it.
import { fetchWorkers, initializeTheme } from '@r01al/mfe-workforce-common-client';
import { useWorkers } from '@r01al/mfe-workforce-common-client/hooks';
import '@r01al/mfe-workforce-common-client/styles.css';Standalone MFE development
Remote repositories can render their exposed component without running the shell:
import { mountStandalone } from '@r01al/mfe-workforce-common-client/standalone';
import { demoWorkers } from '@r01al/mfe-workforce-common-client/testing';
import '@r01al/mfe-workforce-common-client/standalone.css';
import Calendar from './Calendar';
mountStandalone({
component: Calendar,
route: '/calendar',
workers: demoWorkers,
});The standalone helper supplies React strict mode, browser routing, theme initialization, shared preview layout, and an optional browser-only worker API mock. The remote still owns its component, route, application CSS, and any scenarios that need app-specific fixtures.
Development
npm ci
npm run typecheck
npm run build
npm run packagenpm run package creates a publishable tarball under artifacts/ after typechecking, building, and validating the public outputs.
The package is browser-only. Its published files contain no Node.js runtime code or Node.js dependencies; Node/npm are used only as external build tools in development and CI.
Publishing
For the first 1.0.0 publication, commit these files, create the tag with git tag v1.0.0, and push it with git push origin master --tags.
For later releases:
- Update the version with
npm version patch,npm version minor, ornpm version major. - Push the commit and tag with
git push --follow-tags. - Create and publish a GitHub Release using the
v<version>tag. - The
publish.ymlworkflow validates the tag and publishes the package to npm with provenance.
For the first publication, add an npm granular access token as the NPM_TOKEN GitHub Actions repository secret. The token must be allowed to publish public packages and bypass publishing 2FA. After the package exists on npm, the workflow can be registered as an npm Trusted Publisher and the long-lived token can be removed.
Breaking API or visual-contract changes require a new major version.
