Trait deno_graph::source::NpmResolver
source · pub trait NpmResolver: Debug {
// Required methods
fn resolve_builtin_node_module(
&self,
specifier: &ModuleSpecifier,
) -> Result<Option<String>, UnknownBuiltInNodeModuleError>;
fn on_resolve_bare_builtin_node_module(
&self,
module_name: &str,
range: &Range,
);
fn load_and_cache_npm_package_info(&self, package_name: &str);
fn resolve_pkg_reqs<'life0, 'life1, 'async_trait>(
&'life0 self,
package_req: &'life1 [PackageReq],
) -> Pin<Box<dyn Future<Output = NpmResolvePkgReqsResult> + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
// Provided method
fn enables_bare_builtin_node_module(&self) -> bool { ... }
}
Required Methods§
sourcefn resolve_builtin_node_module(
&self,
specifier: &ModuleSpecifier,
) -> Result<Option<String>, UnknownBuiltInNodeModuleError>
fn resolve_builtin_node_module( &self, specifier: &ModuleSpecifier, ) -> Result<Option<String>, UnknownBuiltInNodeModuleError>
Gets the builtin node module name from the specifier (ex. “node:fs” -> “fs”).
sourcefn on_resolve_bare_builtin_node_module(&self, module_name: &str, range: &Range)
fn on_resolve_bare_builtin_node_module(&self, module_name: &str, range: &Range)
The callback when a bare specifier is resolved to a builtin node module. (Note: used for printing warnings to discourage that usage of bare specifiers)
sourcefn load_and_cache_npm_package_info(&self, package_name: &str)
fn load_and_cache_npm_package_info(&self, package_name: &str)
This is an optimization for the implementation to start loading and caching the npm registry package information ahead of time.
sourcefn resolve_pkg_reqs<'life0, 'life1, 'async_trait>(
&'life0 self,
package_req: &'life1 [PackageReq],
) -> Pin<Box<dyn Future<Output = NpmResolvePkgReqsResult> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn resolve_pkg_reqs<'life0, 'life1, 'async_trait>(
&'life0 self,
package_req: &'life1 [PackageReq],
) -> Pin<Box<dyn Future<Output = NpmResolvePkgReqsResult> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Resolves a the package version requirements.
The implementation MUST return the same amount of resolutions back as version reqs provided or else a panic will occur.
Provided Methods§
sourcefn enables_bare_builtin_node_module(&self) -> bool
fn enables_bare_builtin_node_module(&self) -> bool
Returns true when bare node specifier resoluion is enabled