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-manager
Recommended Alias:
alias dpm="npm exec -- dev-pm"
Add dev-pm.config.js
file to the project root.
This file defines all available scripts, which should be started by dev-process-manager.
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)
]
},
...
],
};
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-daemon
Stop all running processes and shutdown dev-pm
$ npx dev-pm shutdown
Use in existing project with
npx ts-node ~/ws/dev-process-manager/src/index.ts