From 5de30c53239ac74843725d981afc0bb8c45bdf16 Mon Sep 17 00:00:00 2001 From: Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com> Date: Thu, 23 May 2024 12:31:05 -0700 Subject: fix(cli): Support deno.lock with only package.json present + fix DENO_FUTURE install interactions with lockfile (#23918) Fixes #23571. Previously, we required a `deno.json` to be present (or the `--lock` flag) in order for us to resolve a `deno.lock` file. This meant that if you were using deno in an npm-first project deno wouldn't use a lockfile. Additionally, while I was fixing that, I discovered there were a couple bugs keeping the future `install` command from using a lockfile. With this PR, `install` will actually resolve the lockfile (or create one if not present), and update it if it's not up-to-date. This also speeds up `deno install`, as we can use the lockfile to skip work during npm resolution. --- cli/args/mod.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'cli/args/mod.rs') diff --git a/cli/args/mod.rs b/cli/args/mod.rs index b3d508e18..03a6357aa 100644 --- a/cli/args/mod.rs +++ b/cli/args/mod.rs @@ -852,8 +852,11 @@ impl CliOptions { maybe_package_json = discover_package_json(&flags, None, &initial_cwd)?; } - let maybe_lock_file = - lockfile::discover(&flags, maybe_config_file.as_ref())?; + let maybe_lock_file = lockfile::discover( + &flags, + maybe_config_file.as_ref(), + maybe_package_json.as_ref(), + )?; Self::new( flags, initial_cwd, -- cgit v1.2.3