Skip to content

Conversation

@cptbtptpbcptdtptp
Copy link
Collaborator

@cptbtptpbcptdtptp cptbtptpbcptdtptp commented Sep 16, 2025

Please check if the PR fulfills these requirements

  • The commit message follows our guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

What is the current behavior? (You can also link to an open issue here)

What is the new behavior (if this is a feature change)?

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

Other information:

Summary by CodeRabbit

  • Chores
    • Updated compatibility to @galacean/engine ^1.6.0-alpha.2 across packages (auxiliary-lines, controls, custom-gltf-parser, custom-material, draco, dynamic-bone, framebuffer-picker, geometry-sketch, gizmo, input-logger, lines, navigation-gizmo, outline, skeleton-viewer, stats, tween, way-point, xr).
    • Aligned related peers to ^1.6.0-alpha.2 where applicable (@galacean/engine-ui, @galacean/engine-xr).
    • Updated root overrides and test package to the new engine version.
    • No runtime or API changes; dependency compatibility only.

@cptbtptpbcptdtptp cptbtptpbcptdtptp self-assigned this Sep 16, 2025
@coderabbitai
Copy link

coderabbitai bot commented Sep 16, 2025

Walkthrough

The change updates @galacean/engine version constraints from ^1.5.0 to ^1.6.0-alpha.2 across the repository. Root pnpm overrides and multiple package peerDependencies are adjusted. Some packages also bump @galacean/engine-ui and @galacean/engine-xr. Test and one package’s direct dependency are updated. No code or control-flow changes.

Changes

Cohort / File(s) Change summary
Root override
package.json
Updated pnpm overrides: @galacean/engine -> ^1.6.0-alpha.2 (from ^1.5.0).
Peer dep: engine
packages/auxiliary-lines/package.json, packages/controls/package.json, packages/custom-gltf-parser/package.json, packages/custom-material/package.json, packages/dynamic-bone/package.json, packages/framebuffer-picker/package.json, packages/geometry-sketch/package.json, packages/input-logger/package.json, packages/lines/package.json, packages/navigation-gizmo/package.json, packages/outline/package.json, packages/skeleton-viewer/package.json, packages/stats/package.json, packages/tween/package.json, packages/way-point/package.json
Bumped peerDependencies["@galacean/engine"] to ^1.6.0-alpha.2.
Peer deps: engine + UI
packages/gizmo/package.json
Bumped peerDependencies["@galacean/engine"] and @galacean/engine-ui to ^1.6.0-alpha.2.
Peer deps: engine + XR
packages/xr/package.json
Bumped peerDependencies["@galacean/engine"] and @galacean/engine-xr to ^1.6.0-alpha.2.
Direct dep: engine
packages/draco/package.json
Updated dependency @galacean/engine to ^1.6.0-alpha.2.
Tests dependency
tests/package.json
Updated dependency @galacean/engine to ^1.6.0-alpha.2.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

I nudge my nose at version signs,
Hop-hop! the engine now aligns.
From 1.5’s warren, onward we burrow—
Alpha trails where bright builds furrow.
Carrots cached in semver fields,
Our garden grows with careful yields. 🥕✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "Update dep version" is related to the changeset because the PR primarily bumps the @galacean/engine dependency across many package.json files and the root pnpm overrides to a 1.6.0 alpha release. It is concise and free of noise but overly generic since it does not name the dependency or the target version, which reduces clarity for reviewers and future history scans. Overall the title conveys the general intent but could be more informative and specific.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cptbtptpbcptdtptp cptbtptpbcptdtptp added the bug Something isn't working label Sep 16, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (3)
packages/custom-gltf-parser/package.json (1)

26-26: Same concern: prerelease peer bump is breaking; consider prerelease publish or a wider compatible range.

Mirror the decision taken for packages/stats/package.json to keep the monorepo consistent.

packages/way-point/package.json (1)

27-27: Same concern as above (peer to ^1.6.0-alpha.2).

Apply the repo-wide strategy (prerelease publish vs. widened range) consistently.

packages/navigation-gizmo/package.json (1)

27-27: Same concern: alpha peer range may break consumers on 1.5.x.

Align with the chosen approach across all packages to avoid fragmented requirements.

🧹 Nitpick comments (6)
packages/geometry-sketch/package.json (1)

26-28: Pre-release peer range may be too narrow; consider allowing 1.6 stable as well.

If the intent is to support both 1.6 pre-releases and the eventual 1.6.0 stable, prefer a range like ^1.6.0-0 (or >=1.6.0-alpha.2 <1.7.0) to avoid install conflicts for consumers on 1.6.0. Otherwise, keep as-is if you want to force alpha only.

Apply if desired:

-    "@galacean/engine": "^1.6.0-alpha.2"
+    "@galacean/engine": "^1.6.0-0"
packages/outline/package.json (1)

25-27: Same note on semver pre-release range.

Consider widening to include 1.6.0 final to reduce peer resolution friction for downstream apps.

-    "@galacean/engine": "^1.6.0-alpha.2"
+    "@galacean/engine": "^1.6.0-0"
packages/controls/package.json (1)

26-28: Widen peer range or confirm alpha-only intent.

Align with repo policy: permit stable 1.6 as well, or explicitly document the alpha requirement.

-    "@galacean/engine": "^1.6.0-alpha.2"
+    "@galacean/engine": "^1.6.0-0"
packages/tween/package.json (1)

25-27: Peer range: consider ^1.6.0-0 for future-proofing.

Same rationale as other packages to include 1.6.0 stable later.

-    "@galacean/engine": "^1.6.0-alpha.2"
+    "@galacean/engine": "^1.6.0-0"
packages/draco/package.json (1)

22-24: Engine as dependency vs peerDependency—avoid duplicated installs.

This package lists @galacean/engine under dependencies (not peer). That can pull a second copy into consuming apps and cause runtime mismatches. Prefer peerDependencies (and devDependency for local build/tests).

-  "dependencies": {
-    "@galacean/engine": "^1.6.0-alpha.2"
-  }
+  "peerDependencies": {
+    "@galacean/engine": "^1.6.0-0"
+  },
+  "devDependencies": {
+    "@galacean/engine": "^1.6.0-0"
+  }
packages/xr/package.json (1)

34-37: Widen XR peers and add root override for engine-xr

  • packages/xr/package.json: widen peers to accept stable 1.6 (diff below).
  • root package.json: pnpm.overrides currently pins "@galacean/engine" to "^1.6.0-alpha.2"; add a matching override for "@galacean/engine-xr" (or update both overrides to "^1.6.0-0") to keep workspace resolution consistent.
-    "@galacean/engine": "^1.6.0-alpha.2",
-    "@galacean/engine-xr": "^1.6.0-alpha.2"
+    "@galacean/engine": "^1.6.0-0",
+    "@galacean/engine-xr": "^1.6.0-0"
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 108bfd1 and a0cb758.

📒 Files selected for processing (20)
  • package.json (1 hunks)
  • packages/auxiliary-lines/package.json (1 hunks)
  • packages/controls/package.json (1 hunks)
  • packages/custom-gltf-parser/package.json (1 hunks)
  • packages/custom-material/package.json (1 hunks)
  • packages/draco/package.json (1 hunks)
  • packages/dynamic-bone/package.json (1 hunks)
  • packages/framebuffer-picker/package.json (1 hunks)
  • packages/geometry-sketch/package.json (1 hunks)
  • packages/gizmo/package.json (1 hunks)
  • packages/input-logger/package.json (1 hunks)
  • packages/lines/package.json (1 hunks)
  • packages/navigation-gizmo/package.json (1 hunks)
  • packages/outline/package.json (1 hunks)
  • packages/skeleton-viewer/package.json (1 hunks)
  • packages/stats/package.json (1 hunks)
  • packages/tween/package.json (1 hunks)
  • packages/way-point/package.json (1 hunks)
  • packages/xr/package.json (1 hunks)
  • tests/package.json (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build (16.x)
🔇 Additional comments (10)
tests/package.json (1)

16-21: Invalidate CI caches & ensure CI + lockfile install @galacean/engine@1.6.0-alpha.2.

Search shows no 1.5.x refs; root package.json, tests/package.json and many packages/*/package.json already reference ^1.6.0-alpha.2 — ensure the CI matrix targets this version, bust CI caches, and regenerate/commit the lockfile so CI actually installs 1.6.0-alpha.2.

package.json (1)

76-79: Root override updated — pin @galacean/engine-xr and @galacean/engine-ui; confirm lockfile

Add the two related packages to pnpm.overrides to keep alpha versions aligned and update/commit the lockfile; pnpm-lock.yaml not found in the repo (rg: "pnpm-lock.yaml: No such file or directory").

File: package.json (around lines 76–79)

     "overrides": {
-      "@galacean/engine": "^1.6.0-alpha.2"
+      "@galacean/engine": "^1.6.0-alpha.2",
+      "@galacean/engine-xr": "^1.6.0-alpha.2",
+      "@galacean/engine-ui": "^1.6.0-alpha.2"
     }
packages/dynamic-bone/package.json (1)

27-27: LGTM: peerDependencies updated to engine ^1.6.0‑alpha.2.
Aligned with the monorepo bump; no further changes needed here.

packages/input-logger/package.json (1)

27-27: LGTM: peer to engine ^1.6.0‑alpha.2.
Consistent with the global upgrade.

packages/custom-material/package.json (1)

27-27: LGTM: peerDependencies bumped to engine ^1.6.0‑alpha.2.
No additional adjustments needed here.

packages/auxiliary-lines/package.json (1)

27-27: LGTM: engine peer set to ^1.6.0‑alpha.2.
Matches the repo‑wide constraint.

packages/framebuffer-picker/package.json (1)

26-26: LGTM: engine peer updated to ^1.6.0‑alpha.2.
Aligned with the rest of the packages.

packages/lines/package.json (1)

27-27: LGTM: engine peer bumped to ^1.6.0‑alpha.2.
Change is consistent and scoped.

packages/gizmo/package.json (1)

27-28: LGTM — engine & engine‑ui peers bumped to ^1.6.0-alpha.2
Repository search shows only packages/gizmo/package.json declares @galacean/engine-ui: ^1.6.0-alpha.2; no other consumers found.

packages/skeleton-viewer/package.json (1)

26-26: LGTM — @galacean/engine bumped to ^1.6.0‑alpha.2 (verified repo‑wide).
No ^1.5.x references found; all occurrences use ^1.6.0‑alpha.2.

],
"peerDependencies": {
"@galacean/engine": "^1.5.0"
"@galacean/engine": "^1.6.0-alpha.2"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

🧩 Analysis chain

Alpha peerDependency is a breaking requirement; align release plan or widen the range.

Bumping the minimum peer to ^1.6.0-alpha.2 forces consumers onto a prerelease and breaks installs for users pinned to 1.5.x. Either:

  • publish this package as a matching prerelease (e.g., 1.6.0-alpha.x) to signal the break, or
  • widen the peer range if 1.5 remains compatible.

Option A (widen if compatible):

-    "@galacean/engine": "^1.6.0-alpha.2"
+    "@galacean/engine": ">=1.5.0 <2"

Option B (keep alpha minimum but be explicit):

-    "@galacean/engine": "^1.6.0-alpha.2"
+    "@galacean/engine": ">=1.6.0-alpha.2 <2"

Repo-wide verification script:


🏁 Script executed:

#!/bin/bash
set -euo pipefail
echo "Peer ranges for @galacean/engine:"
fd -a package.json | sort | xargs -I{} sh -c 'jq -r --arg f "{}" '"'"'[.name, .version, .peerDependencies["@galacean/engine"]] | @tsv'"'"' "{}" 2>/dev/null' | awk -F'\t' 'NF==3 {printf "%-55s %-12s %s\n",$1,$2,$3}'

echo
echo "Packages with version 1.5.x but peer >=1.6.0-*:"
fd -a package.json | xargs -I{} jq -r --arg f "{}" '[.name, .version, .peerDependencies["@galacean/engine"]] | @tsv' "{}" 2>/dev/null \
 | awk -F'\t' '$2 ~ /^1\.5\./ && $3 ~ /1\.6\.0/ {printf "%-55s %-12s %s\n",$1,$2,$3}'

Length of output: 3218


Fix prerelease peerDependency that breaks 1.5.x packages

Multiple packages at version 1.5.3 declare "@galacean/engine": "^1.6.0-alpha.2" — this forces consumers onto a prerelease and will break installs; either publish matching prereleases or widen the peer range.

Affected packages (package.json):

  • @galacean/engine-toolkit-auxiliary-lines
  • @galacean/engine-toolkit-controls
  • @galacean/engine-toolkit-custom-gltf-parser
  • @galacean/engine-toolkit-custom-material
  • @galacean/engine-toolkit-dynamic-bone
  • @galacean/engine-toolkit-framebuffer-picker
  • @galacean/engine-toolkit-geometry-sketch
  • @galacean/engine-toolkit-gizmo
  • @galacean/engine-toolkit-input-logger
  • @galacean/engine-toolkit-lines
  • @galacean/engine-toolkit-navigation-gizmo
  • @galacean/engine-toolkit-outline
  • @galacean/engine-toolkit-skeleton-viewer
  • @galacean/engine-toolkit-stats
  • @galacean/engine-toolkit-tween
  • @galacean/engine-toolkit-way-point
  • @galacean/engine-toolkit-xr

Recommended fixes (choose one):

Option A — widen peer range if 1.5.x is compatible:

-    "@galacean/engine": "^1.6.0-alpha.2"
+    "@galacean/engine": ">=1.5.0 <2"

Option B — keep alpha minimum but be explicit (publish prerelease packages to match):

-    "@galacean/engine": "^1.6.0-alpha.2"
+    "@galacean/engine": ">=1.6.0-alpha.2 <2"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"@galacean/engine": "^1.6.0-alpha.2"
"@galacean/engine": ">=1.5.0 <2"
Suggested change
"@galacean/engine": "^1.6.0-alpha.2"
"@galacean/engine": ">=1.6.0-alpha.2 <2"
🤖 Prompt for AI Agents
packages/stats/package.json (line 26): the peerDependency for "@galacean/engine"
is pinned to a prerelease (^1.6.0-alpha.2) which forces consumers onto an alpha
and breaks installs for 1.5.x; update the peerDependencies to either widen the
range to include stable 1.5 (e.g. "@galacean/engine": "^1.5.0 ||
^1.6.0-alpha.2") if 1.5.x is compatible, or intentionally require the prerelease
by publishing matching prerelease packages and keeping the current constraint
(choose one approach and apply consistently across the listed packages).

@cptbtptpbcptdtptp cptbtptpbcptdtptp merged commit 2baedd6 into galacean:main Sep 16, 2025
1 check passed
@coderabbitai coderabbitai bot mentioned this pull request Sep 17, 2025
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant