starmelon/Cargo.toml
nobody ac97ac37db
chore: upgrade deno_* crates to Mar 2024
The way extensions are injected into the Isolate changed dramatically
between Sept 2021 and Jan 2024. Now ops are available in the virtual
module ext:core/ops.
2025-11-23 19:34:17 -08:00

51 lines
2.2 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 and 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.8"
clap = { version = "4.5", features = ["derive"] }
elmi = { path = "../../../infra/rust-elmi", features = [ "genco" ] }
naive-wadler-prettier= { path = "../../../infra/redwood-lang/compiler/naive-wadler-prettier" }
os_pipe = "1.0"
serde = { version = "1.0", features = [ "derive" ] }
serde_json = { version ="1.0", features = [] }
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.17"
# 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 rusty_v8 seem to break its build script.
deno_runtime = "0.154"
tokio = { version = "1.32", features = ["full"] }
deno_core = "0.272"
deno_web = "0.177"
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.
oneshot = { version = "0.1.6", features = ["std"]}
sqlx = { version = "0.7", features = [ "sqlite", "macros", "runtime-tokio", "chrono", "json", "uuid" ] }
# required for livetable derive macro
livetable-core = { path = "../../../infra/livetable/core" }
# required for clean subcommand
walkdir = "2.4"
[dev-dependencies]
aho-corasick = "0.7"