diff options
Diffstat (limited to 'cli/proc_state.rs')
-rw-r--r-- | cli/proc_state.rs | 24 |
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) |