getport
Get an available TCP port
Usage
import { getPort } from "https://deno.land/x/getport/mod.ts";
const port = await getPort({}).catch((error: Error) => {
throw error;
});
console.log(port); //=> fall back to a random port
Pass in a preferred port:
import { getPort } from "https://deno.land/x/getport/mod.ts";
const port = await getPort({ port: 3000 }).catch((error: Error) => {
throw error;
});
console.log(port); //=> Will use 3000 if available, otherwise fall back to a random port
Pass in an array of preferred ports:
import { getPort } from "https://deno.land/x/getport/mod.ts";
const port = await getPort({ port: [3000, 3001, 3002] }).catch((error: Error) => {
throw error;
});
console.log(port); //=> 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:
import { getPort, makeRange } from "https://deno.land/x/getport/mod.ts";
const port = await getPort({ port: makeRange(3000, 3100) }).catch((error: Error) => {
throw error;
});
console.log(port); //=> 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.
hostname
Type: string
The hostname on which port resolution should be performed. Can be either an IPv4 or IPv6 address.
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
.