Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

portfinder

http-party35.1mMIT1.0.36TypeScript support: included

A simple tool to find an open port on the current machine

http, ports, utilities

readme

node-portfinder

CI

Installation

You can install portfinder using a package manager like npm, yarn, or bun:

npm install portfinder

Usage

The portfinder module has a simple interface:

const portfinder = require('portfinder');

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

Or using promises:

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.
    //
  });

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.setBasePort(3000);    // default: 8000
portfinder.setHighestPort(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: Charlie Robbins

Author/Maintainer: Erik Trom

License: MIT/X11