Skip to main content
← Back to list
01Issue
FeatureShippedSwamp CLIPublic
Assigneesstack72

Relationships

#2355 serve reload re-bundles and re-imports every pulled extension to find nothing new

Opened by stack72 · 9/22/2026· Shipped 9/26/2026

Description

Split out of swamp-club#2354. On every serve reload, performServeReload runs createExtensionDiscoverer (src/serve/extension_reload.ts), which calls loader.load() over all pulled extension dirs with skipAlreadyRegistered: true. load() (src/domain/extensions/extension_loader.ts) reads, cache-bundles and imports every file before it can skip the already-registered types.

With @swamp/aws/ec2 pulled that is about 118 MB of bundles read, hashed and imported per reload, to find no new types. Since swamp-club#2340 (PR 2549) those imports are content-addressed, so they reuse existing modules and no longer leak heap; the remaining cost is time and I/O on every SIGHUP / hot-reload.

Suggested direction

Check registration before bundling and importing, for example by resolving the type from the catalog row or extractTypeFromSource and skipping files whose type is already registered, so serve reloads touch only genuinely new extensions.

Steps to observe

  1. swamp repo init, then swamp extension pull @swamp/aws/ec2
  2. Start swamp serve --hot-reload
  3. kill -HUP the serve pid and observe the reload re-reading and importing every pulled bundle
02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPEDTRIAGE+ 11 MOREREVIEW+ 20 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

9/26/2026, 1:32:38 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack729/25/2026, 11:27:57 PM

Sign in to post a ripple.