jevhooks.git / web / Cargo.toml

hooks.lmjtfy.fun: the page that says what jevhooks is. A workspace of its own, apart from the plugin's: it builds for wasm32 with the Workers runtime, and the plugin must stay buildable without the Workers toolchain.

4[package]
5name = "jevhooks-web"
6version = "0.0.0"
7edition = "2024"
8publish = false
10[workspace]
11
12[lib]
13crate-type = ["cdylib", "rlib"]
14
15[dependencies]

Aldebaran: the parts every Jev site's Worker repeats, from the shared crates.

17aldebaran-assets = { path = "../third-party/rustcrates/aldebaran-assets" }
18aldebaran-axum = { path = "../third-party/rustcrates/aldebaran-axum" }
19aldebaran-gate = { path = "../third-party/rustcrates/aldebaran-gate" }
20aldebaran-headers = { path = "../third-party/rustcrates/aldebaran-headers" }
21aldebaran-log = { path = "../third-party/rustcrates/aldebaran-log" }
22aldebaran-worker = { path = "../third-party/rustcrates/aldebaran-worker" }

The look the Jev sites share: stylesheet, page shell, windows, fonts, link-preview tags, the card.

24jev-ui = { path = "../third-party/jevcrates/jev-ui" }

The plugin's own list of hook events and what it does with each, which the page's map is read from.

26jevhooks-events = { path = "../crates/jevhooks-events" }

The plugin's own rules, which the page draws as the networks that run, and answers made up for its worked examples, read through the same thresholds as a real one.

29jevhooks-rules = { path = "../crates/jevhooks-rules", features = ["made-up"] }
30rete = { path = "../third-party/rustcrates/rete" }
31rete-draw = { path = "../third-party/rustcrates/rete-draw" }
33axum = { version = "0.8", default-features = false }
34http = "1"
35maud = "0.27"
36tower-service = "0.3"

The wasm-bindgen crate and CLI must be the same version (mise.toml; tools/check-versions.sh).

38wasm-bindgen = "=0.2.127"
39worker = { version = "0.8", features = ["http", "axum"] }
41[profile.release]
42opt-level = "s"
43lto = true
44codegen-units = 1