@hienlh/ppm 0.5.5 → 0.5.7
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/CHANGELOG.md +10 -0
- package/package.json +1 -1
- package/src/index.ts +4 -1
- package/src/server/index.ts +6 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.7] - 2026-03-18
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- **Windows: PowerShell Start-Process rejects same file for stdout/stderr** — use separate `.err.log` for stderr redirect
|
|
7
|
+
|
|
8
|
+
## [0.5.6] - 2026-03-18
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- All CLI commands now print PPM version before execution for easy version verification
|
|
12
|
+
|
|
3
13
|
## [0.5.5] - 2026-03-18
|
|
4
14
|
|
|
5
15
|
### Fixed
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -7,7 +7,10 @@ const program = new Command();
|
|
|
7
7
|
program
|
|
8
8
|
.name("ppm")
|
|
9
9
|
.description("Personal Project Manager — mobile-first web IDE")
|
|
10
|
-
.version(VERSION)
|
|
10
|
+
.version(VERSION)
|
|
11
|
+
.hook("preAction", () => {
|
|
12
|
+
console.log(` PPM v${VERSION}\n`);
|
|
13
|
+
});
|
|
11
14
|
|
|
12
15
|
program
|
|
13
16
|
.command("start")
|
package/src/server/index.ts
CHANGED
|
@@ -310,13 +310,15 @@ export async function startServer(options: {
|
|
|
310
310
|
// Windows: Bun.spawn child may die when parent exits (same job object).
|
|
311
311
|
// Use PowerShell Start-Process to create a truly detached process.
|
|
312
312
|
const bunExe = process.execPath.replace(/\\/g, "\\\\");
|
|
313
|
+
const logEscaped = logFile.replace(/\\/g, "\\\\");
|
|
314
|
+
const errLog = logFile.replace(/\.log$/, ".err.log").replace(/\\/g, "\\\\");
|
|
313
315
|
const argStr = ["run", script, ...args].map((a) => `'${a}'`).join(",");
|
|
314
316
|
const psCmd = [
|
|
315
317
|
`$p = Start-Process -PassThru -WindowStyle Hidden`,
|
|
316
318
|
`-FilePath '${bunExe}'`,
|
|
317
319
|
`-ArgumentList ${argStr}`,
|
|
318
|
-
`-RedirectStandardOutput '${
|
|
319
|
-
`-RedirectStandardError '${
|
|
320
|
+
`-RedirectStandardOutput '${logEscaped}'`,
|
|
321
|
+
`-RedirectStandardError '${errLog}'`,
|
|
320
322
|
`; Write-Output $p.Id`,
|
|
321
323
|
].join(" ");
|
|
322
324
|
const result = Bun.spawnSync({
|
|
@@ -358,7 +360,7 @@ export async function startServer(options: {
|
|
|
358
360
|
writeFileSync(statusFile, JSON.stringify(status));
|
|
359
361
|
writeFileSync(pidFile, String(childPid));
|
|
360
362
|
|
|
361
|
-
console.log(
|
|
363
|
+
console.log(` Daemon started (PID: ${childPid})\n`);
|
|
362
364
|
console.log(` ➜ Local: http://localhost:${port}/`);
|
|
363
365
|
if (shareUrl) {
|
|
364
366
|
console.log(` ➜ Share: ${shareUrl}`);
|
|
@@ -441,7 +443,7 @@ export async function startServer(options: {
|
|
|
441
443
|
// Start background usage polling
|
|
442
444
|
import("../services/claude-usage.service.ts").then(({ startUsagePolling }) => startUsagePolling()).catch(() => {});
|
|
443
445
|
|
|
444
|
-
console.log(`\n PPM
|
|
446
|
+
console.log(`\n PPM ready\n`);
|
|
445
447
|
console.log(` ➜ Local: http://localhost:${server.port}/`);
|
|
446
448
|
|
|
447
449
|
const { networkInterfaces } = await import("node:os");
|