[package] authors = ["강동윤 "] 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.29.37" [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" either = "1.5" from_variant = { version = "0.1.3", path = "../from_variant" } new_debug_unreachable = "1.0.4" 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.7" swc_atoms = { version = "0.4.39", path = "../swc_atoms" } swc_eq_ignore_macros = { version = "0.1.1", path = "../swc_eq_ignore_macros" } swc_visit = { version = "0.5.4", 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"