All Projects → mimecorg → launchui-packager

mimecorg / launchui-packager

Licence: MIT license
Package applications using LaunchUI for Windows, Linux and OS X.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to launchui-packager

launchui-packager-gui
GUI front-end for LaunchUI Packager.
Stars: ✭ 46 (-33.33%)
Mutual labels:  desktop, packager, libui
launchui
Launcher for GUI Node.js applications using libui-node.
Stars: ✭ 107 (+55.07%)
Mutual labels:  desktop, libui
hello-libui
Hello World application using libui from maven repository
Stars: ✭ 17 (-75.36%)
Mutual labels:  desktop, libui
sdfx
C# bindings for https://github.com/andlabs/libui targeting .NET Standard.
Stars: ✭ 31 (-55.07%)
Mutual labels:  desktop, libui
Vuido
Native desktop applications using Vue.js.
Stars: ✭ 6,084 (+8717.39%)
Mutual labels:  desktop, libui
bevy retrograde
Plugin pack for making 2D games with Bevy
Stars: ✭ 212 (+207.25%)
Mutual labels:  desktop
ult
The Ultimate Dev Stack
Stars: ✭ 54 (-21.74%)
Mutual labels:  desktop
komorebi
A beautiful and customizable wallpaper manager for Linux
Stars: ✭ 231 (+234.78%)
Mutual labels:  desktop
concats
🔨 Desktop app to output a single-column csv file of rows of concatenated fields from an input csv or tsv file.
Stars: ✭ 20 (-71.01%)
Mutual labels:  desktop
larasar
Laravel + Quasar Framework
Stars: ✭ 77 (+11.59%)
Mutual labels:  desktop
SteamTradeBot
Open source steam trading bot. Accepting or declining trades based on the automatic value calculation.
Stars: ✭ 65 (-5.8%)
Mutual labels:  desktop
pranaOS
A unix operating system written from scratch in c that gives support for arm, x86
Stars: ✭ 138 (+100%)
Mutual labels:  desktop
Chromecast
Chromecast desktop app: Node.js, Electron, React & Material-UI.
Stars: ✭ 49 (-28.99%)
Mutual labels:  desktop
OpenChess
A cross-platform chess game.
Stars: ✭ 18 (-73.91%)
Mutual labels:  desktop
ubuntu-vnc-xfce-g3
Headless Ubuntu/Xfce containers with VNC/noVNC (Generation 3)
Stars: ✭ 83 (+20.29%)
Mutual labels:  desktop
ubuntu-vnc-xfce-chromium
Retired. Headless Ubuntu/Xfce container with VNC/noVNC and Chromium (Generation 1)
Stars: ✭ 20 (-71.01%)
Mutual labels:  desktop
desktop-application
Electron-based desktop time tracker for Cattr
Stars: ✭ 38 (-44.93%)
Mutual labels:  desktop
qikQR
minimal desktop app to create QR codes.
Stars: ✭ 20 (-71.01%)
Mutual labels:  desktop
Smart-Text-Editor
The text editor that requires only a browser and a keyboard!
Stars: ✭ 60 (-13.04%)
Mutual labels:  desktop
soundboard
cross-platform desktop application to spice up your audio/video conferences
Stars: ✭ 50 (-27.54%)
Mutual labels:  desktop

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

  • name: name of the application
  • version: version of the application
  • entry: path of the entry script of the application

Optional

  • out: path of the output directory
  • platform: platform of the package
  • arch: architecture of the package
  • overwrite: if set to true, existing output will be replaced
  • pack: pack the output directory
  • launchuiOpts: additional options passed to launchui.download(), including version and cache
  • company: company name (win32)
  • copyright: copyright information (win32/darwin)
  • identifier: bundle identifier (darwin)
  • category: application category (darwin)
  • icon: path of the icon file (win32/darwin)
  • license: path of the license file
  • dir: path of the directory containing additional files
  • files: a pattern, or an array of patterns, which specify additional files to include in the package

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].