mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-09-01 15:32:11 +08:00
Publish release on OpenVSX (#7608)
* feat: Prod Release only to OpenVSX * feat: build as a prod release * feat: dual vsx build
This commit is contained in:
@@ -36,9 +36,10 @@ const targets = [
|
||||
const binDir = join(import.meta.dir, "..", "bin")
|
||||
const distDir = join(import.meta.dir, "..", "dist")
|
||||
const outDir = join(import.meta.dir, "..", "out")
|
||||
const outDirProd = join(import.meta.dir, "..", "out", "prod")
|
||||
|
||||
console.log("\n🧹 Cleaning up directories...")
|
||||
for (const dir of [binDir, distDir, outDir]) {
|
||||
for (const dir of [binDir, distDir, outDir, outDirProd]) {
|
||||
if (existsSync(dir)) {
|
||||
rmSync(dir, { recursive: true, force: true })
|
||||
console.log(` ✓ Cleaned ${dir}`)
|
||||
@@ -47,6 +48,7 @@ for (const dir of [binDir, distDir, outDir]) {
|
||||
|
||||
mkdirSync(outDir, { recursive: true })
|
||||
mkdirSync(distDir, { recursive: true })
|
||||
mkdirSync(outDirProd, { recursive: true })
|
||||
|
||||
console.log("\n🔄 Rebuilding SDK types (ensures dist/ is in sync with server API)...")
|
||||
await $`bun run --cwd ${join(import.meta.dir, "..", "..", "sdk", "js")} build`
|
||||
@@ -87,6 +89,13 @@ for (const config of targets) {
|
||||
npm_config_ignore_scripts: "true",
|
||||
})
|
||||
console.log(` ✅ Created ${vsixPath}`)
|
||||
|
||||
const prodVsixPath = join(outDirProd, `kilo-vscode-${config.target}.vsix`)
|
||||
await $`vsce package --no-dependencies --skip-license --target ${config.target} -o ${prodVsixPath}`.env({
|
||||
...process.env,
|
||||
npm_config_ignore_scripts: "true",
|
||||
})
|
||||
console.log(` ✅ Created ${prodVsixPath}`)
|
||||
}
|
||||
|
||||
console.log("\n✨ All VSIX packages built successfully!")
|
||||
|
||||
@@ -7,6 +7,8 @@ import { Script } from "@opencode-ai/script"
|
||||
console.log(`Publishing VSCode extension for release: v${Script.version}`)
|
||||
|
||||
const outDir = process.env.VSIX_DIR || join(import.meta.dir, "..", "out")
|
||||
const outDirProd = join(outDir, "prod")
|
||||
|
||||
console.log(`Using VSIX directory: ${outDir}`)
|
||||
|
||||
if (!existsSync(outDir)) {
|
||||
@@ -37,15 +39,14 @@ console.log(`\nFound ${vsixFiles.length} VSIX files`)
|
||||
|
||||
for (const target of targets) {
|
||||
const vsixPath = join(outDir, `kilo-vscode-${target}.vsix`)
|
||||
|
||||
console.log(`\n🚀 Publishing ${target} to VS Code Marketplace...`)
|
||||
await $`vsce publish --pre-release --packagePath ${vsixPath}`
|
||||
console.log(` ✅ Published ${target} to VS Code Marketplace`)
|
||||
|
||||
// Note: Open VSX publishing is commented out as it doesn't support prereleases
|
||||
// console.log(`\n📤 Publishing ${target} to Open VSX...`)
|
||||
// await $`npx ovsx publish ${vsixPath} --target ${target} -p ${process.env.OPENVSX_TOKEN}`
|
||||
// console.log(` ✅ Published ${target} to Open VSX`)
|
||||
const prodVsixPath = join(outDirProd, `kilo-vscode-${target}.vsix`)
|
||||
console.log(`\n📤 Publishing ${target} to Open VSX...`)
|
||||
await $`npx ovsx publish --pat ${process.env.OPENVSX_TOKEN} --packagePath ${prodVsixPath}`
|
||||
console.log(` ✅ Published Prod ${target} to Open VSX`)
|
||||
}
|
||||
|
||||
if (Script.release) {
|
||||
|
||||
Reference in New Issue
Block a user