Trait deno_node::NpmResolver

source ·
pub trait NpmResolver: Debug + MaybeSend + MaybeSync {
    // Required methods
    fn resolve_package_folder_from_package(
        &self,
        specifier: &str,
        referrer: &ModuleSpecifier,
        mode: NodeResolutionMode
    ) -> Result<PathBuf, AnyError>;
    fn in_npm_package(&self, specifier: &ModuleSpecifier) -> bool;
    fn ensure_read_permission(
        &self,
        permissions: &dyn NodePermissions,
        path: &Path
    ) -> Result<(), AnyError>;

    // Provided methods
    fn get_npm_process_state(&self) -> String { ... }
    fn in_npm_package_at_dir_path(&self, path: &Path) -> bool { ... }
    fn in_npm_package_at_file_path(&self, path: &Path) -> bool { ... }
}

Required Methods§

source

fn resolve_package_folder_from_package( &self, specifier: &str, referrer: &ModuleSpecifier, mode: NodeResolutionMode ) -> Result<PathBuf, AnyError>

Resolves an npm package folder path from an npm package referrer.

source

fn in_npm_package(&self, specifier: &ModuleSpecifier) -> bool

source

fn ensure_read_permission( &self, permissions: &dyn NodePermissions, path: &Path ) -> Result<(), AnyError>

Provided Methods§

source

fn get_npm_process_state(&self) -> String

Gets a string containing the serialized npm state of the process.

This will be set on the DENO_DONT_USE_INTERNAL_NODE_COMPAT_STATE environment variable when doing a child_process.fork. The implementor can then check this environment variable on startup to repopulate the internal npm state.

source

fn in_npm_package_at_dir_path(&self, path: &Path) -> bool

source

fn in_npm_package_at_file_path(&self, path: &Path) -> bool

Implementors§