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

Resolves dependency paths in the node_modules tree.

# `bin_dir`

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

Resolves the .bin directory path.

# `bin_path`

```elixir
@spec bin_path(String.t(), String.t()) :: String.t()
```

Resolves a bin executable path.

# `exists?`

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

Checks if a package exists on disk.

# `list_installed`

```elixir
@spec list_installed(String.t()) :: [String.t()]
```

Lists all installed packages in node_modules.

# `nested`

```elixir
@spec nested(String.t(), String.t(), String.t()) :: String.t()
```

Resolves a nested dependency path.

# `package_json`

```elixir
@spec package_json(String.t(), String.t()) :: String.t()
```

Resolves the package.json path for a package.

# `resolve`

```elixir
@spec resolve(String.t(), String.t()) :: String.t()
```

Resolves the filesystem path for a package.

# `scoped_path`

```elixir
@spec scoped_path(String.t(), String.t()) :: String.t()
```

Resolves the path for a scoped package.

---

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