All Projects → Gisto → nwjs-shell-builder

Gisto / nwjs-shell-builder

Licence: MIT License
NW.js (node-webkit) shell script builder and packager scripts

Programming Languages

shell
77523 projects
NSIS
403 projects

Projects that are alternatives of or similar to nwjs-shell-builder

Nuwk
Nuwk! makes it easy to create Mac Applications based on node-webkit, simplifying testing and building procedures. It takes care of creating the executable, attaching the app icon and configuring the plist file accordingly.
Stars: ✭ 106 (+34.18%)
Mutual labels:  nwjs
Trilogy
TypeScript SQLite layer with support for both native C++ & pure JavaScript drivers.
Stars: ✭ 195 (+146.84%)
Mutual labels:  nwjs
research
🚀 Natural language interface prototype to browse the Web. This project and its learnings have evolved into the Tholian Stealth browser.
Stars: ✭ 14 (-82.28%)
Mutual labels:  nwjs
Create Nw React App
Create NW.js React apps with no build configuration.
Stars: ✭ 111 (+40.51%)
Mutual labels:  nwjs
Streamlink Twitch Gui
A multi platform Twitch.tv browser for Streamlink
Stars: ✭ 2,059 (+2506.33%)
Mutual labels:  nwjs
HandyBrowser
A Handshake enabled Chromium web browser and reference client; works with HSD and the HNSD light client. Use our example to build or integrate Handshake into any browser.
Stars: ✭ 101 (+27.85%)
Mutual labels:  nwjs
Nw Ninja
A minimalistic NW.js starter project for ninjas
Stars: ✭ 101 (+27.85%)
Mutual labels:  nwjs
html5-screensaver-node-webkit
Screensaver made with HTML5, CSS, Javascript and NodeJS driven by node-webkit
Stars: ✭ 30 (-62.03%)
Mutual labels:  nwjs
Git Watcher
Git GUI desktop app that shows real-time diff file information for working directory and index
Stars: ✭ 165 (+108.86%)
Mutual labels:  nwjs
nw-angular-cli-example
An example of an Angular CLI app running in NW.js
Stars: ✭ 24 (-69.62%)
Mutual labels:  nwjs
Kiwitalk
An UNOFFICIAL cross-platform KakaoTalk client written in TypeScript (React)
Stars: ✭ 123 (+55.7%)
Mutual labels:  nwjs
Toby
A YouTube player for the desktop
Stars: ✭ 136 (+72.15%)
Mutual labels:  nwjs
FilterJS
A node-based procedural texture generator, written in node.js and powered by WebGL
Stars: ✭ 59 (-25.32%)
Mutual labels:  nwjs
Nw.js
Call all Node.js modules directly from DOM/WebWorker and enable a new way of writing applications with all Web technologies.
Stars: ✭ 38,611 (+48774.68%)
Mutual labels:  nwjs
GoJS-projects
Project examples for GoJS
Stars: ✭ 45 (-43.04%)
Mutual labels:  nwjs
Qqtools
QQ群工具,提供桃叭监听,48系成员直播监听,48系成员信息监听,微博监听,群成员自动欢迎等功能。
Stars: ✭ 106 (+34.18%)
Mutual labels:  nwjs
clipboard-watch
This is height performance clipboard watcher, support windows,osx
Stars: ✭ 21 (-73.42%)
Mutual labels:  nwjs
Signal-Desktop-installer
Deprecated, please use official standalone Signal Desktop
Stars: ✭ 15 (-81.01%)
Mutual labels:  nwjs
nwjs-boilerplate
nw.js (node-webkit) boilerplate
Stars: ✭ 26 (-67.09%)
Mutual labels:  nwjs
web-to-desktop-framework-comparison
This repository was made to create an objective comparison of multiple framework that grant us to "transform" our web app to desktop application formats.
Stars: ✭ 605 (+665.82%)
Mutual labels:  nwjs

nwjs application shell builder and packager

🚨 NOTE! This repository in no longer maintained if you are looking for something similar and maintained please check-out https://github.com/lgodard/nwjs-node-packager which allows to package (linux, win, osx) nwjs app with optionally binary V8 snapshot to protect/obfuscate sources.

What's in here:

nwjs shell builder script

nwjs shell script builder for nwjs (node-webkit) applications.

This script can be easily integrated into your build process.

How it works

It will download nwjs 32/64bit for Linux, Windows and OSX and build for all 3 platforms from given source directory

How we use it

This script was made to help us automate nightly builds of Gisto

You can see example usage in the CI script in Gisto repository: drone.io script

Usage:

If you want/have to build on Windows machine, use: Babun as your shell. Tested on Windows 8 but should work on Windows 7 too. If you're missing an package (like ZIP), just install it via Babun with pact - a Babun provided package manager.

$ /path/to/nwjs-build.sh --help

Options:

Option Description
-h, --help Show help and usage
--version=PACKAGE_VERSION Set package version (defaults to 1.0.0)
--name=NAME Set package name (if not set - default will be used)
--src=/PATH/TO/DIR Set path to source dir
--target="2 3" Build for particular OS or all (default is to build for all targets)
Available targets:
- 0 - linux-ia32
- 1 - linux-x64
- 2 - win-ia32
- 3 - win-x64
- 4 - osx-ia32
- 5 - osx-x64
--nw=VERSION Set nwjs version to use (if not set - default will be used)
--output-dir=/PATH/TO/DIR Change output directory (if not set - default will be used)
--win-icon=/PATH/TO/FILE (For Windows target only) Path to .ico file (if not set - default will be used)
--osx-icon=/PATH/TO/FILE (For OSX target only) Path to .icns file (if not set - default will be used)
--CFBundleIdentifier=com.bundle.name (For OSX target only) Name of the bundle’s Identifier (if not set - default will be used)
--libudev (For Linux target only) Use if you want the script to handle the lack of libudev.so.0 (linux targets) as mentioned here
--build Start the build process (IMPORTANT! Must be the last parameter of the command)
--clean Clean and remove TMP directory

Examples

========================

The bare minimum to build:
$ ./path/to/nwjs-build.sh \
    --src=/home/projects/PACKAGE_NAME/src \
    --build
Clean working dir:
$ ./path/to/nwjs-build.sh \
    --clean
Build for all targets:
$ ./path/to/nwjs-build.sh \
    --src=/home/projects/PACKAGE_NAME/src \
    --output-dir=/path/to/output/the/builds \
    --name=PACKAGE_NAME \
    --win-icon=/home/projects/resorses/icon.ico \
    --osx-icon=/home/projects/resorses/icon.icns \
    --CFBundleIdentifier=com.bundle.name \
    --target="0 1 2 3 4 5" \
    --version="1.0.0" \
    --libudev \
    --nw=0.11.6 \
    --build
Build only for windows 64 and 32 bit targets:
$ ./path/to/nwjs-build.sh \
    --src=/home/projects/PACKAGE_NAME/src \
    --output-dir=/path/to/output/the/builds \
    --name=PACKAGE_NAME \
    --win-icon=/home/projects/resorses/icon.ico \
    --target="2 3" \
    --version="1.0.0" \
    --build
Build only for osx 32 bit target:
$ ./path/to/nwjs-build.sh \
    --src=/home/projects/PACKAGE_NAME/src \
    --output-dir=/path/to/output/the/builds \
    --name=PACKAGE_NAME \
    --osx-icon=/home/projects/resorses/icon.icns \
    --CFBundleIdentifier=com.bundle.name \
    --target="4" \
    --version="1.0.0" \
    --build
Build for all 64 bit:
$ ./path/to/nwjs-build.sh \
    --src=/home/projects/PACKAGE_NAME/src \
    --output-dir=/path/to/output/the/builds \
    --name=PACKAGE_NAME \
    --osx-icon=/home/projects/resorses/icon.icns \
    --win-icon=/home/projects/resorses/icon.ico \
    --CFBundleIdentifier=com.bundle.name \
    --target="1 3 5 " \
    --version="1.0.0" \
    --libudev \
    --build

NWJS packaging script (currently in BETA)

Please note that this is currently in BETA and it is not affecting the build script. You may off course use it but beta warning applies with all consequenses, so don't expect it to work out-of-the-box.

  • install if not present zip, unzip, tar, git, NSIS, libxml2
  • rename config.json.sample to config.json and adjust correct paths or generate with ./pack.sh init or specify location of the config.json by adding --config=/path/to/config.json

Usage:

./pack.sh init - generate config.json with interactive CMD

./pack.sh --windows - to build Windows installers

./pack.sh --linux - to build Linux installers

./pack.sh --osx - to build OSX installers

./pack.sh --all - to build installers for all systems

./pack.sh --all --config=/path/to/config.json - to build installers for all systems but using config.json located in any other path than in root directory

./pack.sh --clean - removes the ./TMP working directory

./pack.sh --clean all - removes the ./TMP working directory and releases directory (with all the content)

Hooks:

Place hooks in ./hooks/ directory

  • file name before.sh will be executed before each build start
  • file name after.sh will be executed after packaging script is finished
  • file name after_build.sh will be executed after each platform build is finished

License

MIT

Thanks

Huge thanks to @SchizoDuckie for assisting with OSX build

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].