13 unstable releases (3 breaking)
Uses new Rust 2024
| new 0.5.4 | Jan 15, 2026 |
|---|---|
| 0.5.3 | Jan 14, 2026 |
| 0.5.2 | Dec 27, 2025 |
| 0.4.1 | Dec 26, 2025 |
| 0.2.3 | Dec 23, 2025 |
#462 in Text editors
51 downloads per month
Used in deps-lsp
405KB
9K
SLoC
deps-npm
npm/package.json support for deps-lsp.
This crate provides parsing and registry integration for the npm ecosystem.
Features
- JSON Parsing — Parse
package.jsonwith position tracking - Lock File Parsing — Extract resolved versions from
package-lock.json(v2/v3) - npm Registry — Client for npm registry API
- Version Resolution — Node semver-aware version matching (
^,~, ranges) - Scoped Packages — Support for
@scope/packageformat - EcosystemHandler — Implements
deps_core::EcosystemHandlertrait
Usage
[dependencies]
deps-npm = "0.5"
use deps_npm::{parse_package_json, NpmRegistry};
let dependencies = parse_package_json(content)?;
let registry = NpmRegistry::new(cache);
let versions = registry.get_versions("express").await?;
Benchmarks
cargo bench -p deps-npm
Parsing performance: ~3μs for small files, ~45μs for monorepo package.json.
License
Dependencies
~16–33MB
~362K SLoC