package-json-lsp 0.1.0

Language server for package manager catalog references in package.json
Documentation
# package-json-lsp

Native Rust language server for package-manager catalog references in `package.json`.

It supports pnpm, Yarn, and Bun catalog metadata and provides:

- inlay hints for resolved `catalog:` versions
- hover information for catalog and dependency versions
- go-to-definition for catalog and `workspace:` references
- code lenses, diagnostics, and code actions for pnpm outdated packages

## Install

From crates.io:

```bash
cargo install package-json-lsp
```

With prebuilt binaries via `cargo-binstall`:

```bash
cargo binstall package-json-lsp
```

From this repository:

```bash
cargo install --path .
```

## Usage

Start the language server over stdio:

```bash
package-json-lsp
```

Neovim example:

```lua
vim.lsp.config["package_json_ls"] = {
  cmd = { "package-json-lsp" },
  filetypes = { "json", "yaml" },
  root_markers = { { "pnpm-workspace.yaml" }, ".git" },
}

vim.lsp.enable("package_json_ls")
```

## CLI

```bash
package-json-lsp --version
package-json-lsp -v
package-json-lsp rage
```

## Development

```bash
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test
```