pub struct Npm;Expand description
NPM package manager adapter.
Trait Implementations§
Source§impl PackageManager for Npm
impl PackageManager for Npm
Source§fn detect(&self, project_dir: &Path) -> bool
fn detect(&self, project_dir: &Path) -> bool
Detects if the project uses npm by checking for package-lock.json.
Source§fn bloat_dirs(&self, project_dir: &Path) -> Vec<BloatDir>
fn bloat_dirs(&self, project_dir: &Path) -> Vec<BloatDir>
Returns the bloat directories for npm (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 running install scripts, and without writing.
npm ci --dry-run is the read-only check: it builds the tree the lockfile
describes, fails outright when package-lock.json and package.json disagree,
and — with --dry-run — neither installs nor writes. --package-lock-only is
the writing form, kept for the no-lockfile case where there is nothing to
preserve, and for the user who opted into rewriting.
Source§fn restore(&self, project_dir: &Path, timeout: Duration) -> Result<()>
fn restore(&self, project_dir: &Path, timeout: Duration) -> Result<()>
Restores the dependencies using the lockfile.
Source§fn drift(&self, project_dir: &Path) -> Vec<DriftReport>
fn drift(&self, project_dir: &Path) -> Vec<DriftReport>
The --no-save comparison enforce_lockfile refuses on, as data. npm-linked
packages are deliberately not listed here: a symlink to code outside the project
is not something any lockfile edit can record, so it stays a prune-time refusal.
Source§fn lockfiles(&self) -> &'static [&'static str]
fn lockfiles(&self) -> &'static [&'static str]
Source§fn restore_named(
&self,
project_path: &Path,
dir_name: &str,
runtime: Option<&str>,
timeout: Duration,
) -> Result<()>
fn restore_named( &self, project_path: &Path, dir_name: &str, runtime: Option<&str>, timeout: Duration, ) -> Result<()>
PackageManager::restore, told the name the pruned directory had. Read moreAuto Trait Implementations§
impl Freeze for Npm
impl RefUnwindSafe for Npm
impl Send for Npm
impl Sync for Npm
impl Unpin for Npm
impl UnsafeUnpin for Npm
impl UnwindSafe for Npm
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