# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.78"
name = "oxc"
version = "0.44.0"
authors = [
    "Boshen <boshenc@gmail.com>",
    "Oxc contributors",
]
build = false
include = ["/src"]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A collection of JavaScript tools written in Rust."
homepage = "https://oxc.rs"
readme = "README.md"
keywords = [
    "JavaScript",
    "TypeScript",
    "linter",
    "minifier",
    "parser",
]
categories = [
    "compilers",
    "development-tools",
    "web-programming",
]
license = "MIT"
repository = "https://github.com/oxc-project/oxc"

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

[lib]
name = "oxc"
path = "src/lib.rs"
test = false
doctest = false

[dependencies.oxc_allocator]
version = "0.44.0"

[dependencies.oxc_ast]
version = "0.44.0"

[dependencies.oxc_cfg]
version = "0.44.0"
optional = true

[dependencies.oxc_codegen]
version = "0.44.0"
optional = true

[dependencies.oxc_diagnostics]
version = "0.44.0"

[dependencies.oxc_isolated_declarations]
version = "0.44.0"
optional = true

[dependencies.oxc_mangler]
version = "0.44.0"
optional = true

[dependencies.oxc_minifier]
version = "0.44.0"
optional = true

[dependencies.oxc_parser]
version = "0.44.0"

[dependencies.oxc_regular_expression]
version = "0.44.0"

[dependencies.oxc_semantic]
version = "0.44.0"
optional = true

[dependencies.oxc_span]
version = "0.44.0"

[dependencies.oxc_syntax]
version = "0.44.0"

[dependencies.oxc_transformer]
version = "0.44.0"
optional = true

[features]
cfg = ["oxc_cfg"]
codegen = ["oxc_codegen"]
full = [
    "codegen",
    "mangler",
    "minifier",
    "semantic",
    "transformer",
    "isolated_declarations",
    "cfg",
]
isolated_declarations = ["oxc_isolated_declarations"]
mangler = ["oxc_mangler"]
minifier = [
    "oxc_mangler",
    "oxc_minifier",
]
semantic = ["oxc_semantic"]
serialize = [
    "oxc_ast/serialize",
    "oxc_semantic?/serialize",
    "oxc_span/serialize",
    "oxc_syntax/serialize",
]
transformer = ["oxc_transformer"]
wasm = ["oxc_transformer/wasm"]

[lints.clippy]
allow_attributes = "warn"
cargo_common_metadata = "allow"
clone_on_ref_ptr = "warn"
dbg_macro = "warn"
doc_lazy_continuation = "allow"
doc_markdown = "allow"
empty_drop = "warn"
empty_structs_with_brackets = "warn"
exit = "warn"
filetype_is_file = "warn"
get_unwrap = "warn"
impl_trait_in_params = "warn"
infinite_loop = "warn"
missing_const_for_fn = "allow"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
must_use_candidate = "allow"
print_stderr = "warn"
print_stdout = "warn"
rc_buffer = "warn"
rc_mutex = "warn"
rest_pat_in_fully_bound_structs = "warn"
self_named_module_files = "warn"
struct_excessive_bools = "allow"
todo = "warn"
too_many_lines = "allow"
undocumented_unsafe_blocks = "warn"
unimplemented = "warn"
unnecessary_safety_comment = "warn"
wildcard_imports = "allow"

[lints.clippy.all]
level = "warn"
priority = -1

[lints.clippy.cargo]
level = "warn"
priority = -1

[lints.clippy.empty_docs]
level = "allow"
priority = 1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.rust]
absolute_paths_not_starting_with_crate = "warn"
non_ascii_idents = "warn"
unit-bindings = "warn"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
    "cfg(coverage)",
    "cfg(coverage_nightly)",
]
