# `NPM.Dependency.Peer.Check`
[🔗](https://github.com/elixir-volt/npm_ex/blob/v0.7.4/lib/npm/dependency/peer/check.ex#L1)

Deep peer dependency compatibility scanner.

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

# `issue`

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

# `check`

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

Scans installed packages for peer dependency issues.

# `check_peers`

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

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

# `filter_by_status`

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

Returns only issues of a specific status.

# `format_issues`

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

Formats issues for display.

# `summary`

```elixir
@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.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
