Skip to main content

deps_bundler/
lib.rs

1//! Gemfile parsing and rubygems.org integration.
2//!
3//! This crate provides Bundler-specific functionality for the deps-lsp server,
4//! including Gemfile DSL parsing, dependency extraction, and rubygems.org
5//! registry integration.
6//!
7//! # Features
8//!
9//! - Parsing `Gemfile` dependencies with position tracking
10//! - Fetching version data from rubygems.org API
11//! - Supporting registry, git, path, and github dependencies
12//! - Group handling (`:development`, `:test`, `:production`)
13//! - Implementing deps-core traits for generic LSP handlers
14//!
15//! # Examples
16//!
17//! ```
18//! use deps_bundler::{BundlerDependency, RubyGemsRegistry};
19//!
20//! // Types are re-exported for convenience
21//! let _deps: Vec<BundlerDependency> = vec![];
22//! ```
23
24pub mod ecosystem;
25pub mod error;
26pub mod formatter;
27pub mod lockfile;
28pub mod parser;
29pub mod registry;
30pub mod types;
31pub mod version;
32
33// Re-export commonly used types
34pub use ecosystem::BundlerEcosystem;
35pub use error::{BundlerError, Result};
36pub use formatter::BundlerFormatter;
37pub use lockfile::GemfileLockParser;
38pub use parser::{BundlerParseResult, BundlerParser, parse_gemfile};
39pub use registry::{RubyGemsRegistry, gem_url};
40pub use types::{BundlerDependency, BundlerVersion, DependencyGroup, DependencySource, GemInfo};