starmelon/Cargo.toml
YetAnotherMinion c28ef728b5
refactor: rename elm-quote crate to genco-extra
I want to add quoting rules for nginx config language. I decided it
would be better to group all the language definitions in the same crate.
2025-11-23 19:34:17 -08:00

54 lines
2.1 KiB
TOML

[package]
name = "starmelon"
version = "0.1.0"
edition = "2018"
# I decided to use os_pipe becaues I want to pipe stdout of a subprocess into
# stderr in real time. I want the output of the process to stderr and stdout
# show up in the original order. I looked an os_pipe uses some unsafe code to
# duplicate file descriptors. I am unfamiliar with the correct way of sharing
# the fds. Therefore I am going to trust that their unsafe code is necessary.
# Then it makes sense to use a battle tested unsafe code rather than implement
# it myself.
[dependencies]
ahash = "0.7"
elmi = { path = "../../../infra/rust-elmi", features = [ "genco" ] }
naive-wadler-prettier= { path = "../../../infra/redwood-lang/compiler/naive-wadler-prettier" }
os_pipe = "0.9"
serde = { version = "1.0", features = [ "derive" ] }
serde_json = { version ="1.0", features = [] }
structopt = { version = "0.3" }
elm-project-utils = { path = "../../../infra/rust-elm-project-utils" }
tracing = { version = "0.1", features = [] }
rustc-hash = "1.1"
home = "0.5"
# Required to transpile view functions to Rust
genco = "0.15"
# Required to generate fixture Elm files
genco-extra = { path = "../../../infra/genco-extra" }
# All of these are required for deno's javascript runtime. We need to keep the
# same versions as other projects in our cargo workspace. Multiple different
# versions of rust_v8 seem to break its build script.
deno_runtime = "0.50"
tokio = { version = "1.17", features = ["full"] }
deno_core = "0.124"
deno_web = "0.73"
futures = "0.3"
# Required to add sql query support to interpreter. Because deno expects sync
# ops to be synchronous, we have to use a second async executor to run the sqlx
# functions. I read the code for oneshot
# (https://github.com/faern/oneshot/commit/9aa237f185e1b65d61bf92c20350cf7bee0aa88b)
# and it looks reasonable.
sqlx = { version = "0.5", features = [ "sqlite", "macros", "runtime-tokio-rustls", "chrono", "json", "uuid" ] }
oneshot = "0.1.3"
# required for livetable derive macro
livetable-core = { path = "../../../infra/livetable/core" }
[dev-dependencies]
aho-corasick = "0.7"