@open-wa/wa-automate 4.34.4 → 4.35.0
Sign up to get free protection for your applications and to get access to all the features.
- package/bin/server.js +39 -2
- package/dist/cli/cli-options.js +6 -0
- package/package.json +1 -1
package/bin/server.js
CHANGED
@@ -1,3 +1,40 @@
|
|
1
1
|
#! /usr/bin/env node
|
2
|
-
|
3
|
-
|
2
|
+
const pm2Index = process.argv.findIndex(arg => arg === "--pm2");
|
3
|
+
const sIdIndex = process.argv.findIndex(arg => arg === "--session-id");
|
4
|
+
const nameIndex = process.argv.findIndex(arg => arg === "--name");
|
5
|
+
const getVal = (index) => index !== -1 && process.argv[index + 1]
|
6
|
+
const getBool = (index) => !((index !== -1 && process.argv[index + 1]) === false)
|
7
|
+
const procName = getVal(sIdIndex || nameIndex) || "@OPEN-WA EASY API";
|
8
|
+
const CLI = '../dist/cli'
|
9
|
+
async function start() {
|
10
|
+
if (getBool(pm2Index)) {
|
11
|
+
const { spawn } = require("child_process");
|
12
|
+
try {
|
13
|
+
const pm2 = spawn('pm2');
|
14
|
+
await new Promise((resolve, reject) => {
|
15
|
+
pm2.on('error', reject);
|
16
|
+
pm2.stdout.on('data', () => resolve(true));
|
17
|
+
})
|
18
|
+
const pm2Flags = (getVal(pm2Index) || "").split(" ");
|
19
|
+
const cliFlags = (process.argv.slice(2) || []);
|
20
|
+
spawn("pm2", [
|
21
|
+
"start",
|
22
|
+
require.resolve(CLI),
|
23
|
+
'--name',
|
24
|
+
procName,
|
25
|
+
...pm2Flags,
|
26
|
+
'--',
|
27
|
+
...cliFlags.filter(x=>!pm2Flags.includes(x))
|
28
|
+
], {
|
29
|
+
stdio: "inherit",
|
30
|
+
detached: true
|
31
|
+
})
|
32
|
+
} catch (error) {
|
33
|
+
if (error.errorno === -2) console.error("pm2 not found. Please install with the following command: npm install -g pm2");
|
34
|
+
}
|
35
|
+
} else {
|
36
|
+
require(CLI);
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
start()
|
package/dist/cli/cli-options.js
CHANGED
@@ -234,6 +234,12 @@ exports.optionList = [{
|
|
234
234
|
type: Boolean,
|
235
235
|
description: "Expose a tunnel to your EASY API session - this is for testing and it is unsecured."
|
236
236
|
},
|
237
|
+
{
|
238
|
+
name: 'pm2',
|
239
|
+
type: Boolean,
|
240
|
+
typeLabel: '{yellow {underline "--max-memory-restart 300M"}}',
|
241
|
+
description: "Offload the EASY API to local instance of pm2. You can add pm2 specific arguments also if you want."
|
242
|
+
},
|
237
243
|
{
|
238
244
|
name: 'help',
|
239
245
|
description: 'Print this usage guide.'
|
package/package.json
CHANGED