[package]
authors = ["강동윤 <kdy1997.dev@gmail.com>"]
description = "Speedy web compiler"
documentation = "https://rustdoc.swc.rs/swc/"
edition = "2021"
include = ["Cargo.toml", "src/**/*.rs"]
license = "Apache-2.0"
name = "swc"
repository = "https://github.com/swc-project/swc.git"
version = "8.0.0"
[lib]
bench = false
name = "swc"
[features]
concurrent = [
"swc_ecma_transforms/concurrent",
"swc_common/concurrent",
"swc_ecma_minifier/concurrent",
]
debug = ["swc_ecma_visit/debug", "swc_ecma_minifier/debug"]
default = ["es3"]
es3 = []
node = ["napi", "napi-derive", "swc_compiler_base/node"]
plugin = [
"swc_plugin_runner/ecma",
"swc_plugin_runner/rkyv-impl",
"swc_plugin_proxy/plugin-rt",
"tokio",
]
plugin_transform_schema_v1 = [
"swc_common/plugin_transform_schema_v1",
"swc_plugin_runner/plugin_transform_schema_v1",
]
plugin_transform_schema_vtest = [
"swc_common/plugin_transform_schema_vtest",
"swc_plugin_runner/plugin_transform_schema_vtest",
]
plugin_transform_host_js = ["swc_plugin_runner/plugin_transform_host_js"]
plugin_transform_host_native = [
"swc_plugin_runner/plugin_transform_host_native",
]
manual-tokio-runtmie = ["manual-tokio-runtime"]
manual-tokio-runtime = []
[dependencies]
anyhow = { workspace = true }
base64 = { workspace = true }
dashmap = { workspace = true }
either = { workspace = true }
indexmap = { workspace = true, features = ["serde"] }
jsonc-parser = { workspace = true, features = ["serde"] }
lru = { workspace = true }
once_cell = { workspace = true }
parking_lot = { workspace = true }
pathdiff = { workspace = true }
regex = { workspace = true }
rustc-hash = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
sourcemap = { workspace = true }
tracing = { workspace = true }
url = { workspace = true }
swc_atoms = { version = "3.0.0", path = "../swc_atoms" }
swc_cached = { version = "1.0.0", path = "../swc_cached" }
swc_common = { version = "5.0.0", path = "../swc_common", features = [
"ahash",
"sourcemap",
"parking_lot",
] }
swc_compiler_base = { version = "7.0.0", path = "../swc_compiler_base" }
swc_config = { version = "1.0.0", path = "../swc_config" }
swc_ecma_ast = { version = "5.0.0", path = "../swc_ecma_ast" }
swc_ecma_codegen = { version = "5.0.0", path = "../swc_ecma_codegen" }
swc_ecma_ext_transforms = { version = "6.0.0", path = "../swc_ecma_ext_transforms" }
swc_ecma_lints = { version = "6.0.0", path = "../swc_ecma_lints" }
swc_ecma_loader = { version = "5.0.0", path = "../swc_ecma_loader", features = [
"cache",
"node",
"tsc",
] }
swc_ecma_minifier = { version = "6.0.0", path = "../swc_ecma_minifier" }
swc_ecma_parser = { version = "6.0.0", path = "../swc_ecma_parser" }
swc_ecma_preset_env = { version = "7.0.0", path = "../swc_ecma_preset_env" }
swc_ecma_transforms = { version = "7.0.0", path = "../swc_ecma_transforms", features = [
"compat",
"module",
"optimization",
"proposal",
"react",
"typescript",
] }
swc_ecma_transforms_base = { version = "6.0.0", path = "../swc_ecma_transforms_base" }
swc_ecma_transforms_compat = { version = "7.0.0", path = "../swc_ecma_transforms_compat" }
swc_ecma_transforms_optimization = { version = "6.0.0", path = "../swc_ecma_transforms_optimization" }
swc_ecma_utils = { version = "6.0.0", path = "../swc_ecma_utils" }
swc_ecma_visit = { version = "5.0.0", path = "../swc_ecma_visit" }
swc_error_reporters = { version = "6.0.0", path = "../swc_error_reporters" }
swc_node_comments = { version = "5.0.0", path = "../swc_node_comments" }
swc_plugin_proxy = { version = "5.0.0", path = "../swc_plugin_proxy", optional = true }
swc_plugin_runner = { version = "5.0.0", path = "../swc_plugin_runner", optional = true, default-features = false }
swc_timer = { version = "1.0.0", path = "../swc_timer" }
swc_transform_common = { version = "1.0.0", path = "../swc_transform_common" }
swc_typescript = { version = "5.0.0", path = "../swc_typescript" }
swc_visit = { version = "2.0.0", path = "../swc_visit" }
[dependencies.tokio]
features = ["rt", "rt-multi-thread"]
optional = true
workspace = true
[dependencies.napi]
features = ["napi3"]
optional = true
workspace = true
[dependencies.napi-derive]
features = ["type-def"]
optional = true
workspace = true
[dev-dependencies]
ansi_term = { workspace = true }
criterion = { workspace = true }
rayon = { workspace = true }
walkdir = { workspace = true }
codspeed-criterion-compat = { workspace = true }
swc_ecma_ast = { version = "5.0.0", path = "../swc_ecma_ast", features = [
"serde-impl",
] }
swc_ecma_lints = { version = "6.0.0", path = "../swc_ecma_lints", features = [
"non_critical_lints",
] }
swc_ecma_testing = { version = "5.0.0", path = "../swc_ecma_testing" }
swc_malloc = { version = "1.0.0", path = "../swc_malloc" }
testing = { version = "5.0.0", path = "../testing" }
[[example]]
name = "transform"
[[bench]]
harness = false
name = "bugs"
[[bench]]
harness = false
name = "minify"
[[bench]]
harness = false
name = "oxc"
[[bench]]
harness = false
name = "typescript"
[[bench]]
harness = false
name = "isolated_declarations"