mirror of
https://github.com/denoland/deno.git
synced 2025-02-08 07:16:56 -05:00
![David Sherret](/assets/img/avatar_default.png)
Allows easily constructing a `DenoResolver` using the exact same logic that we use in the CLI (useful for dnt and for external bundlers). This code is then used in the CLI to ensure the logic is always up-to-date. ```rs use std::rc::Rc; use deno_resolver:🏭:ResolverFactory; use deno_resolver:🏭:WorkspaceFactory; use sys_traits::impls::RealSys; let sys = RealSys; let cwd = sys.env_current_dir()?; let workspace_factory = Rc::new(WorkspaceFactory::new(sys, cwd, Default::default())); let resolver_factory = ResolverFactory::new(workspace_factory.clone(), Default::default()); let deno_resolver = resolver_factory.deno_resolver().await?; ```
35 lines
1.1 KiB
Rust
35 lines
1.1 KiB
Rust
// Copyright 2018-2025 the Deno authors. MIT license.
|
|
|
|
#![deny(clippy::print_stderr)]
|
|
#![deny(clippy::print_stdout)]
|
|
|
|
pub mod analyze;
|
|
mod builtin_modules;
|
|
pub mod errors;
|
|
mod npm;
|
|
mod package_json;
|
|
mod path;
|
|
mod resolution;
|
|
|
|
mod sync;
|
|
|
|
pub use builtin_modules::DenoIsBuiltInNodeModuleChecker;
|
|
pub use builtin_modules::IsBuiltInNodeModuleChecker;
|
|
pub use builtin_modules::DENO_SUPPORTED_BUILTIN_NODE_MODULES;
|
|
pub use deno_package_json::PackageJson;
|
|
pub use npm::InNpmPackageChecker;
|
|
pub use npm::NpmPackageFolderResolver;
|
|
pub use package_json::PackageJsonResolver;
|
|
pub use package_json::PackageJsonResolverRc;
|
|
pub use package_json::PackageJsonThreadLocalCache;
|
|
pub use path::PathClean;
|
|
pub use resolution::parse_npm_pkg_name;
|
|
pub use resolution::resolve_specifier_into_node_modules;
|
|
pub use resolution::ConditionsFromResolutionMode;
|
|
pub use resolution::NodeResolution;
|
|
pub use resolution::NodeResolutionKind;
|
|
pub use resolution::NodeResolver;
|
|
pub use resolution::NodeResolverRc;
|
|
pub use resolution::ResolutionMode;
|
|
pub use resolution::DEFAULT_CONDITIONS;
|
|
pub use resolution::REQUIRE_CONDITIONS;
|