supbuddy 3.1.3 → 3.1.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/bin.js CHANGED
@@ -38354,6 +38354,7 @@ async function stopCaddyServer() {
38354
38354
  await caddySupervisor.quiesce();
38355
38355
  caddySupervisor.reset();
38356
38356
  if (!caddyProcess) {
38357
+ await reapStaleCaddyProcesses();
38357
38358
  return;
38358
38359
  }
38359
38360
  store.setProxyStatus("stopping");
@@ -38379,6 +38380,7 @@ async function stopCaddyServer() {
38379
38380
  }
38380
38381
  });
38381
38382
  caddyProcess = null;
38383
+ await reapStaleCaddyProcesses();
38382
38384
  store.setProxyStatus("idle");
38383
38385
  console.log("[Caddy] Server stopped");
38384
38386
  } catch (error) {
@@ -38531,13 +38533,7 @@ async function stopAllServices(deps = realDeps()) {
38531
38533
  });
38532
38534
  });
38533
38535
  await step("stopDnsServer", () => deps.stopDnsServer());
38534
- let caddyRunning = false;
38535
- await step("isCaddyRunning", () => {
38536
- caddyRunning = deps.isCaddyRunning();
38537
- });
38538
- if (caddyRunning) {
38539
- await step("stopCaddyServer", () => deps.stopCaddyServer());
38540
- }
38536
+ await step("stopCaddyServer", () => deps.stopCaddyServer());
38541
38537
  }
38542
38538
  var realDeps;
38543
38539
  var init_stop_all_services = __esm({
@@ -44991,6 +44987,18 @@ var SHORT_FLAG_MAP = {
44991
44987
  y: "yes",
44992
44988
  q: "quiet"
44993
44989
  };
44990
+ function resolveStopOutcome(pid, alive) {
44991
+ if (alive) {
44992
+ return {
44993
+ exitCode: 1,
44994
+ removeDaemonInfo: false,
44995
+ message: `supbuddy: daemon (pid ${pid}) did not exit within 8s \u2014 still running.
44996
+ daemon.json was left in place so the app can still find it.
44997
+ Force it if you must: kill -9 ${pid}`
44998
+ };
44999
+ }
45000
+ return { exitCode: 0, removeDaemonInfo: true, message: `supbuddy: stopped (pid ${pid})` };
45001
+ }
44994
45002
  function parseFlags(argv) {
44995
45003
  const flags = {};
44996
45004
  const positionals = [];
@@ -45308,9 +45316,11 @@ async function dispatch(argv, opts) {
45308
45316
  const still = await readDaemonInfo(dir);
45309
45317
  if (!still || !isPidAlive(still.pid)) break;
45310
45318
  }
45311
- await removeDaemonInfo(dir);
45312
- console.log(`supbuddy: stopped (pid ${pid})`);
45313
- return 0;
45319
+ const outcome = resolveStopOutcome(pid, isPidAlive(pid));
45320
+ if (outcome.removeDaemonInfo) await removeDaemonInfo(dir);
45321
+ if (outcome.exitCode === 0) console.log(outcome.message);
45322
+ else console.error(outcome.message);
45323
+ return outcome.exitCode;
45314
45324
  }
45315
45325
  case void 0:
45316
45326
  case "": {
@@ -45386,7 +45396,8 @@ if (isMain) {
45386
45396
  export {
45387
45397
  dispatch,
45388
45398
  flushStream,
45389
- parseFlags
45399
+ parseFlags,
45400
+ resolveStopOutcome
45390
45401
  };
45391
45402
  /*! Bundled license information:
45392
45403
 
@@ -28446,6 +28446,7 @@ async function stopCaddyServer() {
28446
28446
  await caddySupervisor.quiesce();
28447
28447
  caddySupervisor.reset();
28448
28448
  if (!caddyProcess) {
28449
+ await reapStaleCaddyProcesses();
28449
28450
  return;
28450
28451
  }
28451
28452
  store2.setProxyStatus("stopping");
@@ -28471,6 +28472,7 @@ async function stopCaddyServer() {
28471
28472
  }
28472
28473
  });
28473
28474
  caddyProcess = null;
28475
+ await reapStaleCaddyProcesses();
28474
28476
  store2.setProxyStatus("idle");
28475
28477
  console.log("[Caddy] Server stopped");
28476
28478
  } catch (error) {
@@ -40188,13 +40190,7 @@ async function stopAllServices(deps = realDeps()) {
40188
40190
  });
40189
40191
  });
40190
40192
  await step("stopDnsServer", () => deps.stopDnsServer());
40191
- let caddyRunning = false;
40192
- await step("isCaddyRunning", () => {
40193
- caddyRunning = deps.isCaddyRunning();
40194
- });
40195
- if (caddyRunning) {
40196
- await step("stopCaddyServer", () => deps.stopCaddyServer());
40197
- }
40193
+ await step("stopCaddyServer", () => deps.stopCaddyServer());
40198
40194
  }
40199
40195
  const SERVICE_REF_TO_PORT_KEY = {
40200
40196
  "supabase-kong": "api.port",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "supbuddy",
3
- "version": "3.1.3",
3
+ "version": "3.1.4",
4
4
  "description": "Run multiple Supabase projects at once on custom local domains with HTTPS. A headless CLI and daemon (proxy, DNS, Supabase/Compose lifecycle, MCP) for macOS and Linux.",
5
5
  "keywords": [
6
6
  "supabase",