2
2
mirror of https://github.com/Llewellynvdm/nativefier.git synced 2024-09-25 11:09:02 +00:00
nativefier/README.md
2015-07-05 15:24:36 +08:00

3.0 KiB

Nativefier

Introduction

NPM

Package and wraps a single-page web app in an electron OS executable (.app, .exe, etc) via the command line.

Simply a fork with a small layer of abstraction on top of electron-packager for the CLI.

I did this because I was tired of having to ⌘-tab or alt-tab to my browser and then search through the numerous tabs open when I was using Whatsapp Web or Facebook Messenger.

Installation

# for use from cli
npm install nativefier -g

Usage

Usage: nativefier <appname> --target=<url> --platform=<platform> --arch=<arch> --version=<version>

Required options

appname            name for the app
target             target url for the single page app
platform           all, or one or more of: linux, win32, darwin (comma-delimited if multiple)
arch               all, ia32, x64
version            see https://github.com/atom/electron/releases

Example            nativefier Messenger --target=http://messenger.com --platform=darwin --arch=x64 --version=0.28.2

Optional options

all                equivalent to --platform=all --arch=all
out                the dir to put the app into at the end. defaults to current working dir
icon               the icon file to use as the icon for the app
app-bundle-id      bundle identifier to use in the app plist
app-version        version to set for the app
helper-bundle-id   bundle identifier to use in the app helper plist
ignore             do not copy files into App whose filenames regex .match this string
prune              runs `npm prune --production` on the app
overwrite          if output directory for a platform already exists, replaces it rather than skipping it
asar               packages the source code within your app into an archive
sign               should contain the identity to be used when running `codesign` (OS X only)
version-string     should contain a hash of the application metadata to be embedded into the executable (Windows only).
                   These can be specified on the command line via dot notation,
                   e.g. --version-string.CompanyName="Company Inc." --version-string.ProductName="Product"
                   Keys supported:
                   - CompanyName
                   - LegalCopyright
                   - FileDescription
                   - OriginalFilename
                   - FileVersion
                   - ProductVersion
                   - ProductName
                   - InternalName

See electron-packager for more details.

Examples

Creating a native wrapper of http://messenger.com for OSX x64:

$ nativefier Messenger --platform=darwin --arch=x64 --version=0.29.1 --target='http://messenger.com' --overwrite

Todo

  • Set the app icon from a url in the CLI