@checkly/playwright-core 1.41.2-beta.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 (305) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +5 -0
  3. package/README.md +3 -0
  4. package/ThirdPartyNotices.txt +1513 -0
  5. package/bin/PrintDeps.exe +0 -0
  6. package/bin/README.md +2 -0
  7. package/bin/install_media_pack.ps1 +5 -0
  8. package/bin/reinstall_chrome_beta_linux.sh +40 -0
  9. package/bin/reinstall_chrome_beta_mac.sh +13 -0
  10. package/bin/reinstall_chrome_beta_win.ps1 +23 -0
  11. package/bin/reinstall_chrome_stable_linux.sh +40 -0
  12. package/bin/reinstall_chrome_stable_mac.sh +12 -0
  13. package/bin/reinstall_chrome_stable_win.ps1 +23 -0
  14. package/bin/reinstall_msedge_beta_linux.sh +40 -0
  15. package/bin/reinstall_msedge_beta_mac.sh +11 -0
  16. package/bin/reinstall_msedge_beta_win.ps1 +22 -0
  17. package/bin/reinstall_msedge_dev_linux.sh +40 -0
  18. package/bin/reinstall_msedge_dev_mac.sh +11 -0
  19. package/bin/reinstall_msedge_dev_win.ps1 +22 -0
  20. package/bin/reinstall_msedge_stable_linux.sh +40 -0
  21. package/bin/reinstall_msedge_stable_mac.sh +11 -0
  22. package/bin/reinstall_msedge_stable_win.ps1 +23 -0
  23. package/browsers.json +64 -0
  24. package/cli.js +17 -0
  25. package/index.d.ts +17 -0
  26. package/index.js +33 -0
  27. package/index.mjs +28 -0
  28. package/lib/androidServerImpl.js +69 -0
  29. package/lib/browserServerImpl.js +92 -0
  30. package/lib/cli/driver.js +97 -0
  31. package/lib/cli/program.js +582 -0
  32. package/lib/cli/programWithTestStub.js +67 -0
  33. package/lib/client/accessibility.js +50 -0
  34. package/lib/client/android.js +473 -0
  35. package/lib/client/api.js +272 -0
  36. package/lib/client/artifact.js +79 -0
  37. package/lib/client/browser.js +145 -0
  38. package/lib/client/browserContext.js +509 -0
  39. package/lib/client/browserType.js +233 -0
  40. package/lib/client/cdpSession.js +53 -0
  41. package/lib/client/channelOwner.js +229 -0
  42. package/lib/client/clientHelper.js +57 -0
  43. package/lib/client/clientInstrumentation.js +40 -0
  44. package/lib/client/connection.js +327 -0
  45. package/lib/client/consoleMessage.js +55 -0
  46. package/lib/client/coverage.js +41 -0
  47. package/lib/client/dialog.js +57 -0
  48. package/lib/client/download.js +62 -0
  49. package/lib/client/electron.js +130 -0
  50. package/lib/client/elementHandle.js +291 -0
  51. package/lib/client/errors.js +77 -0
  52. package/lib/client/events.js +93 -0
  53. package/lib/client/fetch.js +343 -0
  54. package/lib/client/fileChooser.js +45 -0
  55. package/lib/client/frame.js +506 -0
  56. package/lib/client/harRouter.js +93 -0
  57. package/lib/client/input.js +111 -0
  58. package/lib/client/jsHandle.js +123 -0
  59. package/lib/client/jsonPipe.js +35 -0
  60. package/lib/client/localUtils.js +35 -0
  61. package/lib/client/locator.js +432 -0
  62. package/lib/client/network.js +601 -0
  63. package/lib/client/page.js +707 -0
  64. package/lib/client/playwright.js +74 -0
  65. package/lib/client/selectors.js +67 -0
  66. package/lib/client/stream.js +54 -0
  67. package/lib/client/tracing.js +135 -0
  68. package/lib/client/types.js +24 -0
  69. package/lib/client/video.js +51 -0
  70. package/lib/client/waiter.js +158 -0
  71. package/lib/client/webError.js +37 -0
  72. package/lib/client/worker.js +71 -0
  73. package/lib/client/writableStream.js +54 -0
  74. package/lib/common/socksProxy.js +569 -0
  75. package/lib/common/timeoutSettings.js +73 -0
  76. package/lib/common/types.js +5 -0
  77. package/lib/generated/consoleApiSource.js +7 -0
  78. package/lib/generated/injectedScriptSource.js +7 -0
  79. package/lib/generated/recorderSource.js +7 -0
  80. package/lib/generated/utilityScriptSource.js +7 -0
  81. package/lib/image_tools/colorUtils.js +98 -0
  82. package/lib/image_tools/compare.js +108 -0
  83. package/lib/image_tools/imageChannel.js +70 -0
  84. package/lib/image_tools/stats.js +102 -0
  85. package/lib/inProcessFactory.js +54 -0
  86. package/lib/inprocess.js +20 -0
  87. package/lib/outofprocess.js +67 -0
  88. package/lib/protocol/debug.js +27 -0
  89. package/lib/protocol/serializers.js +172 -0
  90. package/lib/protocol/transport.js +82 -0
  91. package/lib/protocol/validator.js +2599 -0
  92. package/lib/protocol/validatorPrimitives.js +139 -0
  93. package/lib/remote/playwrightConnection.js +274 -0
  94. package/lib/remote/playwrightServer.js +110 -0
  95. package/lib/server/accessibility.js +62 -0
  96. package/lib/server/android/android.js +441 -0
  97. package/lib/server/android/backendAdb.js +172 -0
  98. package/lib/server/artifact.js +104 -0
  99. package/lib/server/browser.js +129 -0
  100. package/lib/server/browserContext.js +609 -0
  101. package/lib/server/browserType.js +300 -0
  102. package/lib/server/chromium/appIcon.png +0 -0
  103. package/lib/server/chromium/chromium.js +346 -0
  104. package/lib/server/chromium/chromiumSwitches.js +41 -0
  105. package/lib/server/chromium/crAccessibility.js +237 -0
  106. package/lib/server/chromium/crBrowser.js +521 -0
  107. package/lib/server/chromium/crConnection.js +228 -0
  108. package/lib/server/chromium/crCoverage.js +246 -0
  109. package/lib/server/chromium/crDevTools.js +104 -0
  110. package/lib/server/chromium/crDragDrop.js +144 -0
  111. package/lib/server/chromium/crExecutionContext.js +156 -0
  112. package/lib/server/chromium/crInput.js +171 -0
  113. package/lib/server/chromium/crNetworkManager.js +723 -0
  114. package/lib/server/chromium/crPage.js +1173 -0
  115. package/lib/server/chromium/crPdf.js +147 -0
  116. package/lib/server/chromium/crProtocolHelper.js +131 -0
  117. package/lib/server/chromium/crServiceWorker.js +115 -0
  118. package/lib/server/chromium/defaultFontFamilies.js +145 -0
  119. package/lib/server/chromium/videoRecorder.js +155 -0
  120. package/lib/server/console.js +59 -0
  121. package/lib/server/cookieStore.js +112 -0
  122. package/lib/server/debugController.js +236 -0
  123. package/lib/server/debugger.js +132 -0
  124. package/lib/server/deviceDescriptors.js +21 -0
  125. package/lib/server/deviceDescriptorsSource.json +1549 -0
  126. package/lib/server/dialog.js +70 -0
  127. package/lib/server/dispatchers/androidDispatcher.js +193 -0
  128. package/lib/server/dispatchers/artifactDispatcher.js +118 -0
  129. package/lib/server/dispatchers/browserContextDispatcher.js +306 -0
  130. package/lib/server/dispatchers/browserDispatcher.js +170 -0
  131. package/lib/server/dispatchers/browserTypeDispatcher.js +55 -0
  132. package/lib/server/dispatchers/cdpSessionDispatcher.js +48 -0
  133. package/lib/server/dispatchers/debugControllerDispatcher.js +103 -0
  134. package/lib/server/dispatchers/dialogDispatcher.js +44 -0
  135. package/lib/server/dispatchers/dispatcher.js +400 -0
  136. package/lib/server/dispatchers/electronDispatcher.js +80 -0
  137. package/lib/server/dispatchers/elementHandlerDispatcher.js +228 -0
  138. package/lib/server/dispatchers/frameDispatcher.js +287 -0
  139. package/lib/server/dispatchers/jsHandleDispatcher.js +102 -0
  140. package/lib/server/dispatchers/jsonPipeDispatcher.js +61 -0
  141. package/lib/server/dispatchers/localUtilsDispatcher.js +399 -0
  142. package/lib/server/dispatchers/networkDispatchers.js +221 -0
  143. package/lib/server/dispatchers/pageDispatcher.js +363 -0
  144. package/lib/server/dispatchers/playwrightDispatcher.js +105 -0
  145. package/lib/server/dispatchers/selectorsDispatcher.js +36 -0
  146. package/lib/server/dispatchers/streamDispatcher.js +62 -0
  147. package/lib/server/dispatchers/tracingDispatcher.js +54 -0
  148. package/lib/server/dispatchers/writableStreamDispatcher.js +55 -0
  149. package/lib/server/dom.js +808 -0
  150. package/lib/server/download.js +53 -0
  151. package/lib/server/electron/electron.js +254 -0
  152. package/lib/server/electron/loader.js +57 -0
  153. package/lib/server/errors.js +68 -0
  154. package/lib/server/fetch.js +611 -0
  155. package/lib/server/fileChooser.js +42 -0
  156. package/lib/server/fileUploadUtils.js +71 -0
  157. package/lib/server/firefox/ffAccessibility.js +215 -0
  158. package/lib/server/firefox/ffBrowser.js +447 -0
  159. package/lib/server/firefox/ffConnection.js +168 -0
  160. package/lib/server/firefox/ffExecutionContext.js +138 -0
  161. package/lib/server/firefox/ffInput.js +150 -0
  162. package/lib/server/firefox/ffNetworkManager.js +231 -0
  163. package/lib/server/firefox/ffPage.js +558 -0
  164. package/lib/server/firefox/firefox.js +91 -0
  165. package/lib/server/formData.js +75 -0
  166. package/lib/server/frameSelectors.js +171 -0
  167. package/lib/server/frames.js +1597 -0
  168. package/lib/server/har/harRecorder.js +139 -0
  169. package/lib/server/har/harTracer.js +539 -0
  170. package/lib/server/helper.js +103 -0
  171. package/lib/server/index.js +96 -0
  172. package/lib/server/input.js +301 -0
  173. package/lib/server/instrumentation.js +74 -0
  174. package/lib/server/isomorphic/utilityScriptSerializers.js +212 -0
  175. package/lib/server/javascript.js +305 -0
  176. package/lib/server/launchApp.js +90 -0
  177. package/lib/server/macEditingCommands.js +139 -0
  178. package/lib/server/network.js +607 -0
  179. package/lib/server/page.js +793 -0
  180. package/lib/server/pipeTransport.js +85 -0
  181. package/lib/server/playwright.js +82 -0
  182. package/lib/server/progress.js +102 -0
  183. package/lib/server/protocolError.js +49 -0
  184. package/lib/server/recorder/codeGenerator.js +153 -0
  185. package/lib/server/recorder/csharp.js +310 -0
  186. package/lib/server/recorder/java.js +216 -0
  187. package/lib/server/recorder/javascript.js +229 -0
  188. package/lib/server/recorder/jsonl.js +47 -0
  189. package/lib/server/recorder/language.js +44 -0
  190. package/lib/server/recorder/python.js +275 -0
  191. package/lib/server/recorder/recorderActions.js +5 -0
  192. package/lib/server/recorder/recorderApp.js +181 -0
  193. package/lib/server/recorder/recorderUtils.js +48 -0
  194. package/lib/server/recorder/utils.js +45 -0
  195. package/lib/server/recorder.js +700 -0
  196. package/lib/server/registry/browserFetcher.js +168 -0
  197. package/lib/server/registry/dependencies.js +322 -0
  198. package/lib/server/registry/index.js +925 -0
  199. package/lib/server/registry/nativeDeps.js +383 -0
  200. package/lib/server/registry/oopDownloadBrowserMain.js +138 -0
  201. package/lib/server/screenshotter.js +354 -0
  202. package/lib/server/selectors.js +73 -0
  203. package/lib/server/socksInterceptor.js +100 -0
  204. package/lib/server/trace/recorder/snapshotter.js +168 -0
  205. package/lib/server/trace/recorder/snapshotterInjected.js +493 -0
  206. package/lib/server/trace/recorder/tracing.js +552 -0
  207. package/lib/server/trace/test/inMemorySnapshotter.js +93 -0
  208. package/lib/server/trace/viewer/traceViewer.js +229 -0
  209. package/lib/server/transport.js +191 -0
  210. package/lib/server/types.js +24 -0
  211. package/lib/server/usKeyboardLayout.js +555 -0
  212. package/lib/server/webkit/webkit.js +87 -0
  213. package/lib/server/webkit/wkAccessibility.js +194 -0
  214. package/lib/server/webkit/wkBrowser.js +328 -0
  215. package/lib/server/webkit/wkConnection.js +173 -0
  216. package/lib/server/webkit/wkExecutionContext.js +146 -0
  217. package/lib/server/webkit/wkInput.js +169 -0
  218. package/lib/server/webkit/wkInterceptableRequest.js +158 -0
  219. package/lib/server/webkit/wkPage.js +1198 -0
  220. package/lib/server/webkit/wkProvisionalPage.js +59 -0
  221. package/lib/server/webkit/wkWorkers.js +104 -0
  222. package/lib/third_party/diff_match_patch.js +2222 -0
  223. package/lib/third_party/pixelmatch.js +255 -0
  224. package/lib/utils/ascii.js +31 -0
  225. package/lib/utils/comparators.js +171 -0
  226. package/lib/utils/crypto.js +33 -0
  227. package/lib/utils/debug.js +46 -0
  228. package/lib/utils/debugLogger.js +89 -0
  229. package/lib/utils/env.js +47 -0
  230. package/lib/utils/eventsHelper.js +38 -0
  231. package/lib/utils/fileUtils.js +66 -0
  232. package/lib/utils/glob.js +83 -0
  233. package/lib/utils/happy-eyeballs.js +154 -0
  234. package/lib/utils/headers.js +52 -0
  235. package/lib/utils/hostPlatform.js +124 -0
  236. package/lib/utils/httpServer.js +195 -0
  237. package/lib/utils/index.js +324 -0
  238. package/lib/utils/isomorphic/cssParser.js +250 -0
  239. package/lib/utils/isomorphic/cssTokenizer.js +979 -0
  240. package/lib/utils/isomorphic/locatorGenerators.js +651 -0
  241. package/lib/utils/isomorphic/locatorParser.js +179 -0
  242. package/lib/utils/isomorphic/locatorUtils.js +62 -0
  243. package/lib/utils/isomorphic/selectorParser.js +397 -0
  244. package/lib/utils/isomorphic/stringUtils.js +107 -0
  245. package/lib/utils/isomorphic/traceUtils.js +39 -0
  246. package/lib/utils/linuxUtils.js +78 -0
  247. package/lib/utils/manualPromise.js +109 -0
  248. package/lib/utils/mimeType.js +29 -0
  249. package/lib/utils/multimap.js +75 -0
  250. package/lib/utils/network.js +189 -0
  251. package/lib/utils/processLauncher.js +248 -0
  252. package/lib/utils/profiler.js +53 -0
  253. package/lib/utils/rtti.js +41 -0
  254. package/lib/utils/semaphore.js +51 -0
  255. package/lib/utils/spawnAsync.js +45 -0
  256. package/lib/utils/stackTrace.js +123 -0
  257. package/lib/utils/task.js +58 -0
  258. package/lib/utils/time.js +37 -0
  259. package/lib/utils/timeoutRunner.js +131 -0
  260. package/lib/utils/traceUtils.js +44 -0
  261. package/lib/utils/userAgent.js +105 -0
  262. package/lib/utils/wsServer.js +125 -0
  263. package/lib/utils/zipFile.js +75 -0
  264. package/lib/utils/zones.js +99 -0
  265. package/lib/utilsBundle.js +81 -0
  266. package/lib/utilsBundleImpl/index.js +51 -0
  267. package/lib/utilsBundleImpl/xdg-open +1066 -0
  268. package/lib/vite/htmlReport/index.html +66 -0
  269. package/lib/vite/recorder/assets/codeMirrorModule-Hs9-1ZG4.css +1 -0
  270. package/lib/vite/recorder/assets/codeMirrorModule-I9ks4y7D.js +24 -0
  271. package/lib/vite/recorder/assets/codicon-zGuYmc9o.ttf +0 -0
  272. package/lib/vite/recorder/assets/index-ljsTwXtJ.css +1 -0
  273. package/lib/vite/recorder/assets/index-yg8ypzl6.js +47 -0
  274. package/lib/vite/recorder/index.html +29 -0
  275. package/lib/vite/recorder/playwright-logo.svg +9 -0
  276. package/lib/vite/traceViewer/assets/codeMirrorModule-GluP1cQ1.js +24 -0
  277. package/lib/vite/traceViewer/assets/codeMirrorModule-fqJB1XDu.js +24 -0
  278. package/lib/vite/traceViewer/assets/codeMirrorModule-y3M3aAqy.js +24 -0
  279. package/lib/vite/traceViewer/assets/wsPort-Rvwd4WC-.js +69 -0
  280. package/lib/vite/traceViewer/assets/wsPort-dlD7vDkY.js +69 -0
  281. package/lib/vite/traceViewer/assets/wsPort-qOE2NWrO.js +69 -0
  282. package/lib/vite/traceViewer/assets/xtermModule-Yt6xwiJ_.js +9 -0
  283. package/lib/vite/traceViewer/codeMirrorModule.Hs9-1ZG4.css +1 -0
  284. package/lib/vite/traceViewer/codicon.zGuYmc9o.ttf +0 -0
  285. package/lib/vite/traceViewer/index.-g_5lMbJ.css +1 -0
  286. package/lib/vite/traceViewer/index.4X7zDysg.js +2 -0
  287. package/lib/vite/traceViewer/index.HkJgzlGy.js +2 -0
  288. package/lib/vite/traceViewer/index.html +26 -0
  289. package/lib/vite/traceViewer/index.kRjx5sAJ.js +2 -0
  290. package/lib/vite/traceViewer/playwright-logo.svg +9 -0
  291. package/lib/vite/traceViewer/snapshot.html +21 -0
  292. package/lib/vite/traceViewer/sw.bundle.js +4 -0
  293. package/lib/vite/traceViewer/uiMode.1Wcp_Kto.js +10 -0
  294. package/lib/vite/traceViewer/uiMode.GTNzARcV.js +10 -0
  295. package/lib/vite/traceViewer/uiMode.html +17 -0
  296. package/lib/vite/traceViewer/uiMode.pWy0Re7G.css +1 -0
  297. package/lib/vite/traceViewer/uiMode.zV-7Lf9v.js +10 -0
  298. package/lib/vite/traceViewer/wsPort.kSgQKQ0y.css +1 -0
  299. package/lib/vite/traceViewer/xtermModule.0lwXJFHT.css +32 -0
  300. package/lib/zipBundle.js +25 -0
  301. package/lib/zipBundleImpl.js +5 -0
  302. package/package.json +43 -0
  303. package/types/protocol.d.ts +20304 -0
  304. package/types/structs.d.ts +45 -0
  305. package/types/types.d.ts +20626 -0
@@ -0,0 +1,383 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.deps = void 0;
7
+ /**
8
+ * Copyright (c) Microsoft Corporation.
9
+ *
10
+ * Licensed under the Apache License, Version 2.0 (the 'License");
11
+ * you may not use this file except in compliance with the License.
12
+ * You may obtain a copy of the License at
13
+ *
14
+ * http://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * Unless required by applicable law or agreed to in writing, software
17
+ * distributed under the License is distributed on an "AS IS" BASIS,
18
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ * See the License for the specific language governing permissions and
20
+ * limitations under the License.
21
+ */
22
+
23
+ // - This file is used to execute 'npx playwright install-deps'
24
+ // - The reverse mappings "lib2package" are generated with the following script:
25
+ // ./utils/linux-browser-dependencies/run.sh ubuntu:20.04
26
+
27
+ const deps = exports.deps = {
28
+ 'ubuntu20.04-x64': {
29
+ tools: ['xvfb', 'fonts-noto-color-emoji', 'ttf-unifont', 'libfontconfig', 'libfreetype6', 'xfonts-cyrillic', 'xfonts-scalable', 'fonts-liberation', 'fonts-ipafont-gothic', 'fonts-wqy-zenhei', 'fonts-tlwg-loma-otf', 'ttf-ubuntu-font-family'],
30
+ chromium: ['fonts-liberation', 'libasound2', 'libatk-bridge2.0-0', 'libatk1.0-0', 'libatspi2.0-0', 'libcairo2', 'libcups2', 'libdbus-1-3', 'libdrm2', 'libegl1', 'libgbm1', 'libglib2.0-0', 'libgtk-3-0', 'libnspr4', 'libnss3', 'libpango-1.0-0', 'libx11-6', 'libx11-xcb1', 'libxcb1', 'libxcomposite1', 'libxdamage1', 'libxext6', 'libxfixes3', 'libxrandr2', 'libxshmfence1'],
31
+ firefox: ['ffmpeg', 'libatk1.0-0', 'libcairo-gobject2', 'libcairo2', 'libdbus-1-3', 'libdbus-glib-1-2', 'libfontconfig1', 'libfreetype6', 'libgdk-pixbuf2.0-0', 'libglib2.0-0', 'libgtk-3-0', 'libpango-1.0-0', 'libpangocairo-1.0-0', 'libpangoft2-1.0-0', 'libx11-6', 'libx11-xcb1', 'libxcb-shm0', 'libxcb1', 'libxcomposite1', 'libxcursor1', 'libxdamage1', 'libxext6', 'libxfixes3', 'libxi6', 'libxrender1', 'libxt6', 'libxtst6'],
32
+ webkit: ['libenchant-2-2', 'libflite1', 'libx264-155', 'libatk-bridge2.0-0', 'libatk1.0-0', 'libcairo2', 'libegl1', 'libenchant1c2a', 'libepoxy0', 'libevdev2', 'libfontconfig1', 'libfreetype6', 'libgdk-pixbuf2.0-0', 'libgl1', 'libgles2', 'libglib2.0-0', 'libgtk-3-0', 'libgudev-1.0-0', 'libharfbuzz-icu0', 'libharfbuzz0b', 'libhyphen0', 'libicu66', 'libjpeg-turbo8', 'libnghttp2-14', 'libnotify4', 'libopengl0', 'libopenjp2-7', 'libopus0', 'libpango-1.0-0', 'libpng16-16', 'libsecret-1-0', 'libvpx6', 'libwayland-client0', 'libwayland-egl1', 'libwayland-server0', 'libwebp6', 'libwebpdemux2', 'libwoff1', 'libx11-6', 'libxcomposite1', 'libxdamage1', 'libxkbcommon0', 'libxml2', 'libxslt1.1', 'libatomic1', 'libevent-2.1-7'],
33
+ lib2package: {
34
+ 'libflite.so.1': 'libflite1',
35
+ 'libflite_usenglish.so.1': 'libflite1',
36
+ 'libflite_cmu_grapheme_lang.so.1': 'libflite1',
37
+ 'libflite_cmu_grapheme_lex.so.1': 'libflite1',
38
+ 'libflite_cmu_indic_lang.so.1': 'libflite1',
39
+ 'libflite_cmu_indic_lex.so.1': 'libflite1',
40
+ 'libflite_cmulex.so.1': 'libflite1',
41
+ 'libflite_cmu_time_awb.so.1': 'libflite1',
42
+ 'libflite_cmu_us_awb.so.1': 'libflite1',
43
+ 'libflite_cmu_us_kal16.so.1': 'libflite1',
44
+ 'libflite_cmu_us_kal.so.1': 'libflite1',
45
+ 'libflite_cmu_us_rms.so.1': 'libflite1',
46
+ 'libflite_cmu_us_slt.so.1': 'libflite1',
47
+ 'libx264.so': 'libx264-155',
48
+ 'libasound.so.2': 'libasound2',
49
+ 'libatk-1.0.so.0': 'libatk1.0-0',
50
+ 'libatk-bridge-2.0.so.0': 'libatk-bridge2.0-0',
51
+ 'libatspi.so.0': 'libatspi2.0-0',
52
+ 'libcairo-gobject.so.2': 'libcairo-gobject2',
53
+ 'libcairo.so.2': 'libcairo2',
54
+ 'libcups.so.2': 'libcups2',
55
+ 'libdbus-1.so.3': 'libdbus-1-3',
56
+ 'libdbus-glib-1.so.2': 'libdbus-glib-1-2',
57
+ 'libdrm.so.2': 'libdrm2',
58
+ 'libEGL.so.1': 'libegl1',
59
+ 'libenchant.so.1': 'libenchant1c2a',
60
+ 'libevdev.so.2': 'libevdev2',
61
+ 'libepoxy.so.0': 'libepoxy0',
62
+ 'libfontconfig.so.1': 'libfontconfig1',
63
+ 'libfreetype.so.6': 'libfreetype6',
64
+ 'libgbm.so.1': 'libgbm1',
65
+ 'libgdk_pixbuf-2.0.so.0': 'libgdk-pixbuf2.0-0',
66
+ 'libgdk-3.so.0': 'libgtk-3-0',
67
+ 'libgdk-x11-2.0.so.0': 'libgtk2.0-0',
68
+ 'libgio-2.0.so.0': 'libglib2.0-0',
69
+ 'libGL.so.1': 'libgl1',
70
+ 'libGLESv2.so.2': 'libgles2',
71
+ 'libglib-2.0.so.0': 'libglib2.0-0',
72
+ 'libgmodule-2.0.so.0': 'libglib2.0-0',
73
+ 'libgobject-2.0.so.0': 'libglib2.0-0',
74
+ 'libgthread-2.0.so.0': 'libglib2.0-0',
75
+ 'libgtk-3.so.0': 'libgtk-3-0',
76
+ 'libgtk-x11-2.0.so.0': 'libgtk2.0-0',
77
+ 'libgudev-1.0.so.0': 'libgudev-1.0-0',
78
+ 'libharfbuzz-icu.so.0': 'libharfbuzz-icu0',
79
+ 'libharfbuzz.so.0': 'libharfbuzz0b',
80
+ 'libhyphen.so.0': 'libhyphen0',
81
+ 'libicui18n.so.66': 'libicu66',
82
+ 'libicuuc.so.66': 'libicu66',
83
+ 'libjpeg.so.8': 'libjpeg-turbo8',
84
+ 'libnotify.so.4': 'libnotify4',
85
+ 'libnspr4.so': 'libnspr4',
86
+ 'libnss3.so': 'libnss3',
87
+ 'libnssutil3.so': 'libnss3',
88
+ 'libOpenGL.so.0': 'libopengl0',
89
+ 'libopenjp2.so.7': 'libopenjp2-7',
90
+ 'libopus.so.0': 'libopus0',
91
+ 'libpango-1.0.so.0': 'libpango-1.0-0',
92
+ 'libpangocairo-1.0.so.0': 'libpangocairo-1.0-0',
93
+ 'libpangoft2-1.0.so.0': 'libpangoft2-1.0-0',
94
+ 'libpng16.so.16': 'libpng16-16',
95
+ 'libsecret-1.so.0': 'libsecret-1-0',
96
+ 'libsmime3.so': 'libnss3',
97
+ 'libvpx.so.6': 'libvpx6',
98
+ 'libwayland-client.so.0': 'libwayland-client0',
99
+ 'libwayland-egl.so.1': 'libwayland-egl1',
100
+ 'libwayland-server.so.0': 'libwayland-server0',
101
+ 'libwebp.so.6': 'libwebp6',
102
+ 'libwebpdemux.so.2': 'libwebpdemux2',
103
+ 'libwoff2dec.so.1.0.2': 'libwoff1',
104
+ 'libX11-xcb.so.1': 'libx11-xcb1',
105
+ 'libX11.so.6': 'libx11-6',
106
+ 'libxcb-dri3.so.0': 'libxcb-dri3-0',
107
+ 'libxcb-shm.so.0': 'libxcb-shm0',
108
+ 'libxcb.so.1': 'libxcb1',
109
+ 'libXcomposite.so.1': 'libxcomposite1',
110
+ 'libXcursor.so.1': 'libxcursor1',
111
+ 'libXdamage.so.1': 'libxdamage1',
112
+ 'libXext.so.6': 'libxext6',
113
+ 'libXfixes.so.3': 'libxfixes3',
114
+ 'libXi.so.6': 'libxi6',
115
+ 'libxkbcommon.so.0': 'libxkbcommon0',
116
+ 'libxml2.so.2': 'libxml2',
117
+ 'libXrandr.so.2': 'libxrandr2',
118
+ 'libXrender.so.1': 'libxrender1',
119
+ 'libxslt.so.1': 'libxslt1.1',
120
+ 'libXt.so.6': 'libxt6',
121
+ 'libXtst.so.6': 'libxtst6',
122
+ 'libxshmfence.so.1': 'libxshmfence1',
123
+ 'libatomic.so.1': 'libatomic1',
124
+ 'libenchant-2.so.2': 'libenchant-2-2',
125
+ 'libevent-2.1.so.7': 'libevent-2.1-7'
126
+ }
127
+ },
128
+ 'ubuntu22.04-x64': {
129
+ tools: ['xvfb', 'fonts-noto-color-emoji', 'fonts-unifont', 'libfontconfig1', 'libfreetype6', 'xfonts-cyrillic', 'xfonts-scalable', 'fonts-liberation', 'fonts-ipafont-gothic', 'fonts-wqy-zenhei', 'fonts-tlwg-loma-otf', 'fonts-freefont-ttf'],
130
+ chromium: ['libasound2', 'libatk-bridge2.0-0', 'libatk1.0-0', 'libatspi2.0-0', 'libcairo2', 'libcups2', 'libdbus-1-3', 'libdrm2', 'libgbm1', 'libglib2.0-0', 'libnspr4', 'libnss3', 'libpango-1.0-0', 'libwayland-client0', 'libx11-6', 'libxcb1', 'libxcomposite1', 'libxdamage1', 'libxext6', 'libxfixes3', 'libxkbcommon0', 'libxrandr2'],
131
+ firefox: ['ffmpeg', 'libasound2', 'libatk1.0-0', 'libcairo-gobject2', 'libcairo2', 'libdbus-1-3', 'libdbus-glib-1-2', 'libfontconfig1', 'libfreetype6', 'libgdk-pixbuf-2.0-0', 'libglib2.0-0', 'libgtk-3-0', 'libpango-1.0-0', 'libpangocairo-1.0-0', 'libx11-6', 'libx11-xcb1', 'libxcb-shm0', 'libxcb1', 'libxcomposite1', 'libxcursor1', 'libxdamage1', 'libxext6', 'libxfixes3', 'libxi6', 'libxrandr2', 'libxrender1', 'libxtst6'],
132
+ webkit: ['libsoup-3.0-0', 'libenchant-2-2', 'gstreamer1.0-libav', 'gstreamer1.0-plugins-bad', 'gstreamer1.0-plugins-base', 'gstreamer1.0-plugins-good', 'libicu70', 'libatk-bridge2.0-0', 'libatk1.0-0', 'libcairo2', 'libdbus-1-3', 'libdrm2', 'libegl1', 'libepoxy0', 'libevdev2', 'libffi7', 'libfontconfig1', 'libfreetype6', 'libgbm1', 'libgdk-pixbuf-2.0-0', 'libgles2', 'libglib2.0-0', 'libglx0', 'libgstreamer-gl1.0-0', 'libgstreamer-plugins-base1.0-0', 'libgstreamer1.0-0', 'libgtk-3-0', 'libgudev-1.0-0', 'libharfbuzz-icu0', 'libharfbuzz0b', 'libhyphen0', 'libjpeg-turbo8', 'liblcms2-2', 'libmanette-0.2-0', 'libnotify4', 'libopengl0', 'libopenjp2-7', 'libopus0', 'libpango-1.0-0', 'libpng16-16', 'libproxy1v5', 'libsecret-1-0', 'libwayland-client0', 'libwayland-egl1', 'libwayland-server0', 'libwebpdemux2', 'libwoff1', 'libx11-6', 'libxcomposite1', 'libxdamage1', 'libxkbcommon0', 'libxml2', 'libxslt1.1', 'libx264-163', 'libatomic1', 'libevent-2.1-7'],
133
+ lib2package: {
134
+ 'libsoup-3.0.so.0': 'libsoup-3.0-0',
135
+ 'libasound.so.2': 'libasound2',
136
+ 'libatk-1.0.so.0': 'libatk1.0-0',
137
+ 'libatk-bridge-2.0.so.0': 'libatk-bridge2.0-0',
138
+ 'libatspi.so.0': 'libatspi2.0-0',
139
+ 'libcairo-gobject.so.2': 'libcairo-gobject2',
140
+ 'libcairo.so.2': 'libcairo2',
141
+ 'libcups.so.2': 'libcups2',
142
+ 'libdbus-1.so.3': 'libdbus-1-3',
143
+ 'libdbus-glib-1.so.2': 'libdbus-glib-1-2',
144
+ 'libdrm.so.2': 'libdrm2',
145
+ 'libEGL.so.1': 'libegl1',
146
+ 'libepoxy.so.0': 'libepoxy0',
147
+ 'libevdev.so.2': 'libevdev2',
148
+ 'libffi.so.7': 'libffi7',
149
+ 'libfontconfig.so.1': 'libfontconfig1',
150
+ 'libfreetype.so.6': 'libfreetype6',
151
+ 'libgbm.so.1': 'libgbm1',
152
+ 'libgdk_pixbuf-2.0.so.0': 'libgdk-pixbuf-2.0-0',
153
+ 'libgdk-3.so.0': 'libgtk-3-0',
154
+ 'libgio-2.0.so.0': 'libglib2.0-0',
155
+ 'libGLESv2.so.2': 'libgles2',
156
+ 'libglib-2.0.so.0': 'libglib2.0-0',
157
+ 'libGLX.so.0': 'libglx0',
158
+ 'libgmodule-2.0.so.0': 'libglib2.0-0',
159
+ 'libgobject-2.0.so.0': 'libglib2.0-0',
160
+ 'libgstallocators-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
161
+ 'libgstapp-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
162
+ 'libgstaudio-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
163
+ 'libgstbase-1.0.so.0': 'libgstreamer1.0-0',
164
+ 'libgstfft-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
165
+ 'libgstgl-1.0.so.0': 'libgstreamer-gl1.0-0',
166
+ 'libgstpbutils-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
167
+ 'libgstreamer-1.0.so.0': 'libgstreamer1.0-0',
168
+ 'libgsttag-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
169
+ 'libgstvideo-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
170
+ 'libgtk-3.so.0': 'libgtk-3-0',
171
+ 'libgudev-1.0.so.0': 'libgudev-1.0-0',
172
+ 'libharfbuzz-icu.so.0': 'libharfbuzz-icu0',
173
+ 'libharfbuzz.so.0': 'libharfbuzz0b',
174
+ 'libhyphen.so.0': 'libhyphen0',
175
+ 'libjpeg.so.8': 'libjpeg-turbo8',
176
+ 'liblcms2.so.2': 'liblcms2-2',
177
+ 'libmanette-0.2.so.0': 'libmanette-0.2-0',
178
+ 'libnotify.so.4': 'libnotify4',
179
+ 'libnspr4.so': 'libnspr4',
180
+ 'libnss3.so': 'libnss3',
181
+ 'libnssutil3.so': 'libnss3',
182
+ 'libOpenGL.so.0': 'libopengl0',
183
+ 'libopenjp2.so.7': 'libopenjp2-7',
184
+ 'libopus.so.0': 'libopus0',
185
+ 'libpango-1.0.so.0': 'libpango-1.0-0',
186
+ 'libpangocairo-1.0.so.0': 'libpangocairo-1.0-0',
187
+ 'libpng16.so.16': 'libpng16-16',
188
+ 'libproxy.so.1': 'libproxy1v5',
189
+ 'libsecret-1.so.0': 'libsecret-1-0',
190
+ 'libsmime3.so': 'libnss3',
191
+ 'libwayland-client.so.0': 'libwayland-client0',
192
+ 'libwayland-egl.so.1': 'libwayland-egl1',
193
+ 'libwayland-server.so.0': 'libwayland-server0',
194
+ 'libwebpdemux.so.2': 'libwebpdemux2',
195
+ 'libwoff2dec.so.1.0.2': 'libwoff1',
196
+ 'libX11-xcb.so.1': 'libx11-xcb1',
197
+ 'libX11.so.6': 'libx11-6',
198
+ 'libxcb-shm.so.0': 'libxcb-shm0',
199
+ 'libxcb.so.1': 'libxcb1',
200
+ 'libXcomposite.so.1': 'libxcomposite1',
201
+ 'libXcursor.so.1': 'libxcursor1',
202
+ 'libXdamage.so.1': 'libxdamage1',
203
+ 'libXext.so.6': 'libxext6',
204
+ 'libXfixes.so.3': 'libxfixes3',
205
+ 'libXi.so.6': 'libxi6',
206
+ 'libxkbcommon.so.0': 'libxkbcommon0',
207
+ 'libxml2.so.2': 'libxml2',
208
+ 'libXrandr.so.2': 'libxrandr2',
209
+ 'libXrender.so.1': 'libxrender1',
210
+ 'libxslt.so.1': 'libxslt1.1',
211
+ 'libXtst.so.6': 'libxtst6',
212
+ 'libicui18n.so.60': 'libicu70',
213
+ 'libicuuc.so.66': 'libicu70',
214
+ 'libicui18n.so.66': 'libicu70',
215
+ 'libwebp.so.6': 'libwebp6',
216
+ 'libenchant-2.so.2': 'libenchant-2-2',
217
+ 'libx264.so': 'libx264-163',
218
+ 'libvpx.so.7': 'libvpx7',
219
+ 'libatomic.so.1': 'libatomic1',
220
+ 'libevent-2.1.so.7': 'libevent-2.1-7'
221
+ }
222
+ },
223
+ 'debian11-x64': {
224
+ tools: ['xvfb', 'fonts-noto-color-emoji', 'fonts-unifont', 'libfontconfig1', 'libfreetype6', 'xfonts-cyrillic', 'xfonts-scalable', 'fonts-liberation', 'fonts-ipafont-gothic', 'fonts-wqy-zenhei', 'fonts-tlwg-loma-otf', 'fonts-freefont-ttf'],
225
+ chromium: ['libasound2', 'libatk-bridge2.0-0', 'libatk1.0-0', 'libatspi2.0-0', 'libcairo2', 'libcups2', 'libdbus-1-3', 'libdrm2', 'libgbm1', 'libglib2.0-0', 'libnspr4', 'libnss3', 'libpango-1.0-0', 'libwayland-client0', 'libx11-6', 'libxcb1', 'libxcomposite1', 'libxdamage1', 'libxext6', 'libxfixes3', 'libxkbcommon0', 'libxrandr2'],
226
+ firefox: ['libasound2', 'libatk1.0-0', 'libcairo-gobject2', 'libcairo2', 'libdbus-1-3', 'libdbus-glib-1-2', 'libfontconfig1', 'libfreetype6', 'libgdk-pixbuf-2.0-0', 'libglib2.0-0', 'libgtk-3-0', 'libharfbuzz0b', 'libpango-1.0-0', 'libpangocairo-1.0-0', 'libx11-6', 'libx11-xcb1', 'libxcb-shm0', 'libxcb1', 'libxcomposite1', 'libxcursor1', 'libxdamage1', 'libxext6', 'libxfixes3', 'libxi6', 'libxrandr2', 'libxrender1', 'libxtst6'],
227
+ webkit: ['gstreamer1.0-libav', 'gstreamer1.0-plugins-bad', 'gstreamer1.0-plugins-base', 'gstreamer1.0-plugins-good', 'libatk-bridge2.0-0', 'libatk1.0-0', 'libcairo2', 'libdbus-1-3', 'libdrm2', 'libegl1', 'libenchant-2-2', 'libepoxy0', 'libevdev2', 'libfontconfig1', 'libfreetype6', 'libgbm1', 'libgdk-pixbuf-2.0-0', 'libgles2', 'libglib2.0-0', 'libglx0', 'libgstreamer-gl1.0-0', 'libgstreamer-plugins-base1.0-0', 'libgstreamer1.0-0', 'libgtk-3-0', 'libgudev-1.0-0', 'libharfbuzz-icu0', 'libharfbuzz0b', 'libhyphen0', 'libicu67', 'libjpeg62-turbo', 'liblcms2-2', 'libmanette-0.2-0', 'libnghttp2-14', 'libnotify4', 'libopengl0', 'libopenjp2-7', 'libopus0', 'libpango-1.0-0', 'libpng16-16', 'libproxy1v5', 'libsecret-1-0', 'libwayland-client0', 'libwayland-egl1', 'libwayland-server0', 'libwebp6', 'libwebpdemux2', 'libwoff1', 'libx11-6', 'libxcomposite1', 'libxdamage1', 'libxkbcommon0', 'libxml2', 'libxslt1.1', 'libatomic1', 'libevent-2.1-7'],
228
+ lib2package: {
229
+ 'libasound.so.2': 'libasound2',
230
+ 'libatk-1.0.so.0': 'libatk1.0-0',
231
+ 'libatk-bridge-2.0.so.0': 'libatk-bridge2.0-0',
232
+ 'libatspi.so.0': 'libatspi2.0-0',
233
+ 'libcairo-gobject.so.2': 'libcairo-gobject2',
234
+ 'libcairo.so.2': 'libcairo2',
235
+ 'libcups.so.2': 'libcups2',
236
+ 'libdbus-1.so.3': 'libdbus-1-3',
237
+ 'libdbus-glib-1.so.2': 'libdbus-glib-1-2',
238
+ 'libdrm.so.2': 'libdrm2',
239
+ 'libEGL.so.1': 'libegl1',
240
+ 'libenchant-2.so.2': 'libenchant-2-2',
241
+ 'libepoxy.so.0': 'libepoxy0',
242
+ 'libevdev.so.2': 'libevdev2',
243
+ 'libfontconfig.so.1': 'libfontconfig1',
244
+ 'libfreetype.so.6': 'libfreetype6',
245
+ 'libgbm.so.1': 'libgbm1',
246
+ 'libgdk_pixbuf-2.0.so.0': 'libgdk-pixbuf-2.0-0',
247
+ 'libgdk-3.so.0': 'libgtk-3-0',
248
+ 'libgio-2.0.so.0': 'libglib2.0-0',
249
+ 'libGLESv2.so.2': 'libgles2',
250
+ 'libglib-2.0.so.0': 'libglib2.0-0',
251
+ 'libGLX.so.0': 'libglx0',
252
+ 'libgmodule-2.0.so.0': 'libglib2.0-0',
253
+ 'libgobject-2.0.so.0': 'libglib2.0-0',
254
+ 'libgstallocators-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
255
+ 'libgstapp-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
256
+ 'libgstaudio-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
257
+ 'libgstbase-1.0.so.0': 'libgstreamer1.0-0',
258
+ 'libgstfft-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
259
+ 'libgstgl-1.0.so.0': 'libgstreamer-gl1.0-0',
260
+ 'libgstpbutils-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
261
+ 'libgstreamer-1.0.so.0': 'libgstreamer1.0-0',
262
+ 'libgsttag-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
263
+ 'libgstvideo-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
264
+ 'libgtk-3.so.0': 'libgtk-3-0',
265
+ 'libgudev-1.0.so.0': 'libgudev-1.0-0',
266
+ 'libharfbuzz-icu.so.0': 'libharfbuzz-icu0',
267
+ 'libharfbuzz.so.0': 'libharfbuzz0b',
268
+ 'libhyphen.so.0': 'libhyphen0',
269
+ 'libicui18n.so.67': 'libicu67',
270
+ 'libicuuc.so.67': 'libicu67',
271
+ 'libjpeg.so.62': 'libjpeg62-turbo',
272
+ 'liblcms2.so.2': 'liblcms2-2',
273
+ 'libmanette-0.2.so.0': 'libmanette-0.2-0',
274
+ 'libnotify.so.4': 'libnotify4',
275
+ 'libnspr4.so': 'libnspr4',
276
+ 'libnss3.so': 'libnss3',
277
+ 'libnssutil3.so': 'libnss3',
278
+ 'libOpenGL.so.0': 'libopengl0',
279
+ 'libopenjp2.so.7': 'libopenjp2-7',
280
+ 'libopus.so.0': 'libopus0',
281
+ 'libpango-1.0.so.0': 'libpango-1.0-0',
282
+ 'libpangocairo-1.0.so.0': 'libpangocairo-1.0-0',
283
+ 'libpng16.so.16': 'libpng16-16',
284
+ 'libproxy.so.1': 'libproxy1v5',
285
+ 'libsecret-1.so.0': 'libsecret-1-0',
286
+ 'libsmime3.so': 'libnss3',
287
+ 'libwayland-client.so.0': 'libwayland-client0',
288
+ 'libwayland-egl.so.1': 'libwayland-egl1',
289
+ 'libwayland-server.so.0': 'libwayland-server0',
290
+ 'libwebp.so.6': 'libwebp6',
291
+ 'libwebpdemux.so.2': 'libwebpdemux2',
292
+ 'libwoff2dec.so.1.0.2': 'libwoff1',
293
+ 'libX11-xcb.so.1': 'libx11-xcb1',
294
+ 'libX11.so.6': 'libx11-6',
295
+ 'libxcb-shm.so.0': 'libxcb-shm0',
296
+ 'libxcb.so.1': 'libxcb1',
297
+ 'libXcomposite.so.1': 'libxcomposite1',
298
+ 'libXcursor.so.1': 'libxcursor1',
299
+ 'libXdamage.so.1': 'libxdamage1',
300
+ 'libXext.so.6': 'libxext6',
301
+ 'libXfixes.so.3': 'libxfixes3',
302
+ 'libXi.so.6': 'libxi6',
303
+ 'libxkbcommon.so.0': 'libxkbcommon0',
304
+ 'libxml2.so.2': 'libxml2',
305
+ 'libXrandr.so.2': 'libxrandr2',
306
+ 'libXrender.so.1': 'libxrender1',
307
+ 'libxslt.so.1': 'libxslt1.1',
308
+ 'libXtst.so.6': 'libxtst6',
309
+ 'libatomic.so.1': 'libatomic1',
310
+ 'libevent-2.1.so.7': 'libevent-2.1-7'
311
+ }
312
+ },
313
+ 'debian12-x64': {
314
+ tools: ['xvfb', 'fonts-noto-color-emoji', 'fonts-unifont', 'libfontconfig1', 'libfreetype6', 'xfonts-scalable', 'fonts-liberation', 'fonts-ipafont-gothic', 'fonts-wqy-zenhei', 'fonts-tlwg-loma-otf', 'fonts-freefont-ttf'],
315
+ chromium: ['libasound2', 'libatk-bridge2.0-0', 'libatk1.0-0', 'libatspi2.0-0', 'libcairo2', 'libcups2', 'libdbus-1-3', 'libdrm2', 'libgbm1', 'libglib2.0-0', 'libnspr4', 'libnss3', 'libpango-1.0-0', 'libx11-6', 'libxcb1', 'libxcomposite1', 'libxdamage1', 'libxext6', 'libxfixes3', 'libxkbcommon0', 'libxrandr2'],
316
+ firefox: ['libasound2', 'libatk1.0-0', 'libcairo-gobject2', 'libcairo2', 'libdbus-1-3', 'libdbus-glib-1-2', 'libfontconfig1', 'libfreetype6', 'libgdk-pixbuf-2.0-0', 'libglib2.0-0', 'libgtk-3-0', 'libharfbuzz0b', 'libpango-1.0-0', 'libpangocairo-1.0-0', 'libx11-6', 'libx11-xcb1', 'libxcb-shm0', 'libxcb1', 'libxcomposite1', 'libxcursor1', 'libxdamage1', 'libxext6', 'libxfixes3', 'libxi6', 'libxrandr2', 'libxrender1', 'libxtst6'],
317
+ webkit: ['libsoup-3.0-0', 'gstreamer1.0-libav', 'gstreamer1.0-plugins-bad', 'gstreamer1.0-plugins-base', 'gstreamer1.0-plugins-good', 'libatk-bridge2.0-0', 'libatk1.0-0', 'libcairo2', 'libdbus-1-3', 'libdrm2', 'libegl1', 'libenchant-2-2', 'libepoxy0', 'libevdev2', 'libfontconfig1', 'libfreetype6', 'libgbm1', 'libgdk-pixbuf-2.0-0', 'libgles2', 'libglib2.0-0', 'libglx0', 'libgstreamer-gl1.0-0', 'libgstreamer-plugins-base1.0-0', 'libgstreamer1.0-0', 'libgtk-3-0', 'libgudev-1.0-0', 'libharfbuzz-icu0', 'libharfbuzz0b', 'libhyphen0', 'libicu72', 'libjpeg62-turbo', 'liblcms2-2', 'libmanette-0.2-0', 'libnotify4', 'libopengl0', 'libopenjp2-7', 'libopus0', 'libpango-1.0-0', 'libpng16-16', 'libproxy1v5', 'libsecret-1-0', 'libwayland-client0', 'libwayland-egl1', 'libwayland-server0', 'libwebp7', 'libwebpdemux2', 'libwoff1', 'libx11-6', 'libxcomposite1', 'libxdamage1', 'libxkbcommon0', 'libxml2', 'libxslt1.1', 'libatomic1', 'libevent-2.1-7'],
318
+ lib2package: {
319
+ 'libsoup-3.0.so.0': 'libsoup-3.0-0',
320
+ 'libasound.so.2': 'libasound2',
321
+ 'libatk-1.0.so.0': 'libatk1.0-0',
322
+ 'libatk-bridge-2.0.so.0': 'libatk-bridge2.0-0',
323
+ 'libatspi.so.0': 'libatspi2.0-0',
324
+ 'libcairo.so.2': 'libcairo2',
325
+ 'libcups.so.2': 'libcups2',
326
+ 'libdbus-1.so.3': 'libdbus-1-3',
327
+ 'libdrm.so.2': 'libdrm2',
328
+ 'libgbm.so.1': 'libgbm1',
329
+ 'libgio-2.0.so.0': 'libglib2.0-0',
330
+ 'libglib-2.0.so.0': 'libglib2.0-0',
331
+ 'libgobject-2.0.so.0': 'libglib2.0-0',
332
+ 'libnspr4.so': 'libnspr4',
333
+ 'libnss3.so': 'libnss3',
334
+ 'libnssutil3.so': 'libnss3',
335
+ 'libpango-1.0.so.0': 'libpango-1.0-0',
336
+ 'libsmime3.so': 'libnss3',
337
+ 'libX11.so.6': 'libx11-6',
338
+ 'libxcb.so.1': 'libxcb1',
339
+ 'libXcomposite.so.1': 'libxcomposite1',
340
+ 'libXdamage.so.1': 'libxdamage1',
341
+ 'libXext.so.6': 'libxext6',
342
+ 'libXfixes.so.3': 'libxfixes3',
343
+ 'libxkbcommon.so.0': 'libxkbcommon0',
344
+ 'libXrandr.so.2': 'libxrandr2'
345
+ }
346
+ }
347
+ };
348
+ deps['ubuntu20.04-arm64'] = {
349
+ tools: [...deps['ubuntu20.04-x64'].tools],
350
+ chromium: [...deps['ubuntu20.04-x64'].chromium],
351
+ firefox: [...deps['ubuntu20.04-x64'].firefox],
352
+ webkit: [...deps['ubuntu20.04-x64'].webkit],
353
+ lib2package: {
354
+ ...deps['ubuntu20.04-x64'].lib2package
355
+ }
356
+ };
357
+ deps['ubuntu22.04-arm64'] = {
358
+ tools: [...deps['ubuntu22.04-x64'].tools],
359
+ chromium: [...deps['ubuntu22.04-x64'].chromium],
360
+ firefox: [...deps['ubuntu22.04-x64'].firefox],
361
+ webkit: [...deps['ubuntu22.04-x64'].webkit],
362
+ lib2package: {
363
+ ...deps['ubuntu22.04-x64'].lib2package
364
+ }
365
+ };
366
+ deps['debian11-arm64'] = {
367
+ tools: [...deps['debian11-x64'].tools],
368
+ chromium: [...deps['debian11-x64'].chromium],
369
+ firefox: [...deps['debian11-x64'].firefox],
370
+ webkit: [...deps['debian11-x64'].webkit],
371
+ lib2package: {
372
+ ...deps['debian11-x64'].lib2package
373
+ }
374
+ };
375
+ deps['debian12-arm64'] = {
376
+ tools: [...deps['debian12-x64'].tools],
377
+ chromium: [...deps['debian12-x64'].chromium],
378
+ firefox: [...deps['debian12-x64'].firefox],
379
+ webkit: [...deps['debian12-x64'].webkit],
380
+ lib2package: {
381
+ ...deps['debian12-x64'].lib2package
382
+ }
383
+ };
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ var _fs = _interopRequireDefault(require("fs"));
4
+ var _path = _interopRequireDefault(require("path"));
5
+ var _network = require("../../utils/network");
6
+ var _manualPromise = require("../../utils/manualPromise");
7
+ var _zipBundle = require("../../zipBundle");
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ /**
10
+ * Copyright (c) Microsoft Corporation.
11
+ *
12
+ * Licensed under the Apache License, Version 2.0 (the "License");
13
+ * you may not use this file except in compliance with the License.
14
+ * You may obtain a copy of the License at
15
+ *
16
+ * http://www.apache.org/licenses/LICENSE-2.0
17
+ *
18
+ * Unless required by applicable law or agreed to in writing, software
19
+ * distributed under the License is distributed on an "AS IS" BASIS,
20
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
+ * See the License for the specific language governing permissions and
22
+ * limitations under the License.
23
+ */
24
+
25
+ function log(message) {
26
+ var _process$send, _process;
27
+ (_process$send = (_process = process).send) === null || _process$send === void 0 || _process$send.call(_process, {
28
+ method: 'log',
29
+ params: {
30
+ message
31
+ }
32
+ });
33
+ }
34
+ function progress(done, total) {
35
+ var _process$send2, _process2;
36
+ (_process$send2 = (_process2 = process).send) === null || _process$send2 === void 0 || _process$send2.call(_process2, {
37
+ method: 'progress',
38
+ params: {
39
+ done,
40
+ total
41
+ }
42
+ });
43
+ }
44
+ function browserDirectoryToMarkerFilePath(browserDirectory) {
45
+ return _path.default.join(browserDirectory, 'INSTALLATION_COMPLETE');
46
+ }
47
+ function downloadFile(options) {
48
+ let downloadedBytes = 0;
49
+ let totalBytes = 0;
50
+ const promise = new _manualPromise.ManualPromise();
51
+ (0, _network.httpRequest)({
52
+ url: options.url,
53
+ headers: {
54
+ 'User-Agent': options.userAgent
55
+ },
56
+ timeout: options.connectionTimeout
57
+ }, response => {
58
+ log(`-- response status code: ${response.statusCode}`);
59
+ if (response.statusCode !== 200) {
60
+ let content = '';
61
+ const handleError = () => {
62
+ const error = new Error(`Download failed: server returned code ${response.statusCode} body '${content}'. URL: ${options.url}`);
63
+ // consume response data to free up memory
64
+ response.resume();
65
+ promise.reject(error);
66
+ };
67
+ response.on('data', chunk => content += chunk).on('end', handleError).on('error', handleError);
68
+ return;
69
+ }
70
+ totalBytes = parseInt(response.headers['content-length'] || '0', 10);
71
+ log(`-- total bytes: ${totalBytes}`);
72
+ const file = _fs.default.createWriteStream(options.zipPath);
73
+ file.on('finish', () => {
74
+ if (downloadedBytes !== totalBytes) {
75
+ log(`-- download failed, size mismatch: ${downloadedBytes} != ${totalBytes}`);
76
+ promise.reject(new Error(`Download failed: size mismatch, file size: ${downloadedBytes}, expected size: ${totalBytes} URL: ${options.url}`));
77
+ } else {
78
+ log(`-- download complete, size: ${downloadedBytes}`);
79
+ promise.resolve();
80
+ }
81
+ });
82
+ file.on('error', error => promise.reject(error));
83
+ response.pipe(file);
84
+ response.on('data', onData);
85
+ response.on('error', error => {
86
+ file.close();
87
+ if ((error === null || error === void 0 ? void 0 : error.code) === 'ECONNRESET') {
88
+ log(`-- download failed, server closed connection`);
89
+ promise.reject(new Error(`Download failed: server closed connection. URL: ${options.url}`));
90
+ } else {
91
+ var _error$message;
92
+ log(`-- download failed, unexpected error`);
93
+ promise.reject(new Error(`Download failed: ${(_error$message = error === null || error === void 0 ? void 0 : error.message) !== null && _error$message !== void 0 ? _error$message : error}. URL: ${options.url}`));
94
+ }
95
+ });
96
+ }, error => promise.reject(error));
97
+ return promise;
98
+ function onData(chunk) {
99
+ downloadedBytes += chunk.length;
100
+ progress(downloadedBytes, totalBytes);
101
+ }
102
+ }
103
+ async function main(options) {
104
+ await downloadFile(options);
105
+ log(`SUCCESS downloading ${options.title}`);
106
+ log(`extracting archive`);
107
+ await (0, _zipBundle.extract)(options.zipPath, {
108
+ dir: options.browserDirectory
109
+ });
110
+ if (options.executablePath) {
111
+ log(`fixing permissions at ${options.executablePath}`);
112
+ await _fs.default.promises.chmod(options.executablePath, 0o755);
113
+ }
114
+ await _fs.default.promises.writeFile(browserDirectoryToMarkerFilePath(options.browserDirectory), '');
115
+ }
116
+ process.on('message', async message => {
117
+ const {
118
+ method,
119
+ params
120
+ } = message;
121
+ if (method === 'download') {
122
+ try {
123
+ await main(params);
124
+ // eslint-disable-next-line no-restricted-properties
125
+ process.exit(0);
126
+ } catch (e) {
127
+ // eslint-disable-next-line no-console
128
+ console.error(e);
129
+ // eslint-disable-next-line no-restricted-properties
130
+ process.exit(1);
131
+ }
132
+ }
133
+ });
134
+
135
+ // eslint-disable-next-line no-restricted-properties
136
+ process.on('disconnect', () => {
137
+ process.exit(0);
138
+ });