# nw-dev

> A drop-in library for nw.js development

Latest version **3.0.1** (published 2016-11-08) · MIT license · 0 weekly downloads

## Install

```sh
npm install nw-dev
pnpm add nw-dev
yarn add nw-dev
bun add nw-dev
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.1 |
| Published | 2016-11-08 |
| First published | 2015-04-10 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 32 |
| Maintainers | 1j01 |
| Keywords | live-reload, dev-reload, auto-reload, reload, webkit, node-webkit, nw.js, nwjs, nw, app, desktop, dev, developer, development |

## Links

- npm: https://www.npmjs.com/package/nw-dev
- Repository: https://github.com/1j01/nw-dev
- Homepage: https://github.com/1j01/nw-dev#readme
- Issues: http://github.com/1j01/nw-dev/issues
- npm.io page: https://npm.io/package/nw-dev

## Dependencies (1)

- [chokidar](https://npm.io/package/chokidar.md) ^1.4.3

## Recent versions

- 3.0.1 (latest) — 2016-11-08
- 3.0.0 — 2016-05-10
- 2.0.0 — 2016-05-06
- 1.3.1 — 2015-10-22
- 1.3.0 — 2015-10-21
- 1.2.3 — 2015-05-31
- 1.2.2 — 2015-05-23
- 1.2.1 — 2015-05-18
- 1.2.0 — 2015-04-20
- 1.1.0 — 2015-04-11
- 1.0.0 — 2015-04-10

## README

# nw-dev

A drop-in library for [nw.js][] development

* Live-reloads upon save

* Reloads when you press <kbd>F5</kbd>

* Opens the devtools when you press <kbd>F12</kbd> (`nw@>=0.13.0` does this for you)

* Opens the devtools upon error

* Sets `window.CRASHED` upon error,
  so you can stop an animation loop for example
  (and not flood the console with errors)

* Clears the require cache,
  so reloading works with modules

* When you change `package.json`, it closes and reopens the window
  with the new values, so you don't even have to restart
  to change things like `window.frame`
  (not working in latest nw.js)

* When loaded in a browser (non-nw.js),
  it only tries to do error handling


## install

`npm i nw-dev --save-dev`

Put this script before any other scripts
(that you're developing, at least):

```html
<script src="node_modules/nw-dev/lib/dev.js"></script>
```


## exclude some files from being watched

By default `node_modules`, `npm-debug.log`, `.git`, `.hg`, and `.svn` are ignored.

You can ignore additional paths by adding a `data-ignore` attribute to the script:

```html
<script src="node_modules/nw-dev/lib/dev.js" data-ignore="data.json|*.md"></script>
```

The ignore pattern will be passed to [chokidar][] and interpreted by [micromatch][].


## don't annoyingly assert window focus when reloading

(This can be especially annoying if your editor autosaves!)

You may have your app set up to show itself once it finishes loading.

That's a good thing, but if you're calling `win.show()`,
it can inadvertently focus the window.

Do this (with JavaScript):

```js
if(!win.shown){
    win.show();
    win.shown = true;
}
```

Or this (with CoffeeScript):

```coffee
win.show() unless win.shown
win.shown = yes
```

(Now autosaving can once again be beneficial!)


## develop nw-dev

* `npm i`

* `npm link`, and `npm link nw-dev` from an nw.js project

* `npm run prepublish` to recompile

[nw.js]: https://github.com/nwjs/nw.js
[chokidar]: https://github.com/paulmillr/chokidar
[micromatch]: https://github.com/jonschlinkert/micromatch

---
_Source: https://npm.io/package/nw-dev · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
