A high-performance parser for Yarn v3/v4 lockfiles. This parser focuses on performance, with minimal allocation and future use in WASM or with napi-rs.
crates/
├── berry-core/ # Main parser library
├── berry-test/ # Integration tests
├── berry-bench/ # Criterion microbenchmarks
├── berry-bench-bin/ # CLI benchmarking tool
└── node-bindings/ # Node.js bindings (WIP)
The project includes basic benchmarking infrastructure for performance monitoring and regression detection. Claude wrote that part, apologies.
# Test a specific fixture
cargo run --bin berry-bench-bin -- -f minimal-berry.lock -v
# Test all working fixtures
cargo run --bin berry-bench-bin -- --all -r 10
# Get JSON output for CI integration
cargo run --bin berry-bench-bin -- --all --format json# Run comprehensive Criterion benchmarks
cargo bench --package berry-bench
# Quick benchmark run
cargo bench --package berry-bench --bench parser_benchmarks -- --quick# Build all crates
cargo build --workspace
# Build with optimizations
cargo build --release --workspace# Run all testss
cargo nextest run
# Run integration tests
cargo nextest run -package berry-test
# Run benchmarks
cargo bench --workspace# Check code quality
cargo clippy --workspace
See CONTRIBUTING.md for development guidelines and benchmarking information.
MIT OR Apache-2.0
- Task List - Detailed development progress
- Benchmarking Plan - Comprehensive benchmarking strategy
- Dev Documentation - Development guides and documentation