[package] authors.workspace = true edition.workspace = true license.workspace = true name = "ncl-sync" repository.workspace = true version.workspace = true description = "Nickel configuration sync daemon — compiles NCL to JSON, keeps cache fresh for Nu processes" [[bin]] name = "provisioning-ncl-sync" path = "src/main.rs" [features] default = ["nats"] nats = ["dep:platform-nats", "dep:async-nats", "dep:bytes"] [dependencies] tokio = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } anyhow = { workspace = true } thiserror = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true } clap = { workspace = true } notify = { workspace = true } sha2 = { workspace = true } walkdir = { workspace = true } dirs = { workspace = true } futures = { workspace = true } platform-config = { workspace = true } # NATS subscriber (optional — enables event-driven cache invalidation) platform-nats = { workspace = true, optional = true } async-nats = { workspace = true, optional = true } bytes = { workspace = true, optional = true }