[workspace] resolver = "2" members = [ "crates/bex-types", "crates/bex-pkg", "crates/bex-db", "crates/bex-wire", "crates/bex-js", "crates/bex-core", "crates/bex-cli", "crates/bex-runtime", "plugins/bex-imdb", "plugins/bex-kaianime", "plugins/bex-kisskh", "plugins/bex-hianime", "plugins/bex-gogoanime", "plugins/bex-yts", "plugins/bex-yflix", ] # WASM plugins must be built with `cargo component build` for wasm32-wasip1. # Exclude them from default `cargo build` to avoid native linker errors # caused by WIT component model symbol names (e.g. `api#get-articles`). default-members = [ "crates/bex-types", "crates/bex-pkg", "crates/bex-db", "crates/bex-wire", "crates/bex-js", "crates/bex-core", "crates/bex-cli", "crates/bex-runtime", ] [workspace.dependencies] bex-types = { path = "crates/bex-types" } bex-pkg = { path = "crates/bex-pkg" } bex-db = { path = "crates/bex-db" } bex-js = { path = "crates/bex-js" } bex-core = { path = "crates/bex-core" } bex-runtime = { path = "crates/bex-runtime" } serde = { version = "1", features = ["derive"] } serde_json = "1" serde_yaml = "0.9" anyhow = "1" thiserror = "1" tokio = { version = "1", features = ["full"] } tracing = "0.1" # Release profile: optimized for small binary size and efficient memory usage. # No debug symbols, LTO enabled, single codegen unit, abort on panic. [profile.release] opt-level = "z" # Optimize for size ("z" is more aggressive than "s") lto = true # Link-Time Optimization — removes dead code across crates codegen-units = 1 # Single codegen unit — better optimization, slower compile strip = true # Strip debug symbols from the binary panic = "abort" # Smaller binary — no unwinding tables needed