Skip to content

Commit ae2d982

Browse files
ljharblukekarrys
andauthoredDec 6, 2023
fix(arborist): node.target can be null when it is a file dep or symlink (#7027)
Co-authored-by: Luke Karrys <luke@lukekarrys.com>
1 parent 5a2e334 commit ae2d982

File tree

13 files changed

+2231
-2
lines changed

13 files changed

+2231
-2
lines changed
 

‎workspaces/arborist/lib/arborist/load-actual.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ module.exports = cls => class ActualLoader extends cls {
333333

334334
async #loadFSTree (node) {
335335
const did = this.#actualTreeLoaded
336-
if (!did.has(node.target.realpath)) {
336+
if (!node.isLink && !did.has(node.target.realpath)) {
337337
did.add(node.target.realpath)
338338
await this.#loadFSChildren(node.target)
339339
return Promise.all(

‎workspaces/arborist/lib/tree-check.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ const checkTree = (tree, checkUnreachable = true) => {
9090
})
9191
}
9292

93-
if (node.path === tree.root.path && node !== tree.root) {
93+
if (node.path === tree.root.path && node !== tree.root && !tree.root.isLink) {
9494
throw Object.assign(new Error('node with same path as root'), {
9595
node: node.path,
9696
tree: tree.path,

‎workspaces/arborist/tap-snapshots/test/arborist/reify.js.test.cjs

+134
Original file line numberDiff line numberDiff line change
@@ -2007,6 +2007,140 @@ ArboristNode {
20072007
}
20082008
`
20092009

2010+
exports[`test/arborist/reify.js TAP bundled file dep with same name as other dep > must match snapshot 1`] = `
2011+
ArboristNode {
2012+
"children": Map {
2013+
"@fixtures/has-package-exports" => ArboristLink {
2014+
"bundleDependencies": Array [
2015+
"abbrev",
2016+
],
2017+
"edgesIn": Set {
2018+
EdgeIn {
2019+
"from": "",
2020+
"name": "@fixtures/has-package-exports",
2021+
"spec": "file:fixtures-has-package-exports",
2022+
"type": "prod",
2023+
},
2024+
},
2025+
"location": "node_modules/@fixtures/has-package-exports",
2026+
"name": "@fixtures/has-package-exports",
2027+
"path": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/node_modules/@fixtures/has-package-exports",
2028+
"realpath": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/fixtures-has-package-exports",
2029+
"resolved": "file:../../fixtures-has-package-exports",
2030+
"target": ArboristNode {
2031+
"location": "fixtures-has-package-exports",
2032+
},
2033+
},
2034+
"@ljharb/has-package-exports-patterns" => ArboristNode {
2035+
"edgesIn": Set {
2036+
EdgeIn {
2037+
"from": "node_modules/has-package-exports",
2038+
"name": "@ljharb/has-package-exports-patterns",
2039+
"spec": "^0.0.2",
2040+
"type": "prod",
2041+
},
2042+
},
2043+
"location": "node_modules/@ljharb/has-package-exports-patterns",
2044+
"name": "@ljharb/has-package-exports-patterns",
2045+
"path": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/node_modules/@ljharb/has-package-exports-patterns",
2046+
"resolved": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.2.tgz",
2047+
"version": "0.0.2",
2048+
},
2049+
"has-package-exports" => ArboristNode {
2050+
"edgesIn": Set {
2051+
EdgeIn {
2052+
"from": "",
2053+
"name": "has-package-exports",
2054+
"spec": "^1.3.0",
2055+
"type": "prod",
2056+
},
2057+
},
2058+
"edgesOut": Map {
2059+
"@ljharb/has-package-exports-patterns" => EdgeOut {
2060+
"name": "@ljharb/has-package-exports-patterns",
2061+
"spec": "^0.0.2",
2062+
"to": "node_modules/@ljharb/has-package-exports-patterns",
2063+
"type": "prod",
2064+
},
2065+
},
2066+
"location": "node_modules/has-package-exports",
2067+
"name": "has-package-exports",
2068+
"path": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/node_modules/has-package-exports",
2069+
"resolved": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.3.0.tgz",
2070+
"version": "1.3.0",
2071+
},
2072+
},
2073+
"edgesOut": Map {
2074+
"@fixtures/has-package-exports" => EdgeOut {
2075+
"name": "@fixtures/has-package-exports",
2076+
"spec": "file:fixtures-has-package-exports",
2077+
"to": "node_modules/@fixtures/has-package-exports",
2078+
"type": "prod",
2079+
},
2080+
"has-package-exports" => EdgeOut {
2081+
"name": "has-package-exports",
2082+
"spec": "^1.3.0",
2083+
"to": "node_modules/has-package-exports",
2084+
"type": "prod",
2085+
},
2086+
},
2087+
"fsChildren": Set {
2088+
ArboristNode {
2089+
"bundleDependencies": Array [
2090+
"abbrev",
2091+
],
2092+
"children": Map {
2093+
"has-package-exports" => ArboristLink {
2094+
"bundleDependencies": Array [
2095+
"abbrev",
2096+
],
2097+
"dev": true,
2098+
"edgesIn": Set {
2099+
EdgeIn {
2100+
"from": "fixtures-has-package-exports",
2101+
"name": "has-package-exports",
2102+
"spec": "file:.",
2103+
"type": "dev",
2104+
},
2105+
},
2106+
"location": "fixtures-has-package-exports/node_modules/has-package-exports",
2107+
"name": "has-package-exports",
2108+
"path": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/fixtures-has-package-exports/node_modules/has-package-exports",
2109+
"realpath": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/fixtures-has-package-exports",
2110+
"resolved": "file:..",
2111+
"target": ArboristNode {
2112+
"location": "fixtures-has-package-exports",
2113+
},
2114+
},
2115+
},
2116+
"dev": true,
2117+
"edgesOut": Map {
2118+
"abbrev" => EdgeOut {
2119+
"error": "MISSING",
2120+
"name": "abbrev",
2121+
"spec": "1.1.1",
2122+
"to": null,
2123+
"type": "prod",
2124+
},
2125+
"has-package-exports" => EdgeOut {
2126+
"name": "has-package-exports",
2127+
"spec": "file:.",
2128+
"to": "fixtures-has-package-exports/node_modules/has-package-exports",
2129+
"type": "dev",
2130+
},
2131+
},
2132+
"location": "fixtures-has-package-exports",
2133+
"name": "@fixtures/has-package-exports",
2134+
"path": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/fixtures-has-package-exports",
2135+
},
2136+
},
2137+
"isProjectRoot": true,
2138+
"location": "",
2139+
"name": "tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep",
2140+
"path": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep",
2141+
}
2142+
`
2143+
20102144
exports[`test/arborist/reify.js TAP collide case-variant dep names > tree 1 1`] = `
20112145
ArboristNode {
20122146
"children": Map {

‎workspaces/arborist/test/arborist/reify.js

+5
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,11 @@ const newArb = (opt) => new Arborist({
160160

161161
const reify = (path, opt) => newArb({ path, ...(opt || {}) }).reify(opt)
162162

163+
t.test('bundled file dep with same name as other dep', async t => {
164+
const tree = await printReified(fixture(t, 'conflict-bundle-file-dep'))
165+
t.matchSnapshot(tree)
166+
})
167+
163168
t.test('tarball deps with transitive tarball deps', t =>
164169
t.resolveMatchSnapshot(printReified(fixture(t, 'tarball-dependencies'))))
165170

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"bundleDependencies": true,
3+
"dependencies": {
4+
"abbrev": "1.1.1"
5+
},
6+
"devDependencies": {
7+
"has-package-exports": "file:."
8+
}
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"dependencies": {
3+
"@fixtures/has-package-exports": "file:fixtures-has-package-exports",
4+
"has-package-exports": "^1.3.0"
5+
}
6+
}

‎workspaces/arborist/test/fixtures/registry-mocks/content/has-package-exports.json

+1,392
Large diffs are not rendered by default.

‎workspaces/arborist/test/fixtures/registry-mocks/content/has-package-exports.min.json

+383
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
{
2+
"_id": "@ljharb/has-package-exports-patterns",
3+
"_rev": "3-d0393bf328f2bed4c41c2cb289ca9384",
4+
"name": "@ljharb/has-package-exports-patterns",
5+
"dist-tags": {
6+
"latest": "0.0.2"
7+
},
8+
"versions": {
9+
"0.0.0": {
10+
"name": "@ljharb/has-package-exports-patterns",
11+
"version": "0.0.0",
12+
"main": "./no.js",
13+
"exports": {
14+
".": "./no.js",
15+
"./patterns/*": "./patterns/*ed.js"
16+
},
17+
"repository": {
18+
"type": "git",
19+
"url": "git+https://github.com/inspect-js/has-package-exports.git"
20+
},
21+
"author": {
22+
"name": "Jordan Harband",
23+
"email": "ljharb@gmail.com"
24+
},
25+
"license": "MIT",
26+
"bugs": {
27+
"url": "https://github.com/inspect-js/has-package-exports/issues"
28+
},
29+
"homepage": "https://github.com/inspect-js/has-package-exports#readme",
30+
"_id": "@ljharb/has-package-exports-patterns@0.0.0",
31+
"_nodeVersion": "14.13.0",
32+
"_npmVersion": "6.14.8",
33+
"dist": {
34+
"integrity": "sha512-e5d7/9bs2uorgQrHzGfzvT6WTyUbWiaiQXBourc2d7/LzvjZkRpFfDWN96WPsEqRMKrbx6aT/5XFma4WYMvu2A==",
35+
"shasum": "4bec9d26d79b57021f4069ee42bc1bdb3a222372",
36+
"tarball": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.0.tgz",
37+
"fileCount": 2,
38+
"unpackedSize": 535,
39+
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/r2CRA9TVsSAnZWagAAtLsP/3YEyKmT4SHRBhHwRv90\nuydMCnl4UygliJrdRO1EFa7Y0RWv3yeJDmiP/BbHvbKx+oH1WuRE+ZkjgTce\n8FMV/XUU9muyaEcdy33bzKosu1lukgETXT28IxrGK/JbGoboMbt+Iz8+W5Fa\n+2D546TGv0o7hf/aHilosi11J5C7rd4YuqSxJGXJVXpaytik+e9OFU7rrV/7\nW9mbFmt8YOxfNiOslNvZUA05gHWPLGhw7I9Rl9Jqd6o2xdY5TvXoMUsy45SQ\nUdC5nnVijDleUmULhkxS8ULMJ6GvQkF6lVa3OHHItIByvhfKY8TnKK+ioHYw\nyEvZ63sj8mjYTIi6f5Jgj5NvQrm6lI/JcXW761vxxEcSLPW/onAsPvZHJqkU\nqlGVFib7Xh4Sp8NjJax5pO6QpCHMVs1+WemklXUFQA27Lxod1pXOzvFmq4Wu\nr3cMrYGLol7aPogRyb4v/bu25oDLdMkLmokEc68J9+Q4cw/ZaNzMa1sBWFlC\nhW503lWySfkpoWkLl0kypoZwbLsUZoIO5YFLldxnsynm7XSMHOZBGv/hzCdR\ndBHTvFAs9PgYFJj8xbtL2Wnja7Uuyu9ThlA3uezeDu0bD+IcPa8IdQvXTNSI\nA3pnOuDVzy1pdGny5oIeO4VGY9YU6mC8XSt/g2qgLoEGSib9VxSBKA4qCZ7K\neCWx\r\n=eDD7\r\n-----END PGP SIGNATURE-----\r\n",
40+
"signatures": [
41+
{
42+
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
43+
"sig": "MEYCIQCxiTdVCltPVhh84T/xXOOv3SQo1hCJzPMuBNIicn4g4gIhAIfVxstRRkI1v3hdPOY1DIjt2oBjGxtI6mi7+NDkUNkp"
44+
}
45+
]
46+
},
47+
"maintainers": [
48+
{
49+
"name": "ljharb",
50+
"email": "ljharb@gmail.com"
51+
}
52+
],
53+
"_npmUser": {
54+
"name": "ljharb",
55+
"email": "ljharb@gmail.com"
56+
},
57+
"directories": {},
58+
"_npmOperationalInternal": {
59+
"host": "s3://npm-registry-packages",
60+
"tmp": "tmp/has-package-exports-patterns_0.0.0_1602222838589_0.9419759981517923"
61+
},
62+
"_hasShrinkwrap": false
63+
},
64+
"0.0.1": {
65+
"name": "@ljharb/has-package-exports-patterns",
66+
"version": "0.0.1",
67+
"main": "./no.js",
68+
"exports": {
69+
".": "./no.js",
70+
"./patterns/*": "./patterns/*ed.js"
71+
},
72+
"repository": {
73+
"type": "git",
74+
"url": "git+https://github.com/inspect-js/has-package-exports.git"
75+
},
76+
"author": {
77+
"name": "Jordan Harband",
78+
"email": "ljharb@gmail.com"
79+
},
80+
"license": "MIT",
81+
"bugs": {
82+
"url": "https://github.com/inspect-js/has-package-exports/issues"
83+
},
84+
"homepage": "https://github.com/inspect-js/has-package-exports#readme",
85+
"publishConfig": {
86+
"access": "public"
87+
},
88+
"_id": "@ljharb/has-package-exports-patterns@0.0.1",
89+
"_nodeVersion": "14.13.0",
90+
"_npmVersion": "6.14.8",
91+
"dist": {
92+
"integrity": "sha512-J4HxcjHI8EzVwXj2HKfZrwnWv4wmOhGxSHyxDQLhiL4ibwRoIkYBqsacZUXFUWQzJtW6QC+FKSNy8HqKjkEqaQ==",
93+
"shasum": "70f07047b058e0909488a0ab1928afb95a9326d0",
94+
"tarball": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.1.tgz",
95+
"fileCount": 3,
96+
"unpackedSize": 619,
97+
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl7kaCRA9TVsSAnZWagAATXwQAJhbxLJoWKyYSBEsP3E4\n7p2RVYrOy74gBDQSMFGho8tP5WfAaOnApnRYRhjl+eK8EPKJfE1BmC32SJVY\nQ/k9b2l6NkZgTUy/ZvRlBmbVysTjO35OHrIg14tqUvQGoKlZf2thsdw0vN18\n5mRYx7fGFQAd2F+goK3jrdL7FpqZAhIuk3vO93okW6P25yUkeyVEVPDhoN5n\nYtfzOlKaycfNvcQieX24EVzjCBfgWn/sIdVYeJ7ZdQNiXh7YuZCWMa8rgECs\nJDb/4EX+N2DirYzU951LlHaI0j0ZW1MbtERswXnC2Tn9Qtaj5we9vpAongiQ\nxnxpxo40tgJgy2Qzb5WwIvHPJojcRJOEHnrHvvHsRYe2FR4Eh2DHQ55ODIm6\nNuZzp7U6vQXyh8C+1PKlpl6KsEynlefXPBDueB4CnTh9ahLUfSfUjdSfsV9H\n87Hk/HS1kFZTn2lavqaV6vFmgEr3JwozAmbCSnMcP2ZTk7YMAW4NcxvcxcUa\nNqM4+y0t99phoTNCkNDWH8JUSEAVM+OGsJCrd3LzCScmDNgBF61U+lqrdpE0\nFoUOzpjAiGBLzmiL3tXx2SZyQsvC+dPBRW2W2KYcoy+CYXPgUCwfkSYwKz2F\ngF5+9Pyd8VqbcWgIbg7PfQD5KFfXBKF9sCO8hv6UBQgZ6NJpIPYhWpeYfxHK\niFut\r\n=gLnw\r\n-----END PGP SIGNATURE-----\r\n",
98+
"signatures": [
99+
{
100+
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
101+
"sig": "MEUCIQDZDbx3S9jLwbuuoa4n1W4F0fGUJXO6ng3QVWw9nUlmIAIgYpRJ0NPlmsVduuq+rr53hjjGoNeaxmxOjnSkIZn/J4E="
102+
}
103+
]
104+
},
105+
"maintainers": [
106+
{
107+
"name": "ljharb",
108+
"email": "ljharb@gmail.com"
109+
}
110+
],
111+
"_npmUser": {
112+
"name": "ljharb",
113+
"email": "ljharb@gmail.com"
114+
},
115+
"directories": {},
116+
"_npmOperationalInternal": {
117+
"host": "s3://npm-registry-packages",
118+
"tmp": "tmp/has-package-exports-patterns_0.0.1_1603778842085_0.2453392545644033"
119+
},
120+
"_hasShrinkwrap": false
121+
},
122+
"0.0.2": {
123+
"name": "@ljharb/has-package-exports-patterns",
124+
"version": "0.0.2",
125+
"main": "./no.js",
126+
"exports": {
127+
".": "./no.js",
128+
"./patterns/*": "./patterns/*ed.js",
129+
"./pattern-trailers/*": "./pattern-trailers/*ed.js",
130+
"./pattern-trailers/*.js": "./pattern-trailers/*ed.js"
131+
},
132+
"repository": {
133+
"type": "git",
134+
"url": "git+https://github.com/inspect-js/has-package-exports.git"
135+
},
136+
"author": {
137+
"name": "Jordan Harband",
138+
"email": "ljharb@gmail.com"
139+
},
140+
"license": "MIT",
141+
"bugs": {
142+
"url": "https://github.com/inspect-js/has-package-exports/issues"
143+
},
144+
"homepage": "https://github.com/inspect-js/has-package-exports#readme",
145+
"publishConfig": {
146+
"access": "public"
147+
},
148+
"gitHead": "f0f693d8e03b9be35d8559df09f9d29cc93f0810",
149+
"_id": "@ljharb/has-package-exports-patterns@0.0.2",
150+
"_nodeVersion": "17.8.0",
151+
"_npmVersion": "8.3.1",
152+
"dist": {
153+
"integrity": "sha512-4/RWEeXDO6bocPONheFe6gX/oQdP/bEpv0oL4HqjPP5DCenBSt0mHgahppY49N0CpsaqffdwPq+TlX9CYOq2Dw==",
154+
"shasum": "c1718939b65efa1f45f53686c2fcfa992b9fb68f",
155+
"tarball": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.2.tgz",
156+
"fileCount": 4,
157+
"unpackedSize": 770,
158+
"signatures": [
159+
{
160+
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
161+
"sig": "MEUCIB2kq741WzizIG98/ELM99UeZlbDuUFh6N2Frl5pBxRFAiEAmmsPZYZVwIobIPJFHu+DlkHedTV3FZngCFTVkAlstJ4="
162+
}
163+
],
164+
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTnmjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmobhg/+M0JnGNgLGqhKeAP3rdF06hRZnZcwQ/aHufu6K5LKF42LQwNY\r\n0PZIpb4qyfCI+rvSbK+kat3cPuY0ZnV99slZe4ZxR85FpJm3WDm+WxHqkDi8\r\nm5G0rY6dmwTB+8o05g8pUDaxu5Pd+J5ouWXBoySzyrctNoNwslBCvXY5GZZL\r\nowcI3gOFW3uhaBUrZa955LFcB7fUEvZkD7cayMKT21lTBb2lcby3Thl7yVHE\r\nBGU/6a4spdnfOi/YsJx9R67oCqCjwt93gAAa+7rclvsOQZITiR9722toywAU\r\ny64tb8t/MSGsR4cjoBlcjrVfgMPinJSN2rIL34IijKX6pSBvGRFkWY0MqMcO\r\n/YvOH61l2ivdGEMQBxCNPsdfMXKGUKriwJ6NLUZiSMSue5cxGQASj6S5FtkA\r\nqQV7DaQTJut3mrSYL93fs5rvVubBdGw4mmIoKkuICFXAaYTCiROUCrHOnpST\r\nL1G7ZLXLkKyT1k/ISivh5vFQq17IacHCEZ/5Y56UwtSBVistNsBhuVMQSOxJ\r\nwzzi0i0+nAVrSV+OUc9y9rFgx8EMppewOMG+JlLHNMD6V6jmA2wZBgf7ek8O\r\nun9TanuxyINaWKKsqg5/fSZCXjRNDd+uGA+UlrMSoznUACz7zdG+feC1bO+k\r\nkzuAfVPdiRNcilaRUc3ihfQH9TevL0hobPA=\r\n=VOhM\r\n-----END PGP SIGNATURE-----\r\n"
165+
},
166+
"_npmUser": {
167+
"name": "ljharb",
168+
"email": "ljharb@gmail.com"
169+
},
170+
"directories": {},
171+
"maintainers": [
172+
{
173+
"name": "ljharb",
174+
"email": "ljharb@gmail.com"
175+
}
176+
],
177+
"_npmOperationalInternal": {
178+
"host": "s3://npm-registry-packages",
179+
"tmp": "tmp/has-package-exports-patterns_0.0.2_1649310115254_0.5270760426972871"
180+
},
181+
"_hasShrinkwrap": false
182+
}
183+
},
184+
"time": {
185+
"created": "2020-10-09T05:53:58.589Z",
186+
"0.0.0": "2020-10-09T05:53:58.693Z",
187+
"modified": "2022-04-07T05:41:55.495Z",
188+
"0.0.1": "2020-10-27T06:07:22.221Z",
189+
"0.0.2": "2022-04-07T05:41:55.403Z"
190+
},
191+
"maintainers": [
192+
{
193+
"name": "ljharb",
194+
"email": "ljharb@gmail.com"
195+
}
196+
],
197+
"homepage": "https://github.com/inspect-js/has-package-exports#readme",
198+
"repository": {
199+
"type": "git",
200+
"url": "git+https://github.com/inspect-js/has-package-exports.git"
201+
},
202+
"author": {
203+
"name": "Jordan Harband",
204+
"email": "ljharb@gmail.com"
205+
},
206+
"bugs": {
207+
"url": "https://github.com/inspect-js/has-package-exports/issues"
208+
},
209+
"license": "MIT",
210+
"readme": "ERROR: No README data found!",
211+
"readmeFilename": "",
212+
"_contentLength": 0
213+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{
2+
"name": "@ljharb/has-package-exports-patterns",
3+
"dist-tags": {
4+
"latest": "0.0.2"
5+
},
6+
"versions": {
7+
"0.0.0": {
8+
"name": "@ljharb/has-package-exports-patterns",
9+
"version": "0.0.0",
10+
"dist": {
11+
"integrity": "sha512-e5d7/9bs2uorgQrHzGfzvT6WTyUbWiaiQXBourc2d7/LzvjZkRpFfDWN96WPsEqRMKrbx6aT/5XFma4WYMvu2A==",
12+
"shasum": "4bec9d26d79b57021f4069ee42bc1bdb3a222372",
13+
"tarball": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.0.tgz",
14+
"fileCount": 2,
15+
"unpackedSize": 535,
16+
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/r2CRA9TVsSAnZWagAAtLsP/3YEyKmT4SHRBhHwRv90\nuydMCnl4UygliJrdRO1EFa7Y0RWv3yeJDmiP/BbHvbKx+oH1WuRE+ZkjgTce\n8FMV/XUU9muyaEcdy33bzKosu1lukgETXT28IxrGK/JbGoboMbt+Iz8+W5Fa\n+2D546TGv0o7hf/aHilosi11J5C7rd4YuqSxJGXJVXpaytik+e9OFU7rrV/7\nW9mbFmt8YOxfNiOslNvZUA05gHWPLGhw7I9Rl9Jqd6o2xdY5TvXoMUsy45SQ\nUdC5nnVijDleUmULhkxS8ULMJ6GvQkF6lVa3OHHItIByvhfKY8TnKK+ioHYw\nyEvZ63sj8mjYTIi6f5Jgj5NvQrm6lI/JcXW761vxxEcSLPW/onAsPvZHJqkU\nqlGVFib7Xh4Sp8NjJax5pO6QpCHMVs1+WemklXUFQA27Lxod1pXOzvFmq4Wu\nr3cMrYGLol7aPogRyb4v/bu25oDLdMkLmokEc68J9+Q4cw/ZaNzMa1sBWFlC\nhW503lWySfkpoWkLl0kypoZwbLsUZoIO5YFLldxnsynm7XSMHOZBGv/hzCdR\ndBHTvFAs9PgYFJj8xbtL2Wnja7Uuyu9ThlA3uezeDu0bD+IcPa8IdQvXTNSI\nA3pnOuDVzy1pdGny5oIeO4VGY9YU6mC8XSt/g2qgLoEGSib9VxSBKA4qCZ7K\neCWx\r\n=eDD7\r\n-----END PGP SIGNATURE-----\r\n",
17+
"signatures": [
18+
{
19+
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
20+
"sig": "MEYCIQCxiTdVCltPVhh84T/xXOOv3SQo1hCJzPMuBNIicn4g4gIhAIfVxstRRkI1v3hdPOY1DIjt2oBjGxtI6mi7+NDkUNkp"
21+
}
22+
]
23+
}
24+
},
25+
"0.0.1": {
26+
"name": "@ljharb/has-package-exports-patterns",
27+
"version": "0.0.1",
28+
"dist": {
29+
"integrity": "sha512-J4HxcjHI8EzVwXj2HKfZrwnWv4wmOhGxSHyxDQLhiL4ibwRoIkYBqsacZUXFUWQzJtW6QC+FKSNy8HqKjkEqaQ==",
30+
"shasum": "70f07047b058e0909488a0ab1928afb95a9326d0",
31+
"tarball": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.1.tgz",
32+
"fileCount": 3,
33+
"unpackedSize": 619,
34+
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl7kaCRA9TVsSAnZWagAATXwQAJhbxLJoWKyYSBEsP3E4\n7p2RVYrOy74gBDQSMFGho8tP5WfAaOnApnRYRhjl+eK8EPKJfE1BmC32SJVY\nQ/k9b2l6NkZgTUy/ZvRlBmbVysTjO35OHrIg14tqUvQGoKlZf2thsdw0vN18\n5mRYx7fGFQAd2F+goK3jrdL7FpqZAhIuk3vO93okW6P25yUkeyVEVPDhoN5n\nYtfzOlKaycfNvcQieX24EVzjCBfgWn/sIdVYeJ7ZdQNiXh7YuZCWMa8rgECs\nJDb/4EX+N2DirYzU951LlHaI0j0ZW1MbtERswXnC2Tn9Qtaj5we9vpAongiQ\nxnxpxo40tgJgy2Qzb5WwIvHPJojcRJOEHnrHvvHsRYe2FR4Eh2DHQ55ODIm6\nNuZzp7U6vQXyh8C+1PKlpl6KsEynlefXPBDueB4CnTh9ahLUfSfUjdSfsV9H\n87Hk/HS1kFZTn2lavqaV6vFmgEr3JwozAmbCSnMcP2ZTk7YMAW4NcxvcxcUa\nNqM4+y0t99phoTNCkNDWH8JUSEAVM+OGsJCrd3LzCScmDNgBF61U+lqrdpE0\nFoUOzpjAiGBLzmiL3tXx2SZyQsvC+dPBRW2W2KYcoy+CYXPgUCwfkSYwKz2F\ngF5+9Pyd8VqbcWgIbg7PfQD5KFfXBKF9sCO8hv6UBQgZ6NJpIPYhWpeYfxHK\niFut\r\n=gLnw\r\n-----END PGP SIGNATURE-----\r\n",
35+
"signatures": [
36+
{
37+
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
38+
"sig": "MEUCIQDZDbx3S9jLwbuuoa4n1W4F0fGUJXO6ng3QVWw9nUlmIAIgYpRJ0NPlmsVduuq+rr53hjjGoNeaxmxOjnSkIZn/J4E="
39+
}
40+
]
41+
}
42+
},
43+
"0.0.2": {
44+
"name": "@ljharb/has-package-exports-patterns",
45+
"version": "0.0.2",
46+
"dist": {
47+
"integrity": "sha512-4/RWEeXDO6bocPONheFe6gX/oQdP/bEpv0oL4HqjPP5DCenBSt0mHgahppY49N0CpsaqffdwPq+TlX9CYOq2Dw==",
48+
"shasum": "c1718939b65efa1f45f53686c2fcfa992b9fb68f",
49+
"tarball": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.2.tgz",
50+
"fileCount": 4,
51+
"unpackedSize": 770,
52+
"signatures": [
53+
{
54+
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
55+
"sig": "MEUCIB2kq741WzizIG98/ELM99UeZlbDuUFh6N2Frl5pBxRFAiEAmmsPZYZVwIobIPJFHu+DlkHedTV3FZngCFTVkAlstJ4="
56+
}
57+
],
58+
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTnmjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmobhg/+M0JnGNgLGqhKeAP3rdF06hRZnZcwQ/aHufu6K5LKF42LQwNY\r\n0PZIpb4qyfCI+rvSbK+kat3cPuY0ZnV99slZe4ZxR85FpJm3WDm+WxHqkDi8\r\nm5G0rY6dmwTB+8o05g8pUDaxu5Pd+J5ouWXBoySzyrctNoNwslBCvXY5GZZL\r\nowcI3gOFW3uhaBUrZa955LFcB7fUEvZkD7cayMKT21lTBb2lcby3Thl7yVHE\r\nBGU/6a4spdnfOi/YsJx9R67oCqCjwt93gAAa+7rclvsOQZITiR9722toywAU\r\ny64tb8t/MSGsR4cjoBlcjrVfgMPinJSN2rIL34IijKX6pSBvGRFkWY0MqMcO\r\n/YvOH61l2ivdGEMQBxCNPsdfMXKGUKriwJ6NLUZiSMSue5cxGQASj6S5FtkA\r\nqQV7DaQTJut3mrSYL93fs5rvVubBdGw4mmIoKkuICFXAaYTCiROUCrHOnpST\r\nL1G7ZLXLkKyT1k/ISivh5vFQq17IacHCEZ/5Y56UwtSBVistNsBhuVMQSOxJ\r\nwzzi0i0+nAVrSV+OUc9y9rFgx8EMppewOMG+JlLHNMD6V6jmA2wZBgf7ek8O\r\nun9TanuxyINaWKKsqg5/fSZCXjRNDd+uGA+UlrMSoznUACz7zdG+feC1bO+k\r\nkzuAfVPdiRNcilaRUc3ihfQH9TevL0hobPA=\r\n=VOhM\r\n-----END PGP SIGNATURE-----\r\n"
59+
}
60+
}
61+
},
62+
"modified": "2022-04-07T05:41:55.495Z",
63+
"_contentLength": 0
64+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// generated from test/fixtures/conflict-bundle-file-dep
2+
module.exports = t => {
3+
const path = t.testdir({
4+
"fixtures-has-package-exports": {
5+
"package.json": JSON.stringify({
6+
"bundleDependencies": true,
7+
"dependencies": {
8+
"abbrev": "1.1.1"
9+
},
10+
"devDependencies": {
11+
"has-package-exports": "file:."
12+
}
13+
})
14+
},
15+
"package.json": JSON.stringify({
16+
"dependencies": {
17+
"@fixtures/has-package-exports": "file:fixtures-has-package-exports",
18+
"has-package-exports": "^1.3.0"
19+
}
20+
})
21+
})
22+
return path
23+
}

1 commit comments

Comments
 (1)

lebedev05tmn commented on Jan 9, 2024

@lebedev05tmn

WOW

Please sign in to comment.