pub struct Yarn;Expand description
Yarn package manager adapter.
Trait Implementations§
Source§impl PackageManager for Yarn
impl PackageManager for Yarn
Source§fn detect(&self, project_dir: &Path) -> bool
fn detect(&self, project_dir: &Path) -> bool
Detects if the project uses yarn by checking for yarn.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 yarn (node_modules).
Source§fn enforce_lockfile(
&self,
project_dir: &Path,
policy: EnforcePolicy,
) -> Result<()>
fn enforce_lockfile( &self, project_dir: &Path, policy: EnforcePolicy, ) -> Result<()>
Enforces the lockfile without installing anything.
--mode update-lockfile resolves package.json and writes only yarn.lock.
It is a Yarn Berry (2+) flag; Yarn Classic rejects it. Classic offers no
resolve-only mode at all — its nearest equivalent, yarn install --frozen-lockfile, performs a full install and runs every dependency’s
lifecycle scripts, which is not something to do as a precondition for deleting
that same tree. So on Classic an existing yarn.lock is itself the proof that
node_modules is rebuildable, and that is what we require.
On Berry, --immutable is what keeps the resolution read-only: it fails when
yarn.lock would change rather than writing the change out.
Auto Trait Implementations§
impl Freeze for Yarn
impl RefUnwindSafe for Yarn
impl Send for Yarn
impl Sync for Yarn
impl Unpin for Yarn
impl UnsafeUnpin for Yarn
impl UnwindSafe for Yarn
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
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> ⓘ
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> ⓘ
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