#![recursion_limit = "256"]
#![warn(
clippy::cast_possible_truncation,
clippy::cast_precision_loss,
clippy::cast_sign_loss
)]
pub mod cache;
pub(crate) mod cache_policy;
pub mod completion;
#[cfg(any(test, feature = "test-util"))]
pub mod conformance;
pub mod dependency_cap;
pub mod deps_dev;
pub mod ecosystem;
pub mod ecosystem_registry;
pub mod error;
pub mod fallback_completion;
pub mod freshness;
pub mod fs_probe;
pub mod github;
pub mod interval;
pub mod json_ast;
pub mod json_helpers;
pub mod licenses;
pub mod lockfile;
pub mod lsp_helpers;
pub mod macros;
pub mod mtime_cache;
pub mod net_policy;
pub mod osv;
pub mod package;
pub mod pagination;
pub mod parser;
pub mod registry;
pub mod secret;
#[cfg(any(test, feature = "test-util"))]
pub mod test_util;
pub mod version_matcher;
pub mod xml_bounds;
pub mod yaml_anchor;
pub mod yaml_walk;
pub use tower_lsp_server;
pub use cache::{BodyLimit, CachedResponse, HttpCache};
pub use dependency_cap::{DependencyBudget, MAX_DEPENDENCIES_PER_DOCUMENT};
pub use deps_dev::{DepsDevClient, ProvenanceStatus, ScorecardSummary, SupplyChainTrustSignal};
pub use ecosystem::{
BlockedRegistryOccurrence, BlockedSourceClass, Dependency, Ecosystem, EcosystemConfig,
EcosystemId, LicenseSource, ParseResult, parse_manifest_blocking,
};
pub use ecosystem_registry::EcosystemRegistry;
pub use error::{DepsError, FetchFailure, Result};
pub use freshness::{
DEFAULT_COOLDOWN_SECS, FreshnessSettings, PublishTime, format_relative_age, is_within_cooldown,
};
pub use json_ast::{JsonAst, JsonSection, find_last_prop};
pub use json_helpers::string_valued_entries;
pub use licenses::{
LicensePolicy, LicenseViolation, MAX_POM_LICENSE_NAME_RAW_CHARS, ViolationReason,
evaluate as evaluate_license_policy, resolve_license_entries,
};
pub use lockfile::{
LockFileProvider, ResolvedPackage, ResolvedPackages, ResolvedSource, read_and_parse_lockfile,
read_lockfile_content,
};
pub use lsp_helpers::{
DependencyOutcome, DependencyOutcomes, DiagnosticMessages, DiagnosticPolicy,
DiagnosticSeverities, EcosystemFormatter, HOVER_RECENT_VERSIONS,
LICENSE_POLICY_VIOLATION_DIAGNOSTIC_CODE, LineOffsetTable, OsvNaming, PackageNaming,
PackageRendering, PackageVersions, RequirementMatcher, RequirementResolution,
RequirementStatus, SourcePolicy, UNSATISFIABLE_DIAGNOSTIC_CODE, VersionData,
collect_update_all_edits, generate_code_actions as lsp_generate_code_actions,
generate_code_lenses as lsp_generate_code_lenses, generate_hover as lsp_generate_hover,
generate_inlay_hints as lsp_generate_inlay_hints, is_dot_segment,
is_safe_maven_coordinate_segment, is_safe_package_name, is_safe_registry_url,
is_safe_version_string, is_same_major_minor, maven_coordinate_path, position_in_range,
requirement_is_unsatisfiable, warn_rejected_value,
};
pub use mtime_cache::{DEFAULT_MAX_CACHED_FILES, MAX_CACHED_FILE_BYTES, MtimeFileCache};
pub use package::{ConcreteVersion, InvalidPackageName, PackageName, VersionReq};
pub use parser::{
DependencySource, LoadingState, MAX_JSON_NESTING_DEPTH, MAX_TOML_NESTING_DEPTH,
MAX_YAML_EXPANDED_BYTES, MAX_YAML_NESTING_DEPTH, check_json_nesting_depth,
check_toml_nesting_depth, check_yaml_expansion, check_yaml_nesting_depth,
json_depth_error_message, parse_json_checked, yaml_scalar_string,
};
pub use registry::{
Deprecation, Metadata, Registry, RemovalStatus, Version, classify_default_registry_url,
existence_wildcard_req, find_latest_stable, has_default_prerelease_marker, hash_routing_key,
is_existence_wildcard, is_existence_wildcard_str, not_found_or, select_latest_for_existence,
};
pub use version_matcher::{
Pep440Matcher, SemverMatcher, VersionRequirementMatcher, extract_pypi_min_version,
normalize_and_parse_version, normalize_operator_spacing,
};
pub use yaml_rust2;
pub use reqwest;