syncpack
syncpack copied to clipboard
feat(groups): add `sameMajor` and `sameMinor` policies
Description
Our team would love to enforce version range locks for related dependencies, e.g. nx, @nx/*, to ensure these packages are maintained in sync. This shall apply even inside a single package.json, not only across projects.
Example:
<root>/.syncpackrc
"versionGroups": [
{
"label": "Nx Version Group",
"dependencies": ["nx", "@nx/*"],
"policy": "strict"
}
]
❌ Bad (<root>/package.json)
"devDependencies": {
"@nx/devkit": "20.8.0",
"nx": "20.9.0"
}
✅ Good (<root>/package.json)
"devDependencies": {
"@nx/devkit": "20.9.0",
"nx": "20.9.0"
}
Suggested Solution
Maybe this feature is already covered by policy: "sameRange", but at least it currently does not apply for mismatches within the root package.json.
Optional comments
No response
Code of Conduct
- [x] I agree to follow the Code of Conduct