18 releases (breaking)
Uses new Rust 2024
| new 0.14.0 | Feb 8, 2026 |
|---|---|
| 0.12.0 | Sep 11, 2025 |
| 0.11.0 | Feb 6, 2025 |
| 0.10.0 | Dec 13, 2024 |
| 0.1.1 | Feb 21, 2021 |
#89 in Web programming
8,059 downloads per month
Used in 15 crates
(9 directly)
61KB
1.5K
SLoC
yarn-lock-parser
A fast and reliable parser for yarn.lock files written in Rust. Supports all yarn.lock versions (v1, v2, and later). Parse lock files into structured data for dependency analysis, validation, and programmatic access.
Features
- ✅ Supports all yarn.lock versions (v1, v2, and later)
- ✅ Fast and memory-efficient parsing using nom
- ✅ Comprehensive error handling with
thiserror - ✅ Zero-copy where possible
- ✅ Pure Rust implementation
Installation
Add this to your Cargo.toml:
[dependencies]
yarn-lock-parser = "0.13"
Quick Start
use std::{error::Error, fs};
use yarn_lock_parser::{parse_str, Entry};
fn main() -> Result<(), Box<dyn Error>> {
let yarn_lock_text = fs::read_to_string("yarn.lock")?;
let entries: Vec<Entry> = parse_str(&yarn_lock_text)?;
for entry in entries {
println!("{:?}", entry);
}
Ok(())
}
Documentation
API documentation is available on docs.rs
Development
Requirements
- Rust (with
cargo)
Build
cargo build
Test
cargo test
Running Tests Verbosely
cargo test -- --nocapture
License
MIT
Dependencies
~1–1.5MB
~30K SLoC