Upgrade Three.js to latest and enforce version via package overrides#1828
Upgrade Three.js to latest and enforce version via package overrides#1828
Conversation
Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/604cbc45-9566-4d88-9faf-14917bccd3f8 Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.OpenSSF Scorecard
Scanned Files
|
There was a problem hiding this comment.
Pull request overview
Upgrades the repository’s Three.js stack to r184 and pins resolution to prevent version drift between direct and transitive installs, keeping documentation in sync with the dependency graph.
Changes:
- Bumped
threeto0.184.0(peer + dev) and@types/threeto0.184.0(dev). - Added npm
overridesto force consistentthree/@types/threeresolution in this repo. - Updated README version references from
0.183→0.184.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| package.json | Updates Three.js / typings versions and adds npm overrides to enforce a single resolved version. |
| package-lock.json | Regenerates lockfile to reflect Three.js r184 and deduped transitive three installs. |
| README.md | Updates displayed Three.js version badges/text to match r184. |
| "react": "19.0.0", | ||
| "react-dom": "19.0.0", | ||
| "three": "0.183.0" | ||
| "three": "0.184.0" |
There was a problem hiding this comment.
peerDependencies.three is pinned to an exact version (0.184.0). For a published library, this will force consumers to install exactly that version and will fail/ warn for patch releases (e.g. 0.184.1) even if compatible. Consider using a semver range (e.g. ^0.184.0 or >=0.184.0 <0.185.0) to allow compatible patch updates while still keeping devDependencies/overrides pinned for this repo.
| "three": "0.184.0" | |
| "three": ">=0.184.0 <0.185.0" |
| "three": "0.184.0", | ||
| "@types/three": "0.184.0" |
There was a problem hiding this comment.
overrides only affects dependency resolution for this repository when it is the install root; npm does not apply a dependency package’s overrides when your package is installed as a dependency. If the goal is to ensure downstream consumers also resolve a single three version, this won’t enforce it—only the peerDependencies contract can. Consider clarifying intent (repo-only) or adjusting version constraints/packaging strategy accordingly.
| "three": "0.184.0", | |
| "@types/three": "0.184.0" | |
| "three": "0.184.0" |
📸 Automated UI Screenshots📋 Screenshots Captured (8)
📦 Download Screenshots📥 Download all screenshots from workflow artifacts
🤖 Generated by Playwright automation |
The dependency updater was failing around the Three.js stack due to version drift across direct and transitive dependencies. This change aligns the repo on the latest Three.js line and enforces a single resolved version to avoid updater/runtime mismatch.
Dependency alignment
threeto0.184.0in direct dependencies.@types/threeto0.184.0to keep typings in lockstep.Resolution control
overridesentries forthreeand@types/threeso transitive packages resolve consistently to the same version.Package metadata consistency
0.183to0.184to match the actual dependency graph.{ "devDependencies": { "three": "0.184.0", "@types/three": "0.184.0" }, "peerDependencies": { "three": "0.184.0" }, "overrides": { "three": "0.184.0", "@types/three": "0.184.0" } }