spinframework / spinframework/spin
Should locked apps omit triggerless components?
@tschneidereit is already working on this.
Since Sep 8, 2025.
- Dominant language
- Rust
- Stars
- 6.5k
- Forks
- 310
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 24
Description
When using a locally-developed component as a dependency for another component, it can be very useful to declare both components in spin.toml: that way, spin {build, watch} will ensure that both are (re-)built, instead of having to manually build the dependency. That alternative would not really work for spin watch to begin with, I think.
The downside of this approach is that any component declared in the manifest will be included in the locked app, increasing the size of deployments accordingly.
AFAICT, these components are guaranteed to be dead weight: anything not associated with a trigger has no way to be invoked after deployment, after all.
I propose that we change the application loader to filter out any components that aren't used by a trigger instead, so they don't show up in deployments.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.