summaryrefslogtreecommitdiff
path: root/cli/standalone/mod.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-01-31 22:15:22 -0500
committerGitHub <noreply@github.com>2024-02-01 03:15:22 +0000
commit4b7c6049ef9d40394eb823859c82cbf8d293430d (patch)
tree61e6de7c69c9d00faeef0ff7e6c223224a53de9e /cli/standalone/mod.rs
parent830d096b66696ad9f4e67b3ed8460fb1ff7a9170 (diff)
refactor: load bytes in deno_graph (#22212)
Upgrades deno_graph to 0.64 where deno_graph is now responsible for turning bytes into a string. This is in preparation for Wasm modules.
Diffstat (limited to 'cli/standalone/mod.rs')
-rw-r--r--cli/standalone/mod.rs17
1 files changed, 13 insertions, 4 deletions
diff --git a/cli/standalone/mod.rs b/cli/standalone/mod.rs
index 0175b9c11..4049d6709 100644
--- a/cli/standalone/mod.rs
+++ b/cli/standalone/mod.rs
@@ -9,7 +9,6 @@ use crate::args::StorageKeyResolver;
use crate::cache::Caches;
use crate::cache::DenoDirProvider;
use crate::cache::NodeAnalysisCache;
-use crate::file_fetcher::get_source_from_data_url;
use crate::http_util::HttpClient;
use crate::node::CliCjsCodeAnalyzer;
use crate::npm::create_cli_npm_resolver;
@@ -150,12 +149,22 @@ impl ModuleLoader for EmbeddedModuleLoader {
is_dynamic: bool,
_requested_module_type: RequestedModuleType,
) -> deno_core::ModuleLoadResponse {
- let is_data_uri = get_source_from_data_url(original_specifier).ok();
- if let Some((source, _)) = is_data_uri {
+ if original_specifier.scheme() == "data" {
+ let data_url_text =
+ match deno_graph::source::RawDataUrl::parse(original_specifier)
+ .and_then(|url| url.decode().map_err(|err| err.into()))
+ {
+ Ok(response) => response,
+ Err(err) => {
+ return deno_core::ModuleLoadResponse::Sync(Err(type_error(
+ format!("{:#}", err),
+ )));
+ }
+ };
return deno_core::ModuleLoadResponse::Sync(Ok(
deno_core::ModuleSource::new(
deno_core::ModuleType::JavaScript,
- ModuleSourceCode::String(source.into()),
+ ModuleSourceCode::String(data_url_text.into()),
original_specifier,
),
));