summaryrefslogtreecommitdiff
path: root/cli/module_graph.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/module_graph.rs')
-rw-r--r--cli/module_graph.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/cli/module_graph.rs b/cli/module_graph.rs
index b5bde1a19..24a20fa43 100644
--- a/cli/module_graph.rs
+++ b/cli/module_graph.rs
@@ -1,5 +1,5 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-
+use crate::checksum;
use crate::doc::Location;
use crate::file_fetcher::map_file_extension;
use crate::file_fetcher::SourceFile;
@@ -13,6 +13,7 @@ use crate::tsc::ImportDesc;
use crate::tsc::TsReferenceDesc;
use crate::tsc::TsReferenceKind;
use crate::tsc::AVAILABLE_LIBS;
+use crate::version;
use deno_core::ErrBox;
use deno_core::ModuleSpecifier;
use futures::stream::FuturesUnordered;
@@ -228,6 +229,7 @@ pub struct ModuleGraphFile {
pub url: String,
pub redirect: Option<String>,
pub filename: String,
+ pub version_hash: String,
pub imports: Vec<ImportDescriptor>,
pub referenced_files: Vec<ReferenceDescriptor>,
pub lib_directives: Vec<ReferenceDescriptor>,
@@ -369,6 +371,7 @@ impl ModuleGraphLoader {
specifier: specifier.to_string(),
url: specifier.to_string(),
redirect: None,
+ version_hash: "".to_string(),
media_type: map_file_extension(&PathBuf::from(specifier.clone())),
filename: specifier,
source_code,
@@ -454,6 +457,10 @@ impl ModuleGraphLoader {
url: module_specifier.to_string(),
redirect: Some(source_file.url.to_string()),
filename: source_file.filename.to_str().unwrap().to_string(),
+ version_hash: checksum::gen(vec![
+ &source_file.source_code,
+ version::DENO.as_bytes(),
+ ]),
media_type: source_file.media_type,
source_code: "".to_string(),
imports: vec![],
@@ -466,6 +473,8 @@ impl ModuleGraphLoader {
}
let module_specifier = ModuleSpecifier::from(source_file.url.clone());
+ let version_hash =
+ checksum::gen(vec![&source_file.source_code, version::DENO.as_bytes()]);
let source_code = String::from_utf8(source_file.source_code)?;
if SUPPORTED_MEDIA_TYPES.contains(&source_file.media_type) {
@@ -553,6 +562,7 @@ impl ModuleGraphLoader {
specifier: module_specifier.to_string(),
url: module_specifier.to_string(),
redirect: None,
+ version_hash,
filename: source_file.filename.to_str().unwrap().to_string(),
media_type: source_file.media_type,
source_code,