This implements atomic writes for registry.json using a temporary file and renaming to prevent file corruption on Windows 11. |
||
|---|---|---|
| .. | ||
| dist-js | ||
| examples/tauri-app | ||
| guest-js | ||
| permissions | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| devenv.lock | ||
| devenv.nix | ||
| devenv.yaml | ||
| LICENSE.md | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| rollup.config.js | ||
| tsconfig.json | ||
Tauri Plugin: AppLoad
A Tauri plugin for downloading and loading web app bundles into WebView.
Features
- 🦀 Blazingly fast!
- Download and load web app bundles from remote servers
- Secure verification using
ed25519+blake3 - Caching with hot/cold storage strategy
- Custom URI scheme for isolated app loading
Installation
Important
This plugin requires Tauri 2.0 or later.
Add the plugin to your project by installing directly from GitHub:
[dependencies]
tauri-plugin-appload = { git = "https://github.com/CuriousCorrelation/tauri-plugin-appload" }
"dependencies": {
"@CuriousCorrelation/plugin-appload": "github:CuriousCorrelation/tauri-plugin-appload"
}
Quick Start
Rust
fn main() {
tauri::Builder::default()
.plugin(tauri_plugin_appload::init())
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
JavaScript/TypeScript
import { download, load } from '@CuriousCorrelation/plugin-appload'
// Download a bundle
const { bundleName } = await download({
serverUrl: "https://example.com"
})
// Load the bundle in a new window
await load({
bundleName,
window: {
title: "My App",
width: 800,
height: 600
}
})
Configuration
Note
The plugin uses sensible defaults but can be customized via configuration.
| Option | Description | Default |
|---|---|---|
api.serverUrl |
Bundle server URL | http://localhost:3200 |
cache.maxSize |
Maximum cache size | 100MB |
cache.filesTtl |
File time-to-live | 1 hour |
storage.maxBundleSize |
Maximum bundle size | 50MB |
Permissions
The plugin defines the following permissions:
allow-download: Enable bundle downloadsallow-load: Enable bundle loadingdeny-download: Disable bundle downloadsdeny-load: Disable bundle loading
Development
Requirements:
- Rust 1.77.2 or later
- Node.js 18 or later
- pnpm
License
Code: (c) 2025 - CuriousCorrelation
MIT or MIT/Apache 2.0 where applicable.