swc_plugin_runner 4.0.0

Runner for swc plugins. This crate is INTERNAL crate and used by swc itself.
Documentation
[package]
authors       = ["강동윤 <kdy1997.dev@gmail.com>"]
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       = "4.0.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"]

[build-dependencies]
vergen = { workspace = true, features = ["build", "cargo"] }


[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 = "4.0.0", path = "../swc_common", features = [
  "concurrent",
] }
swc_css_ast = { version = "4.0.0", path = "../swc_css_ast", optional = true }
swc_ecma_ast = { version = "4.0.0", path = "../swc_ecma_ast", optional = true }
swc_plugin_proxy = { version = "4.0.0", path = "../swc_plugin_proxy" }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
wasmer-cache              = { version = "4.3.7", optional = true }
wasmer-compiler-cranelift = { version = "4.3.7", default-features = false }

[dev-dependencies]
codspeed-criterion-compat = { workspace = true }
criterion                 = { workspace = true }

swc_atoms = { version = "2.0.0", path = '../swc_atoms' }
swc_css_ast = { version = "4.0.0", path = "../swc_css_ast", features = [
  "rkyv-impl",
] }
swc_css_parser = { version = "4.0.0", path = "../swc_css_parser" }
swc_ecma_ast = { version = "4.0.0", path = "../swc_ecma_ast", features = [
  "rkyv-impl",
] }
swc_ecma_loader = { version = "4.0.0", path = "../swc_ecma_loader" }
swc_ecma_parser = { version = "5.0.0", path = "../swc_ecma_parser" }
swc_ecma_visit = { version = "4.0.0", path = "../swc_ecma_visit" }
swc_malloc = { version = "1.0.0", path = "../swc_malloc" }
testing = { version = "4.0.0", path = "../testing" }
tokio = { workspace = true, features = ["rt"] }

[[bench]]
harness = false
name    = "ecma_invoke"