summaryrefslogtreecommitdiff
path: root/cli/proc_state.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2022-09-13 11:59:01 -0400
committerGitHub <noreply@github.com>2022-09-13 11:59:01 -0400
commit73efed218fe94ab27e89675ee238e2933b3fd4d1 (patch)
tree6961287971d127599a90a348bb6a9bc6256f7cd9 /cli/proc_state.rs
parent51ba4764d1ca089eb65d333eb8797e064ac4c550 (diff)
refactor(npm): create general use `NpmPackageResolver` (#15882)
Diffstat (limited to 'cli/proc_state.rs')
-rw-r--r--cli/proc_state.rs24
1 files changed, 18 insertions, 6 deletions
diff --git a/cli/proc_state.rs b/cli/proc_state.rs
index f19132c8b..2d2c3a76d 100644
--- a/cli/proc_state.rs
+++ b/cli/proc_state.rs
@@ -22,9 +22,10 @@ use crate::lockfile::as_maybe_locker;
use crate::lockfile::Lockfile;
use crate::node;
use crate::node::NodeResolution;
-use crate::npm::GlobalNpmPackageResolver;
+use crate::npm::NpmCache;
use crate::npm::NpmPackageReference;
use crate::npm::NpmPackageResolver;
+use crate::npm::NpmRegistryApi;
use crate::progress_bar::ProgressBar;
use crate::resolver::ImportMapResolver;
use crate::resolver::JsxResolver;
@@ -87,7 +88,8 @@ pub struct Inner {
pub parsed_source_cache: ParsedSourceCache,
maybe_resolver: Option<Arc<dyn deno_graph::source::Resolver + Send + Sync>>,
maybe_file_watcher_reporter: Option<FileWatcherReporter>,
- pub npm_resolver: GlobalNpmPackageResolver,
+ pub npm_cache: NpmCache,
+ pub npm_resolver: NpmPackageResolver,
pub cjs_resolutions: Mutex<HashSet<ModuleSpecifier>>,
progress_bar: ProgressBar,
}
@@ -220,15 +222,26 @@ impl ProcState {
let emit_cache = EmitCache::new(dir.gen_cache.clone());
let parsed_source_cache =
ParsedSourceCache::new(Some(dir.dep_analysis_db_file_path()));
- let npm_resolver = GlobalNpmPackageResolver::from_deno_dir(
+ let registry_url = NpmRegistryApi::default_url();
+ let npm_cache = NpmCache::from_deno_dir(
&dir,
+ cli_options.cache_setting(),
+ progress_bar.clone(),
+ );
+ let api = NpmRegistryApi::new(
+ registry_url,
+ npm_cache.clone(),
cli_options.reload_flag(),
cli_options.cache_setting(),
+ progress_bar.clone(),
+ );
+ let npm_resolver = NpmPackageResolver::new(
+ npm_cache.clone(),
+ api,
cli_options.unstable()
// don't do the unstable error when in the lsp
|| matches!(cli_options.sub_command(), DenoSubcommand::Lsp),
cli_options.no_npm(),
- progress_bar.clone(),
);
let emit_options: deno_ast::EmitOptions = ts_config_result.ts_config.into();
@@ -253,6 +266,7 @@ impl ProcState {
parsed_source_cache,
maybe_resolver,
maybe_file_watcher_reporter,
+ npm_cache,
npm_resolver,
cjs_resolutions: Default::default(),
progress_bar,
@@ -413,7 +427,6 @@ impl ProcState {
.npm_resolver
.add_package_reqs(npm_package_references)
.await?;
- self.npm_resolver.cache_packages().await?;
self.prepare_node_std_graph().await?;
}
@@ -650,7 +663,6 @@ impl ProcState {
}
if !package_reqs.is_empty() {
self.npm_resolver.add_package_reqs(package_reqs).await?;
- self.npm_resolver.cache_packages().await?;
}
Ok(graph)