@superdangerous/app-framework 4.16.16 → 4.16.18

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.
@@ -97,7 +97,6 @@ class DevServerOrchestrator {
97
97
  this.backendProcess = spawn(cmd, args, {
98
98
  stdio: ["inherit", "pipe", "pipe"],
99
99
  shell: true,
100
- detached: true, // Create a new process group
101
100
  env: {
102
101
  ...process.env,
103
102
  LOG_LEVEL: "warn", // Only show warnings and errors
@@ -129,9 +128,13 @@ class DevServerOrchestrator {
129
128
  if (output.includes("EADDRINUSE") || output.includes("already in use")) {
130
129
  this.showPortConflictError(this.config.backendPort, "backend");
131
130
  }
132
- // Pass through backend stdout as-is to preserve formatting
133
- // The backend logger already handles timestamps and coloring
134
- if (output.trim() && !output.includes("ExperimentalWarning")) {
131
+ // Pass through backend stdout, but filter out the backend's startup banner
132
+ // (the dev-server shows its own banner, so we don't want duplicates)
133
+ // Banner lines typically contain box-drawing characters: ╭ ╰ │ ─
134
+ const isBannerLine = /[╭╰│─╮╯]/.test(output) ||
135
+ output.includes('Press Ctrl+C') ||
136
+ /^\s*(v\d+\.\d+\.\d+|Environment:|Framework:)\s*$/.test(output.trim());
137
+ if (output.trim() && !output.includes("ExperimentalWarning") && !isBannerLine) {
135
138
  if (this.hasShownBanner) {
136
139
  process.stdout.write(output);
137
140
  }
@@ -239,7 +242,6 @@ class DevServerOrchestrator {
239
242
  this.frontendProcess = spawn(cmd, args, {
240
243
  stdio: ["inherit", "pipe", "pipe"],
241
244
  shell: true,
242
- detached: true,
243
245
  cwd: path.join(process.cwd(), dir), // Run in the subdirectory
244
246
  env: {
245
247
  ...process.env,
@@ -256,7 +258,6 @@ class DevServerOrchestrator {
256
258
  this.frontendProcess = spawn(cmd, args, {
257
259
  stdio: ["inherit", "pipe", "pipe"],
258
260
  shell: true,
259
- detached: true,
260
261
  cwd: process.cwd(),
261
262
  env: {
262
263
  ...process.env,
@@ -282,7 +283,6 @@ class DevServerOrchestrator {
282
283
  this.frontendProcess = spawn(cmd, args, {
283
284
  stdio: ["inherit", "pipe", "pipe"],
284
285
  shell: true,
285
- detached: true, // Create a new process group
286
286
  cwd: process.cwd(), // Explicitly set working directory
287
287
  env: {
288
288
  ...process.env,
@@ -461,40 +461,34 @@ class DevServerOrchestrator {
461
461
  }
462
462
  }, 5000);
463
463
  }
464
- cleanup() {
465
- // Kill process groups to ensure all child processes are terminated
466
- if (this.backendProcess && this.backendProcess.pid) {
467
- try {
468
- // Kill the entire process group (negative PID)
469
- process.kill(-this.backendProcess.pid, "SIGTERM");
470
- }
471
- catch (_e) {
472
- // Fallback to regular kill
473
- try {
474
- this.backendProcess.kill("SIGTERM");
475
- }
476
- catch (_err) {
477
- // Process might already be dead
478
- }
479
- }
480
- this.backendProcess = null;
464
+ killProcess(proc) {
465
+ if (!proc || !proc.pid)
466
+ return;
467
+ const pid = proc.pid;
468
+ try {
469
+ proc.kill("SIGTERM");
470
+ }
471
+ catch (_e) {
472
+ // Process might already be dead
481
473
  }
482
- if (this.frontendProcess && this.frontendProcess.pid) {
474
+ // SIGKILL fallback after 500ms if the process is still alive
475
+ setTimeout(() => {
483
476
  try {
484
- // Kill the entire process group (negative PID)
485
- process.kill(-this.frontendProcess.pid, "SIGTERM");
477
+ // Check if process is still running (signal 0 = existence check)
478
+ process.kill(pid, 0);
479
+ // Still alive — force kill
480
+ process.kill(pid, "SIGKILL");
486
481
  }
487
482
  catch (_e) {
488
- // Fallback to regular kill
489
- try {
490
- this.frontendProcess.kill("SIGTERM");
491
- }
492
- catch (_err) {
493
- // Process might already be dead
494
- }
483
+ // Already dead — nothing to do
495
484
  }
496
- this.frontendProcess = null;
497
- }
485
+ }, 500);
486
+ }
487
+ cleanup() {
488
+ this.killProcess(this.backendProcess);
489
+ this.backendProcess = null;
490
+ this.killProcess(this.frontendProcess);
491
+ this.frontendProcess = null;
498
492
  }
499
493
  async checkPort(port) {
500
494
  return new Promise((resolve) => {
@@ -623,11 +617,15 @@ class DevServerOrchestrator {
623
617
  logger.info(chalk.yellow("\n\nShutting down..."));
624
618
  this.cleanup();
625
619
  // Force exit after a delay if processes don't terminate
626
- setTimeout(() => process.exit(0), 1000);
620
+ setTimeout(() => process.exit(0), 1500);
627
621
  });
628
622
  process.on("SIGTERM", () => {
629
623
  this.cleanup();
630
- process.exit(0);
624
+ setTimeout(() => process.exit(0), 1500);
625
+ });
626
+ // Safety net: ensure child processes are cleaned up on any exit
627
+ process.on("exit", () => {
628
+ this.cleanup();
631
629
  });
632
630
  }
633
631
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../../src/cli/dev-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../../src/cli/dev-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdangerous/app-framework",
3
- "version": "4.16.16",
3
+ "version": "4.16.18",
4
4
  "description": "Opinionated TypeScript framework for structured vibecoding - building internal web and desktop apps with batteries included",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -132,7 +132,6 @@ class DevServerOrchestrator {
132
132
  this.backendProcess = spawn(cmd, args, {
133
133
  stdio: ["inherit", "pipe", "pipe"],
134
134
  shell: true,
135
- detached: true, // Create a new process group
136
135
  env: {
137
136
  ...process.env,
138
137
  LOG_LEVEL: "warn", // Only show warnings and errors
@@ -170,9 +169,14 @@ class DevServerOrchestrator {
170
169
  this.showPortConflictError(this.config.backendPort, "backend");
171
170
  }
172
171
 
173
- // Pass through backend stdout as-is to preserve formatting
174
- // The backend logger already handles timestamps and coloring
175
- if (output.trim() && !output.includes("ExperimentalWarning")) {
172
+ // Pass through backend stdout, but filter out the backend's startup banner
173
+ // (the dev-server shows its own banner, so we don't want duplicates)
174
+ // Banner lines typically contain box-drawing characters: ╭ ╰ │ ─
175
+ const isBannerLine = /[╭╰│─╮╯]/.test(output) ||
176
+ output.includes('Press Ctrl+C') ||
177
+ /^\s*(v\d+\.\d+\.\d+|Environment:|Framework:)\s*$/.test(output.trim());
178
+
179
+ if (output.trim() && !output.includes("ExperimentalWarning") && !isBannerLine) {
176
180
  if (this.hasShownBanner) {
177
181
  process.stdout.write(output);
178
182
  } else {
@@ -313,7 +317,7 @@ class DevServerOrchestrator {
313
317
  this.frontendProcess = spawn(cmd, args, {
314
318
  stdio: ["inherit", "pipe", "pipe"],
315
319
  shell: true,
316
- detached: true,
320
+
317
321
  cwd: path.join(process.cwd(), dir), // Run in the subdirectory
318
322
  env: {
319
323
  ...process.env,
@@ -329,7 +333,7 @@ class DevServerOrchestrator {
329
333
  this.frontendProcess = spawn(cmd, args, {
330
334
  stdio: ["inherit", "pipe", "pipe"],
331
335
  shell: true,
332
- detached: true,
336
+
333
337
  cwd: process.cwd(),
334
338
  env: {
335
339
  ...process.env,
@@ -354,7 +358,6 @@ class DevServerOrchestrator {
354
358
  this.frontendProcess = spawn(cmd, args, {
355
359
  stdio: ["inherit", "pipe", "pipe"],
356
360
  shell: true,
357
- detached: true, // Create a new process group
358
361
  cwd: process.cwd(), // Explicitly set working directory
359
362
  env: {
360
363
  ...process.env,
@@ -588,37 +591,32 @@ class DevServerOrchestrator {
588
591
  }, 5000);
589
592
  }
590
593
 
591
- private cleanup() {
592
- // Kill process groups to ensure all child processes are terminated
593
- if (this.backendProcess && this.backendProcess.pid) {
594
- try {
595
- // Kill the entire process group (negative PID)
596
- process.kill(-this.backendProcess.pid, "SIGTERM");
597
- } catch (_e) {
598
- // Fallback to regular kill
599
- try {
600
- this.backendProcess.kill("SIGTERM");
601
- } catch (_err) {
602
- // Process might already be dead
603
- }
604
- }
605
- this.backendProcess = null;
594
+ private killProcess(proc: ChildProcess | null) {
595
+ if (!proc || !proc.pid) return;
596
+ const pid = proc.pid;
597
+ try {
598
+ proc.kill("SIGTERM");
599
+ } catch (_e) {
600
+ // Process might already be dead
606
601
  }
607
-
608
- if (this.frontendProcess && this.frontendProcess.pid) {
602
+ // SIGKILL fallback after 500ms if the process is still alive
603
+ setTimeout(() => {
609
604
  try {
610
- // Kill the entire process group (negative PID)
611
- process.kill(-this.frontendProcess.pid, "SIGTERM");
605
+ // Check if process is still running (signal 0 = existence check)
606
+ process.kill(pid, 0);
607
+ // Still alive — force kill
608
+ process.kill(pid, "SIGKILL");
612
609
  } catch (_e) {
613
- // Fallback to regular kill
614
- try {
615
- this.frontendProcess.kill("SIGTERM");
616
- } catch (_err) {
617
- // Process might already be dead
618
- }
610
+ // Already dead — nothing to do
619
611
  }
620
- this.frontendProcess = null;
621
- }
612
+ }, 500);
613
+ }
614
+
615
+ private cleanup() {
616
+ this.killProcess(this.backendProcess);
617
+ this.backendProcess = null;
618
+ this.killProcess(this.frontendProcess);
619
+ this.frontendProcess = null;
622
620
  }
623
621
 
624
622
  private async checkPort(port: number): Promise<boolean> {
@@ -783,12 +781,17 @@ class DevServerOrchestrator {
783
781
  logger.info(chalk.yellow("\n\nShutting down..."));
784
782
  this.cleanup();
785
783
  // Force exit after a delay if processes don't terminate
786
- setTimeout(() => process.exit(0), 1000);
784
+ setTimeout(() => process.exit(0), 1500);
787
785
  });
788
786
 
789
787
  process.on("SIGTERM", () => {
790
788
  this.cleanup();
791
- process.exit(0);
789
+ setTimeout(() => process.exit(0), 1500);
790
+ });
791
+
792
+ // Safety net: ensure child processes are cleaned up on any exit
793
+ process.on("exit", () => {
794
+ this.cleanup();
792
795
  });
793
796
  }
794
797
  }