[package]
authors = ["강동윤 <kdy1997.dev@gmail.com>"]
description = "Common utilities for the swc project."
documentation = "https://rustdoc.swc.rs/swc_common/"
edition = "2021"
license = "Apache-2.0"
name = "swc_common"
repository = "https://github.com/swc-project/swc.git"
version = "0.17.25"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[lib]
bench = false

[features]
concurrent = ["parking_lot"]
debug = []
default = []
diagnostic-serde = []
perf = ["parking_lot"]
plugin-base = ["anyhow", "rkyv-impl", "diagnostic-serde"]
plugin-mode = ["plugin-base"]
plugin-rt = ["plugin-base"]
rkyv-impl = ["rkyv"]
tty-emitter = ["atty", "termcolor"]

[dependencies]
ahash = "0.7.4"
anyhow = {version = "1.0.45", optional = true}
arbitrary = {version = "1", optional = true, features = ["derive"]}
ast_node = {version = "0.7.5", path = "../ast_node"}
atty = {version = "0.2", optional = true}
better_scoped_tls = {version = "0.1.0", path = "../better_scoped_tls"}
cfg-if = "1.0.0"
debug_unreachable = "0.1.1"
either = "1.5"
from_variant = {version = "0.1.3", path = "../from_variant"}
num-bigint = "0.4"
once_cell = "1.10.0"
parking_lot = {version = "0.12.0", optional = true}
rkyv = { version = "0.7.37", optional = true }
rustc-hash = "1.1.0"
serde = {version = "1.0.119", features = ["derive"]}
siphasher = "0.3.9"
sourcemap = {version = "6", optional = true}
string_cache = "0.8.4"
swc_eq_ignore_macros = {version = "0.1", path = "../swc_eq_ignore_macros"}
swc_visit = {version = "0.3.0", path = "../swc_visit"}
termcolor = {version = "1.0", optional = true}
tracing = "0.1.32"
unicode-width = "0.1.4"
url = "2.2.2"

[dev-dependencies]
criterion = "0.3"
rayon = "1"
serde_json = "1"

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