[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 = "0.282.3"
[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",
]
[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 = "0.6.5", path = "../swc_atoms" }
swc_cached = { version = "0.3.19", path = "../swc_cached" }
swc_common = { version = "0.36.0", path = "../swc_common", features = [
"ahash",
"sourcemap",
"parking_lot",
] }
swc_compiler_base = { version = "0.15.0", path = "../swc_compiler_base" }
swc_config = { version = "0.1.13", path = "../swc_config" }
swc_ecma_ast = { version = "0.117.0", path = "../swc_ecma_ast" }
swc_ecma_codegen = { version = "0.154.0", path = "../swc_ecma_codegen" }
swc_ecma_ext_transforms = { version = "0.119.0", path = "../swc_ecma_ext_transforms" }
swc_ecma_lints = { version = "0.98.0", path = "../swc_ecma_lints" }
swc_ecma_loader = { version = "0.48.0", path = "../swc_ecma_loader", features = [
"cache",
"node",
"tsc",
] }
swc_ecma_minifier = { version = "0.200.0", path = "../swc_ecma_minifier" }
swc_ecma_parser = { version = "0.148.0", path = "../swc_ecma_parser" }
swc_ecma_preset_env = { version = "0.213.0", path = "../swc_ecma_preset_env" }
swc_ecma_transforms = { version = "0.235.0", path = "../swc_ecma_transforms", features = [
"compat",
"module",
"optimization",
"proposal",
"react",
"typescript",
] }
swc_ecma_transforms_base = { version = "0.143.0", path = "../swc_ecma_transforms_base" }
swc_ecma_transforms_compat = { version = "0.169.0", path = "../swc_ecma_transforms_compat" }
swc_ecma_transforms_optimization = { version = "0.204.0", path = "../swc_ecma_transforms_optimization" }
swc_ecma_utils = { version = "0.133.0", path = "../swc_ecma_utils" }
swc_ecma_visit = { version = "0.103.0", path = "../swc_ecma_visit" }
swc_error_reporters = { version = "0.20.0", path = "../swc_error_reporters" }
swc_node_comments = { version = "0.23.0", path = "../swc_node_comments" }
swc_plugin_proxy = { version = "0.46.0", path = "../swc_plugin_proxy", optional = true }
swc_plugin_runner = { version = "0.111.0", path = "../swc_plugin_runner", optional = true, default-features = false }
swc_timer = { version = "0.24.0", path = "../swc_timer" }
swc_transform_common = { version = "0.1.1", path = "../swc_transform_common" }
swc_typescript = { version = "0.4.0", path = "../swc_typescript" }
swc_visit = { version = "0.6.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 = "0.117.0", path = "../swc_ecma_ast", features = [
"serde-impl",
] }
swc_ecma_lints = { version = "0.98.0", path = "../swc_ecma_lints", features = [
"non_critical_lints",
] }
swc_ecma_testing = { version = "0.25.0", path = "../swc_ecma_testing" }
swc_malloc = { version = "0.5.10", path = "../swc_malloc" }
testing = { version = "0.38.0", path = "../testing" }
[[example]]
name = "transform"
[[bench]]
harness = false
name = "bugs"
[[bench]]
harness = false
name = "minify"
[[bench]]
harness = false
name = "typescript"