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

Reports progress during npm operations (resolution, fetching, linking).

# `breakdown`

```elixir
@spec breakdown(keyword()) :: String.t()
```

Formats a step breakdown for total timing.

# `done`

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

Formats a completion message with timing.

# `fetching`

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

Formats a fetch progress message.

# `format_time`

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

Formats time in human-readable form.

# `linking`

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

Formats a linking progress message.

# `resolving`

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

Formats a resolution progress message.

---

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