Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unpin three #281

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Unpin three #281

wants to merge 1 commit into from

Conversation

dmurvihill
Copy link

This package is pinned to "three": "^0.154.0", which constrains the
version number to 'any release forward-compatible with 0.154.0'.
However, semantic version numbers with major version 0 have no
forward-compatible releases. Therefore, depending on "^0.154.0" has the
effect of pinning reagraph to the exact version 154.

ThreeJS actually predates SemVer and seems to have ported their
mononumeric versioning scheme into SemVer's minor version field. Since
the package is over ten years old with thousands of contributors, it
should be treated as somewhat forward-stable.

This commit changes to use the '>=' version specifier rather than '^'.
Copy link

netlify bot commented Oct 1, 2024

Deploy Preview for reagraph ready!

Name Link
🔨 Latest commit 83783ad
🔍 Latest deploy log https://app.netlify.com/sites/reagraph/deploys/66fb9bb6e32a280008cf3266
😎 Deploy Preview https://deploy-preview-281--reagraph.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@amcdnl
Copy link
Member

amcdnl commented Oct 1, 2024

This looks fine to me but I'm weary of this change. We've had issues in the past with three and its depedencies between point versions. What version are you shooting to be on so I can test that.

@dmurvihill
Copy link
Author

dmurvihill commented Oct 1, 2024

Yes, that's definitely an issue in three; mrdoob has unfortunately decided to push compatibility management downstream. Pinning a mid-stream library to a specific version of three only makes things worse.

I don't see any good solution other than:

  • Pin each release of reagraph to a min and max version of three
  • Examine the migration guide to verify support for new versions of three as they come out
  • Automate tests against latest three and against their development branch
  • Bump reagraph's major when dropping support for old versions of three

I'm on 161.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants