<commit_before>
# nwjs-builder-phoenix [![npm version](https://img.shields.io/npm/v/nwjs-builder-phoenix.svg)](https://npmjs.org/package/nwjs-builder-phoenix) [![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version)

A possible solution to build and package a ready for distribution NW.js app for Windows, macOS and Linux.

## Why Bother?

We already has official `nw-builder` and `nwjs-builder`, which was built as an alternative before `nw-builder` would support 0.13.x and later versions.
`nw-builder` has made little progress on the way, and `nwjs-builder` has been hard to continue due to personal and historic reasons.

`electron-builder` inspired me when I became an Electron user later, loose files excluding, various target formats, auto updater, artifacts publishing and code signing, amazing!

Although NW.js has much lesser popularity than Electron, and is really troubled by historic headaches, let's have something modern.

## Features

* Building for Windows, macOS and Linux
  * Common: `zip`, `7z`
  * Windows: `nsis`
  * macOS: TODO
  * Linux: TODO
* Building for different platforms concurrently
* Configurable executable fields and icons for Windows and macOS
* Integration for `nwjs-ffmpeg-prebuilt`
* Exclusion of useless files from `node_modules`
* TODO Auto Updater inspired by `electron-updater`
* TODO Rebuilding native modules
* Ideas appreciated :)

## Getting Started

* Make sure your NW.js project has a valid `package.json` (eg. generated by `npm init`), and have basic fields like `name`, `description` and `version` filled.

* Install `nwjs-builder-phoenix` as a `devDependencies` of your NW.js project as follows:

```shell
npm install nwjs-builder-phoenix --save-dev
```

By installing it locally, `build` and `run` commands will be available in npm scripts. You can access option lists via `./node_modules/.bin/{ build, run } --help`.

DO NOT install it globally, as the command names are just too common.

* Add `build` properties at the root of the `package.json`, for example:

```json
// package.json
{<commit_msg>docs(README): add chrome app support in features section<commit_after>
# nwjs-builder-phoenix [![npm version](https://img.shields.io/npm/v/nwjs-builder-phoenix.svg)](https://npmjs.org/package/nwjs-builder-phoenix) [![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version)

A possible solution to build and package a ready for distribution NW.js app for Windows, macOS and Linux.

## Why Bother?

We already has official `nw-builder` and `nwjs-builder`, which was built as an alternative before `nw-builder` would support 0.13.x and later versions.
`nw-builder` has made little progress on the way, and `nwjs-builder` has been hard to continue due to personal and historic reasons.

`electron-builder` inspired me when I became an Electron user later, loose files excluding, various target formats, auto updater, artifacts publishing and code signing, amazing!

Although NW.js has much lesser popularity than Electron, and is really troubled by historic headaches, let's have something modern.

## Features

* Building for Windows, macOS and Linux
  * Common: `zip`, `7z`
  * Windows: `nsis`
  * macOS: TODO
  * Linux: TODO
* Building for different platforms concurrently
* Chrome App Support
* Configurable executable fields and icons for Windows and macOS
* Integration for `nwjs-ffmpeg-prebuilt`
* Exclusion of useless files from `node_modules`
* TODO Auto Updater inspired by `electron-updater`
* TODO Rebuilding native modules
* Ideas appreciated :)

## Getting Started

* Make sure your NW.js project has a valid `package.json` (eg. generated by `npm init`), and have basic fields like `name`, `description` and `version` filled.

* Install `nwjs-builder-phoenix` as a `devDependencies` of your NW.js project as follows:

```shell
npm install nwjs-builder-phoenix --save-dev
```

By installing it locally, `build` and `run` commands will be available in npm scripts. You can access option lists via `./node_modules/.bin/{ build, run } --help`.

DO NOT install it globally, as the command names are just too common.

* Add `build` properties at the root of the `package.json`, for example:

```json
// package.json
{
{'fraction_non_alphanumeric': 0.10022883295194508, 'fraction_numerical': 0.002745995423340961, 'mean_word_length': 4.69140625, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4949079', 'n_tokens_mistral': 1308, 'n_tokens_neox': 1216, 'n_words': 518}