You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.5 KiB
TOML
55 lines
2.5 KiB
TOML
[package]
|
|
name = "pages"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
license = "MIT OR Apache-2.0"
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib"]
|
|
|
|
# Shared dependencies: compile for both native host and wasm32-unknown-unknown.
|
|
[dependencies]
|
|
# Serialisation for API request/response payloads and D1 row (de)serialisation.
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
# Error types with Display/std::error::Error derive — works on both native and wasm32.
|
|
thiserror = "2"
|
|
# Zip reading for upload validation (core::upload); deflate is the only
|
|
# compression method we need to support. Pure Rust, compiles on wasm32.
|
|
zip = { version = "2", default-features = false, features = ["deflate"] }
|
|
# SHA-256 for session token hashing (auth); pure Rust, compiles on wasm32.
|
|
sha2 = "0.10"
|
|
# Entropy for session/state token generation (auth.rs). Declared unconditionally
|
|
# (no features) so `generate_token` compiles and is unit-testable on the native
|
|
# host target too; the wasm_js feature required for wasm32-unknown-unknown is
|
|
# layered on in the wasm-only dependency table below — Cargo unifies the two
|
|
# declarations of the same crate/version, adding the feature only on that
|
|
# target.
|
|
getrandom = "0.4"
|
|
|
|
# WASM-only dependencies (Workers entry point).
|
|
# workers-rs, getrandom/wasm_js, and the axum Workers glue are wasm32-specific.
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
# Cloudflare Workers SDK — provides D1 bindings, fetch, KV, etc.
|
|
# The `http` feature makes the fetch handler accept/return standard http types,
|
|
# enabling direct Axum router integration without manual request conversion.
|
|
worker = { version = "0.7", features = ["d1", "http"] }
|
|
# Axum HTTP framework for the WASM Workers entry point — minimal feature set
|
|
# (no full tokio runtime needed; json and query features required for handlers).
|
|
axum = { version = "0.8", default-features = false, features = ["json", "query"] }
|
|
# Tower service trait — required by the WASM entry point to call the Axum router.
|
|
tower-service = "0.3"
|
|
# http crate — re-exported by axum and worker; needed explicitly so the return
|
|
# type `http::Response<axum::body::Body>` resolves in the fetch event handler.
|
|
http = "1"
|
|
# Enables the wasm_js feature of the unconditional `getrandom` dependency
|
|
# above (see its comment) — routes entropy to crypto.getRandomValues() via
|
|
# the Web Crypto API, required for wasm32-unknown-unknown.
|
|
getrandom = { version = "0.4", features = ["wasm_js"] }
|
|
|
|
[profile.release]
|
|
opt-level = "z"
|
|
lto = true
|
|
strip = true
|
|
codegen-units = 1
|