NPM.PeerDepsCheck (NPM v0.6.0)

Copy Markdown View Source

Deep peer dependency compatibility scanner.

Scans all installed packages for unmet, conflicting, or optional peer dependencies and reports compatibility issues.

Summary

Functions

Scans installed packages for peer dependency issues.

Checks a single package's peer dependencies against installed versions.

Returns only issues of a specific status.

Formats issues for display.

Summary of peer dependency status.

Types

issue()

@type issue() :: %{
  package: String.t(),
  peer: String.t(),
  required: String.t(),
  status: :missing | :incompatible | :optional_missing,
  installed: String.t() | nil
}

Functions

check(node_modules_dir, lockfile)

@spec check(String.t(), map()) :: [issue()]

Scans installed packages for peer dependency issues.

check_peers(pkg_data, lockfile)

@spec check_peers(map(), map()) :: [issue()]

Checks a single package's peer dependencies against installed versions.

filter_by_status(issues, status)

@spec filter_by_status([issue()], atom()) :: [issue()]

Returns only issues of a specific status.

format_issues(issues)

@spec format_issues([issue()]) :: String.t()

Formats issues for display.

summary(issues)

@spec summary([issue()]) :: %{
  missing: non_neg_integer(),
  incompatible: non_neg_integer(),
  optional_missing: non_neg_integer(),
  total: non_neg_integer()
}

Summary of peer dependency status.