openboot 0.1.3 → 0.1.5
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/README.md +30 -2
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent.js +3 -3
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +27 -23
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +15 -4
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/setup.js +4 -3
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +14 -7
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/team.d.ts +6 -0
- package/dist/commands/team.d.ts.map +1 -0
- package/dist/commands/team.js +307 -0
- package/dist/commands/team.js.map +1 -0
- package/dist/commands/up.js +10 -4
- package/dist/commands/up.js.map +1 -1
- package/dist/lib/agent.d.ts +4 -2
- package/dist/lib/agent.d.ts.map +1 -1
- package/dist/lib/agent.js +42 -8
- package/dist/lib/agent.js.map +1 -1
- package/dist/lib/config.d.ts +12 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +62 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/docker.d.ts.map +1 -1
- package/dist/lib/docker.js +64 -31
- package/dist/lib/docker.js.map +1 -1
- package/dist/lib/ports.d.ts +8 -3
- package/dist/lib/ports.d.ts.map +1 -1
- package/dist/lib/ports.js +19 -6
- package/dist/lib/ports.js.map +1 -1
- package/dist/lib/process.d.ts +1 -0
- package/dist/lib/process.d.ts.map +1 -1
- package/dist/lib/process.js +8 -3
- package/dist/lib/process.js.map +1 -1
- package/dist/lib/team.d.ts +62 -0
- package/dist/lib/team.d.ts.map +1 -0
- package/dist/lib/team.js +376 -0
- package/dist/lib/team.js.map +1 -0
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/lib/config.js
CHANGED
|
@@ -35,6 +35,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.findConfig = findConfig;
|
|
37
37
|
exports.loadConfig = loadConfig;
|
|
38
|
+
exports.loadProjectConfig = loadProjectConfig;
|
|
39
|
+
exports.getTeamConfigSeparately = getTeamConfigSeparately;
|
|
38
40
|
exports.detectPackageManager = detectPackageManager;
|
|
39
41
|
exports.getPackageManager = getPackageManager;
|
|
40
42
|
exports.detectPythonTool = detectPythonTool;
|
|
@@ -42,6 +44,7 @@ exports.getPyProjectInfo = getPyProjectInfo;
|
|
|
42
44
|
const fs = __importStar(require("fs"));
|
|
43
45
|
const path = __importStar(require("path"));
|
|
44
46
|
const yaml = __importStar(require("yaml"));
|
|
47
|
+
const team_1 = require("./team");
|
|
45
48
|
const CONFIG_FILES = ["boot.yaml", "boot.yml", "boot.json"];
|
|
46
49
|
/**
|
|
47
50
|
* Find the boot config file in a directory.
|
|
@@ -56,6 +59,8 @@ function findConfig(dir = process.cwd()) {
|
|
|
56
59
|
}
|
|
57
60
|
/**
|
|
58
61
|
* Load and parse the boot config.
|
|
62
|
+
* If the config has a team.url, the team profile is resolved (cloned/pulled)
|
|
63
|
+
* and merged as the base layer under the project config.
|
|
59
64
|
*/
|
|
60
65
|
function loadConfig(dir = process.cwd()) {
|
|
61
66
|
const configPath = findConfig(dir);
|
|
@@ -70,11 +75,68 @@ function loadConfig(dir = process.cwd()) {
|
|
|
70
75
|
else {
|
|
71
76
|
config = yaml.parse(raw);
|
|
72
77
|
}
|
|
78
|
+
// Guard against empty files (yaml.parse returns null) or primitive values
|
|
79
|
+
if (!config || typeof config !== "object") {
|
|
80
|
+
config = {};
|
|
81
|
+
}
|
|
82
|
+
if (!config.name) {
|
|
83
|
+
config.name = path.basename(dir);
|
|
84
|
+
}
|
|
85
|
+
// ── Team profile merge ──
|
|
86
|
+
const teamConfig = config.team;
|
|
87
|
+
if (teamConfig?.url) {
|
|
88
|
+
try {
|
|
89
|
+
const resolved = (0, team_1.resolveTeamProfile)(teamConfig);
|
|
90
|
+
if (resolved) {
|
|
91
|
+
config = (0, team_1.mergeConfigs)(resolved.config, config);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
if (teamConfig.required) {
|
|
96
|
+
throw err; // Fail hard if team profile is required
|
|
97
|
+
}
|
|
98
|
+
// Non-required: warn and continue with project-only config
|
|
99
|
+
const { log } = require("./log");
|
|
100
|
+
log.warn(`Team profile unavailable: ${err.message}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return config;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Load the raw project config without team merge (for team commands that need
|
|
107
|
+
* to inspect the project config independently).
|
|
108
|
+
*/
|
|
109
|
+
function loadProjectConfig(dir = process.cwd()) {
|
|
110
|
+
const configPath = findConfig(dir);
|
|
111
|
+
if (!configPath) {
|
|
112
|
+
throw new Error("No boot.yaml found. Run `boot init` to create one.");
|
|
113
|
+
}
|
|
114
|
+
const raw = fs.readFileSync(configPath, "utf-8");
|
|
115
|
+
let config;
|
|
116
|
+
if (configPath.endsWith(".json")) {
|
|
117
|
+
config = JSON.parse(raw);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
config = yaml.parse(raw);
|
|
121
|
+
}
|
|
122
|
+
if (!config || typeof config !== "object") {
|
|
123
|
+
config = {};
|
|
124
|
+
}
|
|
73
125
|
if (!config.name) {
|
|
74
126
|
config.name = path.basename(dir);
|
|
75
127
|
}
|
|
76
128
|
return config;
|
|
77
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Get the team config separately (for agent markdown labeling).
|
|
132
|
+
* Returns null if no team profile is configured or cached.
|
|
133
|
+
*/
|
|
134
|
+
function getTeamConfigSeparately(dir = process.cwd()) {
|
|
135
|
+
const projectConfig = loadProjectConfig(dir);
|
|
136
|
+
if (!projectConfig.team?.url)
|
|
137
|
+
return null;
|
|
138
|
+
return (0, team_1.loadTeamConfig)(projectConfig.team.url);
|
|
139
|
+
}
|
|
78
140
|
/**
|
|
79
141
|
* Detect the package manager from lockfiles.
|
|
80
142
|
*/
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/docker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/lib/docker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/lib/docker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAC;AAoBvD,wBAAgB,iBAAiB,IAAI,OAAO,CAO3C;AA2fD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAiBpD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAiBnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,GACjB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA+BxD"}
|
package/dist/lib/docker.js
CHANGED
|
@@ -43,19 +43,18 @@ const path = __importStar(require("path"));
|
|
|
43
43
|
const yaml = __importStar(require("yaml"));
|
|
44
44
|
const log_1 = require("./log");
|
|
45
45
|
const ports_1 = require("./ports");
|
|
46
|
-
// ─── Helpers ────────────────────────────────────────────────
|
|
47
46
|
function getComposeCmd() {
|
|
48
47
|
try {
|
|
49
|
-
(0, child_process_1.
|
|
50
|
-
return "docker compose";
|
|
48
|
+
(0, child_process_1.execFileSync)("docker", ["compose", "version"], { stdio: "pipe" });
|
|
49
|
+
return { bin: "docker", baseArgs: ["compose"] };
|
|
51
50
|
}
|
|
52
51
|
catch {
|
|
53
|
-
return "docker-compose";
|
|
52
|
+
return { bin: "docker-compose", baseArgs: [] };
|
|
54
53
|
}
|
|
55
54
|
}
|
|
56
55
|
function isDockerAvailable() {
|
|
57
56
|
try {
|
|
58
|
-
(0, child_process_1.
|
|
57
|
+
(0, child_process_1.execFileSync)("docker", ["info"], { stdio: "pipe" });
|
|
59
58
|
return true;
|
|
60
59
|
}
|
|
61
60
|
catch {
|
|
@@ -64,7 +63,7 @@ function isDockerAvailable() {
|
|
|
64
63
|
}
|
|
65
64
|
function isContainerRunning(container) {
|
|
66
65
|
try {
|
|
67
|
-
const status = (0, child_process_1.
|
|
66
|
+
const status = (0, child_process_1.execFileSync)("docker", ["inspect", "-f", "{{.State.Status}}", container], { stdio: "pipe" })
|
|
68
67
|
.toString()
|
|
69
68
|
.trim();
|
|
70
69
|
return status === "running";
|
|
@@ -75,7 +74,7 @@ function isContainerRunning(container) {
|
|
|
75
74
|
}
|
|
76
75
|
function containerExists(container) {
|
|
77
76
|
try {
|
|
78
|
-
(0, child_process_1.
|
|
77
|
+
(0, child_process_1.execFileSync)("docker", ["inspect", container], { stdio: "pipe" });
|
|
79
78
|
return true;
|
|
80
79
|
}
|
|
81
80
|
catch {
|
|
@@ -86,7 +85,9 @@ function waitForContainer(container, check, timeout) {
|
|
|
86
85
|
log_1.log.info(`Waiting for ${container}...`);
|
|
87
86
|
for (let i = 0; i < timeout; i++) {
|
|
88
87
|
try {
|
|
89
|
-
(0, child_process_1.
|
|
88
|
+
(0, child_process_1.execFileSync)("docker", ["exec", container, "sh", "-c", check], {
|
|
89
|
+
stdio: "pipe",
|
|
90
|
+
});
|
|
90
91
|
log_1.log.success(`${container} is ready`);
|
|
91
92
|
return;
|
|
92
93
|
}
|
|
@@ -154,7 +155,7 @@ function startContainers(containers) {
|
|
|
154
155
|
// Port taken — remove old container and recreate with a free port
|
|
155
156
|
log_1.log.warn(`Port conflict for ${ct.name} — recreating on a free port...`);
|
|
156
157
|
try {
|
|
157
|
-
(0, child_process_1.
|
|
158
|
+
(0, child_process_1.execFileSync)("docker", ["rm", "-f", ct.name], { stdio: "pipe" });
|
|
158
159
|
}
|
|
159
160
|
catch {
|
|
160
161
|
// ignore
|
|
@@ -164,14 +165,14 @@ function startContainers(containers) {
|
|
|
164
165
|
else {
|
|
165
166
|
log_1.log.info(`Starting existing container ${ct.name}...`);
|
|
166
167
|
try {
|
|
167
|
-
(0, child_process_1.
|
|
168
|
+
(0, child_process_1.execFileSync)("docker", ["start", ct.name], { stdio: "pipe" });
|
|
168
169
|
log_1.log.success(`${ct.name} started`);
|
|
169
170
|
}
|
|
170
171
|
catch (err) {
|
|
171
172
|
// If start fails for another reason (e.g. stale network), recreate
|
|
172
173
|
log_1.log.warn(`docker start failed for ${ct.name} — recreating...`);
|
|
173
174
|
try {
|
|
174
|
-
(0, child_process_1.
|
|
175
|
+
(0, child_process_1.execFileSync)("docker", ["rm", "-f", ct.name], { stdio: "pipe" });
|
|
175
176
|
}
|
|
176
177
|
catch {
|
|
177
178
|
// ignore
|
|
@@ -187,7 +188,7 @@ function startContainers(containers) {
|
|
|
187
188
|
}
|
|
188
189
|
}
|
|
189
190
|
// Need to create — check port conflicts first
|
|
190
|
-
|
|
191
|
+
const portArgs = [];
|
|
191
192
|
if (ct.ports) {
|
|
192
193
|
for (const p of ct.ports) {
|
|
193
194
|
const resolved = resolveHostPort(p);
|
|
@@ -195,7 +196,7 @@ function startContainers(containers) {
|
|
|
195
196
|
const freePort = findFreePort(resolved.host);
|
|
196
197
|
if (freePort) {
|
|
197
198
|
log_1.log.warn(`Port ${resolved.host} in use — using ${freePort} for ${ct.name}`);
|
|
198
|
-
|
|
199
|
+
portArgs.push("-p", `${freePort}:${resolved.container}`);
|
|
199
200
|
}
|
|
200
201
|
else {
|
|
201
202
|
log_1.log.error(`Port ${resolved.host} in use and no free port found for ${ct.name}`);
|
|
@@ -203,27 +204,27 @@ function startContainers(containers) {
|
|
|
203
204
|
}
|
|
204
205
|
}
|
|
205
206
|
else if (resolved) {
|
|
206
|
-
|
|
207
|
+
portArgs.push("-p", `${resolved.host}:${resolved.container}`);
|
|
207
208
|
}
|
|
208
209
|
}
|
|
209
210
|
}
|
|
210
|
-
// Build env
|
|
211
|
-
|
|
211
|
+
// Build env args
|
|
212
|
+
const envArgs = [];
|
|
212
213
|
if (ct.env) {
|
|
213
214
|
for (const [k, v] of Object.entries(ct.env)) {
|
|
214
|
-
|
|
215
|
+
envArgs.push("-e", `${k}=${v}`);
|
|
215
216
|
}
|
|
216
217
|
}
|
|
217
|
-
// Build volume
|
|
218
|
-
|
|
218
|
+
// Build volume args
|
|
219
|
+
const volArgs = [];
|
|
219
220
|
if (ct.volumes) {
|
|
220
221
|
for (const v of ct.volumes) {
|
|
221
|
-
|
|
222
|
+
volArgs.push("-v", v);
|
|
222
223
|
}
|
|
223
224
|
}
|
|
224
225
|
log_1.log.info(`Creating container ${ct.name}...`);
|
|
225
226
|
try {
|
|
226
|
-
(0, child_process_1.
|
|
227
|
+
(0, child_process_1.execFileSync)("docker", ["run", "-d", "--name", ct.name, ...portArgs, ...envArgs, ...volArgs, ct.image], { stdio: "pipe" });
|
|
227
228
|
log_1.log.success(`${ct.name} started`);
|
|
228
229
|
}
|
|
229
230
|
catch (err) {
|
|
@@ -243,7 +244,7 @@ function stopContainers(containers) {
|
|
|
243
244
|
if (isContainerRunning(ct.name)) {
|
|
244
245
|
log_1.log.info(`Stopping ${ct.name}...`);
|
|
245
246
|
try {
|
|
246
|
-
(0, child_process_1.
|
|
247
|
+
(0, child_process_1.execFileSync)("docker", ["stop", ct.name], { stdio: "pipe" });
|
|
247
248
|
log_1.log.success(`${ct.name} stopped`);
|
|
248
249
|
}
|
|
249
250
|
catch {
|
|
@@ -264,7 +265,7 @@ function getContainersStatus(containers) {
|
|
|
264
265
|
let status = "not found";
|
|
265
266
|
let ports = "";
|
|
266
267
|
try {
|
|
267
|
-
status = (0, child_process_1.
|
|
268
|
+
status = (0, child_process_1.execFileSync)("docker", ["inspect", "-f", "{{.State.Status}}", ct.name], { stdio: "pipe" })
|
|
268
269
|
.toString()
|
|
269
270
|
.trim();
|
|
270
271
|
}
|
|
@@ -273,7 +274,7 @@ function getContainersStatus(containers) {
|
|
|
273
274
|
}
|
|
274
275
|
if (status === "running") {
|
|
275
276
|
try {
|
|
276
|
-
const portInfo = (0, child_process_1.
|
|
277
|
+
const portInfo = (0, child_process_1.execFileSync)("docker", ["port", ct.name], { stdio: "pipe" })
|
|
277
278
|
.toString()
|
|
278
279
|
.trim();
|
|
279
280
|
ports = portInfo.split("\n").map((l) => l.split("->").pop()?.trim() || "").join(", ");
|
|
@@ -310,7 +311,7 @@ function startComposeServices(config) {
|
|
|
310
311
|
const container = svc.container || svc.name;
|
|
311
312
|
if (!isContainerRunning(container)) {
|
|
312
313
|
try {
|
|
313
|
-
(0, child_process_1.
|
|
314
|
+
(0, child_process_1.execFileSync)("docker", ["start", container], { stdio: "pipe" });
|
|
314
315
|
log_1.log.success(`${container} started`);
|
|
315
316
|
}
|
|
316
317
|
catch {
|
|
@@ -324,6 +325,7 @@ function startComposeServices(config) {
|
|
|
324
325
|
// 3. Check for port conflicts before compose
|
|
325
326
|
const conflicts = getComposePortConflicts(file);
|
|
326
327
|
if (conflicts.length > 0) {
|
|
328
|
+
const conflictingServiceNames = new Set(conflicts.map((c) => c.service));
|
|
327
329
|
for (const conflict of conflicts) {
|
|
328
330
|
const freePort = findFreePort(conflict.hostPort);
|
|
329
331
|
if (!freePort) {
|
|
@@ -336,15 +338,18 @@ function startComposeServices(config) {
|
|
|
336
338
|
const svc = services.find((s) => s.name === conflict.service);
|
|
337
339
|
const container = svc?.container || conflict.service;
|
|
338
340
|
const envVars = getComposeServiceEnv(file, conflict.service);
|
|
339
|
-
const
|
|
341
|
+
const envArgs = [];
|
|
342
|
+
for (const e of envVars) {
|
|
343
|
+
envArgs.push("-e", e);
|
|
344
|
+
}
|
|
340
345
|
try {
|
|
341
|
-
(0, child_process_1.
|
|
346
|
+
(0, child_process_1.execFileSync)("docker", ["rm", "-f", container], { stdio: "pipe" });
|
|
342
347
|
}
|
|
343
348
|
catch {
|
|
344
349
|
// ignore
|
|
345
350
|
}
|
|
346
351
|
try {
|
|
347
|
-
(0, child_process_1.
|
|
352
|
+
(0, child_process_1.execFileSync)("docker", ["run", "-d", "--name", container, "-p", `${freePort}:${conflict.containerPort}`, ...envArgs, image], { stdio: "pipe" });
|
|
348
353
|
log_1.log.success(`${conflict.service} started on port ${freePort} (mapped to container:${conflict.containerPort})`);
|
|
349
354
|
}
|
|
350
355
|
catch (err) {
|
|
@@ -352,13 +357,26 @@ function startComposeServices(config) {
|
|
|
352
357
|
return;
|
|
353
358
|
}
|
|
354
359
|
}
|
|
360
|
+
// Start remaining non-conflicting services via compose
|
|
361
|
+
const nonConflicting = getComposeServiceNames(file).filter((name) => !conflictingServiceNames.has(name));
|
|
362
|
+
if (nonConflicting.length > 0) {
|
|
363
|
+
log_1.log.info("Starting remaining Docker services...");
|
|
364
|
+
try {
|
|
365
|
+
(0, child_process_1.execFileSync)(compose.bin, [...compose.baseArgs, "-f", file, "up", "-d", ...nonConflicting], { stdio: "inherit" });
|
|
366
|
+
}
|
|
367
|
+
catch {
|
|
368
|
+
log_1.log.error("Failed to start remaining Docker services");
|
|
369
|
+
}
|
|
370
|
+
}
|
|
355
371
|
waitForAllComposeServices(services);
|
|
356
372
|
return;
|
|
357
373
|
}
|
|
358
374
|
// 4. Normal compose up
|
|
359
375
|
log_1.log.info("Starting Docker services...");
|
|
360
376
|
try {
|
|
361
|
-
(0, child_process_1.
|
|
377
|
+
(0, child_process_1.execFileSync)(compose.bin, [...compose.baseArgs, "-f", file, "up", "-d"], {
|
|
378
|
+
stdio: "inherit",
|
|
379
|
+
});
|
|
362
380
|
}
|
|
363
381
|
catch {
|
|
364
382
|
log_1.log.error("Failed to start Docker services");
|
|
@@ -373,7 +391,9 @@ function stopComposeServices(config) {
|
|
|
373
391
|
const file = config.docker.composeFile || "docker-compose.yml";
|
|
374
392
|
log_1.log.info("Stopping Docker services...");
|
|
375
393
|
try {
|
|
376
|
-
(0, child_process_1.
|
|
394
|
+
(0, child_process_1.execFileSync)(compose.bin, [...compose.baseArgs, "-f", file, "down"], {
|
|
395
|
+
stdio: "inherit",
|
|
396
|
+
});
|
|
377
397
|
log_1.log.success("Docker services stopped");
|
|
378
398
|
}
|
|
379
399
|
catch {
|
|
@@ -415,6 +435,19 @@ function getComposePortConflicts(composeFile) {
|
|
|
415
435
|
}
|
|
416
436
|
return conflicts;
|
|
417
437
|
}
|
|
438
|
+
function getComposeServiceNames(composeFile) {
|
|
439
|
+
try {
|
|
440
|
+
const raw = fs.readFileSync(path.resolve(composeFile), "utf-8");
|
|
441
|
+
const compose = yaml.parse(raw);
|
|
442
|
+
if (compose?.services) {
|
|
443
|
+
return Object.keys(compose.services);
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
catch {
|
|
447
|
+
// Can't parse
|
|
448
|
+
}
|
|
449
|
+
return [];
|
|
450
|
+
}
|
|
418
451
|
function getComposeServiceImage(composeFile, serviceName) {
|
|
419
452
|
try {
|
|
420
453
|
const raw = fs.readFileSync(path.resolve(composeFile), "utf-8");
|
|
@@ -492,7 +525,7 @@ function getDockerStatus(config) {
|
|
|
492
525
|
const container = svc.container || svc.name;
|
|
493
526
|
let status = "unknown";
|
|
494
527
|
try {
|
|
495
|
-
status = (0, child_process_1.
|
|
528
|
+
status = (0, child_process_1.execFileSync)("docker", ["inspect", "-f", "{{.State.Status}}", container], { stdio: "pipe" })
|
|
496
529
|
.toString()
|
|
497
530
|
.trim();
|
|
498
531
|
}
|
package/dist/lib/docker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/lib/docker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/lib/docker.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/ports.d.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Check if a port is currently in use.
|
|
2
|
+
* Check if a port is currently in use (local LISTEN only).
|
|
3
|
+
* Uses -n (no DNS), -P (no service names), -sTCP:LISTEN to avoid
|
|
4
|
+
* matching outgoing connections to remote servers on the same port.
|
|
3
5
|
*/
|
|
4
6
|
export declare function isPortInUse(port: number): boolean;
|
|
5
7
|
/**
|
|
6
|
-
* Kill whatever process is
|
|
8
|
+
* Kill whatever process is listening on a port.
|
|
9
|
+
* Only targets processes in LISTEN state to avoid killing unrelated
|
|
10
|
+
* processes that happen to have outgoing connections on the same port.
|
|
7
11
|
*/
|
|
8
12
|
export declare function killPort(port: number): void;
|
|
9
13
|
/**
|
|
10
|
-
* Get info about what's
|
|
14
|
+
* Get info about what's listening on a port.
|
|
15
|
+
* Restricted to LISTEN state to avoid reporting unrelated connections.
|
|
11
16
|
*/
|
|
12
17
|
export declare function getPortProcess(port: number): string | null;
|
|
13
18
|
//# sourceMappingURL=ports.d.ts.map
|
package/dist/lib/ports.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../src/lib/ports.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../src/lib/ports.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWjD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAmB3C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc1D"}
|
package/dist/lib/ports.js
CHANGED
|
@@ -5,11 +5,13 @@ exports.killPort = killPort;
|
|
|
5
5
|
exports.getPortProcess = getPortProcess;
|
|
6
6
|
const child_process_1 = require("child_process");
|
|
7
7
|
/**
|
|
8
|
-
* Check if a port is currently in use.
|
|
8
|
+
* Check if a port is currently in use (local LISTEN only).
|
|
9
|
+
* Uses -n (no DNS), -P (no service names), -sTCP:LISTEN to avoid
|
|
10
|
+
* matching outgoing connections to remote servers on the same port.
|
|
9
11
|
*/
|
|
10
12
|
function isPortInUse(port) {
|
|
11
13
|
try {
|
|
12
|
-
(0, child_process_1.
|
|
14
|
+
(0, child_process_1.execFileSync)("lsof", ["-t", "-n", "-P", `-iTCP:${port}`, "-sTCP:LISTEN"], { stdio: "pipe" });
|
|
13
15
|
return true;
|
|
14
16
|
}
|
|
15
17
|
catch {
|
|
@@ -17,22 +19,33 @@ function isPortInUse(port) {
|
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
/**
|
|
20
|
-
* Kill whatever process is
|
|
22
|
+
* Kill whatever process is listening on a port.
|
|
23
|
+
* Only targets processes in LISTEN state to avoid killing unrelated
|
|
24
|
+
* processes that happen to have outgoing connections on the same port.
|
|
21
25
|
*/
|
|
22
26
|
function killPort(port) {
|
|
23
27
|
try {
|
|
24
|
-
(0, child_process_1.
|
|
28
|
+
const output = (0, child_process_1.execFileSync)("lsof", ["-t", "-n", "-P", `-iTCP:${port}`, "-sTCP:LISTEN"], { stdio: "pipe" })
|
|
29
|
+
.toString()
|
|
30
|
+
.trim();
|
|
31
|
+
if (!output)
|
|
32
|
+
return;
|
|
33
|
+
const pids = output.split("\n").filter(Boolean);
|
|
34
|
+
if (pids.length > 0) {
|
|
35
|
+
(0, child_process_1.execFileSync)("kill", ["-9", ...pids], { stdio: "pipe" });
|
|
36
|
+
}
|
|
25
37
|
}
|
|
26
38
|
catch {
|
|
27
39
|
// nothing on that port, or already dead
|
|
28
40
|
}
|
|
29
41
|
}
|
|
30
42
|
/**
|
|
31
|
-
* Get info about what's
|
|
43
|
+
* Get info about what's listening on a port.
|
|
44
|
+
* Restricted to LISTEN state to avoid reporting unrelated connections.
|
|
32
45
|
*/
|
|
33
46
|
function getPortProcess(port) {
|
|
34
47
|
try {
|
|
35
|
-
const result = (0, child_process_1.
|
|
48
|
+
const result = (0, child_process_1.execFileSync)("lsof", ["-n", "-P", `-iTCP:${port}`, "-sTCP:LISTEN"], { stdio: "pipe" })
|
|
36
49
|
.toString()
|
|
37
50
|
.trim();
|
|
38
51
|
const lines = result.split("\n");
|
package/dist/lib/ports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/lib/ports.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/lib/ports.ts"],"names":[],"mappings":";;AAOA,kCAWC;AAOD,4BAmBC;AAMD,wCAcC;AAhED,iDAA6C;AAE7C;;;;GAIG;AACH,SAAgB,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC;QACH,IAAA,4BAAY,EACV,MAAM,EACN,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE,EAAE,cAAc,CAAC,EACnD,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,4BAAY,EACzB,MAAM,EACN,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE,EAAE,cAAc,CAAC,EACnD,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB;aACE,QAAQ,EAAE;aACV,IAAI,EAAE,CAAC;QAEV,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAA,4BAAY,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAAY;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,4BAAY,EACzB,MAAM,EACN,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE,EAAE,cAAc,CAAC,EAC7C,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB;aACE,QAAQ,EAAE;aACV,IAAI,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/lib/process.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export declare function startApp(app: AppConfig, projectRoot: string): void;
|
|
|
25
25
|
export declare function stopApp(app: AppConfig | string): void;
|
|
26
26
|
/**
|
|
27
27
|
* Stop all apps. Accepts optional app configs for smarter stopping.
|
|
28
|
+
* Always sweeps PID files to catch orphaned processes not in the current config.
|
|
28
29
|
*/
|
|
29
30
|
export declare function stopAllApps(apps?: AppConfig[]): void;
|
|
30
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/lib/process.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAarC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOrD;AASD;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcxD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUtD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA6ClE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAmFrD;AAkBD
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/lib/process.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAarC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOrD;AASD;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcxD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUtD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA6ClE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAmFrD;AAkBD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAsBpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,SAAS,GACb;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAIlE"}
|
package/dist/lib/process.js
CHANGED
|
@@ -256,22 +256,27 @@ function extractPkillPatterns(command) {
|
|
|
256
256
|
}
|
|
257
257
|
/**
|
|
258
258
|
* Stop all apps. Accepts optional app configs for smarter stopping.
|
|
259
|
+
* Always sweeps PID files to catch orphaned processes not in the current config.
|
|
259
260
|
*/
|
|
260
261
|
function stopAllApps(apps) {
|
|
262
|
+
const stoppedNames = new Set();
|
|
261
263
|
// If we have app configs, use them (enables pkill + port fallback)
|
|
262
264
|
if (apps) {
|
|
263
265
|
for (const app of apps) {
|
|
264
266
|
stopApp(app);
|
|
267
|
+
stoppedNames.add(app.name);
|
|
265
268
|
}
|
|
266
|
-
return;
|
|
267
269
|
}
|
|
268
|
-
//
|
|
270
|
+
// Always sweep PID files to clean up orphaned processes
|
|
271
|
+
// (e.g. apps removed from config while still running)
|
|
269
272
|
if (!fs.existsSync(PIDS_DIR))
|
|
270
273
|
return;
|
|
271
274
|
const files = fs.readdirSync(PIDS_DIR).filter((f) => f.endsWith(".pid"));
|
|
272
275
|
for (const f of files) {
|
|
273
276
|
const name = f.replace(".pid", "");
|
|
274
|
-
|
|
277
|
+
if (!stoppedNames.has(name)) {
|
|
278
|
+
stopApp(name);
|
|
279
|
+
}
|
|
275
280
|
}
|
|
276
281
|
}
|
|
277
282
|
/**
|