diff --git a/Cargo.lock b/Cargo.lock index f6c73e1..585b3b0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -65,7 +65,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ "quote", - "syn 2.0.43", + "syn 2.0.46", ] [[package]] @@ -178,7 +178,7 @@ dependencies = [ "actix-router", "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.46", ] [[package]] @@ -292,9 +292,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.77" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9d19de80eff169429ac1e9f48fffb163916b448a44e8e046186232046d9e1f9" +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" [[package]] name = "autocfg" @@ -443,7 +443,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.46", ] [[package]] @@ -538,9 +538,19 @@ dependencies = [ [[package]] name = "embed" version = "0.1.0" -source = "git+https://github.com/RGBCube/embed-rs#d262e42422cb77b75284bd5509546e8d248a332b" +source = "git+https://github.com/RGBCube/embed-rs#58a1fa21820f6b7613a35e2f3367faa4ee873807" dependencies = [ - "include_dir", + "embed_macros", +] + +[[package]] +name = "embed_macros" +version = "0.1.0" +source = "git+https://github.com/RGBCube/embed-rs#58a1fa21820f6b7613a35e2f3367faa4ee873807" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.46", ] [[package]] @@ -761,25 +771,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "include_dir" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" -dependencies = [ - "include_dir_macros", -] - -[[package]] -name = "include_dir_macros" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" -dependencies = [ - "proc-macro2", - "quote", -] - [[package]] name = "indexmap" version = "2.1.0" @@ -1073,18 +1064,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.71" +version = "1.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8" +checksum = "2de98502f212cfcea8d0bb305bd0f49d7ebdd75b64ba0a68f937d888f4e0d6db" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -1205,29 +1196,29 @@ checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" [[package]] name = "serde" -version = "1.0.193" +version = "1.0.194" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +checksum = "0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.193" +version = "1.0.194" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +checksum = "a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.46", ] [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.110" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "6fbd975230bada99c8bb618e0c365c2eefa219158d5c6c29610fd09ff1833257" dependencies = [ "itoa", "ryu", @@ -1337,9 +1328,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.43" +version = "2.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee659fb5f3d355364e1f3e5bc10fb82068efbf824a1e9d1c9504244a6469ad53" +checksum = "89456b690ff72fddcecf231caedbe615c59480c93358a93dfae7fc29e3ebbf0e" dependencies = [ "proc-macro2", "quote", @@ -1760,7 +1751,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.43", + "syn 2.0.46", ] [[package]] diff --git a/src/routes/assets.rs b/src/routes/assets.rs index 1901a67..0a37f8b 100644 --- a/src/routes/assets.rs +++ b/src/routes/assets.rs @@ -20,35 +20,27 @@ use crate::minify; const ASSET_EXTENSIONS: &[&str] = &[".js", ".css", ".woff2", ".gif"]; static ASSETS: LazyLock> = LazyLock::new(|| { - let contents = embed::bytes!("../../src.tar"); - let mut archive = Archive::new(Cursor::new(contents)); - let mut assets = HashMap::new(); - for entry in archive.entries().unwrap() { - let mut entry = entry.unwrap(); + for file in embed::dir!("../..").flatten() { + let path = file.path.file_name().unwrap().to_str().unwrap(); - let path = entry.path_bytes(); - let path = String::from_utf8(path.to_vec()).unwrap(); - - if path.ends_with('/') || !ASSET_EXTENSIONS.iter().any(|ext| path.ends_with(ext)) { + if !ASSET_EXTENSIONS + .iter() + .any(|extension| path.ends_with(extension)) + { continue; } - let path = path.rsplit_once('/').unwrap_or(("", &path)).1; - - let mut content = Vec::new(); - entry.read_to_end(&mut content).unwrap(); - if minify::is_minifiable(path) { - let content = minify::generic(path, &content); + let content = minify::generic(path, &file.content); log::info!("Minifying asset {path}"); assets.insert(minify::insert_min(path), Bytes::from(content)); } log::info!("Adding asset {path}"); - assets.insert(path.to_string(), Bytes::from(content)); + assets.insert(path.to_string(), Bytes::from(file.content)); } assets