[package]
name                   = "oxc_resolver"
version                = "0.3.0"
readme                 = "README.md"
authors.workspace      = true
edition.workspace      = true
homepage.workspace     = true
license.workspace      = true
repository.workspace   = true
rust-version.workspace = true
description            = "ESM / CJS module resolution"
keywords               = ["node", "resolve", "cjs", "esm", "enhanced-resolve"]
categories             = ["development-tools"]

[lib]
doctest = false

[[example]]
name = "resolver"

[dependencies]
tracing = { workspace = true }
dashmap = { workspace = true }
serde = { workspace = true, features = ["derive"] } # derive for Deserialize from package.json
serde_json = { workspace = true, features = [
  "preserve_order",
] } # preserve_order: package_json.exports requires order such as `["require", "import", "default"]`
rustc-hash = { workspace = true }
indexmap = { workspace = true, features = ["serde"] } # serde for Deserialize from package.json
dunce = "1.0.4" # Normalize Windows paths to the most compatible format, avoiding UNC where possible
once_cell = "1.18.0" # Use `std::sync::OnceLock::get_or_try_init` when it is stable.
thiserror = { workspace = true }
tracing-subscriber = { workspace = true, optional = true, features = ["env-filter"] }

[dev-dependencies]
vfs = "0.9.0" # for testing with in memory file system

[features]
tracing-subscriber = ["dep:tracing-subscriber"]
