summaryrefslogtreecommitdiff
path: root/cli/proc_state.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2022-01-13 18:17:56 -0500
committerGitHub <noreply@github.com>2022-01-13 18:17:56 -0500
commiteda6e58520276786bd87e411d0284eb56d9686a6 (patch)
tree1e60511f3e0425a15490acccab23fe87a013f075 /cli/proc_state.rs
parent9975ede773f5bf2f7f121ba2f3354592ed3be520 (diff)
refactor: upgrade to import_map v0.6 (#13368)
Diffstat (limited to 'cli/proc_state.rs')
-rw-r--r--cli/proc_state.rs22
1 files changed, 21 insertions, 1 deletions
diff --git a/cli/proc_state.rs b/cli/proc_state.rs
index 253878872..6e8507810 100644
--- a/cli/proc_state.rs
+++ b/cli/proc_state.rs
@@ -51,6 +51,7 @@ use deno_runtime::deno_web::BlobStore;
use deno_runtime::inspector_server::InspectorServer;
use deno_runtime::permissions::Permissions;
use import_map::ImportMap;
+use log::warn;
use std::collections::HashSet;
use std::env;
use std::fs::File;
@@ -230,7 +231,7 @@ impl ProcState {
import_map_specifier
))?;
let import_map =
- ImportMap::from_json(import_map_specifier.as_str(), &file.source)?;
+ import_map_from_text(&import_map_specifier, &file.source)?;
Some(Arc::new(import_map))
}
};
@@ -676,6 +677,25 @@ impl SourceMapGetter for ProcState {
}
}
+pub fn import_map_from_text(
+ specifier: &Url,
+ json_text: &str,
+) -> Result<ImportMap, AnyError> {
+ let result = ImportMap::from_json_with_diagnostics(specifier, json_text)?;
+ if !result.diagnostics.is_empty() {
+ warn!(
+ "Import map diagnostics:\n{}",
+ result
+ .diagnostics
+ .into_iter()
+ .map(|d| format!(" - {}", d))
+ .collect::<Vec<_>>()
+ .join("\n")
+ )
+ }
+ Ok(result.import_map)
+}
+
fn source_map_from_code(code: String) -> Option<Vec<u8>> {
let lines: Vec<&str> = code.split('\n').collect();
if let Some(last_line) = lines.last() {