Skip to content

Policy rules

Version groups, semver groups, dependency families and the workspace protocol. Configured with [policy], [[version-groups]], [[semver-groups]], [workspace-protocol] and [[dependency-families]].

Rule Default severity Fixable
banned-dependency error unsafe
invalid-local-version error none
policy-conflict warning sometimes
semver-range-mismatch error unsafe
unsynced-dependency-family error none
version-mismatch error sometimes
workspace-protocol error none

Fixable is safe (applied by --fix), unsafe (applied only by --fix-unsafe), sometimes (fixable for some findings) or none. See the CLI reference.

A dependency is declared although a banned version group forbids it.

  • Default severity: error
  • Fixable: unsafe
[rules]
banned-dependency = "error"

A workspace package has a version that is not an exact semver version, so dependents cannot align with it.

  • Default severity: error
  • Fixable: none
[rules]
invalid-local-version = "error"

Two policies require incompatible outcomes for one dependency, or a group cannot be applied as configured.

  • Default severity: warning
  • Fixable: sometimes
[rules]
policy-conflict = "warn"

A dependency uses a semver range other than the one its semver group requires.

  • Default severity: error
  • Fixable: unsafe
[rules]
semver-range-mismatch = "error"

Members of a dependency family declared in one package are on different versions.

  • Default severity: error
  • Fixable: none
  • sherif name: unsync-similar-dependencies
[rules]
unsynced-dependency-family = "error"

A dependency instance differs from the version its version group requires (highest, lowest, pinned, local or snapped).

  • Default severity: error
  • Fixable: sometimes
  • sherif name: multiple-dependency-versions
[rules]
version-mismatch = "error"

A dependency on a workspace package does not use the workspace: protocol.

  • Default severity: error
  • Fixable: none
[rules]
workspace-protocol = "error"