[build-dependencies.vergen]
default-features = false
features = ["cargo"]
version = "9.0.0"

[dependencies.binding_macros]
optional = true
version = "5.0.0"

[dependencies.once_cell]
optional = true
version = "1.19.0"

[dependencies.swc]
optional = true
version = "5.0.2"

[dependencies.swc_allocator]
default-features = false
version = "1.0.0"

[dependencies.swc_atoms]
optional = true
version = "2.0.0"

[dependencies.swc_bundler]
optional = true
version = "5.0.0"

[dependencies.swc_cached]
optional = true
version = "1.0.0"

[dependencies.swc_common]
optional = true
version = "4.0.0"

[dependencies.swc_css_ast]
optional = true
version = "4.0.1"

[dependencies.swc_css_codegen]
optional = true
version = "4.0.0"

[dependencies.swc_css_compat]
optional = true
version = "4.0.0"

[dependencies.swc_css_minifier]
optional = true
version = "4.0.0"

[dependencies.swc_css_modules]
optional = true
version = "4.0.0"

[dependencies.swc_css_parser]
optional = true
version = "4.0.0"

[dependencies.swc_css_prefixer]
optional = true
version = "4.0.0"

[dependencies.swc_css_utils]
optional = true
version = "4.0.0"

[dependencies.swc_css_visit]
optional = true
version = "4.0.0"

[dependencies.swc_ecma_ast]
optional = true
version = "4.0.1"

[dependencies.swc_ecma_codegen]
optional = true
version = "4.0.2"

[dependencies.swc_ecma_lints]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_loader]
optional = true
version = "4.0.0"

[dependencies.swc_ecma_minifier]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_parser]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_preset_env]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_quote_macros]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_transforms_base]
optional = true
version = "5.0.1"

[dependencies.swc_ecma_transforms_compat]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_transforms_module]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_transforms_optimization]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_transforms_proposal]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_transforms_react]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_transforms_testing]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_transforms_typescript]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_usage_analyzer]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_utils]
optional = true
version = "5.0.0"

[dependencies.swc_ecma_visit]
optional = true
version = "4.0.0"

[dependencies.swc_malloc]
optional = true
version = "1.0.0"

[dependencies.swc_node_bundler]
optional = true
version = "5.0.0"

[dependencies.swc_nodejs_common]
optional = true
version = "1.0.0"

[dependencies.swc_plugin]
optional = true
version = "1.0.0"

[dependencies.swc_plugin_macro]
optional = true
version = "1.0.0"

[dependencies.swc_plugin_proxy]
optional = true
version = "4.0.0"

[dependencies.swc_plugin_runner]
default-features = false
optional = true
version = "4.0.0"

[dependencies.swc_trace_macro]
optional = true
version = "2.0.0"

[dependencies.swc_transform_common]
optional = true
version = "1.0.0"

[dependencies.swc_typescript]
optional = true
version = "4.0.0"

[dependencies.testing]
optional = true
version = "4.0.0"

[dev-dependencies.anyhow]
version = "1.0.81"

[dev-dependencies.testing]
version = "4.0.0"

[features]
__base = ["swc"]
__binding_macros = ["__ecma", "common", "__base", "__ecma_transforms", "ecma_ast", "binding_macros"]
__bundler = ["swc_bundler"]
__cached = ["swc_cached"]
__common = ["swc_common"]
__common_plugin_transform = ["ecma_visit", "__common", "swc_atoms/rkyv-impl", "swc_plugin_macro", "once_cell", "swc_plugin"]
__css = []
__css_plugin_transform = ["swc_common/plugin-mode", "swc_plugin_proxy/plugin-mode", "__common_plugin_transform", "css_visit", "css_ast", "swc_css_ast/rkyv-impl"]
__ecma = ["swc_ecma_transforms_base"]
__ecma_lints = ["swc_ecma_lints"]
__ecma_loader = ["__ecma", "swc_ecma_loader"]
__ecma_plugin_transform = ["swc_common/plugin-mode", "swc_plugin_proxy/plugin-mode", "__common_plugin_transform", "ecma_visit", "ecma_ast", "swc_ecma_ast/rkyv-impl"]
__ecma_transforms = ["__ecma"]
__parser = ["__ecma", "swc_ecma_parser"]
__plugin_transform_env_js = ["swc/plugin_transform_host_js", "swc_plugin_runner/plugin_transform_host_js"]
__plugin_transform_env_native = ["swc/plugin_transform_host_native", "swc_plugin_runner/plugin_transform_host_native"]
__plugin_transform_host = ["__common", "swc_ecma_ast/rkyv-impl", "swc_atoms/rkyv-impl", "swc_common/plugin-rt", "swc_plugin_runner/rkyv-impl", "swc_plugin_proxy/plugin-rt", "swc/plugin"]
__plugin_transform_host_schema_v1 = ["__plugin_transform_schema_v1", "swc/plugin_transform_schema_v1", "swc_plugin_runner/plugin_transform_schema_v1"]
__plugin_transform_host_schema_vtest = ["__plugin_transform_schema_vtest", "swc/plugin_transform_schema_vtest", "swc_plugin_runner/plugin_transform_schema_vtest"]
__plugin_transform_schema_test = ["__common_plugin_transform", "__plugin_transform_schema_vtest"]
__plugin_transform_schema_v1 = ["swc_common/plugin_transform_schema_v1"]
__plugin_transform_schema_vtest = ["swc_common/plugin_transform_schema_vtest"]
__testing_transform = ["__ecma", "swc_ecma_transforms_testing"]
__utils = ["__ecma", "swc_ecma_utils"]
__visit = ["__ecma", "swc_ecma_visit"]
allocator_node = ["swc_malloc"]
base = ["__base"]
base_concurrent = ["__base", "swc/concurrent"]
base_node = ["__base", "swc/node", "swc_nodejs_common"]
binding_macro_native = ["__binding_macros", "binding_macros/binding_native"]
binding_macro_wasm = ["__binding_macros", "binding_macros/binding_wasm"]
bundler = ["__bundler"]
bundler_concurrent = ["swc_bundler/concurrent"]
bundler_node_v1 = ["__bundler", "swc_node_bundler/swc_v1"]
bundler_node_v2 = ["__bundler", "swc_node_bundler/swc_v2"]
cached = ["__cached"]
common = ["__common"]
common_ahash = ["swc_common/ahash"]
common_concurrent = ["__common", "swc_common/concurrent"]
common_plugin_transform = ["__common_plugin_transform", "__plugin_transform_schema_v1", "__testing_transform"]
common_sourcemap = ["__common", "swc_common/sourcemap"]
common_tty = ["__common", "swc_common/tty-emitter"]
css_ast = ["__css", "swc_css_ast"]
css_ast_serde = ["css_ast", "swc_css_ast/serde-impl"]
css_codegen = ["__css", "swc_css_codegen"]
css_compat = ["__css", "swc_css_compat"]
css_minifier = ["__css", "swc_css_minifier"]
css_modules = ["__css", "swc_css_modules"]
css_parser = ["__css", "swc_css_parser"]
css_plugin_transform = ["common_plugin_transform", "__css_plugin_transform"]
css_prefixer = ["__css", "swc_css_prefixer"]
css_utils = ["__css", "swc_css_utils"]
css_visit = ["__css", "swc_css_visit"]
css_visit_path = ["__css", "swc_css_visit/path"]
ecma_ast = ["__ecma", "swc_ecma_ast", "swc_atoms"]
ecma_ast_serde = ["ecma_ast", "swc_ecma_ast/serde-impl", "swc_ecma_visit/serde"]
ecma_codegen = ["__ecma", "swc_ecma_codegen"]
ecma_lints = ["__ecma_lints", "__common"]
ecma_loader = ["__ecma_loader"]
ecma_loader_lru = ["swc_ecma_loader/lru"]
ecma_loader_node = ["__ecma_loader", "swc_ecma_loader/node"]
ecma_loader_parking_lot = ["swc_ecma_loader/parking_lot"]
ecma_loader_tsc = ["__ecma_loader", "swc_ecma_loader/tsc"]
ecma_minifier = ["__ecma", "swc_ecma_minifier"]
ecma_minifier_concurrent = ["swc_ecma_minifier/concurrent"]
ecma_parser = ["__parser"]
ecma_parser_typescript = ["__parser", "swc_ecma_parser/typescript"]
ecma_plugin_transform = ["common_plugin_transform", "__ecma_plugin_transform"]
ecma_preset_env = ["__ecma", "swc_ecma_preset_env"]
ecma_quote = ["__common", "ecma_ast", "swc_ecma_quote_macros"]
ecma_transforms = ["__ecma_transforms"]
ecma_transforms_compat = ["__ecma_transforms", "swc_ecma_transforms_compat"]
ecma_transforms_module = ["__ecma_transforms", "swc_ecma_transforms_module"]
ecma_transforms_optimization = ["__ecma_transforms", "swc_ecma_transforms_optimization"]
ecma_transforms_proposal = ["__ecma_transforms", "swc_ecma_transforms_proposal"]
ecma_transforms_react = ["__ecma_transforms", "swc_ecma_transforms_react"]
ecma_transforms_typescript = ["__ecma_transforms", "swc_ecma_transforms_typescript"]
ecma_usage_analyzer = ["__ecma", "swc_ecma_usage_analyzer"]
ecma_utils = ["__utils", "__common"]
ecma_visit = ["__visit"]
ecma_visit_path = ["__visit", "swc_ecma_visit/path"]
plugin_transform_host_js = ["__plugin_transform_host", "__plugin_transform_host_schema_v1", "__plugin_transform_env_js"]
plugin_transform_host_native = ["__plugin_transform_host", "__plugin_transform_host_schema_v1", "__plugin_transform_env_native"]
plugin_transform_host_native_filesystem_cache = ["swc_plugin_runner/filesystem_cache"]
plugin_transform_host_native_shared_runtime = ["swc_plugin_runner/plugin_transform_host_native_shared_runtime"]
scoped-alloc = ["swc_allocator/scoped"]
stacker = ["swc_ecma_parser/stacker", "swc_ecma_utils/stacker"]
testing = ["dep:testing"]
testing_transform = ["__ecma", "__testing_transform"]
trace_macro = ["swc_trace_macro"]
transform_common = []
typescript = ["swc_typescript"]

[lib]
bench = false
doctest = false
name = "swc_core"
path = "src/lib.rs"

[package]
authors = ["강동윤 <kdy1997.dev@gmail.com>", "OJ Kwon <kwon.ohjoong@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
description = "TBD"
documentation = "https://rustdoc.swc.rs/swc_core/"
edition = "2021"
license = "Apache-2.0"
name = "swc_core"
readme = "README.md"
repository = "https://github.com/swc-project/swc.git"
version = "5.0.4"

[package.metadata.docs.rs]
features = ["allocator_node", "base", "base_node", "common", "ecma_visit", "quote", "utils", "ecma_transforms", "bundler", "ecma_loader", "ecma_ast", "trace_macro", "transform_common", "plugin_transform"]
rustdoc-args = ["--cfg", "docsrs"]

[[test]]
name = "integration"
path = "tests/integration.rs"

[[test]]
name = "quote"
path = "tests/quote.rs"