Skip to content

Commit e3bca45

Browse files
authored
fix(vscode): bundle dependencies with esbuild to fix extension activation (#197)
The VS Code extension fails to activate with: Cannot find module 'vscode-languageclient/node' The --no-dependencies flag in vsce package assumes dependencies are bundled into the output JS, but the build uses plain tsc which only transpiles. Changes: - Replace tsc with esbuild for bundling dependencies into single minified file - Add typecheck script to retain TypeScript type checking - Move @types/* packages to devDependencies - Add node_modules/ and **/*.map to .vscodeignore Result: Extension activates correctly, package size 129 KB
1 parent d8678a1 commit e3bca45

File tree

3 files changed

+64
-5
lines changed

3 files changed

+64
-5
lines changed

editors/vscode/.vscodeignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@
55
src/
66
tsconfig.json
77
bun.lock
8+
node_modules/
9+
**/*.map

editors/vscode/bun.lock

Lines changed: 55 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

editors/vscode/package.json

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@
4949
],
5050
"main": "./dist/extension.js",
5151
"scripts": {
52-
"build": "tsc -p .",
53-
"watch": "tsc -w -p .",
52+
"build": "esbuild src/extension.ts --bundle --outdir=dist --external:vscode --format=cjs --platform=node --sourcemap --minify",
53+
"watch": "esbuild src/extension.ts --bundle --outdir=dist --external:vscode --format=cjs --platform=node --sourcemap --watch",
54+
"typecheck": "tsc -p . --noEmit",
5455
"package": "bun run build && vsce package --no-dependencies",
5556
"publish": "bun run build && vsce publish --no-dependencies"
5657
},
@@ -89,18 +90,19 @@
8990
}
9091
},
9192
"dependencies": {
92-
"@types/adm-zip": "^0.5.7",
93-
"@types/tar": "^6.1.13",
94-
"@types/which": "^3.0.4",
9593
"adm-zip": "^0.5.12",
9694
"tar": "^6.2.1",
9795
"vscode-languageclient": "^9.0.1",
9896
"which": "^4.0.0"
9997
},
10098
"devDependencies": {
99+
"@types/adm-zip": "^0.5.7",
101100
"@types/node": "^20.12.7",
101+
"@types/tar": "^6.1.13",
102102
"@types/vscode": "^1.80.0",
103+
"@types/which": "^3.0.4",
103104
"@vscode/vsce": "^3.7.0",
105+
"esbuild": "^0.27.2",
104106
"typescript": "^5.4.0"
105107
}
106108
}

0 commit comments

Comments
 (0)