4 releases
Uses new Rust 2024
| 0.9.3 | Mar 28, 2026 |
|---|---|
| 0.9.2 | Mar 21, 2026 |
| 0.9.1 | Mar 4, 2026 |
| 0.9.0 | Feb 23, 2026 |
#927 in Text editors
Used in deps-lsp
330KB
6.5K
SLoC
deps-composer
PHP/Composer support for deps-lsp.
This crate is part of the deps-lsp workspace. It provides parsing and registry integration for the Composer ecosystem and implements deps_core::Ecosystem.
Features
- JSON parsing — Parse
composer.jsonwith position tracking forrequireandrequire-devsections - Lock file parsing — Extract resolved versions from
composer.lock - Packagist registry — Client for Packagist v2 API with metadata de-minification
- Version resolution — Composer-specific version matching (
^,~,*,||, ranges) - Platform filtering — Excludes
php,ext-*, andlib-*pseudo-packages from registry lookups - Case-insensitive names — Package names normalized to lowercase (
vendor/package)
[!NOTE] Composer's tilde operator has different semantics from npm:
~1.2means>=1.2.0 <2.0.0(not>=1.2.0 <1.3.0).
Installation
[dependencies]
deps-composer = "0.9.3"
[!IMPORTANT] Requires Rust 1.89 or later.
Usage
use deps_composer::{parse_composer_json, PackagistRegistry};
let dependencies = parse_composer_json(content, &uri)?;
let registry = PackagistRegistry::new(cache);
let versions = registry.get_versions("monolog/monolog").await?;
License
Dependencies
~13–22MB
~308K SLoC