
Package Version Server
https://github.com/zed-industries/package-version-server- Category
- Developer Tools
- Rank
- No. 1679Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- zed-industries
- GitHub
- 22 stars
- Latest release
- v0.0.10
- Date
About
A language server that shows package version hover information in package.json files, built by Zed Industries.
What it does
It watches JavaScript package manifests opened in an editor, parses recognized dependency sections, and queries the npm registry. Hover responses show the latest release, description, publication age, and optional homepage. Completion responses suggest matching versions in descending order.
Why it's ranked here
This is a focused editor utility with useful detail beyond a simple version lookup. Structured parsing avoids treating arbitrary JSON keys as packages, while caching limits repeated registry requests. The narrow scope is clear, but network dependence and an evidently stale parser test reduce confidence in reliability.
What's good
It recognizes regular, development, peer, optional, and bundled dependency sections. Hover output combines package identity, description, latest version, relative publication time, and homepage. Version completion strips common range operators, filters against the typed text, sorts newer semantic versions first, and reports unparseable registry entries through editor warnings.
Tradeoffs
The server relies on npm registry responses and converts fetch or parsing failures into generic internal errors. Its cache lasts only 30 seconds, so longer sessions can repeat network requests. It synchronizes complete document contents rather than incremental edits. The included parser test no longer matches the parser interface or return type.
How to use it well
Use it when you frequently inspect or edit npm dependency ranges and want registry context without leaving the editor. It fits editors that can launch a standard language server over input and output streams. It does not install packages, resolve dependency conflicts, audit security, or manage lockfiles.
Technical notes+
src/main.rs implements a tower_lsp::LanguageServer over stdin/stdout, advertises full-text synchronization, hover support, and completion triggered by .. It stores each matching document as source text plus a Tree-sitter tree. src/parser.rs queries dependency objects with Tree-sitter JSON and returns the package, current version text, and cursor range. src/fetcher.rs requests encoded package names from https://registry.npmjs.org/, parses semantic versions including prereleases, and keeps metadata in an in-memory 30-second cache. The test in src/parser.rs calls extract_package_name with two arguments although its definition requires three, and expects a tuple rather than ParseResult. .github/workflows/release.yml builds release binaries for six Linux, macOS, and Windows targets.
Observed
- License
- MIT
- Primary language
- Rust, using the 2021 edition
- Interface
- Language Server Protocol over standard input and standard output
- Registry
- Reads package metadata from the npm registry HTTP endpoint
- Release packaging
- GitHub release workflow publishes compressed binary assets
- Platform support
- Release targets cover x86-64 and ARM64 on Linux, macOS, and Windows
- Parsing
- Tree-sitter JSON restricts matches to recognized dependency sections
Read from README.md, Cargo.toml, src/main.rs, src/parser.rs, src/fetcher.rs, .github/workflows/release.yml.
What it can do
Display package version information on hover
package.json file with package dependencies → Hover tooltip showing current and available package versions
Provide language server protocol support
Text editor or IDE with LSP client → Real-time package version analysis and information
Parse package.json dependencies
package.json file content → Structured package dependency information
Fetch current package version data
Package names from package.json → Up-to-date version information from package registries
Integrate with code editors
Compatible text editor or IDE → Enhanced package.json editing experience with version insights
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.