diff options
Diffstat (limited to 'cli/proc_state.rs')
-rw-r--r-- | cli/proc_state.rs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/cli/proc_state.rs b/cli/proc_state.rs index 1a0f61e71..d82f8d017 100644 --- a/cli/proc_state.rs +++ b/cli/proc_state.rs @@ -31,6 +31,7 @@ use deno_core::url::Url; use deno_core::CompiledWasmModuleStore; use deno_core::ModuleSource; use deno_core::ModuleSpecifier; +use deno_core::ModuleType; use deno_core::SharedArrayBufferStore; use deno_graph::create_graph; use deno_graph::Dependency; @@ -68,6 +69,7 @@ pub struct ProcState(Arc<Inner>); enum ModuleEntry { Module { code: String, + media_type: MediaType, dependencies: BTreeMap<String, Dependency>, }, Error(ModuleGraphError), @@ -584,6 +586,7 @@ impl ProcState { | MediaType::Unknown | MediaType::Cjs | MediaType::Mjs + | MediaType::Json ) { module.maybe_source().unwrap_or("").to_string() // The emit may also be missing when a declaration file is in the @@ -602,7 +605,11 @@ impl ProcState { module.maybe_dependencies().cloned().unwrap_or_default(); graph_data.modules.insert( specifier.clone(), - ModuleEntry::Module { code, dependencies }, + ModuleEntry::Module { + code, + dependencies, + media_type: *media_type, + }, ); if let Some(dependencies) = module.maybe_dependencies() { for dep in dependencies.values() { @@ -724,10 +731,16 @@ impl ProcState { _ => &specifier, }; match graph_data.modules.get(found_specifier) { - Some(ModuleEntry::Module { code, .. }) => Ok(ModuleSource { + Some(ModuleEntry::Module { + code, media_type, .. + }) => Ok(ModuleSource { code: code.clone(), module_url_specified: specifier.to_string(), module_url_found: found_specifier.to_string(), + module_type: match media_type { + MediaType::Json => ModuleType::Json, + _ => ModuleType::JavaScript, + }, }), _ => Err(anyhow!( "Loading unprepared module: {}", |