National Public Mania

    sfxbundler
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.4 • Public • Published

    node-sfxbundler

    node-sfxbundler is a Node module wrapper around the touchifyapp/sfx binary.

    Getting Started

    node-sfxbundler works as a wrapper around the sfx bundler. It abstracts the commands' switches with JS object abstraction.

    Installation

    node-sfxbundler can be installed using NPM:

    $ npm install sfxbundler --save

    Usage

    First import node-sfxbundler in your project:

    var sfxbundler = require("sfxbundler");

    Then use sfxbundler's commands:

    sfxbundler.bundle("path/to/my.exe", "path/to/dir", { id: "my.app.id", version: "1.2.3", arch: "i386" });

    node-sfxbundler uses native Promise to wrap asynchronous operations and resolves with the result of the command:

    sfxbundler.bundle("path/to/my.exe", { certificate: "path/to/my/cert.pfx", password: "*******" });
        .then(result => {
            result.code  // The sfx bundler exit code.
            result.stdout  // The sfx bundler stdout content.
            result.stderr // The sfx bundler stderr content.
        });

    Command-line

    node-sfxbundler can work as a simple wrapper around touchifyapp/sfx.

    # Install module globally 
    $ npm install sfxbundler -g
     
    # Run module from command line 
    $ sfxbundler -exe path/to/sfx.exe -dir path/to/dir -id my.app.id

    Documentation

    sfxbundler.bundle(dest: string, dir: string, [options: BundleOptions]): Promise

    Bundle a new sfx Executable using sfx bootstrapper.

    /** Bundle Options */
    export interface BundleOptions extends RunOptions {
        /** A unique ID for the result SFX. (default: from dest name). */
        id?: string;
        /** The Bootstrapper architecture. */
        arch?: "i386" | "x64";
        /** The Bootstrapper Type (default: `sfx`). Set `sfxv` for verbose extraction. */
        type?: "sfx" | "sfxv";
        /** The program to run in the project directory (default: auto-detect). */
        run?: string;
        /** The absolute destination path to extract project in (default: `${os.tempdir()}/${id}`). */
        dest?: string;
        /** Arguments to pass to executable. */
        args?: string[];
        /** The program version to check for updates. */
        version?: string;
        /** The compression level. */
        compress?: number;
        
        /** Print verbose success and status messages. This may also provide slightly more information on error. */
        verbose?: boolean;
    }

    sfxbundler.run(args: string[], [runOptions: RunOptions]): Promise

    Run SFX bundler by using raw arguments.

    /** Run Options */
    export interface RunOptions {
        /** The current working directory to execute sfx bundler binary on. */
        cwd?: string;
        /** The inner spawn stdio option. */
        stdio?: string;
    }

    Contribute

    Install Project dependencies

    $ npm install

    Build project

    $ npm run build

    License

    MIT

    Install

    npm i sfxbundler

    DownloadsWeekly Downloads

    15

    Version

    1.0.4

    License

    MIT

    Last publish

    Collaborators

    • mluce