[package]
authors = ["강동윤 <kdy1997.dev@gmail.com>", "OJ Kwon <kwon.ohjoong@gmail.com>"]
description = "TBD"
documentation = "https://rustdoc.swc.rs/swc_core/"
edition = "2021"
license = "Apache-2.0"
name = "swc_core"
repository = "https://github.com/swc-project/swc.git"
version = "0.99.6"
[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"]
[lib]
bench = false
doctest = false
[features]
scoped-alloc = ["swc_allocator/scoped"]
common_ahash = ["swc_common/ahash"]
transform_common = []
ecma_loader_lru = ["swc_ecma_loader/lru"]
ecma_loader_parking_lot = ["swc_ecma_loader/parking_lot"]
ecma_minifier_concurrent = ["swc_ecma_minifier/concurrent"]
bundler_concurrent = ["swc_bundler/concurrent"]
allocator_node = ["swc_malloc"]
base = ["__base"]
base_concurrent = ["__base", "swc/concurrent"]
base_node = [
"__base",
"swc/node",
"swc_nodejs_common",
]
common = ["__common"]
common_sourcemap = ["__common", "swc_common/sourcemap"]
common_concurrent = ["__common", "swc_common/concurrent"]
common_tty = ["__common", "swc_common/tty-emitter"]
ecma_visit = ["__visit"]
ecma_visit_path = ["__visit", "swc_ecma_visit/path"]
ecma_quote = [
"__common",
"ecma_ast",
"swc_ecma_quote_macros",
]
ecma_utils = ["__utils", "__common"]
ecma_lints = ["__ecma_lints", "__common"]
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",
]
bundler = ["__bundler"]
bundler_node_v1 = ["__bundler", "swc_node_bundler/swc_v1"]
bundler_node_v2 = ["__bundler", "swc_node_bundler/swc_v2"]
ecma_loader = ["__ecma_loader"]
ecma_loader_node = ["__ecma_loader", "swc_ecma_loader/node"]
ecma_loader_tsc = ["__ecma_loader", "swc_ecma_loader/tsc"]
testing_transform = ["__ecma", "__testing_transform"]
ecma_ast = ["__ecma", "swc_ecma_ast", "swc_atoms"]
ecma_ast_serde = ["ecma_ast", "swc_ecma_ast/serde-impl", "swc_ecma_visit/serde"]
ecma_parser = ["__parser"]
ecma_parser_typescript = ["__parser", "swc_ecma_parser/typescript"]
cached = ["__cached"]
ecma_codegen = ["__ecma", "swc_ecma_codegen"]
ecma_minifier = ["__ecma", "swc_ecma_minifier"]
ecma_preset_env = ["__ecma", "swc_ecma_preset_env"]
ecma_usage_analyzer = ["__ecma", "swc_ecma_usage_analyzer"]
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_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"]
testing = ["dep:testing"]
trace_macro = ["swc_trace_macro"]
binding_macro_native = ["__binding_macros", "binding_macros/binding_native"]
binding_macro_wasm = ["__binding_macros", "binding_macros/binding_wasm"]
common_plugin_transform = [
"__common_plugin_transform",
"__plugin_transform_schema_v1",
"__testing_transform",
]
css_plugin_transform = ["common_plugin_transform", "__css_plugin_transform"]
ecma_plugin_transform = ["common_plugin_transform", "__ecma_plugin_transform"]
stacker = ["swc_ecma_parser/stacker", "swc_ecma_utils/stacker"]
typescript = ["swc_typescript"]
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",
]
__plugin_transform_host_schema_v1 = [
"__plugin_transform_schema_v1",
"swc/plugin_transform_schema_v1",
"swc_plugin_runner/plugin_transform_schema_v1",
]
__plugin_transform_schema_v1 = ["swc_common/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_vtest = ["swc_common/plugin_transform_schema_vtest"]
__common_plugin_transform = [
"ecma_visit",
"__common",
"swc_atoms/rkyv-impl",
"swc_plugin_macro",
"once_cell",
"swc_plugin",
]
__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_plugin_transform = [
"swc_common/plugin-mode",
"swc_plugin_proxy/plugin-mode",
"__common_plugin_transform",
"ecma_visit",
"ecma_ast",
"swc_ecma_ast/rkyv-impl",
]
__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_env_native = [
"swc/plugin_transform_host_native",
"swc_plugin_runner/plugin_transform_host_native",
]
__plugin_transform_env_js = [
"swc/plugin_transform_host_js",
"swc_plugin_runner/plugin_transform_host_js",
]
__plugin_transform_schema_test = [
"__common_plugin_transform",
"__plugin_transform_schema_vtest",
]
__base = ["swc"]
__binding_macros = [
"__ecma",
"common",
"__base",
"__ecma_transforms",
"ecma_ast",
"binding_macros",
]
__bundler = ["swc_bundler"]
__cached = ["swc_cached"]
__common = ["swc_common"]
__css = []
__ecma = ["swc_ecma_transforms_base"]
__ecma_lints = ["swc_ecma_lints"]
__ecma_loader = ["__ecma", "swc_ecma_loader"]
__ecma_transforms = ["__ecma"]
__parser = ["__ecma", "swc_ecma_parser"]
__testing_transform = ["__ecma", "swc_ecma_transforms_testing"]
__utils = ["__ecma", "swc_ecma_utils"]
__visit = ["__ecma", "swc_ecma_visit"]
[dependencies]
once_cell = { workspace = true, optional = true }
binding_macros = { optional = true, version = "0.73.0", path = "../binding_macros" }
swc = { optional = true, version = "0.282.0", path = "../swc" }
swc_atoms = { optional = true, version = "0.6.5", path = "../swc_atoms" }
swc_bundler = { optional = true, version = "0.233.0", path = "../swc_bundler" }
swc_cached = { optional = true, version = "0.3.19", path = "../swc_cached" }
swc_common = { optional = true, version = "0.36.0", path = "../swc_common" }
swc_css_ast = { optional = true, version = "0.143.0", path = "../swc_css_ast" }
swc_css_codegen = { optional = true, version = "0.154.0", path = "../swc_css_codegen" }
swc_css_compat = { optional = true, version = "0.30.0", path = "../swc_css_compat" }
swc_css_minifier = { optional = true, version = "0.119.0", path = "../swc_css_minifier" }
swc_css_modules = { optional = true, version = "0.32.0", path = "../swc_css_modules" }
swc_css_parser = { optional = true, version = "0.153.0", path = "../swc_css_parser" }
swc_css_prefixer = { optional = true, version = "0.157.0", path = "../swc_css_prefixer" }
swc_css_utils = { optional = true, version = "0.140.0", path = "../swc_css_utils/" }
swc_css_visit = { optional = true, version = "0.142.0", path = "../swc_css_visit" }
swc_ecma_ast = { optional = true, version = "0.117.0", path = "../swc_ecma_ast" }
swc_ecma_codegen = { optional = true, version = "0.154.0", path = "../swc_ecma_codegen" }
swc_ecma_lints = { optional = true, version = "0.98.0", path = "../swc_ecma_lints" }
swc_ecma_loader = { optional = true, version = "0.48.0", path = "../swc_ecma_loader" }
swc_ecma_minifier = { optional = true, version = "0.200.0", path = "../swc_ecma_minifier" }
swc_ecma_parser = { optional = true, version = "0.148.0", path = "../swc_ecma_parser" }
swc_ecma_preset_env = { optional = true, version = "0.213.0", path = "../swc_ecma_preset_env" }
swc_ecma_quote_macros = { optional = true, version = "0.59.0", path = "../swc_ecma_quote_macros" }
swc_ecma_transforms_base = { optional = true, version = "0.143.0", path = "../swc_ecma_transforms_base" }
swc_ecma_transforms_compat = { optional = true, version = "0.169.0", path = "../swc_ecma_transforms_compat" }
swc_ecma_transforms_module = { optional = true, version = "0.186.0", path = "../swc_ecma_transforms_module" }
swc_ecma_transforms_optimization = { optional = true, version = "0.204.0", path = "../swc_ecma_transforms_optimization" }
swc_ecma_transforms_proposal = { optional = true, version = "0.177.0", path = "../swc_ecma_transforms_proposal" }
swc_ecma_transforms_react = { optional = true, version = "0.189.0", path = "../swc_ecma_transforms_react" }
swc_ecma_transforms_testing = { optional = true, version = "0.146.0", path = "../swc_ecma_transforms_testing" }
swc_ecma_transforms_typescript = { optional = true, version = "0.194.0", path = "../swc_ecma_transforms_typescript" }
swc_ecma_usage_analyzer = { optional = true, version = "0.29.0", path = "../swc_ecma_usage_analyzer" }
swc_ecma_utils = { optional = true, version = "0.133.0", path = "../swc_ecma_utils" }
swc_ecma_visit = { optional = true, version = "0.103.0", path = "../swc_ecma_visit" }
swc_malloc = { optional = true, version = "0.5.10", path = "../swc_malloc" }
swc_node_bundler = { optional = true, version = "0.71.0", path = "../swc_node_bundler" }
swc_nodejs_common = { optional = true, version = "0.0.8", path = "../swc_nodejs_common" }
swc_plugin = { optional = true, version = "0.90.0", path = "../swc_plugin" }
swc_plugin_macro = { optional = true, version = "0.9.16", path = "../swc_plugin_macro" }
swc_plugin_proxy = { optional = true, version = "0.46.0", path = "../swc_plugin_proxy" }
swc_trace_macro = { optional = true, version = "0.1.3", path = "../swc_trace_macro" }
swc_transform_common = { optional = true, version = "0.1.0", path = "../swc_transform_common" }
swc_typescript = { optional = true, version = "0.4.0", path = "../swc_typescript" }
testing = { optional = true, version = "0.38.0", path = "../testing" }
swc_allocator = { version = "0.1.2", path = "../swc_allocator", default-features = false }
swc_plugin_runner = { optional = true, version = "0.111.0", path = "../swc_plugin_runner", default-features = false }
[build-dependencies]
vergen = { workspace = true, features = ["cargo"] }
[dev-dependencies]
anyhow = { workspace = true }
testing = { version = "0.38.0", path = "../testing" }