Skip to main content
← Back to list
01Issue
FeatureClosedSwamp Club
AssigneesNone

Enforce deno fmt and deno lint before publishing extensions

Opened by swampadmin · 4/6/2025

Problem

Upstream extensions can be published with formatting inconsistencies and lint errors (unused imports, unnecessary async, unsorted imports, etc.). Consumers who enforce deno fmt and deno lint in CI then have to manually fix up pulled extensions before they can commit.

This also affects readability — when humans need to dig into extension code, inconsistent formatting and lint noise makes the code harder to follow.

Real example: pulling @adam/cfgmgmt required fixing 13 lint errors and reformatting 11 files before CI would pass.

Proposed Solution

Run deno fmt --check and deno lint as a gate before swamp push succeeds. If either check fails, block the push and show the errors so the author can fix them first.

This is especially valuable for LLM-authored extensions, which may not run local checks before publishing. Enforcing at the push boundary ensures every published extension meets a baseline quality bar, producing clean and recognizable code for all consumers.

Alternatives Considered

  • Enforce at pull time: Running fmt/lint after pulling works but shifts the cost to every consumer instead of fixing it once at the source.
  • Advisory warnings only: Showing warnings without blocking would be less disruptive but wouldn't prevent dirty extensions from reaching consumers.
02Bog Flow
OPENTRIAGEDIN PROGRESSCLOSED

Closed

No activity in this phase yet.

03Sludge Pulse

Sign in to post a ripple.