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

Generates and manages import maps for browser-native ES module loading.

Import maps allow mapping bare module specifiers to URLs
for use with `<script type="importmap">`.

# `count`

```elixir
@spec count(map()) :: non_neg_integer()
```

Counts the number of mappings.

# `generate`

```elixir
@spec generate(
  map(),
  keyword()
) :: map()
```

Generates an import map from a lockfile.

# `generate_for`

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

Generates an import map with only specified packages.

# `merge`

```elixir
@spec merge(map(), map()) :: map()
```

Merges two import maps (second overrides first).

# `to_html`

```elixir
@spec to_html(map()) :: String.t()
```

Generates an HTML script tag.

# `to_json`

```elixir
@spec to_json(map()) :: String.t()
```

Serializes an import map to JSON.

---

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