package.json-based process manager
noreman is a package.json-based process runner for Node. It's extremely experimental at this time, so I can't recommend using it outside of the development environment.
$ npm install -g noreman
Let's say that in development I need to watch and compile CoffeeScript and Sass files, as well as run a web server. In production, I might just need to run a web server. With noreman, I can achieve this with a "processes" section in my package.json:
Now, if I run
noreman from the directory my package.json is in, noreman will start the three defined processes, and log their output to standard out, prefixed by a color-coded label for each process:
If passed an environment name, noreman will use that environment, e.g.:
$ noreman development
If not given an argument, noreman will look for
NODE_ENV in the current environment (it will source your
.env file first for you) and use that.
If not given an argument, and unable to see
NODE_ENV, noreman will default to "development".