154 lines
3.9 KiB
TOML
154 lines
3.9 KiB
TOML
[workspace]
|
|
members = [".", "avam-client", "avam-protocol", "avam-wasm"]
|
|
resolver = "2"
|
|
|
|
[package]
|
|
name = "avam"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
name = "avam"
|
|
path = "src/lib/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "avam"
|
|
path = "src/bin/server/main.rs"
|
|
|
|
# Defines a size-optimized profile for the WASM bundle in release mode
|
|
[profile.wasm-release]
|
|
strip = "debuginfo"
|
|
inherits = "release"
|
|
opt-level = 'z'
|
|
lto = true
|
|
codegen-units = 1
|
|
panic = "abort"
|
|
|
|
[features]
|
|
hydrate = ["leptos/hydrate", "leptos_meta/hydrate", "leptos_router/hydrate"]
|
|
|
|
ssr = [
|
|
"dep:avam-protocol",
|
|
|
|
"dep:argon2",
|
|
"dep:dashmap",
|
|
|
|
"dep:axum",
|
|
"dep:axum-extra",
|
|
"dep:axum-macros",
|
|
"dep:axum_session",
|
|
"dep:axum_session_sqlx",
|
|
|
|
"dep:dotenvy",
|
|
"dep:futures",
|
|
"dep:jsonwebtoken",
|
|
"dep:leptos_axum",
|
|
"dep:lettre",
|
|
|
|
"dep:rand",
|
|
"dep:sha256",
|
|
"dep:sqlx",
|
|
"dep:tokio",
|
|
"dep:time",
|
|
"dep:tracing-subscriber",
|
|
"dep:tera",
|
|
|
|
"dep:tower",
|
|
"dep:tower-http",
|
|
"dep:tower-layer",
|
|
|
|
"leptos/ssr",
|
|
"leptos_meta/ssr",
|
|
"leptos_router/ssr",
|
|
]
|
|
|
|
[dependencies]
|
|
avam-protocol = { path = "./avam-protocol", optional = true }
|
|
# Utilities
|
|
anyhow = { version = "1.0.89", optional = false }
|
|
argon2 = { version = "0.5.3", optional = true }
|
|
derive_more = { version = "1.0.0", features = ["full"], optional = false }
|
|
dashmap = { version = "6.1.0", optional = true }
|
|
dotenvy = { version = "0.15.7", optional = true }
|
|
futures = { version = "0.3.31", optional = true }
|
|
rand = { version = "0.8.5", optional = true }
|
|
serde = { version = "1.0.210", features = ["std", "derive"], optional = false }
|
|
thiserror = { version = "1.0.64", optional = false }
|
|
time = { version = "0.3.36", optional = true }
|
|
tokio = { version = "1.40.0", features = ["full"], optional = true }
|
|
tracing = { version = "0.1.40", optional = false }
|
|
tracing-subscriber = { version = "0.3.18", features = [
|
|
"env-filter",
|
|
], optional = true }
|
|
uuid = { version = "1.10.0", features = [
|
|
"v4",
|
|
"fast-rng",
|
|
"serde",
|
|
], optional = false }
|
|
|
|
# Leptos
|
|
leptos = { version = "0.6", features = ["nightly"], optional = false }
|
|
leptos_axum = { version = "0.6", optional = true }
|
|
leptos_meta = { version = "0.6", features = ["nightly"], optional = false }
|
|
leptos_router = { version = "0.6", features = ["nightly"], optional = false }
|
|
|
|
# Email
|
|
lettre = { version = "0.11.9", default-features = false, features = [
|
|
"builder",
|
|
"hostname",
|
|
"pool",
|
|
"rustls-tls",
|
|
"smtp-transport",
|
|
"tokio1",
|
|
"tokio1-rustls-tls",
|
|
], optional = true }
|
|
tera = { version = "1.20.0", default-features = false, optional = true }
|
|
|
|
# Database
|
|
sqlx = { version = "0.8.2", default-features = false, features = [
|
|
"uuid",
|
|
"runtime-tokio-rustls",
|
|
"macros",
|
|
"postgres",
|
|
], optional = true }
|
|
|
|
# Web
|
|
axum = { version = "0.7.7", optional = true, features = ["ws"] }
|
|
axum-extra = { version = "0.9.4", optional = true, features = ["typed-header"] }
|
|
axum-macros = { version = "0.4.2", optional = true }
|
|
axum_session = { version = "0.14.0", optional = true }
|
|
axum_session_sqlx = { version = "0.3.0", optional = true }
|
|
http = "1"
|
|
tower = { version = "0.4", optional = true, features = ["util"] }
|
|
tower-http = { version = "0.6.1", features = ["trace", "fs"], optional = true }
|
|
tower-layer = { version = "0.3.3", optional = true }
|
|
validator = "0.18.1"
|
|
|
|
# OAuth2
|
|
base64 = { version = "0.22.1", default-features = false }
|
|
jsonwebtoken = { version = "9.3.0", optional = true }
|
|
serde_qs = "0.13.0"
|
|
sha256 = { version = "1.5.0", optional = true } # this fucker has a dependency on tokio?!
|
|
sqids = "0.4.1"
|
|
hash-ids = "0.3.1"
|
|
|
|
[[workspace.metadata.leptos]]
|
|
name = "avam"
|
|
site-root = "target/site"
|
|
site-pkg-dir = "pkg"
|
|
style-file = "style/main.scss"
|
|
assets-dir = "public"
|
|
site-addr = "192.168.1.100:3000"
|
|
reload-port = 3001
|
|
browserquery = "defaults"
|
|
watch = false
|
|
env = "DEV"
|
|
|
|
bin-package = "avam"
|
|
bin-default-features = false
|
|
bin-features = ["ssr"]
|
|
|
|
lib-package = "avam-wasm"
|
|
lib-default-features = false
|
|
lib-features = []
|