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.
$ npm install @comet/dev-process-managerRecommended Alias:
alias dpm="npm exec -- dev-pm"Add dev-pm.config.ts file to the project root.
This file defines all available scripts, which should be started by dev-process-manager.
import { defineConfig } from '@comet/dev-process-manager';
export default defineConfig({
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)
]
},
...
],
});(Other supported file types are 'ts', 'mts', 'cts', 'js', 'mjs', 'cjs' and 'json')
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 running processes
$ npx dev-pm stop [script-name or @group]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)
Lists running processes
$ npx dev-pm status [options] [script-name or @group]Options:
--interval [seconds] Keep status open and refresh periodically at specified interval
Prints logs of either a specific process or all running processes in real time.
$ npx dev-pm logs [script-name or @group]Starts the dev-pm daemon, usually done automatically by other commands.
$ npx dev-pm start-daemonStop all running processes and shutdown dev-pm
$ npx dev-pm shutdownUse in existing project with
npx ts-node ~/ws/dev-process-manager/src/index.ts