Skip to content

AngeloCore/setil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Setil - single executable applications utility

⚠️ SUPER EXPERIMENTAL

The goal of this package is to help you build node.js SEA with ease.

CLI Example

CLI usage is not implemented yet.

Code Example

import { compile } from "setil";
import { readFileSync } from "node:fs";
import { resolve } from "node:path";

const input = readFileSync("src/index.js", "utf-8");
const output = `./app.exe`;

await setil.compile(input, output);

// Enjoy!

Usage

compile(input: string, rawOutput: string, rawOptions?: Partial<Options>): Promise<Result>

  • input - Since SEA doesn't allow imports after compilation, you can use rollup to bundle your project into a single file. You can also check rollup-plugin-jsative if you are using native modules.
  • output (rawOutput) - The output path of your application, e.g. ./program.exe.
  • options (rawOptions) - Any additional customization, checkout Options

Options

Property Type Default Description
logLevel LogLevel "warn" Specifies the desired log level for the application.
disableSeaWarning boolean false Disables (node:16104) ExperimentalWarning: Single executable application is an experimental feature and might change at any time
useSnapshot boolean false Startup Snapshots
useCodeCache boolean false V8 Code Cache
nodeExePath string | undefined process.execPath The path where the blob should be injected into (Optional)
noSign boolean true Controls whether to remove the original Node.JS signature.
preInject (path: string) => any | Promise Noop (no operation) A hook executed just before the blob is injected into the application can be used to modify the nodeExePath file.

Types

Result

Property Type Description
input string The input code used.
outputPath string The output path of the SEA.
nodeExePath string The nodeExePath used.
tempDir string The temporary directory used.

LogLevel

One of debug, warn or silent

  • debug - Show debug logs
  • warn - Show warnings only (default)
  • silent - Don't print anything

Resources

About

node.js SEA utility

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published