Skip to content

dev-process-manager is a Node.js process manager for local development environments that need multiple processes.

License

Notifications You must be signed in to change notification settings

vivid-planet/dev-process-manager

@comet/dev-process-manager

dev-process-manager is a Node.js process manager for local development environments that need multiple processes. It can be easily integrated into existing Node.js projects.

Installation

$ npm install @comet/dev-process-manager

Recommended Alias:

alias dpm="npm exec -- dev-pm"

Usage

Add dev-pm.config.js file to the project root. This file defines all available scripts, which should be started by dev-process-manager.

dev-pm.config.js

module.exports = {
    scripts: [
        {
             name: "api",
             script: "npm run start",
             group: ["foo", "bar"], //to access a group of scripts in all commands using @groupname
             waitOn: [
                "packages/foo/lib/index.d.ts", //wait until package is built
                "tcp:5432"  //wait until database is started (tcp:$POSTGRESQL_PORT is also supported)
             ]
        },
        ...
    ],
};

Commands

Start

Start one or all processes. The script-name argument can also be multiple names, "all" or a @group.

$ npx dev-pm start [options] [script-name or @group]

Options: --follow Follow logs after starting script (script will not be stopped when stopping this process)

Stop

Stop running processes

$ npx dev-pm stop [script-name or @group]

Restart

Restart a previously started processes

$ npx dev-pm restart [options] [script-name or @group]

Options: --follow Follow logs after starting script (script will not be stopped when stopping this process)

Status

Lists running processes

$ npx dev-pm status [options] [script-name or @group]

Options: --interval [seconds] Keep status open and refresh periodically at specified interval

Logs

Prints logs of either a specific process or all running processes in real time.

$ npx dev-pm logs [script-name or @group]

Start Daemon

Starts the dev-pm daemon, usually done automatically by other commands.

$ npx dev-pm start-daemon

Shutdown

Stop all running processes and shutdown dev-pm

$ npx dev-pm shutdown

Development

Use in existing project with

npx ts-node ~/ws/dev-process-manager/src/index.ts