Skip to content

Commit 230d0a1

Browse files
committed
fix postinstall script for node
1 parent 46ff2c0 commit 230d0a1

File tree

3 files changed

+30
-22
lines changed

3 files changed

+30
-22
lines changed

packages/opencode/script/publish.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ for (const [os, arch] of targets) {
6464

6565
await $`mkdir -p ./dist/${pkg.name}`
6666
await $`cp -r ./bin ./dist/${pkg.name}/bin`
67-
await $`cp ./script/postinstall.js ./dist/${pkg.name}/postinstall.js`
67+
await $`cp ./script/postinstall.mjs ./dist/${pkg.name}/postinstall.mjs`
6868
await Bun.file(`./dist/${pkg.name}/package.json`).write(
6969
JSON.stringify(
7070
{
@@ -73,7 +73,7 @@ await Bun.file(`./dist/${pkg.name}/package.json`).write(
7373
[pkg.name]: `./bin/${pkg.name}`,
7474
},
7575
scripts: {
76-
postinstall: "node ./postinstall.js",
76+
postinstall: "node ./postinstall.mjs",
7777
},
7878
version,
7979
optionalDependencies,

packages/opencode/src/cli/cmd/upgrade.ts

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ export const UpgradeCommand = {
122122
UI.empty()
123123
UI.println(UI.logo(" "))
124124
UI.empty()
125-
prompts.intro("upgrade")
125+
prompts.intro("Upgrade")
126126

127127
if (!process.execPath.includes(path.join(".opencode", "bin")) && false) {
128128
prompts.log.error(
@@ -132,17 +132,25 @@ export const UpgradeCommand = {
132132
return
133133
}
134134

135-
const release = args.target ? await specific(args.target) : await latest()
136-
const target = release.tag_name
135+
const release = args.target
136+
? await specific(args.target).catch(() => {})
137+
: await latest().catch(() => {})
138+
if (!release) {
139+
prompts.log.error("Failed to fetch release information")
140+
prompts.outro("Done")
141+
return
142+
}
137143

138-
prompts.log.info(`Upgrade ${VERSION}${target}`)
144+
const target = release.tag_name
139145

140146
if (VERSION !== "dev" && compare(VERSION, target) >= 0) {
141147
prompts.log.success(`Already up to date`)
142148
prompts.outro("Done")
143149
return
144150
}
145151

152+
prompts.log.info(`From ${VERSION}${target}`)
153+
146154
const name = asset()
147155
const found = release.assets.find((a) => a.name === name)
148156

@@ -155,30 +163,30 @@ export const UpgradeCommand = {
155163
const spinner = prompts.spinner()
156164
spinner.start("Downloading update...")
157165

158-
let downloadPath: string
159-
try {
160-
downloadPath = await download(found.browser_download_url)
161-
spinner.stop("Download complete")
162-
} catch (downloadError) {
166+
const downloadPath = await download(found.browser_download_url).catch(
167+
() => {},
168+
)
169+
if (!downloadPath) {
163170
spinner.stop("Download failed")
164-
prompts.log.error(
165-
`Download failed: ${downloadError instanceof Error ? downloadError.message : String(downloadError)}`,
166-
)
171+
prompts.log.error("Download failed")
167172
prompts.outro("Done")
168173
return
169174
}
170175

171-
try {
172-
await fs.rename(downloadPath, process.execPath)
173-
prompts.log.success(`Successfully upgraded to ${target}`)
174-
} catch (installError) {
175-
prompts.log.error(
176-
`Install failed: ${installError instanceof Error ? installError.message : String(installError)}`,
177-
)
178-
// Clean up downloaded file
176+
spinner.stop("Download complete")
177+
178+
const renamed = await fs
179+
.rename(downloadPath, process.execPath)
180+
.catch(() => {})
181+
182+
if (renamed === undefined) {
183+
prompts.log.error("Install failed")
179184
await fs.unlink(downloadPath).catch(() => {})
185+
prompts.outro("Done")
186+
return
180187
}
181188

189+
prompts.log.success(`Successfully upgraded to ${target}`)
182190
prompts.outro("Done")
183191
},
184192
}

0 commit comments

Comments
 (0)