@verdaccio/store 7.0.0-next.5 → 8.0.0-next-8.0

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 (48) hide show
  1. package/CHANGELOG.md +359 -0
  2. package/LICENSE +1 -1
  3. package/README.md +24 -57
  4. package/build/index.d.ts +0 -1
  5. package/build/index.js +0 -12
  6. package/build/index.js.map +1 -1
  7. package/build/lib/star-utils.js.map +1 -1
  8. package/build/lib/storage-utils.d.ts +3 -0
  9. package/build/lib/storage-utils.js +35 -2
  10. package/build/lib/storage-utils.js.map +1 -1
  11. package/build/lib/versions-utils.d.ts +14 -0
  12. package/build/lib/versions-utils.js +52 -1
  13. package/build/lib/versions-utils.js.map +1 -1
  14. package/build/local-storage.js +3 -3
  15. package/build/local-storage.js.map +1 -1
  16. package/build/storage.d.ts +14 -15
  17. package/build/storage.js +199 -162
  18. package/build/storage.js.map +1 -1
  19. package/build/type.d.ts +5 -0
  20. package/build/type.js.map +1 -1
  21. package/jest.config.js +2 -2
  22. package/package.json +18 -17
  23. package/src/index.ts +0 -1
  24. package/src/lib/storage-utils.ts +40 -2
  25. package/src/lib/versions-utils.ts +50 -1
  26. package/src/local-storage.ts +3 -2
  27. package/src/storage.ts +230 -150
  28. package/src/type.ts +6 -0
  29. package/test/fixtures/config/publishWithOwnerAndCheck.yaml +18 -0
  30. package/test/fixtures/config/publishWithOwnerDefault.yaml +15 -0
  31. package/test/fixtures/config/syncDoubleUplinksMetadata.yaml +2 -18
  32. package/test/search.spec.ts +28 -7
  33. package/test/storage-utils.spec.ts +1 -0
  34. package/test/storage.spec.ts +466 -80
  35. package/test/versions.spec.ts +58 -1
  36. package/build/lib/TransFormResults.d.ts +0 -15
  37. package/build/lib/TransFormResults.js +0 -51
  38. package/build/lib/TransFormResults.js.map +0 -1
  39. package/build/lib/search-utils.d.ts +0 -4
  40. package/build/lib/search-utils.js +0 -50
  41. package/build/lib/search-utils.js.map +0 -1
  42. package/build/lib/uplink-util.d.ts +0 -10
  43. package/build/lib/uplink-util.js +0 -43
  44. package/build/lib/uplink-util.js.map +0 -1
  45. package/src/lib/TransFormResults.ts +0 -42
  46. package/src/lib/search-utils.ts +0 -50
  47. package/src/lib/uplink-util.ts +0 -42
  48. /package/test/fixtures/config/{getTarballNext-getupstream.yaml → getTarball-getupstream.yaml} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,364 @@
1
1
  # @verdaccio/store
2
2
 
3
+ ## 8.0.0-next-8.0
4
+
5
+ ### Major Changes
6
+
7
+ - chore: move v7 next to v8 next
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies
12
+ - @verdaccio/local-storage@13.0.0-next-8.0
13
+ - @verdaccio/logger@8.0.0-next-8.0
14
+ - @verdaccio/tarball@13.0.0-next-8.0
15
+ - @verdaccio/core@8.0.0-next-8.0
16
+ - @verdaccio/url@13.0.0-next-8.0
17
+ - @verdaccio/loaders@8.0.0-next-8.0
18
+ - @verdaccio/config@8.0.0-next-8.0
19
+ - @verdaccio/search@8.0.0-next-8.0
20
+ - @verdaccio/hooks@8.0.0-next-8.0
21
+ - @verdaccio/proxy@8.0.0-next-8.0
22
+ - @verdaccio/utils@7.0.1-next-8.0
23
+
24
+ ## 7.0.0
25
+
26
+ ### Major Changes
27
+
28
+ - 47f61c6: feat!: bump to v7
29
+ - e7ebccb: update major dependencies, remove old nodejs support
30
+
31
+ ### Patch Changes
32
+
33
+ - e5624e1: chore: fix types for some store tests
34
+ - 5bfab62: feat: add tarball details for published packages
35
+ - 6e764e3: feat: add support for npm owner
36
+ - e14b064: - Fixes polynomial regular expression when determining the file name of tarball
37
+ - Add tests for extracting tarball name
38
+ - 7400830: revert #4600
39
+ - f967a69: fix: avoid warning "time for version x already exists"
40
+ - de6ff5c: fix: update fields for abbreviated manifest
41
+ - c807f0c: fix: store readme when publishing locally
42
+ - 7c9f3cf: chore: improve startup logging
43
+ - 253cc13: feat: add tarball details for published packages
44
+ - Updated dependencies [47f61c6]
45
+ - Updated dependencies [10dd81f]
46
+ - Updated dependencies [5bfab62]
47
+ - Updated dependencies [cce258e]
48
+ - Updated dependencies [6e764e3]
49
+ - Updated dependencies [b0946b2]
50
+ - Updated dependencies [ccc7bd1]
51
+ - Updated dependencies [8c10a3e]
52
+ - Updated dependencies [daceb6d]
53
+ - Updated dependencies [e14b064]
54
+ - Updated dependencies [e7ebccb]
55
+ - Updated dependencies [c9962fe]
56
+ - Updated dependencies [4ac3aea]
57
+ - Updated dependencies [7400830]
58
+ - Updated dependencies [35cc57b]
59
+ - Updated dependencies [f047cc8]
60
+ - Updated dependencies [a99a4bb]
61
+ - Updated dependencies [38b1e82]
62
+ - Updated dependencies [a05a7d8]
63
+ - Updated dependencies [7c9f3cf]
64
+ - Updated dependencies [c31aec8]
65
+ - Updated dependencies [1bae121]
66
+ - Updated dependencies [bd8703e]
67
+ - Updated dependencies [253cc13]
68
+ - Updated dependencies [4d96324]
69
+ - @verdaccio/config@7.0.0
70
+ - @verdaccio/core@7.0.0
71
+ - @verdaccio/tarball@12.0.0
72
+ - @verdaccio/url@12.0.0
73
+ - @verdaccio/hooks@7.0.0
74
+ - @verdaccio/loaders@7.0.0
75
+ - @verdaccio/logger@7.0.0
76
+ - @verdaccio/local-storage@12.0.0
77
+ - @verdaccio/proxy@7.0.0
78
+ - @verdaccio/search@7.0.0
79
+ - @verdaccio/utils@7.0.0
80
+
81
+ ## 7.0.0-next-8.21
82
+
83
+ ### Patch Changes
84
+
85
+ - 7c9f3cf: chore: improve startup logging
86
+ - Updated dependencies [8c10a3e]
87
+ - Updated dependencies [a05a7d8]
88
+ - Updated dependencies [7c9f3cf]
89
+ - @verdaccio/config@7.0.0-next-8.21
90
+ - @verdaccio/local-storage@12.0.0-next-8.21
91
+ - @verdaccio/core@7.0.0-next-8.21
92
+ - @verdaccio/loaders@7.0.0-next-8.21
93
+ - @verdaccio/hooks@7.0.0-next-8.21
94
+ - @verdaccio/proxy@7.0.0-next-8.21
95
+ - @verdaccio/search@7.0.0-next-8.10
96
+ - @verdaccio/tarball@12.0.0-next-8.21
97
+ - @verdaccio/url@12.0.0-next-8.21
98
+ - @verdaccio/utils@7.0.0-next-8.21
99
+ - @verdaccio/logger@7.0.0-next-8.21
100
+
101
+ ## 7.0.0-next-7.20
102
+
103
+ ### Patch Changes
104
+
105
+ - Updated dependencies [ccc7bd1]
106
+ - @verdaccio/url@12.0.0-next-7.20
107
+ - @verdaccio/tarball@12.0.0-next-7.20
108
+ - @verdaccio/core@7.0.0-next-7.20
109
+ - @verdaccio/config@7.0.0-next-7.20
110
+ - @verdaccio/hooks@7.0.0-next-7.20
111
+ - @verdaccio/loaders@7.0.0-next-7.20
112
+ - @verdaccio/local-storage@12.0.0-next-7.20
113
+ - @verdaccio/proxy@7.0.0-next-7.20
114
+ - @verdaccio/search@7.0.0-next-7.9
115
+ - @verdaccio/utils@7.0.0-next-7.20
116
+ - @verdaccio/logger@7.0.0-next-7.20
117
+
118
+ ## 7.0.0-next-7.19
119
+
120
+ ### Patch Changes
121
+
122
+ - Updated dependencies [c31aec8]
123
+ - @verdaccio/config@7.0.0-next-7.19
124
+ - @verdaccio/hooks@7.0.0-next-7.19
125
+ - @verdaccio/loaders@7.0.0-next-7.19
126
+ - @verdaccio/local-storage@12.0.0-next-7.19
127
+ - @verdaccio/proxy@7.0.0-next-7.19
128
+ - @verdaccio/search@7.0.0-next-7.8
129
+ - @verdaccio/core@7.0.0-next-7.19
130
+ - @verdaccio/tarball@12.0.0-next-7.19
131
+ - @verdaccio/url@12.0.0-next-7.19
132
+ - @verdaccio/utils@7.0.0-next-7.19
133
+ - @verdaccio/logger@7.0.0-next-7.19
134
+
135
+ ## 7.0.0-next-7.18
136
+
137
+ ### Patch Changes
138
+
139
+ - Updated dependencies [10dd81f]
140
+ - @verdaccio/config@7.0.0-next-7.18
141
+ - @verdaccio/core@7.0.0-next-7.18
142
+ - @verdaccio/tarball@12.0.0-next-7.18
143
+ - @verdaccio/url@12.0.0-next-7.18
144
+ - @verdaccio/hooks@7.0.0-next-7.18
145
+ - @verdaccio/loaders@7.0.0-next-7.18
146
+ - @verdaccio/logger@7.0.0-next-7.18
147
+ - @verdaccio/local-storage@12.0.0-next-7.18
148
+ - @verdaccio/proxy@7.0.0-next-7.18
149
+ - @verdaccio/search@7.0.0-next-7.7
150
+ - @verdaccio/utils@7.0.0-next-7.18
151
+
152
+ ## 7.0.0-next-7.17
153
+
154
+ ### Patch Changes
155
+
156
+ - 6e764e3: feat: add support for npm owner
157
+ - de6ff5c: fix: update fields for abbreviated manifest
158
+ - Updated dependencies [6e764e3]
159
+ - @verdaccio/config@7.0.0-next-7.17
160
+ - @verdaccio/core@7.0.0-next-7.17
161
+ - @verdaccio/tarball@12.0.0-next-7.17
162
+ - @verdaccio/url@12.0.0-next-7.17
163
+ - @verdaccio/hooks@7.0.0-next-7.17
164
+ - @verdaccio/loaders@7.0.0-next-7.17
165
+ - @verdaccio/logger@7.0.0-next-7.17
166
+ - @verdaccio/local-storage@12.0.0-next-7.17
167
+ - @verdaccio/proxy@7.0.0-next-7.17
168
+ - @verdaccio/search@7.0.0-next-7.6
169
+ - @verdaccio/utils@7.0.0-next-7.17
170
+
171
+ ## 7.0.0-next-7.16
172
+
173
+ ### Patch Changes
174
+
175
+ - e5624e1: chore: fix types for some store tests
176
+ - 5bfab62: feat: add tarball details for published packages
177
+ - Updated dependencies [5bfab62]
178
+ - Updated dependencies [38b1e82]
179
+ - @verdaccio/tarball@12.0.0-next-7.16
180
+ - @verdaccio/url@12.0.0-next-7.16
181
+ - @verdaccio/logger@7.0.0-next-7.16
182
+ - @verdaccio/hooks@7.0.0-next-7.16
183
+ - @verdaccio/loaders@7.0.0-next-7.16
184
+ - @verdaccio/local-storage@12.0.0-next-7.16
185
+ - @verdaccio/proxy@7.0.0-next-7.16
186
+ - @verdaccio/search@7.0.0-next-7.5
187
+ - @verdaccio/core@7.0.0-next-7.16
188
+ - @verdaccio/config@7.0.0-next-7.16
189
+ - @verdaccio/utils@7.0.0-next-7.16
190
+
191
+ ## 7.0.0-next-7.15
192
+
193
+ ### Patch Changes
194
+
195
+ - 7400830: revert #4600
196
+ - Updated dependencies [7400830]
197
+ - Updated dependencies [bd8703e]
198
+ - @verdaccio/tarball@12.0.0-next-7.15
199
+ - @verdaccio/core@7.0.0-next-7.15
200
+ - @verdaccio/config@7.0.0-next-7.15
201
+ - @verdaccio/url@12.0.0-next-7.15
202
+ - @verdaccio/hooks@7.0.0-next-7.15
203
+ - @verdaccio/loaders@7.0.0-next-7.15
204
+ - @verdaccio/logger@7.0.0-next-7.15
205
+ - @verdaccio/local-storage@12.0.0-next-7.15
206
+ - @verdaccio/proxy@7.0.0-next-7.15
207
+ - @verdaccio/search@7.0.0-next-7.4
208
+ - @verdaccio/utils@7.0.0-next-7.15
209
+
210
+ ## 7.0.0-next-7.14
211
+
212
+ ### Patch Changes
213
+
214
+ - f967a69: fix: avoid warning "time for version x already exists"
215
+ - 253cc13: feat: add tarball details for published packages
216
+ - Updated dependencies [b0946b2]
217
+ - Updated dependencies [4ac3aea]
218
+ - Updated dependencies [1bae121]
219
+ - Updated dependencies [253cc13]
220
+ - @verdaccio/url@12.0.0-next-7.14
221
+ - @verdaccio/local-storage@12.0.0-next-7.14
222
+ - @verdaccio/tarball@12.0.0-next-7.14
223
+ - @verdaccio/hooks@7.0.0-next-7.14
224
+ - @verdaccio/core@7.0.0-next-7.14
225
+ - @verdaccio/config@7.0.0-next-7.14
226
+ - @verdaccio/loaders@7.0.0-next-7.14
227
+ - @verdaccio/proxy@7.0.0-next-7.14
228
+ - @verdaccio/search@7.0.0-next-7.3
229
+ - @verdaccio/utils@7.0.0-next-7.14
230
+ - @verdaccio/logger@7.0.0-next-7.14
231
+
232
+ ## 7.0.0-next-7.13
233
+
234
+ ### Patch Changes
235
+
236
+ - Updated dependencies [a99a4bb]
237
+ - @verdaccio/config@7.0.0-next-7.13
238
+ - @verdaccio/hooks@7.0.0-next-7.13
239
+ - @verdaccio/loaders@7.0.0-next-7.13
240
+ - @verdaccio/local-storage@12.0.0-next-7.13
241
+ - @verdaccio/proxy@7.0.0-next-7.13
242
+ - @verdaccio/search@7.0.0-next-7.2
243
+ - @verdaccio/logger@7.0.0-next-7.13
244
+ - @verdaccio/core@7.0.0-next-7.13
245
+ - @verdaccio/tarball@12.0.0-next-7.13
246
+ - @verdaccio/url@12.0.0-next-7.13
247
+ - @verdaccio/utils@7.0.0-next-7.13
248
+
249
+ ## 7.0.0-next-7.12
250
+
251
+ ### Patch Changes
252
+
253
+ - Updated dependencies [cce258e]
254
+ - @verdaccio/search@7.0.0-next-7.1
255
+ - @verdaccio/core@7.0.0-next-7.12
256
+ - @verdaccio/config@7.0.0-next-7.12
257
+ - @verdaccio/tarball@12.0.0-next-7.12
258
+ - @verdaccio/url@12.0.0-next-7.12
259
+ - @verdaccio/hooks@7.0.0-next-7.12
260
+ - @verdaccio/loaders@7.0.0-next-7.12
261
+ - @verdaccio/local-storage@12.0.0-next-7.12
262
+ - @verdaccio/proxy@7.0.0-next-7.12
263
+ - @verdaccio/utils@7.0.0-next-7.12
264
+ - @verdaccio/logger@7.0.0-next-7.12
265
+
266
+ ## 7.0.0-next-7.11
267
+
268
+ ### Patch Changes
269
+
270
+ - Updated dependencies [c9962fe]
271
+ - @verdaccio/config@7.0.0-next-7.11
272
+ - @verdaccio/hooks@7.0.0-next-7.11
273
+ - @verdaccio/loaders@7.0.0-next-7.11
274
+ - @verdaccio/local-storage@12.0.0-next-7.11
275
+ - @verdaccio/proxy@7.0.0-next-7.11
276
+ - @verdaccio/core@7.0.0-next-7.11
277
+ - @verdaccio/tarball@12.0.0-next-7.11
278
+ - @verdaccio/url@12.0.0-next-7.11
279
+ - @verdaccio/utils@7.0.0-next-7.11
280
+ - @verdaccio/logger@7.0.0-next-7.11
281
+
282
+ ## 7.0.0-next-7.10
283
+
284
+ ### Patch Changes
285
+
286
+ - @verdaccio/core@7.0.0-next-7.10
287
+ - @verdaccio/config@7.0.0-next-7.10
288
+ - @verdaccio/tarball@12.0.0-next-7.10
289
+ - @verdaccio/url@12.0.0-next-7.10
290
+ - @verdaccio/hooks@7.0.0-next-7.10
291
+ - @verdaccio/loaders@7.0.0-next-7.10
292
+ - @verdaccio/local-storage@12.0.0-next-7.10
293
+ - @verdaccio/proxy@7.0.0-next-7.10
294
+ - @verdaccio/utils@7.0.0-next-7.10
295
+ - @verdaccio/logger@7.0.0-next-7.10
296
+
297
+ ## 7.0.0-next-7.9
298
+
299
+ ### Patch Changes
300
+
301
+ - c807f0c: fix: store readme when publishing locally
302
+ - @verdaccio/local-storage@12.0.0-next-7.9
303
+ - @verdaccio/core@7.0.0-next-7.9
304
+ - @verdaccio/config@7.0.0-next-7.9
305
+ - @verdaccio/tarball@12.0.0-next-7.9
306
+ - @verdaccio/url@12.0.0-next-7.9
307
+ - @verdaccio/hooks@7.0.0-next-7.9
308
+ - @verdaccio/loaders@7.0.0-next-7.9
309
+ - @verdaccio/proxy@7.0.0-next-7.9
310
+ - @verdaccio/utils@7.0.0-next-7.9
311
+ - @verdaccio/logger@7.0.0-next-7.9
312
+
313
+ ## 7.0.0-next-7.8
314
+
315
+ ### Patch Changes
316
+
317
+ - @verdaccio/core@7.0.0-next-7.8
318
+ - @verdaccio/config@7.0.0-next-7.8
319
+ - @verdaccio/tarball@12.0.0-next-7.8
320
+ - @verdaccio/url@12.0.0-next-7.8
321
+ - @verdaccio/hooks@7.0.0-next-7.8
322
+ - @verdaccio/loaders@7.0.0-next-7.8
323
+ - @verdaccio/local-storage@12.0.0-next-7.8
324
+ - @verdaccio/proxy@7.0.0-next-7.8
325
+ - @verdaccio/utils@7.0.0-next-7.8
326
+ - @verdaccio/logger@7.0.0-next-7.8
327
+
328
+ ## 7.0.0-next-7.7
329
+
330
+ ### Patch Changes
331
+
332
+ - @verdaccio/core@7.0.0-next-7.7
333
+ - @verdaccio/config@7.0.0-next-7.7
334
+ - @verdaccio/tarball@12.0.0-next-7.7
335
+ - @verdaccio/url@12.0.0-next-7.7
336
+ - @verdaccio/hooks@7.0.0-next-7.7
337
+ - @verdaccio/loaders@7.0.0-next-7.7
338
+ - @verdaccio/local-storage@12.0.0-next-7.7
339
+ - @verdaccio/proxy@7.0.0-next-7.7
340
+ - @verdaccio/utils@7.0.0-next-7.7
341
+ - @verdaccio/logger@7.0.0-next-7.7
342
+
343
+ ## 7.0.0-next.6
344
+
345
+ ### Patch Changes
346
+
347
+ - e14b064: - Fixes polynomial regular expression when determining the file name of tarball
348
+ - Add tests for extracting tarball name
349
+ - Updated dependencies [e14b064]
350
+ - Updated dependencies [4d96324]
351
+ - @verdaccio/tarball@12.0.0-next.6
352
+ - @verdaccio/config@7.0.0-next.6
353
+ - @verdaccio/hooks@7.0.0-next.6
354
+ - @verdaccio/loaders@7.0.0-next.6
355
+ - @verdaccio/local-storage@12.0.0-next.6
356
+ - @verdaccio/proxy@7.0.0-next.6
357
+ - @verdaccio/core@7.0.0-next.6
358
+ - @verdaccio/url@12.0.0-next.6
359
+ - @verdaccio/utils@7.0.0-next.6
360
+ - @verdaccio/logger@7.0.0-next.6
361
+
3
362
  ## 7.0.0-next.5
4
363
 
5
364
  ### Patch Changes
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021 Verdaccio contributors
3
+ Copyright (c) 2024 Verdaccio contributors
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
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