Files
LibreTunes/Cargo.toml

186 lines
6.1 KiB
TOML

[package]
name = "libretunes"
version = "0.1.0"
edition = "2021"
build = "src/build.rs"
[profile.dev]
opt-level = 0
debug = 1
incremental = true
[profile.dev.package."*"]
opt-level = 3
debug = 2
[profile.dev.build-override]
opt-level = 3
[lib]
crate-type = ["cdylib", "rlib"]
[[bin]]
name = "health_check"
path = "src/health.rs"
required-features = ["health_check"]
[dependencies]
console_error_panic_hook = { version = "0.1", optional = true }
cfg-if = "1"
http = { version = "1.0", default-features = false }
leptos = { version = "0.7.8", default-features = false, features = ["nightly"] }
leptos_meta = { version = "0.7.8" }
leptos_axum = { version = "0.7.8", optional = true }
leptos_router = { version = "0.7.8", features = ["nightly"] }
wasm-bindgen = { version = "=0.2.100", default-features = false, optional = true }
leptos_icons = { version = "0.4.0" }
icondata = { version = "0.5.0" }
diesel = { version = "2.1.4", features = ["postgres", "r2d2", "chrono"], default-features = false, optional = true }
lazy_static = { version = "1.4.0", optional = true }
serde = { version = "1.0.195", features = ["derive"], default-features = false }
openssl = { version = "0.10.63", optional = true }
diesel_migrations = { version = "2.1.0", optional = true }
pbkdf2 = { version = "0.12.2", features = ["simple"], optional = true }
tokio = { version = "1", optional = true, features = ["rt-multi-thread"] }
axum = { version = "0.7.5", features = ["tokio", "http1"], default-features = false, optional = true }
tower = { version = "0.5.1", optional = true, features = ["util"] }
tower-http = { version = "0.6.1", optional = true, features = ["fs"] }
thiserror = "1.0.57"
tower-sessions-redis-store = { version = "0.15", optional = true }
async-trait = { version = "0.1.79", optional = true }
axum-login = { version = "0.16.0", optional = true }
server_fn = { version = "0.7.7", features = ["multipart"] }
symphonia = { version = "0.5.4", default-features = false, features = ["mp3"], optional = true }
multer = { version = "3.1.0", optional = true }
log = { version = "0.4.21", optional = true }
flexi_logger = { version = "0.28.0", optional = true, default-features = false }
web-sys = "0.3.69"
leptos-use = "0.15.0"
image-convert = { version = "0.18.0", optional = true, default-features = false }
chrono = { version = "0.4.38", default-features = false, features = ["serde", "clock"] }
dotenvy = { version = "0.15.7", optional = true }
reqwest = { version = "0.12.9", default-features = false, optional = true }
futures = { version = "0.3.25", default-features = false, optional = true }
once_cell = { version = "1.20", default-features = false, optional = true }
[features]
hydrate = [
"leptos/hydrate",
"console_error_panic_hook",
"wasm-bindgen",
"chrono/wasmbind",
]
ssr = [
"dep:leptos_axum",
"leptos/ssr",
"leptos_meta/ssr",
"leptos_router/ssr",
"dotenvy",
"diesel",
"lazy_static",
"openssl",
"diesel_migrations",
"pbkdf2",
"tokio",
"axum",
"tower",
"tower-http",
"tower-sessions-redis-store",
"async-trait",
"axum-login",
"symphonia",
"multer",
"log",
"flexi_logger",
"leptos-use/ssr",
"image-convert",
]
reqwest_api = [
"reqwest",
"reqwest/cookies",
"futures",
"once_cell",
# Not needed, but fixes compile errors when building for all targets
# (which is useful for code editors checking for errors)
"server_fn/reqwest"
]
health_check = [
"reqwest_api",
"tokio",
"tokio/rt",
"tokio/macros",
]
# Defines a size-optimized profile for the WASM bundle in release mode
[profile.wasm-release]
inherits = "release"
opt-level = 'z'
lto = true
codegen-units = 1
panic = "abort"
[package.metadata.leptos]
# The name used by wasm-bindgen/cargo-leptos for the JS/WASM bundle. Defaults to the crate name
output-name = "libretunes"
# 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"
# The tailwind input file.
#
# Optional, Activates the tailwind build
tailwind-input-file = "style/main.css"
# The tailwind config file.
#
# Optional, defaults to "tailwind.config.js" which if is not present
# is generated for you
tailwind-config-file = "style/tailwind.config.js"
# Assets source dir. All files found here will be copied and synchronized to site-root.
# The assets-dir cannot have a sub directory with the same name/path as site-pkg-dir.
#
# Optional. Env: LEPTOS_ASSETS_DIR.
assets-dir = "assets"
# 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:3000"
# 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.
# [Windows] for non-WSL use "npx.cmd playwright test"
# This binary name can be checked in Powershell with Get-Command npx
end2end-cmd = "npx playwright test"
end2end-dir = "end2end"
# 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 = "DEV"
# Specify the name of the bin target
bin-target = "libretunes"
# The features to use when compiling the bin target
#
# Optional. Can be over-ridden with the command line parameter --bin-features
bin-features = ["ssr"]
# 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
# The profile to use for the lib target when compiling for release
#
# Optional. Defaults to "release".
lib-profile-release = "wasm-release"