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

Parses the `publishConfig` field from package.json.

Controls behavior when `npm publish` is called — registry,
access level, tag, etc.

# `access`

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

Returns the access level (public or restricted).

# `configured?`

```elixir
@spec configured?(map()) :: boolean()
```

Checks if publishConfig is set.

# `extract`

```elixir
@spec extract(map()) :: map()
```

Extracts publishConfig from package.json data.

# `format`

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

Formats publishConfig for display.

# `public?`

```elixir
@spec public?(map()) :: boolean()
```

Checks if the package would be published as public.

# `registry`

```elixir
@spec registry(map()) :: String.t() | nil
```

Returns the publish registry URL.

# `tag`

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

Returns the publish tag (default: "latest").

---

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