@hienlh/ppm 0.8.19 → 0.8.20

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 CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.20] - 2026-03-24
4
+
5
+ ### Fixed
6
+ - **SDK patch resolution**: Use `fileURLToPath` instead of `new URL().pathname` for cross-platform SDK path resolution; add debug logging for bunx SDK resolution
7
+
3
8
  ## [0.8.19] - 2026-03-24
4
9
 
5
10
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hienlh/ppm",
3
- "version": "0.8.19",
3
+ "version": "0.8.20",
4
4
  "description": "Personal Project Manager — mobile-first web IDE with AI assistance",
5
5
  "author": "hienlh",
6
6
  "license": "MIT",
@@ -0,0 +1,55 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ VERSION="${1:-}"
5
+ if [ -z "$VERSION" ]; then
6
+ VERSION=$(node -p "require('./package.json').version")
7
+ echo "No version specified, using package.json: v$VERSION"
8
+ fi
9
+
10
+ # Strip leading 'v' if provided
11
+ VERSION="${VERSION#v}"
12
+ TAG="v$VERSION"
13
+
14
+ echo "=== Release $TAG ==="
15
+
16
+ # 1. Build frontend
17
+ echo "[1/4] Building frontend..."
18
+ bun run build:web
19
+
20
+ # 2. Build binaries for all platforms
21
+ echo "[2/4] Compiling binaries..."
22
+ mkdir -p dist
23
+
24
+ TARGETS=(
25
+ "bun-darwin-arm64:ppm-darwin-arm64"
26
+ "bun-darwin-x64:ppm-darwin-x64"
27
+ "bun-linux-x64:ppm-linux-x64"
28
+ "bun-windows-x64:ppm-windows-x64.exe"
29
+ )
30
+
31
+ for entry in "${TARGETS[@]}"; do
32
+ target="${entry%%:*}"
33
+ artifact="${entry##*:}"
34
+ echo " -> $artifact ($target)"
35
+ bun build src/index.ts --compile --target="$target" --outfile="dist/$artifact"
36
+ done
37
+
38
+ # 3. Create tag if not exists
39
+ if git rev-parse "$TAG" >/dev/null 2>&1; then
40
+ echo "[3/4] Tag $TAG already exists, skipping"
41
+ else
42
+ echo "[3/4] Creating tag $TAG..."
43
+ git tag "$TAG"
44
+ git push origin "$TAG"
45
+ fi
46
+
47
+ # 4. Create or update release
48
+ echo "[4/4] Uploading to GitHub release..."
49
+ if gh release view "$TAG" >/dev/null 2>&1; then
50
+ gh release upload "$TAG" dist/ppm-* --clobber
51
+ else
52
+ gh release create "$TAG" dist/ppm-* --title "$TAG" --generate-notes
53
+ fi
54
+
55
+ echo "=== Done: https://github.com/$(gh repo view --json nameWithOwner -q .nameWithOwner)/releases/tag/$TAG ==="
package/src/index.ts CHANGED
@@ -36,10 +36,14 @@ program
36
36
  }
37
37
  // Ensure SDK patches are applied (bunx skips postinstall hooks)
38
38
  try {
39
- const sdkUrl = import.meta.resolve("@anthropic-ai/claude-agent-sdk");
39
+ const { fileURLToPath } = await import("node:url");
40
+ const sdkPath = fileURLToPath(import.meta.resolve("@anthropic-ai/claude-agent-sdk"));
41
+ console.log("[patch-sdk] Resolved SDK at:", sdkPath);
40
42
  const { patchSdk } = await import("../scripts/patch-sdk.mjs");
41
- patchSdk(new URL(sdkUrl).pathname);
42
- } catch {}
43
+ patchSdk(sdkPath);
44
+ } catch (e) {
45
+ console.log("[patch-sdk] Could not resolve SDK:", (e as Error).message);
46
+ }
43
47
  const { startServer } = await import("./server/index.ts");
44
48
  await startServer(options);
45
49
  });