Skip to content

Upgrade Three.js to latest and enforce version via package overrides#1828

Merged
pethers merged 1 commit intomainfrom
copilot/override-three-js-version
Apr 17, 2026
Merged

Upgrade Three.js to latest and enforce version via package overrides#1828
pethers merged 1 commit intomainfrom
copilot/override-three-js-version

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 17, 2026

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

    • Bumped three to 0.184.0 in direct dependencies.
    • Bumped @types/three to 0.184.0 to keep typings in lockstep.
  • Resolution control

    • Added overrides entries for three and @types/three so transitive packages resolve consistently to the same version.
  • Package metadata consistency

    • Updated README version references from 0.183 to 0.184 to 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"
  }
}

@github-actions github-actions bot added documentation Documentation updates dependencies Dependency updates infrastructure CI/CD and build infrastructure labels Apr 17, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails
npm/@types/three 0.184.0 🟢 6.6
Details
CheckScoreReason
Code-Review🟢 9Found 28/30 approved changesets -- score normalized to 9
Maintained🟢 1030 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Packaging⚠️ -1packaging workflow not detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Security-Policy🟢 10security policy file detected
License🟢 9license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
Binary-Artifacts🟢 10no binaries found in the repo
Pinned-Dependencies🟢 8dependency not pinned by hash detected -- score normalized to 8
Fuzzing⚠️ 0project is not fuzzed
npm/meshoptimizer 1.1.1 🟢 4.5
Details
CheckScoreReason
Code-Review⚠️ 0Found 0/20 approved changesets -- score normalized to 0
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Packaging⚠️ -1packaging workflow not detected
Binary-Artifacts🟢 10no binaries found in the repo
Maintained🟢 1030 commit(s) and 7 issue activity found in the last 90 days -- score normalized to 10
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
Security-Policy⚠️ 0security policy file not detected
Fuzzing🟢 10project is fuzzed
License🟢 10license file detected
Signed-Releases⚠️ 0Project has not signed or included provenance with any releases.
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
npm/three 0.184.0 🟢 6.5
Details
CheckScoreReason
Code-Review⚠️ 2Found 6/26 approved changesets -- score normalized to 2
Maintained🟢 1030 commit(s) and 17 issue activity found in the last 90 days -- score normalized to 10
Packaging⚠️ -1packaging workflow not detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Security-Policy🟢 10security policy file detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Token-Permissions🟢 9detected GitHub workflow tokens with excessive permissions
License🟢 10license file detected
Binary-Artifacts🟢 5binaries present in source code
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
Signed-Releases⚠️ -1no releases found
Pinned-Dependencies🟢 10all dependencies are pinned
SAST🟢 10SAST tool is run on all commits
Fuzzing⚠️ 0project is not fuzzed

Scanned Files

  • package-lock.json

@pethers pethers marked this pull request as ready for review April 17, 2026 12:55
@pethers pethers self-requested a review as a code owner April 17, 2026 12:55
Copilot AI review requested due to automatic review settings April 17, 2026 12:55
@pethers pethers merged commit f6bcb2e into main Apr 17, 2026
13 checks passed
@pethers pethers deleted the copilot/override-three-js-version branch April 17, 2026 12:57
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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 three to 0.184.0 (peer + dev) and @types/three to 0.184.0 (dev).
  • Added npm overrides to force consistent three / @types/three resolution in this repo.
  • Updated README version references from 0.1830.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.

Comment thread package.json
"react": "19.0.0",
"react-dom": "19.0.0",
"three": "0.183.0"
"three": "0.184.0"
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

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.

Suggested change
"three": "0.184.0"
"three": ">=0.184.0 <0.185.0"

Copilot uses AI. Check for mistakes.
Comment thread package.json
Comment on lines +250 to +251
"three": "0.184.0",
"@types/three": "0.184.0"
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

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.

Suggested change
"three": "0.184.0",
"@types/three": "0.184.0"
"three": "0.184.0"

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown
Contributor

📸 Automated UI Screenshots

📋 Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

📦 Download Screenshots

📥 Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


🤖 Generated by Playwright automation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency updates documentation Documentation updates infrastructure CI/CD and build infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants