Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublic
Assigneesskunk-ape

Relationships

#3717 extension fmt --check writes deno.lock in deno.json mode, which push and quality then bundle against with --frozen

Opened by skunk-ape · 10/21/2026· Shipped 10/22/2026

Summary

In a deno.json-mode extension, swamp extension fmt --check creates or rewrites the project's deno.lock. Later, extension push and extension quality bundle with --frozen against that lock, so a check-only formatting run changes what push resolves and can make it fail.

Evidence

  • Seen in the #3682 session's doc capture (swamp-club docs for dependency trust).
  • src/domain/extensions/extension_quality_checker.ts checkExtensionQuality runs deno fmt --check and then deno lint with the project config (denoToolConfigArgs / extensionLintArgs) and no --no-lock. #3613 stopped push from rewriting the author's lock while bundling; the fmt and lint path was left out.

Expected

extension fmt and extension fmt --check never write deno.lock. Push and quality see only the author's own lock.

Fix direction

Pass --no-lock (or the equivalent) to the deno subprocesses that checkExtensionQuality runs. Add a test that a check-only fmt run leaves the lock byte-for-byte unchanged, and a UAT row in swamp-uat if the behaviour shows in a user path.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 2 MOREREVIEW+ 7 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/22/2026, 1:47:37 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
skunk-ape assigned skunk-ape10/21/2026, 4:03:22 PM

Sign in to post a ripple.