diff --git a/package.json b/package.json index ed26ce17348..b93691d2693 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "vsix:nightly": "turbo vsix:nightly --log-order grouped --output-logs new-only", "clean": "turbo clean --log-order grouped --output-logs new-only && rimraf dist out bin .vite-port .turbo", "install:vsix": "pnpm install --frozen-lockfile && pnpm clean && pnpm vsix && node scripts/install-vsix.js", + "install:vsix:nightly": "pnpm install --frozen-lockfile && pnpm clean && pnpm vsix:nightly && node scripts/install-vsix.js --nightly", "changeset:version": "cp CHANGELOG.md src/CHANGELOG.md && changeset version && cp -vf src/CHANGELOG.md .", "knip": "knip --include files", "evals": "dotenvx run -f packages/evals/.env.development packages/evals/.env.local -- docker compose -f packages/evals/docker-compose.yml --profile server --profile runner up --build --scale runner=0", diff --git a/scripts/install-vsix.js b/scripts/install-vsix.js index 0ed9b6d3762..1f58c70c328 100644 --- a/scripts/install-vsix.js +++ b/scripts/install-vsix.js @@ -5,6 +5,9 @@ const readline = require("readline") // detect "yes" flags const autoYes = process.argv.includes("-y") +// detect nightly flag +const isNightly = process.argv.includes("--nightly") + // detect editor command from args or default to "code" const editorArg = process.argv.find((arg) => arg.startsWith("--editor=")) const defaultEditor = editorArg ? editorArg.split("=")[1] : "code" @@ -24,14 +27,29 @@ const askQuestion = (question) => { async function main() { try { - const packageJson = JSON.parse(fs.readFileSync("./src/package.json", "utf-8")) - const name = packageJson.name - const version = packageJson.version + let name, version, publisher + + if (isNightly) { + // For nightly, read the nightly-specific package.json and get publisher from src + const nightlyPackageJson = JSON.parse( + fs.readFileSync("./apps/vscode-nightly/package.nightly.json", "utf-8"), + ) + const srcPackageJson = JSON.parse(fs.readFileSync("./src/package.json", "utf-8")) + name = nightlyPackageJson.name + version = nightlyPackageJson.version + publisher = srcPackageJson.publisher + } else { + const packageJson = JSON.parse(fs.readFileSync("./src/package.json", "utf-8")) + name = packageJson.name + version = packageJson.version + publisher = packageJson.publisher + } + const vsixFileName = `./bin/${name}-${version}.vsix` - const publisher = packageJson.publisher const extensionId = `${publisher}.${name}` + const buildType = isNightly ? "Nightly" : "Regular" - console.log("\nšŸš€ Roo Code VSIX Installer") + console.log(`\nšŸš€ Roo Code VSIX Installer (${buildType})`) console.log("========================") console.log("\nThis script will:") console.log("1. Uninstall any existing version of the Roo Code extension")