feat: create methods to manage runtimes #74
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR includes several refactors and new features to manage language runtimes. In general, this PR prepares the code for the complete feature. The main changes applied to this PR are:
reqwest
in async mode. For the validation side, it receives aChecksum
instance to validate against the content.Data
struct that was used for language runtimes to install transient files in a.wws
directory. Now, we also need to download and store runtime files such as wasm modules, polyfills and templates. For this reason, I moved the.wws
folder management into a globalStore
struct. I also fixed the routes to work on Windows too.Store
struct to create the files in the correct location.runtimes/metadata.rs
file. This way is less confusing to understand the scope of those structs.lifetimes
issues with Serde and theRepository -> Runtime -> RemoteFile
struct. In the end, I opted for making all owned types and revisit it in the future 😞filename
field to theRemoteFile
struct.Usage experience
And then, you can inspect the
.wws
folder:It closes #66