[package]
name = "fob-graph"
version.workspace = true
authors.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
description = "Fob graph - Pure graph data structures for module dependency graphs"

[dependencies]
# Code generation and AST utilities
fob-gen = { path = "../fob-gen", version = "0.4.2", features = ["parser", "query-api", "fob_internal"] }

# Core dependencies (all WASM-compatible)
thiserror.workspace = true
serde = { workspace = true, features = ["derive"] }
async-trait.workspace = true
path-clean.workspace = true
rustc-hash.workspace = true
serde_json.workspace = true
regex.workspace = true
memchr.workspace = true
dashmap.workspace = true
bincode = { version = "2.0.1", features = ["serde"] }

# OXC ecosystem - re-exported for upstream consumers
oxc_parser.workspace = true
oxc_ast.workspace = true
oxc_ast_visit.workspace = true
oxc_allocator.workspace = true
oxc_span.workspace = true
oxc_semantic.workspace = true
oxc_codegen.workspace = true
oxc_minifier.workspace = true
oxc_transformer.workspace = true
oxc_traverse.workspace = true
oxc_isolated_declarations.workspace = true
parking_lot.workspace = true

# Platform-specific dependencies for native runtime
[target.'cfg(not(target_family = "wasm"))'.dependencies]
tokio = { workspace = true, features = ["rt", "fs"] }

[features]
default = []
proptest = []
bundler = []
test-utils = []

[dev-dependencies]
tempfile.workspace = true
proptest = "1.5"

# Platform-specific dev dependencies for native tests
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies]
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }

# Lints - inherit workspace configuration
[lints]
workspace = true

