1.0.5 • Published 10 months ago

nx-pm2-plugin v1.0.5

Weekly downloads
-
License
-
Repository
github
Last release
10 months ago

Nx-PM2 Plugin

The nx-pm2-plugin serves as a high-functionality add-on for an Nx monorepo, designed to facilitate the execution of any Node.js applications utilizing the pm2 process manager. This plugin offers seamless integration, optimizing the management and maintenance of your application's runtime processes.

Installation

Use the package manager npm to install nx-pm2-plugin.

npm  install  nx-pm2-plugin

Usage

create a task in nx (example):

"pm2": {
	"executor": "nx-pm2-plugin:pm2-executor",
	"options": {
		"command": "nx-pm2-example:serve:production",
		"name": "example"
	}
}

execute task

npx nx run  nx-pm2-example:pm2

Documentation

Executor options

(Shema):

PropertyTypeDescription
namestringThe name of the application
instancesnumberNumber of instances to start, if set, automatically in cluster mode
max_memory_restartstringMax memory amount after which app needs to restart
log_date_formatstringDate format for logs
merge_logsbooleanWhether to merge logs
autorestartbooleanWhether to auto-restart the application when it crashes or ends
log_filestringPath to the file where both out and error logs will be written
out_filestringPath to the file where application stdout will be written
error_filestringPath to the file where application stderr will be written
pid_filestringPath to the file where application pid will be written
commandstringNx project command to be executed by PM2

Picking up pm2 configuration from env:

In the following example the INSTANCE_NAME & NO_OF_INSTANCES will be picked up from process.env

"pm2": {
	"executor": "nx-pm2-plugin:pm2-executor",
	"dependsOn": ["build"],
	"options": {
		"command": "nx-pm2-example:serve:production",
		"instances": "${NO_OF_INSTANCES}",
		"name": "${INSTANCE_NAME}"
	}
}

Mandatory options:

The following executor options are mandatory:

PropertyTypeDescription
commandstringNx project command to be executed by PM2
namestringThe name of the PM2 instance

Test

To run tests, use the following command:

npm test

License

MIT

Contact

If you have any questions or need further clarification, feel free to reach out.

Changelog

See the CHANGELOG.md file for details.

1.0.5

10 months ago

1.0.4

11 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago

0.0.6

11 months ago

0.0.5

11 months ago

0.0.4

11 months ago

0.0.2

11 months ago

0.0.1

11 months ago