From c6c8c91a6e4b7a2b6eed02d3e2f5db25c124d9a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Wed, 25 Jan 2023 21:13:40 +0100 Subject: feat: embed import map in the config file (#17478) This commit changes handling of config file to enable specifying "imports" and "scopes" objects effectively making the configuration file an import map. "imports" and "scopes" take precedence over "importMap" configuration, but have lower priority than "--importmap" CLI flag. Co-authored-by: David Sherret Co-authored-by: David Sherret --- cli/tools/standalone.rs | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) (limited to 'cli/tools') diff --git a/cli/tools/standalone.rs b/cli/tools/standalone.rs index 8b99b8874..60d77d586 100644 --- a/cli/tools/standalone.rs +++ b/cli/tools/standalone.rs @@ -19,10 +19,8 @@ use deno_core::error::generic_error; use deno_core::error::AnyError; use deno_core::resolve_url_or_path; use deno_core::serde_json; -use deno_core::url::Url; use deno_graph::ModuleSpecifier; use deno_runtime::colors; -use deno_runtime::permissions::PermissionsContainer; use std::env; use std::fs; use std::fs::File; @@ -166,22 +164,11 @@ async fn create_standalone_binary( Some(CaData::Bytes(bytes)) => Some(bytes.clone()), None => None, }; - let maybe_import_map: Option<(Url, String)> = - match ps.options.resolve_import_map_specifier()? { - None => None, - Some(import_map_specifier) => { - let file = ps - .file_fetcher - .fetch(&import_map_specifier, PermissionsContainer::allow_all()) - .await - .context(format!( - "Unable to load '{}' import map", - import_map_specifier - ))?; - - Some((import_map_specifier, file.source.to_string())) - } - }; + let maybe_import_map = ps + .options + .resolve_import_map(&ps.file_fetcher) + .await? + .map(|import_map| (import_map.base_url().clone(), import_map.to_json())); let metadata = Metadata { argv: compile_flags.args.clone(), unstable: ps.options.unstable(), -- cgit v1.2.3