Crate static_files

Source
Expand description

§static-files - the library to help automate static resource collection

Dual-licensed under MIT or the UNLICENSE.

§Features

  • Embed static resources in executuble
  • Install dependencies with npm package manager
  • Run custom npm run commands (such as webpack)
  • Support for npm-like package managers (yarn)
  • Change detection support to reduce compilation time

§Usage

Create folder with static resources in your project (for example static):

cd project_dir
mkdir static
echo "Hello, world" > static/hello

Add to Cargo.toml dependency to static-files:

[dependencies]
static-files = "0.2"

[build-dependencies]
static-files = "0.2"

Add build.rs with call to bundle resources:

use static_files::resource_dir;

fn main() -> std::io::Result<()> {
    resource_dir("./static").build()?;
}

Include generated code in main.rs:

include!(concat!(env!("OUT_DIR"), "/generated.rs"));

fn main() -> std::io::Result<()> {
    let generated = generate(); // <-- this function is defined in generated.rs
    ...
}

Modules§

resource
Resource definition and single module based generation.
sets
Support for module based generations. Use it for large data sets (more than 128 Mb).

Structs§

NpmBuild
Executes npm commands before collecting resources.
Resource
Static files resource.
ResourceDir
Resource dir.

Functions§

npm_resource_dir
Generate resources with run of npm install prior to collecting resources in resource_dir.
resource_dir
Generate resources for resource_dir.