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

Parses Node.js version pinning files (.nvmrc, .node-version, .tool-versions).

# `alias?`

```elixir
@spec alias?(String.t()) :: boolean()
```

Checks if a version string includes an alias (lts/*, etc).

# `detect`

```elixir
@spec detect(String.t()) :: {:ok, String.t(), String.t()} | :not_found
```

Detects and reads the Node.js version from project files.

# `major_only?`

```elixir
@spec major_only?(String.t()) :: boolean()
```

Checks if a version string looks like a major-only version.

# `normalize`

```elixir
@spec normalize(String.t()) :: String.t()
```

Normalizes version to include all three parts.

# `parse_nvmrc`

```elixir
@spec parse_nvmrc(String.t()) :: String.t()
```

Parses a .nvmrc file content.

# `parse_tool_versions`

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

Parses a .tool-versions file to extract the node version.

---

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