@meetploy/cli 1.5.0 → 1.6.0
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/index.js +119 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { spawn } from "node:child_process";
|
|
3
|
+
import { existsSync } from "node:fs";
|
|
4
|
+
import { join } from "node:path";
|
|
2
5
|
import { buildCommand, parseBuildArgs } from "./commands/build.js";
|
|
3
6
|
import { typesCommand, parseTypesArgs } from "./commands/types.js";
|
|
4
7
|
const args = process.argv.slice(2);
|
|
@@ -18,6 +21,7 @@ function parseDevArgs(args) {
|
|
|
18
21
|
config: undefined,
|
|
19
22
|
watch: true,
|
|
20
23
|
verbose: false,
|
|
24
|
+
dashboardPort: undefined,
|
|
21
25
|
};
|
|
22
26
|
for (let i = 0; i < args.length; i++) {
|
|
23
27
|
const arg = args[i];
|
|
@@ -39,19 +43,127 @@ function parseDevArgs(args) {
|
|
|
39
43
|
else if (arg === "-v" || arg === "--verbose") {
|
|
40
44
|
options.verbose = true;
|
|
41
45
|
}
|
|
46
|
+
else if (arg === "--dashboard-port") {
|
|
47
|
+
const value = args[++i];
|
|
48
|
+
if (value) {
|
|
49
|
+
options.dashboardPort = parseInt(value, 10);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
42
52
|
}
|
|
43
53
|
return options;
|
|
44
54
|
}
|
|
45
|
-
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
55
|
+
async function isNextJsProject(projectDir, configPath) {
|
|
56
|
+
const { readPloyConfig } = await import("@meetploy/tools");
|
|
57
|
+
try {
|
|
58
|
+
const config = await readPloyConfig(projectDir, configPath);
|
|
59
|
+
if (config?.kind === "nextjs") {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
}
|
|
65
|
+
const nextConfigFiles = [
|
|
66
|
+
"next.config.ts",
|
|
67
|
+
"next.config.js",
|
|
68
|
+
"next.config.mts",
|
|
69
|
+
"next.config.mjs",
|
|
70
|
+
];
|
|
71
|
+
for (const file of nextConfigFiles) {
|
|
72
|
+
if (existsSync(join(projectDir, file))) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
function findNextBinary(projectDir) {
|
|
79
|
+
const possiblePaths = [
|
|
80
|
+
join(projectDir, "node_modules", ".bin", "next"),
|
|
81
|
+
"npx next",
|
|
82
|
+
];
|
|
83
|
+
for (const p of possiblePaths) {
|
|
84
|
+
if (p.includes("npx") || existsSync(p)) {
|
|
85
|
+
return p;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return "npx next";
|
|
89
|
+
}
|
|
90
|
+
async function startNextJsDev(options) {
|
|
91
|
+
const projectDir = process.cwd();
|
|
92
|
+
const nextPort = options.port ?? 3000;
|
|
93
|
+
const dashboardPort = options.dashboardPort ?? nextPort + 1000;
|
|
94
|
+
const { startDevDashboard } = await import("@meetploy/emulator");
|
|
95
|
+
const dashboard = await startDevDashboard({
|
|
51
96
|
configPath: options.config,
|
|
52
|
-
|
|
97
|
+
port: dashboardPort,
|
|
53
98
|
verbose: options.verbose,
|
|
54
99
|
});
|
|
100
|
+
console.log(`\n Ploy Dashboard: http://${options.host ?? "localhost"}:${dashboard.port}`);
|
|
101
|
+
const nextBin = findNextBinary(projectDir);
|
|
102
|
+
const nextArgs = ["dev", "-p", String(nextPort)];
|
|
103
|
+
if (options.host) {
|
|
104
|
+
nextArgs.push("-H", options.host);
|
|
105
|
+
}
|
|
106
|
+
console.log(` Starting Next.js dev server...`);
|
|
107
|
+
let nextProcess;
|
|
108
|
+
if (nextBin.includes("npx")) {
|
|
109
|
+
nextProcess = spawn("npx", ["next", ...nextArgs], {
|
|
110
|
+
cwd: projectDir,
|
|
111
|
+
stdio: "inherit",
|
|
112
|
+
shell: true,
|
|
113
|
+
env: {
|
|
114
|
+
...process.env,
|
|
115
|
+
PLOY_MOCK_SERVER_URL: `http://localhost:${dashboard.port}`,
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
nextProcess = spawn(nextBin, nextArgs, {
|
|
121
|
+
cwd: projectDir,
|
|
122
|
+
stdio: "inherit",
|
|
123
|
+
shell: true,
|
|
124
|
+
env: {
|
|
125
|
+
...process.env,
|
|
126
|
+
PLOY_MOCK_SERVER_URL: `http://localhost:${dashboard.port}`,
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
const cleanup = async () => {
|
|
131
|
+
console.log("\nShutting down...");
|
|
132
|
+
nextProcess.kill("SIGTERM");
|
|
133
|
+
await dashboard.close();
|
|
134
|
+
process.exit(0);
|
|
135
|
+
};
|
|
136
|
+
process.on("SIGINT", cleanup);
|
|
137
|
+
process.on("SIGTERM", cleanup);
|
|
138
|
+
nextProcess.on("exit", async (code) => {
|
|
139
|
+
await dashboard.close();
|
|
140
|
+
process.exit(code ?? 0);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
if (command === "dev") {
|
|
144
|
+
const options = parseDevArgs(args.slice(1));
|
|
145
|
+
const projectDir = process.cwd();
|
|
146
|
+
const isNextJs = await isNextJsProject(projectDir, options.config);
|
|
147
|
+
if (isNextJs) {
|
|
148
|
+
await startNextJsDev({
|
|
149
|
+
port: options.port,
|
|
150
|
+
host: options.host,
|
|
151
|
+
config: options.config,
|
|
152
|
+
verbose: options.verbose,
|
|
153
|
+
dashboardPort: options.dashboardPort,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
const { startEmulator } = await import("@meetploy/emulator");
|
|
158
|
+
await startEmulator({
|
|
159
|
+
port: options.port,
|
|
160
|
+
host: options.host,
|
|
161
|
+
configPath: options.config,
|
|
162
|
+
watch: options.watch,
|
|
163
|
+
verbose: options.verbose,
|
|
164
|
+
dashboardPort: options.dashboardPort,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
55
167
|
}
|
|
56
168
|
else if (command === "types") {
|
|
57
169
|
const options = parseTypesArgs(args.slice(1));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,IAAI,CAAC,OAAO,EAAE,CAAC;IACd,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvC,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAClD,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACnD,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,IAAc;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|