node-portfinder

# Installation

$ [sudo] npm install portfinder

# Usage

The `portfinder` module has a simple interface:

var portfinder = require('portfinder');
portfinder.getPort(function (err, port) {
//
// `port` is guaranteed to be a free port
// in this scope.
//
});

Or with promise (if Promise are supported) :

const portfinder = require('portfinder');
portfinder.getPortPromise()
.then((port) => {
//
// `port` is guaranteed to be a free port
// in this scope.
//
})
.catch((err) => {
//
// Could not get a free port, `err` contains the reason.
//
});

If `portfinder.getPortPromise()` is called on a Node version without Promise (<4), it will throw an Error unless Bluebird or any Promise pollyfill is used.

## Ports search scope

By default `portfinder` will start searching from `8000` and scan until maximum port number (`65535`) is reached.

You can change this globally by setting:

portfinder.basePort = 3000; // default: 8000
portfinder.highestPort = 3333; // default: 65535

or by passing optional options object on each invocation:

portfinder.getPort({
port: 3000, // minimum port
stopPort: 3333 // maximum port
}, callback);

# Run Tests

$ npm test

### Author: <a href="http://nodejitsu.com">Charlie Robbins</a>

### Maintainer: <a href="https://github.com/eriktrom">Erik Trom</a>

### License: MIT/X11