[package] name = "audiobookroom" version = "0.1.1" edition = "2021" license = "MIT" authors = ["Jiangqiu Shen"] repository = "https://github.com/audiobookroom/audiobookroom" description = "Audiobookroom, a simple and fast self-hosted audiobook server" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html exclude = [] [lib] crate-type = ["cdylib", "rlib"] [profile.release] lto = true opt-level = "z" codegen-units = 1 [dependencies] console_log = { version = "1.0", optional = true } rand = { version = "0.8", features = ["min_const_gen"], optional = true } console_error_panic_hook = { version = "0.1", optional = true } futures = "0.3" leptos = { version = "0.6", features = ["nightly"] } leptos_meta = { version = "0.6", features = ["nightly"] } leptos_axum = { version = "0.6", optional = true } leptos_router = { version = "0.6", features = ["nightly"] } serde = { version = "1.0", features = ["derive"] } axum = { version = "0.7", optional = true, features = ["macros"] } tower = { version = "0.4", optional = true } tower-http = { version = "0.5", features = ["fs"], optional = true } tokio = { version = "1", features = ["full"], optional = true } http = { version = "1.0" } sqlx = { version = "0.7.2", features = [ "runtime-tokio-rustls", "sqlite", ], optional = true } thiserror = "1.0" wasm-bindgen = "0.2" axum_session_auth = { version = "0.12.0", features = [ "sqlite-rustls", ], optional = true } axum_session = { version = "0.12.4", features = [ "sqlite-rustls", ], optional = true } bcrypt = { version = "0.15", optional = true } async-trait = { version = "0.1", optional = true } sea-orm = { version = "0.12.14", features = ["sqlx-sqlite"], optional = true } dotenv = { version = "0.15.0", optional = true } http-body = "1.0.0" bytes = "1.5.0" pin-project-lite = { version = "0.2.13", optional = true } clap = { version = "4.4.18", features = ["derive"], optional = true } tracing = "0.1.40" tracing-subscriber = { version = "0.3.18", features = [ "fmt", "env-filter", ], optional = true } regex = "1.10.3" eyre = "0.6.12" anyhow = "1.0.79" gloo-timers = { version = "0.3.0", features = ["futures"], optional = true } web-sys = { version = "0.3.68", features = [ "Element", "DomRect", "Document", "Window", ] } [features] default = ["ssr"] hydrate = [ "leptos/hydrate", "leptos_meta/hydrate", "leptos_router/hydrate", "dep:console_log", "dep:console_error_panic_hook", "dep:gloo-timers", ] ssr = [ "dep:axum", "dep:tower", "dep:tower-http", "dep:tokio", "dep:axum_session_auth", "dep:axum_session", "dep:async-trait", "dep:sqlx", "dep:bcrypt", "dep:rand", "leptos/ssr", "leptos_meta/ssr", "leptos_router/ssr", "dep:leptos_axum", "dep:sea-orm", "dep:dotenv", "dep:pin-project-lite", "dep:clap", "dep:tracing-subscriber", ] [package.metadata.cargo-all-features] denylist = ["axum", "tower", "tower-http", "tokio", "sqlx", "leptos_axum"] skip_feature_sets = [["ssr", "hydrate"]] [package.metadata.leptos] # The name used by wasm-bindgen/cargo-leptos for the JS/WASM bundle. Defaults to the crate name output-name = "audiobookroom" # The site root folder is where cargo-leptos generate all output. WARNING: all content of this folder will be erased on a rebuild. Use it in your server setup. site-root = "target/site" # The site-root relative folder where all compiled output (JS, WASM and CSS) is written # Defaults to pkg site-pkg-dir = "pkg" # [Optional] The source CSS file. If it ends with .sass or .scss then it will be compiled by dart-sass into CSS. The CSS is optimized by Lightning CSS before being written to //app.css tailwind-input-file = "style/tailwind.css" tailwind-config-file = "tailwind.config.js" # [Optional] Files in the asset-dir will be copied to the site-root directory assets-dir = "public" # The IP and port (ex: 127.0.0.1:3000) where the server serves the content. Use it in your server setup. site-addr = "127.0.0.1:3003" # The port to use for automatic reload monitoring reload-port = 3001 # [Optional] Command to use when running end2end tests. It will run in the end2end dir. end2end-cmd = "npx playwright test" # The browserlist query used for optimizing the CSS. browserquery = "defaults" # Set by cargo-leptos watch when building with that tool. Controls whether autoreload JS will be included in the head watch = false # The environment Leptos will run in, usually either "DEV" or "PROD" env = "PROD" # The features to use when compiling the bin target # # Optional. Can be over-ridden with the command line parameter --bin-features bin-features = ["ssr"] bin-target = "audiobookroom" # If the --no-default-features flag should be used when compiling the bin target # # Optional. Defaults to false. bin-default-features = false # The features to use when compiling the lib target # # Optional. Can be over-ridden with the command line parameter --lib-features lib-features = ["hydrate"] # If the --no-default-features flag should be used when compiling the lib target # # Optional. Defaults to false. lib-default-features = false