nova-driver 0.3.2

The Nova language's compilation pipeline (internal to the nova toolchain)
Documentation
[package]
name = "nova-driver"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "The Nova language's compilation pipeline (internal to the nova toolchain)"
readme = "../README.md"

[lib]
# Not a benchmark target: `cargo bench` would otherwise build this under
# libtest's harness, which rejects criterion's `--output-format`. The
# workspace's only benchmark is `nova-lexer/benches/lex.rs`.
bench = false

[dependencies]
nova-diagnostics = { workspace = true }
nova-ast = { workspace = true }
nova-lexer = { workspace = true }
nova-parser = { workspace = true }
nova-resolver = { workspace = true }
nova-typeck = { workspace = true }
nova-hir = { workspace = true }
nova-mir = { workspace = true }
nova-pm = { workspace = true }
nova-codegen-cranelift = { workspace = true }
nova-codegen-llvm = { workspace = true }
# Unpacking the runtime library nova-cli embeds (spec
# 2026-10-07-phase-3-0-foundations-design.md ยง4.2).
flate2 = { workspace = true }
crc32fast = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }

[dev-dependencies]
# Test-only: the async end-to-end probe drives a JIT-compiled future through
# the real executor and reads the task's output back, which needs the runtime's
# own entry points. `nova-runtime` is already in the graph (via
# `nova-codegen-cranelift`), so this declares no new build, only visibility --
# and it is the same crate instance, which matters because the executor's task
# table is a `thread_local!` shared with the JIT-compiled code.
nova-runtime = { path = "../nova-runtime" }

[target.'cfg(windows)'.dependencies]
cc = { workspace = true }