feat(install): seed deno.lock from package-lock.json (#35330)
commit 150d784 ↗ · denoland/deno · · committed Jun 19, 2026 · +581−1 · base bf3e0bc21018
Agent prompt
what a new run launched now would send
Projects migrating from npm often have a package-lock.json but no deno.lock. Today, the first local `deno install` in that situation starts from an empty lockfile and can drop the versions and integrity hashes already pinned in the npm lockfile.
Make local `deno install` seed resolution from a sibling package-lock.json (lockfileVersion 2 or 3) when no deno.lock exists yet, writing a deno.lock v5 that preserves those pinned npm versions and integrity hashes. Other commands must keep their current behavior of starting from an empty lockfile when deno.lock is absent.
Translation must handle scoped packages, nested node_modules resolution, optional/peer dependencies, and OS/CPU constraints. Skip workspace links, file/git/http (and similar non-registry) deps, and packages without integrity. If the npm lockfile is missing or unusable, fall back to an empty deno.lock without failing the install.
Work only inside this repository checkout. Make the code change the task
describes, keeping the diff focused — no drive-by refactors.
When you are done, leave your changes committed or in the working tree;
they are collected automatically.
Stay on this snapshot checkout (`task/ycb_deno_c150d784e94e1`). Never checkout, pull, or rebase onto `main`. That branch is a README-only orphan.
Stay on this HEAD. Do not fetch another default branch. Push only on the Cursor-created `crazy-cursor/…` side branch from this HEAD.
Some past runs of this task were launched with a different prompt (the prompt template changed since, or those runs predate this benchmark's stored prompt). Each run persists the exact prompt it sent at launch — that per-launch record is the audit trail; this page shows only the current one.
Reference diff
The task commit's diff against its first parent — the judge's comparison target.