0.0.1-a • Published 8 months ago

setil v0.0.1-a

Weekly downloads
-
License
-
Repository
github
Last release
8 months ago

Setil - single executable applications utility

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 "nod: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 - The input code, as SEA doesn't accept imports after compilation, you can use rollup to bundle your project into a single file. You can also check rollup-plugin-jsative if you use native modules.
  • output (rawOutput) - The output path of your application, e.g. ./program.exe.
  • options (rawOptions) - Any additional customization, checkout Options

Options

PropertyTypeDefaultDescription
logLevelLogLevel"warn"Specifies the desired log level for the application.
disableSeaWarningbooleanfalseDisables (node:16104) ExperimentalWarning: Single executable application is an experimental feature and might change at any time
useSnapshotbooleanfalseStartup Snapshots
useCodeCachebooleanfalseV8 Code Cache
nodeExePathstring | undefinedprocess.execPathThe path where the blob should be injected into (Optional)
noSignbooleantrueControls whether to remove the original Node.JS signature.
preInject(path: string) => any | PromiseNoop (no operation)A hook executed just before the blob is injected into the application can be used to modify the nodeExePath file.

Types

Result

PropertyTypeDescription
inputstringThe input code used.
outputPathstringThe output path of the SEA.
nodeExePathstringThe nodeExePath used.
tempDirstringThe 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