webarcade-0.6.2 is not a library.
webarcade-cli
CLI for WebArcade - Create and build native desktop app plugins.
Installation
Quick Start
# Initialize a new project
# Create a new plugin
# Build the plugin
# Run the app
# Package the app
Commands
| Command | Description |
|---|---|
webarcade init <name> |
Initialize a new WebArcade project |
webarcade new <plugin> |
Create a new plugin |
webarcade build <plugin> |
Build a plugin |
webarcade build --all |
Build all plugins |
webarcade list |
List available plugins |
webarcade run |
Build and run the app |
webarcade app |
Build production app with installer |
webarcade package |
Package app for distribution (interactive) |
webarcade install <user/repo> |
Install a plugin from GitHub |
webarcade update |
Update the CLI to latest version |
Build Progress Display
When building plugins, the CLI shows a clean, professional progress display:
▶ Building Plugins
──────────────────────────────────────────────────
✓ hello-world ● systemMonitor ○ themes
→ systemMonitor: Compiling DLL...
━━━━━━━━━━━━━━━━━━────────────────────── 66% (2/3)
Features:
- Real-time status for each plugin (○ pending, ● building, ✓ complete, ✗ failed)
- Current build step displayed (Bundling frontend, Compiling DLL, etc.)
- Progress bar with percentage
- Clean summary on completion
Updating the CLI
Check for updates and install the latest version:
This will:
- Show your current version
- Check crates.io for the latest version
- Prompt to install if an update is available
Build Optimizations
The CLI includes smart build caching to speed up development:
Incremental Plugin Builds
Plugins are only rebuilt when their source files change. The CLI tracks file hashes and skips unchanged plugins:
# Only rebuilds plugins that have changed
# Force rebuild all plugins (ignore cache)
Build Flags
| Flag | Description |
|---|---|
-f, --force |
Force rebuild, ignoring cache |
Package Flags
| Flag | Description |
|---|---|
--locked |
Embed plugins in binary (locked mode) |
--no-rebuild |
Only rebuild changed plugins (use cache) |
--skip-binary |
Skip frontend/binary rebuild (use existing) |
--skip-prompts |
Use current config without prompts |
Common Workflows
# Full rebuild and package
# Only 1 plugin changed, rebuild just that plugin
# Plugin changed, binary unchanged (unlocked mode only)
# Quick repackage with no rebuilds
Automatic Process Management
The CLI automatically terminates running app processes before building to prevent "file in use" errors. This happens automatically when you run:
webarcade buildwebarcade appwebarcade package
Build Cache
Plugin build state is stored in build/.build_cache.json. The cache tracks:
- SHA-256 hash of all source files (
.rs,.jsx,.js,.ts,.tsx,.json,.toml,.css,.scss) - Build timestamp
Changes that trigger a rebuild:
- Any source file content change
- Adding/removing/renaming files
- Missing output file (
.dll,.js) - Using
--forceflag
Changes that don't trigger a rebuild:
- Lock file changes (
package-lock.json,Cargo.lock) node_modules/ortarget/changes- File timestamp changes without content changes
License
MIT