2025-07-25 07:20:55 +04:00
2025-07-25 02:26:20 +04:00
2025-07-25 02:26:20 +04:00
2025-07-25 07:20:55 +04:00
2025-07-25 07:20:55 +04:00
2025-07-25 02:27:54 +04:00

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 .nvmrc and .node-version
  • Support TypeScript projects with automatic detection of compiled output directories
  • Support workspaces (currently you need to install dependencies directly)
  • Only the executable has permissions to read and execute bundled files

License

MIT

S
Description
No description provided
Readme MIT 338 KiB
Languages
Rust 99.8%
Shell 0.2%