find-free-ports
v3.1.1
Published
Find multiple free ports on localhost
Downloads
32,142
Maintainers
Readme
This is a very small package that allows developers to find free ports on the local system. Unlike most other "find-free-port" utilities, this library allows scanning for multiple free ports at once, making sure that there are no doubles in the result.
✔️ TypeScript support
✔️ No dependencies
✔️ Should work on all major NodeJS versions
✔️ Now automatically tested for mistakes
This library has been benchmarked and parallelises the port checks using a customisable number of workers for optimal performance. The alogithm does not create a new anonymous socket for each port, but instead iterates in parallell over the system's port numbers. This is both faster and less resource-intensive.
🔍 Found an issue? Please let me know in the issue tracker and we'll get it fixed ASAP.
npm i find-free-ports
Usage
Import the library:
import findFreePorts from "find-free-ports"
or
const findFreePorts = require('find-free-ports');
Next, call the main function with the amount of free ports you need:
async function startMultipleServers() {
const [a, b, c, d] = await findFreePorts(4);
// now do something interesting with the new ports ...
}
API
findFreePorts(count?, opts?)
import { findFreePorts } from "find-free-ports"
Search for the specified amount of free ports on the local machine. If count
is left unspecified, it defaults to 1
. opts
may be a dictionary containing one
of the following keys:
isFree
: custom function that is used to check whether the given port is freestartPort
: start scanning for free ports starting from this port number. Defaults to1025
.endPort
: prevent the scanner from exceeding this port number. Defaults to65535
.jobCount
: how much workers that may at most be looking for free ports
isFreePort(port)
import { isFreePort } from "find-free-ports"
Check whether the given port is free by trying to set up a socket.
This function returns a promise containing either true
or false
depending
on whether the port was available.
FindFreePortsOptions
import { FindFreePortsOptions } from "find-free-ports"
A TypeScript interface that lists all valid options that may be passed as the
opts
parameter to findFreePorts()
.
Similar Packages
License
The MIT License