deps-npm

Crates.iodeps-npm
lib.rsdeps-npm
version0.5.4
created_at2025-12-22 14:22:34.208681+00
updated_at2026-01-15 17:17:18.403548+00
descriptionnpm/package.json support for deps-lsp
homepage
repositoryhttps://github.com/bug-ops/deps-lsp
max_upload_size
id1999780
size170,536
Andrei G (bug-ops)

documentation

README

deps-npm

Crates.io docs.rs codecov License: MIT

npm/package.json support for deps-lsp.

This crate provides parsing and registry integration for the npm ecosystem.

Features

  • JSON Parsing — Parse package.json with 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/package format
  • EcosystemHandler — Implements deps_core::EcosystemHandler trait

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

MIT

Commit count: 63

cargo fmt