

[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.109.0"

[lib]
name = "swc"

[features]
default = ["es3"]
# You can disable this feature to reduce binary size.
es3 = []
# See https://github.com/swc-project/swc/issues/1108
#
# If this option is enabled, es2015 transforms are enabled if target is es2015.
# If this option is disabled, es2015 transforms are disabled if target is es2015.
#
# This feature will be removed on v2 of node bindings.
wrong-target = []

concurrent = [
  "swc_ecma_utils/concurrent",
  "swc_ecma_transforms_base/concurrent",
  "swc_ecma_transforms_compat/concurrent",
  "swc_ecma_transforms_optimization/concurrent",
]
debug = ["swc_ecma_visit/debug"]
node = ["napi", "napi-derive"]
plugin = [
  "swc_plugin_runner",
]

[dependencies]
ahash = "0.7.4"
anyhow = "1"
base64 = "0.13.0"
dashmap = "4.0.2"
either = "1"
indexmap = {version = "1", features = ["serde"]}
lru = "0.7.1"
once_cell = "1"
pathdiff = "0.2.0"
regex = "1"
serde = {version = "1", features = ["derive"]}
serde_json = "1"
sourcemap = "6"
swc_atoms = {version = "0.2", path = "../swc_atoms"}
swc_common = {version = "0.16.0", path = "../swc_common", features = ["sourcemap", "concurrent"]}
swc_ecma_ast = {version = "0.63.0", path = "../swc_ecma_ast"}
swc_ecma_codegen = {version = "0.87.0", path = "../swc_ecma_codegen"}
swc_ecma_ext_transforms = {version = "0.46.0", path = "../swc_ecma_ext_transforms"}
swc_ecma_lints = {version = "0.5.0", path = "../swc_ecma_lints"}
swc_ecma_loader = {version = "0.26.0", path = "../swc_ecma_loader", features = ["lru", "node", "tsc"]}
swc_ecma_minifier = {version = "0.64.3", path = "../swc_ecma_minifier"}
swc_ecma_parser = {version = "0.85.0", path = "../swc_ecma_parser"}
swc_ecma_preset_env = {version = "0.80.0", path = "../swc_ecma_preset_env"}
swc_ecma_transforms = {version = "0.107.2", path = "../swc_ecma_transforms", features = [
  "compat",
  "module",
  "optimization",
  "proposal",
  "react",
  "typescript",
]}
swc_ecma_transforms_base = {version = "0.53.2", path = "../swc_ecma_transforms_base"}
swc_ecma_transforms_compat = {version = "0.63.1", path = "../swc_ecma_transforms_compat"}
swc_ecma_transforms_optimization = {version = "0.77.0", path = "../swc_ecma_transforms_optimization"}
swc_ecma_utils = {version = "0.60.0", path = "../swc_ecma_utils"}
swc_ecma_visit = {version = "0.49.0", path = "../swc_ecma_visit"}
swc_ecmascript = {version = "0.104.2", path = "../swc_ecmascript"}
swc_node_comments = {version = "0.3.0", path = "../swc_node_comments"}
swc_plugin_runner = {version = "0.28.0", path = "../swc_plugin_runner", optional = true}
swc_visit = {version = "0.3.0", path = "../swc_visit"}
tracing = "0.1.28"

[dependencies.napi-derive]
default-features = false
features = ["type-def"]
optional = true
version = "2.0.0"

[dependencies.napi]
default-features = false
features = ["napi3"]
optional = true
version = "2.0.0"

[dev-dependencies]
rayon = "1"
swc_node_base = {version = "0.5.0", path = "../swc_node_base"}
testing = {version = "0.17.0", path = "../testing"}
walkdir = "2"

[[example]]
name = "usage"
