pub struct NodeMaintainerOptions { /* private fields */ }

Implementations§

source§

impl NodeMaintainerOptions

source

pub fn new() -> Self

Create a new builder for NodeMaintainer.

source

pub fn cache(self, cache: impl AsRef<Path>) -> Self

Configure the cache location that NodeMaintainer will use.

source

pub fn concurrency(self, concurrency: usize) -> Self

Controls number of concurrent operations during various apply steps (resolution fetches, extractions, etc). Tuning this might help reduce memory usage.

source

pub fn locked(self, locked: bool) -> Self

Make the resolver error if the newly-resolved tree would defer from an existing lockfile.

source

pub fn script_concurrency(self, concurrency: usize) -> Self

Controls number of concurrent script executions while running run_script. This option is separate from concurrency because executing concurrent scripts is a much heavier operation.

source

pub fn kdl_lock( self, kdl_lock: impl IntoKdl ) -> Result<Self, NodeMaintainerError>

Configure the KDL lockfile that NodeMaintainer will use.

If this option is not specified, NodeMaintainer will try to read the lockfile from <root>/package-lock.kdl.

source

pub fn npm_lock( self, npm_lock: impl AsRef<str> ) -> Result<Self, NodeMaintainerError>

Configure the NPM lockfile that NodeMaintainer will use.

If this option is not specified, NodeMaintainer will try to read the lockfile from <root>/package-lock.json.

source

pub fn registry(self, registry: Url) -> Self

Registry used for unscoped packages.

Defaults to https://registry.npmjs.org.

source

pub fn scope_registry(self, scope: impl AsRef<str>, registry: Url) -> Self

Registry to use for a given @scope. That is, what registry to use when looking up a package like @foo/pkg. This option can be provided multiple times.

source

pub fn root(self, path: impl AsRef<Path>) -> Self

Root directory of the project.

source

pub fn default_tag(self, tag: impl AsRef<str>) -> Self

Default dist-tag to use when resolving package versions.

source

pub fn prefer_copy(self, prefer_copy: bool) -> Self

When extracting packages, prefer to copy files instead of linking them.

This option has no effect if hard linking fails (for example, if the cache is on a different drive), or if the project is on a filesystem that supports Copy-on-Write (zfs, btrfs, APFS (macOS), etc).

source

pub fn validate(self, validate: bool) -> Self

When this is true, node-maintainer will validate integrity hashes for all files extracted from the cache, as well as verify that any files in the existing node_modules are unmodified. If verification fails, the packages will be reinstalled.

source

pub fn hoisted(self, hoisted: bool) -> Self

Use the hoisted installation mode, where all dependencies and their transitive dependencies are installed as high up in the node_modules tree as possible. This can potentially mean that packages have access to dependencies they did not specify in their package.json, but it might be useful for compatibility.

source

pub fn on_resolution_added<F>(self, f: F) -> Selfwhere F: Fn() + Send + Sync + 'static,

source

pub fn on_resolve_progress<F>(self, f: F) -> Selfwhere F: Fn(&Package) + Send + Sync + 'static,

source

pub fn on_prune_progress<F>(self, f: F) -> Selfwhere F: Fn(&Path) + Send + Sync + 'static,

source

pub fn on_extract_progress<F>(self, f: F) -> Selfwhere F: Fn(&Package) + Send + Sync + 'static,

source

pub fn on_script_start<F>(self, f: F) -> Selfwhere F: Fn(&Package, &str) + Send + Sync + 'static,

source

pub fn on_script_line<F>(self, f: F) -> Selfwhere F: Fn(&str) + Send + Sync + 'static,

source

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

Resolves a NodeMaintainer using an existing CorgiManifest.

source

pub async fn resolve_spec( self, 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.

Trait Implementations§

source§

impl Clone for NodeMaintainerOptions

source§

fn clone(&self) -> NodeMaintainerOptions

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Default for NodeMaintainerOptions

source§

fn default() -> Self

Returns the “default value” for a type. Read more

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
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

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

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 Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

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

§

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

§

impl<T> LayoutRaw for T

§

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

Gets the layout of the type.
§

impl<T> Pointee for T

§

type Metadata = ()

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

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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 Twhere U: TryFrom<T>,

§

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

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