cnpmcore 4.1.0 → 4.1.2

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 (270) hide show
  1. package/dist/app/common/AbstractService.d.ts +1 -1
  2. package/dist/app/common/AbstractService.js +2 -2
  3. package/dist/app/common/ErrorUtil.js +6 -6
  4. package/dist/app/common/FileUtil.d.ts +1 -1
  5. package/dist/app/common/FileUtil.js +8 -6
  6. package/dist/app/common/PackageUtil.js +5 -6
  7. package/dist/app/common/SyncUtil.d.ts +1 -1
  8. package/dist/app/common/UserUtil.js +4 -4
  9. package/dist/app/common/adapter/BugVersionStore.d.ts +1 -1
  10. package/dist/app/common/adapter/NFSAdapter.d.ts +2 -2
  11. package/dist/app/common/adapter/NFSAdapter.js +2 -2
  12. package/dist/app/common/adapter/NPMRegistry.d.ts +2 -2
  13. package/dist/app/common/adapter/NPMRegistry.js +4 -4
  14. package/dist/app/common/adapter/binary/AbstractBinary.d.ts +5 -5
  15. package/dist/app/common/adapter/binary/AbstractBinary.js +1 -1
  16. package/dist/app/common/adapter/binary/ApiBinary.d.ts +2 -1
  17. package/dist/app/common/adapter/binary/ApiBinary.js +3 -2
  18. package/dist/app/common/adapter/binary/BucketBinary.d.ts +3 -2
  19. package/dist/app/common/adapter/binary/BucketBinary.js +1 -1
  20. package/dist/app/common/adapter/binary/ChromeForTestingBinary.d.ts +2 -1
  21. package/dist/app/common/adapter/binary/ChromeForTestingBinary.js +4 -2
  22. package/dist/app/common/adapter/binary/CypressBinary.d.ts +2 -1
  23. package/dist/app/common/adapter/binary/CypressBinary.js +5 -3
  24. package/dist/app/common/adapter/binary/EdgedriverBinary.d.ts +2 -1
  25. package/dist/app/common/adapter/binary/EdgedriverBinary.js +2 -2
  26. package/dist/app/common/adapter/binary/ElectronBinary.d.ts +2 -2
  27. package/dist/app/common/adapter/binary/ElectronBinary.js +3 -2
  28. package/dist/app/common/adapter/binary/GithubBinary.d.ts +3 -2
  29. package/dist/app/common/adapter/binary/GithubBinary.js +3 -2
  30. package/dist/app/common/adapter/binary/ImageminBinary.d.ts +3 -2
  31. package/dist/app/common/adapter/binary/ImageminBinary.js +1 -1
  32. package/dist/app/common/adapter/binary/NodeBinary.d.ts +3 -2
  33. package/dist/app/common/adapter/binary/NodeBinary.js +2 -2
  34. package/dist/app/common/adapter/binary/NodePreGypBinary.d.ts +3 -2
  35. package/dist/app/common/adapter/binary/NodePreGypBinary.js +35 -22
  36. package/dist/app/common/adapter/binary/NwjsBinary.d.ts +1 -1
  37. package/dist/app/common/adapter/binary/NwjsBinary.js +5 -3
  38. package/dist/app/common/adapter/binary/PlaywrightBinary.d.ts +2 -1
  39. package/dist/app/common/adapter/binary/PlaywrightBinary.js +94 -72
  40. package/dist/app/common/adapter/binary/PrismaBinary.d.ts +3 -2
  41. package/dist/app/common/adapter/binary/PrismaBinary.js +4 -3
  42. package/dist/app/common/adapter/binary/PuppeteerBinary.d.ts +2 -1
  43. package/dist/app/common/adapter/binary/PuppeteerBinary.js +4 -2
  44. package/dist/app/common/adapter/binary/SqlcipherBinary.d.ts +2 -1
  45. package/dist/app/common/adapter/binary/SqlcipherBinary.js +2 -2
  46. package/dist/app/common/adapter/changesStream/AbstractChangesStream.d.ts +4 -4
  47. package/dist/app/common/adapter/changesStream/AbstractChangesStream.js +2 -2
  48. package/dist/app/common/adapter/changesStream/CnpmcoreChangesStream.d.ts +1 -1
  49. package/dist/app/common/adapter/changesStream/CnpmcoreChangesStream.js +3 -3
  50. package/dist/app/common/adapter/changesStream/CnpmjsorgChangesStream.d.ts +1 -1
  51. package/dist/app/common/adapter/changesStream/CnpmjsorgChangesStream.js +3 -3
  52. package/dist/app/common/adapter/changesStream/NpmChangesStream.d.ts +3 -2
  53. package/dist/app/common/adapter/changesStream/NpmChangesStream.js +3 -3
  54. package/dist/app/common/aop/AsyncTimer.d.ts +1 -1
  55. package/dist/app/common/aop/AsyncTimer.js +1 -1
  56. package/dist/app/common/typing.d.ts +5 -5
  57. package/dist/app/core/entity/Binary.d.ts +3 -2
  58. package/dist/app/core/entity/Binary.js +1 -1
  59. package/dist/app/core/entity/Change.d.ts +3 -2
  60. package/dist/app/core/entity/Change.js +1 -1
  61. package/dist/app/core/entity/Dist.d.ts +3 -2
  62. package/dist/app/core/entity/Dist.js +1 -1
  63. package/dist/app/core/entity/Hook.d.ts +4 -3
  64. package/dist/app/core/entity/Hook.js +3 -2
  65. package/dist/app/core/entity/Package.d.ts +3 -2
  66. package/dist/app/core/entity/Package.js +3 -2
  67. package/dist/app/core/entity/PackageTag.d.ts +3 -2
  68. package/dist/app/core/entity/PackageTag.js +1 -1
  69. package/dist/app/core/entity/PackageVersion.d.ts +4 -3
  70. package/dist/app/core/entity/PackageVersion.js +1 -1
  71. package/dist/app/core/entity/PackageVersionBlock.d.ts +3 -2
  72. package/dist/app/core/entity/PackageVersionBlock.js +1 -1
  73. package/dist/app/core/entity/PackageVersionFile.d.ts +4 -3
  74. package/dist/app/core/entity/PackageVersionFile.js +4 -2
  75. package/dist/app/core/entity/PackageVersionManifest.d.ts +3 -2
  76. package/dist/app/core/entity/PackageVersionManifest.js +1 -1
  77. package/dist/app/core/entity/PaddingSemVer.js +2 -2
  78. package/dist/app/core/entity/ProxyCache.d.ts +4 -3
  79. package/dist/app/core/entity/ProxyCache.js +1 -1
  80. package/dist/app/core/entity/Registry.d.ts +3 -2
  81. package/dist/app/core/entity/Registry.js +1 -1
  82. package/dist/app/core/entity/Scope.d.ts +3 -2
  83. package/dist/app/core/entity/Scope.js +1 -1
  84. package/dist/app/core/entity/Task.d.ts +4 -3
  85. package/dist/app/core/entity/Task.js +1 -1
  86. package/dist/app/core/entity/Token.d.ts +3 -2
  87. package/dist/app/core/entity/Token.js +4 -2
  88. package/dist/app/core/entity/User.d.ts +3 -2
  89. package/dist/app/core/entity/User.js +1 -1
  90. package/dist/app/core/entity/WebauthnCredential.d.ts +3 -2
  91. package/dist/app/core/entity/WebauthnCredential.js +1 -1
  92. package/dist/app/core/event/BugVersionFixHandler.js +2 -3
  93. package/dist/app/core/event/CacheCleaner.js +2 -3
  94. package/dist/app/core/event/ChangesStream.d.ts +4 -4
  95. package/dist/app/core/event/ChangesStream.js +15 -9
  96. package/dist/app/core/event/StoreManifest.d.ts +1 -1
  97. package/dist/app/core/event/StoreManifest.js +3 -5
  98. package/dist/app/core/event/SyncESPackage.d.ts +2 -2
  99. package/dist/app/core/event/SyncESPackage.js +2 -3
  100. package/dist/app/core/event/SyncPackageVersionFile.d.ts +1 -1
  101. package/dist/app/core/event/SyncPackageVersionFile.js +6 -7
  102. package/dist/app/core/event/index.d.ts +1 -1
  103. package/dist/app/core/service/BinarySyncerService.d.ts +1 -1
  104. package/dist/app/core/service/BinarySyncerService.js +10 -15
  105. package/dist/app/core/service/BugVersionService.js +5 -9
  106. package/dist/app/core/service/CacheService.d.ts +1 -1
  107. package/dist/app/core/service/CacheService.js +27 -26
  108. package/dist/app/core/service/ChangesStreamService.d.ts +2 -2
  109. package/dist/app/core/service/ChangesStreamService.js +13 -18
  110. package/dist/app/core/service/CreateHookTriggerService.d.ts +1 -1
  111. package/dist/app/core/service/CreateHookTriggerService.js +4 -7
  112. package/dist/app/core/service/EventCorkerAdvice.d.ts +1 -1
  113. package/dist/app/core/service/EventCorkerAdvice.js +1 -1
  114. package/dist/app/core/service/FixNoPaddingVersionService.js +5 -4
  115. package/dist/app/core/service/HookManageService.d.ts +1 -1
  116. package/dist/app/core/service/HookManageService.js +3 -4
  117. package/dist/app/core/service/HookTriggerService.d.ts +3 -3
  118. package/dist/app/core/service/HookTriggerService.js +6 -11
  119. package/dist/app/core/service/PackageManagerService.d.ts +4 -4
  120. package/dist/app/core/service/PackageManagerService.js +54 -32
  121. package/dist/app/core/service/PackageSearchService.d.ts +3 -3
  122. package/dist/app/core/service/PackageSearchService.js +11 -13
  123. package/dist/app/core/service/PackageSyncerService.d.ts +4 -3
  124. package/dist/app/core/service/PackageSyncerService.js +76 -53
  125. package/dist/app/core/service/PackageVersionFileService.d.ts +2 -2
  126. package/dist/app/core/service/PackageVersionFileService.js +13 -17
  127. package/dist/app/core/service/PackageVersionService.d.ts +1 -1
  128. package/dist/app/core/service/PackageVersionService.js +6 -11
  129. package/dist/app/core/service/ProxyCacheService.d.ts +3 -2
  130. package/dist/app/core/service/ProxyCacheService.js +38 -25
  131. package/dist/app/core/service/RegistryManagerService.d.ts +1 -1
  132. package/dist/app/core/service/RegistryManagerService.js +19 -15
  133. package/dist/app/core/service/ScopeManagerService.d.ts +1 -1
  134. package/dist/app/core/service/ScopeManagerService.js +3 -4
  135. package/dist/app/core/service/TaskService.js +8 -8
  136. package/dist/app/core/service/TokenService.d.ts +1 -1
  137. package/dist/app/core/service/TokenService.js +6 -5
  138. package/dist/app/core/service/UserService.d.ts +4 -3
  139. package/dist/app/core/service/UserService.js +6 -8
  140. package/dist/app/core/util/EntityUtil.d.ts +1 -1
  141. package/dist/app/core/util/EntityUtil.js +1 -1
  142. package/dist/app/infra/AuthAdapter.d.ts +3 -3
  143. package/dist/app/infra/AuthAdapter.js +3 -4
  144. package/dist/app/infra/NFSClientAdapter.d.ts +2 -2
  145. package/dist/app/infra/NFSClientAdapter.js +3 -3
  146. package/dist/app/infra/QueueAdapter.d.ts +1 -1
  147. package/dist/app/infra/QueueAdapter.js +3 -4
  148. package/dist/app/infra/SearchAdapter.d.ts +2 -2
  149. package/dist/app/infra/SearchAdapter.js +6 -7
  150. package/dist/app/port/UserRoleManager.d.ts +5 -5
  151. package/dist/app/port/UserRoleManager.js +7 -9
  152. package/dist/app/port/config.d.ts +6 -6
  153. package/dist/app/port/config.js +1 -1
  154. package/dist/app/port/controller/AbstractController.d.ts +8 -8
  155. package/dist/app/port/controller/AbstractController.js +16 -15
  156. package/dist/app/port/controller/BinarySyncController.d.ts +2 -2
  157. package/dist/app/port/controller/BinarySyncController.js +5 -4
  158. package/dist/app/port/controller/ChangesStreamController.d.ts +1 -1
  159. package/dist/app/port/controller/ChangesStreamController.js +2 -3
  160. package/dist/app/port/controller/DownloadController.js +3 -4
  161. package/dist/app/port/controller/HomeController.d.ts +2 -2
  162. package/dist/app/port/controller/HomeController.js +3 -5
  163. package/dist/app/port/controller/HookController.d.ts +1 -1
  164. package/dist/app/port/controller/HookController.js +7 -10
  165. package/dist/app/port/controller/PackageBlockController.d.ts +2 -2
  166. package/dist/app/port/controller/PackageBlockController.js +3 -5
  167. package/dist/app/port/controller/PackageSyncController.d.ts +2 -2
  168. package/dist/app/port/controller/PackageSyncController.js +13 -11
  169. package/dist/app/port/controller/PackageTagController.d.ts +1 -1
  170. package/dist/app/port/controller/PackageTagController.js +2 -3
  171. package/dist/app/port/controller/PackageVersionFileController.d.ts +1 -1
  172. package/dist/app/port/controller/PackageVersionFileController.js +12 -10
  173. package/dist/app/port/controller/ProxyCacheController.d.ts +3 -3
  174. package/dist/app/port/controller/ProxyCacheController.js +5 -8
  175. package/dist/app/port/controller/RegistryController.d.ts +5 -4
  176. package/dist/app/port/controller/RegistryController.js +22 -11
  177. package/dist/app/port/controller/ScopeController.d.ts +2 -2
  178. package/dist/app/port/controller/ScopeController.js +7 -6
  179. package/dist/app/port/controller/TokenController.d.ts +2 -2
  180. package/dist/app/port/controller/TokenController.js +11 -7
  181. package/dist/app/port/controller/UserController.d.ts +2 -2
  182. package/dist/app/port/controller/UserController.js +2 -2
  183. package/dist/app/port/controller/admin/PaddingVersionController.d.ts +1 -1
  184. package/dist/app/port/controller/admin/PaddingVersionController.js +2 -3
  185. package/dist/app/port/controller/convertor/HookConvertor.d.ts +4 -4
  186. package/dist/app/port/controller/convertor/HookConvertor.js +1 -1
  187. package/dist/app/port/controller/package/DownloadPackageVersionTar.d.ts +2 -3
  188. package/dist/app/port/controller/package/DownloadPackageVersionTar.js +8 -25
  189. package/dist/app/port/controller/package/RemovePackageVersionController.d.ts +1 -1
  190. package/dist/app/port/controller/package/RemovePackageVersionController.js +5 -5
  191. package/dist/app/port/controller/package/SavePackageVersionController.d.ts +3 -3
  192. package/dist/app/port/controller/package/SavePackageVersionController.js +27 -15
  193. package/dist/app/port/controller/package/SearchPackageController.d.ts +3 -3
  194. package/dist/app/port/controller/package/SearchPackageController.js +2 -3
  195. package/dist/app/port/controller/package/ShowPackageController.d.ts +1 -1
  196. package/dist/app/port/controller/package/ShowPackageController.js +13 -11
  197. package/dist/app/port/controller/package/ShowPackageVersionController.d.ts +1 -1
  198. package/dist/app/port/controller/package/ShowPackageVersionController.js +3 -5
  199. package/dist/app/port/controller/package/UpdatePackageController.d.ts +2 -2
  200. package/dist/app/port/controller/package/UpdatePackageController.js +5 -5
  201. package/dist/app/port/middleware/AdminAccess.d.ts +1 -1
  202. package/dist/app/port/middleware/AlwaysAuth.d.ts +1 -1
  203. package/dist/app/port/middleware/AlwaysAuth.js +1 -1
  204. package/dist/app/port/middleware/ErrorHandler.d.ts +1 -1
  205. package/dist/app/port/middleware/ErrorHandler.js +13 -5
  206. package/dist/app/port/middleware/Tracing.d.ts +1 -1
  207. package/dist/app/port/middleware/Tracing.js +1 -1
  208. package/dist/app/port/schedule/ChangesStreamWorker.js +4 -4
  209. package/dist/app/port/schedule/CheckProxyCacheUpdateWorker.js +11 -7
  210. package/dist/app/port/schedule/CheckRecentlyUpdatedPackages.js +10 -7
  211. package/dist/app/port/schedule/CleanTempDir.js +1 -1
  212. package/dist/app/port/schedule/CreateSyncBinaryTask.js +2 -3
  213. package/dist/app/port/schedule/CreateTriggerHookWorker.js +9 -9
  214. package/dist/app/port/schedule/SavePackageVersionDownloadCounter.js +2 -3
  215. package/dist/app/port/schedule/SyncBinaryWorker.js +2 -3
  216. package/dist/app/port/schedule/SyncPackageWorker.js +4 -4
  217. package/dist/app/port/schedule/SyncProxyCacheWorker.js +4 -4
  218. package/dist/app/port/schedule/TaskTimeoutHandler.js +3 -5
  219. package/dist/app/port/schedule/TriggerHookWorker.js +7 -8
  220. package/dist/app/port/schedule/UpdateTotalData.js +11 -15
  221. package/dist/app/port/typebox.d.ts +2 -2
  222. package/dist/app/port/typebox.js +5 -2
  223. package/dist/app/port/webauth/WebauthController.d.ts +4 -4
  224. package/dist/app/port/webauth/WebauthController.js +52 -21
  225. package/dist/app/repository/AbstractRepository.d.ts +1 -1
  226. package/dist/app/repository/AbstractRepository.js +2 -2
  227. package/dist/app/repository/ChangeRepository.d.ts +1 -1
  228. package/dist/app/repository/ChangeRepository.js +4 -2
  229. package/dist/app/repository/DistRepository.d.ts +2 -2
  230. package/dist/app/repository/DistRepository.js +3 -5
  231. package/dist/app/repository/HookRepository.d.ts +1 -1
  232. package/dist/app/repository/HookRepository.js +1 -1
  233. package/dist/app/repository/PackageRepository.d.ts +2 -2
  234. package/dist/app/repository/PackageRepository.js +68 -27
  235. package/dist/app/repository/PackageVersionRepository.d.ts +2 -2
  236. package/dist/app/repository/PackageVersionRepository.js +12 -13
  237. package/dist/app/repository/ProxyCacheRepository.d.ts +2 -2
  238. package/dist/app/repository/ProxyCacheRepository.js +28 -10
  239. package/dist/app/repository/RegistryRepository.d.ts +3 -2
  240. package/dist/app/repository/RegistryRepository.js +1 -1
  241. package/dist/app/repository/ScopeRepository.d.ts +2 -2
  242. package/dist/app/repository/ScopeRepository.js +4 -2
  243. package/dist/app/repository/SearchRepository.d.ts +2 -2
  244. package/dist/app/repository/SearchRepository.js +1 -1
  245. package/dist/app/repository/TaskRepository.d.ts +3 -2
  246. package/dist/app/repository/TaskRepository.js +1 -1
  247. package/dist/app/repository/UserRepository.js +8 -5
  248. package/dist/app/repository/model/HistoryTask.d.ts +1 -1
  249. package/dist/app/repository/model/HistoryTask.js +1 -2
  250. package/dist/app/repository/model/Hook.d.ts +1 -1
  251. package/dist/app/repository/model/Hook.js +1 -2
  252. package/dist/app/repository/model/ProxyCache.d.ts +1 -1
  253. package/dist/app/repository/model/ProxyCache.js +1 -2
  254. package/dist/app/repository/model/Registry.d.ts +1 -1
  255. package/dist/app/repository/model/Registry.js +1 -2
  256. package/dist/app/repository/model/Task.d.ts +1 -1
  257. package/dist/app/repository/model/Task.js +1 -2
  258. package/dist/app/repository/util/EntityProperty.js +1 -1
  259. package/dist/app/repository/util/ModelConvertor.d.ts +2 -2
  260. package/dist/app/repository/util/ModelConvertor.js +7 -4
  261. package/dist/app/repository/util/ModelConvertorUtil.d.ts +1 -1
  262. package/dist/app/repository/util/ModelConvertorUtil.js +1 -1
  263. package/dist/app.d.ts +1 -1
  264. package/dist/app.js +1 -1
  265. package/dist/config/config.default.d.ts +3 -3
  266. package/dist/config/config.default.js +5 -9
  267. package/dist/config/config.unittest.d.ts +2 -3
  268. package/dist/config/config.unittest.js +3 -3
  269. package/dist/config/plugin.d.ts +1 -1
  270. package/package.json +18 -10
@@ -10,26 +10,19 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var PackageManagerService_1;
11
11
  import { stat, readFile } from 'node:fs/promises';
12
12
  import { strict as assert } from 'node:assert';
13
- import { AccessLevel, SingletonProto, Inject, } from '@eggjs/tegg';
13
+ import { AccessLevel, SingletonProto, Inject } from '@eggjs/tegg';
14
14
  import { BadRequestError, ForbiddenError, NotFoundError } from 'egg-errors';
15
15
  import npa from 'npm-package-arg';
16
16
  import semver from 'semver';
17
17
  import pMap from 'p-map';
18
18
  import { calculateIntegrity, detectInstallScript, formatTarball, getFullname, getScopeAndName, hasShrinkWrapInTgz, } from '../../common/PackageUtil.js';
19
19
  import { AbstractService } from '../../common/AbstractService.js';
20
- import { PackageRepository, } from '../../repository/PackageRepository.js';
21
- import { PackageVersionBlockRepository } from '../../repository/PackageVersionBlockRepository.js';
22
- import { PackageVersionDownloadRepository } from '../../repository/PackageVersionDownloadRepository.js';
23
- import { DistRepository } from '../../repository/DistRepository.js';
24
20
  import { isDuplicateKeyError } from '../../repository/util/ErrorUtil.js';
25
21
  import { Package } from '../entity/Package.js';
26
22
  import { PackageVersion } from '../entity/PackageVersion.js';
27
23
  import { PackageVersionBlock } from '../entity/PackageVersionBlock.js';
28
24
  import { PackageTag } from '../entity/PackageTag.js';
29
25
  import { PACKAGE_UNPUBLISHED, PACKAGE_BLOCKED, PACKAGE_UNBLOCKED, PACKAGE_MAINTAINER_CHANGED, PACKAGE_MAINTAINER_REMOVED, PACKAGE_VERSION_ADDED, PACKAGE_VERSION_REMOVED, PACKAGE_TAG_ADDED, PACKAGE_TAG_CHANGED, PACKAGE_TAG_REMOVED, PACKAGE_META_CHANGED, } from '../event/index.js';
30
- import { BugVersionService } from './BugVersionService.js';
31
- import { RegistryManagerService } from './RegistryManagerService.js';
32
- import { PackageVersionService } from './PackageVersionService.js';
33
26
  const TOTAL = '@@TOTAL@@';
34
27
  const SCOPE_TOTAL_PREFIX = '@@SCOPE@@:';
35
28
  const DESCRIPTION_LIMIT = 1024 * 10;
@@ -99,7 +92,9 @@ let PackageManagerService = PackageManagerService_1 = class PackageManagerServic
99
92
  cmd.packageJson._source_registry_name = registry.name;
100
93
  }
101
94
  // https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#abbreviated-version-object
102
- const hasInstallScript = detectInstallScript(cmd.packageJson) ? true : undefined;
95
+ const hasInstallScript = detectInstallScript(cmd.packageJson)
96
+ ? true
97
+ : undefined;
103
98
  let tarDistIntegrity;
104
99
  let tarDistSize = 0;
105
100
  if (cmd.dist.content) {
@@ -405,13 +400,19 @@ let PackageManagerService = PackageManagerService_1 = class PackageManagerServic
405
400
  if (!pkgVersion)
406
401
  continue;
407
402
  const message = deprecated === '' ? undefined : deprecated;
408
- await this._mergeManifestDist(pkgVersion.manifestDist, { deprecated: message });
409
- await this._mergeManifestDist(pkgVersion.abbreviatedDist, { deprecated: message });
403
+ await this._mergeManifestDist(pkgVersion.manifestDist, {
404
+ deprecated: message,
405
+ });
406
+ await this._mergeManifestDist(pkgVersion.abbreviatedDist, {
407
+ deprecated: message,
408
+ });
410
409
  await this.packageRepository.savePackageVersion(pkgVersion);
411
410
  updateVersions.push(version);
412
411
  }
413
412
  await this.refreshPackageChangeVersionsToDists(pkg, updateVersions);
414
- this.eventBus.emit(PACKAGE_META_CHANGED, pkg.fullname, { deprecateds: deprecatedList });
413
+ this.eventBus.emit(PACKAGE_META_CHANGED, pkg.fullname, {
414
+ deprecateds: deprecatedList,
415
+ });
415
416
  }
416
417
  async savePackageVersionManifest(pkgVersion, mergeManifest, mergeAbbreviated) {
417
418
  await this._mergeManifestDist(pkgVersion.manifestDist, mergeManifest);
@@ -475,7 +476,8 @@ let PackageManagerService = PackageManagerService_1 = class PackageManagerServic
475
476
  async removePackageVersion(pkg, pkgVersion, skipRefreshPackageManifests = false) {
476
477
  const currentVersions = await this.packageRepository.listPackageVersionNames(pkg.packageId);
477
478
  // only one version, unpublish the package
478
- if (currentVersions.length === 1 && currentVersions[0] === pkgVersion.version) {
479
+ if (currentVersions.length === 1 &&
480
+ currentVersions[0] === pkgVersion.version) {
479
481
  await this.unpublishPackage(pkg);
480
482
  return;
481
483
  }
@@ -496,7 +498,9 @@ let PackageManagerService = PackageManagerService_1 = class PackageManagerServic
496
498
  }
497
499
  }
498
500
  if (skipRefreshPackageManifests !== true) {
499
- await this.refreshPackageChangeVersionsToDists(pkg, undefined, [pkgVersion.version]);
501
+ await this.refreshPackageChangeVersionsToDists(pkg, undefined, [
502
+ pkgVersion.version,
503
+ ]);
500
504
  this.eventBus.emit(PACKAGE_VERSION_REMOVED, pkg.fullname, pkgVersion.version, updateTag);
501
505
  }
502
506
  return;
@@ -559,10 +563,12 @@ let PackageManagerService = PackageManagerService_1 = class PackageManagerServic
559
563
  delete manifest.readme;
560
564
  }
561
565
  fullManifests.versions[packageVersion.version] = manifest;
562
- fullManifests.time[packageVersion.version] = packageVersion.publishTime;
566
+ fullManifests.time[packageVersion.version] =
567
+ packageVersion.publishTime;
563
568
  const abbreviatedManifest = await this.distRepository.readDistBytesToJSON(packageVersion.abbreviatedDist);
564
569
  if (abbreviatedManifest) {
565
- abbreviatedManifests.versions[packageVersion.version] = abbreviatedManifest;
570
+ abbreviatedManifests.versions[packageVersion.version] =
571
+ abbreviatedManifest;
566
572
  }
567
573
  }
568
574
  }
@@ -599,7 +605,7 @@ let PackageManagerService = PackageManagerService_1 = class PackageManagerServic
599
605
  }
600
606
  // refresh package full manifests and abbreviated manifests to NFS
601
607
  async _refreshPackageManifestsToDists(pkg) {
602
- const [fullManifests, abbreviatedManifests,] = await Promise.all([
608
+ const [fullManifests, abbreviatedManifests] = await Promise.all([
603
609
  this._listPackageFullManifests(pkg),
604
610
  this._listPackageAbbreviatedManifests(pkg),
605
611
  ]);
@@ -631,13 +637,21 @@ let PackageManagerService = PackageManagerService_1 = class PackageManagerServic
631
637
  return;
632
638
  // https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#full-metadata-format
633
639
  const fieldsFromLatestManifest = [
634
- 'author', 'bugs', 'contributors', 'description', 'homepage', 'keywords', 'license',
635
- 'readmeFilename', 'repository',
640
+ 'author',
641
+ 'bugs',
642
+ 'contributors',
643
+ 'description',
644
+ 'homepage',
645
+ 'keywords',
646
+ 'license',
647
+ 'readmeFilename',
648
+ 'repository',
636
649
  ];
637
650
  // the latest version metas
638
651
  for (const field of fieldsFromLatestManifest) {
639
652
  if (latestManifest[field]) {
640
- fullManifests[field] = latestManifest[field];
653
+ fullManifests[field] =
654
+ latestManifest[field];
641
655
  }
642
656
  }
643
657
  }
@@ -698,7 +712,8 @@ let PackageManagerService = PackageManagerService_1 = class PackageManagerServic
698
712
  if (pkg.abbreviatedsDist?.distId) {
699
713
  pkg.abbreviatedsDist.size = abbreviatedManifestsDistBytes.length;
700
714
  pkg.abbreviatedsDist.shasum = abbreviatedManifestsDistIntegrity.shasum;
701
- pkg.abbreviatedsDist.integrity = abbreviatedManifestsDistIntegrity.integrity;
715
+ pkg.abbreviatedsDist.integrity =
716
+ abbreviatedManifestsDistIntegrity.integrity;
702
717
  }
703
718
  else {
704
719
  pkg.abbreviatedsDist = pkg.createAbbreviatedManifests({
@@ -746,8 +761,12 @@ let PackageManagerService = PackageManagerService_1 = class PackageManagerServic
746
761
  return { etag, data, blockReason };
747
762
  }
748
763
  // read from database
749
- const fullManifests = isFullManifests ? await this._listPackageFullManifests(pkg) : null;
750
- const abbreviatedManifests = isFullManifests ? null : await this._listPackageAbbreviatedManifests(pkg);
764
+ const fullManifests = isFullManifests
765
+ ? await this._listPackageFullManifests(pkg)
766
+ : null;
767
+ const abbreviatedManifests = isFullManifests
768
+ ? null
769
+ : await this._listPackageAbbreviatedManifests(pkg);
751
770
  if (!fullManifests && !abbreviatedManifests) {
752
771
  // not exists
753
772
  return { etag, data: null, blockReason };
@@ -769,7 +788,10 @@ let PackageManagerService = PackageManagerService_1 = class PackageManagerServic
769
788
  }
770
789
  async _listPackageMaintainers(pkg) {
771
790
  const users = await this.packageRepository.listPackageMaintainers(pkg.packageId);
772
- return users.map(({ displayName, email }) => ({ name: displayName, email }));
791
+ return users.map(({ displayName, email }) => ({
792
+ name: displayName,
793
+ email,
794
+ }));
773
795
  }
774
796
  async _listPackageFullManifests(pkg) {
775
797
  // read all verions from db
@@ -896,31 +918,31 @@ __decorate([
896
918
  ], PackageManagerService.prototype, "eventBus", void 0);
897
919
  __decorate([
898
920
  Inject(),
899
- __metadata("design:type", PackageRepository)
921
+ __metadata("design:type", Function)
900
922
  ], PackageManagerService.prototype, "packageRepository", void 0);
901
923
  __decorate([
902
924
  Inject(),
903
- __metadata("design:type", PackageVersionBlockRepository)
925
+ __metadata("design:type", Function)
904
926
  ], PackageManagerService.prototype, "packageVersionBlockRepository", void 0);
905
927
  __decorate([
906
928
  Inject(),
907
- __metadata("design:type", PackageVersionDownloadRepository)
929
+ __metadata("design:type", Function)
908
930
  ], PackageManagerService.prototype, "packageVersionDownloadRepository", void 0);
909
931
  __decorate([
910
932
  Inject(),
911
- __metadata("design:type", BugVersionService)
933
+ __metadata("design:type", Function)
912
934
  ], PackageManagerService.prototype, "bugVersionService", void 0);
913
935
  __decorate([
914
936
  Inject(),
915
- __metadata("design:type", DistRepository)
937
+ __metadata("design:type", Function)
916
938
  ], PackageManagerService.prototype, "distRepository", void 0);
917
939
  __decorate([
918
940
  Inject(),
919
- __metadata("design:type", RegistryManagerService)
941
+ __metadata("design:type", Function)
920
942
  ], PackageManagerService.prototype, "registryManagerService", void 0);
921
943
  __decorate([
922
944
  Inject(),
923
- __metadata("design:type", PackageVersionService)
945
+ __metadata("design:type", Function)
924
946
  ], PackageManagerService.prototype, "packageVersionService", void 0);
925
947
  PackageManagerService = PackageManagerService_1 = __decorate([
926
948
  SingletonProto({
@@ -928,4 +950,4 @@ PackageManagerService = PackageManagerService_1 = __decorate([
928
950
  })
929
951
  ], PackageManagerService);
930
952
  export { PackageManagerService };
931
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZU1hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL2NvcmUvc2VydmljZS9QYWNrYWdlTWFuYWdlclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sSUFBSSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUNMLFdBQVcsRUFDWCxjQUFjLEVBRWQsTUFBTSxHQUNQLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1RSxPQUFPLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQztBQUNsQyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxJQUFJLE1BQU0sT0FBTyxDQUFDO0FBQ3pCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixXQUFXLEVBQ1gsZUFBZSxFQUNmLGtCQUFrQixHQUNuQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBS0wsaUJBQWlCLEdBQ2xCLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDbEcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDeEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMv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
953
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZU1hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL2NvcmUvc2VydmljZS9QYWNrYWdlTWFuYWdlclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sSUFBSSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1RSxPQUFPLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQztBQUNsQyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxJQUFJLE1BQU0sT0FBTyxDQUFDO0FBQ3pCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixXQUFXLEVBQ1gsZUFBZSxFQUNmLGtCQUFrQixHQUNuQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQVdsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdyRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixpQkFBaUIsRUFDakIs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
@@ -1,7 +1,7 @@
1
1
  import { AbstractService } from '../../common/AbstractService.js';
2
- import { SearchManifestType } from '../../repository/SearchRepository.js';
3
- import { PackageRepository } from '../../repository/PackageRepository.js';
4
- import { PackageVersionBlockRepository } from '../../repository/PackageVersionBlockRepository.js';
2
+ import type { SearchManifestType } from '../../repository/SearchRepository.js';
3
+ import type { PackageRepository } from '../../repository/PackageRepository.js';
4
+ import type { PackageVersionBlockRepository } from '../../repository/PackageVersionBlockRepository.js';
5
5
  export declare class PackageSearchService extends AbstractService {
6
6
  private readonly packageManagerService;
7
7
  private readonly searchRepository;
@@ -12,11 +12,6 @@ import { errors } from '@elastic/elasticsearch';
12
12
  import dayjs from 'dayjs';
13
13
  import { AbstractService } from '../../common/AbstractService.js';
14
14
  import { formatAuthor, getScopeAndName } from '../../common/PackageUtil.js';
15
- import { PackageManagerService } from './PackageManagerService.js';
16
- import { SearchRepository } from '../../repository/SearchRepository.js';
17
- import { PackageVersionDownloadRepository } from '../../repository/PackageVersionDownloadRepository.js';
18
- import { PackageRepository } from '../../repository/PackageRepository.js';
19
- import { PackageVersionBlockRepository } from '../../repository/PackageVersionBlockRepository.js';
20
15
  let PackageSearchService = class PackageSearchService extends AbstractService {
21
16
  async syncPackage(fullname, isSync = true) {
22
17
  const [scope, name] = getScopeAndName(fullname);
@@ -62,7 +57,9 @@ let PackageSearchService = class PackageSearchService extends AbstractService {
62
57
  keywords: manifest.keywords || [],
63
58
  versions: Object.keys(manifest.versions),
64
59
  description: manifest.description,
65
- license: typeof manifest.license === 'object' ? manifest.license?.type : manifest.license,
60
+ license: typeof manifest.license === 'object'
61
+ ? manifest.license?.type
62
+ : manifest.license,
66
63
  maintainers: manifest.maintainers,
67
64
  author: formatAuthor(manifest.author),
68
65
  'dist-tags': manifest['dist-tags'],
@@ -124,7 +121,8 @@ let PackageSearchService = class PackageSearchService extends AbstractService {
124
121
  // 从 https://github.com/npm/cli/pull/7407 (npm cli v10.6.0) 开始,npm cli 使用 publisher 字段(以前使用 maintainers 字段)
125
122
  // 从现有数据来看,_npmUser 字段和 publisher 字段是等价的
126
123
  // 为了兼容老版本,不删除 _npmUser 字段
127
- if (!item._source?.package.publisher && item._source?.package._npmUser) {
124
+ if (!item._source?.package.publisher &&
125
+ item._source?.package._npmUser) {
128
126
  item._source.package.publisher = {
129
127
  username: item._source.package._npmUser.name,
130
128
  email: item._source.package._npmUser.email,
@@ -233,23 +231,23 @@ let PackageSearchService = class PackageSearchService extends AbstractService {
233
231
  };
234
232
  __decorate([
235
233
  Inject(),
236
- __metadata("design:type", PackageManagerService)
234
+ __metadata("design:type", Function)
237
235
  ], PackageSearchService.prototype, "packageManagerService", void 0);
238
236
  __decorate([
239
237
  Inject(),
240
- __metadata("design:type", SearchRepository)
238
+ __metadata("design:type", Function)
241
239
  ], PackageSearchService.prototype, "searchRepository", void 0);
242
240
  __decorate([
243
241
  Inject(),
244
- __metadata("design:type", PackageVersionDownloadRepository)
242
+ __metadata("design:type", Function)
245
243
  ], PackageSearchService.prototype, "packageVersionDownloadRepository", void 0);
246
244
  __decorate([
247
245
  Inject(),
248
- __metadata("design:type", PackageRepository)
246
+ __metadata("design:type", Function)
249
247
  ], PackageSearchService.prototype, "packageRepository", void 0);
250
248
  __decorate([
251
249
  Inject(),
252
- __metadata("design:type", PackageVersionBlockRepository)
250
+ __metadata("design:type", Function)
253
251
  ], PackageSearchService.prototype, "packageVersionBlockRepository", void 0);
254
252
  PackageSearchService = __decorate([
255
253
  SingletonProto({
@@ -257,4 +255,4 @@ PackageSearchService = __decorate([
257
255
  })
258
256
  ], PackageSearchService);
259
257
  export { PackageSearchService };
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVNlYXJjaFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9zZXJ2aWNlL1BhY2thZ2VTZWFyY2hTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQVcsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBeUMsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQU0zRixJQUFNLG9CQUFvQixHQUExQixNQUFNLG9CQUFxQixTQUFRLGVBQWU7SUFZdkQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFnQixFQUFFLE1BQU0sR0FBRyxJQUFJO1FBQy9DLE1BQU0sQ0FBRSxLQUFLLEVBQUUsSUFBSSxDQUFFLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckcsSUFBSSxDQUFDLGFBQWEsQ0FB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
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVNlYXJjaFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9zZXJ2aWNlL1BhY2thZ2VTZWFyY2hTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBY3JFLElBQU0sb0JBQW9CLEdBQTFCLE1BQU0sb0JBQXFCLFNBQVEsZUFBZTtJQVl2RCxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQWdCLEVBQUUsTUFBTSxHQUFHLElBQUk7UUFDL0MsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsTUFBTSxhQUFhLEdBQ2pCLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixDQUN2RCxLQUFLLEVBQ0wsSUFBSSxFQUNKLE1BQU0sQ0FDUCxDQUFDO1FBRUosSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCw4REFBOEQsRUFDOUQsUUFBUSxDQUNULENBQUM7WUFDRixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsSUFBSSxD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
@@ -1,8 +1,9 @@
1
1
  import { BadRequestError } from 'egg-errors';
2
2
  import { AbstractService } from '../../common/AbstractService.js';
3
- import { Task, SyncPackageTaskOptions, CreateSyncPackageTask } from '../entity/Task.js';
4
- import { Package } from '../entity/Package.js';
5
- import { Registry } from '../entity/Registry.js';
3
+ import type { SyncPackageTaskOptions, CreateSyncPackageTask } from '../entity/Task.js';
4
+ import { Task } from '../entity/Task.js';
5
+ import type { Package } from '../entity/Package.js';
6
+ import type { Registry } from '../entity/Registry.js';
6
7
  export declare class RegistryNotMatchError extends BadRequestError {
7
8
  }
8
9
  export declare class PackageSyncerService extends AbstractService {