pub struct NodeMaintainer { /* private fields */ }
Expand description

Resolves and manages node_modules for a given project.

Implementations§

source§

impl NodeMaintainer

source

pub fn builder() -> NodeMaintainerOptions

Create a new NodeMaintainerOptions builder to use toconfigure a NodeMaintainer.

source

pub async fn resolve_manifest( root: CorgiManifest ) -> Result<NodeMaintainer, NodeMaintainerError>

Resolves a NodeMaintainer using an existing CorgiManifest.

source

pub async fn resolve_spec( root_spec: impl AsRef<str> ) -> Result<NodeMaintainer, NodeMaintainerError>

Resolves a NodeMaintainer using a particular package spec (for example, foo@1.2.3 or ./root) as its “root” package.

source

pub async fn write_lockfile( &self, path: impl AsRef<Path> ) -> Result<(), NodeMaintainerError>

Writes the contents of a package-lock.kdl file to the file path.

source

pub fn to_lockfile(&self) -> Result<Lockfile, NodeMaintainerError>

Returns a crate::Lockfile representation of the current resolved graph.

source

pub fn to_kdl(&self) -> Result<KdlDocument, NodeMaintainerError>

Returns a kdl::KdlDocument representation of the current resolved graph.

source

pub fn package_at_path(&self, path: &Path) -> Option<Package>

Returns a Package for the given package spec, if it is present in the dependency tree. The path should be relative to the root of the project, and can optionally start with "node_modules/".

source

pub fn package_count(&self) -> usize

Number of unique packages in the dependency tree.

source

pub async fn prune(&self) -> Result<usize, NodeMaintainerError>

Scans the node_modules directory and removes any extraneous files or directories, including previously-installed packages that are no longer valid.

source

pub async fn extract(&self) -> Result<usize, NodeMaintainerError>

Extracts the node_modules/ directory to the project root, downloading packages as needed. Whether this method creates files or hard links depends on the current filesystem and the cache and prefer_copy options.

Links package binaries to their corresponding node_modules/.bin directories. On Windows, this will create .cmd, .ps1, and sh shims instead of link directly to the bins.

source

pub async fn rebuild( &self, ignore_scripts: bool ) -> Result<(), NodeMaintainerError>

Runs the preinstall, install, and postinstall lifecycle scripts, as well as linking the package bins as needed.

source

pub async fn run_scripts( &self, event: impl AsRef<str> ) -> Result<(), NodeMaintainerError>

Concurrently executes the lifecycle scripts for the given event across all packages in the graph.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more