Crate static_files[][src]

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.