feat(swc/wasm): initial plugin support interface #4123
Merged
+184
−46
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.
Description:
This is the initial groundwork for #3934. Mainly, PR attempts to introduce interface to
transformSync
in wasm to accept another param for the plugin's module bytes.I'm not a huge fan of current approach, honestly. But also wasm-* target is pretty limited to access external system resources - for example, @swc/wasm cannot access filesystem also can't easily use remote-ish interfaces since it implies node.js target.
For now, I'll focus for the primary goal to enable end-to-end workflow to make plugin work in the wasm target. Once it's done, I can come up with proposal for consolidating all interface stablization.
Related issue (if exists):
@swc/wasm-*
#3934