maksit-webui/utils/Release-Package/scriptsettings.json
2026-05-30 14:25:22 +02:00

60 lines
2.1 KiB
JSON

{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Release Package Script Settings",
"description": "maksit-webui: npm workspace publish to npmjs. ReleasePublishGuard (before NpmPublish) controls allowed branches and tag rules. Set NPMJS_MAKS_IT env var to the npm automation token (same pattern as NUGET_MAKS_IT).",
"plugins": [
{
"name": "NpmReleaseVersion",
"stageLabel": "build",
"enabled": true,
"packageJsonPath": "..\\..\\src\\package.json",
"syncWorkspaceVersions": true
},
{
"name": "NpmBuild",
"stageLabel": "build",
"enabled": true,
"workspaceRoot": "..\\..\\src",
"useCi": true,
"buildScript": "build"
},
{
"name": "ReleasePublishGuard",
"stageLabel": "release",
"enabled": true,
"branches": [
"main"
],
"requireExactTagOnHead": true,
"tagVersionMustMatchReleaseVersion": true,
"whenRequirementsNotMet": "skip",
"requireCleanWorkingTree": false,
"ensureTagOnRemote": true,
"remoteName": "origin"
},
{
"name": "NpmPublish",
"stageLabel": "release",
"enabled": true,
"npmApiKey": "NPMJS_MAKS_IT",
"registry": "https://registry.npmjs.org",
"access": "public",
"workspaceRoot": "..\\..\\src",
"publishOrder": [
"@maks-it.com/webui-contracts",
"@maks-it.com/webui-core",
"@maks-it.com/webui-components"
]
}
],
"_comments": {
"plugins": {
"NpmReleaseVersion": "Reads version from src/package.json (workspace root). syncWorkspaceVersions aligns packages/*/package.json before build/publish.",
"NpmBuild": "Runs npm ci + npm run build in workspaceRoot.",
"ReleasePublishGuard": "Place before NpmPublish. tagVersionMustMatchReleaseVersion compares git tag on HEAD to NpmReleaseVersion.",
"NpmPublish": "npmApiKey is the environment variable name holding the npm automation token (NPMJS_MAKS_IT). publishOrder must follow dependency order.",
"maksit-repoutils": "Engine docs: https://github.com/MAKS-IT-COM/maksit-repoutils (src/Release-Package/README.md)."
}
}
}