find-free-ports v3.1.1
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-portsUsage
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