cnpmcore 0.0.2 → 1.0.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 (243) hide show
  1. package/History.md +7 -0
  2. package/LICENSE +1 -1
  3. package/README.md +13 -4
  4. package/dist/app/common/AbstractService.d.ts +5 -0
  5. package/dist/app/{port/type/BaseController.js → common/AbstractService.js} +11 -9
  6. package/dist/app/common/FileUtil.d.ts +15 -0
  7. package/dist/app/common/FileUtil.js +77 -0
  8. package/dist/app/common/PackageUtil.d.ts +9 -0
  9. package/dist/app/common/PackageUtil.js +38 -16
  10. package/dist/app/common/SyncUtil.d.ts +2 -0
  11. package/dist/app/common/SyncUtil.js +17 -0
  12. package/dist/app/common/UserUtil.d.ts +5 -0
  13. package/dist/app/common/UserUtil.js +72 -0
  14. package/dist/app/common/adapter/BugVersionStore.d.ts +7 -0
  15. package/dist/app/common/adapter/BugVersionStore.js +28 -0
  16. package/dist/app/common/adapter/CacheAdapter.d.ts +13 -0
  17. package/dist/app/common/adapter/CacheAdapter.js +78 -0
  18. package/dist/app/common/adapter/NFSAdapter.d.ts +16 -0
  19. package/dist/app/common/adapter/NFSAdapter.js +62 -22
  20. package/dist/app/common/adapter/NPMRegistry.d.ts +78 -0
  21. package/dist/app/common/adapter/NPMRegistry.js +98 -0
  22. package/dist/app/common/adapter/QueueAdapter.d.ts +7 -0
  23. package/dist/app/common/adapter/QueueAdapter.js +37 -0
  24. package/dist/app/common/adapter/binary/AbstractBinary.d.ts +33 -0
  25. package/dist/app/common/adapter/binary/AbstractBinary.js +76 -0
  26. package/dist/app/common/adapter/binary/ApiBinary.d.ts +8 -0
  27. package/dist/app/common/adapter/binary/ApiBinary.js +31 -0
  28. package/dist/app/common/adapter/binary/BucketBinary.d.ts +5 -0
  29. package/dist/app/common/adapter/binary/BucketBinary.js +77 -0
  30. package/dist/app/common/adapter/binary/CypressBinary.d.ts +5 -0
  31. package/dist/app/common/adapter/binary/CypressBinary.js +63 -0
  32. package/dist/app/common/adapter/binary/ElectronBinary.d.ts +5 -0
  33. package/dist/app/common/adapter/binary/ElectronBinary.js +44 -0
  34. package/dist/app/common/adapter/binary/GithubBinary.d.ts +7 -0
  35. package/dist/app/common/adapter/binary/GithubBinary.js +93 -0
  36. package/dist/app/common/adapter/binary/ImageminBinary.d.ts +5 -0
  37. package/dist/app/common/adapter/binary/ImageminBinary.js +96 -0
  38. package/dist/app/common/adapter/binary/NodeBinary.d.ts +4 -0
  39. package/dist/app/common/adapter/binary/NodeBinary.js +41 -0
  40. package/dist/app/common/adapter/binary/NodePreGypBinary.d.ts +5 -0
  41. package/dist/app/common/adapter/binary/NodePreGypBinary.js +136 -0
  42. package/dist/app/common/adapter/binary/NwjsBinary.d.ts +6 -0
  43. package/dist/app/common/adapter/binary/NwjsBinary.js +47 -0
  44. package/dist/app/common/adapter/binary/PlaywrightBinary.d.ts +5 -0
  45. package/dist/app/common/adapter/binary/PlaywrightBinary.js +214 -0
  46. package/dist/app/common/adapter/binary/PuppeteerBinary.d.ts +6 -0
  47. package/dist/app/common/adapter/binary/PuppeteerBinary.js +125 -0
  48. package/dist/app/common/adapter/binary/SqlcipherBinary.d.ts +5 -0
  49. package/dist/app/common/adapter/binary/SqlcipherBinary.js +78 -0
  50. package/dist/app/common/aop/AsyncTimer.d.ts +9 -0
  51. package/dist/app/common/aop/AsyncTimer.js +36 -0
  52. package/dist/app/common/constants.d.ts +2 -0
  53. package/dist/app/common/constants.js +6 -0
  54. package/dist/app/common/dayjs.d.ts +2 -0
  55. package/dist/app/common/dayjs.js +10 -0
  56. package/dist/app/common/enum/Task.d.ts +12 -0
  57. package/dist/app/common/enum/Task.js +18 -0
  58. package/dist/app/common/enum/User.d.ts +5 -0
  59. package/dist/app/common/enum/User.js +10 -0
  60. package/dist/app/common/typing.d.ts +28 -0
  61. package/dist/app/common/typing.js +3 -0
  62. package/dist/app/core/entity/Binary.d.ts +28 -0
  63. package/dist/app/core/entity/Binary.js +29 -0
  64. package/dist/app/core/entity/BugVersion.d.ts +14 -0
  65. package/dist/app/core/entity/BugVersion.js +43 -0
  66. package/dist/app/core/entity/Change.d.ts +17 -0
  67. package/dist/app/core/entity/Change.js +20 -0
  68. package/dist/app/core/entity/Dist.d.ts +21 -0
  69. package/dist/app/core/entity/Dist.js +1 -2
  70. package/dist/app/core/entity/Entity.d.ts +11 -0
  71. package/dist/app/core/entity/Entity.js +3 -3
  72. package/dist/app/core/entity/Package.d.ts +45 -0
  73. package/dist/app/core/entity/Package.js +33 -25
  74. package/dist/app/core/entity/PackageTag.d.ts +17 -0
  75. package/dist/app/core/entity/PackageVersion.d.ts +26 -0
  76. package/dist/app/core/entity/PackageVersionBlock.d.ts +17 -0
  77. package/dist/app/core/entity/PackageVersionBlock.js +20 -0
  78. package/dist/app/core/entity/PackageVersionManifest.d.ts +17 -0
  79. package/dist/app/core/entity/PackageVersionManifest.js +20 -0
  80. package/dist/app/core/entity/Task.d.ts +43 -0
  81. package/dist/app/core/entity/Task.js +94 -0
  82. package/dist/app/core/entity/Token.d.ts +24 -0
  83. package/dist/app/core/entity/Token.js +23 -0
  84. package/dist/app/core/entity/User.d.ts +25 -0
  85. package/dist/app/core/entity/User.js +24 -0
  86. package/dist/app/core/event/BugVersionFixHandler.d.ts +6 -0
  87. package/dist/app/core/event/BugVersionFixHandler.js +42 -0
  88. package/dist/app/core/event/CacheCleaner.d.ts +38 -0
  89. package/dist/app/core/event/CacheCleaner.js +119 -0
  90. package/dist/app/core/event/ChangesStream.d.ts +32 -0
  91. package/dist/app/core/event/ChangesStream.js +106 -0
  92. package/dist/app/core/event/StoreManifest.d.ts +11 -0
  93. package/dist/app/core/event/StoreManifest.js +54 -0
  94. package/dist/app/core/event/index.d.ts +27 -0
  95. package/dist/app/core/event/index.js +11 -3
  96. package/dist/app/core/service/BinarySyncerService.d.ts +23 -0
  97. package/dist/app/core/service/BinarySyncerService.js +281 -0
  98. package/dist/app/core/service/BugVersionService.d.ts +11 -0
  99. package/dist/app/core/service/BugVersionService.js +86 -0
  100. package/dist/app/core/service/CacheService.d.ts +33 -0
  101. package/dist/app/core/service/CacheService.js +75 -0
  102. package/dist/app/core/service/ChangesStreamService.d.ts +11 -0
  103. package/dist/app/core/service/ChangesStreamService.js +186 -0
  104. package/dist/app/core/service/PackageManagerService.d.ts +83 -0
  105. package/dist/app/core/service/PackageManagerService.js +675 -78
  106. package/dist/app/core/service/PackageSyncerService.d.ts +24 -0
  107. package/dist/app/core/service/PackageSyncerService.js +667 -0
  108. package/dist/app/core/service/TaskService.d.ts +22 -0
  109. package/dist/app/core/service/TaskService.js +142 -0
  110. package/dist/app/core/service/UserService.d.ts +36 -0
  111. package/dist/app/core/service/UserService.js +120 -0
  112. package/dist/app/core/util/EntityUtil.d.ts +8 -0
  113. package/dist/app/core/util/EntityUtil.js +3 -3
  114. package/dist/app/infra/NFSClientAdapter.d.ts +18 -0
  115. package/dist/app/infra/NFSClientAdapter.js +74 -0
  116. package/dist/app/infra/package.json +6 -0
  117. package/dist/app/port/UserRoleManager.d.ts +24 -0
  118. package/dist/app/port/UserRoleManager.js +146 -0
  119. package/dist/app/port/controller/AbstractController.d.ts +32 -0
  120. package/dist/app/port/controller/AbstractController.js +112 -0
  121. package/dist/app/port/controller/BinarySyncController.d.ts +36 -0
  122. package/dist/app/port/controller/BinarySyncController.js +123 -0
  123. package/dist/app/port/controller/ChangesStreamController.d.ts +13 -0
  124. package/dist/app/port/controller/ChangesStreamController.js +53 -0
  125. package/dist/app/port/controller/DownloadController.d.ts +18 -0
  126. package/dist/app/port/controller/DownloadController.js +134 -0
  127. package/dist/app/port/controller/HomeController.d.ts +37 -0
  128. package/dist/app/port/controller/HomeController.js +72 -0
  129. package/dist/app/port/controller/PackageBlockController.d.ts +24 -0
  130. package/dist/app/port/controller/PackageBlockController.js +108 -0
  131. package/dist/app/port/controller/PackageSyncController.d.ts +35 -0
  132. package/dist/app/port/controller/PackageSyncController.js +205 -0
  133. package/dist/app/port/controller/PackageTagController.d.ts +12 -0
  134. package/dist/app/port/controller/PackageTagController.js +88 -0
  135. package/dist/app/port/controller/TokenController.d.ts +38 -0
  136. package/dist/app/port/controller/TokenController.js +125 -0
  137. package/dist/app/port/controller/UserController.d.ts +39 -0
  138. package/dist/app/port/controller/UserController.js +223 -0
  139. package/dist/app/port/controller/package/DownloadPackageVersionTar.d.ts +9 -0
  140. package/dist/app/port/controller/package/DownloadPackageVersionTar.js +82 -0
  141. package/dist/app/port/controller/package/RemovePackageVersionController.d.ts +8 -0
  142. package/dist/app/port/controller/package/RemovePackageVersionController.js +56 -0
  143. package/dist/app/port/controller/package/SavePackageVersionController.d.ts +48 -0
  144. package/dist/app/port/controller/package/SavePackageVersionController.js +221 -0
  145. package/dist/app/port/controller/package/ShowPackageController.d.ts +8 -0
  146. package/dist/app/port/controller/package/ShowPackageController.js +99 -0
  147. package/dist/app/port/controller/package/ShowPackageVersionController.d.ts +6 -0
  148. package/dist/app/port/controller/package/ShowPackageVersionController.js +55 -0
  149. package/dist/app/port/controller/package/UpdatePackageController.d.ts +17 -0
  150. package/dist/app/port/controller/package/UpdatePackageController.js +68 -0
  151. package/dist/app/port/middleware/AlwaysAuth.d.ts +2 -0
  152. package/dist/app/port/middleware/AlwaysAuth.js +17 -0
  153. package/dist/app/port/middleware/ErrorHandler.d.ts +2 -0
  154. package/dist/app/port/middleware/ErrorHandler.js +27 -5
  155. package/dist/app/port/middleware/Tracing.d.ts +2 -0
  156. package/dist/app/port/middleware/Tracing.js +22 -0
  157. package/dist/app/port/middleware/index.d.ts +2 -0
  158. package/dist/app/port/middleware/index.js +22 -0
  159. package/dist/app/port/typebox.d.ts +29 -0
  160. package/dist/app/port/typebox.js +71 -0
  161. package/dist/app/repository/AbstractRepository.d.ts +4 -0
  162. package/dist/app/repository/AbstractRepository.js +17 -0
  163. package/dist/app/repository/BinaryRepository.d.ts +7 -0
  164. package/dist/app/repository/BinaryRepository.js +45 -0
  165. package/dist/app/repository/ChangeRepository.d.ts +8 -0
  166. package/dist/app/repository/ChangeRepository.js +31 -0
  167. package/dist/app/repository/DistRepository.d.ts +15 -0
  168. package/dist/app/repository/DistRepository.js +69 -0
  169. package/dist/app/repository/PackageRepository.d.ts +39 -0
  170. package/dist/app/repository/PackageRepository.js +223 -36
  171. package/dist/app/repository/PackageVersionBlockRepository.d.ts +10 -0
  172. package/dist/app/repository/PackageVersionBlockRepository.js +51 -0
  173. package/dist/app/repository/PackageVersionDownloadRepository.d.ts +7 -0
  174. package/dist/app/repository/PackageVersionDownloadRepository.js +77 -0
  175. package/dist/app/repository/TaskRepository.d.ts +10 -0
  176. package/dist/app/repository/TaskRepository.js +82 -0
  177. package/dist/app/repository/UserRepository.d.ts +15 -0
  178. package/dist/app/repository/UserRepository.js +81 -0
  179. package/dist/app/repository/model/Binary.d.ts +13 -0
  180. package/dist/app/repository/model/Binary.js +53 -0
  181. package/dist/app/repository/model/Change.d.ts +10 -0
  182. package/dist/app/repository/model/Change.js +44 -0
  183. package/dist/app/repository/model/Dist.d.ts +12 -0
  184. package/dist/app/repository/model/Dist.js +10 -13
  185. package/dist/app/repository/model/HistoryTask.d.ts +18 -0
  186. package/dist/app/repository/model/HistoryTask.js +65 -0
  187. package/dist/app/repository/model/Maintainer.d.ts +8 -0
  188. package/dist/app/repository/model/Maintainer.js +36 -0
  189. package/dist/app/repository/model/Package.d.ts +13 -0
  190. package/dist/app/repository/model/Package.js +18 -9
  191. package/dist/app/repository/model/PackageDep.d.ts +11 -0
  192. package/dist/app/repository/model/PackageDep.js +9 -9
  193. package/dist/app/repository/model/PackageTag.d.ts +10 -0
  194. package/dist/app/repository/model/PackageTag.js +9 -9
  195. package/dist/app/repository/model/PackageVersion.d.ts +14 -0
  196. package/dist/app/repository/model/PackageVersion.js +9 -9
  197. package/dist/app/repository/model/PackageVersionBlock.d.ts +10 -0
  198. package/dist/app/repository/model/PackageVersionBlock.js +44 -0
  199. package/dist/app/repository/model/PackageVersionDownload.d.ts +40 -0
  200. package/dist/app/repository/model/PackageVersionDownload.js +132 -0
  201. package/dist/app/repository/model/PackageVersionManifest.d.ts +10 -0
  202. package/dist/app/repository/model/PackageVersionManifest.js +46 -0
  203. package/dist/app/repository/model/Task.d.ts +18 -0
  204. package/dist/app/repository/model/Task.js +65 -0
  205. package/dist/app/repository/model/Token.d.ts +13 -0
  206. package/dist/app/repository/model/Token.js +55 -0
  207. package/dist/app/repository/model/User.d.ts +14 -0
  208. package/dist/app/repository/model/User.js +56 -0
  209. package/dist/app/repository/util/EntityProperty.d.ts +1 -0
  210. package/dist/app/repository/util/ModelConvertor.d.ts +7 -0
  211. package/dist/app/repository/util/ModelConvertor.js +35 -2
  212. package/dist/app/repository/util/ModelConvertorUtil.d.ts +8 -0
  213. package/dist/app/schedule/ChangesStreamWorker.d.ts +8 -0
  214. package/dist/app/schedule/ChangesStreamWorker.js +27 -0
  215. package/dist/app/schedule/CheckRecentlyUpdatedPackages.d.ts +8 -0
  216. package/dist/app/schedule/CheckRecentlyUpdatedPackages.js +66 -0
  217. package/dist/app/schedule/CleanTempDir.d.ts +8 -0
  218. package/dist/app/schedule/CleanTempDir.js +48 -0
  219. package/dist/app/schedule/CreateSyncBinaryTask.d.ts +8 -0
  220. package/dist/app/schedule/CreateSyncBinaryTask.js +34 -0
  221. package/dist/app/schedule/SavePackageVersionDownloadCounter.d.ts +8 -0
  222. package/dist/app/schedule/SavePackageVersionDownloadCounter.js +21 -0
  223. package/dist/app/schedule/SyncBinaryWorker.d.ts +8 -0
  224. package/dist/app/schedule/SyncBinaryWorker.js +30 -0
  225. package/dist/app/schedule/SyncPackageWorker.d.ts +8 -0
  226. package/dist/app/schedule/SyncPackageWorker.js +44 -0
  227. package/dist/app/schedule/TaskTimeoutHandler.d.ts +9 -0
  228. package/dist/app/schedule/TaskTimeoutHandler.js +27 -0
  229. package/dist/app/schedule/UpdateTotalData.d.ts +9 -0
  230. package/dist/app/schedule/UpdateTotalData.js +103 -0
  231. package/dist/app.d.ts +11 -0
  232. package/dist/app.js +22 -0
  233. package/dist/config/binaries.d.ts +38 -0
  234. package/dist/config/binaries.js +810 -0
  235. package/dist/config/config.default.d.ts +3 -0
  236. package/dist/config/config.default.js +128 -9
  237. package/dist/config/config.unittest.d.ts +3 -0
  238. package/dist/config/config.unittest.js +18 -0
  239. package/dist/config/plugin.d.ts +3 -0
  240. package/dist/config/plugin.js +19 -3
  241. package/package.json +57 -21
  242. package/dist/app/common/adapter/NFSClientAdapter.js +0 -43
  243. package/dist/app/port/controller/PackageController.js +0 -273
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PlaywrightBinary = void 0;
7
+ const AbstractBinary_1 = require("./AbstractBinary");
8
+ const util_1 = __importDefault(require("util"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const PACKAGE_URL = 'https://registry.npmjs.com/playwright-core';
11
+ const DOWNLOAD_HOST = 'https://playwright.azureedge.net/';
12
+ // https://github.com/microsoft/playwright/blob/main/packages/playwright-core/src/server/registry/index.ts
13
+ /* eslint-disable quote-props */
14
+ const DOWNLOAD_PATHS = {
15
+ 'chromium': {
16
+ '<unknown>': undefined,
17
+ 'generic-linux': 'builds/chromium/%s/chromium-linux.zip',
18
+ 'generic-linux-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip',
19
+ 'ubuntu18.04': 'builds/chromium/%s/chromium-linux.zip',
20
+ 'ubuntu20.04': 'builds/chromium/%s/chromium-linux.zip',
21
+ 'ubuntu22.04': 'builds/chromium/%s/chromium-linux.zip',
22
+ 'ubuntu18.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip',
23
+ 'ubuntu20.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip',
24
+ 'ubuntu22.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip',
25
+ 'mac10.13': 'builds/chromium/%s/chromium-mac.zip',
26
+ 'mac10.14': 'builds/chromium/%s/chromium-mac.zip',
27
+ 'mac10.15': 'builds/chromium/%s/chromium-mac.zip',
28
+ 'mac11': 'builds/chromium/%s/chromium-mac.zip',
29
+ 'mac11-arm64': 'builds/chromium/%s/chromium-mac-arm64.zip',
30
+ 'mac12': 'builds/chromium/%s/chromium-mac.zip',
31
+ 'mac12-arm64': 'builds/chromium/%s/chromium-mac-arm64.zip',
32
+ 'win64': 'builds/chromium/%s/chromium-win64.zip',
33
+ },
34
+ 'chromium-tip-of-tree': {
35
+ '<unknown>': undefined,
36
+ 'generic-linux': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip',
37
+ 'generic-linux-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip',
38
+ 'ubuntu18.04': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip',
39
+ 'ubuntu20.04': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip',
40
+ 'ubuntu22.04': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip',
41
+ 'ubuntu18.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip',
42
+ 'ubuntu20.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip',
43
+ 'ubuntu22.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip',
44
+ 'mac10.13': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip',
45
+ 'mac10.14': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip',
46
+ 'mac10.15': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip',
47
+ 'mac11': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip',
48
+ 'mac11-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip',
49
+ 'mac12': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip',
50
+ 'mac12-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip',
51
+ 'win64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-win64.zip',
52
+ },
53
+ 'chromium-with-symbols': {
54
+ '<unknown>': undefined,
55
+ 'generic-linux': 'builds/chromium/%s/chromium-with-symbols-linux.zip',
56
+ 'generic-linux-arm64': 'builds/chromium/%s/chromium-with-symbols-linux-arm64.zip',
57
+ 'ubuntu18.04': 'builds/chromium/%s/chromium-with-symbols-linux.zip',
58
+ 'ubuntu20.04': 'builds/chromium/%s/chromium-with-symbols-linux.zip',
59
+ 'ubuntu22.04': 'builds/chromium/%s/chromium-with-symbols-linux.zip',
60
+ 'ubuntu18.04-arm64': 'builds/chromium/%s/chromium-with-symbols-linux-arm64.zip',
61
+ 'ubuntu20.04-arm64': 'builds/chromium/%s/chromium-with-symbols-linux-arm64.zip',
62
+ 'ubuntu22.04-arm64': 'builds/chromium/%s/chromium-with-symbols-linux-arm64.zip',
63
+ 'mac10.13': 'builds/chromium/%s/chromium-with-symbols-mac.zip',
64
+ 'mac10.14': 'builds/chromium/%s/chromium-with-symbols-mac.zip',
65
+ 'mac10.15': 'builds/chromium/%s/chromium-with-symbols-mac.zip',
66
+ 'mac11': 'builds/chromium/%s/chromium-with-symbols-mac.zip',
67
+ 'mac11-arm64': 'builds/chromium/%s/chromium-with-symbols-mac-arm64.zip',
68
+ 'mac12': 'builds/chromium/%s/chromium-with-symbols-mac.zip',
69
+ 'mac12-arm64': 'builds/chromium/%s/chromium-with-symbols-mac-arm64.zip',
70
+ 'win64': 'builds/chromium/%s/chromium-with-symbols-win64.zip',
71
+ },
72
+ 'firefox': {
73
+ '<unknown>': undefined,
74
+ 'generic-linux': 'builds/firefox/%s/firefox-ubuntu-20.04.zip',
75
+ 'generic-linux-arm64': 'builds/firefox/%s/firefox-ubuntu-20.04-arm64.zip',
76
+ 'ubuntu18.04': 'builds/firefox/%s/firefox-ubuntu-18.04.zip',
77
+ 'ubuntu20.04': 'builds/firefox/%s/firefox-ubuntu-20.04.zip',
78
+ 'ubuntu22.04': 'builds/firefox/%s/firefox-ubuntu-22.04.zip',
79
+ 'ubuntu18.04-arm64': undefined,
80
+ 'ubuntu20.04-arm64': 'builds/firefox/%s/firefox-ubuntu-20.04-arm64.zip',
81
+ 'ubuntu22.04-arm64': 'builds/firefox/%s/firefox-ubuntu-22.04-arm64.zip',
82
+ 'mac10.13': 'builds/firefox/%s/firefox-mac-11.zip',
83
+ 'mac10.14': 'builds/firefox/%s/firefox-mac-11.zip',
84
+ 'mac10.15': 'builds/firefox/%s/firefox-mac-11.zip',
85
+ 'mac11': 'builds/firefox/%s/firefox-mac-11.zip',
86
+ 'mac11-arm64': 'builds/firefox/%s/firefox-mac-11-arm64.zip',
87
+ 'mac12': 'builds/firefox/%s/firefox-mac-11.zip',
88
+ 'mac12-arm64': 'builds/firefox/%s/firefox-mac-11-arm64.zip',
89
+ 'win64': 'builds/firefox/%s/firefox-win64.zip',
90
+ },
91
+ 'firefox-beta': {
92
+ '<unknown>': undefined,
93
+ 'generic-linux': 'builds/firefox-beta/%s/firefox-beta-ubuntu-20.04.zip',
94
+ 'generic-linux-arm64': undefined,
95
+ 'ubuntu18.04': 'builds/firefox-beta/%s/firefox-beta-ubuntu-18.04.zip',
96
+ 'ubuntu20.04': 'builds/firefox-beta/%s/firefox-beta-ubuntu-20.04.zip',
97
+ 'ubuntu22.04': 'builds/firefox-beta/%s/firefox-beta-ubuntu-22.04.zip',
98
+ 'ubuntu18.04-arm64': undefined,
99
+ 'ubuntu20.04-arm64': undefined,
100
+ 'ubuntu22.04-arm64': 'builds/firefox-beta/%s/firefox-beta-ubuntu-22.04-arm64.zip',
101
+ 'mac10.13': 'builds/firefox-beta/%s/firefox-beta-mac-11.zip',
102
+ 'mac10.14': 'builds/firefox-beta/%s/firefox-beta-mac-11.zip',
103
+ 'mac10.15': 'builds/firefox-beta/%s/firefox-beta-mac-11.zip',
104
+ 'mac11': 'builds/firefox-beta/%s/firefox-beta-mac-11.zip',
105
+ 'mac11-arm64': 'builds/firefox-beta/%s/firefox-beta-mac-11-arm64.zip',
106
+ 'mac12': 'builds/firefox-beta/%s/firefox-beta-mac-11.zip',
107
+ 'mac12-arm64': 'builds/firefox-beta/%s/firefox-beta-mac-11-arm64.zip',
108
+ 'win64': 'builds/firefox-beta/%s/firefox-beta-win64.zip',
109
+ },
110
+ 'webkit': {
111
+ '<unknown>': undefined,
112
+ 'generic-linux': 'builds/webkit/%s/webkit-ubuntu-20.04.zip',
113
+ 'generic-linux-arm64': 'builds/webkit/%s/webkit-ubuntu-20.04-arm64.zip',
114
+ 'ubuntu18.04': 'builds/webkit/%s/webkit-ubuntu-18.04.zip',
115
+ 'ubuntu20.04': 'builds/webkit/%s/webkit-ubuntu-20.04.zip',
116
+ 'ubuntu22.04': 'builds/webkit/%s/webkit-ubuntu-22.04.zip',
117
+ 'ubuntu18.04-arm64': undefined,
118
+ 'ubuntu20.04-arm64': 'builds/webkit/%s/webkit-ubuntu-20.04-arm64.zip',
119
+ 'ubuntu22.04-arm64': 'builds/webkit/%s/webkit-ubuntu-22.04-arm64.zip',
120
+ 'mac10.13': undefined,
121
+ 'mac10.14': 'builds/deprecated-webkit-mac-10.14/%s/deprecated-webkit-mac-10.14.zip',
122
+ 'mac10.15': 'builds/webkit/%s/webkit-mac-10.15.zip',
123
+ 'mac11': 'builds/webkit/%s/webkit-mac-11.zip',
124
+ 'mac11-arm64': 'builds/webkit/%s/webkit-mac-11-arm64.zip',
125
+ 'mac12': 'builds/webkit/%s/webkit-mac-12.zip',
126
+ 'mac12-arm64': 'builds/webkit/%s/webkit-mac-12-arm64.zip',
127
+ 'win64': 'builds/webkit/%s/webkit-win64.zip',
128
+ },
129
+ 'ffmpeg': {
130
+ '<unknown>': undefined,
131
+ 'generic-linux': 'builds/ffmpeg/%s/ffmpeg-linux.zip',
132
+ 'generic-linux-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip',
133
+ 'ubuntu18.04': 'builds/ffmpeg/%s/ffmpeg-linux.zip',
134
+ 'ubuntu20.04': 'builds/ffmpeg/%s/ffmpeg-linux.zip',
135
+ 'ubuntu22.04': 'builds/ffmpeg/%s/ffmpeg-linux.zip',
136
+ 'ubuntu18.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip',
137
+ 'ubuntu20.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip',
138
+ 'ubuntu22.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip',
139
+ 'mac10.13': 'builds/ffmpeg/%s/ffmpeg-mac.zip',
140
+ 'mac10.14': 'builds/ffmpeg/%s/ffmpeg-mac.zip',
141
+ 'mac10.15': 'builds/ffmpeg/%s/ffmpeg-mac.zip',
142
+ 'mac11': 'builds/ffmpeg/%s/ffmpeg-mac.zip',
143
+ 'mac11-arm64': 'builds/ffmpeg/%s/ffmpeg-mac-arm64.zip',
144
+ 'mac12': 'builds/ffmpeg/%s/ffmpeg-mac.zip',
145
+ 'mac12-arm64': 'builds/ffmpeg/%s/ffmpeg-mac-arm64.zip',
146
+ 'win64': 'builds/ffmpeg/%s/ffmpeg-win64.zip',
147
+ },
148
+ };
149
+ class PlaywrightBinary extends AbstractBinary_1.AbstractBinary {
150
+ async fetch(dir) {
151
+ var _a, _b, _c;
152
+ if (!this.dirItems) {
153
+ const packageData = await this.requestJSON(PACKAGE_URL);
154
+ const nowDateISO = new Date().toISOString();
155
+ this.dirItems = {
156
+ '/': [{ name: 'builds/', isDir: true, url: '', size: '-', date: nowDateISO }],
157
+ '/builds/': Object.keys(DOWNLOAD_PATHS).map(dist => ({ name: `${dist}/`, isDir: true, url: '', size: '-', date: nowDateISO })),
158
+ ...Object.fromEntries(Object.keys(DOWNLOAD_PATHS).map(dist => [`/builds/${dist}/`, []])),
159
+ };
160
+ // Only download beta and release versions of packages to reduce amount of request
161
+ const packageVersions = Object.keys(packageData.versions)
162
+ .filter(version => version.match(/^(?:\d+\.\d+\.\d+)(?:-beta-\d+)?$/))
163
+ // select recently update 20 items
164
+ .slice(-20);
165
+ const browsers = [];
166
+ await Promise.all(packageVersions.map(version => this.requestJSON(`https://unpkg.com/playwright-core@${version}/browsers.json`)
167
+ .then(data => {
168
+ // browsers: [
169
+ // {
170
+ // "name": "chromium",
171
+ // "revision": "1005",
172
+ // "installByDefault": true,
173
+ // "browserVersion": "102.0.5005.40",
174
+ // "revisionOverrides": {}
175
+ // },
176
+ // ]
177
+ browsers.push(...data.browsers);
178
+ })
179
+ .catch(err => {
180
+ this.logger.warn('[PlaywrightBinary.fetch:error] Playwright version %s browser data request failed: %s', version, err);
181
+ })));
182
+ for (const browser of browsers) {
183
+ const downloadPaths = DOWNLOAD_PATHS[browser.name];
184
+ if (!downloadPaths)
185
+ continue;
186
+ for (const [platform, remotePath] of Object.entries(downloadPaths)) {
187
+ if (typeof remotePath !== 'string')
188
+ continue;
189
+ const revision = (_b = (_a = browser.revisionOverrides) === null || _a === void 0 ? void 0 : _a[platform]) !== null && _b !== void 0 ? _b : browser.revision;
190
+ const itemDate = browser.browserVersion || revision;
191
+ const url = DOWNLOAD_HOST + util_1.default.format(remotePath, revision);
192
+ const name = path_1.default.basename(remotePath);
193
+ const dir = `/builds/${browser.name}/${revision}/`;
194
+ if (!this.dirItems[dir]) {
195
+ this.dirItems[`/builds/${browser.name}/`].push({
196
+ name: `${revision}/`,
197
+ isDir: true,
198
+ url: '',
199
+ size: '-',
200
+ date: revision,
201
+ });
202
+ this.dirItems[dir] = [];
203
+ }
204
+ if (!this.dirItems[dir].find(item => item.name === name)) {
205
+ this.dirItems[dir].push({ name, isDir: false, url, size: '-', date: itemDate });
206
+ }
207
+ }
208
+ }
209
+ }
210
+ return { items: (_c = this.dirItems[dir]) !== null && _c !== void 0 ? _c : [], nextParams: null };
211
+ }
212
+ }
213
+ exports.PlaywrightBinary = PlaywrightBinary;
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxheXdyaWdodEJpbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9iaW5hcnkvUGxheXdyaWdodEJpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxxREFBMkU7QUFDM0UsZ0RBQXdCO0FBQ3hCLGdEQUF3QjtBQUV4QixNQUFNLFdBQVcsR0FBRyw0Q0FBNEMsQ0FBQztBQUNqRSxNQUFNLGFBQWEsR0FBRyxtQ0FBbUMsQ0FBQztBQUUxRCwwR0FBMEc7QUFDMUcsZ0NBQWdDO0FBQ2hDLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLFVBQVUsRUFBRTtRQUNWLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGVBQWUsRUFBRSx1Q0FBdUM7UUFDeEQscUJBQXFCLEVBQUUsNkNBQTZDO1FBQ3BFLGFBQWEsRUFBRSx1Q0FBdUM7UUFDdEQsYUFBYSxFQUFFLHVDQUF1QztRQUN0RCxhQUFhLEVBQUUsdUNBQXVDO1FBQ3RELG1CQUFtQixFQUFFLDZDQUE2QztRQUNsRSxtQkFBbUIsRUFBRSw2Q0FBNkM7UUFDbEUsbUJBQW1CLEVBQUUsNkNBQTZDO1FBQ2xFLFVBQVUsRUFBRSxxQ0FBcUM7UUFDakQsVUFBVSxFQUFFLHFDQUFxQztRQUNqRCxVQUFVLEVBQUUscUNBQXFDO1FBQ2pELE9BQU8sRUFBRSxxQ0FBcUM7UUFDOUMsYUFBYSxFQUFFLDJDQUEyQztRQUMxRCxPQUFPLEVBQUUscUNBQXFDO1FBQzlDLGFBQWEsRUFBRSwyQ0FBMkM7UUFDMUQsT0FBTyxFQUFFLHVDQUF1QztLQUNqRDtJQUNELHNCQUFzQixFQUFFO1FBQ3RCLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGVBQWUsRUFBRSwrREFBK0Q7UUFDaEYscUJBQXFCLEVBQUUscUVBQXFFO1FBQzVGLGFBQWEsRUFBRSwrREFBK0Q7UUFDOUUsYUFBYSxFQUFFLCtEQUErRDtRQUM5RSxhQUFhLEVBQUUsK0RBQStEO1FBQzlFLG1CQUFtQixFQUFFLHFFQUFxRTtRQUMxRixtQkFBbUIsRUFBRSxxRUFBcUU7UUFDMUYsbUJBQW1CLEVBQUUscUVBQXFFO1FBQzFGLFVBQVUsRUFBRSw2REFBNkQ7UUFDekUsVUFBVSxFQUFFLDZEQUE2RDtRQUN6RSxVQUFVLEVBQUUsNkRBQTZEO1FBQ3pFLE9BQU8sRUFBRSw2REFBNkQ7UUFDdEUsYUFBYSxFQUFFLG1FQUFtRTtRQUNsRixPQUFPLEVBQUUsNkRBQTZEO1FBQ3RFLGFBQWEsRUFBRSxtRUFBbUU7UUFDbEYsT0FBTyxFQUFFLCtEQUErRDtLQUN6RTtJQUNELHVCQUF1QixFQUFFO1FBQ3ZCLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGVBQWUsRUFBRSxvREFBb0Q7UUFDckUscUJBQXFCLEVBQUUsMERBQTBEO1FBQ2pGLGFBQWEsRUFBRSxvREFBb0Q7UUFDbkUsYUFBYSxFQUFFLG9EQUFvRDtRQUNuRSxhQUFhLEVBQUUsb0RBQW9EO1FBQ25FLG1CQUFtQixFQUFFLDBEQUEwRDtRQUMvRSxtQkFBbUIsRUFBRSwwREFBMEQ7UUFDL0UsbUJBQW1CLEVBQUUsMERBQTBEO1FBQy9FLFVBQVUsRUFBRSxrREFBa0Q7UUFDOUQsVUFBVSxFQUFFLGtEQUFrRDtRQUM5RCxVQUFVLEVBQUUsa0RBQWtEO1FBQzlELE9BQU8sRUFBRSxrREFBa0Q7UUFDM0QsYUFBYSxFQUFFLHdEQUF3RDtRQUN2RSxPQUFPLEVBQUUsa0RBQWtEO1FBQzNELGFBQWEsRUFBRSx3REFBd0Q7UUFDdkUsT0FBTyxFQUFFLG9EQUFvRDtLQUM5RDtJQUNELFNBQVMsRUFBRTtRQUNULFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGVBQWUsRUFBRSw0Q0FBNEM7UUFDN0QscUJBQXFCLEVBQUUsa0RBQWtEO1FBQ3pFLGFBQWEsRUFBRSw0Q0FBNEM7UUFDM0QsYUFBYSxFQUFFLDRDQUE0QztRQUMzRCxhQUFhLEVBQUUsNENBQTRDO1FBQzNELG1CQUFtQixFQUFFLFNBQVM7UUFDOUIsbUJBQW1CLEVBQUUsa0RBQWtEO1FBQ3ZFLG1CQUFtQixFQUFFLGtEQUFrRDtRQUN2RSxVQUFVLEVBQUUsc0NBQXNDO1FBQ2xELFVBQVUsRUFBRSxzQ0FBc0M7UUFDbEQsVUFBVSxFQUFFLHNDQUFzQztRQUNsRCxPQUFPLEVBQUUsc0NBQXNDO1FBQy9DLGFBQWEsRUFBRSw0Q0FBNEM7UUFDM0QsT0FBTyxFQUFFLHNDQUFzQztRQUMvQyxhQUFhLEVBQUUsNENBQTRDO1FBQzNELE9BQU8sRUFBRSxxQ0FBcUM7S0FDL0M7SUFDRCxjQUFjLEVBQUU7UUFDZCxXQUFXLEVBQUUsU0FBUztRQUN0QixlQUFlLEVBQUUsc0RBQXNEO1FBQ3ZFLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsYUFBYSxFQUFFLHNEQUFzRDtRQUNyRSxhQUFhLEVBQUUsc0RBQXNEO1FBQ3JFLGFBQWEsRUFBRSxzREFBc0Q7UUFDckUsbUJBQW1CLEVBQUUsU0FBUztRQUM5QixtQkFBbUIsRUFBRSxTQUFTO1FBQzlCLG1CQUFtQixFQUFFLDREQUE0RDtRQUNqRixVQUFVLEVBQUUsZ0RBQWdEO1FBQzVELFVBQVUsRUFBRSxnREFBZ0Q7UUFDNUQsVUFBVSxFQUFFLGdEQUFnRDtRQUM1RCxPQUFPLEVBQUUsZ0RBQWdEO1FBQ3pELGFBQWEsRUFBRSxzREFBc0Q7UUFDckUsT0FBTyxFQUFFLGdEQUFnRDtRQUN6RCxhQUFhLEVBQUUsc0RBQXNEO1FBQ3JFLE9BQU8sRUFBRSwrQ0FBK0M7S0FDekQ7SUFDRCxRQUFRLEVBQUU7UUFDUixXQUFXLEVBQUUsU0FBUztRQUN0QixlQUFlLEVBQUUsMENBQTBDO1FBQzNELHFCQUFxQixFQUFFLGdEQUFnRDtRQUN2RSxhQUFhLEVBQUUsMENBQTBDO1FBQ3pELGFBQWEsRUFBRSwwQ0FBMEM7UUFDekQsYUFBYSxFQUFFLDBDQUEwQztRQUN6RCxtQkFBbUIsRUFBRSxTQUFTO1FBQzlCLG1CQUFtQixFQUFFLGdEQUFnRDtRQUNyRSxtQkFBbUIsRUFBRSxnREFBZ0Q7UUFDckUsVUFBVSxFQUFFLFNBQVM7UUFDckIsVUFBVSxFQUFFLHVFQUF1RTtRQUNuRixVQUFVLEVBQUUsdUNBQXVDO1FBQ25ELE9BQU8sRUFBRSxvQ0FBb0M7UUFDN0MsYUFBYSxFQUFFLDBDQUEwQztRQUN6RCxPQUFPLEVBQUUsb0NBQW9DO1FBQzdDLGFBQWEsRUFBRSwwQ0FBMEM7UUFDekQsT0FBTyxFQUFFLG1DQUFtQztLQUM3QztJQUNELFFBQVEsRUFBRTtRQUNSLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGVBQWUsRUFBRSxtQ0FBbUM7UUFDcEQscUJBQXFCLEVBQUUseUNBQXlDO1FBQ2hFLGFBQWEsRUFBRSxtQ0FBbUM7UUFDbEQsYUFBYSxFQUFFLG1DQUFtQztRQUNsRCxhQUFhLEVBQUUsbUNBQW1DO1FBQ2xELG1CQUFtQixFQUFFLHlDQUF5QztRQUM5RCxtQkFBbUIsRUFBRSx5Q0FBeUM7UUFDOUQsbUJBQW1CLEVBQUUseUNBQXlDO1FBQzlELFVBQVUsRUFBRSxpQ0FBaUM7UUFDN0MsVUFBVSxFQUFFLGlDQUFpQztRQUM3QyxVQUFVLEVBQUUsaUNBQWlDO1FBQzdDLE9BQU8sRUFBRSxpQ0FBaUM7UUFDMUMsYUFBYSxFQUFFLHVDQUF1QztRQUN0RCxPQUFPLEVBQUUsaUNBQWlDO1FBQzFDLGFBQWEsRUFBRSx1Q0FBdUM7UUFDdEQsT0FBTyxFQUFFLG1DQUFtQztLQUM3QztDQUNGLENBQUM7QUFFRixNQUFhLGdCQUFpQixTQUFRLCtCQUFjO0lBRWxELEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBVzs7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sVUFBVSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLFFBQVEsR0FBRztnQkFDZCxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO2dCQUM3RSxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQ3pDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRixHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFFLFdBQVcsSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxRixDQUFDO1lBRUYsa0ZBQWtGO1lBQ2xGLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztpQkFDdEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2dCQUN0RSxrQ0FBa0M7aUJBQ2pDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2QsTUFBTSxRQUFRLEdBQTZHLEVBQUUsQ0FBQztZQUM5SCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUM1QixJQUFJLENBQUMsV0FBVyxDQUNkLHFDQUFxQyxPQUFPLGdCQUFnQixDQUM3RDtpQkFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ1gsY0FBYztnQkFDZCxNQUFNO2dCQUNOLDBCQUEwQjtnQkFDMUIsMEJBQTBCO2dCQUMxQixnQ0FBZ0M7Z0JBQ2hDLHlDQUF5QztnQkFDekMsOEJBQThCO2dCQUM5QixPQUFPO2dCQUNQLElBQUk7Z0JBQ0osUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNGQUFzRixFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN6SCxDQUFDLENBQUMsQ0FDTCxDQUNGLENBQUM7WUFFRixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRTtnQkFDOUIsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLGFBQWE7b0JBQUUsU0FBUztnQkFDN0IsS0FBSyxNQUFNLENBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7b0JBQ3BFLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUTt3QkFBRSxTQUFTO29CQUM3QyxNQUFNLFFBQVEsR0FBRyxNQUFBLE1BQUEsT0FBTyxDQUFDLGlCQUFpQiwwQ0FBRyxRQUFRLENBQUMsbUNBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQztvQkFDM0UsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGNBQWMsSUFBSSxRQUFRLENBQUM7b0JBQ3BELE1BQU0sR0FBRyxHQUFHLGFBQWEsR0FBRyxjQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDOUQsTUFBTSxJQUFJLEdBQUcsY0FBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDdkMsTUFBTSxHQUFHLEdBQUcsV0FBVyxPQUFPLENBQUMsSUFBSSxJQUFJLFFBQVEsR0FBRyxDQUFDO29CQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTt3QkFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQzs0QkFDN0MsSUFBSSxFQUFFLEdBQUcsUUFBUSxHQUFHOzRCQUNwQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxHQUFHLEVBQUUsRUFBRTs0QkFDUCxJQUFJLEVBQUUsR0FBRzs0QkFDVCxJQUFJLEVBQUUsUUFBUTt5QkFDZixDQUFDLENBQUM7d0JBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7cUJBQ3pCO29CQUNELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7d0JBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7cUJBQ2pGO2lCQUNGO2FBQ0Y7U0FDRjtRQUVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBQSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQ0FBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQXZFRCw0Q0F1RUMifQ==
@@ -0,0 +1,6 @@
1
+ import { AbstractBinary, FetchResult } from './AbstractBinary';
2
+ export declare class PuppeteerBinary extends AbstractBinary {
3
+ private dirItems;
4
+ fetch(dir: string): Promise<FetchResult | undefined>;
5
+ private archiveName;
6
+ }
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PuppeteerBinary = void 0;
4
+ const AbstractBinary_1 = require("./AbstractBinary");
5
+ class PuppeteerBinary extends AbstractBinary_1.AbstractBinary {
6
+ async fetch(dir) {
7
+ var _a;
8
+ if (!this.dirItems) {
9
+ const pkgUrl = 'https://registry.npmjs.com/puppeteer';
10
+ const data = await this.requestJSON(pkgUrl);
11
+ this.dirItems = {};
12
+ this.dirItems['/'] = [];
13
+ const chromiumRevisions = new Map();
14
+ for (const version in data.versions) {
15
+ // find chromium versions
16
+ const pkg = data.versions[version];
17
+ const revision = ((_a = pkg.puppeteer) === null || _a === void 0 ? void 0 : _a.chromium_revision) ? String(pkg.puppeteer.chromium_revision) : '';
18
+ if (revision && !chromiumRevisions.has(revision)) {
19
+ chromiumRevisions.set(revision, data.time[version]);
20
+ }
21
+ }
22
+ // https://unpkg.com/puppeteer@5.1.0/lib/cjs/revisions.js
23
+ // https://unpkg.com/puppeteer@latest/lib/cjs/puppeteer/revisions.js
24
+ // exports.PUPPETEER_REVISIONS = {
25
+ // chromium: '768783',
26
+ // firefox: 'latest',
27
+ // };
28
+ const unpkgURL = 'https://unpkg.com/puppeteer@latest/lib/cjs/puppeteer/revisions.js';
29
+ const text = await this.requestXml(unpkgURL);
30
+ const m = /chromium:\s+\'(\d+)\'\,/.exec(text);
31
+ if (m && !chromiumRevisions.has(m[1])) {
32
+ chromiumRevisions.set(m[1], new Date().toISOString());
33
+ }
34
+ // download LAST_CHANGE
35
+ // https://github.com/chaopeng/chromium-downloader/blob/master/get-chromium#L28
36
+ const LAST_CHANGE_URL = 'https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2FLAST_CHANGE?alt=media';
37
+ const lastRevision = await this.requestXml(LAST_CHANGE_URL);
38
+ if (lastRevision) {
39
+ chromiumRevisions.set(lastRevision, new Date().toISOString());
40
+ }
41
+ // old versions
42
+ // v5.0.0
43
+ chromiumRevisions.set('756035', data.time['5.0.0']);
44
+ // v5.2.0
45
+ chromiumRevisions.set('768783', data.time['5.2.0']);
46
+ // v5.2.1
47
+ chromiumRevisions.set('782078', data.time['5.2.1']);
48
+ // v5.3.0
49
+ chromiumRevisions.set('800071', data.time['5.3.0']);
50
+ // v5.4.0
51
+ chromiumRevisions.set('809590', data.time['5.4.0']);
52
+ // v5.5.0
53
+ chromiumRevisions.set('818858', data.time['5.5.0']);
54
+ // v6.0.0
55
+ chromiumRevisions.set('843427', data.time['6.0.0']);
56
+ // "7.0.0"
57
+ chromiumRevisions.set('848005', data.time['7.0.0']);
58
+ // https://github.com/puppeteer/puppeteer/blob/v8.0.0/src/revisions.ts#L23
59
+ // "8.0.0":"2021-02-26T08:36:50.107Z"
60
+ chromiumRevisions.set('856583', data.time['8.0.0']);
61
+ // "9.0.0":"2021-04-21T11:27:32.513Z"
62
+ chromiumRevisions.set('869685', data.time['9.0.0']);
63
+ // "10.0.0":"2021-05-31T12:42:27.486Z"
64
+ chromiumRevisions.set('884014', data.time['10.0.0']);
65
+ // "11.0.0":"2021-11-03T09:29:12.751Z"
66
+ chromiumRevisions.set('901912', data.time['11.0.0']);
67
+ const platforms = ['Linux_x64', 'Mac', 'Mac_Arm', 'Win', 'Win_x64'];
68
+ for (const platform of platforms) {
69
+ this.dirItems['/'].push({
70
+ name: `${platform}/`,
71
+ date: new Date().toISOString(),
72
+ size: '-',
73
+ isDir: true,
74
+ url: '',
75
+ });
76
+ this.dirItems[`/${platform}/`] = [];
77
+ }
78
+ for (const [revision, date] of chromiumRevisions.entries()) {
79
+ // https://github.com/puppeteer/puppeteer/blob/eebf452d38b79bb2ea1a1ba84c3d2ea6f2f9f899/src/node/BrowserFetcher.ts#L40
80
+ // chrome: {
81
+ // linux: '%s/chromium-browser-snapshots/Linux_x64/%d/%s.zip',
82
+ // mac: '%s/chromium-browser-snapshots/Mac/%d/%s.zip',
83
+ // win32: '%s/chromium-browser-snapshots/Win/%d/%s.zip',
84
+ // win64: '%s/chromium-browser-snapshots/Win_x64/%d/%s.zip',
85
+ // },
86
+ // root: /
87
+ for (const platform of platforms) {
88
+ this.dirItems[`/${platform}/`].push({
89
+ name: `${revision}/`,
90
+ date,
91
+ size: '-',
92
+ isDir: true,
93
+ url: '',
94
+ });
95
+ const name = `${this.archiveName(platform, revision)}.zip`;
96
+ this.dirItems[`/${platform}/${revision}/`] = [
97
+ {
98
+ name,
99
+ date,
100
+ size: '-',
101
+ isDir: false,
102
+ url: `https://storage.googleapis.com/chromium-browser-snapshots/${platform}/${revision}/${name}`,
103
+ ignoreDownloadStatuses: [404],
104
+ },
105
+ ];
106
+ }
107
+ }
108
+ }
109
+ return { items: this.dirItems[dir], nextParams: null };
110
+ }
111
+ // https://github.com/puppeteer/puppeteer/blob/eebf452d38b79bb2ea1a1ba84c3d2ea6f2f9f899/src/node/BrowserFetcher.ts#L72
112
+ archiveName(platform, revision) {
113
+ if (platform === 'Linux_x64')
114
+ return 'chrome-linux';
115
+ if (platform === 'Mac' || platform === 'Mac_Arm')
116
+ return 'chrome-mac';
117
+ if (platform === 'Win' || platform === 'Win_x64') {
118
+ // Windows archive name changed at r591479.
119
+ return parseInt(revision, 10) > 591479 ? 'chrome-win' : 'chrome-win32';
120
+ }
121
+ return '';
122
+ }
123
+ }
124
+ exports.PuppeteerBinary = PuppeteerBinary;
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVwcGV0ZWVyQmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXBwL2NvbW1vbi9hZGFwdGVyL2JpbmFyeS9QdXBwZXRlZXJCaW5hcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQTJFO0FBRTNFLE1BQWEsZUFBZ0IsU0FBUSwrQkFBYztJQUtqRCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQVc7O1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE1BQU0sTUFBTSxHQUFHLHNDQUFzQyxDQUFDO1lBQ3RELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLGlCQUFpQixHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1lBQ3BELEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbkMseUJBQXlCO2dCQUN6QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNuQyxNQUFNLFFBQVEsR0FBRyxDQUFBLE1BQUEsR0FBRyxDQUFDLFNBQVMsMENBQUUsaUJBQWlCLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakcsSUFBSSxRQUFRLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ2hELGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2lCQUNyRDth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
@@ -0,0 +1,5 @@
1
+ import { AbstractBinary, FetchResult } from './AbstractBinary';
2
+ export declare class SqlcipherBinary extends AbstractBinary {
3
+ private dirItems;
4
+ fetch(dir: string): Promise<FetchResult | undefined>;
5
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SqlcipherBinary = void 0;
4
+ const AbstractBinary_1 = require("./AbstractBinary");
5
+ class SqlcipherBinary extends AbstractBinary_1.AbstractBinary {
6
+ async fetch(dir) {
7
+ if (!this.dirItems) {
8
+ this.dirItems = {};
9
+ const s3Url = 'https://journeyapps-node-binary.s3.amazonaws.com/@journeyapps/sqlcipher';
10
+ const pkgUrl = 'https://registry.npmjs.com/@journeyapps/sqlcipher';
11
+ const data = await this.requestJSON(pkgUrl);
12
+ this.dirItems = {};
13
+ this.dirItems['/'] = [];
14
+ // https://github.com/journeyapps/node-sqlcipher/blob/master/.circleci/config.yml#L407
15
+ // https://github.com/journeyapps/node-sqlcipher/issues/35#issuecomment-698924173
16
+ // https://journeyapps-node-binary.s3.amazonaws.com/@journeyapps/sqlcipher/v5.3.0/napi-v3-darwin-arm64.tar.gz
17
+ // https://journeyapps-node-binary.s3.amazonaws.com/@journeyapps/sqlcipher/v5.3.0/napi-v6-darwin-arm64.tar.gz
18
+ // https://journeyapps-node-binary.s3.amazonaws.com/@journeyapps/sqlcipher/v5.3.0/napi-v3-darwin-x64.tar.gz
19
+ // https://journeyapps-node-binary.s3.amazonaws.com/@journeyapps/sqlcipher/v5.3.0/napi-v6-darwin-x64.tar.gz
20
+ // https://journeyapps-node-binary.s3.amazonaws.com/@journeyapps/sqlcipher/v5.3.0/napi-v6-linux-x64.tar.gz
21
+ // https://journeyapps-node-binary.s3.amazonaws.com/@journeyapps/sqlcipher/v5.3.0/napi-v3-linux-x64.tar.gz
22
+ // https://journeyapps-node-binary.s3.amazonaws.com/@journeyapps/sqlcipher/v5.3.0/napi-v6-win32-arm64.tar.gz
23
+ // https://journeyapps-node-binary.s3.amazonaws.com/@journeyapps/sqlcipher/v5.3.0/napi-v3-win32-arm64.tar.gz
24
+ // https://journeyapps-node-binary.s3.amazonaws.com/@journeyapps/sqlcipher/v5.3.0/napi-v3-win32-ia32.tar.gz
25
+ // https://journeyapps-node-binary.s3.amazonaws.com/@journeyapps/sqlcipher/v5.3.0/napi-v6-win32-ia32.tar.gz
26
+ // https://journeyapps-node-binary.s3.amazonaws.com/@journeyapps/sqlcipher/v5.3.0/napi-v3-win32-x64.tar.gz
27
+ // https://journeyapps-node-binary.s3.amazonaws.com/@journeyapps/sqlcipher/v5.3.0/napi-v6-win32-x64.tar.gz
28
+ const nodePlatformAndArchs = [
29
+ 'linux-x64',
30
+ 'darwin-x64',
31
+ 'darwin-arm64',
32
+ 'win32-x64',
33
+ 'win32-arm64',
34
+ 'win32-ia32',
35
+ ];
36
+ for (const version in data.versions) {
37
+ const major = parseInt(version.split('.', 1)[0]);
38
+ if (major < 5)
39
+ continue;
40
+ // >= 5.0.0
41
+ const pkgVersion = data.versions[version];
42
+ const napiVersions = pkgVersion.binary && pkgVersion.binary.napi_versions || [];
43
+ const date = data.time[version];
44
+ this.dirItems['/'].push({
45
+ name: `v${version}/`,
46
+ date,
47
+ size: '-',
48
+ isDir: true,
49
+ url: '',
50
+ });
51
+ const versionDir = `/v${version}/`;
52
+ this.dirItems[versionDir] = [];
53
+ for (const nodePlatformAndArch of nodePlatformAndArchs) {
54
+ // napi
55
+ for (const napiVersion of napiVersions) {
56
+ // >= 5.0.0
57
+ // "package_name": "napi-v{napi_build_version}-{platform}-{arch}.tar.gz",
58
+ // "napi_versions": [
59
+ // 3, 6
60
+ // ]
61
+ const name = `napi-v${napiVersion}-${nodePlatformAndArch}.tar.gz`;
62
+ this.dirItems[versionDir].push({
63
+ name,
64
+ date,
65
+ size: '-',
66
+ isDir: false,
67
+ url: `${s3Url}/v${version}/${name}`,
68
+ ignoreDownloadStatuses: [404, 403],
69
+ });
70
+ }
71
+ }
72
+ }
73
+ }
74
+ return { items: this.dirItems[dir] };
75
+ }
76
+ }
77
+ exports.SqlcipherBinary = SqlcipherBinary;
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsY2lwaGVyQmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXBwL2NvbW1vbi9hZGFwdGVyL2JpbmFyeS9TcWxjaXBoZXJCaW5hcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQTJFO0FBRTNFLE1BQWEsZUFBZ0IsU0FBUSwrQkFBYztJQUtqRCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQVc7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDbkIsTUFBTSxLQUFLLEdBQUcseUVBQXlFLENBQUM7WUFDeEYsTUFBTSxNQUFNLEdBQUcsbURBQW1ELENBQUM7WUFDbkUsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLHNGQUFzRjtZQUN0RixpRkFBaUY7WUFDakYsNkdBQTZHO1lBQzdHLDZHQUE2RztZQUM3RywyR0FBMkc7WUFDM0csMkdBQTJHO1lBRTNHLDBHQUEwRztZQUMxRywwR0FBMEc7WUFFMUcsNEdBQTRHO1lBQzVHLDRHQUE0RztZQUM1RywyR0FBMkc7WUFDM0csMkdBQTJHO1lBQzNHLDBHQUEwRztZQUMxRywwR0FBMEc7WUFDMUcsTUFBTSxvQkFBb0IsR0FBRztnQkFDM0IsV0FBVztnQkFDWCxZQUFZO2dCQUNaLGNBQWM7Z0JBQ2QsV0FBVztnQkFDWCxhQUFhO2dCQUNiLFlBQVk7YUFDYixDQUFDO1lBQ0YsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNuQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakQsSUFBSSxLQUFLLEdBQUcsQ0FBQztvQkFBRSxTQUFTO2dCQUN4QixXQUFXO2dCQUNYLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzFDLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO2dCQUNoRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDdEIsSUFBSSxFQUFFLElBQUksT0FBTyxHQUFHO29CQUNwQixJQUFJO29CQUNKLElBQUksRUFBRSxHQUFHO29CQUNULEtBQUssRUFBRSxJQUFJO29CQUNYLEdBQUcsRUFBRSxFQUFFO2lCQUNSLENBQUMsQ0FBQztnQkFDSCxNQUFNLFVBQVUsR0FBRyxLQUFLLE9BQU8sR0FBRyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDL0IsS0FBSyxNQUFNLG1CQUFtQixJQUFJLG9CQUFvQixFQUFFO29CQUN0RCxPQUFPO29CQUNQLEtBQUssTUFBTSxXQUFXLElBQUksWUFBWSxFQUFFO3dCQUN0QyxXQUFXO3dCQUNYLHlFQUF5RTt3QkFDekUscUJBQXFCO3dCQUNyQixTQUFTO3dCQUNULElBQUk7d0JBQ0osTUFBTSxJQUFJLEdBQUcsU0FBUyxXQUFXLElBQUksbUJBQW1CLFNBQVMsQ0FBQzt3QkFDbEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUM7NEJBQzdCLElBQUk7NEJBQ0osSUFBSTs0QkFDSixJQUFJLEVBQUUsR0FBRzs0QkFDVCxLQUFLLEVBQUUsS0FBSzs0QkFDWixHQUFHLEVBQUUsR0FBRyxLQUFLLEtBQUssT0FBTyxJQUFJLElBQUksRUFBRTs0QkFDbkMsc0JBQXNCLEVBQUUsQ0FBRSxHQUFHLEVBQUUsR0FBRyxDQUFFO3lCQUNyQyxDQUFDLENBQUM7cUJBQ0o7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBNUVELDBDQTRFQyJ9
@@ -0,0 +1,9 @@
1
+ import { AdviceContext, IAdvice } from '@eggjs/tegg/aop';
2
+ export declare class AsyncTimer implements IAdvice {
3
+ private readonly logger;
4
+ private start;
5
+ private succeed;
6
+ beforeCall(): Promise<void>;
7
+ afterThrow(): Promise<void>;
8
+ afterFinally(ctx: AdviceContext): Promise<void>;
9
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AsyncTimer = void 0;
10
+ const perf_hooks_1 = require("perf_hooks");
11
+ const aop_1 = require("@eggjs/tegg/aop");
12
+ const tegg_1 = require("@eggjs/tegg");
13
+ // auto print async function call performance timer log into logger
14
+ let AsyncTimer = class AsyncTimer {
15
+ constructor() {
16
+ this.succeed = true;
17
+ }
18
+ async beforeCall() {
19
+ this.start = perf_hooks_1.performance.now();
20
+ }
21
+ async afterThrow() {
22
+ this.succeed = false;
23
+ }
24
+ async afterFinally(ctx) {
25
+ const ms = Math.floor((perf_hooks_1.performance.now() - this.start) * 1000) / 1000;
26
+ this.logger.info('[%s] [%s:%s|%s]', ms, ctx.that.constructor.name, ctx.method, this.succeed ? 'T' : 'F');
27
+ }
28
+ };
29
+ __decorate([
30
+ (0, tegg_1.Inject)()
31
+ ], AsyncTimer.prototype, "logger", void 0);
32
+ AsyncTimer = __decorate([
33
+ (0, aop_1.Advice)()
34
+ ], AsyncTimer);
35
+ exports.AsyncTimer = AsyncTimer;
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXN5bmNUaW1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb21tb24vYW9wL0FzeW5jVGltZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsMkNBQXlDO0FBQ3pDLHlDQUFpRTtBQUNqRSxzQ0FBcUM7QUFHckMsbUVBQW1FO0FBRW5FLElBQWEsVUFBVSxHQUF2QixNQUFhLFVBQVU7SUFBdkI7UUFJVSxZQUFPLEdBQUcsSUFBSSxDQUFDO0lBZXpCLENBQUM7SUFiQyxLQUFLLENBQUMsVUFBVTtRQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsd0JBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFrQjtRQUNuQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsd0JBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUNoQyxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6RSxDQUFDO0NBQ0YsQ0FBQTtBQWpCQztJQURDLElBQUEsYUFBTSxHQUFFOzBDQUMwQjtBQUZ4QixVQUFVO0lBRHRCLElBQUEsWUFBTSxHQUFFO0dBQ0ksVUFBVSxDQW1CdEI7QUFuQlksZ0NBQVUifQ==
@@ -0,0 +1,2 @@
1
+ export declare const BUG_VERSIONS = "bug-versions";
2
+ export declare const LATEST_TAG = "latest";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LATEST_TAG = exports.BUG_VERSIONS = void 0;
4
+ exports.BUG_VERSIONS = 'bug-versions';
5
+ exports.LATEST_TAG = 'latest';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBwL2NvbW1vbi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxZQUFZLEdBQUcsY0FBYyxDQUFDO0FBQzlCLFFBQUEsVUFBVSxHQUFHLFFBQVEsQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ import dayjs from 'dayjs';
2
+ export default dayjs;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const dayjs_1 = __importDefault(require("dayjs"));
7
+ const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
8
+ dayjs_1.default.extend(customParseFormat_1.default);
9
+ exports.default = dayjs_1.default;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvY29tbW9uL2RheWpzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLHVGQUErRDtBQUMvRCxlQUFLLENBQUMsTUFBTSxDQUFDLDJCQUFpQixDQUFDLENBQUM7QUFFaEMsa0JBQWUsZUFBSyxDQUFDIn0=
@@ -0,0 +1,12 @@
1
+ export declare enum TaskType {
2
+ SyncPackage = "sync_package",
3
+ ChangesStream = "changes_stream",
4
+ SyncBinary = "sync_binary"
5
+ }
6
+ export declare enum TaskState {
7
+ Waiting = "waiting",
8
+ Processing = "processing",
9
+ Success = "success",
10
+ Fail = "fail",
11
+ Timeout = "timeout"
12
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskState = exports.TaskType = void 0;
4
+ var TaskType;
5
+ (function (TaskType) {
6
+ TaskType["SyncPackage"] = "sync_package";
7
+ TaskType["ChangesStream"] = "changes_stream";
8
+ TaskType["SyncBinary"] = "sync_binary";
9
+ })(TaskType = exports.TaskType || (exports.TaskType = {}));
10
+ var TaskState;
11
+ (function (TaskState) {
12
+ TaskState["Waiting"] = "waiting";
13
+ TaskState["Processing"] = "processing";
14
+ TaskState["Success"] = "success";
15
+ TaskState["Fail"] = "fail";
16
+ TaskState["Timeout"] = "timeout";
17
+ })(TaskState = exports.TaskState || (exports.TaskState = {}));
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb21tb24vZW51bS9UYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksUUFJWDtBQUpELFdBQVksUUFBUTtJQUNsQix3Q0FBNEIsQ0FBQTtJQUM1Qiw0Q0FBZ0MsQ0FBQTtJQUNoQyxzQ0FBMEIsQ0FBQTtBQUM1QixDQUFDLEVBSlcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFJbkI7QUFFRCxJQUFZLFNBTVg7QUFORCxXQUFZLFNBQVM7SUFDbkIsZ0NBQW1CLENBQUE7SUFDbkIsc0NBQXlCLENBQUE7SUFDekIsZ0NBQW1CLENBQUE7SUFDbkIsMEJBQWEsQ0FBQTtJQUNiLGdDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFOVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQU1wQiJ9
@@ -0,0 +1,5 @@
1
+ export declare enum LoginResultCode {
2
+ UserNotFound = 0,
3
+ Success = 1,
4
+ Fail = 2
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoginResultCode = void 0;
4
+ var LoginResultCode;
5
+ (function (LoginResultCode) {
6
+ LoginResultCode[LoginResultCode["UserNotFound"] = 0] = "UserNotFound";
7
+ LoginResultCode[LoginResultCode["Success"] = 1] = "Success";
8
+ LoginResultCode[LoginResultCode["Fail"] = 2] = "Fail";
9
+ })(LoginResultCode = exports.LoginResultCode || (exports.LoginResultCode = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb21tb24vZW51bS9Vc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksZUFJWDtBQUpELFdBQVksZUFBZTtJQUN6QixxRUFBWSxDQUFBO0lBQ1osMkRBQU8sQ0FBQTtJQUNQLHFEQUFJLENBQUE7QUFDTixDQUFDLEVBSlcsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFJMUIifQ==
@@ -0,0 +1,28 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { Readable } from 'stream';
4
+ import { IncomingHttpHeaders } from 'http';
5
+ export interface UploadResult {
6
+ key: string;
7
+ }
8
+ export interface AppendResult {
9
+ key: string;
10
+ nextAppendPosition?: number;
11
+ }
12
+ export interface UploadOptions {
13
+ key: string;
14
+ }
15
+ export interface AppendOptions {
16
+ key: string;
17
+ position?: string;
18
+ headers?: IncomingHttpHeaders;
19
+ }
20
+ export interface NFSClient {
21
+ uploadBytes(bytes: Uint8Array, options: UploadOptions): Promise<UploadResult>;
22
+ appendBytes(bytes: Uint8Array, options: AppendOptions): Promise<AppendResult>;
23
+ upload(filePath: string, options: UploadOptions): Promise<UploadResult>;
24
+ remove(key: string): Promise<void>;
25
+ readBytes(key: string): Promise<Uint8Array | undefined>;
26
+ createDownloadStream(key: string): Promise<Readable | undefined>;
27
+ url?(key: string): string;
28
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBwL2NvbW1vbi90eXBpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9