Skip to content

feat(bundler): add Ruby/Bundler ecosystem support#54

Merged
bug-ops merged 7 commits intomainfrom
feature/bundler-ecosystem
Feb 3, 2026
Merged

feat(bundler): add Ruby/Bundler ecosystem support#54
bug-ops merged 7 commits intomainfrom
feature/bundler-ecosystem

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

@bug-ops bug-ops commented Feb 3, 2026

Summary

  • Add deps-bundler crate with full Gemfile and Gemfile.lock support
  • Implement rubygems.org API client with HTTP caching
  • Support version comparison with pessimistic operator (~>)
  • Handle git, path, github dependency sources
  • Support group handling (development, test, production)

Changes

File Description
ecosystem.rs BundlerEcosystem trait implementation
parser.rs Gemfile DSL parser with regex extraction
lockfile.rs Gemfile.lock state machine parser
registry.rs rubygems.org API client
formatter.rs Version formatting for code actions
version.rs Shared version comparison logic
types.rs BundlerDependency, BundlerVersion, GemInfo

Test plan

  • 56 unit tests passing
  • Clippy clean
  • Security audit passed
  • Documentation builds

Add deps-bundler crate with full Gemfile and Gemfile.lock support:

- Gemfile DSL parser with regex-based extraction
- Gemfile.lock parser with state machine for sections
- rubygems.org API client with HTTP caching
- Version comparison with pessimistic operator (~>)
- Support for git, path, github dependency sources
- Group handling (development, test, production)

Implements Ecosystem, Dependency, Version, Metadata traits from deps-core.
@github-actions github-actions Bot added rust Rust code changes parser Parser changes needs-review Needs review size: XXL >1000 lines changed labels Feb 3, 2026
- Fix "Unknown package" false positives for gems in lock file
- Parse DEPENDENCIES section for platform-specific gems
- Fix clippy warnings (unnecessary raw string hashes)
- Add README.md for deps-bundler crate
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Feb 3, 2026
Add Ruby/Bundler ecosystem support as new minor version.
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Feb 3, 2026

Codecov Report

❌ Patch coverage is 94.78859% with 106 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
crates/deps-bundler/src/registry.rs 85.79% 49 Missing ⚠️
crates/deps-bundler/src/ecosystem.rs 70.49% 36 Missing ⚠️
crates/deps-bundler/src/types.rs 97.63% 9 Missing ⚠️
crates/deps-bundler/src/lockfile.rs 97.51% 6 Missing ⚠️
crates/deps-bundler/src/version.rs 97.41% 3 Missing ⚠️
crates/deps-bundler/src/parser.rs 99.61% 2 Missing ⚠️
crates/deps-bundler/src/error.rs 99.57% 1 Missing ⚠️

Impacted file tree graph

@@            Coverage Diff             @@
##             main      #54      +/-   ##
==========================================
+ Coverage   84.87%   85.94%   +1.07%     
==========================================
  Files          56       64       +8     
  Lines       16634    18660    +2026     
==========================================
+ Hits        14118    16038    +1920     
- Misses       2516     2622     +106     
Files with missing lines Coverage Δ
crates/deps-bundler/src/formatter.rs 100.00% <100.00%> (ø)
crates/deps-core/src/lsp_helpers.rs 73.33% <100.00%> (+0.09%) ⬆️
crates/deps-lsp/src/lib.rs 100.00% <100.00%> (ø)
crates/deps-bundler/src/error.rs 99.57% <99.57%> (ø)
crates/deps-bundler/src/parser.rs 99.61% <99.61%> (ø)
crates/deps-bundler/src/version.rs 97.41% <97.41%> (ø)
crates/deps-bundler/src/lockfile.rs 97.51% <97.51%> (ø)
crates/deps-bundler/src/types.rs 97.63% <97.63%> (ø)
crates/deps-bundler/src/ecosystem.rs 70.49% <70.49%> (ø)
crates/deps-bundler/src/registry.rs 85.79% <85.79%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Add criterion benchmarks for Gemfile and Gemfile.lock parsing with
various file sizes (5-100 deps). Configure codecov upload for
deps-bundler in CI workflow.
@github-actions github-actions Bot added ci CI/CD workflows tests Test changes labels Feb 3, 2026
Codecov automatically applies flags based on paths defined in
codecov.yml. Remove redundant per-crate uploads (8 -> 1).
Add missing flags for deps-go and deps-bundler.
Add comprehensive tests for error handling, parser edge cases,
registry response parsing, and type implementations. Migrate CI
to moonrepo/setup-rust, remove sccache. Add codecov flags for
deps-go and deps-bundler.
@bug-ops bug-ops merged commit 622b80f into main Feb 3, 2026
19 checks passed
@bug-ops bug-ops deleted the feature/bundler-ecosystem branch February 3, 2026 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci CI/CD workflows documentation Improvements or additions to documentation needs-review Needs review parser Parser changes rust Rust code changes size: XXL >1000 lines changed tests Test changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants