← All extensions

Npmx Language Server

v0.9.2 · by npmx-dev, Xat, Vida Xie · added 3 November 2026

Enhance your npm package workflow in Zed

Language servers

How to install

With Forge Super installed, the button above opens the app on this extension, where you press Install. Nothing is installed until you do.

You can also open the Extensions panel in the app and search for Npmx Language Server. The extension's id is npmx-language-server.

Don't have Forge Super yet? Download it here.

README

From the extension's repository, written by its authors and not by Mentenaz. See the source.

npmx for Zed

Enhance your npm package workflow in Zed.

This extension runs the npmx-language-server — the same language server used by the VS Code version — over stdio. The server version is pinned to the extension version and auto-installed from npm when needed.

Features

  • Hover links to package pages and docs on npmx.dev
  • Emoji hover icons for non-VS Code editors
  • Version completion with provenance and prerelease settings
  • Diagnostics for upgrades, deprecations, replacements, vulnerabilities, dist tags, and engine mismatches
  • Document links for package names
  • Workspace-aware dependency resolution for npm, pnpm, yarn, and bun projects

Settings

Settings under lsp.npmx.settings are forwarded to the language server as npmx workspace configuration. Use scoped npmx settings without the leading npmx. prefix:

{
  "lsp": {
    "npmx": {
      "settings": {
        "hover": {
          "enabled": true
        },
        "completion": {
          "version": "provenance-only",
          "excludePrerelease": true
        },
        "diagnostics": {
          "upgrade": true,
          "deprecation": true,
          "replacement": true,
          "vulnerability": true,
          "distTag": true,
          "engineMismatch": true
        },
        "packageLinks": "declared"
      }
    }
  }
}

To override the language server command (e.g. for local development):

{
  "lsp": {
    "npmx": {
      "binary": {
        "path": "node",
        "arguments": [
          "/absolute/path/to/vscode-npmx/packages/language-server/dist/index.cjs",
          "--stdio"
        ]
      }
    }
  }
}

Local Development

  1. Build the language server from the repo root with pnpm build.
  2. Configure lsp.npmx.binary in Zed settings pointing to the local build (see above).
  3. Install extensions/zed as a dev extension in Zed.

Publishing

  1. Bump version in Cargo.toml, extension.toml, and packages/language-server/package.json.
  2. Build the monorepo and publish npmx-language-server to npm.
  3. Open a PR to zed-industries/extensions updating the submodule and version.

Notes

  • Zed dev extensions require Rust installed via rustup; the Zed docs explicitly call out that Homebrew Rust will not work for dev extension compilation.
  • The language server version is pinned to the extension's Cargo.toml version. It auto-installs via the Zed npm API when the extension activates.