-
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
Use strict versions for internal depedencies #10709
Comments
Lerna bumps deps in package.json in sync with the real ones, so whenever a user upgrades |
I'm not convinced. If it were |
We could do it selectively on different packages. We've had bugs with people using a But "commonly consumed" (whatever that means) packages like I'm more concerned about reducing bugs than reducing bloat in |
Well that's the thing, as soon as one other dependent specifies a different fixed version, they can't just dedupe anymore because the versions ranges don't overlap. |
@jeysal I see your point, but the problems that come with that are not worth it imo. E.g. right now we're struggling hard with #10716 and pinning I'd guess that there will be more of these situations in the future too, e.g that |
This issue is stale because it has been open for 1 year with no activity. Remove stale label or comment or this will be closed in 14 days. |
This issue was closed because it has been stalled for 7 days with no activity. Please open a new issue if the issue is still relevant, linking to this one. |
🐛 Bug Report
Jest currently uses
^
for all it's internal dependencies which causes issues if there is a bug in a minor/patch release and you want to revert.E.g.
jest
has a dependency on@jest/core ^26.5.3
, so installing from scratch without a lockfile isn't deterministic if you are using an outdated version ofjest
.Most of this can be solved by a lockfile but then you can't refresh the lockfile for other dependencies.
To Reproduce
Steps to reproduce the behavior:
jest@26.5.3
yarn.lock
and see that@jest/core@26.6.1
was installedExpected behavior
I think it would be reasonable if the internal packages would use strict versions, e.g
@jest/core 26.5.3
instead of@jest/core ^26.5.3
Which results in the consumer's desired version being installed
Link to repl or repo (highly encouraged)
N/A
envinfo
The text was updated successfully, but these errors were encountered: