Skip to main content
Home

@pup/pup@1.0.4
Built and signed on GitHub Actions

Powerful universal process manager, designed to keep your applications and services alive.

This package works with Node.js, Deno, Bun
This package works with Node.js
This package works with Deno
This package works with Bun
JSR Score
70%
Published
7 months ago (1.0.4)
class Pup

Constructors

new
Pup(
unvalidatedConfiguration: unknown,
configFilePath?: string,
temporaryStoragePath?: string,
persistentStoragePath?: string,
)

Properties

cleanup: () => Promise<void>

This is intended to be called by global unload event and clears any stray files

events: EventEmitter
init: () => Promise<void>
logger: Logger
abstract
port: Prop
processes: (Process | Cluster)[]
abstract
restApi: RestApi
abstract
secret: Prop
status: Status
private
api: () => unknown

Starts the api

private
maintenance: (skip?: boolean) => unknown

Performs periodic maintenance tasks in Pup. Purges logs and state information older than the specified keepHours. This method is scheduled to run every hour.

private
abstract
maintenanceTimer: number
private
watchdog: () => unknown

Watchdog function that manages process lifecycle events like auto-start, restart, and timeouts.

private
abstract
watchdogTimer: number

Methods

allProcesses(): Process[]
block(
id: string,
requestor: string,
): boolean
restart(
id: string,
requestor: string,
): boolean
start(
id: string,
requestor: string,
): boolean
stop(
id: string,
requestor: string,
): Promise<boolean>
telemetry(data: ApiTelemetryData): boolean

Function to set telemetry data of a process

terminate(forceQuitMs: number): Promise<void>
unblock(
id: string,
requestor: string,
): boolean

Static Methods

init(
unvalidatedConfiguration: unknown,
configFilePath?: string,
): Promise<Pup>

New Ticket: Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@pup/pup

Import symbol

import { Pup } from "@pup/pup/lib";
or

Import directly with a jsr specifier

import { Pup } from "jsr:@pup/pup/lib";

Add Package

pnpm i jsr:@pup/pup
or (using pnpm 10.8 or older)
pnpm dlx jsr add @pup/pup

Import symbol

import { Pup } from "@pup/pup/lib";

Add Package

yarn add jsr:@pup/pup
or (using Yarn 4.8 or older)
yarn dlx jsr add @pup/pup

Import symbol

import { Pup } from "@pup/pup/lib";

Add Package

vlt install jsr:@pup/pup

Import symbol

import { Pup } from "@pup/pup/lib";

Add Package

npx jsr add @pup/pup

Import symbol

import { Pup } from "@pup/pup/lib";

Add Package

bunx jsr add @pup/pup

Import symbol

import { Pup } from "@pup/pup/lib";