spinframework / spinframework/spin
Simplify the upgrade experience of Spin, templates and plugins
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 6.5k
- Forks
- 310
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 24
Description
With the recent upgrades to Spin, js2wasm, and templates, I feel the upgrade experience for all the different components have become complex to manage.
As an example I wanted to test new JS SDK features in 0.8.0, and I had to run three upgrade commands to get the tools:
- Upgrade Spin using the install script. It's the same as a fresh install.
- Upgrade templates. Running one command to upgrade templates from the JS SDK repo.
- Upgrade the required plugin. In this case it was 'js2wasm'.
With more plugins coming (#1118 and #1129 as examples) and templates moving to more disperse places #1046, this will not be less complex going forward.
I don't have a good proposal for how to fix this, but I'd like to propose a few ideas, that Spin could benefit from to make this better:
- All things versioned (Enables the user to see what's on my machine. Enables an tutorial / demo author to note and what's required to complete this - e.g., Spin vXYZ, Template XYZ vXYZ and plugin XYZ in vXYZ). #1126 Is referring to this for templates.
- Introduce a single command to get latest. E.g., Latest Spin, installed templates and installed plugins. For anyone trying out, or returning after a while, this would make it easier if wanting to test new features.
- Single command to get versions of what's installed. Today I have to run three commands to see versions of what's installed (
spin -Vspin plugins listandspin templates list). All of these commands are inconsistent in how they tell you about versions. First one show the installed version, second shows no version and third shows all versions available (not only installed).
There might be more scenarios or considerations to simplify this end-to-end. Hope to get good comments and ideas.
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.
Research direction
Start by reviewing the existing install, template, and plugin upgrade flows, along with the version commands spin -V, spin plugins list, and spin templates list. Define a cohesive upgrade and version-reporting experience for Spin, installed templates, and plugins, then document the scope and acceptance criteria before implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, rust, wasm
- Domain
- cli, developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100