seac
v0.3.0
Published
single executable application compiler
Readme
seac: Single Executable Application Compiler
A simple command-line tool that bundles a Node.js program into a single executable binary that runs without a separate Node.js runtime. It is built on Node.js single executable applications (SEA).
[!NOTE] Node.js SEA remains experimental (Stability: 1.1). Treat generated executables as platform-specific release artifacts and test them on every target platform.
Installation
npm i -D seacUsage
Windows:
seac hello.js hello.exeLinux or macOS:
seac hello.js helloLimitations
- Requires Node.js v22 or higher.
- Node.js v26+ uses Node's native
--build-seacommand. Node.js v22 and v24 use the compatible legacysetil/postjectpath. - seac emits a single CommonJS bundle. Although Node.js v26 SEA supports an ESM main entry, this CLI does not yet expose that mode.
- Build on the target OS and architecture. SEA code cache and snapshots are not portable across platforms; seac leaves both disabled.
- On macOS, seac ad-hoc signs executables built through the native Node.js v26+ path. Production distribution may require your own Developer ID signing and notarization.
Prior art
License
Apache-2.0
Technical notes
seac cannot be compiled to a single executable by itself because its dependency esbuild uses require.resolve, which cannot be bundled into a SEA entry point.
