summaryrefslogtreecommitdiff
path: root/cli/resolver.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2023-02-15 11:30:54 -0500
committerGitHub <noreply@github.com>2023-02-15 11:30:54 -0500
commitb34e751a5b2193e8ce65203386e00147c08a7a64 (patch)
tree47ad04c90e4df431396185b1e3d15fcd2623a973 /cli/resolver.rs
parentc7535950b6de086fce741809728129c79288dee8 (diff)
refactor: make resolver required (#17783)
Makes the resolver required and prints a warning when vendoring and a dynamic import can't be resolved. Closes #16522
Diffstat (limited to 'cli/resolver.rs')
-rw-r--r--cli/resolver.rs35
1 files changed, 13 insertions, 22 deletions
diff --git a/cli/resolver.rs b/cli/resolver.rs
index 817b5d3b0..11b2d874c 100644
--- a/cli/resolver.rs
+++ b/cli/resolver.rs
@@ -1,7 +1,6 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use deno_core::error::AnyError;
-use deno_core::resolve_import;
use deno_core::ModuleSpecifier;
use deno_graph::source::Resolver;
use deno_graph::source::DEFAULT_JSX_IMPORT_SOURCE_MODULE;
@@ -13,41 +12,33 @@ use crate::args::JsxImportSourceConfig;
/// A resolver that takes care of resolution, taking into account loaded
/// import map, JSX settings.
#[derive(Debug, Clone, Default)]
-pub struct CliResolver {
+pub struct CliGraphResolver {
maybe_import_map: Option<Arc<ImportMap>>,
maybe_default_jsx_import_source: Option<String>,
maybe_jsx_import_source_module: Option<String>,
}
-impl CliResolver {
- pub fn maybe_new(
+impl CliGraphResolver {
+ pub fn new(
maybe_jsx_import_source_config: Option<JsxImportSourceConfig>,
maybe_import_map: Option<Arc<ImportMap>>,
- ) -> Option<Self> {
- if maybe_jsx_import_source_config.is_some() || maybe_import_map.is_some() {
- Some(Self {
- maybe_import_map,
- maybe_default_jsx_import_source: maybe_jsx_import_source_config
- .as_ref()
- .and_then(|c| c.default_specifier.clone()),
- maybe_jsx_import_source_module: maybe_jsx_import_source_config
- .map(|c| c.module),
- })
- } else {
- None
+ ) -> Self {
+ Self {
+ maybe_import_map,
+ maybe_default_jsx_import_source: maybe_jsx_import_source_config
+ .as_ref()
+ .and_then(|c| c.default_specifier.clone()),
+ maybe_jsx_import_source_module: maybe_jsx_import_source_config
+ .map(|c| c.module),
}
}
- pub fn with_import_map(import_map: Arc<ImportMap>) -> Self {
- Self::maybe_new(None, Some(import_map)).unwrap()
- }
-
pub fn as_graph_resolver(&self) -> &dyn Resolver {
self
}
}
-impl Resolver for CliResolver {
+impl Resolver for CliGraphResolver {
fn default_jsx_import_source(&self) -> Option<String> {
self.maybe_default_jsx_import_source.clone()
}
@@ -69,7 +60,7 @@ impl Resolver for CliResolver {
.resolve(specifier, referrer)
.map_err(|err| err.into())
} else {
- resolve_import(specifier, referrer.as_str()).map_err(|err| err.into())
+ deno_graph::resolve_import(specifier, referrer).map_err(|err| err.into())
}
}
}