kolodny-node-webkit-builder
v0.1.6
Published
node-webkit-builder
Downloads
9
Readme
node-webkit-builder
Lets you build your node-webkit apps for mac, win and linux via cli. It will download the prebuilt binaries for a newest version, unpacks it, creates a release folder, create the app.nw file for a specified directory and copies the app.nw file where it belongs.
Installation
Local
npm install node-webkit-builder --save-dev
Global
npm install node-webkit-builder -g
Grunt and Gulp Plugins
Yes, there is also a Grunt Plugin. For Gulp, just use the module :)
Usage
Usage: nwbuild [options] [path]
Options:
-p, --platforms Platforms to build, comma-sperated, can be: win,osx,linux32,linux64 [default: "osx,win"]
-v, --version The nw version, eg. 0.8.4 [default: "latest"]
-r, --run Runs node-webkit for the current platform [default: false]
-o, --buildDir The build folder [default: "./build"]
-f, --forceDownload Force download of node-webkit [default: false]
--quiet Disables logging [default: false]
Run node-webkit
During development you can run node-webkit with nwbuild -r path/to/your/younwapp/
Or use the module:
var NwBuilder = require('node-webkit-builder');
var nw = new NwBuilder({
files: './path/to/nwfiles/**/**', // use the glob format
platforms: ['win','osx']
});
// Log stuff you want
nw.on('log', console.log);
// Build returns a promise
nw.build().then(function () {
console.log('all done!');
}).catch(function (error) {
console.error(error);
});
// And supports callbacks
nw.build(function(err) {
if(err) console.log(err);
})
Options
options.files Required
Type: String
or Array
Default value: null
The path to your node webkit app. It supports simple-glob so you can do stuff like ['foo/*.js', '!foo/bar.js', 'foo/bar.js']
.
options.version
Type: String
Default value: 'latest'
The version of node-webkit you want to use. Per default it looks up the latest version. Here is a list of all available releases
options.platforms
Type: Array
Default value: ['win', 'osx']
The platforms you want to build. Can be ['win', 'osx', 'linux32', 'linux64']
options.appName
Type: String
Default value: false
The Name of your node-webkit app. If this value is set to null, it will autodetect the name
form your projects package.json. This will be used to generate a plist file for mac.
options.appVersion
Type: String
Default value: false
The version of your node-webkit app. If this value is set to null, it will autodetect the version
form your projects package.json. This will be used to generate a plist file for mac.
options.buildDir
Type: String
Default value: ./build
This is where the releases are saved.
options.cacheDir
Type: String
Default value: ./cache
This is where the cached node-webkit downloads are
options.buildType
Type: String
or function
Default value: default
How you want to save your build.
default
[appName]versioned
[appName] -v[appVersion]timestamped
[appName] - [timestamp];- A function with options as scope (e.g
function () {return this.appVersion;}
)
options.forceDownload
Type: Boolean
Default value: false
This will delete everything in your build_dir
directory, including the cached downloaded prebuilt binaries
options.macCredits
Type: String
Default value: false
MAC ONLY: The path to your credits.html file. If your don't provide your own it will use the one provided by node-webkit
options.macIcns
Type: String
Default value: false
MAC ONLY: The path to your ICNS icon file. If your don't provide your own it will use the one provided by node-webkit
options.macZip
Type: Boolean
Default value: false
MAC ONLY: Use a app.nw
folder instead of ZIP
file, this significantly improves the startup speed of applications on mac
, since no decompressing is needed. Builds on other platforms will still use ZIP
files.
options.macPlist
Type: String
Default value: false
MAC ONLY: if you supply a string to a Plist file it will use it. Otherwise it will generate something usefull from your package.json
options.winIco
Type: String
Default value: null
WINDOWS ONLY: The path to your ICO icon file. If your don't provide your own it will use the one provided by node-webkit. If you are building on MAC or LINUX you must have Wine installed to use this option.
To Do:
- Test it on Linux and Windows
Release History
- 2014-08-19
0.1.2
adds a progress bar to downloads, fixes downloading through a proxy, fixed winIco, bug fixes - 2014-08-01
0.1.0
use app filename for generated executables, optimized version checking, (known issue:winIco
on windows) - 2014-07-31
0.0.4
fixed compatibility with nodewebkit 0.10.0 - 2014-04-20 Added run option, bug fixes
- 2014-04-13 Preview Release