Wire-shape envelope for a BoundaryViolation finding. Mirrors
UnusedFileFinding: flattens the bare finding and carries a typed
actions array (refactor-boundary primary plus suppress-line
secondary).
Wire-shape envelope for a CircularDependency finding. Mirrors
UnusedFileFinding: flattens the bare finding and carries a typed
actions array (refactor-cycle primary plus suppress-line
secondary).
Wire-shape envelope for a DuplicateExport finding. Carries up to
three actions in position-locked order: an add-to-configignoreExports
snippet (only when locations[] carries at least one path) followed by
the remove-duplicate fix and the multi-location suppress.
An override entry whose key or value is malformed. Default severity is
error because pnpm refuses to install (or silently produces a no-op
override) when it encounters these shapes.
Wire-shape envelope for a MisconfiguredDependencyOverride finding.
Carries a fix-dependency-override primary plus the conditional
add-to-configignoreDependencyOverrides suppress (skipped when both
target_package and raw_key are empty, since the rule matcher keys on
a non-empty package name).
Wire-shape envelope for a PrivateTypeLeak finding. Mirrors
UnusedFileFinding: flattens the bare finding and carries a typed
actions array (export-type primary plus suppress-line secondary).
Wire-shape envelope for a ReExportCycle finding. Mirrors
CircularDependencyFinding: flattens the bare finding and carries a
typed actions array (refactor-re-export-cycle informational primary
plus suppress-file secondary; cycles are file-scoped so a single
file-level suppression on the alphabetically-first member breaks the
cycle, and no // fallow-ignore-next-line form makes sense because the
diagnostic is anchored at line 1 col 0 of each member).
Wire-shape envelope for a TestOnlyDependency finding. Carries a
move-to-dev primary (different prose than TypeOnlyDependencyFinding)
plus the standard ignoreDependencies config suppress.
A production dependency that is only used via type-only imports.
In production builds, type imports are erased, so this dependency
is not needed at runtime and could be moved to devDependencies.
Wire-shape envelope for an UnlistedDependency finding. Carries an
install-dependency primary (non-auto-fixable) plus the standard
ignoreDependencies config suppress.
Wire-shape envelope for an UnresolvedCatalogReference finding. The
primary action at position 0 discriminates on available_in_catalogs:
add-catalog-entry when the array is empty (no other catalog declares
the package), or update-catalog-reference when at least one
alternative exists. When exactly one alternative exists, the action
also carries suggested_target so deterministic agents can land the
edit without picking from a list.
Wire-shape envelope for an UnresolvedImport finding. Mirrors
UnusedFileFinding: flattens the bare finding and carries a typed
actions array (resolve-import primary plus suppress-line
secondary).
Wire-shape envelope for an UnusedCatalogEntry finding. Per-instance
auto_fixable flips to false when hardcoded_consumers is non-empty:
the entry cannot be removed safely while a workspace package still pins
the same package via a hardcoded version range.
Wire-shape envelope for an UnusedMember finding consumed under the
unused_class_members key. Same Rust struct as
UnusedEnumMemberFinding; the fix action and suppress comment carry
the class-member kebab-case identifier instead.
Wire-shape envelope for an UnusedDependency finding consumed under
the unused_dependencies key (production deps). Flattens the bare
finding; the typed actions array carries either a remove-dependency
or move-dependency primary depending on
inner.used_in_workspaces.
An entry in pnpm’s overrides: map (or the legacy pnpm.overrides in
package.json) whose target package is not declared in any workspace
package.json and is not present in pnpm-lock.yaml. Projects without a
readable lockfile fall back to package manifest checks; the hint field
flags that conservative mode.
Wire-shape envelope for an UnusedDependencyOverride finding. Carries
a remove-dependency-override primary plus an add-to-configignoreDependencyOverrides suppress scoped to the target package and
declaration source.
Wire-shape envelope for an UnusedDependency finding consumed under
the unused_dev_dependencies key. Same bare struct as
UnusedDependencyFinding; the fix description points at
devDependencies and the suppress comment uses
unused-dev-dependency.
Wire-shape envelope for an UnusedExport finding consumed under the
unused_exports key. Same Rust struct as UnusedTypeFinding, with a
different fix description so consumers can tell value-export from
type-export removal at the action level.
Wire-shape envelope for an UnusedFile finding. The bare finding
flattens in via #[serde(flatten)], with a typed actions array
populated at construction time and the audit-pass introduced flag
attached as an optional sibling.
Wire-shape envelope for an UnusedDependency finding consumed under
the unused_optional_dependencies key. Same bare struct as
UnusedDependencyFinding; the fix description points at
optionalDependencies. Reuses the unused-dependency suppress
IssueKind because there is no dedicated variant for optional deps.
Wire-shape envelope for an UnusedExport finding consumed under the
unused_types key. Wraps the same bare UnusedExport struct as
UnusedExportFinding but emits a fix action targeted at type-only
declarations, with the same is_re_export-aware note swap.
Why a dependency-override entry is misconfigured. pnpm install would
either fail at install time or silently no-op on these entries; surfacing
them statically catches the issue before pnpm does.
Where an override entry was declared. Serialized as the filename label
("pnpm-workspace.yaml" or "package.json") so the value in JSON output
matches the value users write in ignoreDependencyOverrides[].source.