swc_common 0.28.10

Common utilities for the swc project.
[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.28.10"

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

[lib]
bench = false

[features]
__plugin         = []
__plugin_mode    = []
__plugin_rt      = []
concurrent       = ["parking_lot"]
debug            = []
default          = []
diagnostic-serde = []
perf             = ["parking_lot"]
plugin-base      = ["__plugin", "anyhow", "rkyv-impl", "diagnostic-serde"]
plugin-mode      = ["__plugin_mode", "plugin-base"]
plugin-rt        = ["__plugin_rt", "plugin-base"]

plugin-bytecheck-base = [
  "__plugin",
  "anyhow",
  "rkyv-bytecheck-impl",
  "diagnostic-serde",
]
plugin-bytecheck-mode = ["__plugin_mode", "plugin-bytecheck-base"]
plugin-bytecheck-rt = ["__plugin_rt", "plugin-bytecheck-base"]

plugin_transform_schema_v1    = []
plugin_transform_schema_vtest = []

tty-emitter = ["atty", "termcolor"]

__rkyv = []
# Enably rkyv serialization with stable version of rkyv.
rkyv-impl = ["__rkyv", "rkyv", "swc_atoms/rkyv-impl"]
# Enable rkyv serialization with updated version of rkyv, along with bytecheck.
rkyv-bytecheck-impl = ["__rkyv", "rkyv-latest", "swc_atoms/rkyv-bytecheck-impl"]

[dependencies]
ahash             = "0.7.4"
anyhow            = { version = "1.0.45", optional = true }
arbitrary         = { version = "1", optional = true, features = ["derive"] }
ast_node          = { version = "0.8.6", path = "../ast_node" }
atty              = { version = "0.2", optional = true }
better_scoped_tls = { version = "0.1.0", path = "../better_scoped_tls" }
bytecheck         = { version = "0.6.9", optional = true }
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 }
# This is to avoid cargo version selection conflict between rkyv=0.7.37 and other versions, as it is strictly pinned
# cannot be merged.
rkyv-latest          = { package = "rkyv-test", version = "=0.7.38-test.2", 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_atoms            = { version = "0.4.17", path = "../swc_atoms" }
swc_eq_ignore_macros = { version = "0.1.1", path = "../swc_eq_ignore_macros" }
swc_visit            = { version = "0.5.2", 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"