[package]
name = "oxc"
version = "0.44.0"
authors.workspace = true
categories.workspace = true
edition.workspace = true
homepage.workspace = true
include = ["/src"]
keywords.workspace = true
license.workspace = true
publish = true
repository.workspace = true
rust-version.workspace = true
description.workspace = true

[lints]
workspace = true

[lib]
test = false
doctest = false

[[example]]
name = "compiler"
path = "examples/compiler.rs"
required-features = ["full"]

[dependencies]
oxc_allocator = { workspace = true }
oxc_ast = { workspace = true }
oxc_parser = { workspace = true }
oxc_regular_expression = { workspace = true }

oxc_cfg = { workspace = true, optional = true }
oxc_codegen = { workspace = true, optional = true }
oxc_diagnostics = { workspace = true }
oxc_isolated_declarations = { workspace = true, optional = true }
oxc_mangler = { workspace = true, optional = true }
oxc_minifier = { workspace = true, optional = true }
oxc_semantic = { workspace = true, optional = true }
oxc_span = { workspace = true }
oxc_syntax = { workspace = true }
oxc_transformer = { workspace = true, optional = true }

[features]
full = [
  "codegen",
  "mangler",
  "minifier",
  "semantic",
  "transformer",
  "isolated_declarations",
  "cfg",
]

semantic = ["oxc_semantic"]
transformer = ["oxc_transformer"]
minifier = ["oxc_mangler", "oxc_minifier"]
codegen = ["oxc_codegen"]
mangler = ["oxc_mangler"]
cfg = ["oxc_cfg"]
isolated_declarations = ["oxc_isolated_declarations"]

serialize = [
  "oxc_ast/serialize",
  "oxc_semantic?/serialize",
  "oxc_span/serialize",
  "oxc_syntax/serialize",
]

wasm = ["oxc_transformer/wasm"]

[package.metadata.docs.rs]
all-features = true
