summaryrefslogtreecommitdiff
path: root/cli/graph_util.rs
diff options
context:
space:
mode:
authorKitson Kelly <me@kitsonkelly.com>2022-08-10 07:27:22 +1000
committerGitHub <noreply@github.com>2022-08-10 07:27:22 +1000
commit1c2ec1f48f2cf9255f0a43f2ec3d15aeee081b33 (patch)
treeed4d58c05b5f4ed9b19a8e3ae5f840740c7e0988 /cli/graph_util.rs
parent1f54d877895ea25258a941818f07c6e84d44a7a2 (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.rs42
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,