@pmate/cli 0.12.7 → 0.12.8
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.d.ts +346 -3
- package/dist/index.js +20884 -1474
- package/package.json +6 -5
- package/dist/agentCommandParser.d.ts +0 -2
- package/dist/agentCommandParser.js +0 -151
- package/dist/agentCommandParser.js.map +0 -1
- package/dist/alioss.d.ts +0 -21
- package/dist/alioss.js +0 -281
- package/dist/alioss.js.map +0 -1
- package/dist/appCommandParser.d.ts +0 -2
- package/dist/appCommandParser.js +0 -106
- package/dist/appCommandParser.js.map +0 -1
- package/dist/appDir.d.ts +0 -2
- package/dist/appDir.js +0 -33
- package/dist/appDir.js.map +0 -1
- package/dist/cli.d.ts +0 -8
- package/dist/cli.js +0 -43
- package/dist/cli.js.map +0 -1
- package/dist/commands/AddDnsCommandHandler.d.ts +0 -4
- package/dist/commands/AddDnsCommandHandler.js +0 -26
- package/dist/commands/AddDnsCommandHandler.js.map +0 -1
- package/dist/commands/AgentCommandHandler.d.ts +0 -11
- package/dist/commands/AgentCommandHandler.js +0 -146
- package/dist/commands/AgentCommandHandler.js.map +0 -1
- package/dist/commands/AppCommandHandler.d.ts +0 -10
- package/dist/commands/AppCommandHandler.js +0 -125
- package/dist/commands/AppCommandHandler.js.map +0 -1
- package/dist/commands/BucketCommandHandler.d.ts +0 -4
- package/dist/commands/BucketCommandHandler.js +0 -14
- package/dist/commands/BucketCommandHandler.js.map +0 -1
- package/dist/commands/CollectCommandHandler.d.ts +0 -20
- package/dist/commands/CollectCommandHandler.js +0 -470
- package/dist/commands/CollectCommandHandler.js.map +0 -1
- package/dist/commands/CommitCommandHandler.d.ts +0 -4
- package/dist/commands/CommitCommandHandler.js +0 -12
- package/dist/commands/CommitCommandHandler.js.map +0 -1
- package/dist/commands/DeployCommandHandler.d.ts +0 -20
- package/dist/commands/DeployCommandHandler.js +0 -297
- package/dist/commands/DeployCommandHandler.js.map +0 -1
- package/dist/commands/DevCommandHandler.d.ts +0 -8
- package/dist/commands/DevCommandHandler.js +0 -81
- package/dist/commands/DevCommandHandler.js.map +0 -1
- package/dist/commands/EnvCommandHandler.d.ts +0 -12
- package/dist/commands/EnvCommandHandler.js +0 -346
- package/dist/commands/EnvCommandHandler.js.map +0 -1
- package/dist/commands/InitCommandHandler.d.ts +0 -21
- package/dist/commands/InitCommandHandler.js +0 -468
- package/dist/commands/InitCommandHandler.js.map +0 -1
- package/dist/commands/LinearCommandHandler.d.ts +0 -52
- package/dist/commands/LinearCommandHandler.js +0 -1652
- package/dist/commands/LinearCommandHandler.js.map +0 -1
- package/dist/commands/ListCommandHandler.d.ts +0 -6
- package/dist/commands/ListCommandHandler.js +0 -43
- package/dist/commands/ListCommandHandler.js.map +0 -1
- package/dist/commands/LogCommandHandler.d.ts +0 -15
- package/dist/commands/LogCommandHandler.js +0 -201
- package/dist/commands/LogCommandHandler.js.map +0 -1
- package/dist/commands/LoginCommandHandler.d.ts +0 -11
- package/dist/commands/LoginCommandHandler.js +0 -178
- package/dist/commands/LoginCommandHandler.js.map +0 -1
- package/dist/commands/NotionCommandHandler.d.ts +0 -5
- package/dist/commands/NotionCommandHandler.js +0 -59
- package/dist/commands/NotionCommandHandler.js.map +0 -1
- package/dist/commands/OssCommandHandler.d.ts +0 -7
- package/dist/commands/OssCommandHandler.js +0 -82
- package/dist/commands/OssCommandHandler.js.map +0 -1
- package/dist/commands/PrCommandHandler.d.ts +0 -44
- package/dist/commands/PrCommandHandler.js +0 -673
- package/dist/commands/PrCommandHandler.js.map +0 -1
- package/dist/commands/QrcodeCommandHandler.d.ts +0 -9
- package/dist/commands/QrcodeCommandHandler.js +0 -135
- package/dist/commands/QrcodeCommandHandler.js.map +0 -1
- package/dist/commands/RandomCommandHandler.d.ts +0 -6
- package/dist/commands/RandomCommandHandler.js +0 -201
- package/dist/commands/RandomCommandHandler.js.map +0 -1
- package/dist/commands/StsCommandHandler.d.ts +0 -5
- package/dist/commands/StsCommandHandler.js +0 -45
- package/dist/commands/StsCommandHandler.js.map +0 -1
- package/dist/commands/SummaryCommandHandler.d.ts +0 -16
- package/dist/commands/SummaryCommandHandler.js +0 -190
- package/dist/commands/SummaryCommandHandler.js.map +0 -1
- package/dist/commands/VercelCommandHandler.d.ts +0 -38
- package/dist/commands/VercelCommandHandler.js +0 -126
- package/dist/commands/VercelCommandHandler.js.map +0 -1
- package/dist/config.d.ts +0 -62
- package/dist/config.js +0 -265
- package/dist/config.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/llm/AgentLlmClient.d.ts +0 -14
- package/dist/llm/AgentLlmClient.js +0 -81
- package/dist/llm/AgentLlmClient.js.map +0 -1
- package/dist/llm/types.d.ts +0 -37
- package/dist/llm/types.js +0 -3
- package/dist/llm/types.js.map +0 -1
- package/dist/serverAddress.d.ts +0 -2
- package/dist/serverAddress.js +0 -21
- package/dist/serverAddress.js.map +0 -1
- package/dist/services/AliyunService.d.ts +0 -68
- package/dist/services/AliyunService.js +0 -622
- package/dist/services/AliyunService.js.map +0 -1
- package/dist/services/NotionService.d.ts +0 -47
- package/dist/services/NotionService.js +0 -292
- package/dist/services/NotionService.js.map +0 -1
- package/dist/shell.d.ts +0 -2
- package/dist/shell.js +0 -11
- package/dist/shell.js.map +0 -1
- package/dist/tests/AgentCommandHandler.test.d.ts +0 -1
- package/dist/tests/AgentCommandHandler.test.js +0 -138
- package/dist/tests/AgentCommandHandler.test.js.map +0 -1
- package/dist/tests/AppCommandHandler.test.d.ts +0 -1
- package/dist/tests/AppCommandHandler.test.js +0 -94
- package/dist/tests/AppCommandHandler.test.js.map +0 -1
- package/dist/tests/LoginCommandHandler.test.d.ts +0 -1
- package/dist/tests/LoginCommandHandler.test.js +0 -13
- package/dist/tests/LoginCommandHandler.test.js.map +0 -1
- package/dist/tests/PrCommandHandler.test.d.ts +0 -1
- package/dist/tests/PrCommandHandler.test.js +0 -27
- package/dist/tests/PrCommandHandler.test.js.map +0 -1
- package/dist/tests/VercelCommandHandler.test.d.ts +0 -1
- package/dist/tests/VercelCommandHandler.test.js +0 -84
- package/dist/tests/VercelCommandHandler.test.js.map +0 -1
- package/dist/tests/agentCommandParser.test.d.ts +0 -1
- package/dist/tests/agentCommandParser.test.js +0 -75
- package/dist/tests/agentCommandParser.test.js.map +0 -1
- package/dist/tests/appCommandParser.test.d.ts +0 -1
- package/dist/tests/appCommandParser.test.js +0 -28
- package/dist/tests/appCommandParser.test.js.map +0 -1
- package/dist/tests/config.test.d.ts +0 -1
- package/dist/tests/config.test.js +0 -41
- package/dist/tests/config.test.js.map +0 -1
- package/dist/tests/pythonAppSupport.test.d.ts +0 -1
- package/dist/tests/pythonAppSupport.test.js +0 -47
- package/dist/tests/pythonAppSupport.test.js.map +0 -1
- package/dist/tests/serverAddress.test.d.ts +0 -1
- package/dist/tests/serverAddress.test.js +0 -14
- package/dist/tests/serverAddress.test.js.map +0 -1
- package/dist/tests/shell.test.d.ts +0 -1
- package/dist/tests/shell.test.js +0 -16
- package/dist/tests/shell.test.js.map +0 -1
- package/dist/tests/vercelParser.test.d.ts +0 -1
- package/dist/tests/vercelParser.test.js +0 -39
- package/dist/tests/vercelParser.test.js.map +0 -1
- package/dist/types.d.ts +0 -394
- package/dist/types.js +0 -30
- package/dist/types.js.map +0 -1
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DeployCommandHandler = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const node_fs_1 = require("node:fs");
|
|
6
|
-
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
7
|
-
const node_child_process_1 = require("node:child_process");
|
|
8
|
-
const yaml_1 = tslib_1.__importDefault(require("yaml"));
|
|
9
|
-
const AliyunService_1 = require("../services/AliyunService");
|
|
10
|
-
const config_1 = require("../config");
|
|
11
|
-
const appDir_1 = require("../appDir");
|
|
12
|
-
const shell_1 = require("../shell");
|
|
13
|
-
class DeployCommandHandler {
|
|
14
|
-
async handle(args) {
|
|
15
|
-
const appName = args.deployApp.trim();
|
|
16
|
-
if (!appName) {
|
|
17
|
-
throw new Error("Missing app name. Usage: deploy <app-name> [--cwd <dir>].");
|
|
18
|
-
}
|
|
19
|
-
const cwd = this.resolveCwd(args.deployCwd);
|
|
20
|
-
const config = this.loadConfig(cwd);
|
|
21
|
-
const appConfig = config.apps.find((entry) => (entry === null || entry === void 0 ? void 0 : entry.app) === appName);
|
|
22
|
-
if (!appConfig) {
|
|
23
|
-
throw new Error(`No app named ${appName} found in ${node_path_1.default.join(cwd, ".pmate.yaml")}`);
|
|
24
|
-
}
|
|
25
|
-
if (args.deployAction === "logs") {
|
|
26
|
-
await this.showLogs(appName, appConfig);
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
switch (appConfig.type) {
|
|
30
|
-
case "vite":
|
|
31
|
-
await this.deployVite(appName, cwd, appConfig);
|
|
32
|
-
break;
|
|
33
|
-
case "node":
|
|
34
|
-
await this.deployNode(appName, appConfig);
|
|
35
|
-
break;
|
|
36
|
-
case "rust":
|
|
37
|
-
await this.deployRust(appName, appConfig);
|
|
38
|
-
break;
|
|
39
|
-
case "python":
|
|
40
|
-
await this.deployPython(appName, appConfig);
|
|
41
|
-
break;
|
|
42
|
-
case "static":
|
|
43
|
-
await this.deployStatic(appName, cwd, appConfig);
|
|
44
|
-
break;
|
|
45
|
-
default:
|
|
46
|
-
throw new Error("Deploy not implemented for this app type.");
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
async showLogs(appName, appConfig) {
|
|
50
|
-
switch (appConfig.type) {
|
|
51
|
-
case "rust":
|
|
52
|
-
await this.showScriptLogs(appName, appConfig);
|
|
53
|
-
break;
|
|
54
|
-
case "python":
|
|
55
|
-
await this.showScriptLogs(appName, appConfig);
|
|
56
|
-
break;
|
|
57
|
-
default:
|
|
58
|
-
throw new Error(`Logs are only supported for rust/python apps right now. Found type: ${appConfig.type}`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
async deployVite(appName, cwd, appConfig) {
|
|
62
|
-
var _a, _b;
|
|
63
|
-
const appDir = (0, appDir_1.resolveLocalAppDir)(cwd, appName, appConfig.dir);
|
|
64
|
-
const packageJsonPath = node_path_1.default.join(appDir, "package.json");
|
|
65
|
-
if (!(0, node_fs_1.existsSync)(packageJsonPath)) {
|
|
66
|
-
throw new Error(`No package.json found at ${packageJsonPath}`);
|
|
67
|
-
}
|
|
68
|
-
const pkg = this.loadPackageJson(packageJsonPath);
|
|
69
|
-
const pkgName = (_a = pkg.name) === null || _a === void 0 ? void 0 : _a.trim();
|
|
70
|
-
if (!pkgName) {
|
|
71
|
-
throw new Error(`Missing package name in ${packageJsonPath}`);
|
|
72
|
-
}
|
|
73
|
-
await this.runCommand("pnpm", ["--filter", pkgName, "build"], cwd);
|
|
74
|
-
const distDir = node_path_1.default.join(appDir, "dist");
|
|
75
|
-
if (!(0, node_fs_1.existsSync)(distDir)) {
|
|
76
|
-
throw new Error(`No dist directory found at ${distDir}`);
|
|
77
|
-
}
|
|
78
|
-
const bucketName = (_b = appConfig.bucket) === null || _b === void 0 ? void 0 : _b.trim();
|
|
79
|
-
if (!bucketName) {
|
|
80
|
-
throw new Error(`Missing bucket for ${appName} in ${node_path_1.default.join(cwd, ".pmate.yaml")}`);
|
|
81
|
-
}
|
|
82
|
-
await AliyunService_1.AliyunService.uploadDirectory(distDir, bucketName);
|
|
83
|
-
}
|
|
84
|
-
async deployStatic(appName, cwd, appConfig) {
|
|
85
|
-
var _a;
|
|
86
|
-
const appDir = (0, appDir_1.resolveLocalAppDir)(cwd, appName, appConfig.dir);
|
|
87
|
-
const srcDir = node_path_1.default.join(appDir, "src");
|
|
88
|
-
if (!(0, node_fs_1.existsSync)(srcDir)) {
|
|
89
|
-
throw new Error(`No src directory found at ${srcDir}`);
|
|
90
|
-
}
|
|
91
|
-
const bucketName = (_a = appConfig.bucket) === null || _a === void 0 ? void 0 : _a.trim();
|
|
92
|
-
if (!bucketName) {
|
|
93
|
-
throw new Error(`Missing bucket for ${appName} in ${node_path_1.default.join(cwd, ".pmate.yaml")}`);
|
|
94
|
-
}
|
|
95
|
-
await AliyunService_1.AliyunService.uploadDirectory(srcDir, bucketName);
|
|
96
|
-
}
|
|
97
|
-
async deployNode(appName, appConfig) {
|
|
98
|
-
var _a, _b;
|
|
99
|
-
const server = (_a = appConfig.server) === null || _a === void 0 ? void 0 : _a.trim();
|
|
100
|
-
if (!server) {
|
|
101
|
-
throw new Error(`Missing server for ${appName} in .pmate.yaml`);
|
|
102
|
-
}
|
|
103
|
-
const repository = (_b = appConfig.repository) === null || _b === void 0 ? void 0 : _b.trim();
|
|
104
|
-
if (!repository) {
|
|
105
|
-
throw new Error(`Missing repository for ${appName} in .pmate.yaml`);
|
|
106
|
-
}
|
|
107
|
-
const hasPort = appConfig.port !== undefined &&
|
|
108
|
-
appConfig.port !== null &&
|
|
109
|
-
String(appConfig.port).trim() !== "";
|
|
110
|
-
const port = hasPort ? Number(appConfig.port) : undefined;
|
|
111
|
-
if (port !== undefined &&
|
|
112
|
-
(!Number.isFinite(port) || port <= 0)) {
|
|
113
|
-
throw new Error(`Invalid port for ${appName} in .pmate.yaml`);
|
|
114
|
-
}
|
|
115
|
-
const repoDir = this.getRepoDirName(repository);
|
|
116
|
-
const repoUrl = this.getRepoUrl(repository);
|
|
117
|
-
const gitUrl = this.withToken(repoUrl);
|
|
118
|
-
const appDir = (0, appDir_1.resolveRemoteAppDir)(appName, appConfig.dir);
|
|
119
|
-
console.log("gitUrl", gitUrl);
|
|
120
|
-
const pm2Start = port
|
|
121
|
-
? `if ! pm2 describe "${appName}" >/dev/null 2>&1; then PORT=${port} pm2 start "$eco" --only "${appName}"; fi`
|
|
122
|
-
: `if ! pm2 describe "${appName}" >/dev/null 2>&1; then pm2 start "$eco" --only "${appName}"; fi`;
|
|
123
|
-
const pm2Reload = port
|
|
124
|
-
? `PORT=${port} pm2 reload "$eco" --only "${appName}" --update-env`
|
|
125
|
-
: `pm2 reload "$eco" --only "${appName}" --update-env`;
|
|
126
|
-
const buildIfNeeded = [
|
|
127
|
-
`pkg="${appDir}/package.json"`,
|
|
128
|
-
`if [ -f "$pkg" ] && node -e 'const fs=require("node:fs"); const p=JSON.parse(fs.readFileSync(process.argv[1],"utf8")); process.exit(p?.scripts?.build ? 0 : 1);' "$pkg"; then (cd "${appDir}" && pnpm run build); fi`,
|
|
129
|
-
].join("; ");
|
|
130
|
-
const command = [
|
|
131
|
-
`cd "$HOME"`,
|
|
132
|
-
`[ -d "${repoDir}/.git" ] || git clone "${gitUrl}" "${repoDir}"`,
|
|
133
|
-
`cd "${repoDir}"`,
|
|
134
|
-
`if [ -f ~/.profile ]; then . ~/.profile; fi`,
|
|
135
|
-
`if [ -f ~/.bashrc ]; then . ~/.bashrc; fi`,
|
|
136
|
-
`if [ -n "$(git status --porcelain)" ]; then git reset --hard HEAD; git clean -fd; fi`,
|
|
137
|
-
`git pull`,
|
|
138
|
-
`pnpm install`,
|
|
139
|
-
buildIfNeeded,
|
|
140
|
-
`if [ -f "${appDir}/ecosystem.config.cjs" ]; then eco="${appDir}/ecosystem.config.cjs"; elif [ -f "${appDir}/ecosystem.config.js" ]; then eco="${appDir}/ecosystem.config.js"; else echo "Missing pm2 config: ${appDir}/ecosystem.config.cjs|.js" 1>&2; exit 2; fi`,
|
|
141
|
-
pm2Start,
|
|
142
|
-
pm2Reload,
|
|
143
|
-
].join(" && ");
|
|
144
|
-
await this.runRemoteCommand(server, command);
|
|
145
|
-
}
|
|
146
|
-
async deployRust(appName, appConfig) {
|
|
147
|
-
await this.deployScriptManagedApp(appName, appConfig);
|
|
148
|
-
}
|
|
149
|
-
async deployPython(appName, appConfig) {
|
|
150
|
-
await this.deployScriptManagedApp(appName, appConfig);
|
|
151
|
-
}
|
|
152
|
-
async deployScriptManagedApp(appName, appConfig) {
|
|
153
|
-
var _a, _b, _c;
|
|
154
|
-
const server = (_a = appConfig.server) === null || _a === void 0 ? void 0 : _a.trim();
|
|
155
|
-
if (!server) {
|
|
156
|
-
throw new Error(`Missing server for ${appName} in .pmate.yaml`);
|
|
157
|
-
}
|
|
158
|
-
const repository = (_b = appConfig.repository) === null || _b === void 0 ? void 0 : _b.trim();
|
|
159
|
-
if (!repository) {
|
|
160
|
-
throw new Error(`Missing repository for ${appName} in .pmate.yaml`);
|
|
161
|
-
}
|
|
162
|
-
const script = (_c = appConfig.script) === null || _c === void 0 ? void 0 : _c.trim();
|
|
163
|
-
if (!script) {
|
|
164
|
-
throw new Error(`Missing script for ${appName} in .pmate.yaml`);
|
|
165
|
-
}
|
|
166
|
-
const repoDir = this.getRepoDirName(repository);
|
|
167
|
-
const repoUrl = this.getRepoUrl(repository);
|
|
168
|
-
const gitUrl = this.withToken(repoUrl);
|
|
169
|
-
const scriptPath = script.startsWith("/") || script.startsWith("./") ? script : `./${script}`;
|
|
170
|
-
const command = [
|
|
171
|
-
`cd "$HOME"`,
|
|
172
|
-
`[ -d "${repoDir}/.git" ] || git clone "${gitUrl}" "${repoDir}"`,
|
|
173
|
-
`cd "${repoDir}"`,
|
|
174
|
-
`if [ -f ~/.profile ]; then . ~/.profile; fi`,
|
|
175
|
-
`if [ -f ~/.bashrc ]; then . ~/.bashrc; fi`,
|
|
176
|
-
`if [ -n "$(git status --porcelain)" ]; then git reset --hard HEAD; git clean -fd; fi`,
|
|
177
|
-
`git pull`,
|
|
178
|
-
`"${scriptPath}" restart`,
|
|
179
|
-
].join(" && ");
|
|
180
|
-
await this.runRemoteCommand(server, command);
|
|
181
|
-
}
|
|
182
|
-
async showScriptLogs(appName, appConfig) {
|
|
183
|
-
var _a, _b, _c;
|
|
184
|
-
const server = (_a = appConfig.server) === null || _a === void 0 ? void 0 : _a.trim();
|
|
185
|
-
if (!server) {
|
|
186
|
-
throw new Error(`Missing server for ${appName} in .pmate.yaml`);
|
|
187
|
-
}
|
|
188
|
-
const repository = (_b = appConfig.repository) === null || _b === void 0 ? void 0 : _b.trim();
|
|
189
|
-
if (!repository) {
|
|
190
|
-
throw new Error(`Missing repository for ${appName} in .pmate.yaml`);
|
|
191
|
-
}
|
|
192
|
-
const script = (_c = appConfig.script) === null || _c === void 0 ? void 0 : _c.trim();
|
|
193
|
-
if (!script) {
|
|
194
|
-
throw new Error(`Missing script for ${appName} in .pmate.yaml`);
|
|
195
|
-
}
|
|
196
|
-
const repoDir = this.getRepoDirName(repository);
|
|
197
|
-
const scriptPath = script.startsWith("/") || script.startsWith("./") ? script : `./${script}`;
|
|
198
|
-
const command = [
|
|
199
|
-
`cd "$HOME"`,
|
|
200
|
-
`cd "${repoDir}"`,
|
|
201
|
-
`if [ -f ~/.profile ]; then . ~/.profile; fi`,
|
|
202
|
-
`if [ -f ~/.bashrc ]; then . ~/.bashrc; fi`,
|
|
203
|
-
`"${scriptPath}" log`,
|
|
204
|
-
].join(" && ");
|
|
205
|
-
await this.runRemoteCommand(server, command);
|
|
206
|
-
}
|
|
207
|
-
resolveCwd(target) {
|
|
208
|
-
return target ? node_path_1.default.resolve(process.cwd(), target) : process.cwd();
|
|
209
|
-
}
|
|
210
|
-
loadPackageJson(packageJsonPath) {
|
|
211
|
-
const raw = (0, node_fs_1.readFileSync)(packageJsonPath, "utf8");
|
|
212
|
-
const parsed = JSON.parse(raw);
|
|
213
|
-
if (!parsed || typeof parsed !== "object") {
|
|
214
|
-
throw new Error(`Invalid package.json at ${packageJsonPath}`);
|
|
215
|
-
}
|
|
216
|
-
return parsed;
|
|
217
|
-
}
|
|
218
|
-
loadConfig(cwd) {
|
|
219
|
-
const configPath = node_path_1.default.join(cwd, ".pmate.yaml");
|
|
220
|
-
if (!(0, node_fs_1.existsSync)(configPath)) {
|
|
221
|
-
throw new Error(`No .pmate.yaml found in ${cwd}`);
|
|
222
|
-
}
|
|
223
|
-
const raw = (0, node_fs_1.readFileSync)(configPath, "utf8");
|
|
224
|
-
const parsed = yaml_1.default.parse(raw);
|
|
225
|
-
if (!parsed || typeof parsed !== "object" || !Array.isArray(parsed.apps)) {
|
|
226
|
-
throw new Error("Invalid .pmate.yaml: missing apps array");
|
|
227
|
-
}
|
|
228
|
-
return parsed;
|
|
229
|
-
}
|
|
230
|
-
runCommand(command, args, cwd) {
|
|
231
|
-
return new Promise((resolve, reject) => {
|
|
232
|
-
const child = (0, node_child_process_1.spawn)(command, args, {
|
|
233
|
-
cwd,
|
|
234
|
-
stdio: "inherit",
|
|
235
|
-
});
|
|
236
|
-
child.on("error", (error) => {
|
|
237
|
-
reject(error);
|
|
238
|
-
});
|
|
239
|
-
child.on("close", (code) => {
|
|
240
|
-
if (code === 0) {
|
|
241
|
-
resolve();
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
reject(new Error(`${command} exited with code ${code}`));
|
|
245
|
-
});
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
runRemoteCommand(server, command) {
|
|
249
|
-
return new Promise((resolve, reject) => {
|
|
250
|
-
const target = `pmate@${server}`;
|
|
251
|
-
const child = (0, node_child_process_1.spawn)("ssh", (0, shell_1.buildSshBashArgs)(target, command), {
|
|
252
|
-
stdio: "inherit",
|
|
253
|
-
});
|
|
254
|
-
child.on("error", (error) => {
|
|
255
|
-
reject(error);
|
|
256
|
-
});
|
|
257
|
-
child.on("close", (code) => {
|
|
258
|
-
if (code === 0) {
|
|
259
|
-
resolve();
|
|
260
|
-
return;
|
|
261
|
-
}
|
|
262
|
-
reject(new Error(`ssh to ${server} exited with code ${code}`));
|
|
263
|
-
});
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
getRepoDirName(repository) {
|
|
267
|
-
var _a;
|
|
268
|
-
const trimmed = repository.replace(/\/+$/, "");
|
|
269
|
-
const base = (_a = trimmed.split("/").pop()) !== null && _a !== void 0 ? _a : trimmed;
|
|
270
|
-
return base.replace(/\.git$/i, "");
|
|
271
|
-
}
|
|
272
|
-
getRepoUrl(repository) {
|
|
273
|
-
const trimmed = repository.replace(/^\/+|\/+$/g, "");
|
|
274
|
-
if (/^https?:\/\//i.test(trimmed)) {
|
|
275
|
-
throw new Error(`Invalid repository for ${repository}. Use GitHub repo path like "owner/name" or "owner/name.git".`);
|
|
276
|
-
}
|
|
277
|
-
if (!/^[^/]+\/[^/]+(\.git)?$/i.test(trimmed)) {
|
|
278
|
-
throw new Error(`Invalid repository for ${repository}. Use GitHub repo path like "owner/name" or "owner/name.git".`);
|
|
279
|
-
}
|
|
280
|
-
return `https://github.com/${trimmed}`;
|
|
281
|
-
}
|
|
282
|
-
withToken(repositoryOrUrl) {
|
|
283
|
-
var _a, _b;
|
|
284
|
-
const trimmed = repositoryOrUrl.trim();
|
|
285
|
-
const repoUrl = /^https?:\/\//i.test(trimmed)
|
|
286
|
-
? trimmed
|
|
287
|
-
: `https://github.com/${trimmed.replace(/^\/+|\/+$/g, "")}`;
|
|
288
|
-
const config = (0, config_1.loadPmateConfig)();
|
|
289
|
-
const token = (_b = (_a = config.github) === null || _a === void 0 ? void 0 : _a.token) === null || _b === void 0 ? void 0 : _b.trim();
|
|
290
|
-
if (!token) {
|
|
291
|
-
return repoUrl;
|
|
292
|
-
}
|
|
293
|
-
return repoUrl.replace(/^https:\/\//i, `https://${token}@`);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
exports.DeployCommandHandler = DeployCommandHandler;
|
|
297
|
-
//# sourceMappingURL=DeployCommandHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeployCommandHandler.js","sourceRoot":"","sources":["../../src/commands/DeployCommandHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DevCommandHandler = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const node_fs_1 = require("node:fs");
|
|
6
|
-
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
7
|
-
const node_child_process_1 = require("node:child_process");
|
|
8
|
-
const yaml_1 = tslib_1.__importDefault(require("yaml"));
|
|
9
|
-
const appDir_1 = require("../appDir");
|
|
10
|
-
class DevCommandHandler {
|
|
11
|
-
async handle(args) {
|
|
12
|
-
var _a, _b;
|
|
13
|
-
const appName = args.devApp.trim();
|
|
14
|
-
if (!appName) {
|
|
15
|
-
throw new Error("Missing app name. Usage: dev <app-name> [--cwd <dir>].");
|
|
16
|
-
}
|
|
17
|
-
const cwd = this.resolveCwd(args.devCwd);
|
|
18
|
-
const config = this.loadConfig(cwd);
|
|
19
|
-
const appConfig = config.apps.find((entry) => (entry === null || entry === void 0 ? void 0 : entry.app) === appName);
|
|
20
|
-
if (!appConfig) {
|
|
21
|
-
throw new Error(`No app named ${appName} found in ${node_path_1.default.join(cwd, ".pmate.yaml")}`);
|
|
22
|
-
}
|
|
23
|
-
const appDir = (0, appDir_1.resolveLocalAppDir)(cwd, appName, appConfig.dir);
|
|
24
|
-
const packageJsonPath = node_path_1.default.join(appDir, "package.json");
|
|
25
|
-
if (!(0, node_fs_1.existsSync)(packageJsonPath)) {
|
|
26
|
-
throw new Error(`No package.json found at ${packageJsonPath}`);
|
|
27
|
-
}
|
|
28
|
-
const pkg = this.loadPackageJson(packageJsonPath);
|
|
29
|
-
const pkgName = (_a = pkg.name) === null || _a === void 0 ? void 0 : _a.trim();
|
|
30
|
-
if (!pkgName) {
|
|
31
|
-
throw new Error(`Missing package name in ${packageJsonPath}`);
|
|
32
|
-
}
|
|
33
|
-
if (!((_b = pkg.scripts) === null || _b === void 0 ? void 0 : _b.dev)) {
|
|
34
|
-
throw new Error(`Missing dev script in ${packageJsonPath}`);
|
|
35
|
-
}
|
|
36
|
-
await this.runCommand("pnpm", ["--filter", pkgName, "run", "dev"], cwd);
|
|
37
|
-
}
|
|
38
|
-
resolveCwd(target) {
|
|
39
|
-
return target ? node_path_1.default.resolve(process.cwd(), target) : process.cwd();
|
|
40
|
-
}
|
|
41
|
-
loadConfig(cwd) {
|
|
42
|
-
const configPath = node_path_1.default.join(cwd, ".pmate.yaml");
|
|
43
|
-
if (!(0, node_fs_1.existsSync)(configPath)) {
|
|
44
|
-
throw new Error(`No .pmate.yaml found in ${cwd}`);
|
|
45
|
-
}
|
|
46
|
-
const raw = (0, node_fs_1.readFileSync)(configPath, "utf8");
|
|
47
|
-
const parsed = yaml_1.default.parse(raw);
|
|
48
|
-
if (!parsed || typeof parsed !== "object" || !Array.isArray(parsed.apps)) {
|
|
49
|
-
throw new Error("Invalid .pmate.yaml: missing apps array");
|
|
50
|
-
}
|
|
51
|
-
return parsed;
|
|
52
|
-
}
|
|
53
|
-
loadPackageJson(packageJsonPath) {
|
|
54
|
-
const raw = (0, node_fs_1.readFileSync)(packageJsonPath, "utf8");
|
|
55
|
-
const parsed = JSON.parse(raw);
|
|
56
|
-
if (!parsed || typeof parsed !== "object") {
|
|
57
|
-
throw new Error(`Invalid package.json at ${packageJsonPath}`);
|
|
58
|
-
}
|
|
59
|
-
return parsed;
|
|
60
|
-
}
|
|
61
|
-
runCommand(command, args, cwd) {
|
|
62
|
-
return new Promise((resolve, reject) => {
|
|
63
|
-
const child = (0, node_child_process_1.spawn)(command, args, {
|
|
64
|
-
cwd,
|
|
65
|
-
stdio: "inherit",
|
|
66
|
-
});
|
|
67
|
-
child.on("error", (error) => {
|
|
68
|
-
reject(error);
|
|
69
|
-
});
|
|
70
|
-
child.on("close", (code) => {
|
|
71
|
-
if (code === 0) {
|
|
72
|
-
resolve();
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
reject(new Error(`${command} exited with code ${code}`));
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
exports.DevCommandHandler = DevCommandHandler;
|
|
81
|
-
//# sourceMappingURL=DevCommandHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DevCommandHandler.js","sourceRoot":"","sources":["../../src/commands/DevCommandHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { EnvCommandArgs } from "../types";
|
|
2
|
-
export declare class EnvCommandHandler {
|
|
3
|
-
handle(args: EnvCommandArgs): Promise<void>;
|
|
4
|
-
private listEnvKeys;
|
|
5
|
-
private appendEnvLine;
|
|
6
|
-
private deleteEnvKey;
|
|
7
|
-
private assertValidEnvKey;
|
|
8
|
-
private loadConfig;
|
|
9
|
-
private runRemoteCommand;
|
|
10
|
-
private runRemoteCommandCapture;
|
|
11
|
-
private getRepoDirName;
|
|
12
|
-
}
|