feat(update): define constraints which only apply when updating
Opened this issue · 5 comments
Description
Using exact version on dependencies in package.json makes it simpler to figure out what version is being used without needing to dig onto lockfiles. This is configured on syncpack as a semverGroup with range: ""
When setting up version groups however, while it is possible to lock onto a version by setting a pinVersion
; it is not currently possible to specify some semver range specifier to some allowed version range.
For example:
I want storybook
deps to be any of ^7.0.0
version. But when updating or linting, it should save it as an exact version -- 7.6.20
for instance.
Suggested Solution
Perhaps introduce a new field called checkVersion
on version groups to check against. Once checkVersion
is there though, for groups of dependencies, it is not enough that they pass through that semver check. It should further be assumed that all dependencies under that version group should all point to the same version.
Interested
Closing as a duplicate of #204 until/unless I hear otherwise.
#204 is pre-released in 14.0.0-alpha.3
Hi @JamieMason thanks for getting onto this.
While dependency groups are quite useful, I'm not sure I follow how this would solve this issue.
In particular, how would I use semverGroup with range: ""
, but at the same time configure syncpack on update deps to fetch only version matching ^7.0.0
? The only way I've been able to so far is by specifying a pinned version.
Thanks @jvliwanag I think I understand what you mean now, I was getting a few other issues confused with this. The update
command doesn't exist yet in the new Rust implementation though unfortunately so this one will take a little time.