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

Provides migration guidance between npm and lockfile versions.

# `breaking_changes`

```elixir
@spec breaking_changes(non_neg_integer(), non_neg_integer()) :: [String.t()]
```

Returns breaking changes between npm major versions.

# `format_guide`

```elixir
@spec format_guide(non_neg_integer(), non_neg_integer()) :: String.t()
```

Formats migration guide.

# `lockfile_version`

```elixir
@spec lockfile_version(String.t()) :: non_neg_integer()
```

Determines required lockfile version for an npm version.

# `needs_migration?`

```elixir
@spec needs_migration?(non_neg_integer(), String.t()) :: boolean()
```

Checks if a lockfile migration is needed.

# `steps`

```elixir
@spec steps(non_neg_integer(), non_neg_integer()) :: [String.t()]
```

Returns migration steps.

---

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