[package]
name = "harn-cli"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "CLI for the Harn programming language — run, test, REPL, format, and lint"
build = "build.rs"
default-run = "harn"
include = [
"src/**/*",
"build.rs",
"Cargo.toml",
"portal-dist/**/*",
]
[[bin]]
name = "harn"
path = "src/main.rs"
[dependencies]
harn-lexer = { path = "../harn-lexer", version = "0.7" }
harn-parser = { path = "../harn-parser", version = "0.7" }
harn-vm = { path = "../harn-vm", version = "0.7", features = ["otel"] }
harn-lint = { path = "../harn-lint", version = "0.7" }
harn-modules = { path = "../harn-modules", version = "0.7" }
harn-fmt = { path = "../harn-fmt", version = "0.7" }
async-trait = "0.1"
axum = "0.8"
axum-server = { version = "0.7", features = ["tls-rustls"] }
tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "io-util", "signal", "sync", "time"] }
tokio-stream = "0.1"
serde_json = "1"
reedline = "0.47"
nu-ansi-term = "0.50"
toml = "1.1"
serde = { version = "1", features = ["derive"] }
notify = "8"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "blocking"] }
futures = "0.3"
sha2 = "0.10"
subtle = "2.6"
base64 = "0.22"
ed25519-dalek = { version = "2", features = ["pem", "pkcs8"] }
url = "2"
webbrowser = "1"
rand = "0.10"
regex = "1"
clap = { version = "4", features = ["derive", "env"] }
tower = { version = "0.5", features = ["util"] }
time = { version = "0.3", features = ["formatting", "parsing"] }
tempfile = "3"
include_dir = "0.7"
uuid = { version = "1", features = ["v4", "v7"] }
chrono-tz = "0.10.4"
croner = "3.0.1"
jmespath = "0.5.0"
rustls-pemfile = "2"
rustls = { version = "0.23", features = ["aws-lc-rs"] }
tracing = "0.1"
fs2 = "0.4"
[dev-dependencies]
hmac = "0.12"
rcgen = "0.13"