Home

Awesome

LaunchUI Packager

Package applications using LaunchUI for Windows, Linux and OS X.

NPM module MIT License

Introduction

LaunchUI wraps Node.js with a small executable which automatically runs the application. No console window is opened and in case of a fatal error, it is reported using a message box.

LaunchUI Packager provides a command line utility and an API for creating packages based on LaunchUI for Windows, Linux and OS X.

You can also use LaunchUI Packager GUI, a desktop application which simplifies creating LaunchUI packages without using custom scripts.

Installation

Install LaunchUI Packager locally to use it in your build scripts:

npm install --save-dev launchui-packager

Install LaunchUI Packager globally to use it from command line:

npm install --global launchui-packager

Usage

You can run launchui-packager from the command line:

launchui-packager <name> <version> <entry> [options...]

Arguments

The following arguments are required:

<name>

Name of the application to package.

<version>

Version of the application to package.

<entry>

Path of the entry script of the application. It will be copied to app/main.js inside the package.

Options

In addition, the following options can be specified:

--out <path>

Path of the output directory where the package is created. The default value is the current directory.

--platform <platform>

The platform of the package. The default value is process.platform. The supported values are win32, darwin (OS X) and linux.

--arch <arch>

The architecture of the package. The default value is process.arch. The supported values are x64 (on all platforms) and ia32 (on win32/linux only).

--overwrite

When specified, the already existing package directory and/or ZIP file will be replaced. By default, existing files are not replaced.

--pack <format>

When specified, the package directory is packed using the given format. Currently the only supported format is zip. By default, the package directory is not packed.

--launchui-version <version>

Version of the LaunchUI package to download. The default value is the currently installed version of the launchui NPM module.

--launchui-cache <path>

Path of the LaunchUI cache location where packages are downloaded. The default location is ~/.launchui.

--company <company>

The company name. Maps to the CompanyName metadata property on Windows.

--copyright <copyright>

The copyright of the application. Maps to the LegalCopyright metadata property on Windows and NSHumanReadableCopyright on OS X.

--identifier <identifier>

The bundle identifier of the application. Maps to CFBundleIdentifier on OS X.

--category <category>

The category type of the application. Maps to LSApplicationCategoryType on OS X.

--icon <path>

Path of the application icon. It must be an .ico file on Windows and .icns on OS X.

--license <path>

Path of the license file to include in the root directory of the package.

--dir <path>

Path of the directory containing additional files to include in the app subdirectory of the package.

--files <pattern,...>

A pattern, or a comma separated list of patterns, which specifies the files to include, for example *.js. The default value is **, which means that the entire contents of dir is included in the package. Refer to the Glob documentation for more information about supported patterns.

Output

The name of the package directory is <name>-v<version>-<platform>-<arch>, for example MyApp-v1.0.0-win32-ia32. The name of the ZIP file is the same, with the .zip extension. The location of the generated packages can be changed using the --out option.

The LaunchUI executable is automatically renamed to the specified application name, for example MyApp.exe on Windows, MyApp.app on OS X and MyApp on Linux.

On Windows, the default resources embedded in the executable, including version information and icon, are replaced using rcedit. On OS X, the package metadata stored in Info.plist are replaced.

API

LaunchUI Packager provides a JavaScript API which can be used by custom build scripts.

const packager = require( 'launchui-packager' );

packager( {
  name: 'MyApp',
  version: '1.0.0',
  entry: './dist/main.js',
  out: './packages'
}, function ( err, outPath ) {
  // outPath will be the path of the created package directory or file
} );

The packager() function supports the following options:

Required

Optional

See the command line usage above for more information.

License

LaunchUI Packager is licensed under the MIT license

Copyright (C) 2018 Michał Męciński