[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.100.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", "wasmer-wasix/webc_runner", ] # 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 = "1.0.71" enumset = "1.1.2" futures = { version = "0.3" } once_cell = "1.18.0" parking_lot = "0.12.1" serde = { version = "1.0.126", features = ["derive"] } serde_json = "1.0.64" tokio = { version = "1", default-features = false, optional = true } tracing = "0.1.37" wasmer = { version = "4.0.0", default-features = false } wasmer-wasix = { version = "0.9.0", default-features = false } swc_common = { version = "0.32.0", path = "../swc_common", features = [ "concurrent", ] } swc_css_ast = { version = "0.139.0", path = "../swc_css_ast", optional = true } swc_ecma_ast = { version = "0.108.0", path = "../swc_ecma_ast", optional = true } swc_plugin_proxy = { version = "0.37.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 = "0.5" swc_atoms = { version = "0.5.9", path = '../swc_atoms' } swc_css_ast = { version = "0.139.0", path = "../swc_css_ast", features = [ "rkyv-impl", ] } swc_css_parser = { version = "0.148.0", path = "../swc_css_parser" } swc_ecma_ast = { version = "0.108.0", path = "../swc_ecma_ast", features = [ "rkyv-impl", ] } swc_ecma_loader = { version = "0.44.0", path = "../swc_ecma_loader" } swc_ecma_parser = { version = "0.138.0", path = "../swc_ecma_parser" } swc_ecma_visit = { version = "0.94.0", path = "../swc_ecma_visit" } swc_node_base = { version = "0.5.8", path = "../swc_node_base" } testing = { version = "0.34.0", path = "../testing" } [[bench]] harness = false name = "ecma_invoke"