From 4734dfca27bf9d498f3e9b3e42c7a5c01a188237 Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Wed, 28 May 2025 13:18:59 -0400 Subject: Build the Sveltekit UI into Cargo's OUT_DIR. This has a couple of material consequences: * It will be (much) easier to reorganize the source tree, as the path to the output is no longer relative to where the config files are when building the final binary. If we do decide to move `ui` into its own child crate, we won't have to make a bunch of (very similar) changes to the Svelte build process at that time. * There is less chance of a stale build contaminating a new one, since changes to the crate change the project hash in `OUT_DIR`. For example, while working on this change, `OUT_DIR` was at various points: * `target/debug/build/pilcrow-7cfeef3536ddd3e7/out` * `target/debug/build/pilcrow-09d4ddbc12bef36b/out` * `target/release/build/pilcrow-070d373bd5f850a1` This may use more space on disk, but it's all reclaimable with `cargo clean` and Rust is _far_ more profligate with disk space than Svelte will ever be. * It's more consistent with Cargo's expectations around generated source files, and thus potentially easier to onboard Rust developers into. --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Cargo.toml') diff --git a/Cargo.toml b/Cargo.toml index 10e6adb..82693e3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,7 +38,7 @@ rand_core = { version = "0.6.4", features = ["getrandom"] } # Pinned to maintain libsqlite3 version match between this and sqlx. See also: # rusqlite = { version = "=0.32.1", features = ["backup"] } -rust-embed = "8.5.0" +rust-embed = { version = "8.5.0", features = ["interpolate-folder-path"] } serde = { version = "1.0.217", features = ["derive"] } serde_json = "1.0.138" # Pinned to maintain libsqlite3 version match between this and rusqlite. See -- cgit v1.2.3