pub struct Bun;Expand description
Bun package manager adapter.
Trait Implementations§
Source§impl PackageManager for Bun
impl PackageManager for Bun
Source§fn detect(&self, project_dir: &Path) -> bool
fn detect(&self, project_dir: &Path) -> bool
Detects if the project uses bun by checking for bun.lockb or bun.lock.
Source§fn bloat_dirs(&self, project_dir: &Path) -> Vec<BloatDir>
fn bloat_dirs(&self, project_dir: &Path) -> Vec<BloatDir>
Returns the bloat directories for bun (node_modules).
Source§fn enforce_lockfile(
&self,
project_dir: &Path,
policy: EnforcePolicy,
) -> Result<()>
fn enforce_lockfile( &self, project_dir: &Path, policy: EnforcePolicy, ) -> Result<()>
Verifies the lockfile resolves cleanly, without installing anything.
--dry-run is essential, not cosmetic. A plain bun install --frozen-lockfile
is a real install: it downloads every dependency and runs their lifecycle
scripts — third-party code executed as a precondition for deleting the very
tree it just built. With --dry-run, bun still resolves package.json against
the lockfile and fails when they disagree, but writes nothing.
bun is the one manager whose natural check was already read-only, so there is no
writing form to opt into and allow_rewrite changes nothing here.
Auto Trait Implementations§
impl Freeze for Bun
impl RefUnwindSafe for Bun
impl Send for Bun
impl Sync for Bun
impl Unpin for Bun
impl UnsafeUnpin for Bun
impl UnwindSafe for Bun
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more