Skip to main content

cuenv_workspaces/parsers/javascript/
mod.rs

1//! JavaScript package manager lockfile parsers.
2//!
3//! Each parser translates a package manager specific lockfile into [`LockfileEntry`](crate::LockfileEntry)
4//! instances using the shared [`LockfileParser`](crate::LockfileParser) trait. The implementations are
5//! gated behind fine-grained Cargo features so consumers can opt into only the parsers required for
6//! their toolchain.
7
8#[cfg(feature = "parser-bun")]
9/// Bun lockfile parser module.
10pub mod bun;
11#[cfg(feature = "parser-npm")]
12/// npm lockfile parser module.
13pub mod npm;
14#[cfg(feature = "parser-pnpm")]
15/// pnpm lockfile parser module.
16pub mod pnpm;
17#[cfg(feature = "parser-yarn-classic")]
18/// Yarn Classic lockfile parser module.
19pub mod yarn_classic;
20#[cfg(feature = "parser-yarn-modern")]
21/// Yarn Modern lockfile parser module.
22pub mod yarn_modern;
23
24#[cfg(feature = "parser-bun")]
25pub use bun::BunLockfileParser;
26#[cfg(feature = "parser-npm")]
27pub use npm::NpmLockfileParser;
28#[cfg(feature = "parser-pnpm")]
29pub use pnpm::PnpmLockfileParser;
30#[cfg(feature = "parser-yarn-classic")]
31pub use yarn_classic::YarnClassicLockfileParser;
32#[cfg(feature = "parser-yarn-modern")]
33pub use yarn_modern::YarnModernLockfileParser;