summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package.json3
-rw-r--r--scripts/build.js4
-rw-r--r--scripts/build_vscode_companion.js30
3 files changed, 32 insertions, 5 deletions
diff --git a/package.json b/package.json
index e1213dce..83620193 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,8 @@
"auth": "npm run auth:npm && npm run auth:docker",
"generate": "node scripts/generate-git-commit-info.js",
"build": "node scripts/build.js",
- "build:all": "npm run build && npm run build:sandbox",
+ "build:vscode": "node scripts/build_vscode_companion.js",
+ "build:all": "npm run build && npm run build:sandbox && npm run build:vscode",
"build:packages": "npm run build --workspaces",
"build:sandbox": "node scripts/build_sandbox.js --skip-npm-install-build",
"bundle": "npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js",
diff --git a/scripts/build.js b/scripts/build.js
index edf0b3f8..2555a750 100644
--- a/scripts/build.js
+++ b/scripts/build.js
@@ -33,10 +33,6 @@ 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
diff --git a/scripts/build_vscode_companion.js b/scripts/build_vscode_companion.js
new file mode 100644
index 00000000..5bcda2cd
--- /dev/null
+++ b/scripts/build_vscode_companion.js
@@ -0,0 +1,30 @@
+/**
+ * @license
+ * Copyright 2025 Google LLC
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import { execSync } from 'child_process';
+import { dirname, join } from 'path';
+import { fileURLToPath } from 'url';
+
+const __dirname = dirname(fileURLToPath(import.meta.url));
+const root = join(__dirname, '..');
+
+execSync('npx --yes @vscode/vsce package --no-dependencies', {
+ stdio: 'inherit',
+ cwd: join(root, 'packages', 'vscode-ide-companion'),
+});