summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/lockfile.rs9
-rw-r--r--cli/tests/integration/run_tests.rs6
-rw-r--r--cli/tests/testdata/run/lock_only_http_and_https/b.ts3
-rw-r--r--cli/tests/testdata/run/lock_only_http_and_https/deno.lock7
-rw-r--r--cli/tests/testdata/run/lock_only_http_and_https/main.out5
-rw-r--r--cli/tests/testdata/run/lock_only_http_and_https/main.ts6
6 files changed, 30 insertions, 6 deletions
diff --git a/cli/lockfile.rs b/cli/lockfile.rs
index cdb40c530..d9d0c6d85 100644
--- a/cli/lockfile.rs
+++ b/cli/lockfile.rs
@@ -222,6 +222,9 @@ impl Lockfile {
specifier: &str,
code: &str,
) -> bool {
+ if !(specifier.starts_with("http:") || specifier.starts_with("https:")) {
+ return true;
+ }
if self.overwrite {
// In case --lock-write is specified check always passes
self.insert(specifier, code);
@@ -247,9 +250,6 @@ impl Lockfile {
/// Checks the given module is included, if so verify the checksum. If module
/// is not included, insert it.
fn check_or_insert(&mut self, specifier: &str, code: &str) -> bool {
- if specifier.starts_with("file:") {
- return true;
- }
if let Some(lockfile_checksum) = self.content.remote.get(specifier) {
let compiled_checksum = crate::checksum::gen(&[code.as_bytes()]);
lockfile_checksum == &compiled_checksum
@@ -260,9 +260,6 @@ impl Lockfile {
}
fn insert(&mut self, specifier: &str, code: &str) {
- if specifier.starts_with("file:") {
- return;
- }
let checksum = crate::checksum::gen(&[code.as_bytes()]);
self.content.remote.insert(specifier.to_string(), checksum);
self.has_content_changed = true;
diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs
index 8265d54ec..70d4f5d92 100644
--- a/cli/tests/integration/run_tests.rs
+++ b/cli/tests/integration/run_tests.rs
@@ -686,6 +686,12 @@ itest!(lock_v2_check_err2 {
http_server: true,
});
+itest!(lock_only_http_and_https {
+ args: "run --lock=run/lock_only_http_and_https/deno.lock run/lock_only_http_and_https/main.ts",
+ output: "run/lock_only_http_and_https/main.out",
+ http_server: true,
+});
+
itest!(mts_dmts_mjs {
args: "run subdir/import.mts",
output: "run/mts_dmts_mjs.out",
diff --git a/cli/tests/testdata/run/lock_only_http_and_https/b.ts b/cli/tests/testdata/run/lock_only_http_and_https/b.ts
new file mode 100644
index 000000000..3bf5ac26a
--- /dev/null
+++ b/cli/tests/testdata/run/lock_only_http_and_https/b.ts
@@ -0,0 +1,3 @@
+export function b() {
+ return "b";
+}
diff --git a/cli/tests/testdata/run/lock_only_http_and_https/deno.lock b/cli/tests/testdata/run/lock_only_http_and_https/deno.lock
new file mode 100644
index 000000000..695926fd5
--- /dev/null
+++ b/cli/tests/testdata/run/lock_only_http_and_https/deno.lock
@@ -0,0 +1,7 @@
+{
+ "version": "2",
+ "remote": {
+ "http://127.0.0.1:4545/run/003_relative_import.ts": "a1572e8fd2c2712b33f04aed2561505b5feb2c8696f1f2cded3de7127931b97e",
+ "http://127.0.0.1:4545/subdir/print_hello.ts": "fa6692c8f9ff3fb107e773c3ece5274e9d08be282867a1e3ded1d9c00fcaa63c"
+ }
+}
diff --git a/cli/tests/testdata/run/lock_only_http_and_https/main.out b/cli/tests/testdata/run/lock_only_http_and_https/main.out
new file mode 100644
index 000000000..cc47b50f3
--- /dev/null
+++ b/cli/tests/testdata/run/lock_only_http_and_https/main.out
@@ -0,0 +1,5 @@
+Download http://127.0.0.1:4545/run/003_relative_import.ts
+Download http://127.0.0.1:4545/subdir/print_hello.ts
+Hello
+[Function: a]
+[Function: b]
diff --git a/cli/tests/testdata/run/lock_only_http_and_https/main.ts b/cli/tests/testdata/run/lock_only_http_and_https/main.ts
new file mode 100644
index 000000000..879e825ed
--- /dev/null
+++ b/cli/tests/testdata/run/lock_only_http_and_https/main.ts
@@ -0,0 +1,6 @@
+import "http://127.0.0.1:4545/run/003_relative_import.ts";
+import { a } from "data:application/typescript;base64,ZW51bSBBIHsKICBBLAogIEIsCiAgQywKIH0KIAogZXhwb3J0IGZ1bmN0aW9uIGEoKSB7CiAgIHRocm93IG5ldyBFcnJvcihgSGVsbG8gJHtBLkN9YCk7CiB9CiA=";
+import { b } from "./b.ts";
+
+console.log(a);
+console.log(b);