Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
65 lines
1.7 KiB
JavaScript
65 lines
1.7 KiB
JavaScript
import { readFile, writeFile } from "node:fs/promises";
|
|
import { join } from "node:path";
|
|
|
|
import {
|
|
getNpmReleasePackages,
|
|
workspaceRoot
|
|
} from "./npm-release-packages.mjs";
|
|
import { parseStablePackageReleaseVersion } from "./package-release-version.mjs";
|
|
|
|
const releaseVersion = process.argv[2];
|
|
|
|
if (!releaseVersion) {
|
|
process.stderr.write(
|
|
"Usage: node tools/scripts/apply-ci-package-release-version.mjs <version>\n"
|
|
);
|
|
process.exit(1);
|
|
}
|
|
|
|
if (!parseStablePackageReleaseVersion(releaseVersion)) {
|
|
process.stderr.write(
|
|
`Unsupported package release version: ${releaseVersion}\n`
|
|
);
|
|
process.exit(1);
|
|
}
|
|
|
|
const packages = await getNpmReleasePackages();
|
|
const packageNames = new Set(
|
|
packages.map((packageConfig) => packageConfig.name)
|
|
);
|
|
|
|
for (const packageConfig of packages) {
|
|
const manifestPath = join(workspaceRoot, packageConfig.manifestPath);
|
|
const manifest = JSON.parse(await readFile(manifestPath, "utf8"));
|
|
|
|
manifest.version = releaseVersion;
|
|
updateInternalRanges(manifest, packageNames, releaseVersion);
|
|
|
|
await writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`);
|
|
}
|
|
|
|
process.stdout.write(
|
|
`Applied CI package release version ${releaseVersion} to ${packages.length} packages\n`
|
|
);
|
|
|
|
function updateInternalRanges(manifest, packageNames, version) {
|
|
for (const field of [
|
|
"dependencies",
|
|
"devDependencies",
|
|
"optionalDependencies",
|
|
"peerDependencies"
|
|
]) {
|
|
const dependencies = manifest[field];
|
|
|
|
if (!dependencies || typeof dependencies !== "object") {
|
|
continue;
|
|
}
|
|
|
|
for (const dependencyName of Object.keys(dependencies)) {
|
|
if (packageNames.has(dependencyName)) {
|
|
dependencies[dependencyName] = version;
|
|
}
|
|
}
|
|
}
|
|
}
|