Skip to content

Compiling your Node.js application into a single executable with dynamic require and all fs.* API support.

License

Notifications You must be signed in to change notification settings

kbh-TPP/node-compiler

 
 

Repository files navigation

Node.js Compiler

Compiling your Node.js application into a single executable.

How it works?

nodec.gif

Download

Master CI RAM Test Black‑box Test Latest Stable
Windows status status status https://sourceforge.net/projects/node-compiler/files/v0.9.5/nodec.exe/download
macOS status Status Status https://sourceforge.net/projects/node-compiler/files/v0.9.5/nodec-darwin-x64/download
Linux status Status Status https://sourceforge.net/projects/node-compiler/files/v0.9.5/nodec-linux-x64/download

Install

Windows

First install the prerequisites:

Then download the executable nodec.exe and run it from the VC++ or VS Command Prompt.

macOS

First install the prerequisites:

  • SquashFS Tools 4.3: brew install squashfs
  • Xcode
    • You also need to install the Command Line Tools via Xcode. You can find this under the menu Xcode -> Preferences -> Downloads
    • This step will install gcc and the related toolchain containing make
  • Python 2.6 or 2.7
  • GNU Make 3.81 or newer

Then,

curl -L https://sourceforge.net/projects/node-compiler/files/v0.9.5/nodec-darwin-x64/download > nodec
chmod +x nodec
./nodec

Linux

First install the prerequisites:

  • SquashFS Tools 4.3
  • gcc and g++ 4.8 or newer, or
  • clang and clang++ 3.4 or newer
  • Python 2.6 or 2.7
  • GNU Make 3.81 or newer

Then,

curl -L https://sourceforge.net/projects/node-compiler/files/v0.9.5/nodec-linux-x64/download > nodec
chmod +x nodec
./nodec

Usage

nodec [OPTION]... ENTRANCE
  -r, --root=DIR                   Specifies the path to the root of the application
  -o, --output=FILE                Specifies the path of the output file
  -d, --tmpdir=DIR                 Specifies the directory for temporary files
      --clean-tmpdir               Cleans all temporary files that were generated last time
      --keep-tmpdir                Keeps all temporary files that were generated last time
      --make-args=ARGS             Passes extra arguments to make
      --vcbuild-args=ARGS          Passes extra arguments to vcbuild.bat
  -n, --npm=FILE                   Specifies the path of npm
      --npm-package=NAME           Downloads and compiles the specified npm package
      --npm-package-version=VER    Downloads and compiles the specified version of the npm package
      --debug                      Enable debug mode
  -v, --version                    Prints the version of nodec and exit
      --node-version               Prints the version of the Node.js runtime and exit
  -h, --help                       Prints this help and exit

Example

git clone --depth 1 https://github.com/jashkenas/coffeescript.git
cd coffeescript
nodec bin/coffee
./a.out (or a.exe on Windows)

See Also

  • SquashFS: a compressed read-only filesystem for Linux.
  • Libsquash: portable, user-land SquashFS that can be easily linked and embedded within your application.
  • Enclose.IO: cloud-based service that compiles your application into a single executable.

About

Compiling your Node.js application into a single executable with dynamic require and all fs.* API support.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 48.3%
  • C 23.5%
  • Assembly 10.5%
  • JavaScript 6.1%
  • HTML 4.0%
  • Perl 3.1%
  • Other 4.5%