diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e60744f2..e539ef5f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -67,12 +67,19 @@ jobs: echo "$MAJ.$MIN.$PAT" } + # Track new versions in shell-local vars. + # NOTE: $GITHUB_ENV writes don't surface within the same step, so the + # peerDeps sync below must use shell vars, not env indirection. + declare -A NEW_VERSIONS + for pkg in core viewer editor mcp; do if [ "$TARGET" = "$pkg" ] || [ "$TARGET" = "all" ]; then CUR=$(jq -r '.version' packages/$pkg/package.json) NEW=$(bump_version "$CUR") jq --arg v "$NEW" '.version = $v' packages/$pkg/package.json > tmp.json && mv tmp.json packages/$pkg/package.json + NEW_VERSIONS[$pkg]=$NEW UPPER=$(echo "$pkg" | tr '[:lower:]' '[:upper:]') + # Also export for the publish/commit/tag steps that follow. echo "${UPPER}_VERSION=$NEW" >> $GITHUB_ENV echo "Bumped @pascal-app/$pkg: $CUR → $NEW" fi @@ -83,9 +90,7 @@ jobs: for pkg in core viewer editor mcp; do FILE=packages/$pkg/package.json for dep in core viewer editor mcp; do - UPPER=$(echo "$dep" | tr '[:lower:]' '[:upper:]') - VAR="${UPPER}_VERSION" - VAL="${!VAR}" + VAL="${NEW_VERSIONS[$dep]}" [ -z "$VAL" ] && continue jq --arg name "@pascal-app/$dep" --arg v "^$VAL" ' if .peerDependencies[$name] then .peerDependencies[$name] = $v else . end @@ -94,6 +99,12 @@ jobs: done done + echo "=== @pascal-app/* refs after sync ===" + for pkg in core viewer editor mcp; do + echo "--- packages/$pkg/package.json ---" + jq '{ peerDependencies: (.peerDependencies // {} | with_entries(select(.key | startswith("@pascal-app/")))), devDependencies: (.devDependencies // {} | with_entries(select(.key | startswith("@pascal-app/")))) }' packages/$pkg/package.json + done + - name: Build & publish core if: inputs.package == 'core' || inputs.package == 'all' working-directory: packages/core diff --git a/bun.lock b/bun.lock index 00c23b30..8a11d1a7 100644 --- a/bun.lock +++ b/bun.lock @@ -61,7 +61,7 @@ }, "packages/core": { "name": "@pascal-app/core", - "version": "0.7.0", + "version": "0.8.0", "dependencies": { "dedent": "^1.7.1", "idb-keyval": "^6.2.2", @@ -87,7 +87,7 @@ }, "packages/editor": { "name": "@pascal-app/editor", - "version": "0.7.0", + "version": "0.8.0", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", @@ -122,8 +122,8 @@ "zustand": "^5.0.11", }, "devDependencies": { - "@pascal-app/core": "^0.7.0", - "@pascal-app/viewer": "^0.7.0", + "@pascal-app/core": "^0.8.0", + "@pascal-app/viewer": "^0.8.0", "@pascal/typescript-config": "*", "@types/bun": "^1.3.0", "@types/howler": "^2.2.12", @@ -133,8 +133,8 @@ "typescript": "6.0.2", }, "peerDependencies": { - "@pascal-app/core": "^0.7.0", - "@pascal-app/viewer": "^0.7.0", + "@pascal-app/core": "^0.8.0", + "@pascal-app/viewer": "^0.8.0", "@react-three/drei": "^10", "@react-three/fiber": "^9", "next": ">=15", @@ -162,7 +162,7 @@ }, "packages/mcp": { "name": "@pascal-app/mcp", - "version": "0.1.1", + "version": "0.2.0", "bin": { "pascal-mcp": "./dist/bin/pascal-mcp.js", }, @@ -171,13 +171,13 @@ "zod": "^4.3.5", }, "devDependencies": { - "@pascal-app/core": "^0.7.0", + "@pascal-app/core": "^0.8.0", "@pascal/typescript-config": "*", "@types/node": "^25.5.0", "typescript": "5.9.3", }, "peerDependencies": { - "@pascal-app/core": "^0.7.0", + "@pascal-app/core": "^0.8.0", }, }, "packages/typescript-config": { @@ -203,7 +203,7 @@ }, "packages/viewer": { "name": "@pascal-app/viewer", - "version": "0.7.0", + "version": "0.8.0", "dependencies": { "polygon-clipping": "^0.15.7", "three-bvh-csg": "^0.0.18", @@ -218,7 +218,7 @@ "typescript": "6.0.2", }, "peerDependencies": { - "@pascal-app/core": "^0.7.0", + "@pascal-app/core": "^0.8.0", "@react-three/drei": "^10", "@react-three/fiber": "^9", "react": "^18 || ^19", diff --git a/packages/editor/package.json b/packages/editor/package.json index 89872d2c..1e18e364 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -11,8 +11,8 @@ "check-types": "tsc --noEmit" }, "peerDependencies": { - "@pascal-app/core": "^0.7.0", - "@pascal-app/viewer": "^0.7.0", + "@pascal-app/core": "^0.8.0", + "@pascal-app/viewer": "^0.8.0", "@react-three/drei": "^10", "@react-three/fiber": "^9", "next": ">=15", @@ -54,8 +54,8 @@ "three-mesh-bvh": "~0.9.8" }, "devDependencies": { - "@pascal-app/core": "^0.7.0", - "@pascal-app/viewer": "^0.7.0", + "@pascal-app/core": "^0.8.0", + "@pascal-app/viewer": "^0.8.0", "@pascal/typescript-config": "*", "@types/bun": "^1.3.0", "@types/howler": "^2.2.12", diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 83cbdbc4..22c4cab0 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -54,14 +54,14 @@ "prepublishOnly": "bun run build && bun test" }, "peerDependencies": { - "@pascal-app/core": "^0.7.0" + "@pascal-app/core": "^0.8.0" }, "dependencies": { "@modelcontextprotocol/sdk": "^1.29.0", "zod": "^4.3.5" }, "devDependencies": { - "@pascal-app/core": "^0.7.0", + "@pascal-app/core": "^0.8.0", "@pascal/typescript-config": "*", "@types/node": "^25.5.0", "typescript": "5.9.3" diff --git a/packages/viewer/package.json b/packages/viewer/package.json index 6b077b41..e37f4ab4 100644 --- a/packages/viewer/package.json +++ b/packages/viewer/package.json @@ -22,7 +22,7 @@ "prepublishOnly": "npm run build" }, "peerDependencies": { - "@pascal-app/core": "^0.7.0", + "@pascal-app/core": "^0.8.0", "@react-three/drei": "^10", "@react-three/fiber": "^9", "react": "^18 || ^19",