Include companion VS Code extension VSIX as part of build/release (#4254)

This commit is contained in:
Shreya Keshive 2025-07-16 15:06:39 -04:00 committed by GitHub
parent 34c1b5811a
commit e4ed1aabac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 24 additions and 1 deletions

1
.gitignore vendored
View File

@ -38,3 +38,4 @@ packages/*/coverage/
# Generated files
packages/cli/src/generated/
.integration-tests/
packages/vscode-ide-companion/*.vsix

View File

@ -29,7 +29,9 @@
"watch:tsc": "tsc --noEmit --watch --project tsconfig.json",
"package": "vsce package --no-dependencies",
"check-types": "tsc --noEmit",
"lint": "eslint src"
"lint": "eslint src",
"test": "echo \"vscode-ide-companion has no tests yet\"",
"test:ci": "echo \"vscode-ide-companion has no tests yet\""
},
"devDependencies": {
"@types/cors": "^2.8.19",

View File

@ -33,6 +33,10 @@ if (!existsSync(join(root, 'node_modules'))) {
// build all workspaces/packages
execSync('npm run generate', { stdio: 'inherit', cwd: root });
execSync('npm run build --workspaces', { stdio: 'inherit', cwd: root });
execSync('npx --yes @vscode/vsce package --no-dependencies', {
stdio: 'inherit',
cwd: join(root, 'packages', 'vscode-ide-companion'),
});
// also build container image if sandboxing is enabled
// skip (-s) npm install + build since we did that above

View File

@ -45,3 +45,11 @@ for (const workspace of rootPackageJson.workspaces) {
rmSync(join(pkgDir, 'dist'), RMRF_OPTIONS);
}
}
// Clean up vsix files in vscode-ide-companion
const vsixFiles = globSync('packages/vscode-ide-companion/*.vsix', {
cwd: root,
});
for (const vsixFile of vsixFiles) {
rmSync(join(root, vsixFile), RMRF_OPTIONS);
}

View File

@ -37,4 +37,12 @@ for (const file of sbFiles) {
copyFileSync(join(root, file), join(bundleDir, basename(file)));
}
// Find and copy all .vsix files from packages to the root of the bundle directory
const vsixFiles = glob.sync('packages/vscode-ide-companion/*.vsix', {
cwd: root,
});
for (const file of vsixFiles) {
copyFileSync(join(root, file), join(bundleDir, basename(file)));
}
console.log('Assets copied to bundle/');