Analyzes and validates peer dependency declarations.
Peer dependencies declare that a package expects the consumer to provide a compatible version of another package. This module extracts peer dependency metadata from package manifests, distinguishes required and optional peers, checks lockfiles for satisfaction, and formats peer warnings for reports.
Summary
Functions
Check peer dependency satisfaction for a list of package manifests.
Count total peer dependency declarations across packages.
Extract peer dependencies from package manifest data.
Format peer dependency warnings as human-readable strings.
Extract raw peerDependenciesMeta data from package manifest data.
Check if a peer dependency is marked as optional.
Return the peer dependency names marked as optional.
Return required, non-optional peer dependencies.
Check if all required peers are satisfied by a lockfile.
Summarize peer dependency warnings for display.
List required peer dependencies not satisfied by a lockfile.
Types
Functions
Check peer dependency satisfaction for a list of package manifests.
@spec count_across([map()]) :: non_neg_integer()
Count total peer dependency declarations across packages.
Extract peer dependencies from package manifest data.
Format peer dependency warnings as human-readable strings.
Extract raw peerDependenciesMeta data from package manifest data.
Check if a peer dependency is marked as optional.
Return the peer dependency names marked as optional.
Return required, non-optional peer dependencies.
Check if all required peers are satisfied by a lockfile.
@spec summary([warning()]) :: %{ satisfied: non_neg_integer(), missing: non_neg_integer(), incompatible: non_neg_integer() }
Summarize peer dependency warnings for display.
List required peer dependencies not satisfied by a lockfile.