Skip to main content
← Back to list
01Issue
BugClosedSwamp CLIPublic
AssigneesNone

Relationships

#3632 extension push writes node_modules/.deno/ into the author's package.json project when bundling

Opened by skunk-ape · 10/19/2026

Push and extension quality require node_modules/ to exist in a package.json-mode extension (requireNodeModules in src/cli/resolve_extension_files.ts), then bundle with --node-modules-dir=auto and cwd at the package.json directory (denoProjectArgs in src/domain/models/bundle.ts; the deno info module graph reader uses the same flags). When node_modules/ was installed by npm, deno adds its own node_modules/.deno/ tree to it, so push and quality write into the author's working tree. Reproduced with deno 2.9.7: npm install of ms ^2.1.0 left 7 entries under node_modules/; one deno bundle --no-lock --node-modules-dir=auto added node_modules/.deno/ (16 entries). Found while fixing swamp-club#3613, which makes push and quality treat the author's deno.lock as read-only; node_modules/ is out of that scope. Expected: push and quality leave the author's tree unchanged, for example by resolving from the existing node_modules/ without letting deno manage it (--node-modules-dir=manual), if that still resolves npm-installed trees.


Closed 2026-10-22 as a duplicate: merged into swamp-club#3630 (Seth).

02Bog Flow
✓OPEN○TRIAGED○IN PROGRESS◉CLOSED

Closed

10/22/2026, 2:19:16 PM

No activity in this phase yet.

03Sludge Pulse
Editable. Press Enter to edit.

skunk-ape commented 10/20/2026, 7:37:53 PM

Found while triaging swamp-club#3669 (2026-10-20): extension quality writes into the author's node_modules too, on its own, not only push. On stable 20261019, with a package.json-mode extension (a model importing bare zod, package.json listing zod ^4) and an empty node_modules/ directory, a single swamp extension quality run left node_modules/.deno/ and node_modules/zod behind. So the fix here needs to cover quality's deno invocations as well as push's, and it is adding packages to the author's tree, not just deno's .deno bookkeeping. #3669 does not change this.

Sign in to post a ripple.