mirror of
https://github.com/anomalyco/opencode.git
synced 2026-11-06 19:49:00 +00:00
45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
#!/usr/bin/env bun
|
|
|
|
import { Script } from "@opencode/script"
|
|
import { $ } from "bun"
|
|
import { rm } from "node:fs/promises"
|
|
import path from "node:path"
|
|
|
|
// Runs `bun run pack` for every package published to npm, after moving every workspace to the build
|
|
// version so workspace dependencies pack at that version. Outputs land in dist/npm and dist/archives.
|
|
const root = path.resolve(import.meta.dir, "..")
|
|
process.chdir(root)
|
|
console.log(`=== packing ${Script.version} (${Script.channel}) ===\n`)
|
|
|
|
await rm("dist/npm", { recursive: true, force: true })
|
|
await rm("dist/archives", { recursive: true, force: true })
|
|
|
|
const pkgjsons = await Array.fromAsync(new Bun.Glob("**/package.json").scan({ absolute: true })).then((files) =>
|
|
files.filter((file) => !file.includes("node_modules") && !file.includes("dist")),
|
|
)
|
|
for (const file of pkgjsons) {
|
|
const text = await Bun.file(file).text()
|
|
await Bun.write(file, text.replaceAll(/"version": "[^"]+"/g, `"version": "${Script.version}"`))
|
|
}
|
|
await $`bun install`
|
|
|
|
for (const name of [
|
|
"schema",
|
|
"codemode",
|
|
"theme",
|
|
"ai",
|
|
"util",
|
|
"protocol",
|
|
"client",
|
|
"plugin",
|
|
"plugin-browser",
|
|
"core",
|
|
"simulation",
|
|
"server",
|
|
"sdk",
|
|
"ui",
|
|
"cli",
|
|
]) {
|
|
console.log(`\n=== ${name} ===\n`)
|
|
await $`bun run pack`.cwd(path.join("packages", name))
|
|
}
|