/ Cargo.toml
Cargo.toml
1 [workspace] 2 resolver = "3" 3 exclude = ["ml"] 4 default-members = ["firmware"] 5 members = [ 6 ".", 7 "web", 8 "tui", 9 "firmware", 10 "tests/e2e", 11 "apps/readme", 12 "apps/microtop", 13 ] 14 15 [package] 16 publish = false 17 edition = "2024" 18 version = "0.1.0" 19 name = "microvisor" 20 default-run = "loco" 21 license = "GNU GPL 3.0" 22 23 [[bin]] 24 name = "loco" 25 path = "src/bin/main.rs" 26 required-features = [] 27 28 [workspace.dependencies] 29 serde_json = "1" 30 defmt = "1.0.1" 31 embedded-io = "0.7.1" 32 embassy-time = "0.5.0" 33 embassy-executor = "0.10" 34 embedded-io-async = "0.7.0" 35 dioxus-sdk-time = "0.7.0" 36 loco-rs = "0.16.4" 37 dioxus-primitives.path = "libs/primitives" 38 serde = { version = "1", features = ["derive"] } 39 tracing = { version = "0.1", features = ["std"] } 40 ratatui = { version = "0.30.0", default-features = false } 41 lucide-dioxus = { version = "2.45.0", features = ["all-icons"] } 42 dioxus = { version = "0.7.5", features = ["router", "fullstack"] } 43 44 [dev-dependencies] 45 serial_test = "3.1.1" 46 rstest = "0.21.0" 47 loco-rs = { workspace = true, features = ["testing"] } 48 insta = { version = "1.34.0", features = ["redactions", "yaml", "filters"] } 49 50 [dependencies] 51 serde.workspace = true 52 loco-rs.workspace = true 53 serde_json.workspace = true 54 chrono = "0.4" 55 circular-buffer = "1" 56 include_dir = "0.7" 57 scalar_api_reference = "0.1" 58 colored_json = "5" 59 validator = "0.20" 60 axum = "0.8.1" 61 unic-langid = "0.9.4" 62 regex = "1.11.1" 63 tracing = "0.1.40" 64 async-trait = "0.1.74" 65 migration.path = "migration" 66 loco-openapi = { version = "0.1", features = ["full"] } 67 serial = "0.4" 68 uuid = { version = "1.6.0", features = ["v4"] } 69 axum-extra = { version = "0.12", features = ["form"] } # /view engine 70 fluent-templates = { version = "0.8.0", features = ["tera"] } # view engine i18n 71 tracing-subscriber = { version = "0.3.17", features = ["env-filter", "json"] } 72 tokio = { version = "1.33.0", default-features = false, features = [ 73 "rt-multi-thread", 74 ] } 75 sea-orm = { version = "1.1.19", features = [ 76 "macros", 77 "sqlx-sqlite", 78 "sqlx-postgres", 79 "runtime-tokio-rustls", 80 ] } 81 crc32fast = "1.4" 82 vedirect_rs = "0.2.2" 83 84 [profile.dev] 85 # Rust debug is too slow. 86 # For debug builds always builds with some optimization 87 debug = true 88 # opt-level = 3 89 opt-level = "s" 90 91 [profile.release] 92 # debug = 2 # full debug symbols — adds to binary size, enable for profiling 93 codegen-units = 1 # LLVM can perform better optimizations using a single thread 94 # opt-level = 3 # max speed — produces 30MB WASM, bad for firmware flash too 95 opt-level = "z" # min size — halves WASM (~15MB), better for ESP32 flash. all targets are IO-bound. 96 lto = "fat" 97 incremental = false 98 overflow-checks = true # was false — silent integer wrapping is dangerous for sensor math 99 # debug-assertions = false # already the default for release