Semver Groups
Allow some packages to have different semver range rules to the rest of your monorepo. Each dependency can only belong to one semver group, the first rule which matches a given dependency and package will apply.
Examples
Section titled “Examples”1: Every dependency of @myrepo/library should have a semver range of ~, regardless of what the rest of the monorepo uses:
{ "semverGroups": [ { "packages": ["@myrepo/library"], "range": "~" } ]}2: Every dependency of @myrepo/library whose name matches @alpha/** should have a semver range of ^, regardless of what the rest of that package or the rest of the monorepo uses:
{ "semverGroups": [ { "dependencies": ["@alpha/**"], "packages": ["@myrepo/library"], "range": "^" } ]}3: Every dependency in the monorepo whose name matches @alpha/** should have a semver range of ~, regardless of what the rest of the monorepo uses:
{ "semverGroups": [ { "dependencies": ["@alpha/**"], "range": "~" } ]}4: Production dependencies should have fixed version numbers, but development and peer dependencies can be broader.
{ "semverGroups": [ { "dependencyTypes": [ "prod", "resolutions", "overrides", "pnpmOverrides", "local" ], "range": "" }, { "dependencyTypes": ["dev"], "range": "~" }, { "dependencyTypes": ["peer"], "range": "^" } ]}