# `NPM.IntegrityCheck`
[🔗](https://github.com/elixir-volt/npm_ex/blob/v0.7.4/lib/npm/integrity_check.ex#L1)

Verifies installed packages match lockfile entries.

Checks version, integrity, and presence of packages in node_modules.

# `all_valid?`

```elixir
@spec all_valid?(map(), String.t()) :: boolean()
```

Checks if all packages pass verification.

# `format_results`

```elixir
@spec format_results([map()]) :: String.t()
```

Formats verification results.

# `group_failures`

```elixir
@spec group_failures([map()]) :: map()
```

Groups verification failures by reason.

# `verify_all`

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

Verifies all lockfile packages are correctly installed.

# `verify_package`

```elixir
@spec verify_package(String.t(), map(), String.t()) :: :ok | {:error, atom()}
```

Verifies a single package against its lockfile entry.

---

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