summaryrefslogtreecommitdiff
path: root/cli/proc_state.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/proc_state.rs')
-rw-r--r--cli/proc_state.rs17
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: {}",