[package]
authors = ["강동윤 <kdy1997.dev@gmail.com>"]
# OUT_DIR is required for testing
build         = "build.rs"
description   = "Very fast ecmascript bundler"
documentation = "https://rustdoc.swc.rs/swc_bundler/"
edition       = { workspace = true }
include       = ["Cargo.toml", "build.rs", "src/**/*.rs", "src/**/*.js"]
license       = { workspace = true }
name          = "swc_bundler"
repository    = { workspace = true }
version       = "49.0.0"

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

[lib]
bench = false

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(swc_ast_unknown)'] }

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
concurrent = ["swc_common/concurrent", "dashmap", "rayon", "indexmap/rayon"]
default    = []

[dependencies]
anyhow        = { workspace = true }
crc           = { workspace = true }
dashmap       = { workspace = true, optional = true }
indexmap      = { workspace = true }
is-macro      = { workspace = true }
once_cell     = { workspace = true }
petgraph      = { workspace = true }
radix_fmt     = { workspace = true }
rayon         = { workspace = true, optional = true }
relative-path = { workspace = true }
rustc-hash    = { workspace = true }
tracing       = { workspace = true }

swc_atoms = { version = "9.0.1", path = "../swc_atoms" }
swc_common = { version = "21.0.2", path = "../swc_common" }
swc_ecma_ast = { version = "23.0.1", path = "../swc_ecma_ast" }
swc_ecma_codegen = { version = "26.0.1", path = "../swc_ecma_codegen" }
swc_ecma_loader = { version = "22.0.0", path = "../swc_ecma_loader" }
swc_ecma_parser = { version = "39.1.0", path = "../swc_ecma_parser", default-features = false, features = [
  "typescript",
] }
swc_ecma_transforms_base = { version = "42.0.1", path = "../swc_ecma_transforms_base" }
swc_ecma_transforms_optimization = { version = "45.0.0", path = "../swc_ecma_transforms_optimization" }
swc_ecma_utils = { version = "29.1.1", path = "../swc_ecma_utils" }
swc_ecma_visit = { version = "23.0.0", path = "../swc_ecma_visit" }
swc_graph_analyzer = { version = "14.0.1", path = "../swc_graph_analyzer/" }

[dev-dependencies]
hex        = { workspace = true }
ntest      = { workspace = true }
par-core   = { workspace = true, features = ["chili"] }
path-clean = "1.0.1"
reqwest    = { workspace = true, features = ["blocking"] }
sha1       = { workspace = true }
tempfile   = { workspace = true }

swc_ecma_loader = { version = "22.0.0", path = "../swc_ecma_loader", features = [
  "node",
  "cache",
] }
swc_ecma_minifier = { version = "53.0.0", path = "../swc_ecma_minifier", features = [
  "concurrent",
] }
swc_ecma_transforms_base = { version = "42.0.1", path = "../swc_ecma_transforms_base", features = [
  "inline-helpers",
] }
swc_ecma_transforms_proposal = { version = "42.0.0", path = "../swc_ecma_transforms_proposal" }
swc_ecma_transforms_react = { version = "47.0.0", path = "../swc_ecma_transforms_react" }
swc_ecma_transforms_typescript = { version = "47.0.0", path = "../swc_ecma_transforms_typescript" }
swc_malloc = { version = "1.2.5", path = "../swc_malloc" }
testing = { version = "22.0.0", path = "../testing" }
