/seac

single executable application compiler for Node.js

Primary LanguageTypeScriptApache License 2.0Apache-2.0

seac: Single Executable Application Compiler

NPM Version GitHub License Node.js CI

A simple command-line tool that compiles a Node.js program into single executable binary that runs without Node.js runtime installed, built on top of the Node.js single executable application (SEA) feature.

Note

The Node.js SEA feature is currently still experimental according to the official document. And seac is super experimental.

Installation

npm i -D seac

Usage

Windows:

seac hello.js hello.exe

Linux or macOS:

seac hello.js hello

Limitations

  • Requires Node.js v20 or higher
  • Only CommonJS is supported. ESM is not supported yet by the Node.js SEA feature.

Prior art

License

Apache-2.0

Technical memo

Seac cannot be compiled to single executable by itself because its denendency esbuild uses uncompilable Node.js feature require.resolve.