setup-deno's built-in cache stores fetched JSR/npm modules and compiled dependencies across runs. Keying on the lockfile hash invalidates the cache only when dependencies change.