diff options
author | Kitson Kelly <me@kitsonkelly.com> | 2022-08-10 07:27:22 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-10 07:27:22 +1000 |
commit | 1c2ec1f48f2cf9255f0a43f2ec3d15aeee081b33 (patch) | |
tree | ed4d58c05b5f4ed9b19a8e3ae5f840740c7e0988 /cli/graph_util.rs | |
parent | 1f54d877895ea25258a941818f07c6e84d44a7a2 (diff) |
fix: update deno_graph to fix importing config as JSON module (#15388)
Ref: denoland/deno_graph#166
Diffstat (limited to 'cli/graph_util.rs')
-rw-r--r-- | cli/graph_util.rs | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/cli/graph_util.rs b/cli/graph_util.rs index 4f9c66138..7be2864be 100644 --- a/cli/graph_util.rs +++ b/cli/graph_util.rs @@ -70,6 +70,27 @@ pub struct GraphData { impl GraphData { /// Store data from `graph` into `self`. pub fn add_graph(&mut self, graph: &ModuleGraph, reload: bool) { + for graph_import in &graph.imports { + let mut dependencies = BTreeMap::new(); + for (specifier, dependency) in &graph_import.dependencies { + if !matches!(dependency.maybe_type, Resolved::None) { + dependencies.insert(specifier.clone(), dependency.maybe_type.clone()); + if let Resolved::Ok { + specifier, range, .. + } = &dependency.maybe_type + { + let entry = self.referrer_map.entry(specifier.clone()); + entry.or_insert_with(|| range.clone()); + } + } + } + self.modules.insert( + graph_import.referrer.clone(), + ModuleEntry::Configuration { dependencies }, + ); + self.configurations.insert(graph_import.referrer.clone()); + } + for (specifier, result) in graph.specifiers() { if !reload && self.modules.contains_key(&specifier) { continue; @@ -82,27 +103,6 @@ impl GraphData { match result { Ok((_, _, media_type)) => { let module = graph.get(&specifier).unwrap(); - if module.kind == ModuleKind::Synthetic { - let mut dependencies = BTreeMap::new(); - for (specifier, dependency) in &module.dependencies { - if !matches!(dependency.maybe_type, Resolved::None) { - dependencies - .insert(specifier.clone(), dependency.maybe_type.clone()); - if let Resolved::Ok { - specifier, range, .. - } = &dependency.maybe_type - { - let entry = self.referrer_map.entry(specifier.clone()); - entry.or_insert_with(|| range.clone()); - } - } - } - self.modules.insert( - module.specifier.clone(), - ModuleEntry::Configuration { dependencies }, - ); - self.configurations.insert(module.specifier.clone()); - } let code = match &module.maybe_source { Some(source) => source.clone(), None => continue, |