0011. The host bundle ships no third-party code

Status: Accepted (2026-09-30). Amended by 0015 (2026-10-01): markdown-it stays, as the parser the token tree is mapped from, and sanitize-html still goes.

Context

vsce package --no-dependencies means esbuild inlines whatever the source imports. Today that is three direct dependencies and 21 transitive packages in dist/extension.js, 2.7 MB, all running in the extension host with file-system and network access. Third-party code in the host is the largest attack surface the extension has, and the one an update can shrink. The pages ship no third-party code today.

Dependency What it does today
markdown-it Renders note excerpts and task titles for the pages, and the guide for Help
sanitize-html Cleans that HTML, since note content is untrusted and lands in a scripted page
picomatch Matches deckard.exclude globs in the scanner

Decision

Consequences

Alternatives considered