[package] authors = ["강동윤 "] description = "Runner for swc plugins. This crate is INTERNAL crate and used by swc itself." documentation = "https://rustdoc.swc.rs/swc_plugin_runner/" edition = "2021" license = "Apache-2.0" name = "swc_plugin_runner" repository = "https://github.com/swc-project/swc.git" version = "0.109.0" [lib] bench = false doctest = false [features] default = ["filesystem_cache", "plugin_transform_host_native"] plugin_transform_host_js = [ "wasmer/js-default", "wasmer-wasix/js-default", "wasmer-compiler-cranelift/wasm", ] plugin_transform_host_native = [ "wasmer/default", "wasmer-wasix/sys", "wasmer-wasix/logging", "wasmer-wasix/host-fs", "wasmer-wasix/sys-poll", "wasmer-wasix/sys-thread", "wasmer-wasix/host-threads", "wasmer-compiler-cranelift/default", ] plugin_transform_host_native_shared_runtime = ["tokio"] # Supports a cache allow to store compiled bytecode into filesystem location. # This feature implies in-memory cache support. This is not supported on wasm32 target. filesystem_cache = ["wasmer-cache"] plugin_transform_schema_v1 = ["swc_common/plugin_transform_schema_v1"] plugin_transform_schema_vtest = ["swc_common/plugin_transform_schema_vtest"] # Enable ECMASCript support ecma = ["swc_ecma_ast/rkyv-impl"] # Enable CSS support css = ["swc_css_ast/rkyv-impl"] __rkyv = [] rkyv-impl = ["__rkyv", "swc_common/plugin-rt", "swc_plugin_proxy/plugin-rt"] [dependencies] anyhow = { workspace = true } enumset = { workspace = true } futures = { workspace = true } once_cell = { workspace = true } parking_lot = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } tokio = { workspace = true, optional = true } tracing = { workspace = true } virtual-fs = { workspace = true } wasmer = { workspace = true } wasmer-wasix = { workspace = true } swc_common = { version = "0.34.0", path = "../swc_common", features = [ "concurrent", ] } swc_css_ast = { version = "0.141.0", path = "../swc_css_ast", optional = true } swc_ecma_ast = { version = "0.115.0", path = "../swc_ecma_ast", optional = true } swc_plugin_proxy = { version = "0.44.0", path = "../swc_plugin_proxy" } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] wasmer-cache = { version = "4.0.0", optional = true } wasmer-compiler-cranelift = { version = "4.0.0", default-features = false } [dev-dependencies] criterion = { workspace = true } swc_atoms = { version = "0.6.5", path = '../swc_atoms' } swc_css_ast = { version = "0.141.0", path = "../swc_css_ast", features = [ "rkyv-impl", ] } swc_css_parser = { version = "0.151.0", path = "../swc_css_parser" } swc_ecma_ast = { version = "0.115.0", path = "../swc_ecma_ast", features = [ "rkyv-impl", ] } swc_ecma_loader = { version = "0.46.0", path = "../swc_ecma_loader" } swc_ecma_parser = { version = "0.146.0", path = "../swc_ecma_parser" } swc_ecma_visit = { version = "0.101.0", path = "../swc_ecma_visit" } swc_malloc = { version = "0.5.10", path = "../swc_malloc" } testing = { version = "0.36.0", path = "../testing" } tokio = { workspace = true, features = ["rt"] } [[bench]] harness = false name = "ecma_invoke"