summaryrefslogtreecommitdiff
path: root/cli/lsp/documents.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lsp/documents.rs')
-rw-r--r--cli/lsp/documents.rs37
1 files changed, 14 insertions, 23 deletions
diff --git a/cli/lsp/documents.rs b/cli/lsp/documents.rs
index 14c01d13b..30f419249 100644
--- a/cli/lsp/documents.rs
+++ b/cli/lsp/documents.rs
@@ -17,9 +17,7 @@ use crate::file_fetcher::get_source_from_bytes;
use crate::file_fetcher::get_source_from_data_url;
use crate::file_fetcher::map_content_type;
use crate::lsp::logging::lsp_warn;
-use crate::npm::CliNpmRegistryApi;
-use crate::npm::NpmResolution;
-use crate::npm::PackageJsonDepsInstaller;
+use crate::npm::CliNpmResolver;
use crate::resolver::CliGraphResolver;
use crate::resolver::CliGraphResolverOptions;
use crate::util::glob;
@@ -860,8 +858,7 @@ pub struct UpdateDocumentConfigOptions<'a> {
pub maybe_import_map: Option<Arc<import_map::ImportMap>>,
pub maybe_config_file: Option<&'a ConfigFile>,
pub maybe_package_json: Option<&'a PackageJson>,
- pub npm_registry_api: Arc<CliNpmRegistryApi>,
- pub npm_resolution: Arc<NpmResolution>,
+ pub npm_resolver: Option<Arc<dyn CliNpmResolver>>,
}
/// Specify the documents to include on a `documents.documents(...)` call.
@@ -917,7 +914,15 @@ impl Documents {
file_system_docs: Default::default(),
resolver_config_hash: 0,
imports: Default::default(),
- resolver: Default::default(),
+ resolver: Arc::new(CliGraphResolver::new(
+ None,
+ Arc::new(PackageJsonDepsProvider::default()),
+ CliGraphResolverOptions {
+ maybe_jsx_import_source_config: None,
+ maybe_import_map: None,
+ maybe_vendor_dir: None,
+ },
+ )),
npm_specifier_reqs: Default::default(),
has_injected_types_node_package: false,
specifier_resolver: Arc::new(SpecifierResolver::new(cache)),
@@ -1293,12 +1298,9 @@ impl Documents {
);
let deps_provider =
Arc::new(PackageJsonDepsProvider::new(maybe_package_json_deps));
- let deps_installer = Arc::new(PackageJsonDepsInstaller::no_op());
self.resolver = Arc::new(CliGraphResolver::new(
- options.npm_registry_api,
- options.npm_resolution,
+ options.npm_resolver,
deps_provider,
- deps_installer,
CliGraphResolverOptions {
maybe_jsx_import_source_config: maybe_jsx_config,
maybe_import_map: options.maybe_import_map,
@@ -1306,7 +1308,6 @@ impl Documents {
.maybe_config_file
.and_then(|c| c.vendor_dir_path())
.as_ref(),
- no_npm: false,
},
));
self.imports = Arc::new(
@@ -1938,7 +1939,6 @@ fn sort_and_remove_non_leaf_dirs(mut dirs: Vec<PathBuf>) -> Vec<PathBuf> {
mod tests {
use crate::cache::GlobalHttpCache;
use crate::cache::RealDenoCacheEnv;
- use crate::npm::NpmResolution;
use super::*;
use import_map::ImportMap;
@@ -2046,13 +2046,6 @@ console.log(b, "hello deno");
#[test]
fn test_documents_refresh_dependencies_config_change() {
- let npm_registry_api = Arc::new(CliNpmRegistryApi::new_uninitialized());
- let npm_resolution = Arc::new(NpmResolution::from_serialized(
- npm_registry_api.clone(),
- None,
- None,
- ));
-
// it should never happen that a user of this API causes this to happen,
// but we'll guard against it anyway
let temp_dir = TempDir::new();
@@ -2089,8 +2082,7 @@ console.log(b, "hello deno");
maybe_import_map: Some(Arc::new(import_map)),
maybe_config_file: None,
maybe_package_json: None,
- npm_registry_api: npm_registry_api.clone(),
- npm_resolution: npm_resolution.clone(),
+ npm_resolver: None,
});
// open the document
@@ -2131,8 +2123,7 @@ console.log(b, "hello deno");
maybe_import_map: Some(Arc::new(import_map)),
maybe_config_file: None,
maybe_package_json: None,
- npm_registry_api,
- npm_resolution,
+ npm_resolver: None,
});
// check the document's dependencies