summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/bun/index.ts9
1 files changed, 5 insertions, 4 deletions
diff --git a/packages/opencode/src/bun/index.ts b/packages/opencode/src/bun/index.ts
index fa9cb6e35..0a9ee9ca9 100644
--- a/packages/opencode/src/bun/index.ts
+++ b/packages/opencode/src/bun/index.ts
@@ -60,11 +60,12 @@ export namespace BunProc {
export async function install(pkg: string, version = "latest") {
const mod = path.join(Global.Path.cache, "node_modules", pkg)
const pkgjson = Bun.file(path.join(Global.Path.cache, "package.json"))
- const parsed = await pkgjson.json().catch(() => ({
- dependencies: {},
- }))
+ const parsed = await pkgjson.json().catch(async () => {
+ const result = { dependencies: {} }
+ await Bun.write(pkgjson.name!, JSON.stringify(result, null, 2))
+ return result
+ })
if (parsed.dependencies[pkg] === version) return mod
- parsed.dependencies[pkg] = version
await BunProc.run(
["add", "--exact", "--cwd", Global.Path.cache, "--registry=https://registry.npmjs.org", pkg + "@" + version],
{