vite-static 1.2.0

Embed Vite chunks into your Rust application and query them individually.
Documentation
use vite_static::Manifest;

#[derive(Manifest)]
#[vite_dist = "examples/vite-project/dist"]
// #[vite_dist = "/absolute/path/to/dist"]
// #[vite_dist = "env:MY_VITE_STATIC_PATH"]
//  #[vite_dist = "env:MY_VITE_STATIC_PATH|examples/vite-project/dist"]
#[cfg_attr(debug_assertions, no_embedding)]
#[base = "/static"]
struct MyViteStatic;

fn main() {
    // - Resolve manifest key into output filename
    let entry1_filename = MyViteStatic
        .resolve_output("src/entry1.js")
        .expect("failed to find src/entry1.js file");
    println!("src/entry1.js -> {entry1_filename}");

    // - Get chunk by output filename
    let entry1 = MyViteStatic
        .chunk(&entry1_filename)
        .expect("failed to get src/entry1.js chunk");
    assert_eq!(entry1.file, entry1_filename);

    // - Query all chunk keys.
    let chunk_keys: Vec<_> = MyViteStatic.iter_keys().collect();
    dbg!(chunk_keys);

    // - Query all chunk output filenames.
    let chunk_outputs: Vec<_> = MyViteStatic.iter_outputs().collect();
    dbg!(chunk_outputs);
}