10 releases
| 0.3.1 | Aug 24, 2025 |
|---|---|
| 0.3.0 | Aug 20, 2025 |
| 0.2.5 | Jun 12, 2025 |
| 0.2.4 | Jul 9, 2024 |
| 0.0.1 | Mar 18, 2021 |
#132 in Data structures
50,588 downloads per month
Used in 25 crates
(20 directly)
32KB
611 lines
static-files - the library to help automate static resource collection
Legal
Dual-licensed under MIT or the UNLICENSE.
Features
- Embed static resources in executuble
- Install dependencies with npm package manager
- Run custom
npmrun 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.3"
[build-dependencies]
static-files = "0.3"
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
// ...
Ok(())
}
By default, 'static-files' collects all files in operation system defined order, but you can change it by activating 'sort' feature in Cargo.toml:
[dependencies]
static-files = { version = "0.3", features = ["sort"] }
[build-dependencies]
static-files = { version = "0.3", features = ["sort"] }
Dependencies
~290KB