mirror of
https://github.com/zhom/banderole.git
synced 2026-04-22 20:06:06 +02:00
7b2bda3f7bb7ef37546cb8633bcaff2dd1b5e785
Banderole
Create cross-platform single-executables for Node.js projects.
Banderole bundles your Node.js app, all dependencies, and a portable Node binary into a single executable. On first launch, it unpacks to a cache directory for fast subsequent executions.
Unlike Node.js SEA or pkg, banderole handles complex projects with dynamic imports and non-JavaScript files without requiring patches, but since it includes all dependencies by default, it has significantly large filesize.
Installation
cargo install banderole
Usage
# Bundle a project using the project name
banderole bundle /path/to/project
# Bundle with custom output path
banderole bundle /path/to/project --output /path/to/output/executable
# Bundle with custom name
banderole bundle /path/to/project --name my-app
# Bundle with both custom output and name
banderole bundle /path/to/project --output /path/to/my-app --name my-app
Feature List
- Support Linux, MacOS, and Windows for both x64 and arm64 architectures.
- Support custom node.js version based on project's
.nvmrcand.node-version - Support workspaces (currently you need to install dependencies directly)
License
MIT
Languages
Rust
99.8%
Shell
0.2%