Struct node_maintainer::NodeMaintainer
source · pub struct NodeMaintainer { /* private fields */ }Expand description
Resolves and manages node_modules for a given project.
Implementations§
source§impl NodeMaintainer
impl NodeMaintainer
sourcepub fn builder() -> NodeMaintainerOptions
pub fn builder() -> NodeMaintainerOptions
Create a new NodeMaintainerOptions builder to use toconfigure a
NodeMaintainer.
sourcepub async fn resolve_manifest(
root: CorgiManifest
) -> Result<NodeMaintainer, NodeMaintainerError>
pub async fn resolve_manifest( root: CorgiManifest ) -> Result<NodeMaintainer, NodeMaintainerError>
Resolves a NodeMaintainer using an existing CorgiManifest.
sourcepub async fn resolve_spec(
root_spec: impl AsRef<str>
) -> Result<NodeMaintainer, NodeMaintainerError>
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.
sourcepub async fn write_lockfile(
&self,
path: impl AsRef<Path>
) -> Result<(), NodeMaintainerError>
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.
sourcepub fn to_lockfile(&self) -> Result<Lockfile, NodeMaintainerError>
pub fn to_lockfile(&self) -> Result<Lockfile, NodeMaintainerError>
Returns a crate::Lockfile representation of the current resolved graph.
sourcepub fn to_kdl(&self) -> Result<KdlDocument, NodeMaintainerError>
pub fn to_kdl(&self) -> Result<KdlDocument, NodeMaintainerError>
Returns a kdl::KdlDocument representation of the current resolved graph.
sourcepub fn package_at_path(&self, path: &Path) -> Option<Package>
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/".
sourcepub fn package_count(&self) -> usize
pub fn package_count(&self) -> usize
Number of unique packages in the dependency tree.
sourcepub async fn prune(&self) -> Result<usize, NodeMaintainerError>
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.
sourcepub async fn extract(&self) -> Result<usize, NodeMaintainerError>
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.
sourcepub async fn link_bins(&self) -> Result<usize, NodeMaintainerError>
pub async fn link_bins(&self) -> Result<usize, NodeMaintainerError>
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.
sourcepub async fn rebuild(
&self,
ignore_scripts: bool
) -> Result<(), NodeMaintainerError>
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.
sourcepub async fn run_scripts(
&self,
event: impl AsRef<str>
) -> Result<(), NodeMaintainerError>
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.