Packaging and release¶
Build a VSIX¶
Run:
npm run package
The script invokes @vscode/vsce and packages the extension according to package.json and .vscodeignore.
Files required at runtime¶
The VSIX must contain:
out/compiled extension JavaScript;- runtime dependencies from
node_modules/; media/icons;webview/home.html;webview/workbench.html;- package metadata and license files as required by VS Code packaging.
The external HTML templates are runtime assets. Excluding webview/ produces an installed extension that cannot render its pages.
Files intentionally ignored¶
.vscodeignore excludes development-only content including:
.vscode/;.git/;.github/;test/;scripts/;src/;tsconfig.json;- generated
*.vsixfiles.
Do not exclude node_modules/ wholesale: native database drivers are loaded at runtime by the extension.
Release checklist¶
- Update the version in
package.json. - Update user-facing documentation and changelog material if maintained externally.
- Run
npm run lint. - Run
npm run lint:types. - Run
npm run compile. - Run
node --test test/*.test.mjsornpm test. - Run
npm run audit:runtimeand review advisories. - Build the VSIX with
npm run package. - Inspect package contents with
npx --yes @vscode/vsce@3.9.2 ls. - Install the VSIX in a clean VS Code profile and test the first-connection workflow.
Versioning¶
The VS Code extension version comes from package.json. The VSIX filename and marketplace metadata follow that version. Keep version changes synchronized with release notes and documentation.