@verdaccio/store 7.0.0-next.6 → 8.0.0-next-8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +356 -0
  2. package/README.md +24 -57
  3. package/build/index.d.ts +0 -1
  4. package/build/index.js +0 -12
  5. package/build/index.js.map +1 -1
  6. package/build/lib/star-utils.js.map +1 -1
  7. package/build/lib/storage-utils.d.ts +3 -0
  8. package/build/lib/storage-utils.js +35 -2
  9. package/build/lib/storage-utils.js.map +1 -1
  10. package/build/lib/versions-utils.d.ts +14 -0
  11. package/build/lib/versions-utils.js +52 -1
  12. package/build/lib/versions-utils.js.map +1 -1
  13. package/build/local-storage.js +3 -3
  14. package/build/local-storage.js.map +1 -1
  15. package/build/storage.d.ts +14 -15
  16. package/build/storage.js +198 -161
  17. package/build/storage.js.map +1 -1
  18. package/build/type.d.ts +5 -0
  19. package/build/type.js.map +1 -1
  20. package/jest.config.js +2 -2
  21. package/package.json +17 -16
  22. package/src/index.ts +0 -1
  23. package/src/lib/storage-utils.ts +40 -2
  24. package/src/lib/versions-utils.ts +50 -1
  25. package/src/local-storage.ts +3 -2
  26. package/src/storage.ts +228 -149
  27. package/src/type.ts +6 -0
  28. package/test/fixtures/config/publishWithOwnerAndCheck.yaml +18 -0
  29. package/test/fixtures/config/publishWithOwnerDefault.yaml +15 -0
  30. package/test/fixtures/config/syncDoubleUplinksMetadata.yaml +2 -18
  31. package/test/search.spec.ts +28 -7
  32. package/test/storage-utils.spec.ts +1 -0
  33. package/test/storage.spec.ts +466 -80
  34. package/test/versions.spec.ts +58 -1
  35. package/build/lib/TransFormResults.d.ts +0 -15
  36. package/build/lib/TransFormResults.js +0 -51
  37. package/build/lib/TransFormResults.js.map +0 -1
  38. package/build/lib/search-utils.d.ts +0 -4
  39. package/build/lib/search-utils.js +0 -50
  40. package/build/lib/search-utils.js.map +0 -1
  41. package/build/lib/uplink-util.d.ts +0 -10
  42. package/build/lib/uplink-util.js +0 -43
  43. package/build/lib/uplink-util.js.map +0 -1
  44. package/src/lib/TransFormResults.ts +0 -42
  45. package/src/lib/search-utils.ts +0 -50
  46. package/src/lib/uplink-util.ts +0 -42
  47. /package/test/fixtures/config/{getTarballNext-getupstream.yaml → getTarball-getupstream.yaml} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,361 @@
1
1
  # @verdaccio/store
2
2
 
3
+ ## 8.0.0-next-8.1
4
+
5
+ ### Patch Changes
6
+
7
+ - @verdaccio/hooks@8.0.0-next-8.1
8
+ - @verdaccio/core@8.0.0-next-8.1
9
+ - @verdaccio/config@8.0.0-next-8.1
10
+ - @verdaccio/tarball@13.0.0-next-8.1
11
+ - @verdaccio/url@13.0.0-next-8.1
12
+ - @verdaccio/loaders@8.0.0-next-8.1
13
+ - @verdaccio/local-storage@13.0.0-next-8.1
14
+ - @verdaccio/proxy@8.0.0-next-8.1
15
+ - @verdaccio/search@8.0.0-next-8.1
16
+ - @verdaccio/utils@7.0.1-next-8.1
17
+ - @verdaccio/logger@8.0.0-next-8.1
18
+
19
+ ## 8.0.0-next-8.0
20
+
21
+ ### Major Changes
22
+
23
+ - chore: move v7 next to v8 next
24
+
25
+ ### Patch Changes
26
+
27
+ - Updated dependencies
28
+ - @verdaccio/local-storage@13.0.0-next-8.0
29
+ - @verdaccio/logger@8.0.0-next-8.0
30
+ - @verdaccio/tarball@13.0.0-next-8.0
31
+ - @verdaccio/core@8.0.0-next-8.0
32
+ - @verdaccio/url@13.0.0-next-8.0
33
+ - @verdaccio/loaders@8.0.0-next-8.0
34
+ - @verdaccio/config@8.0.0-next-8.0
35
+ - @verdaccio/search@8.0.0-next-8.0
36
+ - @verdaccio/hooks@8.0.0-next-8.0
37
+ - @verdaccio/proxy@8.0.0-next-8.0
38
+ - @verdaccio/utils@7.0.1-next-8.0
39
+
40
+ ## 7.0.0
41
+
42
+ ### Major Changes
43
+
44
+ - 47f61c6: feat!: bump to v7
45
+ - e7ebccb: update major dependencies, remove old nodejs support
46
+
47
+ ### Patch Changes
48
+
49
+ - e5624e1: chore: fix types for some store tests
50
+ - 5bfab62: feat: add tarball details for published packages
51
+ - 6e764e3: feat: add support for npm owner
52
+ - e14b064: - Fixes polynomial regular expression when determining the file name of tarball
53
+ - Add tests for extracting tarball name
54
+ - 7400830: revert #4600
55
+ - f967a69: fix: avoid warning "time for version x already exists"
56
+ - de6ff5c: fix: update fields for abbreviated manifest
57
+ - c807f0c: fix: store readme when publishing locally
58
+ - 7c9f3cf: chore: improve startup logging
59
+ - 253cc13: feat: add tarball details for published packages
60
+ - Updated dependencies [47f61c6]
61
+ - Updated dependencies [10dd81f]
62
+ - Updated dependencies [5bfab62]
63
+ - Updated dependencies [cce258e]
64
+ - Updated dependencies [6e764e3]
65
+ - Updated dependencies [b0946b2]
66
+ - Updated dependencies [ccc7bd1]
67
+ - Updated dependencies [8c10a3e]
68
+ - Updated dependencies [daceb6d]
69
+ - Updated dependencies [e14b064]
70
+ - Updated dependencies [e7ebccb]
71
+ - Updated dependencies [c9962fe]
72
+ - Updated dependencies [4ac3aea]
73
+ - Updated dependencies [7400830]
74
+ - Updated dependencies [35cc57b]
75
+ - Updated dependencies [f047cc8]
76
+ - Updated dependencies [a99a4bb]
77
+ - Updated dependencies [38b1e82]
78
+ - Updated dependencies [a05a7d8]
79
+ - Updated dependencies [7c9f3cf]
80
+ - Updated dependencies [c31aec8]
81
+ - Updated dependencies [1bae121]
82
+ - Updated dependencies [bd8703e]
83
+ - Updated dependencies [253cc13]
84
+ - Updated dependencies [4d96324]
85
+ - @verdaccio/config@7.0.0
86
+ - @verdaccio/core@7.0.0
87
+ - @verdaccio/tarball@12.0.0
88
+ - @verdaccio/url@12.0.0
89
+ - @verdaccio/hooks@7.0.0
90
+ - @verdaccio/loaders@7.0.0
91
+ - @verdaccio/logger@7.0.0
92
+ - @verdaccio/local-storage@12.0.0
93
+ - @verdaccio/proxy@7.0.0
94
+ - @verdaccio/search@7.0.0
95
+ - @verdaccio/utils@7.0.0
96
+
97
+ ## 7.0.0-next-8.21
98
+
99
+ ### Patch Changes
100
+
101
+ - 7c9f3cf: chore: improve startup logging
102
+ - Updated dependencies [8c10a3e]
103
+ - Updated dependencies [a05a7d8]
104
+ - Updated dependencies [7c9f3cf]
105
+ - @verdaccio/config@7.0.0-next-8.21
106
+ - @verdaccio/local-storage@12.0.0-next-8.21
107
+ - @verdaccio/core@7.0.0-next-8.21
108
+ - @verdaccio/loaders@7.0.0-next-8.21
109
+ - @verdaccio/hooks@7.0.0-next-8.21
110
+ - @verdaccio/proxy@7.0.0-next-8.21
111
+ - @verdaccio/search@7.0.0-next-8.10
112
+ - @verdaccio/tarball@12.0.0-next-8.21
113
+ - @verdaccio/url@12.0.0-next-8.21
114
+ - @verdaccio/utils@7.0.0-next-8.21
115
+ - @verdaccio/logger@7.0.0-next-8.21
116
+
117
+ ## 7.0.0-next-7.20
118
+
119
+ ### Patch Changes
120
+
121
+ - Updated dependencies [ccc7bd1]
122
+ - @verdaccio/url@12.0.0-next-7.20
123
+ - @verdaccio/tarball@12.0.0-next-7.20
124
+ - @verdaccio/core@7.0.0-next-7.20
125
+ - @verdaccio/config@7.0.0-next-7.20
126
+ - @verdaccio/hooks@7.0.0-next-7.20
127
+ - @verdaccio/loaders@7.0.0-next-7.20
128
+ - @verdaccio/local-storage@12.0.0-next-7.20
129
+ - @verdaccio/proxy@7.0.0-next-7.20
130
+ - @verdaccio/search@7.0.0-next-7.9
131
+ - @verdaccio/utils@7.0.0-next-7.20
132
+ - @verdaccio/logger@7.0.0-next-7.20
133
+
134
+ ## 7.0.0-next-7.19
135
+
136
+ ### Patch Changes
137
+
138
+ - Updated dependencies [c31aec8]
139
+ - @verdaccio/config@7.0.0-next-7.19
140
+ - @verdaccio/hooks@7.0.0-next-7.19
141
+ - @verdaccio/loaders@7.0.0-next-7.19
142
+ - @verdaccio/local-storage@12.0.0-next-7.19
143
+ - @verdaccio/proxy@7.0.0-next-7.19
144
+ - @verdaccio/search@7.0.0-next-7.8
145
+ - @verdaccio/core@7.0.0-next-7.19
146
+ - @verdaccio/tarball@12.0.0-next-7.19
147
+ - @verdaccio/url@12.0.0-next-7.19
148
+ - @verdaccio/utils@7.0.0-next-7.19
149
+ - @verdaccio/logger@7.0.0-next-7.19
150
+
151
+ ## 7.0.0-next-7.18
152
+
153
+ ### Patch Changes
154
+
155
+ - Updated dependencies [10dd81f]
156
+ - @verdaccio/config@7.0.0-next-7.18
157
+ - @verdaccio/core@7.0.0-next-7.18
158
+ - @verdaccio/tarball@12.0.0-next-7.18
159
+ - @verdaccio/url@12.0.0-next-7.18
160
+ - @verdaccio/hooks@7.0.0-next-7.18
161
+ - @verdaccio/loaders@7.0.0-next-7.18
162
+ - @verdaccio/logger@7.0.0-next-7.18
163
+ - @verdaccio/local-storage@12.0.0-next-7.18
164
+ - @verdaccio/proxy@7.0.0-next-7.18
165
+ - @verdaccio/search@7.0.0-next-7.7
166
+ - @verdaccio/utils@7.0.0-next-7.18
167
+
168
+ ## 7.0.0-next-7.17
169
+
170
+ ### Patch Changes
171
+
172
+ - 6e764e3: feat: add support for npm owner
173
+ - de6ff5c: fix: update fields for abbreviated manifest
174
+ - Updated dependencies [6e764e3]
175
+ - @verdaccio/config@7.0.0-next-7.17
176
+ - @verdaccio/core@7.0.0-next-7.17
177
+ - @verdaccio/tarball@12.0.0-next-7.17
178
+ - @verdaccio/url@12.0.0-next-7.17
179
+ - @verdaccio/hooks@7.0.0-next-7.17
180
+ - @verdaccio/loaders@7.0.0-next-7.17
181
+ - @verdaccio/logger@7.0.0-next-7.17
182
+ - @verdaccio/local-storage@12.0.0-next-7.17
183
+ - @verdaccio/proxy@7.0.0-next-7.17
184
+ - @verdaccio/search@7.0.0-next-7.6
185
+ - @verdaccio/utils@7.0.0-next-7.17
186
+
187
+ ## 7.0.0-next-7.16
188
+
189
+ ### Patch Changes
190
+
191
+ - e5624e1: chore: fix types for some store tests
192
+ - 5bfab62: feat: add tarball details for published packages
193
+ - Updated dependencies [5bfab62]
194
+ - Updated dependencies [38b1e82]
195
+ - @verdaccio/tarball@12.0.0-next-7.16
196
+ - @verdaccio/url@12.0.0-next-7.16
197
+ - @verdaccio/logger@7.0.0-next-7.16
198
+ - @verdaccio/hooks@7.0.0-next-7.16
199
+ - @verdaccio/loaders@7.0.0-next-7.16
200
+ - @verdaccio/local-storage@12.0.0-next-7.16
201
+ - @verdaccio/proxy@7.0.0-next-7.16
202
+ - @verdaccio/search@7.0.0-next-7.5
203
+ - @verdaccio/core@7.0.0-next-7.16
204
+ - @verdaccio/config@7.0.0-next-7.16
205
+ - @verdaccio/utils@7.0.0-next-7.16
206
+
207
+ ## 7.0.0-next-7.15
208
+
209
+ ### Patch Changes
210
+
211
+ - 7400830: revert #4600
212
+ - Updated dependencies [7400830]
213
+ - Updated dependencies [bd8703e]
214
+ - @verdaccio/tarball@12.0.0-next-7.15
215
+ - @verdaccio/core@7.0.0-next-7.15
216
+ - @verdaccio/config@7.0.0-next-7.15
217
+ - @verdaccio/url@12.0.0-next-7.15
218
+ - @verdaccio/hooks@7.0.0-next-7.15
219
+ - @verdaccio/loaders@7.0.0-next-7.15
220
+ - @verdaccio/logger@7.0.0-next-7.15
221
+ - @verdaccio/local-storage@12.0.0-next-7.15
222
+ - @verdaccio/proxy@7.0.0-next-7.15
223
+ - @verdaccio/search@7.0.0-next-7.4
224
+ - @verdaccio/utils@7.0.0-next-7.15
225
+
226
+ ## 7.0.0-next-7.14
227
+
228
+ ### Patch Changes
229
+
230
+ - f967a69: fix: avoid warning "time for version x already exists"
231
+ - 253cc13: feat: add tarball details for published packages
232
+ - Updated dependencies [b0946b2]
233
+ - Updated dependencies [4ac3aea]
234
+ - Updated dependencies [1bae121]
235
+ - Updated dependencies [253cc13]
236
+ - @verdaccio/url@12.0.0-next-7.14
237
+ - @verdaccio/local-storage@12.0.0-next-7.14
238
+ - @verdaccio/tarball@12.0.0-next-7.14
239
+ - @verdaccio/hooks@7.0.0-next-7.14
240
+ - @verdaccio/core@7.0.0-next-7.14
241
+ - @verdaccio/config@7.0.0-next-7.14
242
+ - @verdaccio/loaders@7.0.0-next-7.14
243
+ - @verdaccio/proxy@7.0.0-next-7.14
244
+ - @verdaccio/search@7.0.0-next-7.3
245
+ - @verdaccio/utils@7.0.0-next-7.14
246
+ - @verdaccio/logger@7.0.0-next-7.14
247
+
248
+ ## 7.0.0-next-7.13
249
+
250
+ ### Patch Changes
251
+
252
+ - Updated dependencies [a99a4bb]
253
+ - @verdaccio/config@7.0.0-next-7.13
254
+ - @verdaccio/hooks@7.0.0-next-7.13
255
+ - @verdaccio/loaders@7.0.0-next-7.13
256
+ - @verdaccio/local-storage@12.0.0-next-7.13
257
+ - @verdaccio/proxy@7.0.0-next-7.13
258
+ - @verdaccio/search@7.0.0-next-7.2
259
+ - @verdaccio/logger@7.0.0-next-7.13
260
+ - @verdaccio/core@7.0.0-next-7.13
261
+ - @verdaccio/tarball@12.0.0-next-7.13
262
+ - @verdaccio/url@12.0.0-next-7.13
263
+ - @verdaccio/utils@7.0.0-next-7.13
264
+
265
+ ## 7.0.0-next-7.12
266
+
267
+ ### Patch Changes
268
+
269
+ - Updated dependencies [cce258e]
270
+ - @verdaccio/search@7.0.0-next-7.1
271
+ - @verdaccio/core@7.0.0-next-7.12
272
+ - @verdaccio/config@7.0.0-next-7.12
273
+ - @verdaccio/tarball@12.0.0-next-7.12
274
+ - @verdaccio/url@12.0.0-next-7.12
275
+ - @verdaccio/hooks@7.0.0-next-7.12
276
+ - @verdaccio/loaders@7.0.0-next-7.12
277
+ - @verdaccio/local-storage@12.0.0-next-7.12
278
+ - @verdaccio/proxy@7.0.0-next-7.12
279
+ - @verdaccio/utils@7.0.0-next-7.12
280
+ - @verdaccio/logger@7.0.0-next-7.12
281
+
282
+ ## 7.0.0-next-7.11
283
+
284
+ ### Patch Changes
285
+
286
+ - Updated dependencies [c9962fe]
287
+ - @verdaccio/config@7.0.0-next-7.11
288
+ - @verdaccio/hooks@7.0.0-next-7.11
289
+ - @verdaccio/loaders@7.0.0-next-7.11
290
+ - @verdaccio/local-storage@12.0.0-next-7.11
291
+ - @verdaccio/proxy@7.0.0-next-7.11
292
+ - @verdaccio/core@7.0.0-next-7.11
293
+ - @verdaccio/tarball@12.0.0-next-7.11
294
+ - @verdaccio/url@12.0.0-next-7.11
295
+ - @verdaccio/utils@7.0.0-next-7.11
296
+ - @verdaccio/logger@7.0.0-next-7.11
297
+
298
+ ## 7.0.0-next-7.10
299
+
300
+ ### Patch Changes
301
+
302
+ - @verdaccio/core@7.0.0-next-7.10
303
+ - @verdaccio/config@7.0.0-next-7.10
304
+ - @verdaccio/tarball@12.0.0-next-7.10
305
+ - @verdaccio/url@12.0.0-next-7.10
306
+ - @verdaccio/hooks@7.0.0-next-7.10
307
+ - @verdaccio/loaders@7.0.0-next-7.10
308
+ - @verdaccio/local-storage@12.0.0-next-7.10
309
+ - @verdaccio/proxy@7.0.0-next-7.10
310
+ - @verdaccio/utils@7.0.0-next-7.10
311
+ - @verdaccio/logger@7.0.0-next-7.10
312
+
313
+ ## 7.0.0-next-7.9
314
+
315
+ ### Patch Changes
316
+
317
+ - c807f0c: fix: store readme when publishing locally
318
+ - @verdaccio/local-storage@12.0.0-next-7.9
319
+ - @verdaccio/core@7.0.0-next-7.9
320
+ - @verdaccio/config@7.0.0-next-7.9
321
+ - @verdaccio/tarball@12.0.0-next-7.9
322
+ - @verdaccio/url@12.0.0-next-7.9
323
+ - @verdaccio/hooks@7.0.0-next-7.9
324
+ - @verdaccio/loaders@7.0.0-next-7.9
325
+ - @verdaccio/proxy@7.0.0-next-7.9
326
+ - @verdaccio/utils@7.0.0-next-7.9
327
+ - @verdaccio/logger@7.0.0-next-7.9
328
+
329
+ ## 7.0.0-next-7.8
330
+
331
+ ### Patch Changes
332
+
333
+ - @verdaccio/core@7.0.0-next-7.8
334
+ - @verdaccio/config@7.0.0-next-7.8
335
+ - @verdaccio/tarball@12.0.0-next-7.8
336
+ - @verdaccio/url@12.0.0-next-7.8
337
+ - @verdaccio/hooks@7.0.0-next-7.8
338
+ - @verdaccio/loaders@7.0.0-next-7.8
339
+ - @verdaccio/local-storage@12.0.0-next-7.8
340
+ - @verdaccio/proxy@7.0.0-next-7.8
341
+ - @verdaccio/utils@7.0.0-next-7.8
342
+ - @verdaccio/logger@7.0.0-next-7.8
343
+
344
+ ## 7.0.0-next-7.7
345
+
346
+ ### Patch Changes
347
+
348
+ - @verdaccio/core@7.0.0-next-7.7
349
+ - @verdaccio/config@7.0.0-next-7.7
350
+ - @verdaccio/tarball@12.0.0-next-7.7
351
+ - @verdaccio/url@12.0.0-next-7.7
352
+ - @verdaccio/hooks@7.0.0-next-7.7
353
+ - @verdaccio/loaders@7.0.0-next-7.7
354
+ - @verdaccio/local-storage@12.0.0-next-7.7
355
+ - @verdaccio/proxy@7.0.0-next-7.7
356
+ - @verdaccio/utils@7.0.0-next-7.7
357
+ - @verdaccio/logger@7.0.0-next-7.7
358
+
3
359
  ## 7.0.0-next.6
4
360
 
5
361
  ### Patch Changes
package/README.md CHANGED
@@ -1,71 +1,38 @@
1
- # @verdaccio/store
1
+ # Verdaccio Search API
2
2
 
3
- [![backers](https://opencollective.com/verdaccio/tiers/backer/badge.svg?label=Backer&color=brightgreen)](https://opencollective.com/verdaccio)
4
- [![stackshare](https://img.shields.io/badge/Follow%20on-StackShare-blue.svg?logo=stackshare&style=flat)](https://stackshare.io/verdaccio)
5
- [![MIT](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
6
- [![Crowdin](https://d322cqt584bo4o.cloudfront.net/verdaccio/localized.svg)](https://crowdin.com/project/verdaccio)
7
- [![TODOs](https://badgen.net/https/api.tickgit.com/badgen/github.com/verdaccio/verdaccio)](https://www.tickgit.com/browse?repo=github.com/verdaccio/verdaccio)
3
+ The **Search** class in Verdaccio provides a convenient API for searching packages across both configured proxies and local storage. It enables efficient package discovery and retrieval by aggregating search results from multiple upstream sources.
8
4
 
9
- [![Twitter followers](https://img.shields.io/twitter/follow/verdaccio_npm.svg?style=social&label=Follow)](https://twitter.com/verdaccio_npm)
10
- [![Github](https://img.shields.io/github/stars/verdaccio/verdaccio.svg?style=social&label=Stars)](https://github.com/verdaccio/verdaccio/stargazers)
5
+ ## Installation
11
6
 
12
- ## Donations
13
-
14
- Verdaccio is run by **volunteers**; nobody is working full-time on it. If you find this project to be useful and would like to support its development, consider making a donation - **your logo might end up in this readme.** 😉
15
-
16
- **[Donate](https://opencollective.com/verdaccio)** 💵👍🏻 starting from _\$1/month_ or just one single contribution.
17
-
18
- ## Report a vulnerability
19
-
20
- If you want to report a security vulnerability, please follow the steps which we have defined for you in our [security policy](https://github.com/verdaccio/verdaccio/security/policy).
21
-
22
- ## Open Collective Sponsors
23
-
24
- Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio#sponsor)]
7
+ ```bash
8
+ npm install @verdaccio/search
9
+ ```
25
10
 
26
- [![sponsor](https://opencollective.com/verdaccio/sponsor/0/avatar.svg)](https://opencollective.com/verdaccio/sponsor/0/website)
27
- [![sponsor](https://opencollective.com/verdaccio/sponsor/1/avatar.svg)](https://opencollective.com/verdaccio/sponsor/1/website)
28
- [![sponsor](https://opencollective.com/verdaccio/sponsor/2/avatar.svg)](https://opencollective.com/verdaccio/sponsor/2/website)
29
- [![sponsor](https://opencollective.com/verdaccio/sponsor/3/avatar.svg)](https://opencollective.com/verdaccio/sponsor/3/website)
30
- [![sponsor](https://opencollective.com/verdaccio/sponsor/4/avatar.svg)](https://opencollective.com/verdaccio/sponsor/4/website)
31
- [![sponsor](https://opencollective.com/verdaccio/sponsor/5/avatar.svg)](https://opencollective.com/verdaccio/sponsor/5/website)
32
- [![sponsor](https://opencollective.com/verdaccio/sponsor/6/avatar.svg)](https://opencollective.com/verdaccio/sponsor/6/website)
33
- [![sponsor](https://opencollective.com/verdaccio/sponsor/7/avatar.svg)](https://opencollective.com/verdaccio/sponsor/7/website)
34
- [![sponsor](https://opencollective.com/verdaccio/sponsor/8/avatar.svg)](https://opencollective.com/verdaccio/sponsor/8/website)
35
- [![sponsor](https://opencollective.com/verdaccio/sponsor/9/avatar.svg)](https://opencollective.com/verdaccio/sponsor/9/website)
11
+ ## Usage
36
12
 
37
- ## Open Collective Backers
13
+ ```ts
14
+ import { Config } from '@verdaccio/config';
15
+ import { logger } from '@verdaccio/logger';
16
+ import { Search } from '@verdaccio/search';
38
17
 
39
- Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio#backer)]
18
+ const config = new Config(configYaml);
19
+ // Instantiate Search class
20
+ const search = new Search(config, logger);
40
21
 
41
- [![backers](https://opencollective.com/verdaccio/backers.svg?width=890)](https://opencollective.com/verdaccio#backers)
22
+ // Define search parameters
23
+ const searchParams = {
24
+ // specify search parameters as needed
25
+ };
42
26
 
43
- ## Special Thanks
27
+ // Perform a search and retrieve the results
28
+ const searchResults = await search.search(searchParams);
29
+ ```
44
30
 
45
- Thanks to the following companies to help us to achieve our goals providing free open source licenses.
46
-
47
- [![jetbrain](assets/thanks/jetbrains/logo.png)](https://www.jetbrains.com/)
48
- [![crowdin](assets/thanks/crowdin/logo.png)](https://crowdin.com/)
49
- [![balsamiq](assets/thanks/balsamiq/logo.jpg)](https://balsamiq.com/)
50
-
51
- ## Contributors
52
-
53
- This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
54
-
55
- [![contributors](https://opencollective.com/verdaccio/contributors.svg?width=890&button=true)](../../graphs/contributors)
56
-
57
- ### FAQ / Contact / Troubleshoot
31
+ ## Donations
58
32
 
59
- If you have any issue you can try the following options, do no desist to ask or check our issues database, perhaps someone has asked already what you are looking for.
33
+ Verdaccio is run by **volunteers**; nobody is working full-time on it. If you find this project to be useful and would like to support its development, consider making a donation - **your logo might end up in this readme.** 😉
60
34
 
61
- - [Blog](https://verdaccio.org/blog/)
62
- - [Donations](https://opencollective.com/verdaccio)
63
- - [Reporting an issue](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#reporting-a-bug)
64
- - [Running discussions](https://github.com/verdaccio/verdaccio/issues?q=is%3Aissue+is%3Aopen+label%3Adiscuss)
65
- - [Chat](http://chat.verdaccio.org/)
66
- - [Logos](https://verdaccio.org/docs/en/logo)
67
- - [Docker Examples](https://github.com/verdaccio/docker-examples)
68
- - [FAQ](https://github.com/verdaccio/verdaccio/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20)
35
+ **[Donate](https://opencollective.com/verdaccio)** 💵👍🏻 starting from _\$1/month_ or just one single contribution.
69
36
 
70
37
  ### License
71
38
 
package/build/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export { Storage } from './storage';
2
2
  export * from './lib/storage-utils';
3
- export * from './lib/search-utils';
4
3
  export * from './lib/versions-utils';
5
4
  export * from './lib/star-utils';
6
5
  export * from './type';
package/build/index.js CHANGED
@@ -25,18 +25,6 @@ Object.keys(_storageUtils).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
- var _searchUtils = require("./lib/search-utils");
29
- Object.keys(_searchUtils).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
32
- if (key in exports && exports[key] === _searchUtils[key]) return;
33
- Object.defineProperty(exports, key, {
34
- enumerable: true,
35
- get: function () {
36
- return _searchUtils[key];
37
- }
38
- });
39
- });
40
28
  var _versionsUtils = require("./lib/versions-utils");
41
29
  Object.keys(_versionsUtils).forEach(function (key) {
42
30
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_storage","require","_storageUtils","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_searchUtils","_versionsUtils","_starUtils","_type"],"sources":["../src/index.ts"],"sourcesContent":["export { Storage } from './storage';\nexport * from './lib/storage-utils';\nexport * from './lib/search-utils';\nexport * from './lib/versions-utils';\nexport * from './lib/star-utils';\nexport * from './type';\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,aAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,aAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,aAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,YAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,YAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,YAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,YAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,cAAA,GAAAf,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAY,cAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAU,cAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,cAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,UAAA,GAAAhB,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAa,UAAA,EAAAZ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAW,UAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,UAAA,CAAAX,GAAA;IAAA;EAAA;AAAA;AACA,IAAAY,KAAA,GAAAjB,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAc,KAAA,EAAAb,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAY,KAAA,CAAAZ,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,KAAA,CAAAZ,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_storage","require","_storageUtils","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_versionsUtils","_starUtils","_type"],"sources":["../src/index.ts"],"sourcesContent":["export { Storage } from './storage';\nexport * from './lib/storage-utils';\nexport * from './lib/versions-utils';\nexport * from './lib/star-utils';\nexport * from './type';\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,aAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,aAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,aAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,cAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,cAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,cAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,cAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,UAAA,GAAAf,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAY,UAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAU,UAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,UAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,KAAA,GAAAhB,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAa,KAAA,EAAAZ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAW,KAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,KAAA,CAAAX,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"star-utils.js","names":["_core","require","isPublishablePackage","pkg","keys","Object","includes","isExecutingStarCommand","localUsers","username","userIsAddingStar","isExist","isStarManifest","manifest","validatioUtils","isObject","users"],"sources":["../../src/lib/star-utils.ts"],"sourcesContent":["import { validatioUtils } from '@verdaccio/core';\nimport { Manifest, PackageUsers } from '@verdaccio/types';\n\n/**\n * Check whether the package metadata has enough data to be published\n * @param pkg metadata\n */\nexport function isPublishablePackage(pkg: Manifest): boolean {\n // TODO: we can do better, no need get keys\n const keys: string[] = Object.keys(pkg);\n\n return keys.includes('versions');\n}\n\n/**\n * Verify if the user is actually executing an action, to avoid unnecessary calls\n * to the storage.\n * @param localUsers current state at cache\n * @param username user is executing the action\n * @param userIsAddingStar whether user is removing or adding star\n * @returns boolean\n */\nexport function isExecutingStarCommand(\n localUsers: PackageUsers,\n username: string,\n userIsAddingStar: boolean\n): boolean {\n const isExist = typeof localUsers[username] !== 'undefined';\n // fails if user already exist and us trying to add star.\n if (userIsAddingStar && isExist && localUsers[username]) {\n return false;\n // if is not adding a start but user exists (removing star)\n } else if (!userIsAddingStar && isExist) {\n return true;\n // fails if user does not exist and is not adding any star\n } else if (!userIsAddingStar && !isExist) {\n return false;\n }\n return true;\n}\n\nexport function isStarManifest(manifest: Manifest): boolean {\n return isPublishablePackage(manifest) === false && validatioUtils.isObject(manifest.users);\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAACC,GAAa,EAAW;EAC3D;EACA,MAAMC,IAAc,GAAGC,MAAM,CAACD,IAAI,CAACD,GAAG,CAAC;EAEvC,OAAOC,IAAI,CAACE,QAAQ,CAAC,UAAU,CAAC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,sBAAsBA,CACpCC,UAAwB,EACxBC,QAAgB,EAChBC,gBAAyB,EAChB;EACT,MAAMC,OAAO,GAAG,OAAOH,UAAU,CAACC,QAAQ,CAAC,KAAK,WAAW;EAC3D;EACA,IAAIC,gBAAgB,IAAIC,OAAO,IAAIH,UAAU,CAACC,QAAQ,CAAC,EAAE;IACvD,OAAO,KAAK;IACZ;EACF,CAAC,MAAM,IAAI,CAACC,gBAAgB,IAAIC,OAAO,EAAE;IACvC,OAAO,IAAI;IACX;EACF,CAAC,MAAM,IAAI,CAACD,gBAAgB,IAAI,CAACC,OAAO,EAAE;IACxC,OAAO,KAAK;EACd;EACA,OAAO,IAAI;AACb;AAEO,SAASC,cAAcA,CAACC,QAAkB,EAAW;EAC1D,OAAOX,oBAAoB,CAACW,QAAQ,CAAC,KAAK,KAAK,IAAIC,oBAAc,CAACC,QAAQ,CAACF,QAAQ,CAACG,KAAK,CAAC;AAC5F"}
1
+ {"version":3,"file":"star-utils.js","names":["_core","require","isPublishablePackage","pkg","keys","Object","includes","isExecutingStarCommand","localUsers","username","userIsAddingStar","isExist","isStarManifest","manifest","validatioUtils","isObject","users"],"sources":["../../src/lib/star-utils.ts"],"sourcesContent":["import { validatioUtils } from '@verdaccio/core';\nimport { Manifest, PackageUsers } from '@verdaccio/types';\n\n/**\n * Check whether the package metadata has enough data to be published\n * @param pkg metadata\n */\nexport function isPublishablePackage(pkg: Manifest): boolean {\n // TODO: we can do better, no need get keys\n const keys: string[] = Object.keys(pkg);\n\n return keys.includes('versions');\n}\n\n/**\n * Verify if the user is actually executing an action, to avoid unnecessary calls\n * to the storage.\n * @param localUsers current state at cache\n * @param username user is executing the action\n * @param userIsAddingStar whether user is removing or adding star\n * @returns boolean\n */\nexport function isExecutingStarCommand(\n localUsers: PackageUsers,\n username: string,\n userIsAddingStar: boolean\n): boolean {\n const isExist = typeof localUsers[username] !== 'undefined';\n // fails if user already exist and us trying to add star.\n if (userIsAddingStar && isExist && localUsers[username]) {\n return false;\n // if is not adding a start but user exists (removing star)\n } else if (!userIsAddingStar && isExist) {\n return true;\n // fails if user does not exist and is not adding any star\n } else if (!userIsAddingStar && !isExist) {\n return false;\n }\n return true;\n}\n\nexport function isStarManifest(manifest: Manifest): boolean {\n return isPublishablePackage(manifest) === false && validatioUtils.isObject(manifest.users);\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAACC,GAAa,EAAW;EAC3D;EACA,MAAMC,IAAc,GAAGC,MAAM,CAACD,IAAI,CAACD,GAAG,CAAC;EAEvC,OAAOC,IAAI,CAACE,QAAQ,CAAC,UAAU,CAAC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,sBAAsBA,CACpCC,UAAwB,EACxBC,QAAgB,EAChBC,gBAAyB,EAChB;EACT,MAAMC,OAAO,GAAG,OAAOH,UAAU,CAACC,QAAQ,CAAC,KAAK,WAAW;EAC3D;EACA,IAAIC,gBAAgB,IAAIC,OAAO,IAAIH,UAAU,CAACC,QAAQ,CAAC,EAAE;IACvD,OAAO,KAAK;IACZ;EACF,CAAC,MAAM,IAAI,CAACC,gBAAgB,IAAIC,OAAO,EAAE;IACvC,OAAO,IAAI;IACX;EACF,CAAC,MAAM,IAAI,CAACD,gBAAgB,IAAI,CAACC,OAAO,EAAE;IACxC,OAAO,KAAK;EACd;EACA,OAAO,IAAI;AACb;AAEO,SAASC,cAAcA,CAACC,QAAkB,EAAW;EAC1D,OAAOX,oBAAoB,CAACW,QAAQ,CAAC,KAAK,KAAK,IAAIC,oBAAc,CAACC,QAAQ,CAACF,QAAQ,CAACG,KAAK,CAAC;AAC5F","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import { searchUtils } from '@verdaccio/core';
1
2
  import { AttachMents, Manifest, Version, Versions } from '@verdaccio/types';
2
3
  export declare const STORAGE: {
3
4
  PACKAGE_FILE_NAME: string;
@@ -35,6 +36,7 @@ export declare function updateUpLinkMetadata(uplinkId: any, manifest: Manifest,
35
36
  time: import("@verdaccio/types").GenericBody;
36
37
  versions: Versions;
37
38
  maintainers?: import("@verdaccio/types").Author[] | undefined;
39
+ contributors?: import("@verdaccio/types").Author[] | undefined;
38
40
  readme?: string | undefined;
39
41
  users?: import("@verdaccio/types").PackageUsers | undefined;
40
42
  access?: any;
@@ -81,3 +83,4 @@ export declare function mergeVersions(cacheManifest: Manifest, remoteManifest: M
81
83
  export declare function normalizeDistTags(manifest: Manifest): Manifest;
82
84
  export declare function hasDeprecatedVersions(pkgInfo: Manifest): boolean;
83
85
  export declare function isDeprecatedManifest(manifest: Manifest): boolean;
86
+ export declare function mapManifestToSearchPackageBody(pkg: Manifest, searchItem: searchUtils.SearchItem): searchUtils.SearchPackageBody;
@@ -14,6 +14,7 @@ exports.hasDeprecatedVersions = hasDeprecatedVersions;
14
14
  exports.hasInvalidPublishBody = hasInvalidPublishBody;
15
15
  exports.isDeprecatedManifest = isDeprecatedManifest;
16
16
  exports.isDifferentThanOne = isDifferentThanOne;
17
+ exports.mapManifestToSearchPackageBody = mapManifestToSearchPackageBody;
17
18
  exports.mergeUplinkTimeIntoLocal = mergeUplinkTimeIntoLocal;
18
19
  exports.mergeUplinkTimeIntoLocalNext = mergeUplinkTimeIntoLocalNext;
19
20
  exports.mergeVersions = mergeVersions;
@@ -26,7 +27,7 @@ var _semver = _interopRequireDefault(require("semver"));
26
27
  var _core = require("@verdaccio/core");
27
28
  var _utils = require("@verdaccio/utils");
28
29
  var _versionsUtils = require("./versions-utils");
29
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
30
31
  const STORAGE = exports.STORAGE = {
31
32
  PACKAGE_FILE_NAME: 'package.json',
32
33
  FILE_EXIST_ERROR: 'EEXISTS',
@@ -47,6 +48,7 @@ function generatePackageTemplate(name) {
47
48
  time: {},
48
49
  [_core.USERS]: {},
49
50
  [_core.DIST_TAGS]: {},
51
+ [_core.MAINTAINERS]: [],
50
52
  _uplinks: {},
51
53
  _distfiles: {},
52
54
  _attachments: {},
@@ -110,7 +112,7 @@ function cleanUpReadme(version) {
110
112
  }
111
113
  return version;
112
114
  }
113
- const WHITELIST = exports.WHITELIST = ['_rev', 'name', 'versions', 'dist-tags', 'readme', 'time', '_id', 'users'];
115
+ const WHITELIST = exports.WHITELIST = ['_rev', 'name', 'versions', 'dist-tags', 'readme', 'time', '_id', 'users', 'maintainers'];
114
116
  function cleanUpLinksRef(result, keepUpLinkData) {
115
117
  const propertyToKeep = [...WHITELIST];
116
118
  if (keepUpLinkData === true) {
@@ -277,6 +279,9 @@ function mergeVersions(cacheManifest, remoteManifest) {
277
279
  }
278
280
  }
279
281
  }
282
+
283
+ // TODO: Should we merge owners? _cacheManifest[MAINTAINERS]
284
+
280
285
  return cacheManifest;
281
286
  }
282
287
 
@@ -346,4 +351,32 @@ function hasDeprecatedVersions(pkgInfo) {
346
351
  function isDeprecatedManifest(manifest) {
347
352
  return hasDeprecatedVersions(manifest) && Object.keys(manifest._attachments).length === 0;
348
353
  }
354
+ function mapManifestToSearchPackageBody(pkg, searchItem) {
355
+ const latest = _core.pkgUtils.getLatest(pkg);
356
+ const version = pkg.versions[latest];
357
+ const result = {
358
+ name: version.name,
359
+ scope: '',
360
+ description: version.description,
361
+ version: latest,
362
+ keywords: version.keywords,
363
+ date: pkg.time[latest],
364
+ // FIXME: type
365
+ author: version.author,
366
+ // FIXME: not possible fill this out from a private package
367
+ publisher: {},
368
+ // FIXME: type
369
+ maintainers: version.maintainers,
370
+ links: {
371
+ npm: '',
372
+ homepage: version.homepage,
373
+ repository: version.repository,
374
+ bugs: version.bugs
375
+ }
376
+ };
377
+ if (typeof searchItem.package.scoped === 'string') {
378
+ result.scope = searchItem.package.scoped;
379
+ }
380
+ return result;
381
+ }
349
382
  //# sourceMappingURL=storage-utils.js.map