5.0.0 • Published 5 years ago

get-port-electron v5.0.0

Weekly downloads
7
License
MIT
Repository
github
Last release
5 years ago

get-port Build Status

Get an available TCP port

This fork is built with electron usage in mind

Install

$ npm install get-port-electron

Usage

const getPort = require('get-port-electron');

(async () => {
	console.log(await getPort());
	//=> 51402
})();

Pass in a preferred port:

(async () => {
	console.log(await getPort({port: 3000}));
	// Will use 3000 if available, otherwise fall back to a random port
})();

Pass in an array of preferred ports:

(async () => {
	console.log(await getPort({port: [3000, 3001, 3002]}));
	// Will use any element in the preferred ports array if available, otherwise fall back to a random port
})();

Use the makeRange() helper in case you need a port in a certain range:

(async () => {
	console.log(await getPort({port: getPort.makeRange(3000, 3100)}));
	// Will use any port from 3000 to 3100, otherwise fall back to a random port
})();

API

getPort(options?)

Returns a Promise for a port number.

options

Type: object

port

Type: number | Iterable<number>

A preferred port or an iterable of preferred ports to use.

host

Type: string

The host on which port resolution should be performed. Can be either an IPv4 or IPv6 address.

getPort.makeRange(from, to)

Make a range of ports from...to.

Returns an Iterable for ports in the given range.

from

Type: number

First port of the range. Must be in the range 1024...65535.

to

Type: number

Last port of the range. Must be in the range 1024...65535 and must be greater than from.

Beware

There is a very tiny chance of a race condition if another service starts using the same port number as you in between the time you get the port number and you actually start using it.

Related