Skip to content

Commit 3234135

Browse files
committed
fix: tag spec should install the exact version
1 parent 7e6b824 commit 3234135

File tree

9 files changed

+342
-6
lines changed

9 files changed

+342
-6
lines changed

workspaces/arborist/lib/dep-valid.js

+6-5
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,12 @@ const depValid = (child, requested, requestor) => {
6262
// check that the alias target is valid
6363
return depValid(child, requested.subSpec, requestor)
6464

65-
case 'tag':
66-
// if it's a tag, we just verify that it has a tarball resolution
67-
// presumably, it came from the registry and was tagged at some point
68-
return child.resolved && npa(child.resolved).type === 'remote'
69-
65+
case 'tag': {
66+
// if it's a tag, requestor has the exact version of the requested tag
67+
// so child must be the same version as requestor's child version
68+
const exactNode = requestor.children ? requestor.children.get(child.name) : null
69+
return exactNode ? child.version === exactNode.version : false
70+
}
7071
case 'remote':
7172
// verify that we got it from the desired location
7273
return child.resolved === requested.fetchSpec

workspaces/arborist/tap-snapshots/test/arborist/build-ideal-tree.js.test.cjs

+60
Original file line numberDiff line numberDiff line change
@@ -97921,6 +97921,66 @@ ArboristNode {
9792197921
}
9792297922
`
9792397923

97924+
exports[`test/arborist/build-ideal-tree.js TAP should install accurate version when deps has dist-tag spec > must match snapshot 1`] = `
97925+
{
97926+
"name": "tag-spec-dependencies-project",
97927+
"version": "1.0.0",
97928+
"lockfileVersion": 2,
97929+
"requires": true,
97930+
"packages": {
97931+
"": {
97932+
"name": "tag-spec-dependencies-project",
97933+
"version": "1.0.0",
97934+
"dependencies": {
97935+
"kewu": "1.0.0",
97936+
"wuke": "1.0.1"
97937+
}
97938+
},
97939+
"node_modules/kewu": {
97940+
"version": "1.0.0",
97941+
"resolved": "https://registry.npmjs.org/kewu/-/kewu-1.0.0.tgz",
97942+
"integrity": "sha512-G/C0QhUfovkalJVMBaNsfwG91/zO1TF6c+SqYkLB/+BK0fXZ9mqCh3dGjFyidEIQ3nhcRTFrK0XhbxhaLisMog==",
97943+
"dependencies": {
97944+
"wuke": "stable"
97945+
}
97946+
},
97947+
"node_modules/kewu/node_modules/wuke": {
97948+
"version": "1.0.0",
97949+
"resolved": "https://registry.npmjs.org/wuke/-/wuke-1.0.0.tgz",
97950+
"integrity": "sha512-zrae28H8/RvjcNGBKQ8ZhXwn4xSWzNnhG+nhSGJK0nB/d1ifUXl150RbHIqBm9B0FQyHcgTko8Y/8SelX/Qdbg=="
97951+
},
97952+
"node_modules/wuke": {
97953+
"version": "1.0.1",
97954+
"resolved": "https://registry.npmjs.org/wuke/-/wuke-1.0.1.tgz",
97955+
"integrity": "sha512-ym3gum9DUBKAQtb1bhdU6LAa1tWAipJm6BuB9wZrHwmMD3slWHIC9041NTWDEfcVfIvbAH3FGnUF4VUqIzcyYw=="
97956+
}
97957+
},
97958+
"dependencies": {
97959+
"kewu": {
97960+
"version": "1.0.0",
97961+
"resolved": "https://registry.npmjs.org/kewu/-/kewu-1.0.0.tgz",
97962+
"integrity": "sha512-G/C0QhUfovkalJVMBaNsfwG91/zO1TF6c+SqYkLB/+BK0fXZ9mqCh3dGjFyidEIQ3nhcRTFrK0XhbxhaLisMog==",
97963+
"requires": {
97964+
"wuke": "stable"
97965+
},
97966+
"dependencies": {
97967+
"wuke": {
97968+
"version": "1.0.0",
97969+
"resolved": "https://registry.npmjs.org/wuke/-/wuke-1.0.0.tgz",
97970+
"integrity": "sha512-zrae28H8/RvjcNGBKQ8ZhXwn4xSWzNnhG+nhSGJK0nB/d1ifUXl150RbHIqBm9B0FQyHcgTko8Y/8SelX/Qdbg=="
97971+
}
97972+
}
97973+
},
97974+
"wuke": {
97975+
"version": "1.0.1",
97976+
"resolved": "https://registry.npmjs.org/wuke/-/wuke-1.0.1.tgz",
97977+
"integrity": "sha512-ym3gum9DUBKAQtb1bhdU6LAa1tWAipJm6BuB9wZrHwmMD3slWHIC9041NTWDEfcVfIvbAH3FGnUF4VUqIzcyYw=="
97978+
}
97979+
}
97980+
}
97981+
97982+
`
97983+
9792497984
exports[`test/arborist/build-ideal-tree.js TAP store files with a custom indenting > must match snapshot 1`] = `
9792597985
{
9792697986
"name": "tab-indented-package-json",

workspaces/arborist/test/arborist/build-ideal-tree.js

+6
Original file line numberDiff line numberDiff line change
@@ -3933,3 +3933,9 @@ t.test('store files with a custom indenting', async t => {
39333933
const tree = await buildIdeal(path)
39343934
t.matchSnapshot(String(tree.meta))
39353935
})
3936+
3937+
t.test('should install accurate version when deps has dist-tag spec', async t => {
3938+
const path = resolve(fixtures, 'tag-spec-depencencies')
3939+
const tree = await buildIdeal(path)
3940+
t.matchSnapshot(String(tree.meta))
3941+
})

workspaces/arborist/test/dep-valid.js

+23-1
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,32 @@ t.notOk(depValid({
126126
},
127127
}, './tarball.tgz', null, emptyRequestor), 'too uncertain, nope')
128128

129-
t.ok(depValid({
129+
t.notOk(depValid({
130130
resolved: 'https://registry.npmjs.org/foo/foo-1.2.3.tgz',
131131
}, 'latest', null, emptyRequestor), 'tagged registry version needs remote tarball')
132132

133+
t.ok(depValid({ name: 'foo', version: '1.0.0' }, 'latest', null, {
134+
children: new Map([
135+
['foo', { name: 'foo', version: '1.0.0' }],
136+
]),
137+
edgesOut: new Map(),
138+
errors: [],
139+
}), 'tagged version needs match exact version of requestor\'s children')
140+
141+
t.notOk(depValid({ name: 'foo', version: '1.0.1' }, 'latest', null, {
142+
children: new Map([
143+
['foo', { name: 'foo', version: '1.0.0' }],
144+
]),
145+
edgesOut: new Map(),
146+
errors: [],
147+
}), 'tagged version doesn\'t match exact version of requestor\'s children')
148+
149+
t.notOk(depValid({ name: 'foo', version: '1.0.1' }, 'latest', null, {
150+
children: new Map(),
151+
edgesOut: new Map(),
152+
errors: [],
153+
}), 'tagged version doesn\'t match exact version of requestor without children')
154+
133155
t.notOk(depValid({
134156
resolved: 'git+https://registry.npmjs.org/foo/foo-1.2.3.git',
135157
}, 'latest', null, emptyRequestor), 'tagged registry version needs remote tarball, not git')
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{
2+
"_id": "kewu",
3+
"name": "kewu",
4+
"dist-tags": {
5+
"latest": "1.0.0"
6+
},
7+
"versions": {
8+
"1.0.0": {
9+
"name": "kewu",
10+
"version": "1.0.0",
11+
"dependencies": {
12+
"wuke": "stable"
13+
},
14+
15+
"_nodeVersion": "16.15.1",
16+
"_npmVersion": "8.17.0",
17+
"dist": {
18+
"integrity": "sha512-G/C0QhUfovkalJVMBaNsfwG91/zO1TF6c+SqYkLB/+BK0fXZ9mqCh3dGjFyidEIQ3nhcRTFrK0XhbxhaLisMog==",
19+
"shasum": "c774cfec9fa5d474ee0ae7b3eb507c70cdaece28",
20+
"tarball": "https://registry.npmjs.org/kewu/-/kewu-1.0.0.tgz",
21+
"fileCount": 1,
22+
"unpackedSize": 89,
23+
"signatures": [
24+
{
25+
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
26+
"sig": "MEYCIQD/q+pX4LJ8FSGCDER4l+HrPoyQvfC8DNBQaqUJYAFR5gIhAL+pLltzzKEHUqqehkfDUTWM1RxLfmSMYToBf2c8fx+U"
27+
}
28+
],
29+
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBHyPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr23g/9EfolK7j+JELH6AnjyJVmL24kuAWJiKUsIK1OEnl9GcViYao6\r\nNhDdu2TZql8LctTqMoOOx5ShmjBGjK4bNsgW0mzpI3a81ZL0Gfh8nuM2E2Wo\r\nd2etKhsNpLB66Zv/Crmcr6Kg/i3qxf5qg5x4uNzGHCChU0plahvrgA1K2rym\r\ncVKDkz3Lzr9bR+gSjaOgr5hn/p7ULhuU1FKfdYrRqq2+ZXv9Oy3wud336ztW\r\nrAQLvPdlAvSRdcNgHuAk697IsMbHOeK+msk9GBzaSSPObmqX6CKLVCYiTRGN\r\n24AlFs2qFDSn9aU3dw75cuyeKfmQlDRMGQ4YdX1QZPnZvyDWWyvE7CHaxc1B\r\nndXBIzzFyEmUhuQYBIIzcw582NIg1p6R3pFj+dHtLUQWzTpdUHNAKQpLSEZq\r\nmXDRxIb/r1nOr/I4TZYhewL2ICeu40cO/VH5VGOMVhiUuGfCIyUcHxZs+tFY\r\nKrpBlhTZ8CYQP56n2R6SvBPqZF3m9SNYUwMSkSGaBl/aB52Y403yCMNiN/bW\r\n9gD/tL0sIsJ3+XMwz8Rvm+ZuL1W3+r2qtxhvlGV6bZTzUrRlBjij9p6mPLlq\r\ncciV1m2IYydJjZzGQuIiLg5LFsHUua0848U70K1vNxOuSWr6qz51oJH1LBz4\r\nCVV94hPBk6pYKMHvhT5QWYtEmS89ADDrr0k=\r\n=ihMD\r\n-----END PGP SIGNATURE-----\r\n"
30+
},
31+
"_npmUser": {
32+
"name": "gemwuu",
33+
"email": "[email protected]"
34+
},
35+
"directories": {},
36+
"maintainers": [
37+
{
38+
"name": "gemwuu",
39+
"email": "[email protected]"
40+
}
41+
],
42+
"_npmOperationalInternal": {
43+
"host": "s3://npm-registry-packages",
44+
"tmp": "tmp/kewu_1.0.0_1661238415089_0.8499553394859964"
45+
},
46+
"_hasShrinkwrap": false
47+
}
48+
},
49+
"time": {
50+
"created": "2022-08-23T07:06:55.088Z",
51+
"1.0.0": "2022-08-23T07:06:55.237Z",
52+
"modified": "2022-08-23T07:06:55.363Z"
53+
},
54+
"maintainers": [
55+
{
56+
"name": "gemwuu",
57+
"email": "[email protected]"
58+
}
59+
],
60+
"readme": "ERROR: No README data found!",
61+
"readmeFilename": ""
62+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"name": "kewu",
3+
"dist-tags": {
4+
"latest": "1.0.0"
5+
},
6+
"versions": {
7+
"1.0.0": {
8+
"name": "kewu",
9+
"version": "1.0.0",
10+
"dependencies": {
11+
"wuke": "stable"
12+
},
13+
"dist": {
14+
"integrity": "sha512-G/C0QhUfovkalJVMBaNsfwG91/zO1TF6c+SqYkLB/+BK0fXZ9mqCh3dGjFyidEIQ3nhcRTFrK0XhbxhaLisMog==",
15+
"shasum": "c774cfec9fa5d474ee0ae7b3eb507c70cdaece28",
16+
"tarball": "https://registry.npmjs.org/kewu/-/kewu-1.0.0.tgz",
17+
"fileCount": 1,
18+
"unpackedSize": 89,
19+
"signatures": [
20+
{
21+
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
22+
"sig": "MEYCIQD/q+pX4LJ8FSGCDER4l+HrPoyQvfC8DNBQaqUJYAFR5gIhAL+pLltzzKEHUqqehkfDUTWM1RxLfmSMYToBf2c8fx+U"
23+
}
24+
],
25+
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBHyPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr23g/9EfolK7j+JELH6AnjyJVmL24kuAWJiKUsIK1OEnl9GcViYao6\r\nNhDdu2TZql8LctTqMoOOx5ShmjBGjK4bNsgW0mzpI3a81ZL0Gfh8nuM2E2Wo\r\nd2etKhsNpLB66Zv/Crmcr6Kg/i3qxf5qg5x4uNzGHCChU0plahvrgA1K2rym\r\ncVKDkz3Lzr9bR+gSjaOgr5hn/p7ULhuU1FKfdYrRqq2+ZXv9Oy3wud336ztW\r\nrAQLvPdlAvSRdcNgHuAk697IsMbHOeK+msk9GBzaSSPObmqX6CKLVCYiTRGN\r\n24AlFs2qFDSn9aU3dw75cuyeKfmQlDRMGQ4YdX1QZPnZvyDWWyvE7CHaxc1B\r\nndXBIzzFyEmUhuQYBIIzcw582NIg1p6R3pFj+dHtLUQWzTpdUHNAKQpLSEZq\r\nmXDRxIb/r1nOr/I4TZYhewL2ICeu40cO/VH5VGOMVhiUuGfCIyUcHxZs+tFY\r\nKrpBlhTZ8CYQP56n2R6SvBPqZF3m9SNYUwMSkSGaBl/aB52Y403yCMNiN/bW\r\n9gD/tL0sIsJ3+XMwz8Rvm+ZuL1W3+r2qtxhvlGV6bZTzUrRlBjij9p6mPLlq\r\ncciV1m2IYydJjZzGQuIiLg5LFsHUua0848U70K1vNxOuSWr6qz51oJH1LBz4\r\nCVV94hPBk6pYKMHvhT5QWYtEmS89ADDrr0k=\r\n=ihMD\r\n-----END PGP SIGNATURE-----\r\n"
26+
}
27+
}
28+
},
29+
"modified": "2022-08-23T07:06:55.363Z"
30+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
{
2+
"_id": "wuke",
3+
"_rev": "3-d23303f2f68e74c7f53be5c8dbcccfa0",
4+
"name": "wuke",
5+
"dist-tags": {
6+
"latest": "1.0.1",
7+
"stable": "1.0.0",
8+
"next": "1.0.1"
9+
},
10+
"versions": {
11+
"1.0.0": {
12+
"name": "wuke",
13+
"version": "1.0.0",
14+
15+
"_nodeVersion": "16.15.1",
16+
"_npmVersion": "8.17.0",
17+
"dist": {
18+
"integrity": "sha512-zrae28H8/RvjcNGBKQ8ZhXwn4xSWzNnhG+nhSGJK0nB/d1ifUXl150RbHIqBm9B0FQyHcgTko8Y/8SelX/Qdbg==",
19+
"shasum": "d050c2b3bf9fa8ec408f42b96bf279be285b4b79",
20+
"tarball": "https://registry.npmjs.org/wuke/-/wuke-1.0.0.tgz",
21+
"fileCount": 1,
22+
"unpackedSize": 43,
23+
"signatures": [
24+
{
25+
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
26+
"sig": "MEUCIDkCRi5/smALz/Cv5fx8S/nWdMpPwVNd9dr4mVCfvQcpAiEA2/99URPwLJTvXmizwCFxdAwC5Sn0l3yg7Z44KwIYyps="
27+
}
28+
],
29+
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBHv8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoh4g//XYRCGOf9Ud42tKIqYp8iy5AwGulatTgK97s3HTMpTsO4rczq\r\nY3yCeGUcGoumcXqE40GOARVWGFLxDhgt0+cNfTFCyw2qKnWZzBnXO7rIsmpe\r\ndrS0PAj+UQ4EiwGMEQMcaRiBO1dH3hue1gW6EEGLEjOjN74LEhYjXfHxAPvb\r\nHlLJtOcuE1CkbW+ZNkQ4ybApwE71wJy2fF0m+qfwxfhbDVLVsj1Toi6l4xxG\r\nDU+2vHHnRbyc90kJ82k1QBIJfS6aL1UYicoxl39Rf9SLWCwffFdtwmOLxPbs\r\neFoO6NIy+BUlCnENdSPBrl6II8MfMR9A1Ckil8CAfXIbVbNOR6L0XKd2nsgg\r\nG2nm8yzvdY1KVpb1mQfYOdCm3KuNSQ5BSPmA9XQUYYusnprMZxaF9x7CtZkd\r\ngcCpsF46S5eBeuzVxyTsBzW4H6zJRHy48DnxMDITMtLuJFqF1s0kk8KxidKw\r\nb3he+35d17kK1YuRvNDRnXgBETSFsN6XubgNeR4jys6mngVu6wI+KcdQMXnq\r\nXOa7rlG5uVmUlWfdhlBZZwdB6SwqhvpnSG8JPWbhCFsjLeoi58JBAVEgRmRz\r\nTRl+GpnHkudS9+DXirZwKBfMTEzPwvSXtqQz9tbd51ThBHD1P3r8eMthHvWY\r\n3W3YfpqId6OgE21npBplIoKwRcWH6B5+4go=\r\n=KHcG\r\n-----END PGP SIGNATURE-----\r\n"
30+
},
31+
"_npmUser": {
32+
"name": "gemwuu",
33+
"email": "[email protected]"
34+
},
35+
"directories": {},
36+
"maintainers": [
37+
{
38+
"name": "gemwuu",
39+
"email": "[email protected]"
40+
}
41+
],
42+
"_npmOperationalInternal": {
43+
"host": "s3://npm-registry-packages",
44+
"tmp": "tmp/wuke_1.0.0_1661238267937_0.5672981357422893"
45+
},
46+
"_hasShrinkwrap": false
47+
},
48+
"1.0.1": {
49+
"name": "wuke",
50+
"version": "1.0.1",
51+
52+
"_nodeVersion": "16.15.1",
53+
"_npmVersion": "8.17.0",
54+
"dist": {
55+
"integrity": "sha512-ym3gum9DUBKAQtb1bhdU6LAa1tWAipJm6BuB9wZrHwmMD3slWHIC9041NTWDEfcVfIvbAH3FGnUF4VUqIzcyYw==",
56+
"shasum": "382526aa008482c45c88dd5a749909f93ad71b87",
57+
"tarball": "https://registry.npmjs.org/wuke/-/wuke-1.0.1.tgz",
58+
"fileCount": 1,
59+
"unpackedSize": 43,
60+
"signatures": [
61+
{
62+
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
63+
"sig": "MEQCIBQ1QL5HHh/Kvd7d2/G0PqrD/oxkF6lMElesGSDP/ENeAiB05w/UchB6ym/gJIp98XKut5/tu5rVC76m3BVTbIJU5Q=="
64+
}
65+
],
66+
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBHwSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoAIw//YZRkizGDR387mDMDztkywUpkQKUt43v9WxCsqiCLaWMAbV9w\r\nvqNCDym+wU7JfDDfH03ryAron9P31g0ak1nrpdzOjhoSRINZkCrlhETKCWZM\r\nWjwJgz1TkZ6nMrRQCDpadZm+wCEF0ZGqGlJg+dgWhK8Q5guIkAMjR0dfn0+b\r\nnR+ZxAtBMrWJUHApUO1Odi8JWuTlPsZ64yy/UEkEdDvZpd6/qWNjt0+bpWDp\r\nwXH0Z2y+zTtgSS2n9Zfw+WxOuqldBiHowfWa8bX6HBG+KFNJuIA6ODUvTwbS\r\nhMZQ3EKEYWG+zCLLIYMRkhoE0pPa5gKWpuc17bezYsfWWSQBj3v1Dv7+DtB+\r\nuyY+og34xAgEMOJrNn82OmAJWsGXKBOWUvXqKsJGqJosUU1IXK/BnUp/B4lK\r\nA7a0hWLvY6xdGn0Pu+bSp909I3XCVONGdrYzggbsEPZzn8DM4dJ54IYvc/tm\r\nqwH7/cOH/FSUaH7XvgO4rQWWbvON6g+94uVKZosOyaQ8GtPdzPL4KtGH7a00\r\nJrmLzIYwN+f7HJ0D4SPENZTR35/e7y2+ewoYhw6eGyuErRYsy4wyk6dM9ooE\r\n/iippxE4PPbNwxjcXxoCylALs6QZnyzliS7MZd362uCPQdLjqPXoVNzBZxVR\r\nWawB6J85DvluYJtfJbIs5jkIv7mVSzwnF9o=\r\n=if4q\r\n-----END PGP SIGNATURE-----\r\n"
67+
},
68+
"_npmUser": {
69+
"name": "gemwuu",
70+
"email": "[email protected]"
71+
},
72+
"directories": {},
73+
"maintainers": [
74+
{
75+
"name": "gemwuu",
76+
"email": "[email protected]"
77+
}
78+
],
79+
"_npmOperationalInternal": {
80+
"host": "s3://npm-registry-packages",
81+
"tmp": "tmp/wuke_1.0.1_1661238290371_0.7887855147024714"
82+
},
83+
"_hasShrinkwrap": false
84+
}
85+
},
86+
"time": {
87+
"created": "2022-08-23T07:04:27.937Z",
88+
"1.0.0": "2022-08-23T07:04:28.096Z",
89+
"modified": "2022-08-23T07:05:50.354Z",
90+
"1.0.1": "2022-08-23T07:04:50.523Z"
91+
},
92+
"maintainers": [
93+
{
94+
"name": "gemwuu",
95+
"email": "[email protected]"
96+
}
97+
],
98+
"readme": "ERROR: No README data found!",
99+
"readmeFilename": ""
100+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{
2+
"name": "wuke",
3+
"dist-tags": {
4+
"latest": "1.0.1",
5+
"stable": "1.0.0",
6+
"next": "1.0.1"
7+
},
8+
"versions": {
9+
"1.0.0": {
10+
"name": "wuke",
11+
"version": "1.0.0",
12+
"dist": {
13+
"integrity": "sha512-zrae28H8/RvjcNGBKQ8ZhXwn4xSWzNnhG+nhSGJK0nB/d1ifUXl150RbHIqBm9B0FQyHcgTko8Y/8SelX/Qdbg==",
14+
"shasum": "d050c2b3bf9fa8ec408f42b96bf279be285b4b79",
15+
"tarball": "https://registry.npmjs.org/wuke/-/wuke-1.0.0.tgz",
16+
"fileCount": 1,
17+
"unpackedSize": 43,
18+
"signatures": [
19+
{
20+
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
21+
"sig": "MEUCIDkCRi5/smALz/Cv5fx8S/nWdMpPwVNd9dr4mVCfvQcpAiEA2/99URPwLJTvXmizwCFxdAwC5Sn0l3yg7Z44KwIYyps="
22+
}
23+
],
24+
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBHv8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoh4g//XYRCGOf9Ud42tKIqYp8iy5AwGulatTgK97s3HTMpTsO4rczq\r\nY3yCeGUcGoumcXqE40GOARVWGFLxDhgt0+cNfTFCyw2qKnWZzBnXO7rIsmpe\r\ndrS0PAj+UQ4EiwGMEQMcaRiBO1dH3hue1gW6EEGLEjOjN74LEhYjXfHxAPvb\r\nHlLJtOcuE1CkbW+ZNkQ4ybApwE71wJy2fF0m+qfwxfhbDVLVsj1Toi6l4xxG\r\nDU+2vHHnRbyc90kJ82k1QBIJfS6aL1UYicoxl39Rf9SLWCwffFdtwmOLxPbs\r\neFoO6NIy+BUlCnENdSPBrl6II8MfMR9A1Ckil8CAfXIbVbNOR6L0XKd2nsgg\r\nG2nm8yzvdY1KVpb1mQfYOdCm3KuNSQ5BSPmA9XQUYYusnprMZxaF9x7CtZkd\r\ngcCpsF46S5eBeuzVxyTsBzW4H6zJRHy48DnxMDITMtLuJFqF1s0kk8KxidKw\r\nb3he+35d17kK1YuRvNDRnXgBETSFsN6XubgNeR4jys6mngVu6wI+KcdQMXnq\r\nXOa7rlG5uVmUlWfdhlBZZwdB6SwqhvpnSG8JPWbhCFsjLeoi58JBAVEgRmRz\r\nTRl+GpnHkudS9+DXirZwKBfMTEzPwvSXtqQz9tbd51ThBHD1P3r8eMthHvWY\r\n3W3YfpqId6OgE21npBplIoKwRcWH6B5+4go=\r\n=KHcG\r\n-----END PGP SIGNATURE-----\r\n"
25+
}
26+
},
27+
"1.0.1": {
28+
"name": "wuke",
29+
"version": "1.0.1",
30+
"dist": {
31+
"integrity": "sha512-ym3gum9DUBKAQtb1bhdU6LAa1tWAipJm6BuB9wZrHwmMD3slWHIC9041NTWDEfcVfIvbAH3FGnUF4VUqIzcyYw==",
32+
"shasum": "382526aa008482c45c88dd5a749909f93ad71b87",
33+
"tarball": "https://registry.npmjs.org/wuke/-/wuke-1.0.1.tgz",
34+
"fileCount": 1,
35+
"unpackedSize": 43,
36+
"signatures": [
37+
{
38+
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
39+
"sig": "MEQCIBQ1QL5HHh/Kvd7d2/G0PqrD/oxkF6lMElesGSDP/ENeAiB05w/UchB6ym/gJIp98XKut5/tu5rVC76m3BVTbIJU5Q=="
40+
}
41+
],
42+
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBHwSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoAIw//YZRkizGDR387mDMDztkywUpkQKUt43v9WxCsqiCLaWMAbV9w\r\nvqNCDym+wU7JfDDfH03ryAron9P31g0ak1nrpdzOjhoSRINZkCrlhETKCWZM\r\nWjwJgz1TkZ6nMrRQCDpadZm+wCEF0ZGqGlJg+dgWhK8Q5guIkAMjR0dfn0+b\r\nnR+ZxAtBMrWJUHApUO1Odi8JWuTlPsZ64yy/UEkEdDvZpd6/qWNjt0+bpWDp\r\nwXH0Z2y+zTtgSS2n9Zfw+WxOuqldBiHowfWa8bX6HBG+KFNJuIA6ODUvTwbS\r\nhMZQ3EKEYWG+zCLLIYMRkhoE0pPa5gKWpuc17bezYsfWWSQBj3v1Dv7+DtB+\r\nuyY+og34xAgEMOJrNn82OmAJWsGXKBOWUvXqKsJGqJosUU1IXK/BnUp/B4lK\r\nA7a0hWLvY6xdGn0Pu+bSp909I3XCVONGdrYzggbsEPZzn8DM4dJ54IYvc/tm\r\nqwH7/cOH/FSUaH7XvgO4rQWWbvON6g+94uVKZosOyaQ8GtPdzPL4KtGH7a00\r\nJrmLzIYwN+f7HJ0D4SPENZTR35/e7y2+ewoYhw6eGyuErRYsy4wyk6dM9ooE\r\n/iippxE4PPbNwxjcXxoCylALs6QZnyzliS7MZd362uCPQdLjqPXoVNzBZxVR\r\nWawB6J85DvluYJtfJbIs5jkIv7mVSzwnF9o=\r\n=if4q\r\n-----END PGP SIGNATURE-----\r\n"
43+
}
44+
}
45+
},
46+
"modified": "2022-08-23T07:05:50.354Z"
47+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"name": "tag-spec-dependencies-project",
3+
"version": "1.0.0",
4+
"dependencies": {
5+
"kewu": "1.0.0",
6+
"wuke": "1.0.1"
7+
}
8+
}

0 commit comments

Comments
 (0)