mirror of
https://github.com/MAKS-IT-COM/maksit-webui.git
synced 2026-06-30 20:06:43 +02:00
2.8 KiB
2.8 KiB
Publishing @maks-it.com/webui-* to npm
Packages are published under the @maks-it.com scope to registry.npmjs.org, managed from the maks-it.com npm org.
Published packages:
| Package | npm |
|---|---|
@maks-it.com/webui-contracts |
https://www.npmjs.com/package/@maks-it.com/webui-contracts |
@maks-it.com/webui-core |
https://www.npmjs.com/package/@maks-it.com/webui-core |
@maks-it.com/webui-components |
https://www.npmjs.com/package/@maks-it.com/webui-components |
One-time npm setup
- Sign in at https://www.npmjs.com/ with the maks-it.com org account.
- Confirm the
@maks-it.comscope exists under Packages. The org namemaks-it.comis the npm scope for scoped packages. - Create an Automation token (recommended) or Granular Access token with Publish on
@maks-it.com/*: - Store the token for release tooling:
- CI / Release-Package: set env var
NPMJS_MAKS_ITto the token value (same pattern asNUGET_MAKS_IT). - Local one-off publish:
npm loginor a user-level~/.npmrcentry://registry.npmjs.org/:_authToken=YOUR_TOKEN
- CI / Release-Package: set env var
Scoped packages must use --access public (already configured in each package publishConfig).
Manual first publish (0.1.0)
From the repo root:
cd src
npm ci
npm run build
npm publish -w @maks-it.com/webui-contracts --access public
npm publish -w @maks-it.com/webui-core --access public
npm publish -w @maks-it.com/webui-components --access public
Order matters: contracts → core → components.
Verify:
npm view @maks-it.com/webui-contracts version
npm view @maks-it.com/webui-core version
npm view @maks-it.com/webui-components version
Release pipeline (recommended)
Use utils/src/Invoke-ReleasePackage.bat (or pwsh utils/src/engines/release/Invoke-ReleasePackage.ps1):
- Bump version in
src/package.json(or tag drivesNpmReleaseVersion). - Tag
HEADwith exact semver, e.g.git tag v0.2.0 && git push origin v0.2.0. - Set
NPMJS_MAKS_ITand run the release engine.
utils/src/engines/release/scriptSettings.json runs NpmReleaseVersion, NpmBuild, ReleasePublishGuard, optional GitHub, then NpmPublish in dependency order.
After publish — Certs UI / Vault
In each WebUI app (MaksIT.WebUI/package.json):
"@maks-it.com/webui-contracts": "^0.1.0",
"@maks-it.com/webui-core": "^0.1.0",
"@maks-it.com/webui-components": "^0.1.0"
Then refresh the lockfile:
cd src/MaksIT.WebUI
npm install
Docker builds use npm ci from the lockfile; no sibling maksit-webui clone is required in the image context.