-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Description
Describe the feature
Originating from #2635 (comment) .
It looks like we are able to push forward wasm based plugin, this issue is filed for tracking its subtasks to officially release features. Still it'll be exposed under experimental
flag to iterate implementaion with possibly breaking changes.
- runtime replacement (refactor(swc/plugin): replace wasm runtime #3196 / Compile from source, c-api to arm7hf wasmerio/wasmer#2324) : hope to use wasmer.
- deprecate
abi_stable
(refactor(swc/plugins): load wasm plugin with cache (#3167 part 1) #3179) - deprecate
plugin_ast
-
swc_common/plugin
to utilize https://wasmerio.github.io/wasmer/crates/doc/wasmer/macro.imports.html - support loading / bytecode caching wasm from
swc_plugin_runner
(refactor(swc/plugins): load wasm plugin with cache (#3167 part 1) #3179) - configuration support for bytecode cache location (refactor(swc/plugins): load wasm plugin with cache (#3167 part 1) #3179)
- compiled bytecode cache support
- swc_cli supports for plugin project scafolding (we'll consolidate https://github.com/swc-project/swc-dev/blob/main/src/main.rs into
swc
's subcommand) - writing short adr (docs(adr): setting up adr, start to write 00001-plugin #3249)
- Cache expiration strategy (Probably will not be implemented in experimental phase, need bit more thought. May spin off new issue later).
- Optimize wasm loading strategy: current impl (
Line 19 in fc4c670
pub fn plugins(config: crate::config::JscExperimental) -> impl Fold { - println / dbg! or tracing support (feat(swc/plugin_runner): support plugin targets wasm32-wasi #3271)
- error handling (feat(swc/common): implement PluginError #3300)
XiNiHa, BasixKOR, kdy1, syrusakbary, shekhirin and 4 more