@powerhousedao/ph-cli 0.40.85-dev.2 → 0.40.85-dev.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +1 -1
- package/dist/scripts/manage-environment +164 -0
- package/dist/scripts/setup-environment +122 -53
- package/dist/scripts/setup-environment.ps1 +4 -4
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +0 -2
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/service.d.ts +1 -1
- package/dist/src/commands/service.d.ts.map +1 -1
- package/dist/src/commands/service.js +42 -126
- package/dist/src/commands/service.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/dist/scripts/service-startup.sh +0 -7
- package/dist/scripts/service-unstartup.sh +0 -6
- package/dist/src/commands/setup-service.d.ts +0 -3
- package/dist/src/commands/setup-service.d.ts.map +0 -1
- package/dist/src/commands/setup-service.js +0 -32
- package/dist/src/commands/setup-service.js.map +0 -1
|
@@ -1,145 +1,61 @@
|
|
|
1
|
-
import { getConfig } from "@powerhousedao/config/utils";
|
|
2
1
|
import { Argument } from "commander";
|
|
3
2
|
import { execSync } from "node:child_process";
|
|
3
|
+
import fs from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
|
-
import pm2 from "pm2";
|
|
7
6
|
import { serviceHelp } from "../help.js";
|
|
8
7
|
import { setCustomHelp } from "../utils.js";
|
|
9
|
-
const actions = ["start", "stop", "status", "
|
|
10
|
-
const
|
|
11
|
-
let switchboardPort = 8442;
|
|
12
|
-
let connectPort = 8443;
|
|
13
|
-
export const manageService = async (action, service) => {
|
|
8
|
+
const actions = ["start", "stop", "status", "setup"];
|
|
9
|
+
export const manageService = async (action) => {
|
|
14
10
|
try {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
const dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
12
|
+
const manageScriptPath = path.join(dirname, "..", "scripts", "manage-environment");
|
|
13
|
+
const setupScriptPath = path.join(dirname, "..", "scripts", "setup-environment");
|
|
14
|
+
// Read project name from package.json
|
|
15
|
+
const packageJsonPath = path.join(process.cwd(), "package.json");
|
|
16
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
17
|
+
const projectName = packageJson.name;
|
|
18
|
+
switch (action) {
|
|
19
|
+
case "start":
|
|
20
|
+
console.log("Starting environment...");
|
|
21
|
+
execSync(`bash ${manageScriptPath} start ${projectName}`, {
|
|
22
|
+
stdio: "inherit",
|
|
23
|
+
});
|
|
24
|
+
break;
|
|
25
|
+
case "stop":
|
|
26
|
+
console.log("Stopping environment...");
|
|
27
|
+
execSync(`bash ${manageScriptPath} stop ${projectName}`, {
|
|
28
|
+
stdio: "inherit",
|
|
29
|
+
});
|
|
30
|
+
break;
|
|
31
|
+
case "status":
|
|
32
|
+
console.log("Checking environment status...");
|
|
33
|
+
execSync(`bash ${manageScriptPath} status ${projectName}`, {
|
|
34
|
+
stdio: "inherit",
|
|
35
|
+
});
|
|
36
|
+
break;
|
|
37
|
+
case "setup":
|
|
38
|
+
console.log("Setting up environment...");
|
|
39
|
+
execSync(`bash ${setupScriptPath} "dev" ${projectName}`, {
|
|
40
|
+
stdio: "inherit",
|
|
41
|
+
});
|
|
42
|
+
break;
|
|
43
|
+
default:
|
|
44
|
+
console.log("Unknown action:", action);
|
|
45
|
+
process.exit(1);
|
|
18
46
|
}
|
|
19
|
-
if (config.studio?.port) {
|
|
20
|
-
connectPort = config.studio.port;
|
|
21
|
-
}
|
|
22
|
-
pm2.connect((err) => {
|
|
23
|
-
switch (action) {
|
|
24
|
-
case "start":
|
|
25
|
-
startServices(service);
|
|
26
|
-
break;
|
|
27
|
-
case "stop":
|
|
28
|
-
stopServices(service);
|
|
29
|
-
break;
|
|
30
|
-
case "startup":
|
|
31
|
-
startupServices();
|
|
32
|
-
break;
|
|
33
|
-
case "unstartup":
|
|
34
|
-
unstartupServices();
|
|
35
|
-
break;
|
|
36
|
-
default:
|
|
37
|
-
statusServices();
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
47
|
}
|
|
42
48
|
catch (error) {
|
|
43
|
-
console.error(error);
|
|
49
|
+
console.error("Error:", error);
|
|
50
|
+
process.exit(1);
|
|
44
51
|
}
|
|
45
52
|
};
|
|
46
53
|
export function serviceCommand(program) {
|
|
47
54
|
const command = program
|
|
48
55
|
.command("service")
|
|
49
|
-
.description("Manage services")
|
|
50
|
-
.addArgument(new Argument("action").choices(actions).default("
|
|
51
|
-
.addArgument(new Argument("service").choices(services).argOptional().default("all"))
|
|
56
|
+
.description("Manage environment services")
|
|
57
|
+
.addArgument(new Argument("action").choices(actions).default("status"))
|
|
52
58
|
.action(manageService);
|
|
53
59
|
setCustomHelp(command, serviceHelp);
|
|
54
60
|
}
|
|
55
|
-
function startServices(service) {
|
|
56
|
-
if (service === "switchboard" || service === "all") {
|
|
57
|
-
const switchboardOptions = {
|
|
58
|
-
name: "switchboard",
|
|
59
|
-
script: "npx ph-cli switchboard",
|
|
60
|
-
};
|
|
61
|
-
console.log("Starting Switchboard...");
|
|
62
|
-
pm2.start(switchboardOptions, (err) => {
|
|
63
|
-
if (err) {
|
|
64
|
-
console.log(err.name);
|
|
65
|
-
// throw new Error(err.message);
|
|
66
|
-
}
|
|
67
|
-
dumpServices();
|
|
68
|
-
});
|
|
69
|
-
console.log("Switchboard started");
|
|
70
|
-
}
|
|
71
|
-
if (service === "connect" || service === "all") {
|
|
72
|
-
const connectOptions = {
|
|
73
|
-
name: "connect",
|
|
74
|
-
script: "npx ph-cli connect",
|
|
75
|
-
args: ["--port", connectPort.toString()],
|
|
76
|
-
};
|
|
77
|
-
console.log("Starting connect...");
|
|
78
|
-
pm2.start(connectOptions, (err) => {
|
|
79
|
-
if (err) {
|
|
80
|
-
throw new Error(err.message);
|
|
81
|
-
}
|
|
82
|
-
dumpServices();
|
|
83
|
-
});
|
|
84
|
-
console.log("Connect started");
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
function dumpServices() {
|
|
88
|
-
pm2.dump((err) => {
|
|
89
|
-
if (err) {
|
|
90
|
-
throw new Error(err.message);
|
|
91
|
-
}
|
|
92
|
-
statusServices();
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
function stopServices(service) {
|
|
96
|
-
if (service === "all" || service === "connect") {
|
|
97
|
-
pm2.stop("connect", (err) => {
|
|
98
|
-
if (err) {
|
|
99
|
-
throw new Error(err.message);
|
|
100
|
-
}
|
|
101
|
-
dumpServices();
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
if (service === "all" || service === "switchboard") {
|
|
105
|
-
pm2.stop("switchboard", (err) => {
|
|
106
|
-
if (err) {
|
|
107
|
-
throw new Error(err.message);
|
|
108
|
-
}
|
|
109
|
-
dumpServices();
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
function statusServices() {
|
|
114
|
-
pm2.list((err, list) => {
|
|
115
|
-
const formattedList = list.map((item) => {
|
|
116
|
-
return {
|
|
117
|
-
id: item.pm_id,
|
|
118
|
-
name: item.name,
|
|
119
|
-
pid: item.pid,
|
|
120
|
-
uptime: item.pm2_env?.pm_uptime,
|
|
121
|
-
restarts: item.pm2_env?.unstable_restarts,
|
|
122
|
-
status: item.pm2_env?.status,
|
|
123
|
-
mem: item.monit?.memory,
|
|
124
|
-
cpu: item.monit?.cpu,
|
|
125
|
-
};
|
|
126
|
-
});
|
|
127
|
-
console.table(formattedList);
|
|
128
|
-
process.exit(0);
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
function startupServices() {
|
|
132
|
-
const dirname = import.meta.dirname || path.dirname(fileURLToPath(import.meta.url));
|
|
133
|
-
const scriptPath = path.join(dirname, "..", "scripts", "service-startup.sh");
|
|
134
|
-
const result = execSync(`bash ${scriptPath}`).toString();
|
|
135
|
-
console.log(result);
|
|
136
|
-
process.exit(0);
|
|
137
|
-
}
|
|
138
|
-
function unstartupServices() {
|
|
139
|
-
const dirname = import.meta.dirname || path.dirname(fileURLToPath(import.meta.url));
|
|
140
|
-
const scriptPath = path.join(dirname, "..", "scripts", "service-unstartup.sh");
|
|
141
|
-
const result = execSync(`bash ${scriptPath}`).toString();
|
|
142
|
-
console.log(result);
|
|
143
|
-
process.exit(0);
|
|
144
|
-
}
|
|
145
61
|
//# sourceMappingURL=service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/commands/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/commands/service.ts"],"names":[],"mappings":"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"}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "0.40.85-dev.
|
|
1
|
+
export declare const version = "0.40.85-dev.4";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/src/version.js
CHANGED