test: add+correct test cases involving file: tarballs
diff --git a/e2e/pnpm_lockfiles/base/aliases-test.js b/e2e/pnpm_lockfiles/base/aliases-test.js
index d71a57d..4188636 100644
--- a/e2e/pnpm_lockfiles/base/aliases-test.js
+++ b/e2e/pnpm_lockfiles/base/aliases-test.js
@@ -61,4 +61,9 @@
 require('alias-only-sizzle/package.json')
 
 // lodash file: reference
-require('lodash')
+const lodashPackageJson = require('lodash/package.json')
+if (lodashPackageJson.version !== '4.17.21') {
+    throw new Error(
+        `lodash aliased to file: should be version 4.17.21, got ${lodashPackageJson.version}`
+    )
+}
diff --git a/e2e/pnpm_lockfiles/lockfile-test.bzl b/e2e/pnpm_lockfiles/lockfile-test.bzl
index ea05f7c..19a4587 100644
--- a/e2e/pnpm_lockfiles/lockfile-test.bzl
+++ b/e2e/pnpm_lockfiles/lockfile-test.bzl
@@ -131,17 +131,30 @@
             # a package with various `npm:` cases
             ":node_modules/@isaacs/cliui",
 
+            # cases involving peer deps
+            ":node_modules/test-c200-d200",
+            ":node_modules/test-c201-d200",
+            ":node_modules/test-peer-types",
+            ":.aspect_rules_js/node_modules/test-c200-d200@0.0.0",
+            ":.aspect_rules_js/node_modules/test-c201-d200@0.0.0",
+
             # link:, workspace:, file:, ./rel/path
             ":node_modules/@scoped",  # target for the scope
             ":node_modules/@scoped/a",
             ":node_modules/@scoped/b",
             ":node_modules/@scoped/c",
             ":node_modules/@scoped/d",
-            ":node_modules/test-c200-d200",
-            ":node_modules/test-c201-d200",
-            ":node_modules/test-peer-types",
             ":node_modules/scoped/bad",
+            ":.aspect_rules_js/node_modules/@scoped+a@0.0.0",
+            ":.aspect_rules_js/node_modules/@scoped+b@0.0.0",
+            ":.aspect_rules_js/node_modules/@scoped+c@0.0.0",
+            ":.aspect_rules_js/node_modules/@scoped+d@0.0.0",
+            ":.aspect_rules_js/node_modules/scoped+bad@0.0.0",
+
+            # file: tarbals
             ":node_modules/lodash",
+            ":.aspect_rules_js/node_modules/lodash@0.0.0",
+            ":.aspect_rules_js/node_modules/lodash@0.0.0/dir",
 
             # Packages involving overrides
             ":node_modules/is-odd",
@@ -195,16 +208,6 @@
             ":.aspect_rules_js/node_modules/@aspect-test+c@2.0.2/lc",
             ":.aspect_rules_js/node_modules/@aspect-test+c@2.0.2/pkg_lc",
 
-            # link:, workspace:, file:, ./rel/path
-            ":.aspect_rules_js/node_modules/@scoped+a@0.0.0",
-            ":.aspect_rules_js/node_modules/@scoped+b@0.0.0",
-            ":.aspect_rules_js/node_modules/@scoped+c@0.0.0",
-            ":.aspect_rules_js/node_modules/@scoped+d@0.0.0",
-            ":.aspect_rules_js/node_modules/test-c200-d200@0.0.0",
-            ":.aspect_rules_js/node_modules/test-c201-d200@0.0.0",
-            ":.aspect_rules_js/node_modules/lodash@4.17.21",
-            ":.aspect_rules_js/node_modules/lodash@4.17.21/dir",
-
             # Patched dependencies
             ":.aspect_rules_js/node_modules/meaning-of-life@1.0.0_%s" % ("1541309197" if lock_version == "v101" else "o3deharooos255qt5xdujc3cuq"),
             "@%s__meaning-of-life__1.0.0_%s//:pkg" % (lock_repo, "1541309197" if lock_version == "v101" else "o3deharooos255qt5xdujc3cuq"),
diff --git a/e2e/pnpm_lockfiles/projects/alts/package.json b/e2e/pnpm_lockfiles/projects/alts/package.json
index 71b1ce5..0d91559 100644
--- a/e2e/pnpm_lockfiles/projects/alts/package.json
+++ b/e2e/pnpm_lockfiles/projects/alts/package.json
@@ -1,8 +1,9 @@
 {
     "name": "alternate-versions",
     "dependencies": {
-        "lodash": "4.17.21",
-        "lodash-dupe": "npm:lodash@4.17.21",
-        "lodash-file": "file:../../vendored/lodash-4.17.21.tgz"
+        "lodash": "4.0.1",
+        "lodash-4.17.20": "npm:lodash@4.17.20",
+        "lodash-4.17.21": "npm:lodash@4.17.21",
+        "lodash-4.17.21-file": "file:../../vendored/lodash-4.17.21.tgz"
     }
 }
diff --git a/e2e/pnpm_lockfiles/v101/pnpm-lock.yaml b/e2e/pnpm_lockfiles/v101/pnpm-lock.yaml
index 51e6906..097d314 100644
--- a/e2e/pnpm_lockfiles/v101/pnpm-lock.yaml
+++ b/e2e/pnpm_lockfiles/v101/pnpm-lock.yaml
@@ -163,12 +163,15 @@
   ../projects/alts:
     dependencies:
       lodash:
-        specifier: 4.17.21
-        version: 4.17.21
-      lodash-dupe:
+        specifier: 4.0.1
+        version: 4.0.1
+      lodash-4.17.20:
+        specifier: npm:lodash@4.17.20
+        version: lodash@4.17.20
+      lodash-4.17.21:
         specifier: npm:lodash@4.17.21
         version: lodash@4.17.21
-      lodash-file:
+      lodash-4.17.21-file:
         specifier: file:../../vendored/lodash-4.17.21.tgz
         version: lodash@file:../vendored/lodash-4.17.21.tgz
 
@@ -326,16 +329,16 @@
     resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
     engines: {node: '>=8'}
 
-  ansi-regex@6.2.0:
-    resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==}
+  ansi-regex@6.2.2:
+    resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
     engines: {node: '>=12'}
 
   ansi-styles@4.3.0:
     resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
     engines: {node: '>=8'}
 
-  ansi-styles@6.2.1:
-    resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+  ansi-styles@6.2.3:
+    resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
     engines: {node: '>=12'}
 
   color-convert@2.0.1:
@@ -434,6 +437,12 @@
     resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
     engines: {node: '>=6'}
 
+  lodash@4.0.1:
+    resolution: {integrity: sha512-jA3EFncTLSpNOJLgZUlI7Xrsg3t/DYbgPuRVD1qbLoyUXgzUEvB0EpJimh+WBM6CUNtAyKJ1CVPD+7wE+LrraQ==}
+
+  lodash@4.17.20:
+    resolution: {integrity: sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==}
+
   lodash@4.17.21:
     resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
 
@@ -458,8 +467,8 @@
     resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
     engines: {node: '>=8.6'}
 
-  resolve@1.22.10:
-    resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+  resolve@1.22.11:
+    resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
     engines: {node: '>= 0.4'}
     hasBin: true
 
@@ -489,8 +498,8 @@
     resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
     engines: {node: '>=8'}
 
-  strip-ansi@7.1.0:
-    resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+  strip-ansi@7.1.2:
+    resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
     engines: {node: '>=12'}
 
   supports-preserve-symlinks-flag@1.0.0:
@@ -564,7 +573,7 @@
     dependencies:
       string-width: 5.1.2
       string-width-cjs: string-width@4.2.3
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
       strip-ansi-cjs: strip-ansi@6.0.1
       wrap-ansi: 8.1.0
       wrap-ansi-cjs: wrap-ansi@7.0.0
@@ -572,7 +581,7 @@
   '@rollup/plugin-typescript@8.2.1(rollup@2.14.0)(tslib@2.8.1)(typescript@5.5.2)':
     dependencies:
       '@rollup/pluginutils': 3.1.0(rollup@2.14.0)
-      resolve: 1.22.10
+      resolve: 1.22.11
       rollup: 2.14.0
       tslib: 2.8.1
       typescript: 5.5.2
@@ -610,13 +619,13 @@
 
   ansi-regex@5.0.1: {}
 
-  ansi-regex@6.2.0: {}
+  ansi-regex@6.2.2: {}
 
   ansi-styles@4.3.0:
     dependencies:
       color-convert: 2.0.1
 
-  ansi-styles@6.2.1: {}
+  ansi-styles@6.2.3: {}
 
   color-convert@2.0.1:
     dependencies:
@@ -685,6 +694,10 @@
 
   kleur@4.1.5: {}
 
+  lodash@4.0.1: {}
+
+  lodash@4.17.20: {}
+
   lodash@4.17.21: {}
 
   lodash@file:../vendored/lodash-4.17.21.tgz: {}
@@ -699,7 +712,7 @@
 
   picomatch@2.3.1: {}
 
-  resolve@1.22.10:
+  resolve@1.22.11:
     dependencies:
       is-core-module: 2.16.1
       path-parse: 1.0.7
@@ -727,15 +740,15 @@
     dependencies:
       eastasianwidth: 0.2.0
       emoji-regex: 9.2.2
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
 
   strip-ansi@6.0.1:
     dependencies:
       ansi-regex: 5.0.1
 
-  strip-ansi@7.1.0:
+  strip-ansi@7.1.2:
     dependencies:
-      ansi-regex: 6.2.0
+      ansi-regex: 6.2.2
 
   supports-preserve-symlinks-flag@1.0.0: {}
 
@@ -760,6 +773,6 @@
 
   wrap-ansi@8.1.0:
     dependencies:
-      ansi-styles: 6.2.1
+      ansi-styles: 6.2.3
       string-width: 5.1.2
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
diff --git a/e2e/pnpm_lockfiles/v101/snapshots/defs.bzl b/e2e/pnpm_lockfiles/v101/snapshots/defs.bzl
index 5415c57..1b43f2f 100644
--- a/e2e/pnpm_lockfiles/v101/snapshots/defs.bzl
+++ b/e2e/pnpm_lockfiles/v101/snapshots/defs.bzl
@@ -1,9 +1,9 @@
 """@generated by npm_translate_lock(name = "lock-<LOCKVERSION>", pnpm_lock = "@@//<LOCKVERSION>:pnpm-lock.yaml")"""
 
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__5.0.1__links//:defs.bzl", store_0 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__6.2.0__links//:defs.bzl", store_1 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__6.2.2__links//:defs.bzl", store_1 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__4.3.0__links//:defs.bzl", store_2 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__6.2.1__links//:defs.bzl", store_3 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__6.2.3__links//:defs.bzl", store_3 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_a__5.0.2__links//:defs.bzl", link_4 = "npm_link_imported_package_store", store_4 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_b__5.0.2__links//:defs.bzl", link_5 = "npm_link_imported_package_store", store_5 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_c__2.0.0__links//:defs.bzl", link_6 = "npm_link_imported_package_store", store_6 = "npm_imported_package_store")
@@ -47,28 +47,30 @@
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__jquery__https___codeload.github.com_jquery_jquery_tar.gz_399b201bb3143a3952894cf3489b4848fc003967__links//:defs.bzl", link_44 = "npm_link_imported_package_store", store_44 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__jquery__https___codeload.github.com_jquery_jquery_tar.gz_e61fccb9d736235b4b011f89cba6866bc0b8997d__links//:defs.bzl", link_45 = "npm_link_imported_package_store", store_45 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__kleur__4.1.5__links//:defs.bzl", store_46 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.21__links//:defs.bzl", link_47 = "npm_link_imported_package_store", store_47 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__file_.._vendored_lodash-4.17.21.tgz__links//:defs.bzl", link_48 = "npm_link_imported_package_store", store_48 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__meaning-of-life__1.0.0_1541309197__links//:defs.bzl", link_49 = "npm_link_imported_package_store", store_49 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__mri__1.2.0__links//:defs.bzl", store_50 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ms__0.7.3__links//:defs.bzl", store_51 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__path-parse__1.0.7__links//:defs.bzl", store_52 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__picomatch__2.3.1__links//:defs.bzl", store_53 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__resolve__1.22.10__links//:defs.bzl", store_54 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__2.14.0__links//:defs.bzl", link_55 = "npm_link_imported_package_store", store_55 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__3.29.4__links//:defs.bzl", link_56 = "npm_link_imported_package_store", store_56 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__sade__1.8.1__links//:defs.bzl", store_57 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__4.2.3__links//:defs.bzl", store_58 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__5.1.2__links//:defs.bzl", store_59 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__6.0.1__links//:defs.bzl", store_60 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__7.1.0__links//:defs.bzl", store_61 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__supports-preserve-symlinks-flag__1.0.0__links//:defs.bzl", store_62 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__tslib__2.8.1__links//:defs.bzl", link_63 = "npm_link_imported_package_store", store_63 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__typescript__5.5.2__links//:defs.bzl", link_64 = "npm_link_imported_package_store", store_64 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__undici-types__5.26.5__links//:defs.bzl", store_65 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__uvu__0.5.6__links//:defs.bzl", link_66 = "npm_link_imported_package_store", store_66 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__7.0.0__links//:defs.bzl", store_67 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__8.1.0__links//:defs.bzl", store_68 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.0.1__links//:defs.bzl", store_47 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.20__links//:defs.bzl", link_48 = "npm_link_imported_package_store", store_48 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.21__links//:defs.bzl", link_49 = "npm_link_imported_package_store", store_49 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__file_.._vendored_lodash-4.17.21.tgz__links//:defs.bzl", link_50 = "npm_link_imported_package_store", store_50 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__meaning-of-life__1.0.0_1541309197__links//:defs.bzl", link_51 = "npm_link_imported_package_store", store_51 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__mri__1.2.0__links//:defs.bzl", store_52 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ms__0.7.3__links//:defs.bzl", store_53 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__path-parse__1.0.7__links//:defs.bzl", store_54 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__picomatch__2.3.1__links//:defs.bzl", store_55 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__resolve__1.22.11__links//:defs.bzl", store_56 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__2.14.0__links//:defs.bzl", link_57 = "npm_link_imported_package_store", store_57 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__3.29.4__links//:defs.bzl", link_58 = "npm_link_imported_package_store", store_58 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__sade__1.8.1__links//:defs.bzl", store_59 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__4.2.3__links//:defs.bzl", store_60 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__5.1.2__links//:defs.bzl", store_61 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__6.0.1__links//:defs.bzl", store_62 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__7.1.2__links//:defs.bzl", store_63 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__supports-preserve-symlinks-flag__1.0.0__links//:defs.bzl", store_64 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__tslib__2.8.1__links//:defs.bzl", link_65 = "npm_link_imported_package_store", store_65 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__typescript__5.5.2__links//:defs.bzl", link_66 = "npm_link_imported_package_store", store_66 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__undici-types__5.26.5__links//:defs.bzl", store_67 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__uvu__0.5.6__links//:defs.bzl", link_68 = "npm_link_imported_package_store", store_68 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__7.0.0__links//:defs.bzl", store_69 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__8.1.0__links//:defs.bzl", store_70 = "npm_imported_package_store")
 
 # buildifier: disable=bzl-visibility
 load("@aspect_rules_js//js:defs.bzl", _js_library = "js_library")
@@ -174,6 +176,8 @@
         store_66(name)
         store_67(name)
         store_68(name)
+        store_69(name)
+        store_70(name)
     if link:
         if bazel_package == "<LOCKVERSION>":
             link_4("{}/@aspect-test-a-bad-scope".format(name), False, name, "@aspect-test-a-bad-scope")
@@ -274,19 +278,19 @@
             link_targets.append(":{}/jquery-git-ssh-399b201".format(name))
             link_45("{}/jquery-git-ssh-e61fccb".format(name), False, name, "jquery-git-ssh-e61fccb")
             link_targets.append(":{}/jquery-git-ssh-e61fccb".format(name))
-            link_48("{}/lodash".format(name), False, name, "lodash")
+            link_50("{}/lodash".format(name), False, name, "lodash")
             link_targets.append(":{}/lodash".format(name))
-            link_49("{}/meaning-of-life".format(name), False, name, "meaning-of-life")
+            link_51("{}/meaning-of-life".format(name), False, name, "meaning-of-life")
             link_targets.append(":{}/meaning-of-life".format(name))
-            link_55("{}/rollup".format(name), False, name, "rollup")
+            link_57("{}/rollup".format(name), False, name, "rollup")
             link_targets.append(":{}/rollup".format(name))
-            link_56("{}/rollup3".format(name), False, name, "rollup3")
+            link_58("{}/rollup3".format(name), False, name, "rollup3")
             link_targets.append(":{}/rollup3".format(name))
-            link_63("{}/tslib".format(name), False, name, "tslib")
+            link_65("{}/tslib".format(name), False, name, "tslib")
             link_targets.append(":{}/tslib".format(name))
-            link_64("{}/typescript".format(name), False, name, "typescript")
+            link_66("{}/typescript".format(name), False, name, "typescript")
             link_targets.append(":{}/typescript".format(name))
-            link_66("{}/uvu".format(name), False, name, "uvu")
+            link_68("{}/uvu".format(name), False, name, "uvu")
             link_targets.append(":{}/uvu".format(name))
         elif bazel_package == "projects/peers-combo-2":
             link_6("{}/@aspect-test/c".format(name), False, name, "@aspect-test/c")
@@ -334,12 +338,14 @@
             else:
                 scope_targets["@types"].append(link_targets[-1])
         elif bazel_package == "projects/alts":
-            link_47("{}/lodash-dupe".format(name), False, name, "lodash-dupe")
-            link_targets.append(":{}/lodash-dupe".format(name))
-            link_48("{}/lodash".format(name), False, name, "lodash")
+            link_48("{}/lodash-4.17.20".format(name), False, name, "lodash-4.17.20")
+            link_targets.append(":{}/lodash-4.17.20".format(name))
+            link_49("{}/lodash-4.17.21".format(name), False, name, "lodash-4.17.21")
+            link_targets.append(":{}/lodash-4.17.21".format(name))
+            link_50("{}/lodash".format(name), False, name, "lodash")
             link_targets.append(":{}/lodash".format(name))
-            link_48("{}/lodash-file".format(name), False, name, "lodash-file")
-            link_targets.append(":{}/lodash-file".format(name))
+            link_50("{}/lodash-4.17.21-file".format(name), False, name, "lodash-4.17.21-file")
+            link_targets.append(":{}/lodash-4.17.21-file".format(name))
 
     if is_root:
         _npm_local_package_store(
@@ -813,9 +819,10 @@
                 link_targets.append(":{}/a-types".format(name))
         elif bazel_package == "projects/alts":
             if prod:
-                link_targets.append(":{}/lodash-dupe".format(name))
+                link_targets.append(":{}/lodash-4.17.20".format(name))
+                link_targets.append(":{}/lodash-4.17.21".format(name))
                 link_targets.append(":{}/lodash".format(name))
-                link_targets.append(":{}/lodash-file".format(name))
+                link_targets.append(":{}/lodash-4.17.21-file".format(name))
             if dev:
                 pass
         elif bazel_package == "projects/c":
diff --git a/e2e/pnpm_lockfiles/v101/snapshots/repositories.bzl b/e2e/pnpm_lockfiles/v101/snapshots/repositories.bzl
index 84f50d1..0f3fbce 100644
--- a/e2e/pnpm_lockfiles/v101/snapshots/repositories.bzl
+++ b/e2e/pnpm_lockfiles/v101/snapshots/repositories.bzl
@@ -21,17 +21,17 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__ansi-regex__6.2.0",
+        name = "lock-<LOCKVERSION>__ansi-regex__6.2.2",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "ansi-regex",
-        version = "6.2.0",
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz",
+        version = "6.2.2",
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
+        integrity = "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
+            "ansi-regex": ["6.2.2"],
         },
     )
 
@@ -56,17 +56,17 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__ansi-styles__6.2.1",
+        name = "lock-<LOCKVERSION>__ansi-styles__6.2.3",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "ansi-styles",
-        version = "6.2.1",
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+        version = "6.2.3",
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+        integrity = "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
         transitive_closure = {
-            "ansi-styles": ["6.2.1"],
+            "ansi-styles": ["6.2.3"],
         },
     )
 
@@ -303,22 +303,22 @@
         deps = {
             "string-width": "5.1.2",
             "string-width-cjs": "npm:string-width@4.2.3",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
             "strip-ansi-cjs": "npm:strip-ansi@6.0.1",
             "wrap-ansi": "8.1.0",
             "wrap-ansi-cjs": "npm:wrap-ansi@7.0.0",
         },
         transitive_closure = {
             "@isaacs/cliui": ["8.0.2"],
-            "ansi-regex": ["5.0.1", "6.2.0"],
-            "ansi-styles": ["4.3.0", "6.2.1"],
+            "ansi-regex": ["5.0.1", "6.2.2"],
+            "ansi-styles": ["4.3.0", "6.2.3"],
             "color-convert": ["2.0.1"],
             "color-name": ["1.1.4"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["8.0.0", "9.2.2"],
             "is-fullwidth-code-point": ["3.0.0"],
             "string-width": ["5.1.2", "4.2.3"],
-            "strip-ansi": ["7.1.0", "6.0.1"],
+            "strip-ansi": ["7.1.2", "6.0.1"],
             "wrap-ansi": ["8.1.0", "7.0.0"],
         },
     )
@@ -337,7 +337,7 @@
         integrity = "sha512-Qd2E1pleDR4bwyFxqbjt4eJf+wB0UKVMLc7/BAFDGVdAXQMCsD4DUv5/7/ww47BZCYxWtJqe1Lo0KVNswBJlRw==",
         deps = {
             "@rollup/pluginutils": "3.1.0_rollup_2.14.0",
-            "resolve": "1.22.10",
+            "resolve": "1.22.11",
             "rollup": "2.14.0",
             "tslib": "2.8.1",
             "typescript": "5.5.2",
@@ -353,7 +353,7 @@
             "is-core-module": ["2.16.1"],
             "path-parse": ["1.0.7"],
             "picomatch": ["2.3.1"],
-            "resolve": ["1.22.10"],
+            "resolve": ["1.22.11"],
             "rollup": ["2.14.0"],
             "supports-preserve-symlinks-flag": ["1.0.0"],
             "tslib": ["2.8.1"],
@@ -900,11 +900,43 @@
     )
 
     npm_import(
+        name = "lock-<LOCKVERSION>__lodash__4.0.1",
+        root_package = "<LOCKVERSION>",
+        link_workspace = "",
+        link_packages = {},
+        package = "lodash",
+        version = "4.0.1",
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.0.1.tgz",
+        package_visibility = ["//visibility:public"],
+        integrity = "sha512-jA3EFncTLSpNOJLgZUlI7Xrsg3t/DYbgPuRVD1qbLoyUXgzUEvB0EpJimh+WBM6CUNtAyKJ1CVPD+7wE+LrraQ==",
+        transitive_closure = {
+            "lodash": ["4.0.1"],
+        },
+    )
+
+    npm_import(
+        name = "lock-<LOCKVERSION>__lodash__4.17.20",
+        root_package = "<LOCKVERSION>",
+        link_workspace = "",
+        link_packages = {
+            "projects/alts": ["lodash-4.17.20"],
+        },
+        package = "lodash",
+        version = "4.17.20",
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
+        package_visibility = ["//visibility:public"],
+        integrity = "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
+        transitive_closure = {
+            "lodash": ["4.17.20"],
+        },
+    )
+
+    npm_import(
         name = "lock-<LOCKVERSION>__lodash__4.17.21",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {
-            "projects/alts": ["lodash-dupe"],
+            "projects/alts": ["lodash-4.17.21"],
         },
         package = "lodash",
         version = "4.17.21",
@@ -922,7 +954,7 @@
         link_workspace = "",
         link_packages = {
             "<LOCKVERSION>": ["lodash"],
-            "projects/alts": ["lodash", "lodash-file"],
+            "projects/alts": ["lodash", "lodash-4.17.21-file"],
         },
         package = "lodash",
         version = "file:../vendored/lodash-4.17.21.tgz",
@@ -1014,15 +1046,15 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__resolve__1.22.10",
+        name = "lock-<LOCKVERSION>__resolve__1.22.11",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "resolve",
-        version = "1.22.10",
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+        version = "1.22.11",
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+        integrity = "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
         deps = {
             "is-core-module": "2.16.1",
             "path-parse": "1.0.7",
@@ -1033,7 +1065,7 @@
             "hasown": ["2.0.2"],
             "is-core-module": ["2.16.1"],
             "path-parse": ["1.0.7"],
-            "resolve": ["1.22.10"],
+            "resolve": ["1.22.11"],
             "supports-preserve-symlinks-flag": ["1.0.0"],
         },
     )
@@ -1136,14 +1168,14 @@
         deps = {
             "eastasianwidth": "0.2.0",
             "emoji-regex": "9.2.2",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
+            "ansi-regex": ["6.2.2"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["9.2.2"],
             "string-width": ["5.1.2"],
-            "strip-ansi": ["7.1.0"],
+            "strip-ansi": ["7.1.2"],
         },
     )
 
@@ -1167,21 +1199,21 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__strip-ansi__7.1.0",
+        name = "lock-<LOCKVERSION>__strip-ansi__7.1.2",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "strip-ansi",
-        version = "7.1.0",
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+        version = "7.1.2",
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+        integrity = "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
         deps = {
-            "ansi-regex": "6.2.0",
+            "ansi-regex": "6.2.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
-            "strip-ansi": ["7.1.0"],
+            "ansi-regex": ["6.2.2"],
+            "strip-ansi": ["7.1.2"],
         },
     )
 
@@ -1316,17 +1348,17 @@
         package_visibility = ["//visibility:public"],
         integrity = "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
         deps = {
-            "ansi-styles": "6.2.1",
+            "ansi-styles": "6.2.3",
             "string-width": "5.1.2",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
-            "ansi-styles": ["6.2.1"],
+            "ansi-regex": ["6.2.2"],
+            "ansi-styles": ["6.2.3"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["9.2.2"],
             "string-width": ["5.1.2"],
-            "strip-ansi": ["7.1.0"],
+            "strip-ansi": ["7.1.2"],
             "wrap-ansi": ["8.1.0"],
         },
     )
diff --git a/e2e/pnpm_lockfiles/v54/pnpm-lock.yaml b/e2e/pnpm_lockfiles/v54/pnpm-lock.yaml
index df5003d..4ac1df0 100644
--- a/e2e/pnpm_lockfiles/v54/pnpm-lock.yaml
+++ b/e2e/pnpm_lockfiles/v54/pnpm-lock.yaml
@@ -118,13 +118,15 @@
 
   ../projects/alts:
     specifiers:
-      lodash: 4.17.21
-      lodash-dupe: npm:lodash@4.17.21
-      lodash-file: file:../../vendored/lodash-4.17.21.tgz
+      lodash: 4.0.1
+      lodash-4.17.20: npm:lodash@4.17.20
+      lodash-4.17.21: npm:lodash@4.17.21
+      lodash-4.17.21-file: file:../../vendored/lodash-4.17.21.tgz
     dependencies:
-      lodash: 4.17.21
-      lodash-dupe: /lodash/4.17.21
-      lodash-file: file:../vendored/lodash-4.17.21.tgz
+      lodash: 4.0.1
+      lodash-4.17.20: /lodash/4.17.20
+      lodash-4.17.21: /lodash/4.17.21
+      lodash-4.17.21-file: file:../vendored/lodash-4.17.21.tgz
 
   ../projects/b:
     specifiers:
@@ -255,7 +257,7 @@
     dependencies:
       string-width: 5.1.2
       string-width-cjs: /string-width/4.2.3
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
       strip-ansi-cjs: /strip-ansi/6.0.1
       wrap-ansi: 8.1.0
       wrap-ansi-cjs: /wrap-ansi/7.0.0
@@ -270,7 +272,7 @@
       typescript: '>=3.7.0'
     dependencies:
       '@rollup/pluginutils': 3.1.0_rollup@2.14.0
-      resolve: 1.22.10
+      resolve: 1.22.11
       rollup: 2.14.0
       tslib: 2.8.1
       typescript: 5.5.2
@@ -293,8 +295,8 @@
     engines: {node: '>=8'}
     dev: false
 
-  /ansi-regex/6.2.0:
-    resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==}
+  /ansi-regex/6.2.2:
+    resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
     engines: {node: '>=12'}
     dev: false
 
@@ -305,8 +307,8 @@
       color-convert: 2.0.1
     dev: false
 
-  /ansi-styles/6.2.1:
-    resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+  /ansi-styles/6.2.3:
+    resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
     engines: {node: '>=12'}
     dev: false
 
@@ -412,6 +414,14 @@
     engines: {node: '>=6'}
     dev: false
 
+  /lodash/4.0.1:
+    resolution: {integrity: sha512-jA3EFncTLSpNOJLgZUlI7Xrsg3t/DYbgPuRVD1qbLoyUXgzUEvB0EpJimh+WBM6CUNtAyKJ1CVPD+7wE+LrraQ==}
+    dev: false
+
+  /lodash/4.17.20:
+    resolution: {integrity: sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==}
+    dev: false
+
   /lodash/4.17.21:
     resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
     dev: false
@@ -439,8 +449,8 @@
     engines: {node: '>=8.6'}
     dev: false
 
-  /resolve/1.22.10:
-    resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+  /resolve/1.22.11:
+    resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
     engines: {node: '>= 0.4'}
     hasBin: true
     dependencies:
@@ -487,7 +497,7 @@
     dependencies:
       eastasianwidth: 0.2.0
       emoji-regex: 9.2.2
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
     dev: false
 
   /strip-ansi/6.0.1:
@@ -497,11 +507,11 @@
       ansi-regex: 5.0.1
     dev: false
 
-  /strip-ansi/7.1.0:
-    resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+  /strip-ansi/7.1.2:
+    resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
     engines: {node: '>=12'}
     dependencies:
-      ansi-regex: 6.2.0
+      ansi-regex: 6.2.2
     dev: false
 
   /supports-preserve-symlinks-flag/1.0.0:
@@ -546,9 +556,9 @@
     resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
     engines: {node: '>=12'}
     dependencies:
-      ansi-styles: 6.2.1
+      ansi-styles: 6.2.3
       string-width: 5.1.2
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
     dev: false
 
   '@github.com/aspect-build/test-packages/releases/download/0.0.0/@foo-jsonify-0.0.0.tgz':
diff --git a/e2e/pnpm_lockfiles/v54/snapshots/defs.bzl b/e2e/pnpm_lockfiles/v54/snapshots/defs.bzl
index e1a67f7..c656ad5 100644
--- a/e2e/pnpm_lockfiles/v54/snapshots/defs.bzl
+++ b/e2e/pnpm_lockfiles/v54/snapshots/defs.bzl
@@ -1,9 +1,9 @@
 """@generated by npm_translate_lock(name = "lock-<LOCKVERSION>", pnpm_lock = "@@//<LOCKVERSION>:pnpm-lock.yaml")"""
 
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__5.0.1__links//:defs.bzl", store_0 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__6.2.0__links//:defs.bzl", store_1 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__6.2.2__links//:defs.bzl", store_1 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__4.3.0__links//:defs.bzl", store_2 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__6.2.1__links//:defs.bzl", store_3 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__6.2.3__links//:defs.bzl", store_3 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_a__5.0.2__links//:defs.bzl", link_4 = "npm_link_imported_package_store", store_4 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_b__5.0.2__links//:defs.bzl", link_5 = "npm_link_imported_package_store", store_5 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_c__2.0.0__links//:defs.bzl", link_6 = "npm_link_imported_package_store", store_6 = "npm_imported_package_store")
@@ -46,28 +46,30 @@
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__jquery__github.com_jquery_jquery_399b201bb3143a3952894cf3489b4848fc003967__links//:defs.bzl", link_43 = "npm_link_imported_package_store", store_43 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__jquery__github.com_jquery_jquery_e61fccb9d736235b4b011f89cba6866bc0b8997d__links//:defs.bzl", link_44 = "npm_link_imported_package_store", store_44 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__kleur__4.1.5__links//:defs.bzl", store_45 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.21__links//:defs.bzl", link_46 = "npm_link_imported_package_store", store_46 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__file_.._vendored_lodash-4.17.21.tgz__links//:defs.bzl", link_47 = "npm_link_imported_package_store", store_47 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__meaning-of-life__1.0.0_o3deharooos255qt5xdujc3cuq__links//:defs.bzl", link_48 = "npm_link_imported_package_store", store_48 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__mri__1.2.0__links//:defs.bzl", store_49 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ms__0.7.3__links//:defs.bzl", store_50 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__path-parse__1.0.7__links//:defs.bzl", store_51 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__picomatch__2.3.1__links//:defs.bzl", store_52 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__resolve__1.22.10__links//:defs.bzl", store_53 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__2.14.0__links//:defs.bzl", link_54 = "npm_link_imported_package_store", store_54 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__3.29.4__links//:defs.bzl", link_55 = "npm_link_imported_package_store", store_55 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__sade__1.8.1__links//:defs.bzl", store_56 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__4.2.3__links//:defs.bzl", store_57 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__5.1.2__links//:defs.bzl", store_58 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__6.0.1__links//:defs.bzl", store_59 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__7.1.0__links//:defs.bzl", store_60 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__supports-preserve-symlinks-flag__1.0.0__links//:defs.bzl", store_61 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__tslib__2.8.1__links//:defs.bzl", link_62 = "npm_link_imported_package_store", store_62 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__typescript__5.5.2__links//:defs.bzl", link_63 = "npm_link_imported_package_store", store_63 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__undici-types__5.26.5__links//:defs.bzl", store_64 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__uvu__0.5.6__links//:defs.bzl", link_65 = "npm_link_imported_package_store", store_65 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__7.0.0__links//:defs.bzl", store_66 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__8.1.0__links//:defs.bzl", store_67 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.0.1__links//:defs.bzl", store_46 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.20__links//:defs.bzl", link_47 = "npm_link_imported_package_store", store_47 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.21__links//:defs.bzl", link_48 = "npm_link_imported_package_store", store_48 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__file_.._vendored_lodash-4.17.21.tgz__links//:defs.bzl", link_49 = "npm_link_imported_package_store", store_49 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__meaning-of-life__1.0.0_o3deharooos255qt5xdujc3cuq__links//:defs.bzl", link_50 = "npm_link_imported_package_store", store_50 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__mri__1.2.0__links//:defs.bzl", store_51 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ms__0.7.3__links//:defs.bzl", store_52 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__path-parse__1.0.7__links//:defs.bzl", store_53 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__picomatch__2.3.1__links//:defs.bzl", store_54 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__resolve__1.22.11__links//:defs.bzl", store_55 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__2.14.0__links//:defs.bzl", link_56 = "npm_link_imported_package_store", store_56 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__3.29.4__links//:defs.bzl", link_57 = "npm_link_imported_package_store", store_57 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__sade__1.8.1__links//:defs.bzl", store_58 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__4.2.3__links//:defs.bzl", store_59 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__5.1.2__links//:defs.bzl", store_60 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__6.0.1__links//:defs.bzl", store_61 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__7.1.2__links//:defs.bzl", store_62 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__supports-preserve-symlinks-flag__1.0.0__links//:defs.bzl", store_63 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__tslib__2.8.1__links//:defs.bzl", link_64 = "npm_link_imported_package_store", store_64 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__typescript__5.5.2__links//:defs.bzl", link_65 = "npm_link_imported_package_store", store_65 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__undici-types__5.26.5__links//:defs.bzl", store_66 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__uvu__0.5.6__links//:defs.bzl", link_67 = "npm_link_imported_package_store", store_67 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__7.0.0__links//:defs.bzl", store_68 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__8.1.0__links//:defs.bzl", store_69 = "npm_imported_package_store")
 
 # buildifier: disable=bzl-visibility
 load("@aspect_rules_js//js:defs.bzl", _js_library = "js_library")
@@ -172,6 +174,8 @@
         store_65(name)
         store_66(name)
         store_67(name)
+        store_68(name)
+        store_69(name)
     if link:
         if bazel_package == "<LOCKVERSION>":
             link_4("{}/@aspect-test-a-bad-scope".format(name), False, name, "@aspect-test-a-bad-scope")
@@ -266,19 +270,19 @@
             link_targets.append(":{}/jquery-git-ssh-399b201".format(name))
             link_44("{}/jquery-git-ssh-e61fccb".format(name), False, name, "jquery-git-ssh-e61fccb")
             link_targets.append(":{}/jquery-git-ssh-e61fccb".format(name))
-            link_47("{}/lodash".format(name), False, name, "lodash")
+            link_49("{}/lodash".format(name), False, name, "lodash")
             link_targets.append(":{}/lodash".format(name))
-            link_48("{}/meaning-of-life".format(name), False, name, "meaning-of-life")
+            link_50("{}/meaning-of-life".format(name), False, name, "meaning-of-life")
             link_targets.append(":{}/meaning-of-life".format(name))
-            link_54("{}/rollup".format(name), False, name, "rollup")
+            link_56("{}/rollup".format(name), False, name, "rollup")
             link_targets.append(":{}/rollup".format(name))
-            link_55("{}/rollup3".format(name), False, name, "rollup3")
+            link_57("{}/rollup3".format(name), False, name, "rollup3")
             link_targets.append(":{}/rollup3".format(name))
-            link_62("{}/tslib".format(name), False, name, "tslib")
+            link_64("{}/tslib".format(name), False, name, "tslib")
             link_targets.append(":{}/tslib".format(name))
-            link_63("{}/typescript".format(name), False, name, "typescript")
+            link_65("{}/typescript".format(name), False, name, "typescript")
             link_targets.append(":{}/typescript".format(name))
-            link_65("{}/uvu".format(name), False, name, "uvu")
+            link_67("{}/uvu".format(name), False, name, "uvu")
             link_targets.append(":{}/uvu".format(name))
         elif bazel_package == "projects/peers-combo-2":
             link_6("{}/@aspect-test/c".format(name), False, name, "@aspect-test/c")
@@ -326,12 +330,14 @@
             else:
                 scope_targets["@types"].append(link_targets[-1])
         elif bazel_package == "projects/alts":
-            link_46("{}/lodash-dupe".format(name), False, name, "lodash-dupe")
-            link_targets.append(":{}/lodash-dupe".format(name))
-            link_47("{}/lodash".format(name), False, name, "lodash")
+            link_47("{}/lodash-4.17.20".format(name), False, name, "lodash-4.17.20")
+            link_targets.append(":{}/lodash-4.17.20".format(name))
+            link_48("{}/lodash-4.17.21".format(name), False, name, "lodash-4.17.21")
+            link_targets.append(":{}/lodash-4.17.21".format(name))
+            link_49("{}/lodash".format(name), False, name, "lodash")
             link_targets.append(":{}/lodash".format(name))
-            link_47("{}/lodash-file".format(name), False, name, "lodash-file")
-            link_targets.append(":{}/lodash-file".format(name))
+            link_49("{}/lodash-4.17.21-file".format(name), False, name, "lodash-4.17.21-file")
+            link_targets.append(":{}/lodash-4.17.21-file".format(name))
 
     if is_root:
         _npm_local_package_store(
@@ -803,9 +809,10 @@
                 link_targets.append(":{}/a-types".format(name))
         elif bazel_package == "projects/alts":
             if prod:
-                link_targets.append(":{}/lodash-dupe".format(name))
+                link_targets.append(":{}/lodash-4.17.20".format(name))
+                link_targets.append(":{}/lodash-4.17.21".format(name))
                 link_targets.append(":{}/lodash".format(name))
-                link_targets.append(":{}/lodash-file".format(name))
+                link_targets.append(":{}/lodash-4.17.21-file".format(name))
             if dev:
                 pass
         elif bazel_package == "projects/c":
diff --git a/e2e/pnpm_lockfiles/v54/snapshots/repositories.bzl b/e2e/pnpm_lockfiles/v54/snapshots/repositories.bzl
index 8b65086..c62efd6 100644
--- a/e2e/pnpm_lockfiles/v54/snapshots/repositories.bzl
+++ b/e2e/pnpm_lockfiles/v54/snapshots/repositories.bzl
@@ -21,17 +21,17 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__ansi-regex__6.2.0",
+        name = "lock-<LOCKVERSION>__ansi-regex__6.2.2",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "ansi-regex",
-        version = "6.2.0",
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz",
+        version = "6.2.2",
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
+        integrity = "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
+            "ansi-regex": ["6.2.2"],
         },
     )
 
@@ -56,17 +56,17 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__ansi-styles__6.2.1",
+        name = "lock-<LOCKVERSION>__ansi-styles__6.2.3",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "ansi-styles",
-        version = "6.2.1",
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+        version = "6.2.3",
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+        integrity = "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
         transitive_closure = {
-            "ansi-styles": ["6.2.1"],
+            "ansi-styles": ["6.2.3"],
         },
     )
 
@@ -286,22 +286,22 @@
         deps = {
             "string-width": "5.1.2",
             "string-width-cjs": "npm:string-width@4.2.3",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
             "strip-ansi-cjs": "npm:strip-ansi@6.0.1",
             "wrap-ansi": "8.1.0",
             "wrap-ansi-cjs": "npm:wrap-ansi@7.0.0",
         },
         transitive_closure = {
             "@isaacs/cliui": ["8.0.2"],
-            "ansi-regex": ["5.0.1", "6.2.0"],
-            "ansi-styles": ["4.3.0", "6.2.1"],
+            "ansi-regex": ["5.0.1", "6.2.2"],
+            "ansi-styles": ["4.3.0", "6.2.3"],
             "color-convert": ["2.0.1"],
             "color-name": ["1.1.4"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["8.0.0", "9.2.2"],
             "is-fullwidth-code-point": ["3.0.0"],
             "string-width": ["5.1.2", "4.2.3"],
-            "strip-ansi": ["7.1.0", "6.0.1"],
+            "strip-ansi": ["7.1.2", "6.0.1"],
             "wrap-ansi": ["8.1.0", "7.0.0"],
         },
     )
@@ -320,7 +320,7 @@
         integrity = "sha512-Qd2E1pleDR4bwyFxqbjt4eJf+wB0UKVMLc7/BAFDGVdAXQMCsD4DUv5/7/ww47BZCYxWtJqe1Lo0KVNswBJlRw==",
         deps = {
             "@rollup/pluginutils": "3.1.0_rollup_2.14.0",
-            "resolve": "1.22.10",
+            "resolve": "1.22.11",
             "rollup": "2.14.0",
             "tslib": "2.8.1",
             "typescript": "5.5.2",
@@ -336,7 +336,7 @@
             "is-core-module": ["2.16.1"],
             "path-parse": ["1.0.7"],
             "picomatch": ["2.3.1"],
-            "resolve": ["1.22.10"],
+            "resolve": ["1.22.11"],
             "rollup": ["2.14.0"],
             "supports-preserve-symlinks-flag": ["1.0.0"],
             "tslib": ["2.8.1"],
@@ -887,11 +887,43 @@
     )
 
     npm_import(
+        name = "lock-<LOCKVERSION>__lodash__4.0.1",
+        root_package = "<LOCKVERSION>",
+        link_workspace = "",
+        link_packages = {},
+        package = "lodash",
+        version = "4.0.1",
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.0.1.tgz",
+        package_visibility = ["//visibility:public"],
+        integrity = "sha512-jA3EFncTLSpNOJLgZUlI7Xrsg3t/DYbgPuRVD1qbLoyUXgzUEvB0EpJimh+WBM6CUNtAyKJ1CVPD+7wE+LrraQ==",
+        transitive_closure = {
+            "lodash": ["4.0.1"],
+        },
+    )
+
+    npm_import(
+        name = "lock-<LOCKVERSION>__lodash__4.17.20",
+        root_package = "<LOCKVERSION>",
+        link_workspace = "",
+        link_packages = {
+            "projects/alts": ["lodash-4.17.20"],
+        },
+        package = "lodash",
+        version = "4.17.20",
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
+        package_visibility = ["//visibility:public"],
+        integrity = "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
+        transitive_closure = {
+            "lodash": ["4.17.20"],
+        },
+    )
+
+    npm_import(
         name = "lock-<LOCKVERSION>__lodash__4.17.21",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {
-            "projects/alts": ["lodash-dupe"],
+            "projects/alts": ["lodash-4.17.21"],
         },
         package = "lodash",
         version = "4.17.21",
@@ -909,7 +941,7 @@
         link_workspace = "",
         link_packages = {
             "<LOCKVERSION>": ["lodash"],
-            "projects/alts": ["lodash", "lodash-file"],
+            "projects/alts": ["lodash", "lodash-4.17.21-file"],
         },
         package = "lodash",
         version = "file:../vendored/lodash-4.17.21.tgz",
@@ -1001,15 +1033,15 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__resolve__1.22.10",
+        name = "lock-<LOCKVERSION>__resolve__1.22.11",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "resolve",
-        version = "1.22.10",
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+        version = "1.22.11",
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+        integrity = "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
         deps = {
             "is-core-module": "2.16.1",
             "path-parse": "1.0.7",
@@ -1020,7 +1052,7 @@
             "hasown": ["2.0.2"],
             "is-core-module": ["2.16.1"],
             "path-parse": ["1.0.7"],
-            "resolve": ["1.22.10"],
+            "resolve": ["1.22.11"],
             "supports-preserve-symlinks-flag": ["1.0.0"],
         },
     )
@@ -1123,14 +1155,14 @@
         deps = {
             "eastasianwidth": "0.2.0",
             "emoji-regex": "9.2.2",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
+            "ansi-regex": ["6.2.2"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["9.2.2"],
             "string-width": ["5.1.2"],
-            "strip-ansi": ["7.1.0"],
+            "strip-ansi": ["7.1.2"],
         },
     )
 
@@ -1154,21 +1186,21 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__strip-ansi__7.1.0",
+        name = "lock-<LOCKVERSION>__strip-ansi__7.1.2",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "strip-ansi",
-        version = "7.1.0",
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+        version = "7.1.2",
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+        integrity = "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
         deps = {
-            "ansi-regex": "6.2.0",
+            "ansi-regex": "6.2.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
-            "strip-ansi": ["7.1.0"],
+            "ansi-regex": ["6.2.2"],
+            "strip-ansi": ["7.1.2"],
         },
     )
 
@@ -1303,17 +1335,17 @@
         package_visibility = ["//visibility:public"],
         integrity = "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
         deps = {
-            "ansi-styles": "6.2.1",
+            "ansi-styles": "6.2.3",
             "string-width": "5.1.2",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
-            "ansi-styles": ["6.2.1"],
+            "ansi-regex": ["6.2.2"],
+            "ansi-styles": ["6.2.3"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["9.2.2"],
             "string-width": ["5.1.2"],
-            "strip-ansi": ["7.1.0"],
+            "strip-ansi": ["7.1.2"],
             "wrap-ansi": ["8.1.0"],
         },
     )
diff --git a/e2e/pnpm_lockfiles/v60/pnpm-lock.yaml b/e2e/pnpm_lockfiles/v60/pnpm-lock.yaml
index 8e72058..6086ac4 100644
--- a/e2e/pnpm_lockfiles/v60/pnpm-lock.yaml
+++ b/e2e/pnpm_lockfiles/v60/pnpm-lock.yaml
@@ -162,12 +162,15 @@
   ../projects/alts:
     dependencies:
       lodash:
-        specifier: 4.17.21
-        version: 4.17.21
-      lodash-dupe:
+        specifier: 4.0.1
+        version: 4.0.1
+      lodash-4.17.20:
+        specifier: npm:lodash@4.17.20
+        version: /lodash@4.17.20
+      lodash-4.17.21:
         specifier: npm:lodash@4.17.21
         version: /lodash@4.17.21
-      lodash-file:
+      lodash-4.17.21-file:
         specifier: file:../../vendored/lodash-4.17.21.tgz
         version: file:../vendored/lodash-4.17.21.tgz
 
@@ -318,7 +321,7 @@
     dependencies:
       string-width: 5.1.2
       string-width-cjs: /string-width@4.2.3
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
       strip-ansi-cjs: /strip-ansi@6.0.1
       wrap-ansi: 8.1.0
       wrap-ansi-cjs: /wrap-ansi@7.0.0
@@ -333,7 +336,7 @@
       typescript: '>=3.7.0'
     dependencies:
       '@rollup/pluginutils': 3.1.0(rollup@3.29.4)
-      resolve: 1.22.10
+      resolve: 1.22.11
       rollup: 3.29.4
       tslib: 2.6.3
       typescript: 5.5.2
@@ -356,8 +359,8 @@
     engines: {node: '>=8'}
     dev: false
 
-  /ansi-regex@6.2.0:
-    resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==}
+  /ansi-regex@6.2.2:
+    resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
     engines: {node: '>=12'}
     dev: false
 
@@ -368,8 +371,8 @@
       color-convert: 2.0.1
     dev: false
 
-  /ansi-styles@6.2.1:
-    resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+  /ansi-styles@6.2.3:
+    resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
     engines: {node: '>=12'}
     dev: false
 
@@ -475,6 +478,14 @@
     engines: {node: '>=6'}
     dev: false
 
+  /lodash@4.0.1:
+    resolution: {integrity: sha512-jA3EFncTLSpNOJLgZUlI7Xrsg3t/DYbgPuRVD1qbLoyUXgzUEvB0EpJimh+WBM6CUNtAyKJ1CVPD+7wE+LrraQ==}
+    dev: false
+
+  /lodash@4.17.20:
+    resolution: {integrity: sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==}
+    dev: false
+
   /lodash@4.17.21:
     resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
     dev: false
@@ -502,8 +513,8 @@
     engines: {node: '>=8.6'}
     dev: false
 
-  /resolve@1.22.10:
-    resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+  /resolve@1.22.11:
+    resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
     engines: {node: '>= 0.4'}
     hasBin: true
     dependencies:
@@ -550,7 +561,7 @@
     dependencies:
       eastasianwidth: 0.2.0
       emoji-regex: 9.2.2
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
     dev: false
 
   /strip-ansi@6.0.1:
@@ -560,11 +571,11 @@
       ansi-regex: 5.0.1
     dev: false
 
-  /strip-ansi@7.1.0:
-    resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+  /strip-ansi@7.1.2:
+    resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
     engines: {node: '>=12'}
     dependencies:
-      ansi-regex: 6.2.0
+      ansi-regex: 6.2.2
     dev: false
 
   /supports-preserve-symlinks-flag@1.0.0:
@@ -609,9 +620,9 @@
     resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
     engines: {node: '>=12'}
     dependencies:
-      ansi-styles: 6.2.1
+      ansi-styles: 6.2.3
       string-width: 5.1.2
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
     dev: false
 
   '@github.com/aspect-build/test-packages/releases/download/0.0.0/@foo-jsonify-0.0.0.tgz':
diff --git a/e2e/pnpm_lockfiles/v60/snapshots/defs.bzl b/e2e/pnpm_lockfiles/v60/snapshots/defs.bzl
index 60701c9..cfe896d 100644
--- a/e2e/pnpm_lockfiles/v60/snapshots/defs.bzl
+++ b/e2e/pnpm_lockfiles/v60/snapshots/defs.bzl
@@ -1,9 +1,9 @@
 """@generated by npm_translate_lock(name = "lock-<LOCKVERSION>", pnpm_lock = "@@//<LOCKVERSION>:pnpm-lock.yaml")"""
 
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__5.0.1__links//:defs.bzl", store_0 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__6.2.0__links//:defs.bzl", store_1 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__6.2.2__links//:defs.bzl", store_1 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__4.3.0__links//:defs.bzl", store_2 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__6.2.1__links//:defs.bzl", store_3 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__6.2.3__links//:defs.bzl", store_3 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_a__5.0.2__links//:defs.bzl", link_4 = "npm_link_imported_package_store", store_4 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_b__5.0.2__links//:defs.bzl", link_5 = "npm_link_imported_package_store", store_5 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_c__2.0.0__links//:defs.bzl", link_6 = "npm_link_imported_package_store", store_6 = "npm_imported_package_store")
@@ -47,28 +47,30 @@
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__jquery__github.com_jquery_jquery_399b201bb3143a3952894cf3489b4848fc003967__links//:defs.bzl", link_44 = "npm_link_imported_package_store", store_44 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__jquery__github.com_jquery_jquery_e61fccb9d736235b4b011f89cba6866bc0b8997d__links//:defs.bzl", link_45 = "npm_link_imported_package_store", store_45 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__kleur__4.1.5__links//:defs.bzl", store_46 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.21__links//:defs.bzl", link_47 = "npm_link_imported_package_store", store_47 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__file_.._vendored_lodash-4.17.21.tgz__links//:defs.bzl", link_48 = "npm_link_imported_package_store", store_48 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__meaning-of-life__1.0.0_o3deharooos255qt5xdujc3cuq__links//:defs.bzl", link_49 = "npm_link_imported_package_store", store_49 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__mri__1.2.0__links//:defs.bzl", store_50 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ms__0.7.3__links//:defs.bzl", store_51 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__path-parse__1.0.7__links//:defs.bzl", store_52 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__picomatch__2.3.1__links//:defs.bzl", store_53 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__resolve__1.22.10__links//:defs.bzl", store_54 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__2.14.0__links//:defs.bzl", link_55 = "npm_link_imported_package_store", store_55 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__3.29.4__links//:defs.bzl", link_56 = "npm_link_imported_package_store", store_56 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__sade__1.8.1__links//:defs.bzl", store_57 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__4.2.3__links//:defs.bzl", store_58 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__5.1.2__links//:defs.bzl", store_59 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__6.0.1__links//:defs.bzl", store_60 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__7.1.0__links//:defs.bzl", store_61 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__supports-preserve-symlinks-flag__1.0.0__links//:defs.bzl", store_62 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__tslib__2.6.3__links//:defs.bzl", link_63 = "npm_link_imported_package_store", store_63 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__typescript__5.5.2__links//:defs.bzl", link_64 = "npm_link_imported_package_store", store_64 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__undici-types__5.26.5__links//:defs.bzl", store_65 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__uvu__0.5.6__links//:defs.bzl", link_66 = "npm_link_imported_package_store", store_66 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__7.0.0__links//:defs.bzl", store_67 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__8.1.0__links//:defs.bzl", store_68 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.0.1__links//:defs.bzl", store_47 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.20__links//:defs.bzl", link_48 = "npm_link_imported_package_store", store_48 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.21__links//:defs.bzl", link_49 = "npm_link_imported_package_store", store_49 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__file_.._vendored_lodash-4.17.21.tgz__links//:defs.bzl", link_50 = "npm_link_imported_package_store", store_50 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__meaning-of-life__1.0.0_o3deharooos255qt5xdujc3cuq__links//:defs.bzl", link_51 = "npm_link_imported_package_store", store_51 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__mri__1.2.0__links//:defs.bzl", store_52 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ms__0.7.3__links//:defs.bzl", store_53 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__path-parse__1.0.7__links//:defs.bzl", store_54 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__picomatch__2.3.1__links//:defs.bzl", store_55 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__resolve__1.22.11__links//:defs.bzl", store_56 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__2.14.0__links//:defs.bzl", link_57 = "npm_link_imported_package_store", store_57 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__3.29.4__links//:defs.bzl", link_58 = "npm_link_imported_package_store", store_58 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__sade__1.8.1__links//:defs.bzl", store_59 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__4.2.3__links//:defs.bzl", store_60 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__5.1.2__links//:defs.bzl", store_61 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__6.0.1__links//:defs.bzl", store_62 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__7.1.2__links//:defs.bzl", store_63 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__supports-preserve-symlinks-flag__1.0.0__links//:defs.bzl", store_64 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__tslib__2.6.3__links//:defs.bzl", link_65 = "npm_link_imported_package_store", store_65 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__typescript__5.5.2__links//:defs.bzl", link_66 = "npm_link_imported_package_store", store_66 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__undici-types__5.26.5__links//:defs.bzl", store_67 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__uvu__0.5.6__links//:defs.bzl", link_68 = "npm_link_imported_package_store", store_68 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__7.0.0__links//:defs.bzl", store_69 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__8.1.0__links//:defs.bzl", store_70 = "npm_imported_package_store")
 
 # buildifier: disable=bzl-visibility
 load("@aspect_rules_js//js:defs.bzl", _js_library = "js_library")
@@ -174,6 +176,8 @@
         store_66(name)
         store_67(name)
         store_68(name)
+        store_69(name)
+        store_70(name)
     if link:
         if bazel_package == "<LOCKVERSION>":
             link_4("{}/@aspect-test-a-bad-scope".format(name), False, name, "@aspect-test-a-bad-scope")
@@ -274,19 +278,19 @@
             link_targets.append(":{}/jquery-git-ssh-399b201".format(name))
             link_45("{}/jquery-git-ssh-e61fccb".format(name), False, name, "jquery-git-ssh-e61fccb")
             link_targets.append(":{}/jquery-git-ssh-e61fccb".format(name))
-            link_48("{}/lodash".format(name), False, name, "lodash")
+            link_50("{}/lodash".format(name), False, name, "lodash")
             link_targets.append(":{}/lodash".format(name))
-            link_49("{}/meaning-of-life".format(name), False, name, "meaning-of-life")
+            link_51("{}/meaning-of-life".format(name), False, name, "meaning-of-life")
             link_targets.append(":{}/meaning-of-life".format(name))
-            link_55("{}/rollup".format(name), False, name, "rollup")
+            link_57("{}/rollup".format(name), False, name, "rollup")
             link_targets.append(":{}/rollup".format(name))
-            link_56("{}/rollup3".format(name), False, name, "rollup3")
+            link_58("{}/rollup3".format(name), False, name, "rollup3")
             link_targets.append(":{}/rollup3".format(name))
-            link_63("{}/tslib".format(name), False, name, "tslib")
+            link_65("{}/tslib".format(name), False, name, "tslib")
             link_targets.append(":{}/tslib".format(name))
-            link_64("{}/typescript".format(name), False, name, "typescript")
+            link_66("{}/typescript".format(name), False, name, "typescript")
             link_targets.append(":{}/typescript".format(name))
-            link_66("{}/uvu".format(name), False, name, "uvu")
+            link_68("{}/uvu".format(name), False, name, "uvu")
             link_targets.append(":{}/uvu".format(name))
         elif bazel_package == "projects/peers-combo-2":
             link_6("{}/@aspect-test/c".format(name), False, name, "@aspect-test/c")
@@ -334,12 +338,14 @@
             else:
                 scope_targets["@types"].append(link_targets[-1])
         elif bazel_package == "projects/alts":
-            link_47("{}/lodash-dupe".format(name), False, name, "lodash-dupe")
-            link_targets.append(":{}/lodash-dupe".format(name))
-            link_48("{}/lodash".format(name), False, name, "lodash")
+            link_48("{}/lodash-4.17.20".format(name), False, name, "lodash-4.17.20")
+            link_targets.append(":{}/lodash-4.17.20".format(name))
+            link_49("{}/lodash-4.17.21".format(name), False, name, "lodash-4.17.21")
+            link_targets.append(":{}/lodash-4.17.21".format(name))
+            link_50("{}/lodash".format(name), False, name, "lodash")
             link_targets.append(":{}/lodash".format(name))
-            link_48("{}/lodash-file".format(name), False, name, "lodash-file")
-            link_targets.append(":{}/lodash-file".format(name))
+            link_50("{}/lodash-4.17.21-file".format(name), False, name, "lodash-4.17.21-file")
+            link_targets.append(":{}/lodash-4.17.21-file".format(name))
 
     if is_root:
         _npm_local_package_store(
@@ -813,9 +819,10 @@
                 link_targets.append(":{}/a-types".format(name))
         elif bazel_package == "projects/alts":
             if prod:
-                link_targets.append(":{}/lodash-dupe".format(name))
+                link_targets.append(":{}/lodash-4.17.20".format(name))
+                link_targets.append(":{}/lodash-4.17.21".format(name))
                 link_targets.append(":{}/lodash".format(name))
-                link_targets.append(":{}/lodash-file".format(name))
+                link_targets.append(":{}/lodash-4.17.21-file".format(name))
             if dev:
                 pass
         elif bazel_package == "projects/c":
diff --git a/e2e/pnpm_lockfiles/v60/snapshots/repositories.bzl b/e2e/pnpm_lockfiles/v60/snapshots/repositories.bzl
index 93d9bca..661ab83 100644
--- a/e2e/pnpm_lockfiles/v60/snapshots/repositories.bzl
+++ b/e2e/pnpm_lockfiles/v60/snapshots/repositories.bzl
@@ -21,17 +21,17 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__ansi-regex__6.2.0",
+        name = "lock-<LOCKVERSION>__ansi-regex__6.2.2",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "ansi-regex",
-        version = "6.2.0",
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz",
+        version = "6.2.2",
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
+        integrity = "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
+            "ansi-regex": ["6.2.2"],
         },
     )
 
@@ -56,17 +56,17 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__ansi-styles__6.2.1",
+        name = "lock-<LOCKVERSION>__ansi-styles__6.2.3",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "ansi-styles",
-        version = "6.2.1",
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+        version = "6.2.3",
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+        integrity = "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
         transitive_closure = {
-            "ansi-styles": ["6.2.1"],
+            "ansi-styles": ["6.2.3"],
         },
     )
 
@@ -303,22 +303,22 @@
         deps = {
             "string-width": "5.1.2",
             "string-width-cjs": "npm:string-width@4.2.3",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
             "strip-ansi-cjs": "npm:strip-ansi@6.0.1",
             "wrap-ansi": "8.1.0",
             "wrap-ansi-cjs": "npm:wrap-ansi@7.0.0",
         },
         transitive_closure = {
             "@isaacs/cliui": ["8.0.2"],
-            "ansi-regex": ["5.0.1", "6.2.0"],
-            "ansi-styles": ["4.3.0", "6.2.1"],
+            "ansi-regex": ["5.0.1", "6.2.2"],
+            "ansi-styles": ["4.3.0", "6.2.3"],
             "color-convert": ["2.0.1"],
             "color-name": ["1.1.4"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["8.0.0", "9.2.2"],
             "is-fullwidth-code-point": ["3.0.0"],
             "string-width": ["5.1.2", "4.2.3"],
-            "strip-ansi": ["7.1.0", "6.0.1"],
+            "strip-ansi": ["7.1.2", "6.0.1"],
             "wrap-ansi": ["8.1.0", "7.0.0"],
         },
     )
@@ -337,7 +337,7 @@
         integrity = "sha512-Qd2E1pleDR4bwyFxqbjt4eJf+wB0UKVMLc7/BAFDGVdAXQMCsD4DUv5/7/ww47BZCYxWtJqe1Lo0KVNswBJlRw==",
         deps = {
             "@rollup/pluginutils": "3.1.0_rollup_3.29.4",
-            "resolve": "1.22.10",
+            "resolve": "1.22.11",
             "rollup": "3.29.4",
             "tslib": "2.6.3",
             "typescript": "5.5.2",
@@ -353,7 +353,7 @@
             "is-core-module": ["2.16.1"],
             "path-parse": ["1.0.7"],
             "picomatch": ["2.3.1"],
-            "resolve": ["1.22.10"],
+            "resolve": ["1.22.11"],
             "rollup": ["3.29.4"],
             "supports-preserve-symlinks-flag": ["1.0.0"],
             "tslib": ["2.6.3"],
@@ -904,11 +904,43 @@
     )
 
     npm_import(
+        name = "lock-<LOCKVERSION>__lodash__4.0.1",
+        root_package = "<LOCKVERSION>",
+        link_workspace = "",
+        link_packages = {},
+        package = "lodash",
+        version = "4.0.1",
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.0.1.tgz",
+        package_visibility = ["//visibility:public"],
+        integrity = "sha512-jA3EFncTLSpNOJLgZUlI7Xrsg3t/DYbgPuRVD1qbLoyUXgzUEvB0EpJimh+WBM6CUNtAyKJ1CVPD+7wE+LrraQ==",
+        transitive_closure = {
+            "lodash": ["4.0.1"],
+        },
+    )
+
+    npm_import(
+        name = "lock-<LOCKVERSION>__lodash__4.17.20",
+        root_package = "<LOCKVERSION>",
+        link_workspace = "",
+        link_packages = {
+            "projects/alts": ["lodash-4.17.20"],
+        },
+        package = "lodash",
+        version = "4.17.20",
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
+        package_visibility = ["//visibility:public"],
+        integrity = "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
+        transitive_closure = {
+            "lodash": ["4.17.20"],
+        },
+    )
+
+    npm_import(
         name = "lock-<LOCKVERSION>__lodash__4.17.21",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {
-            "projects/alts": ["lodash-dupe"],
+            "projects/alts": ["lodash-4.17.21"],
         },
         package = "lodash",
         version = "4.17.21",
@@ -926,7 +958,7 @@
         link_workspace = "",
         link_packages = {
             "<LOCKVERSION>": ["lodash"],
-            "projects/alts": ["lodash", "lodash-file"],
+            "projects/alts": ["lodash", "lodash-4.17.21-file"],
         },
         package = "lodash",
         version = "file:../vendored/lodash-4.17.21.tgz",
@@ -1018,15 +1050,15 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__resolve__1.22.10",
+        name = "lock-<LOCKVERSION>__resolve__1.22.11",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "resolve",
-        version = "1.22.10",
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+        version = "1.22.11",
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+        integrity = "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
         deps = {
             "is-core-module": "2.16.1",
             "path-parse": "1.0.7",
@@ -1037,7 +1069,7 @@
             "hasown": ["2.0.2"],
             "is-core-module": ["2.16.1"],
             "path-parse": ["1.0.7"],
-            "resolve": ["1.22.10"],
+            "resolve": ["1.22.11"],
             "supports-preserve-symlinks-flag": ["1.0.0"],
         },
     )
@@ -1140,14 +1172,14 @@
         deps = {
             "eastasianwidth": "0.2.0",
             "emoji-regex": "9.2.2",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
+            "ansi-regex": ["6.2.2"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["9.2.2"],
             "string-width": ["5.1.2"],
-            "strip-ansi": ["7.1.0"],
+            "strip-ansi": ["7.1.2"],
         },
     )
 
@@ -1171,21 +1203,21 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__strip-ansi__7.1.0",
+        name = "lock-<LOCKVERSION>__strip-ansi__7.1.2",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "strip-ansi",
-        version = "7.1.0",
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+        version = "7.1.2",
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+        integrity = "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
         deps = {
-            "ansi-regex": "6.2.0",
+            "ansi-regex": "6.2.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
-            "strip-ansi": ["7.1.0"],
+            "ansi-regex": ["6.2.2"],
+            "strip-ansi": ["7.1.2"],
         },
     )
 
@@ -1320,17 +1352,17 @@
         package_visibility = ["//visibility:public"],
         integrity = "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
         deps = {
-            "ansi-styles": "6.2.1",
+            "ansi-styles": "6.2.3",
             "string-width": "5.1.2",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
-            "ansi-styles": ["6.2.1"],
+            "ansi-regex": ["6.2.2"],
+            "ansi-styles": ["6.2.3"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["9.2.2"],
             "string-width": ["5.1.2"],
-            "strip-ansi": ["7.1.0"],
+            "strip-ansi": ["7.1.2"],
             "wrap-ansi": ["8.1.0"],
         },
     )
diff --git a/e2e/pnpm_lockfiles/v61/pnpm-lock.yaml b/e2e/pnpm_lockfiles/v61/pnpm-lock.yaml
index fec8df1..6f2e4e4 100644
--- a/e2e/pnpm_lockfiles/v61/pnpm-lock.yaml
+++ b/e2e/pnpm_lockfiles/v61/pnpm-lock.yaml
@@ -166,12 +166,15 @@
   ../projects/alts:
     dependencies:
       lodash:
-        specifier: 4.17.21
-        version: 4.17.21
-      lodash-dupe:
+        specifier: 4.0.1
+        version: 4.0.1
+      lodash-4.17.20:
+        specifier: npm:lodash@4.17.20
+        version: /lodash@4.17.20
+      lodash-4.17.21:
         specifier: npm:lodash@4.17.21
         version: /lodash@4.17.21
-      lodash-file:
+      lodash-4.17.21-file:
         specifier: file:../../vendored/lodash-4.17.21.tgz
         version: file:../vendored/lodash-4.17.21.tgz
 
@@ -322,7 +325,7 @@
     dependencies:
       string-width: 5.1.2
       string-width-cjs: /string-width@4.2.3
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
       strip-ansi-cjs: /strip-ansi@6.0.1
       wrap-ansi: 8.1.0
       wrap-ansi-cjs: /wrap-ansi@7.0.0
@@ -337,7 +340,7 @@
       typescript: '>=3.7.0'
     dependencies:
       '@rollup/pluginutils': 3.1.0(rollup@3.29.4)
-      resolve: 1.22.10
+      resolve: 1.22.11
       rollup: 3.29.4
       tslib: 2.6.3
       typescript: 5.5.2
@@ -360,8 +363,8 @@
     engines: {node: '>=8'}
     dev: false
 
-  /ansi-regex@6.2.0:
-    resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==}
+  /ansi-regex@6.2.2:
+    resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
     engines: {node: '>=12'}
     dev: false
 
@@ -372,8 +375,8 @@
       color-convert: 2.0.1
     dev: false
 
-  /ansi-styles@6.2.1:
-    resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+  /ansi-styles@6.2.3:
+    resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
     engines: {node: '>=12'}
     dev: false
 
@@ -479,6 +482,14 @@
     engines: {node: '>=6'}
     dev: false
 
+  /lodash@4.0.1:
+    resolution: {integrity: sha512-jA3EFncTLSpNOJLgZUlI7Xrsg3t/DYbgPuRVD1qbLoyUXgzUEvB0EpJimh+WBM6CUNtAyKJ1CVPD+7wE+LrraQ==}
+    dev: false
+
+  /lodash@4.17.20:
+    resolution: {integrity: sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==}
+    dev: false
+
   /lodash@4.17.21:
     resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
     dev: false
@@ -506,8 +517,8 @@
     engines: {node: '>=8.6'}
     dev: false
 
-  /resolve@1.22.10:
-    resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+  /resolve@1.22.11:
+    resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
     engines: {node: '>= 0.4'}
     hasBin: true
     dependencies:
@@ -554,7 +565,7 @@
     dependencies:
       eastasianwidth: 0.2.0
       emoji-regex: 9.2.2
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
     dev: false
 
   /strip-ansi@6.0.1:
@@ -564,11 +575,11 @@
       ansi-regex: 5.0.1
     dev: false
 
-  /strip-ansi@7.1.0:
-    resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+  /strip-ansi@7.1.2:
+    resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
     engines: {node: '>=12'}
     dependencies:
-      ansi-regex: 6.2.0
+      ansi-regex: 6.2.2
     dev: false
 
   /supports-preserve-symlinks-flag@1.0.0:
@@ -613,9 +624,9 @@
     resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
     engines: {node: '>=12'}
     dependencies:
-      ansi-styles: 6.2.1
+      ansi-styles: 6.2.3
       string-width: 5.1.2
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
     dev: false
 
   '@github.com/aspect-build/test-packages/releases/download/0.0.0/@foo-jsonify-0.0.0.tgz':
diff --git a/e2e/pnpm_lockfiles/v61/snapshots/defs.bzl b/e2e/pnpm_lockfiles/v61/snapshots/defs.bzl
index 60701c9..cfe896d 100644
--- a/e2e/pnpm_lockfiles/v61/snapshots/defs.bzl
+++ b/e2e/pnpm_lockfiles/v61/snapshots/defs.bzl
@@ -1,9 +1,9 @@
 """@generated by npm_translate_lock(name = "lock-<LOCKVERSION>", pnpm_lock = "@@//<LOCKVERSION>:pnpm-lock.yaml")"""
 
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__5.0.1__links//:defs.bzl", store_0 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__6.2.0__links//:defs.bzl", store_1 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__6.2.2__links//:defs.bzl", store_1 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__4.3.0__links//:defs.bzl", store_2 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__6.2.1__links//:defs.bzl", store_3 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__6.2.3__links//:defs.bzl", store_3 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_a__5.0.2__links//:defs.bzl", link_4 = "npm_link_imported_package_store", store_4 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_b__5.0.2__links//:defs.bzl", link_5 = "npm_link_imported_package_store", store_5 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_c__2.0.0__links//:defs.bzl", link_6 = "npm_link_imported_package_store", store_6 = "npm_imported_package_store")
@@ -47,28 +47,30 @@
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__jquery__github.com_jquery_jquery_399b201bb3143a3952894cf3489b4848fc003967__links//:defs.bzl", link_44 = "npm_link_imported_package_store", store_44 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__jquery__github.com_jquery_jquery_e61fccb9d736235b4b011f89cba6866bc0b8997d__links//:defs.bzl", link_45 = "npm_link_imported_package_store", store_45 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__kleur__4.1.5__links//:defs.bzl", store_46 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.21__links//:defs.bzl", link_47 = "npm_link_imported_package_store", store_47 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__file_.._vendored_lodash-4.17.21.tgz__links//:defs.bzl", link_48 = "npm_link_imported_package_store", store_48 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__meaning-of-life__1.0.0_o3deharooos255qt5xdujc3cuq__links//:defs.bzl", link_49 = "npm_link_imported_package_store", store_49 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__mri__1.2.0__links//:defs.bzl", store_50 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ms__0.7.3__links//:defs.bzl", store_51 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__path-parse__1.0.7__links//:defs.bzl", store_52 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__picomatch__2.3.1__links//:defs.bzl", store_53 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__resolve__1.22.10__links//:defs.bzl", store_54 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__2.14.0__links//:defs.bzl", link_55 = "npm_link_imported_package_store", store_55 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__3.29.4__links//:defs.bzl", link_56 = "npm_link_imported_package_store", store_56 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__sade__1.8.1__links//:defs.bzl", store_57 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__4.2.3__links//:defs.bzl", store_58 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__5.1.2__links//:defs.bzl", store_59 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__6.0.1__links//:defs.bzl", store_60 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__7.1.0__links//:defs.bzl", store_61 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__supports-preserve-symlinks-flag__1.0.0__links//:defs.bzl", store_62 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__tslib__2.6.3__links//:defs.bzl", link_63 = "npm_link_imported_package_store", store_63 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__typescript__5.5.2__links//:defs.bzl", link_64 = "npm_link_imported_package_store", store_64 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__undici-types__5.26.5__links//:defs.bzl", store_65 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__uvu__0.5.6__links//:defs.bzl", link_66 = "npm_link_imported_package_store", store_66 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__7.0.0__links//:defs.bzl", store_67 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__8.1.0__links//:defs.bzl", store_68 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.0.1__links//:defs.bzl", store_47 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.20__links//:defs.bzl", link_48 = "npm_link_imported_package_store", store_48 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.21__links//:defs.bzl", link_49 = "npm_link_imported_package_store", store_49 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__file_.._vendored_lodash-4.17.21.tgz__links//:defs.bzl", link_50 = "npm_link_imported_package_store", store_50 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__meaning-of-life__1.0.0_o3deharooos255qt5xdujc3cuq__links//:defs.bzl", link_51 = "npm_link_imported_package_store", store_51 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__mri__1.2.0__links//:defs.bzl", store_52 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ms__0.7.3__links//:defs.bzl", store_53 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__path-parse__1.0.7__links//:defs.bzl", store_54 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__picomatch__2.3.1__links//:defs.bzl", store_55 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__resolve__1.22.11__links//:defs.bzl", store_56 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__2.14.0__links//:defs.bzl", link_57 = "npm_link_imported_package_store", store_57 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__3.29.4__links//:defs.bzl", link_58 = "npm_link_imported_package_store", store_58 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__sade__1.8.1__links//:defs.bzl", store_59 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__4.2.3__links//:defs.bzl", store_60 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__5.1.2__links//:defs.bzl", store_61 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__6.0.1__links//:defs.bzl", store_62 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__7.1.2__links//:defs.bzl", store_63 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__supports-preserve-symlinks-flag__1.0.0__links//:defs.bzl", store_64 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__tslib__2.6.3__links//:defs.bzl", link_65 = "npm_link_imported_package_store", store_65 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__typescript__5.5.2__links//:defs.bzl", link_66 = "npm_link_imported_package_store", store_66 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__undici-types__5.26.5__links//:defs.bzl", store_67 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__uvu__0.5.6__links//:defs.bzl", link_68 = "npm_link_imported_package_store", store_68 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__7.0.0__links//:defs.bzl", store_69 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__8.1.0__links//:defs.bzl", store_70 = "npm_imported_package_store")
 
 # buildifier: disable=bzl-visibility
 load("@aspect_rules_js//js:defs.bzl", _js_library = "js_library")
@@ -174,6 +176,8 @@
         store_66(name)
         store_67(name)
         store_68(name)
+        store_69(name)
+        store_70(name)
     if link:
         if bazel_package == "<LOCKVERSION>":
             link_4("{}/@aspect-test-a-bad-scope".format(name), False, name, "@aspect-test-a-bad-scope")
@@ -274,19 +278,19 @@
             link_targets.append(":{}/jquery-git-ssh-399b201".format(name))
             link_45("{}/jquery-git-ssh-e61fccb".format(name), False, name, "jquery-git-ssh-e61fccb")
             link_targets.append(":{}/jquery-git-ssh-e61fccb".format(name))
-            link_48("{}/lodash".format(name), False, name, "lodash")
+            link_50("{}/lodash".format(name), False, name, "lodash")
             link_targets.append(":{}/lodash".format(name))
-            link_49("{}/meaning-of-life".format(name), False, name, "meaning-of-life")
+            link_51("{}/meaning-of-life".format(name), False, name, "meaning-of-life")
             link_targets.append(":{}/meaning-of-life".format(name))
-            link_55("{}/rollup".format(name), False, name, "rollup")
+            link_57("{}/rollup".format(name), False, name, "rollup")
             link_targets.append(":{}/rollup".format(name))
-            link_56("{}/rollup3".format(name), False, name, "rollup3")
+            link_58("{}/rollup3".format(name), False, name, "rollup3")
             link_targets.append(":{}/rollup3".format(name))
-            link_63("{}/tslib".format(name), False, name, "tslib")
+            link_65("{}/tslib".format(name), False, name, "tslib")
             link_targets.append(":{}/tslib".format(name))
-            link_64("{}/typescript".format(name), False, name, "typescript")
+            link_66("{}/typescript".format(name), False, name, "typescript")
             link_targets.append(":{}/typescript".format(name))
-            link_66("{}/uvu".format(name), False, name, "uvu")
+            link_68("{}/uvu".format(name), False, name, "uvu")
             link_targets.append(":{}/uvu".format(name))
         elif bazel_package == "projects/peers-combo-2":
             link_6("{}/@aspect-test/c".format(name), False, name, "@aspect-test/c")
@@ -334,12 +338,14 @@
             else:
                 scope_targets["@types"].append(link_targets[-1])
         elif bazel_package == "projects/alts":
-            link_47("{}/lodash-dupe".format(name), False, name, "lodash-dupe")
-            link_targets.append(":{}/lodash-dupe".format(name))
-            link_48("{}/lodash".format(name), False, name, "lodash")
+            link_48("{}/lodash-4.17.20".format(name), False, name, "lodash-4.17.20")
+            link_targets.append(":{}/lodash-4.17.20".format(name))
+            link_49("{}/lodash-4.17.21".format(name), False, name, "lodash-4.17.21")
+            link_targets.append(":{}/lodash-4.17.21".format(name))
+            link_50("{}/lodash".format(name), False, name, "lodash")
             link_targets.append(":{}/lodash".format(name))
-            link_48("{}/lodash-file".format(name), False, name, "lodash-file")
-            link_targets.append(":{}/lodash-file".format(name))
+            link_50("{}/lodash-4.17.21-file".format(name), False, name, "lodash-4.17.21-file")
+            link_targets.append(":{}/lodash-4.17.21-file".format(name))
 
     if is_root:
         _npm_local_package_store(
@@ -813,9 +819,10 @@
                 link_targets.append(":{}/a-types".format(name))
         elif bazel_package == "projects/alts":
             if prod:
-                link_targets.append(":{}/lodash-dupe".format(name))
+                link_targets.append(":{}/lodash-4.17.20".format(name))
+                link_targets.append(":{}/lodash-4.17.21".format(name))
                 link_targets.append(":{}/lodash".format(name))
-                link_targets.append(":{}/lodash-file".format(name))
+                link_targets.append(":{}/lodash-4.17.21-file".format(name))
             if dev:
                 pass
         elif bazel_package == "projects/c":
diff --git a/e2e/pnpm_lockfiles/v61/snapshots/repositories.bzl b/e2e/pnpm_lockfiles/v61/snapshots/repositories.bzl
index 93d9bca..661ab83 100644
--- a/e2e/pnpm_lockfiles/v61/snapshots/repositories.bzl
+++ b/e2e/pnpm_lockfiles/v61/snapshots/repositories.bzl
@@ -21,17 +21,17 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__ansi-regex__6.2.0",
+        name = "lock-<LOCKVERSION>__ansi-regex__6.2.2",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "ansi-regex",
-        version = "6.2.0",
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz",
+        version = "6.2.2",
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
+        integrity = "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
+            "ansi-regex": ["6.2.2"],
         },
     )
 
@@ -56,17 +56,17 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__ansi-styles__6.2.1",
+        name = "lock-<LOCKVERSION>__ansi-styles__6.2.3",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "ansi-styles",
-        version = "6.2.1",
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+        version = "6.2.3",
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+        integrity = "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
         transitive_closure = {
-            "ansi-styles": ["6.2.1"],
+            "ansi-styles": ["6.2.3"],
         },
     )
 
@@ -303,22 +303,22 @@
         deps = {
             "string-width": "5.1.2",
             "string-width-cjs": "npm:string-width@4.2.3",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
             "strip-ansi-cjs": "npm:strip-ansi@6.0.1",
             "wrap-ansi": "8.1.0",
             "wrap-ansi-cjs": "npm:wrap-ansi@7.0.0",
         },
         transitive_closure = {
             "@isaacs/cliui": ["8.0.2"],
-            "ansi-regex": ["5.0.1", "6.2.0"],
-            "ansi-styles": ["4.3.0", "6.2.1"],
+            "ansi-regex": ["5.0.1", "6.2.2"],
+            "ansi-styles": ["4.3.0", "6.2.3"],
             "color-convert": ["2.0.1"],
             "color-name": ["1.1.4"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["8.0.0", "9.2.2"],
             "is-fullwidth-code-point": ["3.0.0"],
             "string-width": ["5.1.2", "4.2.3"],
-            "strip-ansi": ["7.1.0", "6.0.1"],
+            "strip-ansi": ["7.1.2", "6.0.1"],
             "wrap-ansi": ["8.1.0", "7.0.0"],
         },
     )
@@ -337,7 +337,7 @@
         integrity = "sha512-Qd2E1pleDR4bwyFxqbjt4eJf+wB0UKVMLc7/BAFDGVdAXQMCsD4DUv5/7/ww47BZCYxWtJqe1Lo0KVNswBJlRw==",
         deps = {
             "@rollup/pluginutils": "3.1.0_rollup_3.29.4",
-            "resolve": "1.22.10",
+            "resolve": "1.22.11",
             "rollup": "3.29.4",
             "tslib": "2.6.3",
             "typescript": "5.5.2",
@@ -353,7 +353,7 @@
             "is-core-module": ["2.16.1"],
             "path-parse": ["1.0.7"],
             "picomatch": ["2.3.1"],
-            "resolve": ["1.22.10"],
+            "resolve": ["1.22.11"],
             "rollup": ["3.29.4"],
             "supports-preserve-symlinks-flag": ["1.0.0"],
             "tslib": ["2.6.3"],
@@ -904,11 +904,43 @@
     )
 
     npm_import(
+        name = "lock-<LOCKVERSION>__lodash__4.0.1",
+        root_package = "<LOCKVERSION>",
+        link_workspace = "",
+        link_packages = {},
+        package = "lodash",
+        version = "4.0.1",
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.0.1.tgz",
+        package_visibility = ["//visibility:public"],
+        integrity = "sha512-jA3EFncTLSpNOJLgZUlI7Xrsg3t/DYbgPuRVD1qbLoyUXgzUEvB0EpJimh+WBM6CUNtAyKJ1CVPD+7wE+LrraQ==",
+        transitive_closure = {
+            "lodash": ["4.0.1"],
+        },
+    )
+
+    npm_import(
+        name = "lock-<LOCKVERSION>__lodash__4.17.20",
+        root_package = "<LOCKVERSION>",
+        link_workspace = "",
+        link_packages = {
+            "projects/alts": ["lodash-4.17.20"],
+        },
+        package = "lodash",
+        version = "4.17.20",
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
+        package_visibility = ["//visibility:public"],
+        integrity = "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
+        transitive_closure = {
+            "lodash": ["4.17.20"],
+        },
+    )
+
+    npm_import(
         name = "lock-<LOCKVERSION>__lodash__4.17.21",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {
-            "projects/alts": ["lodash-dupe"],
+            "projects/alts": ["lodash-4.17.21"],
         },
         package = "lodash",
         version = "4.17.21",
@@ -926,7 +958,7 @@
         link_workspace = "",
         link_packages = {
             "<LOCKVERSION>": ["lodash"],
-            "projects/alts": ["lodash", "lodash-file"],
+            "projects/alts": ["lodash", "lodash-4.17.21-file"],
         },
         package = "lodash",
         version = "file:../vendored/lodash-4.17.21.tgz",
@@ -1018,15 +1050,15 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__resolve__1.22.10",
+        name = "lock-<LOCKVERSION>__resolve__1.22.11",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "resolve",
-        version = "1.22.10",
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+        version = "1.22.11",
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+        integrity = "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
         deps = {
             "is-core-module": "2.16.1",
             "path-parse": "1.0.7",
@@ -1037,7 +1069,7 @@
             "hasown": ["2.0.2"],
             "is-core-module": ["2.16.1"],
             "path-parse": ["1.0.7"],
-            "resolve": ["1.22.10"],
+            "resolve": ["1.22.11"],
             "supports-preserve-symlinks-flag": ["1.0.0"],
         },
     )
@@ -1140,14 +1172,14 @@
         deps = {
             "eastasianwidth": "0.2.0",
             "emoji-regex": "9.2.2",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
+            "ansi-regex": ["6.2.2"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["9.2.2"],
             "string-width": ["5.1.2"],
-            "strip-ansi": ["7.1.0"],
+            "strip-ansi": ["7.1.2"],
         },
     )
 
@@ -1171,21 +1203,21 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__strip-ansi__7.1.0",
+        name = "lock-<LOCKVERSION>__strip-ansi__7.1.2",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "strip-ansi",
-        version = "7.1.0",
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+        version = "7.1.2",
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+        integrity = "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
         deps = {
-            "ansi-regex": "6.2.0",
+            "ansi-regex": "6.2.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
-            "strip-ansi": ["7.1.0"],
+            "ansi-regex": ["6.2.2"],
+            "strip-ansi": ["7.1.2"],
         },
     )
 
@@ -1320,17 +1352,17 @@
         package_visibility = ["//visibility:public"],
         integrity = "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
         deps = {
-            "ansi-styles": "6.2.1",
+            "ansi-styles": "6.2.3",
             "string-width": "5.1.2",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
-            "ansi-styles": ["6.2.1"],
+            "ansi-regex": ["6.2.2"],
+            "ansi-styles": ["6.2.3"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["9.2.2"],
             "string-width": ["5.1.2"],
-            "strip-ansi": ["7.1.0"],
+            "strip-ansi": ["7.1.2"],
             "wrap-ansi": ["8.1.0"],
         },
     )
diff --git a/e2e/pnpm_lockfiles/v90/pnpm-lock.yaml b/e2e/pnpm_lockfiles/v90/pnpm-lock.yaml
index 50373ba..635893b 100644
--- a/e2e/pnpm_lockfiles/v90/pnpm-lock.yaml
+++ b/e2e/pnpm_lockfiles/v90/pnpm-lock.yaml
@@ -163,12 +163,15 @@
   ../projects/alts:
     dependencies:
       lodash:
-        specifier: 4.17.21
-        version: 4.17.21
-      lodash-dupe:
+        specifier: 4.0.1
+        version: 4.0.1
+      lodash-4.17.20:
+        specifier: npm:lodash@4.17.20
+        version: lodash@4.17.20
+      lodash-4.17.21:
         specifier: npm:lodash@4.17.21
         version: lodash@4.17.21
-      lodash-file:
+      lodash-4.17.21-file:
         specifier: file:../../vendored/lodash-4.17.21.tgz
         version: lodash@file:../vendored/lodash-4.17.21.tgz
 
@@ -326,16 +329,16 @@
     resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
     engines: {node: '>=8'}
 
-  ansi-regex@6.2.0:
-    resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==}
+  ansi-regex@6.2.2:
+    resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
     engines: {node: '>=12'}
 
   ansi-styles@4.3.0:
     resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
     engines: {node: '>=8'}
 
-  ansi-styles@6.2.1:
-    resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+  ansi-styles@6.2.3:
+    resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
     engines: {node: '>=12'}
 
   color-convert@2.0.1:
@@ -434,6 +437,12 @@
     resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
     engines: {node: '>=6'}
 
+  lodash@4.0.1:
+    resolution: {integrity: sha512-jA3EFncTLSpNOJLgZUlI7Xrsg3t/DYbgPuRVD1qbLoyUXgzUEvB0EpJimh+WBM6CUNtAyKJ1CVPD+7wE+LrraQ==}
+
+  lodash@4.17.20:
+    resolution: {integrity: sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==}
+
   lodash@4.17.21:
     resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
 
@@ -458,8 +467,8 @@
     resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
     engines: {node: '>=8.6'}
 
-  resolve@1.22.10:
-    resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+  resolve@1.22.11:
+    resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
     engines: {node: '>= 0.4'}
     hasBin: true
 
@@ -489,8 +498,8 @@
     resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
     engines: {node: '>=8'}
 
-  strip-ansi@7.1.0:
-    resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+  strip-ansi@7.1.2:
+    resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
     engines: {node: '>=12'}
 
   supports-preserve-symlinks-flag@1.0.0:
@@ -564,7 +573,7 @@
     dependencies:
       string-width: 5.1.2
       string-width-cjs: string-width@4.2.3
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
       strip-ansi-cjs: strip-ansi@6.0.1
       wrap-ansi: 8.1.0
       wrap-ansi-cjs: wrap-ansi@7.0.0
@@ -572,7 +581,7 @@
   '@rollup/plugin-typescript@8.2.1(rollup@2.14.0)(tslib@2.8.1)(typescript@5.5.2)':
     dependencies:
       '@rollup/pluginutils': 3.1.0(rollup@2.14.0)
-      resolve: 1.22.10
+      resolve: 1.22.11
       rollup: 2.14.0
       tslib: 2.8.1
       typescript: 5.5.2
@@ -610,13 +619,13 @@
 
   ansi-regex@5.0.1: {}
 
-  ansi-regex@6.2.0: {}
+  ansi-regex@6.2.2: {}
 
   ansi-styles@4.3.0:
     dependencies:
       color-convert: 2.0.1
 
-  ansi-styles@6.2.1: {}
+  ansi-styles@6.2.3: {}
 
   color-convert@2.0.1:
     dependencies:
@@ -685,6 +694,10 @@
 
   kleur@4.1.5: {}
 
+  lodash@4.0.1: {}
+
+  lodash@4.17.20: {}
+
   lodash@4.17.21: {}
 
   lodash@file:../vendored/lodash-4.17.21.tgz: {}
@@ -699,7 +712,7 @@
 
   picomatch@2.3.1: {}
 
-  resolve@1.22.10:
+  resolve@1.22.11:
     dependencies:
       is-core-module: 2.16.1
       path-parse: 1.0.7
@@ -727,15 +740,15 @@
     dependencies:
       eastasianwidth: 0.2.0
       emoji-regex: 9.2.2
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
 
   strip-ansi@6.0.1:
     dependencies:
       ansi-regex: 5.0.1
 
-  strip-ansi@7.1.0:
+  strip-ansi@7.1.2:
     dependencies:
-      ansi-regex: 6.2.0
+      ansi-regex: 6.2.2
 
   supports-preserve-symlinks-flag@1.0.0: {}
 
@@ -760,6 +773,6 @@
 
   wrap-ansi@8.1.0:
     dependencies:
-      ansi-styles: 6.2.1
+      ansi-styles: 6.2.3
       string-width: 5.1.2
-      strip-ansi: 7.1.0
+      strip-ansi: 7.1.2
diff --git a/e2e/pnpm_lockfiles/v90/snapshots/defs.bzl b/e2e/pnpm_lockfiles/v90/snapshots/defs.bzl
index 2673cbb..9440876 100644
--- a/e2e/pnpm_lockfiles/v90/snapshots/defs.bzl
+++ b/e2e/pnpm_lockfiles/v90/snapshots/defs.bzl
@@ -1,9 +1,9 @@
 """@generated by npm_translate_lock(name = "lock-<LOCKVERSION>", pnpm_lock = "@@//<LOCKVERSION>:pnpm-lock.yaml")"""
 
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__5.0.1__links//:defs.bzl", store_0 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__6.2.0__links//:defs.bzl", store_1 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-regex__6.2.2__links//:defs.bzl", store_1 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__4.3.0__links//:defs.bzl", store_2 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__6.2.1__links//:defs.bzl", store_3 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ansi-styles__6.2.3__links//:defs.bzl", store_3 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_a__5.0.2__links//:defs.bzl", link_4 = "npm_link_imported_package_store", store_4 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_b__5.0.2__links//:defs.bzl", link_5 = "npm_link_imported_package_store", store_5 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__at_aspect-test_c__2.0.0__links//:defs.bzl", link_6 = "npm_link_imported_package_store", store_6 = "npm_imported_package_store")
@@ -47,28 +47,30 @@
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__jquery__https___codeload.github.com_jquery_jquery_tar.gz_399b201bb3143a3952894cf3489b4848fc003967__links//:defs.bzl", link_44 = "npm_link_imported_package_store", store_44 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__jquery__https___codeload.github.com_jquery_jquery_tar.gz_e61fccb9d736235b4b011f89cba6866bc0b8997d__links//:defs.bzl", link_45 = "npm_link_imported_package_store", store_45 = "npm_imported_package_store")
 load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__kleur__4.1.5__links//:defs.bzl", store_46 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.21__links//:defs.bzl", link_47 = "npm_link_imported_package_store", store_47 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__file_.._vendored_lodash-4.17.21.tgz__links//:defs.bzl", link_48 = "npm_link_imported_package_store", store_48 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__meaning-of-life__1.0.0_o3deharooos255qt5xdujc3cuq__links//:defs.bzl", link_49 = "npm_link_imported_package_store", store_49 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__mri__1.2.0__links//:defs.bzl", store_50 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ms__0.7.3__links//:defs.bzl", store_51 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__path-parse__1.0.7__links//:defs.bzl", store_52 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__picomatch__2.3.1__links//:defs.bzl", store_53 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__resolve__1.22.10__links//:defs.bzl", store_54 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__2.14.0__links//:defs.bzl", link_55 = "npm_link_imported_package_store", store_55 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__3.29.4__links//:defs.bzl", link_56 = "npm_link_imported_package_store", store_56 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__sade__1.8.1__links//:defs.bzl", store_57 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__4.2.3__links//:defs.bzl", store_58 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__5.1.2__links//:defs.bzl", store_59 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__6.0.1__links//:defs.bzl", store_60 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__7.1.0__links//:defs.bzl", store_61 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__supports-preserve-symlinks-flag__1.0.0__links//:defs.bzl", store_62 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__tslib__2.8.1__links//:defs.bzl", link_63 = "npm_link_imported_package_store", store_63 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__typescript__5.5.2__links//:defs.bzl", link_64 = "npm_link_imported_package_store", store_64 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__undici-types__5.26.5__links//:defs.bzl", store_65 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__uvu__0.5.6__links//:defs.bzl", link_66 = "npm_link_imported_package_store", store_66 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__7.0.0__links//:defs.bzl", store_67 = "npm_imported_package_store")
-load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__8.1.0__links//:defs.bzl", store_68 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.0.1__links//:defs.bzl", store_47 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.20__links//:defs.bzl", link_48 = "npm_link_imported_package_store", store_48 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__4.17.21__links//:defs.bzl", link_49 = "npm_link_imported_package_store", store_49 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__lodash__file_.._vendored_lodash-4.17.21.tgz__links//:defs.bzl", link_50 = "npm_link_imported_package_store", store_50 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__meaning-of-life__1.0.0_o3deharooos255qt5xdujc3cuq__links//:defs.bzl", link_51 = "npm_link_imported_package_store", store_51 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__mri__1.2.0__links//:defs.bzl", store_52 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__ms__0.7.3__links//:defs.bzl", store_53 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__path-parse__1.0.7__links//:defs.bzl", store_54 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__picomatch__2.3.1__links//:defs.bzl", store_55 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__resolve__1.22.11__links//:defs.bzl", store_56 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__2.14.0__links//:defs.bzl", link_57 = "npm_link_imported_package_store", store_57 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__rollup__3.29.4__links//:defs.bzl", link_58 = "npm_link_imported_package_store", store_58 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__sade__1.8.1__links//:defs.bzl", store_59 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__4.2.3__links//:defs.bzl", store_60 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__string-width__5.1.2__links//:defs.bzl", store_61 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__6.0.1__links//:defs.bzl", store_62 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__strip-ansi__7.1.2__links//:defs.bzl", store_63 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__supports-preserve-symlinks-flag__1.0.0__links//:defs.bzl", store_64 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__tslib__2.8.1__links//:defs.bzl", link_65 = "npm_link_imported_package_store", store_65 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__typescript__5.5.2__links//:defs.bzl", link_66 = "npm_link_imported_package_store", store_66 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__undici-types__5.26.5__links//:defs.bzl", store_67 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__uvu__0.5.6__links//:defs.bzl", link_68 = "npm_link_imported_package_store", store_68 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__7.0.0__links//:defs.bzl", store_69 = "npm_imported_package_store")
+load("@@aspect_rules_js~~npm~lock-<LOCKVERSION>__wrap-ansi__8.1.0__links//:defs.bzl", store_70 = "npm_imported_package_store")
 
 # buildifier: disable=bzl-visibility
 load("@aspect_rules_js//js:defs.bzl", _js_library = "js_library")
@@ -174,6 +176,8 @@
         store_66(name)
         store_67(name)
         store_68(name)
+        store_69(name)
+        store_70(name)
     if link:
         if bazel_package == "<LOCKVERSION>":
             link_4("{}/@aspect-test-a-bad-scope".format(name), False, name, "@aspect-test-a-bad-scope")
@@ -274,19 +278,19 @@
             link_targets.append(":{}/jquery-git-ssh-399b201".format(name))
             link_45("{}/jquery-git-ssh-e61fccb".format(name), False, name, "jquery-git-ssh-e61fccb")
             link_targets.append(":{}/jquery-git-ssh-e61fccb".format(name))
-            link_48("{}/lodash".format(name), False, name, "lodash")
+            link_50("{}/lodash".format(name), False, name, "lodash")
             link_targets.append(":{}/lodash".format(name))
-            link_49("{}/meaning-of-life".format(name), False, name, "meaning-of-life")
+            link_51("{}/meaning-of-life".format(name), False, name, "meaning-of-life")
             link_targets.append(":{}/meaning-of-life".format(name))
-            link_55("{}/rollup".format(name), False, name, "rollup")
+            link_57("{}/rollup".format(name), False, name, "rollup")
             link_targets.append(":{}/rollup".format(name))
-            link_56("{}/rollup3".format(name), False, name, "rollup3")
+            link_58("{}/rollup3".format(name), False, name, "rollup3")
             link_targets.append(":{}/rollup3".format(name))
-            link_63("{}/tslib".format(name), False, name, "tslib")
+            link_65("{}/tslib".format(name), False, name, "tslib")
             link_targets.append(":{}/tslib".format(name))
-            link_64("{}/typescript".format(name), False, name, "typescript")
+            link_66("{}/typescript".format(name), False, name, "typescript")
             link_targets.append(":{}/typescript".format(name))
-            link_66("{}/uvu".format(name), False, name, "uvu")
+            link_68("{}/uvu".format(name), False, name, "uvu")
             link_targets.append(":{}/uvu".format(name))
         elif bazel_package == "projects/peers-combo-2":
             link_6("{}/@aspect-test/c".format(name), False, name, "@aspect-test/c")
@@ -334,12 +338,14 @@
             else:
                 scope_targets["@types"].append(link_targets[-1])
         elif bazel_package == "projects/alts":
-            link_47("{}/lodash-dupe".format(name), False, name, "lodash-dupe")
-            link_targets.append(":{}/lodash-dupe".format(name))
-            link_48("{}/lodash".format(name), False, name, "lodash")
+            link_48("{}/lodash-4.17.20".format(name), False, name, "lodash-4.17.20")
+            link_targets.append(":{}/lodash-4.17.20".format(name))
+            link_49("{}/lodash-4.17.21".format(name), False, name, "lodash-4.17.21")
+            link_targets.append(":{}/lodash-4.17.21".format(name))
+            link_50("{}/lodash".format(name), False, name, "lodash")
             link_targets.append(":{}/lodash".format(name))
-            link_48("{}/lodash-file".format(name), False, name, "lodash-file")
-            link_targets.append(":{}/lodash-file".format(name))
+            link_50("{}/lodash-4.17.21-file".format(name), False, name, "lodash-4.17.21-file")
+            link_targets.append(":{}/lodash-4.17.21-file".format(name))
 
     if is_root:
         _npm_local_package_store(
@@ -813,9 +819,10 @@
                 link_targets.append(":{}/a-types".format(name))
         elif bazel_package == "projects/alts":
             if prod:
-                link_targets.append(":{}/lodash-dupe".format(name))
+                link_targets.append(":{}/lodash-4.17.20".format(name))
+                link_targets.append(":{}/lodash-4.17.21".format(name))
                 link_targets.append(":{}/lodash".format(name))
-                link_targets.append(":{}/lodash-file".format(name))
+                link_targets.append(":{}/lodash-4.17.21-file".format(name))
             if dev:
                 pass
         elif bazel_package == "projects/c":
diff --git a/e2e/pnpm_lockfiles/v90/snapshots/repositories.bzl b/e2e/pnpm_lockfiles/v90/snapshots/repositories.bzl
index 955c963..7871816 100644
--- a/e2e/pnpm_lockfiles/v90/snapshots/repositories.bzl
+++ b/e2e/pnpm_lockfiles/v90/snapshots/repositories.bzl
@@ -21,17 +21,17 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__ansi-regex__6.2.0",
+        name = "lock-<LOCKVERSION>__ansi-regex__6.2.2",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "ansi-regex",
-        version = "6.2.0",
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz",
+        version = "6.2.2",
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
+        integrity = "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
+            "ansi-regex": ["6.2.2"],
         },
     )
 
@@ -56,17 +56,17 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__ansi-styles__6.2.1",
+        name = "lock-<LOCKVERSION>__ansi-styles__6.2.3",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "ansi-styles",
-        version = "6.2.1",
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+        version = "6.2.3",
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+        integrity = "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
         transitive_closure = {
-            "ansi-styles": ["6.2.1"],
+            "ansi-styles": ["6.2.3"],
         },
     )
 
@@ -303,22 +303,22 @@
         deps = {
             "string-width": "5.1.2",
             "string-width-cjs": "npm:string-width@4.2.3",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
             "strip-ansi-cjs": "npm:strip-ansi@6.0.1",
             "wrap-ansi": "8.1.0",
             "wrap-ansi-cjs": "npm:wrap-ansi@7.0.0",
         },
         transitive_closure = {
             "@isaacs/cliui": ["8.0.2"],
-            "ansi-regex": ["5.0.1", "6.2.0"],
-            "ansi-styles": ["4.3.0", "6.2.1"],
+            "ansi-regex": ["5.0.1", "6.2.2"],
+            "ansi-styles": ["4.3.0", "6.2.3"],
             "color-convert": ["2.0.1"],
             "color-name": ["1.1.4"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["8.0.0", "9.2.2"],
             "is-fullwidth-code-point": ["3.0.0"],
             "string-width": ["5.1.2", "4.2.3"],
-            "strip-ansi": ["7.1.0", "6.0.1"],
+            "strip-ansi": ["7.1.2", "6.0.1"],
             "wrap-ansi": ["8.1.0", "7.0.0"],
         },
     )
@@ -337,7 +337,7 @@
         integrity = "sha512-Qd2E1pleDR4bwyFxqbjt4eJf+wB0UKVMLc7/BAFDGVdAXQMCsD4DUv5/7/ww47BZCYxWtJqe1Lo0KVNswBJlRw==",
         deps = {
             "@rollup/pluginutils": "3.1.0_rollup_2.14.0",
-            "resolve": "1.22.10",
+            "resolve": "1.22.11",
             "rollup": "2.14.0",
             "tslib": "2.8.1",
             "typescript": "5.5.2",
@@ -353,7 +353,7 @@
             "is-core-module": ["2.16.1"],
             "path-parse": ["1.0.7"],
             "picomatch": ["2.3.1"],
-            "resolve": ["1.22.10"],
+            "resolve": ["1.22.11"],
             "rollup": ["2.14.0"],
             "supports-preserve-symlinks-flag": ["1.0.0"],
             "tslib": ["2.8.1"],
@@ -900,11 +900,43 @@
     )
 
     npm_import(
+        name = "lock-<LOCKVERSION>__lodash__4.0.1",
+        root_package = "<LOCKVERSION>",
+        link_workspace = "",
+        link_packages = {},
+        package = "lodash",
+        version = "4.0.1",
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.0.1.tgz",
+        package_visibility = ["//visibility:public"],
+        integrity = "sha512-jA3EFncTLSpNOJLgZUlI7Xrsg3t/DYbgPuRVD1qbLoyUXgzUEvB0EpJimh+WBM6CUNtAyKJ1CVPD+7wE+LrraQ==",
+        transitive_closure = {
+            "lodash": ["4.0.1"],
+        },
+    )
+
+    npm_import(
+        name = "lock-<LOCKVERSION>__lodash__4.17.20",
+        root_package = "<LOCKVERSION>",
+        link_workspace = "",
+        link_packages = {
+            "projects/alts": ["lodash-4.17.20"],
+        },
+        package = "lodash",
+        version = "4.17.20",
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
+        package_visibility = ["//visibility:public"],
+        integrity = "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
+        transitive_closure = {
+            "lodash": ["4.17.20"],
+        },
+    )
+
+    npm_import(
         name = "lock-<LOCKVERSION>__lodash__4.17.21",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {
-            "projects/alts": ["lodash-dupe"],
+            "projects/alts": ["lodash-4.17.21"],
         },
         package = "lodash",
         version = "4.17.21",
@@ -922,7 +954,7 @@
         link_workspace = "",
         link_packages = {
             "<LOCKVERSION>": ["lodash"],
-            "projects/alts": ["lodash", "lodash-file"],
+            "projects/alts": ["lodash", "lodash-4.17.21-file"],
         },
         package = "lodash",
         version = "file:../vendored/lodash-4.17.21.tgz",
@@ -1014,15 +1046,15 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__resolve__1.22.10",
+        name = "lock-<LOCKVERSION>__resolve__1.22.11",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "resolve",
-        version = "1.22.10",
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+        version = "1.22.11",
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+        integrity = "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
         deps = {
             "is-core-module": "2.16.1",
             "path-parse": "1.0.7",
@@ -1033,7 +1065,7 @@
             "hasown": ["2.0.2"],
             "is-core-module": ["2.16.1"],
             "path-parse": ["1.0.7"],
-            "resolve": ["1.22.10"],
+            "resolve": ["1.22.11"],
             "supports-preserve-symlinks-flag": ["1.0.0"],
         },
     )
@@ -1136,14 +1168,14 @@
         deps = {
             "eastasianwidth": "0.2.0",
             "emoji-regex": "9.2.2",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
+            "ansi-regex": ["6.2.2"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["9.2.2"],
             "string-width": ["5.1.2"],
-            "strip-ansi": ["7.1.0"],
+            "strip-ansi": ["7.1.2"],
         },
     )
 
@@ -1167,21 +1199,21 @@
     )
 
     npm_import(
-        name = "lock-<LOCKVERSION>__strip-ansi__7.1.0",
+        name = "lock-<LOCKVERSION>__strip-ansi__7.1.2",
         root_package = "<LOCKVERSION>",
         link_workspace = "",
         link_packages = {},
         package = "strip-ansi",
-        version = "7.1.0",
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+        version = "7.1.2",
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
         package_visibility = ["//visibility:public"],
-        integrity = "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+        integrity = "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
         deps = {
-            "ansi-regex": "6.2.0",
+            "ansi-regex": "6.2.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
-            "strip-ansi": ["7.1.0"],
+            "ansi-regex": ["6.2.2"],
+            "strip-ansi": ["7.1.2"],
         },
     )
 
@@ -1316,17 +1348,17 @@
         package_visibility = ["//visibility:public"],
         integrity = "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
         deps = {
-            "ansi-styles": "6.2.1",
+            "ansi-styles": "6.2.3",
             "string-width": "5.1.2",
-            "strip-ansi": "7.1.0",
+            "strip-ansi": "7.1.2",
         },
         transitive_closure = {
-            "ansi-regex": ["6.2.0"],
-            "ansi-styles": ["6.2.1"],
+            "ansi-regex": ["6.2.2"],
+            "ansi-styles": ["6.2.3"],
             "eastasianwidth": ["0.2.0"],
             "emoji-regex": ["9.2.2"],
             "string-width": ["5.1.2"],
-            "strip-ansi": ["7.1.0"],
+            "strip-ansi": ["7.1.2"],
             "wrap-ansi": ["8.1.0"],
         },
     )