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:

cargo install package-json-lsp

With prebuilt binaries via cargo-binstall:

cargo binstall package-json-lsp

From this repository:

cargo install --path .

Usage

Start the language server over stdio:

package-json-lsp

Neovim example:

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

package-json-lsp --version
package-json-lsp -v
package-json-lsp rage

Development

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