Struct NodeMaintainer

Source
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.

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.

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<F, W, T, D> Deserialize<With<T, W>, D> for F
where W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,

Source§

fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>

Deserializes using the given deserializer
Source§

impl<T> From<T> for T

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 T
where U: From<T>,

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> LayoutRaw for T

Source§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Gets the layout of the type.
Source§

impl<T> Pointee for T

Source§

type Metadata = ()

The type for metadata in pointers and references to Self.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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
Source§

impl<T> ErasedDestructor for T
where T: 'static,