-
Notifications
You must be signed in to change notification settings - Fork 17
Closed
Labels
bugSomething isn't workingSomething isn't workinglifecycle/implementingImplementation is in progressImplementation is in progress
Description
Description
When an extension model uses local imports (companion .ts files in a subdirectory), swamp model type describe returns the type with globalArguments but an empty methods array. The bundler appears to not resolve the imports into the main model.
Steps to Reproduce
-
Create a model with local imports:
extensions/models/gcp_resourcemanager.ts # main model, imports from ./gcp_resourcemanager/ extensions/models/gcp_resourcemanager/client.ts # GCP API client extensions/models/gcp_resourcemanager/methods.ts # business logic (methods imported by main) extensions/models/gcp_resourcemanager/types.ts # shared types -
Create a manifest:
manifestVersion: 1 name: "@hivemq/gcp/resourcemanager" version: 2026.03.25.1 models: - gcp_resourcemanager.ts
-
Run
swamp model type describe @hivemq/gcp/resourcemanager --json
Expected: JSON includes methods array with all methods defined in the model.
Actual: JSON includes globalArguments and resources but methods is empty or missing.
Additional Context
swamp extension push --dry-runlists the companion files as separate model entries, suggesting the bundler treats them as independent models rather than imports of the main model- This works locally when
.swamp/bundles/has been populated by prior runs, but fails in fresh CI checkouts - The
@hivemq/gcp/iamextension has the same structure and exhibits the same behavior in CI - Workaround: none found so far.
swamp model type search,swamp extension fmt, andswamp extension push --dry-runall fail to produce a working bundle
Environment
- swamp: installed via
brew install systeminit/tap/swampin CI (latest) - OS: Ubuntu 24.04 (GitHub Actions runner)
- Deno: v2.x
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinglifecycle/implementingImplementation is in progressImplementation is in progress