dbgjs
ms-vscode.dbgjs bundles the dbgjs CLI for JavaScript and TypeScript debugging,
runtime inspection, coverage, profiling, heap analysis, and source discovery.
It is independent of VS Code Team Tools.
Usage
- In a new VS Code terminal, run
dbgjs --help.
- In Copilot, use the
getDbgjsPath tool and invoke the returned absolute path.
The included dbgjs skill guides agents through this workflow. Terminal PATH
changes do not apply to agent tool processes.
- Set
dbgjs.enabled to false to unregister the tool, hide the skill, and
remove the terminal PATH contribution. It defaults to true; changes take
effect without reloading VS Code. Existing terminals retain their inherited
environment and may need to be recreated.
The extension uses its installed binaries directly. It does not copy executables
to user storage or generate shell wrappers at runtime. Node.js must be available
on PATH for dbgjs commands that use Node-based providers (or set DBGJS_NODE).
Playwright is bundled as an on-disk package for browser providers; its browser
downloads are not bundled.
Windows x64 and ARM64, macOS ARM64, and Linux x64 and ARM64 (glibc).
Each platform-specific VSIX contains only that platform's dbgjs,
dbgjs-service, and dbgjs-tui binaries.
Development and packaging
From vscode-team-tools, build native binaries first, then the extension:
node scripts/installDbgjsBuildInputs.mjs
node scripts/buildDbgjs.mjs --platform win32-x64
$env:DBGJS_PLATFORM = "win32-x64"
pnpm --filter dbgjs build
pnpm --filter dbgjs test
node scripts/packageDbgjsExtension.mjs --platform win32-x64
The native build places binaries in .build/dbgjs/<platform>. The extension
build typechecks and bundles its minimal runtime, copies only those three native
binaries into dist/dbgjs/<platform>, and copies Playwright and its production
dependencies into dist/node_modules. Native helpers discover Playwright by
walking the executable's ancestors, so direct invocation works outside this
repository without a launcher or environment-variable shim.
Build and packaging use scripts/dbgjsPlatforms.mjs for platform metadata.
DBGJS_PLATFORM selects the build platform; it defaults to the
host platform. The packaging script accepts --platform, --pre-release, and
--no-build (package an existing, potentially signed build without overwriting
it). VSIX files are written to vscode-team-tools/dist/dbgjs-<platform>.vsix.
Use pnpm --filter dbgjs typecheck to run typechecking without native binaries.