syncpack icon indicating copy to clipboard operation
syncpack copied to clipboard

feat(groups): add `sameMajor` and `sameMinor` policies

Open nwidynski opened this issue 6 months ago • 7 comments

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

nwidynski avatar Apr 27 '25 12:04 nwidynski