# watch_reapp
### Restarts your nodejs app when you save a file in your specified directory.

Ignores supplied Arrays of filenames, paths or wildcard names. (optional)

LOGS your process to file. (optional)

watch_reapp can be deployed in one line `require('watch_reapp')('./your_app.js')`

## How to use (the simple way)
Create a js file.
```javascript
//MODIFICATIONS IN THIS FILE WILL NOT BE UPDATED AUTOMATICALLY
//require watch_reapp module
const watch_reapp = require('watch_reapp')
//run module, with path to app you wish to execute and restart
watch_reapp('./server.js')//<--path to your app in here!
```
### Default settings without config object
local dir (`'./'`) is watched,

files with extensions `['.js', '.html', '.css', '.json']` will be added to watch list on execution,

default directories being ignored `['./node_modules/', './.vscode/','./.git/']`
  - dir = `'./'` 
  - watch_ext = `['.js', '.html', '.css', '.json']`
  - ignore_dirs = `['./node_modules/', './.vscode/', './.git/']` 
  - ignore_files = `[]`
  - ignore_dirs_containing = `[]`
  - log = `false`
  - log_dir = `'./LOGS/'`



## How to use (with OPTIONAL config)
```javascript
//MODIFICATIONS IN THIS FILE WILL NOT BE UPDATED AUTOMATICALLY
//create a config object
const config = {
    dir :'./',//this directory is the starting point for all sub-folders and files scanned
    watch_ext : ['.js','.html', '.css', '.json'], //file extensions to watch
    ignore_dirs : ['./node_modules/', './.vscode/', './MONGODATABASE/'], //directories to ignore, 
    ignore_dirs_containing : ['ZDEP_'], //wildcard strings directory
    ignore_files : ['./ignore_file.js'], //files to ignore, 
    log : true, //define log directory default log dir will be "./LOGS/" if log_dir is not supplied
    log_dir : './LOGS/' //bare in mind that this folder will be added to the ignore_dirs list
}
//require watch_reapp module
const watch_reapp = require('watch_reapp')
//run module, with path to app you wish to run and add the config object as second parameter
watch_reapp('./server.js', config)
```
### be sure to re-include `['./node_modules/', './.vscode/', './.git/']` to ignore_dirs; you might end up watching thousands of files otherwise; your computer could stop function in a very unimpressive manner.

## Updates
#### 1.1.0 (2017-10-17)
 - added JSDoc support (when trying to use watch_reapp you should now receive informative and helpful intellisense, tested in visual studio code, technically you shouldnt even need this readme anymore)
 - made LOG keeping optional (so the folder is no longer created if you don't want LOGS, the folder LOGS will also not be ignored any longer)
 - added custom log directory, careful log directory will be ignored by default
### PLEASE SEND ME FEEDBACK; especially the bad stuff, I would like to make this better!
email = mattias.lemmens@showtex.com

