@zohodesk/testinglibrary 3.2.13 → 3.2.15

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 (539) hide show
  1. package/.gitlab-ci.yml +13 -13
  2. package/README.md +18 -0
  3. package/build/common/data-generator/steps/DataGeneratorStepsHelper.js +3 -1
  4. package/build/core/dataGenerator/DataGenerator.js +0 -9
  5. package/build/core/playwright/constants/reporterConstants.js +11 -0
  6. package/build/core/playwright/helpers/auth/getUsers.js +2 -1
  7. package/build/core/playwright/reporter/helpers/mergeAbortedTests.js +78 -0
  8. package/build/core/playwright/setup/custom-reporter.js +3 -0
  9. package/build/utils/logger.js +1 -1
  10. package/npm-shrinkwrap.json +59 -204
  11. package/package.json +1 -3
  12. package/test-results/.last-run.json +4 -0
  13. package/unit_reports/unit-report.html +260 -0
  14. package/playwright-mcp-test/node_modules/.package-lock.json +0 -54
  15. package/playwright-mcp-test/node_modules/@playwright/mcp/LICENSE +0 -202
  16. package/playwright-mcp-test/node_modules/@playwright/mcp/README.md +0 -907
  17. package/playwright-mcp-test/node_modules/@playwright/mcp/cli.js +0 -24
  18. package/playwright-mcp-test/node_modules/@playwright/mcp/config.d.ts +0 -174
  19. package/playwright-mcp-test/node_modules/@playwright/mcp/index.d.ts +0 -23
  20. package/playwright-mcp-test/node_modules/@playwright/mcp/index.js +0 -19
  21. package/playwright-mcp-test/node_modules/@playwright/mcp/package.json +0 -52
  22. package/playwright-mcp-test/node_modules/playwright/LICENSE +0 -202
  23. package/playwright-mcp-test/node_modules/playwright/NOTICE +0 -5
  24. package/playwright-mcp-test/node_modules/playwright/README.md +0 -168
  25. package/playwright-mcp-test/node_modules/playwright/ThirdPartyNotices.txt +0 -6277
  26. package/playwright-mcp-test/node_modules/playwright/cli.js +0 -19
  27. package/playwright-mcp-test/node_modules/playwright/index.d.ts +0 -17
  28. package/playwright-mcp-test/node_modules/playwright/index.js +0 -17
  29. package/playwright-mcp-test/node_modules/playwright/index.mjs +0 -18
  30. package/playwright-mcp-test/node_modules/playwright/jsx-runtime.js +0 -42
  31. package/playwright-mcp-test/node_modules/playwright/jsx-runtime.mjs +0 -21
  32. package/playwright-mcp-test/node_modules/playwright/lib/agents/generateAgents.js +0 -368
  33. package/playwright-mcp-test/node_modules/playwright/lib/agents/generator.agent.md +0 -101
  34. package/playwright-mcp-test/node_modules/playwright/lib/agents/healer.agent.md +0 -77
  35. package/playwright-mcp-test/node_modules/playwright/lib/agents/planner.agent.md +0 -138
  36. package/playwright-mcp-test/node_modules/playwright/lib/agents/test-coverage.prompt.md +0 -31
  37. package/playwright-mcp-test/node_modules/playwright/lib/agents/test-generate.prompt.md +0 -8
  38. package/playwright-mcp-test/node_modules/playwright/lib/agents/test-heal.prompt.md +0 -6
  39. package/playwright-mcp-test/node_modules/playwright/lib/agents/test-plan.prompt.md +0 -9
  40. package/playwright-mcp-test/node_modules/playwright/lib/common/config.js +0 -280
  41. package/playwright-mcp-test/node_modules/playwright/lib/common/configLoader.js +0 -344
  42. package/playwright-mcp-test/node_modules/playwright/lib/common/esmLoaderHost.js +0 -102
  43. package/playwright-mcp-test/node_modules/playwright/lib/common/expectBundle.js +0 -52
  44. package/playwright-mcp-test/node_modules/playwright/lib/common/expectBundleImpl.js +0 -389
  45. package/playwright-mcp-test/node_modules/playwright/lib/common/fixtures.js +0 -302
  46. package/playwright-mcp-test/node_modules/playwright/lib/common/globals.js +0 -58
  47. package/playwright-mcp-test/node_modules/playwright/lib/common/ipc.js +0 -60
  48. package/playwright-mcp-test/node_modules/playwright/lib/common/poolBuilder.js +0 -85
  49. package/playwright-mcp-test/node_modules/playwright/lib/common/process.js +0 -104
  50. package/playwright-mcp-test/node_modules/playwright/lib/common/suiteUtils.js +0 -140
  51. package/playwright-mcp-test/node_modules/playwright/lib/common/test.js +0 -321
  52. package/playwright-mcp-test/node_modules/playwright/lib/common/testLoader.js +0 -101
  53. package/playwright-mcp-test/node_modules/playwright/lib/common/testType.js +0 -298
  54. package/playwright-mcp-test/node_modules/playwright/lib/common/validators.js +0 -68
  55. package/playwright-mcp-test/node_modules/playwright/lib/fsWatcher.js +0 -67
  56. package/playwright-mcp-test/node_modules/playwright/lib/index.js +0 -682
  57. package/playwright-mcp-test/node_modules/playwright/lib/internalsForTest.js +0 -42
  58. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/events.js +0 -77
  59. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/folders.js +0 -30
  60. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/stringInternPool.js +0 -69
  61. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/teleReceiver.js +0 -508
  62. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/teleSuiteUpdater.js +0 -137
  63. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/testServerConnection.js +0 -211
  64. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/testServerInterface.js +0 -16
  65. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/testTree.js +0 -334
  66. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/types.d.js +0 -16
  67. package/playwright-mcp-test/node_modules/playwright/lib/loader/loaderMain.js +0 -59
  68. package/playwright-mcp-test/node_modules/playwright/lib/matchers/expect.js +0 -325
  69. package/playwright-mcp-test/node_modules/playwright/lib/matchers/matcherHint.js +0 -87
  70. package/playwright-mcp-test/node_modules/playwright/lib/matchers/matchers.js +0 -366
  71. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toBeTruthy.js +0 -73
  72. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toEqual.js +0 -99
  73. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toHaveURL.js +0 -102
  74. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toMatchAriaSnapshot.js +0 -159
  75. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toMatchSnapshot.js +0 -341
  76. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toMatchText.js +0 -99
  77. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/actions.d.js +0 -16
  78. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/browserContextFactory.js +0 -296
  79. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/browserServerBackend.js +0 -76
  80. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/codegen.js +0 -66
  81. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/config.js +0 -385
  82. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/context.js +0 -287
  83. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/response.js +0 -228
  84. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/sessionLog.js +0 -160
  85. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tab.js +0 -280
  86. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/common.js +0 -63
  87. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/console.js +0 -44
  88. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/dialogs.js +0 -60
  89. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/evaluate.js +0 -69
  90. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/files.js +0 -58
  91. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/form.js +0 -73
  92. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/install.js +0 -69
  93. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/keyboard.js +0 -84
  94. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/mouse.js +0 -107
  95. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/navigate.js +0 -62
  96. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/network.js +0 -54
  97. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/pdf.js +0 -59
  98. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/screenshot.js +0 -106
  99. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/snapshot.js +0 -181
  100. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/tabs.js +0 -67
  101. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/tool.js +0 -49
  102. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/tracing.js +0 -74
  103. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/utils.js +0 -89
  104. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/verify.js +0 -153
  105. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/wait.js +0 -63
  106. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools.js +0 -80
  107. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/watchdog.js +0 -44
  108. package/playwright-mcp-test/node_modules/playwright/lib/mcp/config.d.js +0 -16
  109. package/playwright-mcp-test/node_modules/playwright/lib/mcp/extension/cdpRelay.js +0 -351
  110. package/playwright-mcp-test/node_modules/playwright/lib/mcp/extension/extensionContextFactory.js +0 -75
  111. package/playwright-mcp-test/node_modules/playwright/lib/mcp/extension/protocol.js +0 -28
  112. package/playwright-mcp-test/node_modules/playwright/lib/mcp/index.js +0 -61
  113. package/playwright-mcp-test/node_modules/playwright/lib/mcp/log.js +0 -35
  114. package/playwright-mcp-test/node_modules/playwright/lib/mcp/program.js +0 -96
  115. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/bundle.js +0 -81
  116. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/exports.js +0 -32
  117. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/http.js +0 -187
  118. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/inProcessTransport.js +0 -71
  119. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/mdb.js +0 -206
  120. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/proxyBackend.js +0 -128
  121. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/server.js +0 -189
  122. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/tool.js +0 -51
  123. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/browserBackend.js +0 -98
  124. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/generatorTools.js +0 -122
  125. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/plannerTools.js +0 -46
  126. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/seed.js +0 -82
  127. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/streams.js +0 -39
  128. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/testBackend.js +0 -97
  129. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/testContext.js +0 -176
  130. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/testTool.js +0 -30
  131. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/testTools.js +0 -115
  132. package/playwright-mcp-test/node_modules/playwright/lib/mcpBundleImpl.js +0 -41
  133. package/playwright-mcp-test/node_modules/playwright/lib/plugins/gitCommitInfoPlugin.js +0 -198
  134. package/playwright-mcp-test/node_modules/playwright/lib/plugins/index.js +0 -28
  135. package/playwright-mcp-test/node_modules/playwright/lib/plugins/webServerPlugin.js +0 -209
  136. package/playwright-mcp-test/node_modules/playwright/lib/program.js +0 -411
  137. package/playwright-mcp-test/node_modules/playwright/lib/reporters/base.js +0 -609
  138. package/playwright-mcp-test/node_modules/playwright/lib/reporters/blob.js +0 -135
  139. package/playwright-mcp-test/node_modules/playwright/lib/reporters/dot.js +0 -82
  140. package/playwright-mcp-test/node_modules/playwright/lib/reporters/empty.js +0 -32
  141. package/playwright-mcp-test/node_modules/playwright/lib/reporters/github.js +0 -128
  142. package/playwright-mcp-test/node_modules/playwright/lib/reporters/html.js +0 -623
  143. package/playwright-mcp-test/node_modules/playwright/lib/reporters/internalReporter.js +0 -130
  144. package/playwright-mcp-test/node_modules/playwright/lib/reporters/json.js +0 -254
  145. package/playwright-mcp-test/node_modules/playwright/lib/reporters/junit.js +0 -232
  146. package/playwright-mcp-test/node_modules/playwright/lib/reporters/line.js +0 -113
  147. package/playwright-mcp-test/node_modules/playwright/lib/reporters/list.js +0 -235
  148. package/playwright-mcp-test/node_modules/playwright/lib/reporters/listModeReporter.js +0 -69
  149. package/playwright-mcp-test/node_modules/playwright/lib/reporters/markdown.js +0 -144
  150. package/playwright-mcp-test/node_modules/playwright/lib/reporters/merge.js +0 -541
  151. package/playwright-mcp-test/node_modules/playwright/lib/reporters/multiplexer.js +0 -104
  152. package/playwright-mcp-test/node_modules/playwright/lib/reporters/reporterV2.js +0 -102
  153. package/playwright-mcp-test/node_modules/playwright/lib/reporters/teleEmitter.js +0 -298
  154. package/playwright-mcp-test/node_modules/playwright/lib/reporters/versions/blobV1.js +0 -16
  155. package/playwright-mcp-test/node_modules/playwright/lib/runner/dispatcher.js +0 -491
  156. package/playwright-mcp-test/node_modules/playwright/lib/runner/failureTracker.js +0 -72
  157. package/playwright-mcp-test/node_modules/playwright/lib/runner/lastRun.js +0 -77
  158. package/playwright-mcp-test/node_modules/playwright/lib/runner/loadUtils.js +0 -334
  159. package/playwright-mcp-test/node_modules/playwright/lib/runner/loaderHost.js +0 -89
  160. package/playwright-mcp-test/node_modules/playwright/lib/runner/processHost.js +0 -161
  161. package/playwright-mcp-test/node_modules/playwright/lib/runner/projectUtils.js +0 -241
  162. package/playwright-mcp-test/node_modules/playwright/lib/runner/rebase.js +0 -189
  163. package/playwright-mcp-test/node_modules/playwright/lib/runner/reporters.js +0 -139
  164. package/playwright-mcp-test/node_modules/playwright/lib/runner/sigIntWatcher.js +0 -96
  165. package/playwright-mcp-test/node_modules/playwright/lib/runner/taskRunner.js +0 -127
  166. package/playwright-mcp-test/node_modules/playwright/lib/runner/tasks.js +0 -410
  167. package/playwright-mcp-test/node_modules/playwright/lib/runner/testGroups.js +0 -117
  168. package/playwright-mcp-test/node_modules/playwright/lib/runner/testRunner.js +0 -390
  169. package/playwright-mcp-test/node_modules/playwright/lib/runner/testServer.js +0 -264
  170. package/playwright-mcp-test/node_modules/playwright/lib/runner/uiModeReporter.js +0 -30
  171. package/playwright-mcp-test/node_modules/playwright/lib/runner/vcs.js +0 -72
  172. package/playwright-mcp-test/node_modules/playwright/lib/runner/watchMode.js +0 -395
  173. package/playwright-mcp-test/node_modules/playwright/lib/runner/workerHost.js +0 -95
  174. package/playwright-mcp-test/node_modules/playwright/lib/third_party/pirates.js +0 -62
  175. package/playwright-mcp-test/node_modules/playwright/lib/third_party/tsconfig-loader.js +0 -103
  176. package/playwright-mcp-test/node_modules/playwright/lib/transform/babelBundle.js +0 -43
  177. package/playwright-mcp-test/node_modules/playwright/lib/transform/babelBundleImpl.js +0 -461
  178. package/playwright-mcp-test/node_modules/playwright/lib/transform/compilationCache.js +0 -272
  179. package/playwright-mcp-test/node_modules/playwright/lib/transform/esmLoader.js +0 -104
  180. package/playwright-mcp-test/node_modules/playwright/lib/transform/portTransport.js +0 -67
  181. package/playwright-mcp-test/node_modules/playwright/lib/transform/transform.js +0 -293
  182. package/playwright-mcp-test/node_modules/playwright/lib/util.js +0 -403
  183. package/playwright-mcp-test/node_modules/playwright/lib/utilsBundle.js +0 -43
  184. package/playwright-mcp-test/node_modules/playwright/lib/utilsBundleImpl.js +0 -100
  185. package/playwright-mcp-test/node_modules/playwright/lib/worker/fixtureRunner.js +0 -258
  186. package/playwright-mcp-test/node_modules/playwright/lib/worker/testInfo.js +0 -514
  187. package/playwright-mcp-test/node_modules/playwright/lib/worker/testTracing.js +0 -344
  188. package/playwright-mcp-test/node_modules/playwright/lib/worker/timeoutManager.js +0 -174
  189. package/playwright-mcp-test/node_modules/playwright/lib/worker/util.js +0 -31
  190. package/playwright-mcp-test/node_modules/playwright/lib/worker/workerMain.js +0 -520
  191. package/playwright-mcp-test/node_modules/playwright/package.json +0 -72
  192. package/playwright-mcp-test/node_modules/playwright/test.d.ts +0 -18
  193. package/playwright-mcp-test/node_modules/playwright/test.js +0 -24
  194. package/playwright-mcp-test/node_modules/playwright/test.mjs +0 -33
  195. package/playwright-mcp-test/node_modules/playwright/types/test.d.ts +0 -10185
  196. package/playwright-mcp-test/node_modules/playwright/types/testReporter.d.ts +0 -821
  197. package/playwright-mcp-test/node_modules/playwright-core/LICENSE +0 -202
  198. package/playwright-mcp-test/node_modules/playwright-core/NOTICE +0 -5
  199. package/playwright-mcp-test/node_modules/playwright-core/README.md +0 -3
  200. package/playwright-mcp-test/node_modules/playwright-core/ThirdPartyNotices.txt +0 -1161
  201. package/playwright-mcp-test/node_modules/playwright-core/bin/install_media_pack.ps1 +0 -5
  202. package/playwright-mcp-test/node_modules/playwright-core/bin/install_webkit_wsl.ps1 +0 -35
  203. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +0 -42
  204. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +0 -13
  205. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 +0 -24
  206. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +0 -42
  207. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +0 -12
  208. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 +0 -24
  209. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +0 -48
  210. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +0 -11
  211. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 +0 -23
  212. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +0 -48
  213. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +0 -11
  214. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 +0 -23
  215. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +0 -48
  216. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +0 -11
  217. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 +0 -24
  218. package/playwright-mcp-test/node_modules/playwright-core/browsers.json +0 -80
  219. package/playwright-mcp-test/node_modules/playwright-core/cli.js +0 -18
  220. package/playwright-mcp-test/node_modules/playwright-core/index.d.ts +0 -17
  221. package/playwright-mcp-test/node_modules/playwright-core/index.js +0 -32
  222. package/playwright-mcp-test/node_modules/playwright-core/index.mjs +0 -28
  223. package/playwright-mcp-test/node_modules/playwright-core/lib/androidServerImpl.js +0 -65
  224. package/playwright-mcp-test/node_modules/playwright-core/lib/browserServerImpl.js +0 -120
  225. package/playwright-mcp-test/node_modules/playwright-core/lib/cli/driver.js +0 -97
  226. package/playwright-mcp-test/node_modules/playwright-core/lib/cli/program.js +0 -634
  227. package/playwright-mcp-test/node_modules/playwright-core/lib/cli/programWithTestStub.js +0 -74
  228. package/playwright-mcp-test/node_modules/playwright-core/lib/client/accessibility.js +0 -49
  229. package/playwright-mcp-test/node_modules/playwright-core/lib/client/android.js +0 -361
  230. package/playwright-mcp-test/node_modules/playwright-core/lib/client/api.js +0 -137
  231. package/playwright-mcp-test/node_modules/playwright-core/lib/client/artifact.js +0 -79
  232. package/playwright-mcp-test/node_modules/playwright-core/lib/client/browser.js +0 -163
  233. package/playwright-mcp-test/node_modules/playwright-core/lib/client/browserContext.js +0 -529
  234. package/playwright-mcp-test/node_modules/playwright-core/lib/client/browserType.js +0 -184
  235. package/playwright-mcp-test/node_modules/playwright-core/lib/client/cdpSession.js +0 -51
  236. package/playwright-mcp-test/node_modules/playwright-core/lib/client/channelOwner.js +0 -194
  237. package/playwright-mcp-test/node_modules/playwright-core/lib/client/clientHelper.js +0 -64
  238. package/playwright-mcp-test/node_modules/playwright-core/lib/client/clientInstrumentation.js +0 -55
  239. package/playwright-mcp-test/node_modules/playwright-core/lib/client/clientStackTrace.js +0 -69
  240. package/playwright-mcp-test/node_modules/playwright-core/lib/client/clock.js +0 -68
  241. package/playwright-mcp-test/node_modules/playwright-core/lib/client/connection.js +0 -314
  242. package/playwright-mcp-test/node_modules/playwright-core/lib/client/consoleMessage.js +0 -54
  243. package/playwright-mcp-test/node_modules/playwright-core/lib/client/coverage.js +0 -44
  244. package/playwright-mcp-test/node_modules/playwright-core/lib/client/dialog.js +0 -56
  245. package/playwright-mcp-test/node_modules/playwright-core/lib/client/download.js +0 -62
  246. package/playwright-mcp-test/node_modules/playwright-core/lib/client/electron.js +0 -138
  247. package/playwright-mcp-test/node_modules/playwright-core/lib/client/elementHandle.js +0 -281
  248. package/playwright-mcp-test/node_modules/playwright-core/lib/client/errors.js +0 -77
  249. package/playwright-mcp-test/node_modules/playwright-core/lib/client/eventEmitter.js +0 -314
  250. package/playwright-mcp-test/node_modules/playwright-core/lib/client/events.js +0 -99
  251. package/playwright-mcp-test/node_modules/playwright-core/lib/client/fetch.js +0 -369
  252. package/playwright-mcp-test/node_modules/playwright-core/lib/client/fileChooser.js +0 -46
  253. package/playwright-mcp-test/node_modules/playwright-core/lib/client/fileUtils.js +0 -34
  254. package/playwright-mcp-test/node_modules/playwright-core/lib/client/frame.js +0 -408
  255. package/playwright-mcp-test/node_modules/playwright-core/lib/client/harRouter.js +0 -87
  256. package/playwright-mcp-test/node_modules/playwright-core/lib/client/input.js +0 -84
  257. package/playwright-mcp-test/node_modules/playwright-core/lib/client/jsHandle.js +0 -109
  258. package/playwright-mcp-test/node_modules/playwright-core/lib/client/jsonPipe.js +0 -39
  259. package/playwright-mcp-test/node_modules/playwright-core/lib/client/localUtils.js +0 -60
  260. package/playwright-mcp-test/node_modules/playwright-core/lib/client/locator.js +0 -369
  261. package/playwright-mcp-test/node_modules/playwright-core/lib/client/network.js +0 -747
  262. package/playwright-mcp-test/node_modules/playwright-core/lib/client/page.js +0 -721
  263. package/playwright-mcp-test/node_modules/playwright-core/lib/client/platform.js +0 -74
  264. package/playwright-mcp-test/node_modules/playwright-core/lib/client/playwright.js +0 -71
  265. package/playwright-mcp-test/node_modules/playwright-core/lib/client/selectors.js +0 -55
  266. package/playwright-mcp-test/node_modules/playwright-core/lib/client/stream.js +0 -39
  267. package/playwright-mcp-test/node_modules/playwright-core/lib/client/timeoutSettings.js +0 -79
  268. package/playwright-mcp-test/node_modules/playwright-core/lib/client/tracing.js +0 -117
  269. package/playwright-mcp-test/node_modules/playwright-core/lib/client/types.js +0 -28
  270. package/playwright-mcp-test/node_modules/playwright-core/lib/client/video.js +0 -59
  271. package/playwright-mcp-test/node_modules/playwright-core/lib/client/waiter.js +0 -142
  272. package/playwright-mcp-test/node_modules/playwright-core/lib/client/webError.js +0 -39
  273. package/playwright-mcp-test/node_modules/playwright-core/lib/client/webSocket.js +0 -93
  274. package/playwright-mcp-test/node_modules/playwright-core/lib/client/worker.js +0 -63
  275. package/playwright-mcp-test/node_modules/playwright-core/lib/client/writableStream.js +0 -39
  276. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/bindingsControllerSource.js +0 -28
  277. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/clockSource.js +0 -28
  278. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/injectedScriptSource.js +0 -28
  279. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/pollingRecorderSource.js +0 -28
  280. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/storageScriptSource.js +0 -28
  281. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/utilityScriptSource.js +0 -28
  282. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/webSocketMockSource.js +0 -336
  283. package/playwright-mcp-test/node_modules/playwright-core/lib/inProcessFactory.js +0 -60
  284. package/playwright-mcp-test/node_modules/playwright-core/lib/inprocess.js +0 -3
  285. package/playwright-mcp-test/node_modules/playwright-core/lib/outofprocess.js +0 -76
  286. package/playwright-mcp-test/node_modules/playwright-core/lib/protocol/serializers.js +0 -192
  287. package/playwright-mcp-test/node_modules/playwright-core/lib/protocol/validator.js +0 -2912
  288. package/playwright-mcp-test/node_modules/playwright-core/lib/protocol/validatorPrimitives.js +0 -193
  289. package/playwright-mcp-test/node_modules/playwright-core/lib/remote/playwrightConnection.js +0 -129
  290. package/playwright-mcp-test/node_modules/playwright-core/lib/remote/playwrightServer.js +0 -335
  291. package/playwright-mcp-test/node_modules/playwright-core/lib/server/accessibility.js +0 -69
  292. package/playwright-mcp-test/node_modules/playwright-core/lib/server/android/android.js +0 -465
  293. package/playwright-mcp-test/node_modules/playwright-core/lib/server/android/backendAdb.js +0 -177
  294. package/playwright-mcp-test/node_modules/playwright-core/lib/server/artifact.js +0 -127
  295. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiBrowser.js +0 -490
  296. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiChromium.js +0 -153
  297. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiConnection.js +0 -212
  298. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiExecutionContext.js +0 -221
  299. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiFirefox.js +0 -130
  300. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiInput.js +0 -146
  301. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiNetworkManager.js +0 -383
  302. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiOverCdp.js +0 -102
  303. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiPage.js +0 -554
  304. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiPdf.js +0 -106
  305. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiCommands.d.js +0 -22
  306. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiDeserializer.js +0 -98
  307. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiKeyboard.js +0 -256
  308. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocol.js +0 -24
  309. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocolCore.js +0 -179
  310. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocolPermissions.js +0 -42
  311. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiSerializer.js +0 -148
  312. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/firefoxPrefs.js +0 -259
  313. package/playwright-mcp-test/node_modules/playwright-core/lib/server/browser.js +0 -149
  314. package/playwright-mcp-test/node_modules/playwright-core/lib/server/browserContext.js +0 -695
  315. package/playwright-mcp-test/node_modules/playwright-core/lib/server/browserType.js +0 -328
  316. package/playwright-mcp-test/node_modules/playwright-core/lib/server/callLog.js +0 -82
  317. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/appIcon.png +0 -0
  318. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/chromium.js +0 -402
  319. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/chromiumSwitches.js +0 -95
  320. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crAccessibility.js +0 -263
  321. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crBrowser.js +0 -502
  322. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crConnection.js +0 -202
  323. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crCoverage.js +0 -235
  324. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crDevTools.js +0 -113
  325. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crDragDrop.js +0 -131
  326. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crExecutionContext.js +0 -146
  327. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crInput.js +0 -187
  328. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crNetworkManager.js +0 -666
  329. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crPage.js +0 -1069
  330. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crPdf.js +0 -121
  331. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crProtocolHelper.js +0 -145
  332. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crServiceWorker.js +0 -123
  333. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/defaultFontFamilies.js +0 -162
  334. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/protocol.d.js +0 -16
  335. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/videoRecorder.js +0 -113
  336. package/playwright-mcp-test/node_modules/playwright-core/lib/server/clock.js +0 -149
  337. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/csharp.js +0 -327
  338. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/java.js +0 -274
  339. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/javascript.js +0 -270
  340. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/jsonl.js +0 -52
  341. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/language.js +0 -132
  342. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/languages.js +0 -68
  343. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/python.js +0 -279
  344. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/types.js +0 -16
  345. package/playwright-mcp-test/node_modules/playwright-core/lib/server/console.js +0 -53
  346. package/playwright-mcp-test/node_modules/playwright-core/lib/server/cookieStore.js +0 -206
  347. package/playwright-mcp-test/node_modules/playwright-core/lib/server/debugController.js +0 -191
  348. package/playwright-mcp-test/node_modules/playwright-core/lib/server/debugger.js +0 -119
  349. package/playwright-mcp-test/node_modules/playwright-core/lib/server/deviceDescriptors.js +0 -39
  350. package/playwright-mcp-test/node_modules/playwright-core/lib/server/deviceDescriptorsSource.json +0 -1779
  351. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dialog.js +0 -116
  352. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/androidDispatcher.js +0 -325
  353. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/artifactDispatcher.js +0 -118
  354. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/browserContextDispatcher.js +0 -364
  355. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/browserDispatcher.js +0 -118
  356. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/browserTypeDispatcher.js +0 -64
  357. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/cdpSessionDispatcher.js +0 -44
  358. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/debugControllerDispatcher.js +0 -78
  359. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/dialogDispatcher.js +0 -47
  360. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/dispatcher.js +0 -371
  361. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/electronDispatcher.js +0 -89
  362. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/elementHandlerDispatcher.js +0 -181
  363. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/frameDispatcher.js +0 -227
  364. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/jsHandleDispatcher.js +0 -85
  365. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/jsonPipeDispatcher.js +0 -58
  366. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/localUtilsDispatcher.js +0 -149
  367. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/networkDispatchers.js +0 -213
  368. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/pageDispatcher.js +0 -401
  369. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/playwrightDispatcher.js +0 -108
  370. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/streamDispatcher.js +0 -67
  371. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/tracingDispatcher.js +0 -68
  372. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/webSocketRouteDispatcher.js +0 -165
  373. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/writableStreamDispatcher.js +0 -79
  374. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dom.js +0 -806
  375. package/playwright-mcp-test/node_modules/playwright-core/lib/server/download.js +0 -70
  376. package/playwright-mcp-test/node_modules/playwright-core/lib/server/electron/electron.js +0 -270
  377. package/playwright-mcp-test/node_modules/playwright-core/lib/server/electron/loader.js +0 -29
  378. package/playwright-mcp-test/node_modules/playwright-core/lib/server/errors.js +0 -69
  379. package/playwright-mcp-test/node_modules/playwright-core/lib/server/fetch.js +0 -621
  380. package/playwright-mcp-test/node_modules/playwright-core/lib/server/fileChooser.js +0 -43
  381. package/playwright-mcp-test/node_modules/playwright-core/lib/server/fileUploadUtils.js +0 -84
  382. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffAccessibility.js +0 -238
  383. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffBrowser.js +0 -428
  384. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffConnection.js +0 -147
  385. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffExecutionContext.js +0 -150
  386. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffInput.js +0 -159
  387. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffNetworkManager.js +0 -256
  388. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffPage.js +0 -503
  389. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/firefox.js +0 -116
  390. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/protocol.d.js +0 -16
  391. package/playwright-mcp-test/node_modules/playwright-core/lib/server/formData.js +0 -147
  392. package/playwright-mcp-test/node_modules/playwright-core/lib/server/frameSelectors.js +0 -154
  393. package/playwright-mcp-test/node_modules/playwright-core/lib/server/frames.js +0 -1455
  394. package/playwright-mcp-test/node_modules/playwright-core/lib/server/har/harRecorder.js +0 -147
  395. package/playwright-mcp-test/node_modules/playwright-core/lib/server/har/harTracer.js +0 -607
  396. package/playwright-mcp-test/node_modules/playwright-core/lib/server/harBackend.js +0 -157
  397. package/playwright-mcp-test/node_modules/playwright-core/lib/server/helper.js +0 -96
  398. package/playwright-mcp-test/node_modules/playwright-core/lib/server/index.js +0 -58
  399. package/playwright-mcp-test/node_modules/playwright-core/lib/server/input.js +0 -273
  400. package/playwright-mcp-test/node_modules/playwright-core/lib/server/instrumentation.js +0 -69
  401. package/playwright-mcp-test/node_modules/playwright-core/lib/server/javascript.js +0 -291
  402. package/playwright-mcp-test/node_modules/playwright-core/lib/server/launchApp.js +0 -128
  403. package/playwright-mcp-test/node_modules/playwright-core/lib/server/localUtils.js +0 -214
  404. package/playwright-mcp-test/node_modules/playwright-core/lib/server/macEditingCommands.js +0 -143
  405. package/playwright-mcp-test/node_modules/playwright-core/lib/server/network.js +0 -629
  406. package/playwright-mcp-test/node_modules/playwright-core/lib/server/page.js +0 -867
  407. package/playwright-mcp-test/node_modules/playwright-core/lib/server/pipeTransport.js +0 -89
  408. package/playwright-mcp-test/node_modules/playwright-core/lib/server/playwright.js +0 -69
  409. package/playwright-mcp-test/node_modules/playwright-core/lib/server/progress.js +0 -112
  410. package/playwright-mcp-test/node_modules/playwright-core/lib/server/protocolError.js +0 -52
  411. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/chat.js +0 -161
  412. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/recorderApp.js +0 -387
  413. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/recorderRunner.js +0 -138
  414. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/recorderSignalProcessor.js +0 -83
  415. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/recorderUtils.js +0 -157
  416. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/throttledFile.js +0 -57
  417. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder.js +0 -499
  418. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/browserFetcher.js +0 -175
  419. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/dependencies.js +0 -371
  420. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/index.js +0 -1361
  421. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/nativeDeps.js +0 -1280
  422. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/oopDownloadBrowserMain.js +0 -124
  423. package/playwright-mcp-test/node_modules/playwright-core/lib/server/screenshotter.js +0 -333
  424. package/playwright-mcp-test/node_modules/playwright-core/lib/server/selectors.js +0 -112
  425. package/playwright-mcp-test/node_modules/playwright-core/lib/server/socksClientCertificatesInterceptor.js +0 -383
  426. package/playwright-mcp-test/node_modules/playwright-core/lib/server/socksInterceptor.js +0 -95
  427. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/recorder/snapshotter.js +0 -147
  428. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/recorder/snapshotterInjected.js +0 -541
  429. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/recorder/tracing.js +0 -602
  430. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/test/inMemorySnapshotter.js +0 -87
  431. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/viewer/traceViewer.js +0 -230
  432. package/playwright-mcp-test/node_modules/playwright-core/lib/server/transport.js +0 -181
  433. package/playwright-mcp-test/node_modules/playwright-core/lib/server/types.js +0 -28
  434. package/playwright-mcp-test/node_modules/playwright-core/lib/server/usKeyboardLayout.js +0 -145
  435. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/ascii.js +0 -44
  436. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/comparators.js +0 -139
  437. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/crypto.js +0 -216
  438. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/debug.js +0 -42
  439. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/debugLogger.js +0 -122
  440. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/env.js +0 -73
  441. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/eventsHelper.js +0 -39
  442. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/expectUtils.js +0 -38
  443. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/fileUtils.js +0 -191
  444. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/happyEyeballs.js +0 -207
  445. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/hostPlatform.js +0 -123
  446. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/httpServer.js +0 -218
  447. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/imageUtils.js +0 -146
  448. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/image_tools/colorUtils.js +0 -89
  449. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/image_tools/compare.js +0 -109
  450. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/image_tools/imageChannel.js +0 -78
  451. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/image_tools/stats.js +0 -102
  452. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/linuxUtils.js +0 -71
  453. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/network.js +0 -233
  454. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/nodePlatform.js +0 -148
  455. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/pipeTransport.js +0 -84
  456. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/processLauncher.js +0 -241
  457. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/profiler.js +0 -65
  458. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/socksProxy.js +0 -511
  459. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/spawnAsync.js +0 -41
  460. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/task.js +0 -51
  461. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/userAgent.js +0 -98
  462. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/wsServer.js +0 -121
  463. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/zipFile.js +0 -74
  464. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/zones.js +0 -57
  465. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/protocol.d.js +0 -16
  466. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/webkit.js +0 -119
  467. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkAccessibility.js +0 -237
  468. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkBrowser.js +0 -339
  469. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkConnection.js +0 -149
  470. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkExecutionContext.js +0 -154
  471. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkInput.js +0 -181
  472. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkInterceptableRequest.js +0 -169
  473. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkPage.js +0 -1134
  474. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkProvisionalPage.js +0 -83
  475. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkWorkers.js +0 -104
  476. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wsl/webkit-wsl-transport-client.js +0 -74
  477. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wsl/webkit-wsl-transport-server.js +0 -113
  478. package/playwright-mcp-test/node_modules/playwright-core/lib/third_party/pixelmatch.js +0 -255
  479. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/ariaSnapshot.js +0 -392
  480. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/assert.js +0 -31
  481. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/colors.js +0 -72
  482. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/cssParser.js +0 -245
  483. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/cssTokenizer.js +0 -1051
  484. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/headers.js +0 -53
  485. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/locatorGenerators.js +0 -689
  486. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/locatorParser.js +0 -176
  487. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/locatorUtils.js +0 -81
  488. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/manualPromise.js +0 -114
  489. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/mimeType.js +0 -459
  490. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/multimap.js +0 -80
  491. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/protocolFormatter.js +0 -81
  492. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/protocolMetainfo.js +0 -321
  493. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/rtti.js +0 -43
  494. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/selectorParser.js +0 -386
  495. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/semaphore.js +0 -54
  496. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/stackTrace.js +0 -158
  497. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/stringUtils.js +0 -155
  498. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/time.js +0 -49
  499. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/timeoutRunner.js +0 -66
  500. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/traceUtils.js +0 -58
  501. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/types.js +0 -16
  502. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/urlMatch.js +0 -179
  503. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/utilityScriptSerializers.js +0 -251
  504. package/playwright-mcp-test/node_modules/playwright-core/lib/utils.js +0 -109
  505. package/playwright-mcp-test/node_modules/playwright-core/lib/utilsBundle.js +0 -112
  506. package/playwright-mcp-test/node_modules/playwright-core/lib/utilsBundleImpl/index.js +0 -218
  507. package/playwright-mcp-test/node_modules/playwright-core/lib/utilsBundleImpl/xdg-open +0 -1066
  508. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/htmlReport/index.html +0 -84
  509. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +0 -1
  510. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-DX585GyR.js +0 -25
  511. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  512. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/index-DjadjNw5.js +0 -193
  513. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/index-Ri0uHF7I.css +0 -1
  514. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/index.html +0 -29
  515. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg +0 -9
  516. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-Cw-6jrKz.js +0 -25
  517. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-BZIhX7gh.js +0 -266
  518. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +0 -9
  519. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +0 -1
  520. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  521. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.BEjzWGz-.css +0 -1
  522. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/index.Dk_obRs3.js +0 -2
  523. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/index.I8N9v4jT.css +0 -1
  524. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/index.html +0 -43
  525. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/manifest.webmanifest +0 -16
  526. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg +0 -9
  527. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html +0 -21
  528. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +0 -3
  529. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/uiMode.Bai-qGIw.js +0 -5
  530. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/uiMode.Btcz36p_.css +0 -1
  531. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +0 -17
  532. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +0 -32
  533. package/playwright-mcp-test/node_modules/playwright-core/lib/zipBundle.js +0 -34
  534. package/playwright-mcp-test/node_modules/playwright-core/lib/zipBundleImpl.js +0 -5
  535. package/playwright-mcp-test/node_modules/playwright-core/package.json +0 -42
  536. package/playwright-mcp-test/node_modules/playwright-core/types/protocol.d.ts +0 -23130
  537. package/playwright-mcp-test/node_modules/playwright-core/types/structs.d.ts +0 -45
  538. package/playwright-mcp-test/node_modules/playwright-core/types/types.d.ts +0 -22872
  539. package/playwright-mcp-test/package-lock.json +0 -76
@@ -1,1361 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var registry_exports = {};
30
- __export(registry_exports, {
31
- Registry: () => Registry,
32
- browserDirectoryToMarkerFilePath: () => browserDirectoryToMarkerFilePath,
33
- buildPlaywrightCLICommand: () => buildPlaywrightCLICommand,
34
- findChromiumChannelBestEffort: () => findChromiumChannelBestEffort,
35
- installBrowsersForNpmInstall: () => installBrowsersForNpmInstall,
36
- registry: () => registry,
37
- registryDirectory: () => registryDirectory,
38
- writeDockerVersion: () => import_dependencies3.writeDockerVersion
39
- });
40
- module.exports = __toCommonJS(registry_exports);
41
- var import_fs = __toESM(require("fs"));
42
- var import_os = __toESM(require("os"));
43
- var import_path = __toESM(require("path"));
44
- var util = __toESM(require("util"));
45
- var import_browserFetcher = require("./browserFetcher");
46
- var import_dependencies = require("./dependencies");
47
- var import_dependencies2 = require("./dependencies");
48
- var import_utils = require("../../utils");
49
- var import_ascii = require("../utils/ascii");
50
- var import_debugLogger = require("../utils/debugLogger");
51
- var import_hostPlatform = require("../utils/hostPlatform");
52
- var import_network = require("../utils/network");
53
- var import_spawnAsync = require("../utils/spawnAsync");
54
- var import_userAgent = require("../utils/userAgent");
55
- var import_utilsBundle = require("../../utilsBundle");
56
- var import_fileUtils = require("../utils/fileUtils");
57
- var import_dependencies3 = require("./dependencies");
58
- const PACKAGE_PATH = import_path.default.join(__dirname, "..", "..", "..");
59
- const BIN_PATH = import_path.default.join(__dirname, "..", "..", "..", "bin");
60
- const PLAYWRIGHT_CDN_MIRRORS = [
61
- "https://cdn.playwright.dev/dbazure/download/playwright",
62
- // ESRP CDN
63
- "https://playwright.download.prss.microsoft.com/dbazure/download/playwright",
64
- // Directly hit ESRP CDN
65
- "https://cdn.playwright.dev"
66
- // Hit the Storage Bucket directly
67
- ];
68
- if (process.env.PW_TEST_CDN_THAT_SHOULD_WORK) {
69
- for (let i = 0; i < PLAYWRIGHT_CDN_MIRRORS.length; i++) {
70
- const cdn = PLAYWRIGHT_CDN_MIRRORS[i];
71
- if (cdn !== process.env.PW_TEST_CDN_THAT_SHOULD_WORK) {
72
- const parsedCDN = new URL(cdn);
73
- parsedCDN.hostname = parsedCDN.hostname + ".does-not-resolve.playwright.dev";
74
- PLAYWRIGHT_CDN_MIRRORS[i] = parsedCDN.toString();
75
- }
76
- }
77
- }
78
- const EXECUTABLE_PATHS = {
79
- "chromium": {
80
- "<unknown>": void 0,
81
- "linux-x64": ["chrome-linux", "chrome"],
82
- "linux-arm64": ["chrome-linux", "chrome"],
83
- "mac-x64": ["chrome-mac", "Chromium.app", "Contents", "MacOS", "Chromium"],
84
- "mac-arm64": ["chrome-mac", "Chromium.app", "Contents", "MacOS", "Chromium"],
85
- "win-x64": ["chrome-win", "chrome.exe"]
86
- },
87
- "chromium-headless-shell": {
88
- "<unknown>": void 0,
89
- "linux-x64": ["chrome-linux", "headless_shell"],
90
- "linux-arm64": ["chrome-linux", "headless_shell"],
91
- "mac-x64": ["chrome-mac", "headless_shell"],
92
- "mac-arm64": ["chrome-mac", "headless_shell"],
93
- "win-x64": ["chrome-win", "headless_shell.exe"]
94
- },
95
- "chromium-tip-of-tree": {
96
- "<unknown>": void 0,
97
- "linux-x64": ["chrome-linux64", "chrome"],
98
- "linux-arm64": ["chrome-linux", "chrome"],
99
- // non-cft build
100
- "mac-x64": ["chrome-mac-x64", "Google Chrome for Testing.app", "Contents", "MacOS", "Google Chrome for Testing"],
101
- "mac-arm64": ["chrome-mac-arm64", "Google Chrome for Testing.app", "Contents", "MacOS", "Google Chrome for Testing"],
102
- "win-x64": ["chrome-win64", "chrome.exe"]
103
- },
104
- "chromium-tip-of-tree-headless-shell": {
105
- "<unknown>": void 0,
106
- "linux-x64": ["chrome-headless-shell-linux64", "chrome-headless-shell"],
107
- "linux-arm64": ["chrome-linux", "chrome"],
108
- // non-cft build
109
- "mac-x64": ["chrome-headless-shell-mac-x64", "chrome-headless-shell"],
110
- "mac-arm64": ["chrome-headless-shell-mac-arm64", "chrome-headless-shell"],
111
- "win-x64": ["chrome-headless-shell-win64", "chrome-headless-shell.exe"]
112
- },
113
- "firefox": {
114
- "<unknown>": void 0,
115
- "linux-x64": ["firefox", "firefox"],
116
- "linux-arm64": ["firefox", "firefox"],
117
- "mac-x64": ["firefox", "Nightly.app", "Contents", "MacOS", "firefox"],
118
- "mac-arm64": ["firefox", "Nightly.app", "Contents", "MacOS", "firefox"],
119
- "win-x64": ["firefox", "firefox.exe"]
120
- },
121
- "webkit": {
122
- "<unknown>": void 0,
123
- "linux-x64": ["pw_run.sh"],
124
- "linux-arm64": ["pw_run.sh"],
125
- "mac-x64": ["pw_run.sh"],
126
- "mac-arm64": ["pw_run.sh"],
127
- "win-x64": ["Playwright.exe"]
128
- },
129
- "ffmpeg": {
130
- "<unknown>": void 0,
131
- "linux-x64": ["ffmpeg-linux"],
132
- "linux-arm64": ["ffmpeg-linux"],
133
- "mac-x64": ["ffmpeg-mac"],
134
- "mac-arm64": ["ffmpeg-mac"],
135
- "win-x64": ["ffmpeg-win64.exe"]
136
- },
137
- "winldd": {
138
- "<unknown>": void 0,
139
- "linux-x64": void 0,
140
- "linux-arm64": void 0,
141
- "mac-x64": void 0,
142
- "mac-arm64": void 0,
143
- "win-x64": ["PrintDeps.exe"]
144
- }
145
- };
146
- const DOWNLOAD_PATHS = {
147
- "chromium": {
148
- "<unknown>": void 0,
149
- "ubuntu18.04-x64": void 0,
150
- "ubuntu20.04-x64": "builds/chromium/%s/chromium-linux.zip",
151
- "ubuntu22.04-x64": "builds/chromium/%s/chromium-linux.zip",
152
- "ubuntu24.04-x64": "builds/chromium/%s/chromium-linux.zip",
153
- "ubuntu18.04-arm64": void 0,
154
- "ubuntu20.04-arm64": "builds/chromium/%s/chromium-linux-arm64.zip",
155
- "ubuntu22.04-arm64": "builds/chromium/%s/chromium-linux-arm64.zip",
156
- "ubuntu24.04-arm64": "builds/chromium/%s/chromium-linux-arm64.zip",
157
- "debian11-x64": "builds/chromium/%s/chromium-linux.zip",
158
- "debian11-arm64": "builds/chromium/%s/chromium-linux-arm64.zip",
159
- "debian12-x64": "builds/chromium/%s/chromium-linux.zip",
160
- "debian12-arm64": "builds/chromium/%s/chromium-linux-arm64.zip",
161
- "debian13-x64": "builds/chromium/%s/chromium-linux.zip",
162
- "debian13-arm64": "builds/chromium/%s/chromium-linux-arm64.zip",
163
- "mac10.13": "builds/chromium/%s/chromium-mac.zip",
164
- "mac10.14": "builds/chromium/%s/chromium-mac.zip",
165
- "mac10.15": "builds/chromium/%s/chromium-mac.zip",
166
- "mac11": "builds/chromium/%s/chromium-mac.zip",
167
- "mac11-arm64": "builds/chromium/%s/chromium-mac-arm64.zip",
168
- "mac12": "builds/chromium/%s/chromium-mac.zip",
169
- "mac12-arm64": "builds/chromium/%s/chromium-mac-arm64.zip",
170
- "mac13": "builds/chromium/%s/chromium-mac.zip",
171
- "mac13-arm64": "builds/chromium/%s/chromium-mac-arm64.zip",
172
- "mac14": "builds/chromium/%s/chromium-mac.zip",
173
- "mac14-arm64": "builds/chromium/%s/chromium-mac-arm64.zip",
174
- "mac15": "builds/chromium/%s/chromium-mac.zip",
175
- "mac15-arm64": "builds/chromium/%s/chromium-mac-arm64.zip",
176
- "win64": "builds/chromium/%s/chromium-win64.zip"
177
- },
178
- "chromium-headless-shell": {
179
- "<unknown>": void 0,
180
- "ubuntu18.04-x64": void 0,
181
- "ubuntu20.04-x64": "builds/chromium/%s/chromium-headless-shell-linux.zip",
182
- "ubuntu22.04-x64": "builds/chromium/%s/chromium-headless-shell-linux.zip",
183
- "ubuntu24.04-x64": "builds/chromium/%s/chromium-headless-shell-linux.zip",
184
- "ubuntu18.04-arm64": void 0,
185
- "ubuntu20.04-arm64": "builds/chromium/%s/chromium-headless-shell-linux-arm64.zip",
186
- "ubuntu22.04-arm64": "builds/chromium/%s/chromium-headless-shell-linux-arm64.zip",
187
- "ubuntu24.04-arm64": "builds/chromium/%s/chromium-headless-shell-linux-arm64.zip",
188
- "debian11-x64": "builds/chromium/%s/chromium-headless-shell-linux.zip",
189
- "debian11-arm64": "builds/chromium/%s/chromium-headless-shell-linux-arm64.zip",
190
- "debian12-x64": "builds/chromium/%s/chromium-headless-shell-linux.zip",
191
- "debian12-arm64": "builds/chromium/%s/chromium-headless-shell-linux-arm64.zip",
192
- "debian13-x64": "builds/chromium/%s/chromium-headless-shell-linux.zip",
193
- "debian13-arm64": "builds/chromium/%s/chromium-headless-shell-linux-arm64.zip",
194
- "mac10.13": void 0,
195
- "mac10.14": void 0,
196
- "mac10.15": void 0,
197
- "mac11": "builds/chromium/%s/chromium-headless-shell-mac.zip",
198
- "mac11-arm64": "builds/chromium/%s/chromium-headless-shell-mac-arm64.zip",
199
- "mac12": "builds/chromium/%s/chromium-headless-shell-mac.zip",
200
- "mac12-arm64": "builds/chromium/%s/chromium-headless-shell-mac-arm64.zip",
201
- "mac13": "builds/chromium/%s/chromium-headless-shell-mac.zip",
202
- "mac13-arm64": "builds/chromium/%s/chromium-headless-shell-mac-arm64.zip",
203
- "mac14": "builds/chromium/%s/chromium-headless-shell-mac.zip",
204
- "mac14-arm64": "builds/chromium/%s/chromium-headless-shell-mac-arm64.zip",
205
- "mac15": "builds/chromium/%s/chromium-headless-shell-mac.zip",
206
- "mac15-arm64": "builds/chromium/%s/chromium-headless-shell-mac-arm64.zip",
207
- "win64": "builds/chromium/%s/chromium-headless-shell-win64.zip"
208
- },
209
- "chromium-tip-of-tree": {
210
- "<unknown>": void 0,
211
- "ubuntu18.04-x64": void 0,
212
- "ubuntu20.04-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip",
213
- "ubuntu22.04-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip",
214
- "ubuntu24.04-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip",
215
- "ubuntu18.04-arm64": void 0,
216
- "ubuntu20.04-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip",
217
- "ubuntu22.04-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip",
218
- "ubuntu24.04-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip",
219
- "debian11-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip",
220
- "debian11-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip",
221
- "debian12-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip",
222
- "debian12-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip",
223
- "debian13-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip",
224
- "debian13-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip",
225
- "mac10.13": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip",
226
- "mac10.14": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip",
227
- "mac10.15": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip",
228
- "mac11": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip",
229
- "mac11-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip",
230
- "mac12": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip",
231
- "mac12-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip",
232
- "mac13": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip",
233
- "mac13-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip",
234
- "mac14": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip",
235
- "mac14-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip",
236
- "mac15": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip",
237
- "mac15-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip",
238
- "win64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-win64.zip"
239
- },
240
- "chromium-tip-of-tree-headless-shell": {
241
- "<unknown>": void 0,
242
- "ubuntu18.04-x64": void 0,
243
- "ubuntu20.04-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux.zip",
244
- "ubuntu22.04-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux.zip",
245
- "ubuntu24.04-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux.zip",
246
- "ubuntu18.04-arm64": void 0,
247
- "ubuntu20.04-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip",
248
- "ubuntu22.04-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip",
249
- "ubuntu24.04-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip",
250
- "debian11-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux.zip",
251
- "debian11-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip",
252
- "debian12-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux.zip",
253
- "debian12-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip",
254
- "debian13-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux.zip",
255
- "debian13-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip",
256
- "mac10.13": void 0,
257
- "mac10.14": void 0,
258
- "mac10.15": void 0,
259
- "mac11": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-mac.zip",
260
- "mac11-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-mac-arm64.zip",
261
- "mac12": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-mac.zip",
262
- "mac12-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-mac-arm64.zip",
263
- "mac13": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-mac.zip",
264
- "mac13-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-mac-arm64.zip",
265
- "mac14": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-mac.zip",
266
- "mac14-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-mac-arm64.zip",
267
- "mac15": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-mac.zip",
268
- "mac15-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-mac-arm64.zip",
269
- "win64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-win64.zip"
270
- },
271
- "firefox": {
272
- "<unknown>": void 0,
273
- "ubuntu18.04-x64": void 0,
274
- "ubuntu20.04-x64": "builds/firefox/%s/firefox-ubuntu-20.04.zip",
275
- "ubuntu22.04-x64": "builds/firefox/%s/firefox-ubuntu-22.04.zip",
276
- "ubuntu24.04-x64": "builds/firefox/%s/firefox-ubuntu-24.04.zip",
277
- "ubuntu18.04-arm64": void 0,
278
- "ubuntu20.04-arm64": "builds/firefox/%s/firefox-ubuntu-20.04-arm64.zip",
279
- "ubuntu22.04-arm64": "builds/firefox/%s/firefox-ubuntu-22.04-arm64.zip",
280
- "ubuntu24.04-arm64": "builds/firefox/%s/firefox-ubuntu-24.04-arm64.zip",
281
- "debian11-x64": "builds/firefox/%s/firefox-debian-11.zip",
282
- "debian11-arm64": "builds/firefox/%s/firefox-debian-11-arm64.zip",
283
- "debian12-x64": "builds/firefox/%s/firefox-debian-12.zip",
284
- "debian12-arm64": "builds/firefox/%s/firefox-debian-12-arm64.zip",
285
- "debian13-x64": "builds/firefox/%s/firefox-debian-13.zip",
286
- "debian13-arm64": "builds/firefox/%s/firefox-debian-13-arm64.zip",
287
- "mac10.13": "builds/firefox/%s/firefox-mac.zip",
288
- "mac10.14": "builds/firefox/%s/firefox-mac.zip",
289
- "mac10.15": "builds/firefox/%s/firefox-mac.zip",
290
- "mac11": "builds/firefox/%s/firefox-mac.zip",
291
- "mac11-arm64": "builds/firefox/%s/firefox-mac-arm64.zip",
292
- "mac12": "builds/firefox/%s/firefox-mac.zip",
293
- "mac12-arm64": "builds/firefox/%s/firefox-mac-arm64.zip",
294
- "mac13": "builds/firefox/%s/firefox-mac.zip",
295
- "mac13-arm64": "builds/firefox/%s/firefox-mac-arm64.zip",
296
- "mac14": "builds/firefox/%s/firefox-mac.zip",
297
- "mac14-arm64": "builds/firefox/%s/firefox-mac-arm64.zip",
298
- "mac15": "builds/firefox/%s/firefox-mac.zip",
299
- "mac15-arm64": "builds/firefox/%s/firefox-mac-arm64.zip",
300
- "win64": "builds/firefox/%s/firefox-win64.zip"
301
- },
302
- "firefox-beta": {
303
- "<unknown>": void 0,
304
- "ubuntu18.04-x64": void 0,
305
- "ubuntu20.04-x64": "builds/firefox-beta/%s/firefox-beta-ubuntu-20.04.zip",
306
- "ubuntu22.04-x64": "builds/firefox-beta/%s/firefox-beta-ubuntu-22.04.zip",
307
- "ubuntu24.04-x64": "builds/firefox-beta/%s/firefox-beta-ubuntu-24.04.zip",
308
- "ubuntu18.04-arm64": void 0,
309
- "ubuntu20.04-arm64": void 0,
310
- "ubuntu22.04-arm64": "builds/firefox-beta/%s/firefox-beta-ubuntu-22.04-arm64.zip",
311
- "ubuntu24.04-arm64": "builds/firefox-beta/%s/firefox-beta-ubuntu-24.04-arm64.zip",
312
- "debian11-x64": "builds/firefox-beta/%s/firefox-beta-debian-11.zip",
313
- "debian11-arm64": "builds/firefox-beta/%s/firefox-beta-debian-11-arm64.zip",
314
- "debian12-x64": "builds/firefox-beta/%s/firefox-beta-debian-12.zip",
315
- "debian12-arm64": "builds/firefox-beta/%s/firefox-beta-debian-12-arm64.zip",
316
- "debian13-x64": "builds/firefox-beta/%s/firefox-beta-debian-12.zip",
317
- "debian13-arm64": "builds/firefox-beta/%s/firefox-beta-debian-12-arm64.zip",
318
- "mac10.13": "builds/firefox-beta/%s/firefox-beta-mac.zip",
319
- "mac10.14": "builds/firefox-beta/%s/firefox-beta-mac.zip",
320
- "mac10.15": "builds/firefox-beta/%s/firefox-beta-mac.zip",
321
- "mac11": "builds/firefox-beta/%s/firefox-beta-mac.zip",
322
- "mac11-arm64": "builds/firefox-beta/%s/firefox-beta-mac-arm64.zip",
323
- "mac12": "builds/firefox-beta/%s/firefox-beta-mac.zip",
324
- "mac12-arm64": "builds/firefox-beta/%s/firefox-beta-mac-arm64.zip",
325
- "mac13": "builds/firefox-beta/%s/firefox-beta-mac.zip",
326
- "mac13-arm64": "builds/firefox-beta/%s/firefox-beta-mac-arm64.zip",
327
- "mac14": "builds/firefox-beta/%s/firefox-beta-mac.zip",
328
- "mac14-arm64": "builds/firefox-beta/%s/firefox-beta-mac-arm64.zip",
329
- "mac15": "builds/firefox-beta/%s/firefox-beta-mac.zip",
330
- "mac15-arm64": "builds/firefox-beta/%s/firefox-beta-mac-arm64.zip",
331
- "win64": "builds/firefox-beta/%s/firefox-beta-win64.zip"
332
- },
333
- "webkit": {
334
- "<unknown>": void 0,
335
- "ubuntu18.04-x64": void 0,
336
- "ubuntu20.04-x64": "builds/webkit/%s/webkit-ubuntu-20.04.zip",
337
- "ubuntu22.04-x64": "builds/webkit/%s/webkit-ubuntu-22.04.zip",
338
- "ubuntu24.04-x64": "builds/webkit/%s/webkit-ubuntu-24.04.zip",
339
- "ubuntu18.04-arm64": void 0,
340
- "ubuntu20.04-arm64": "builds/webkit/%s/webkit-ubuntu-20.04-arm64.zip",
341
- "ubuntu22.04-arm64": "builds/webkit/%s/webkit-ubuntu-22.04-arm64.zip",
342
- "ubuntu24.04-arm64": "builds/webkit/%s/webkit-ubuntu-24.04-arm64.zip",
343
- "debian11-x64": "builds/webkit/%s/webkit-debian-11.zip",
344
- "debian11-arm64": "builds/webkit/%s/webkit-debian-11-arm64.zip",
345
- "debian12-x64": "builds/webkit/%s/webkit-debian-12.zip",
346
- "debian12-arm64": "builds/webkit/%s/webkit-debian-12-arm64.zip",
347
- "debian13-x64": "builds/webkit/%s/webkit-debian-13.zip",
348
- "debian13-arm64": "builds/webkit/%s/webkit-debian-13-arm64.zip",
349
- "mac10.13": void 0,
350
- "mac10.14": "builds/deprecated-webkit-mac-10.14/%s/deprecated-webkit-mac-10.14.zip",
351
- "mac10.15": "builds/deprecated-webkit-mac-10.15/%s/deprecated-webkit-mac-10.15.zip",
352
- "mac11": "builds/webkit/%s/webkit-mac-11.zip",
353
- "mac11-arm64": "builds/webkit/%s/webkit-mac-11-arm64.zip",
354
- "mac12": "builds/webkit/%s/webkit-mac-12.zip",
355
- "mac12-arm64": "builds/webkit/%s/webkit-mac-12-arm64.zip",
356
- "mac13": "builds/webkit/%s/webkit-mac-13.zip",
357
- "mac13-arm64": "builds/webkit/%s/webkit-mac-13-arm64.zip",
358
- "mac14": "builds/webkit/%s/webkit-mac-14.zip",
359
- "mac14-arm64": "builds/webkit/%s/webkit-mac-14-arm64.zip",
360
- "mac15": "builds/webkit/%s/webkit-mac-15.zip",
361
- "mac15-arm64": "builds/webkit/%s/webkit-mac-15-arm64.zip",
362
- "win64": "builds/webkit/%s/webkit-win64.zip"
363
- },
364
- "ffmpeg": {
365
- "<unknown>": void 0,
366
- "ubuntu18.04-x64": void 0,
367
- "ubuntu20.04-x64": "builds/ffmpeg/%s/ffmpeg-linux.zip",
368
- "ubuntu22.04-x64": "builds/ffmpeg/%s/ffmpeg-linux.zip",
369
- "ubuntu24.04-x64": "builds/ffmpeg/%s/ffmpeg-linux.zip",
370
- "ubuntu18.04-arm64": void 0,
371
- "ubuntu20.04-arm64": "builds/ffmpeg/%s/ffmpeg-linux-arm64.zip",
372
- "ubuntu22.04-arm64": "builds/ffmpeg/%s/ffmpeg-linux-arm64.zip",
373
- "ubuntu24.04-arm64": "builds/ffmpeg/%s/ffmpeg-linux-arm64.zip",
374
- "debian11-x64": "builds/ffmpeg/%s/ffmpeg-linux.zip",
375
- "debian11-arm64": "builds/ffmpeg/%s/ffmpeg-linux-arm64.zip",
376
- "debian12-x64": "builds/ffmpeg/%s/ffmpeg-linux.zip",
377
- "debian12-arm64": "builds/ffmpeg/%s/ffmpeg-linux-arm64.zip",
378
- "debian13-x64": "builds/ffmpeg/%s/ffmpeg-linux.zip",
379
- "debian13-arm64": "builds/ffmpeg/%s/ffmpeg-linux-arm64.zip",
380
- "mac10.13": "builds/ffmpeg/%s/ffmpeg-mac.zip",
381
- "mac10.14": "builds/ffmpeg/%s/ffmpeg-mac.zip",
382
- "mac10.15": "builds/ffmpeg/%s/ffmpeg-mac.zip",
383
- "mac11": "builds/ffmpeg/%s/ffmpeg-mac.zip",
384
- "mac11-arm64": "builds/ffmpeg/%s/ffmpeg-mac-arm64.zip",
385
- "mac12": "builds/ffmpeg/%s/ffmpeg-mac.zip",
386
- "mac12-arm64": "builds/ffmpeg/%s/ffmpeg-mac-arm64.zip",
387
- "mac13": "builds/ffmpeg/%s/ffmpeg-mac.zip",
388
- "mac13-arm64": "builds/ffmpeg/%s/ffmpeg-mac-arm64.zip",
389
- "mac14": "builds/ffmpeg/%s/ffmpeg-mac.zip",
390
- "mac14-arm64": "builds/ffmpeg/%s/ffmpeg-mac-arm64.zip",
391
- "mac15": "builds/ffmpeg/%s/ffmpeg-mac.zip",
392
- "mac15-arm64": "builds/ffmpeg/%s/ffmpeg-mac-arm64.zip",
393
- "win64": "builds/ffmpeg/%s/ffmpeg-win64.zip"
394
- },
395
- "winldd": {
396
- "<unknown>": void 0,
397
- "ubuntu18.04-x64": void 0,
398
- "ubuntu20.04-x64": void 0,
399
- "ubuntu22.04-x64": void 0,
400
- "ubuntu24.04-x64": void 0,
401
- "ubuntu18.04-arm64": void 0,
402
- "ubuntu20.04-arm64": void 0,
403
- "ubuntu22.04-arm64": void 0,
404
- "ubuntu24.04-arm64": void 0,
405
- "debian11-x64": void 0,
406
- "debian11-arm64": void 0,
407
- "debian12-x64": void 0,
408
- "debian12-arm64": void 0,
409
- "debian13-x64": void 0,
410
- "debian13-arm64": void 0,
411
- "mac10.13": void 0,
412
- "mac10.14": void 0,
413
- "mac10.15": void 0,
414
- "mac11": void 0,
415
- "mac11-arm64": void 0,
416
- "mac12": void 0,
417
- "mac12-arm64": void 0,
418
- "mac13": void 0,
419
- "mac13-arm64": void 0,
420
- "mac14": void 0,
421
- "mac14-arm64": void 0,
422
- "mac15": void 0,
423
- "mac15-arm64": void 0,
424
- "win64": "builds/winldd/%s/winldd-win64.zip"
425
- },
426
- "android": {
427
- "<unknown>": "builds/android/%s/android.zip",
428
- "ubuntu18.04-x64": void 0,
429
- "ubuntu20.04-x64": "builds/android/%s/android.zip",
430
- "ubuntu22.04-x64": "builds/android/%s/android.zip",
431
- "ubuntu24.04-x64": "builds/android/%s/android.zip",
432
- "ubuntu18.04-arm64": void 0,
433
- "ubuntu20.04-arm64": "builds/android/%s/android.zip",
434
- "ubuntu22.04-arm64": "builds/android/%s/android.zip",
435
- "ubuntu24.04-arm64": "builds/android/%s/android.zip",
436
- "debian11-x64": "builds/android/%s/android.zip",
437
- "debian11-arm64": "builds/android/%s/android.zip",
438
- "debian12-x64": "builds/android/%s/android.zip",
439
- "debian12-arm64": "builds/android/%s/android.zip",
440
- "debian13-x64": "builds/android/%s/android.zip",
441
- "debian13-arm64": "builds/android/%s/android.zip",
442
- "mac10.13": "builds/android/%s/android.zip",
443
- "mac10.14": "builds/android/%s/android.zip",
444
- "mac10.15": "builds/android/%s/android.zip",
445
- "mac11": "builds/android/%s/android.zip",
446
- "mac11-arm64": "builds/android/%s/android.zip",
447
- "mac12": "builds/android/%s/android.zip",
448
- "mac12-arm64": "builds/android/%s/android.zip",
449
- "mac13": "builds/android/%s/android.zip",
450
- "mac13-arm64": "builds/android/%s/android.zip",
451
- "mac14": "builds/android/%s/android.zip",
452
- "mac14-arm64": "builds/android/%s/android.zip",
453
- "mac15": "builds/android/%s/android.zip",
454
- "mac15-arm64": "builds/android/%s/android.zip",
455
- "win64": "builds/android/%s/android.zip"
456
- }
457
- };
458
- const registryDirectory = (() => {
459
- let result;
460
- const envDefined = (0, import_utils.getFromENV)("PLAYWRIGHT_BROWSERS_PATH");
461
- if (envDefined === "0") {
462
- result = import_path.default.join(__dirname, "..", "..", "..", ".local-browsers");
463
- } else if (envDefined) {
464
- result = envDefined;
465
- } else {
466
- let cacheDirectory;
467
- if (process.platform === "linux")
468
- cacheDirectory = process.env.XDG_CACHE_HOME || import_path.default.join(import_os.default.homedir(), ".cache");
469
- else if (process.platform === "darwin")
470
- cacheDirectory = import_path.default.join(import_os.default.homedir(), "Library", "Caches");
471
- else if (process.platform === "win32")
472
- cacheDirectory = process.env.LOCALAPPDATA || import_path.default.join(import_os.default.homedir(), "AppData", "Local");
473
- else
474
- throw new Error("Unsupported platform: " + process.platform);
475
- result = import_path.default.join(cacheDirectory, "ms-playwright");
476
- }
477
- if (!import_path.default.isAbsolute(result)) {
478
- result = import_path.default.resolve((0, import_utils.getFromENV)("INIT_CWD") || process.cwd(), result);
479
- }
480
- return result;
481
- })();
482
- function isBrowserDirectory(browserDirectory) {
483
- const baseName = import_path.default.basename(browserDirectory);
484
- for (const browserName of allDownloadable) {
485
- if (baseName.startsWith(browserName.replace(/-/g, "_") + "-"))
486
- return true;
487
- }
488
- return false;
489
- }
490
- function readDescriptors(browsersJSON) {
491
- return browsersJSON["browsers"].map((obj) => {
492
- const name = obj.name;
493
- const revisionOverride = (obj.revisionOverrides || {})[import_hostPlatform.hostPlatform];
494
- const revision = revisionOverride || obj.revision;
495
- const browserDirectoryPrefix = revisionOverride ? `${name}_${import_hostPlatform.hostPlatform}_special` : `${name}`;
496
- const descriptor = {
497
- name,
498
- revision,
499
- hasRevisionOverride: !!revisionOverride,
500
- // We only put browser version for the supported operating systems.
501
- browserVersion: revisionOverride ? void 0 : obj.browserVersion,
502
- installByDefault: !!obj.installByDefault,
503
- // Method `isBrowserDirectory` determines directory to be browser iff
504
- // it starts with some browser name followed by '-'. Some browser names
505
- // are prefixes of others, e.g. 'webkit' is a prefix of `webkit-technology-preview`.
506
- // To avoid older registries erroneously removing 'webkit-technology-preview', we have to
507
- // ensure that browser folders to never include dashes inside.
508
- dir: import_path.default.join(registryDirectory, browserDirectoryPrefix.replace(/-/g, "_") + "-" + revision)
509
- };
510
- return descriptor;
511
- });
512
- }
513
- const allDownloadable = ["android", "chromium", "firefox", "webkit", "ffmpeg", "firefox-beta", "chromium-tip-of-tree", "chromium-headless-shell", "chromium-tip-of-tree-headless-shell"];
514
- class Registry {
515
- constructor(browsersJSON) {
516
- const descriptors = readDescriptors(browsersJSON);
517
- const findExecutablePath = (dir, name) => {
518
- const tokens = EXECUTABLE_PATHS[name][import_hostPlatform.shortPlatform];
519
- return tokens ? import_path.default.join(dir, ...tokens) : void 0;
520
- };
521
- const executablePathOrDie = (name, e, installByDefault, sdkLanguage) => {
522
- if (!e)
523
- throw new Error(`${name} is not supported on ${import_hostPlatform.hostPlatform}`);
524
- const installCommand = buildPlaywrightCLICommand(sdkLanguage, `install${installByDefault ? "" : " " + name}`);
525
- if (!(0, import_fileUtils.canAccessFile)(e)) {
526
- const currentDockerVersion = (0, import_dependencies.readDockerVersionSync)();
527
- const preferredDockerVersion = currentDockerVersion ? (0, import_dependencies.dockerVersion)(currentDockerVersion.dockerImageNameTemplate) : null;
528
- const isOutdatedDockerImage = currentDockerVersion && preferredDockerVersion && currentDockerVersion.dockerImageName !== preferredDockerVersion.dockerImageName;
529
- const prettyMessage = isOutdatedDockerImage ? [
530
- `Looks like ${sdkLanguage === "javascript" ? "Playwright Test or " : ""}Playwright was just updated to ${preferredDockerVersion.driverVersion}.`,
531
- `Please update docker image as well.`,
532
- `- current: ${currentDockerVersion.dockerImageName}`,
533
- `- required: ${preferredDockerVersion.dockerImageName}`,
534
- ``,
535
- `<3 Playwright Team`
536
- ].join("\n") : [
537
- `Looks like ${sdkLanguage === "javascript" ? "Playwright Test or " : ""}Playwright was just installed or updated.`,
538
- `Please run the following command to download new browser${installByDefault ? "s" : ""}:`,
539
- ``,
540
- ` ${installCommand}`,
541
- ``,
542
- `<3 Playwright Team`
543
- ].join("\n");
544
- throw new Error(`Executable doesn't exist at ${e}
545
- ${(0, import_ascii.wrapInASCIIBox)(prettyMessage, 1)}`);
546
- }
547
- return e;
548
- };
549
- this._executables = [];
550
- const chromium = descriptors.find((d) => d.name === "chromium");
551
- const chromiumExecutable = findExecutablePath(chromium.dir, "chromium");
552
- this._executables.push({
553
- type: "browser",
554
- name: "chromium",
555
- browserName: "chromium",
556
- directory: chromium.dir,
557
- executablePath: () => chromiumExecutable,
558
- executablePathOrDie: (sdkLanguage) => executablePathOrDie("chromium", chromiumExecutable, chromium.installByDefault, sdkLanguage),
559
- installType: chromium.installByDefault ? "download-by-default" : "download-on-demand",
560
- _validateHostRequirements: (sdkLanguage) => this._validateHostRequirements(sdkLanguage, chromium.dir, ["chrome-linux"], [], ["chrome-win"]),
561
- downloadURLs: this._downloadURLs(chromium),
562
- browserVersion: chromium.browserVersion,
563
- _install: () => this._downloadExecutable(chromium, chromiumExecutable),
564
- _dependencyGroup: "chromium",
565
- _isHermeticInstallation: true
566
- });
567
- const chromiumHeadlessShell = descriptors.find((d) => d.name === "chromium-headless-shell");
568
- const chromiumHeadlessShellExecutable = findExecutablePath(chromiumHeadlessShell.dir, "chromium-headless-shell");
569
- this._executables.push({
570
- type: "channel",
571
- name: "chromium-headless-shell",
572
- browserName: "chromium",
573
- directory: chromiumHeadlessShell.dir,
574
- executablePath: () => chromiumHeadlessShellExecutable,
575
- executablePathOrDie: (sdkLanguage) => executablePathOrDie("chromium", chromiumHeadlessShellExecutable, chromiumHeadlessShell.installByDefault, sdkLanguage),
576
- installType: chromiumHeadlessShell.installByDefault ? "download-by-default" : "download-on-demand",
577
- _validateHostRequirements: (sdkLanguage) => this._validateHostRequirements(sdkLanguage, chromiumHeadlessShell.dir, ["chrome-linux"], [], ["chrome-win"]),
578
- downloadURLs: this._downloadURLs(chromiumHeadlessShell),
579
- browserVersion: chromium.browserVersion,
580
- _install: () => this._downloadExecutable(chromiumHeadlessShell, chromiumHeadlessShellExecutable),
581
- _dependencyGroup: "chromium",
582
- _isHermeticInstallation: true
583
- });
584
- const chromiumTipOfTreeHeadlessShell = descriptors.find((d) => d.name === "chromium-tip-of-tree-headless-shell");
585
- const chromiumTipOfTreeHeadlessShellExecutable = findExecutablePath(chromiumTipOfTreeHeadlessShell.dir, "chromium-tip-of-tree-headless-shell");
586
- this._executables.push({
587
- type: "channel",
588
- name: "chromium-tip-of-tree-headless-shell",
589
- browserName: "chromium",
590
- directory: chromiumTipOfTreeHeadlessShell.dir,
591
- executablePath: () => chromiumTipOfTreeHeadlessShellExecutable,
592
- executablePathOrDie: (sdkLanguage) => executablePathOrDie("chromium", chromiumTipOfTreeHeadlessShellExecutable, chromiumTipOfTreeHeadlessShell.installByDefault, sdkLanguage),
593
- installType: chromiumTipOfTreeHeadlessShell.installByDefault ? "download-by-default" : "download-on-demand",
594
- _validateHostRequirements: (sdkLanguage) => this._validateHostRequirements(sdkLanguage, chromiumTipOfTreeHeadlessShell.dir, ["chrome-linux"], [], ["chrome-win"]),
595
- downloadURLs: this._downloadURLs(chromiumTipOfTreeHeadlessShell),
596
- browserVersion: chromium.browserVersion,
597
- _install: () => this._downloadExecutable(chromiumTipOfTreeHeadlessShell, chromiumTipOfTreeHeadlessShellExecutable),
598
- _dependencyGroup: "chromium",
599
- _isHermeticInstallation: true
600
- });
601
- const chromiumTipOfTree = descriptors.find((d) => d.name === "chromium-tip-of-tree");
602
- const chromiumTipOfTreeExecutable = findExecutablePath(chromiumTipOfTree.dir, "chromium-tip-of-tree");
603
- this._executables.push({
604
- type: "tool",
605
- name: "chromium-tip-of-tree",
606
- browserName: "chromium",
607
- directory: chromiumTipOfTree.dir,
608
- executablePath: () => chromiumTipOfTreeExecutable,
609
- executablePathOrDie: (sdkLanguage) => executablePathOrDie("chromium-tip-of-tree", chromiumTipOfTreeExecutable, chromiumTipOfTree.installByDefault, sdkLanguage),
610
- installType: chromiumTipOfTree.installByDefault ? "download-by-default" : "download-on-demand",
611
- _validateHostRequirements: (sdkLanguage) => this._validateHostRequirements(sdkLanguage, chromiumTipOfTree.dir, ["chrome-linux"], [], ["chrome-win"]),
612
- downloadURLs: this._downloadURLs(chromiumTipOfTree),
613
- browserVersion: chromiumTipOfTree.browserVersion,
614
- _install: () => this._downloadExecutable(chromiumTipOfTree, chromiumTipOfTreeExecutable),
615
- _dependencyGroup: "chromium",
616
- _isHermeticInstallation: true
617
- });
618
- this._executables.push(this._createChromiumChannel("chrome", {
619
- "linux": "/opt/google/chrome/chrome",
620
- "darwin": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
621
- "win32": `\\Google\\Chrome\\Application\\chrome.exe`
622
- }, () => this._installChromiumChannel("chrome", {
623
- "linux": "reinstall_chrome_stable_linux.sh",
624
- "darwin": "reinstall_chrome_stable_mac.sh",
625
- "win32": "reinstall_chrome_stable_win.ps1"
626
- })));
627
- this._executables.push(this._createChromiumChannel("chrome-beta", {
628
- "linux": "/opt/google/chrome-beta/chrome",
629
- "darwin": "/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta",
630
- "win32": `\\Google\\Chrome Beta\\Application\\chrome.exe`
631
- }, () => this._installChromiumChannel("chrome-beta", {
632
- "linux": "reinstall_chrome_beta_linux.sh",
633
- "darwin": "reinstall_chrome_beta_mac.sh",
634
- "win32": "reinstall_chrome_beta_win.ps1"
635
- })));
636
- this._executables.push(this._createChromiumChannel("chrome-dev", {
637
- "linux": "/opt/google/chrome-unstable/chrome",
638
- "darwin": "/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev",
639
- "win32": `\\Google\\Chrome Dev\\Application\\chrome.exe`
640
- }));
641
- this._executables.push(this._createChromiumChannel("chrome-canary", {
642
- "linux": "/opt/google/chrome-canary/chrome",
643
- "darwin": "/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary",
644
- "win32": `\\Google\\Chrome SxS\\Application\\chrome.exe`
645
- }));
646
- this._executables.push(this._createChromiumChannel("msedge", {
647
- "linux": "/opt/microsoft/msedge/msedge",
648
- "darwin": "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge",
649
- "win32": `\\Microsoft\\Edge\\Application\\msedge.exe`
650
- }, () => this._installMSEdgeChannel("msedge", {
651
- "linux": "reinstall_msedge_stable_linux.sh",
652
- "darwin": "reinstall_msedge_stable_mac.sh",
653
- "win32": "reinstall_msedge_stable_win.ps1"
654
- })));
655
- this._executables.push(this._createChromiumChannel("msedge-beta", {
656
- "linux": "/opt/microsoft/msedge-beta/msedge",
657
- "darwin": "/Applications/Microsoft Edge Beta.app/Contents/MacOS/Microsoft Edge Beta",
658
- "win32": `\\Microsoft\\Edge Beta\\Application\\msedge.exe`
659
- }, () => this._installMSEdgeChannel("msedge-beta", {
660
- "darwin": "reinstall_msedge_beta_mac.sh",
661
- "linux": "reinstall_msedge_beta_linux.sh",
662
- "win32": "reinstall_msedge_beta_win.ps1"
663
- })));
664
- this._executables.push(this._createChromiumChannel("msedge-dev", {
665
- "linux": "/opt/microsoft/msedge-dev/msedge",
666
- "darwin": "/Applications/Microsoft Edge Dev.app/Contents/MacOS/Microsoft Edge Dev",
667
- "win32": `\\Microsoft\\Edge Dev\\Application\\msedge.exe`
668
- }, () => this._installMSEdgeChannel("msedge-dev", {
669
- "darwin": "reinstall_msedge_dev_mac.sh",
670
- "linux": "reinstall_msedge_dev_linux.sh",
671
- "win32": "reinstall_msedge_dev_win.ps1"
672
- })));
673
- this._executables.push(this._createChromiumChannel("msedge-canary", {
674
- "linux": "",
675
- "darwin": "/Applications/Microsoft Edge Canary.app/Contents/MacOS/Microsoft Edge Canary",
676
- "win32": `\\Microsoft\\Edge SxS\\Application\\msedge.exe`
677
- }));
678
- this._executables.push(this._createBidiFirefoxChannel("moz-firefox", {
679
- "linux": "/snap/bin/firefox",
680
- "darwin": "/Applications/Firefox.app/Contents/MacOS/firefox",
681
- "win32": "\\Mozilla Firefox\\firefox.exe"
682
- }));
683
- this._executables.push(this._createBidiFirefoxChannel("moz-firefox-beta", {
684
- "linux": "/opt/firefox-beta/firefox",
685
- "darwin": "/Applications/Firefox.app/Contents/MacOS/firefox",
686
- "win32": "\\Mozilla Firefox\\firefox.exe"
687
- }));
688
- this._executables.push(this._createBidiFirefoxChannel("moz-firefox-nightly", {
689
- "linux": "/opt/firefox-nightly/firefox",
690
- "darwin": "/Applications/Firefox Nightly.app/Contents/MacOS/firefox",
691
- "win32": "\\Mozilla Firefox\\firefox.exe"
692
- }));
693
- this._executables.push(this._createBidiChromiumChannel("bidi-chrome-stable", {
694
- "linux": "/opt/google/chrome/chrome",
695
- "darwin": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
696
- "win32": `\\Google\\Chrome\\Application\\chrome.exe`
697
- }));
698
- this._executables.push(this._createBidiChromiumChannel("bidi-chrome-canary", {
699
- "linux": "/opt/google/chrome-canary/chrome",
700
- "darwin": "/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary",
701
- "win32": `\\Google\\Chrome SxS\\Application\\chrome.exe`
702
- }));
703
- this._executables.push({
704
- type: "channel",
705
- name: "bidi-chromium",
706
- browserName: "chromium",
707
- directory: chromium.dir,
708
- executablePath: () => chromiumExecutable,
709
- executablePathOrDie: (sdkLanguage) => executablePathOrDie("chromium", chromiumExecutable, chromium.installByDefault, sdkLanguage),
710
- installType: "download-on-demand",
711
- _validateHostRequirements: (sdkLanguage) => this._validateHostRequirements(sdkLanguage, chromium.dir, ["chrome-linux"], [], ["chrome-win"]),
712
- downloadURLs: this._downloadURLs(chromium),
713
- browserVersion: chromium.browserVersion,
714
- _install: () => this._downloadExecutable(chromium, chromiumExecutable),
715
- _dependencyGroup: "chromium",
716
- _isHermeticInstallation: true
717
- });
718
- const firefox = descriptors.find((d) => d.name === "firefox");
719
- const firefoxExecutable = findExecutablePath(firefox.dir, "firefox");
720
- this._executables.push({
721
- type: "browser",
722
- name: "firefox",
723
- browserName: "firefox",
724
- directory: firefox.dir,
725
- executablePath: () => firefoxExecutable,
726
- executablePathOrDie: (sdkLanguage) => executablePathOrDie("firefox", firefoxExecutable, firefox.installByDefault, sdkLanguage),
727
- installType: firefox.installByDefault ? "download-by-default" : "download-on-demand",
728
- _validateHostRequirements: (sdkLanguage) => this._validateHostRequirements(sdkLanguage, firefox.dir, ["firefox"], [], ["firefox"]),
729
- downloadURLs: this._downloadURLs(firefox),
730
- browserVersion: firefox.browserVersion,
731
- _install: () => this._downloadExecutable(firefox, firefoxExecutable),
732
- _dependencyGroup: "firefox",
733
- _isHermeticInstallation: true
734
- });
735
- const firefoxBeta = descriptors.find((d) => d.name === "firefox-beta");
736
- const firefoxBetaExecutable = findExecutablePath(firefoxBeta.dir, "firefox");
737
- this._executables.push({
738
- type: "tool",
739
- name: "firefox-beta",
740
- browserName: "firefox",
741
- directory: firefoxBeta.dir,
742
- executablePath: () => firefoxBetaExecutable,
743
- executablePathOrDie: (sdkLanguage) => executablePathOrDie("firefox-beta", firefoxBetaExecutable, firefoxBeta.installByDefault, sdkLanguage),
744
- installType: firefoxBeta.installByDefault ? "download-by-default" : "download-on-demand",
745
- _validateHostRequirements: (sdkLanguage) => this._validateHostRequirements(sdkLanguage, firefoxBeta.dir, ["firefox"], [], ["firefox"]),
746
- downloadURLs: this._downloadURLs(firefoxBeta),
747
- browserVersion: firefoxBeta.browserVersion,
748
- _install: () => this._downloadExecutable(firefoxBeta, firefoxBetaExecutable),
749
- _dependencyGroup: "firefox",
750
- _isHermeticInstallation: true
751
- });
752
- const webkit = descriptors.find((d) => d.name === "webkit");
753
- const webkitExecutable = findExecutablePath(webkit.dir, "webkit");
754
- const webkitLinuxLddDirectories = [
755
- import_path.default.join("minibrowser-gtk"),
756
- import_path.default.join("minibrowser-gtk", "bin"),
757
- import_path.default.join("minibrowser-gtk", "lib"),
758
- import_path.default.join("minibrowser-gtk", "sys", "lib"),
759
- import_path.default.join("minibrowser-wpe"),
760
- import_path.default.join("minibrowser-wpe", "bin"),
761
- import_path.default.join("minibrowser-wpe", "lib"),
762
- import_path.default.join("minibrowser-wpe", "sys", "lib")
763
- ];
764
- this._executables.push({
765
- type: "browser",
766
- name: "webkit",
767
- browserName: "webkit",
768
- directory: webkit.dir,
769
- executablePath: () => webkitExecutable,
770
- executablePathOrDie: (sdkLanguage) => executablePathOrDie("webkit", webkitExecutable, webkit.installByDefault, sdkLanguage),
771
- installType: webkit.installByDefault ? "download-by-default" : "download-on-demand",
772
- _validateHostRequirements: (sdkLanguage) => this._validateHostRequirements(sdkLanguage, webkit.dir, webkitLinuxLddDirectories, ["libGLESv2.so.2", "libx264.so"], [""]),
773
- downloadURLs: this._downloadURLs(webkit),
774
- browserVersion: webkit.browserVersion,
775
- _install: () => this._downloadExecutable(webkit, webkitExecutable),
776
- _dependencyGroup: "webkit",
777
- _isHermeticInstallation: true
778
- });
779
- this._executables.push({
780
- type: "channel",
781
- name: "webkit-wsl",
782
- browserName: "webkit",
783
- directory: webkit.dir,
784
- executablePath: () => process.execPath,
785
- executablePathOrDie: () => process.execPath,
786
- wslExecutablePath: `/home/pwuser/.cache/ms-playwright/webkit-${webkit.revision}/pw_run.sh`,
787
- installType: "download-on-demand",
788
- _validateHostRequirements: (sdkLanguage) => Promise.resolve(),
789
- _isHermeticInstallation: true,
790
- _install: async () => {
791
- if (process.platform !== "win32")
792
- throw new Error(`WebKit via WSL is only supported on Windows`);
793
- const script = import_path.default.join(BIN_PATH, "install_webkit_wsl.ps1");
794
- const { code } = await (0, import_spawnAsync.spawnAsync)("powershell.exe", [
795
- "-ExecutionPolicy",
796
- "Bypass",
797
- "-File",
798
- script
799
- ], {
800
- stdio: "inherit"
801
- });
802
- if (code !== 0)
803
- throw new Error(`Failed to install WebKit via WSL`);
804
- }
805
- });
806
- const ffmpeg = descriptors.find((d) => d.name === "ffmpeg");
807
- const ffmpegExecutable = findExecutablePath(ffmpeg.dir, "ffmpeg");
808
- this._executables.push({
809
- type: "tool",
810
- name: "ffmpeg",
811
- browserName: void 0,
812
- directory: ffmpeg.dir,
813
- executablePath: () => ffmpegExecutable,
814
- executablePathOrDie: (sdkLanguage) => executablePathOrDie("ffmpeg", ffmpegExecutable, ffmpeg.installByDefault, sdkLanguage),
815
- installType: ffmpeg.installByDefault ? "download-by-default" : "download-on-demand",
816
- _validateHostRequirements: () => Promise.resolve(),
817
- downloadURLs: this._downloadURLs(ffmpeg),
818
- _install: () => this._downloadExecutable(ffmpeg, ffmpegExecutable),
819
- _dependencyGroup: "tools",
820
- _isHermeticInstallation: true
821
- });
822
- const winldd = descriptors.find((d) => d.name === "winldd");
823
- const winlddExecutable = findExecutablePath(winldd.dir, "winldd");
824
- this._executables.push({
825
- type: "tool",
826
- name: "winldd",
827
- browserName: void 0,
828
- directory: winldd.dir,
829
- executablePath: () => winlddExecutable,
830
- executablePathOrDie: (sdkLanguage) => executablePathOrDie("winldd", winlddExecutable, winldd.installByDefault, sdkLanguage),
831
- installType: process.platform === "win32" ? "download-by-default" : "none",
832
- _validateHostRequirements: () => Promise.resolve(),
833
- downloadURLs: this._downloadURLs(winldd),
834
- _install: () => this._downloadExecutable(winldd, winlddExecutable),
835
- _dependencyGroup: "tools",
836
- _isHermeticInstallation: true
837
- });
838
- const android = descriptors.find((d) => d.name === "android");
839
- this._executables.push({
840
- type: "tool",
841
- name: "android",
842
- browserName: void 0,
843
- directory: android.dir,
844
- executablePath: () => void 0,
845
- executablePathOrDie: () => "",
846
- installType: "download-on-demand",
847
- _validateHostRequirements: () => Promise.resolve(),
848
- downloadURLs: this._downloadURLs(android),
849
- _install: () => this._downloadExecutable(android),
850
- _dependencyGroup: "tools",
851
- _isHermeticInstallation: true
852
- });
853
- }
854
- _createChromiumChannel(name, lookAt, install) {
855
- const executablePath = (sdkLanguage, shouldThrow) => {
856
- const suffix = lookAt[process.platform];
857
- if (!suffix) {
858
- if (shouldThrow)
859
- throw new Error(`Chromium distribution '${name}' is not supported on ${process.platform}`);
860
- return void 0;
861
- }
862
- const prefixes = process.platform === "win32" ? [
863
- process.env.LOCALAPPDATA,
864
- process.env.PROGRAMFILES,
865
- process.env["PROGRAMFILES(X86)"],
866
- // In some cases there is no PROGRAMFILES/(86) env var set but HOMEDRIVE is set.
867
- process.env.HOMEDRIVE + "\\Program Files",
868
- process.env.HOMEDRIVE + "\\Program Files (x86)"
869
- ].filter(Boolean) : [""];
870
- for (const prefix of prefixes) {
871
- const executablePath2 = import_path.default.join(prefix, suffix);
872
- if ((0, import_fileUtils.canAccessFile)(executablePath2))
873
- return executablePath2;
874
- }
875
- if (!shouldThrow)
876
- return void 0;
877
- const location = prefixes.length ? ` at ${import_path.default.join(prefixes[0], suffix)}` : ``;
878
- const installation = install ? `
879
- Run "${buildPlaywrightCLICommand(sdkLanguage, "install " + name)}"` : "";
880
- throw new Error(`Chromium distribution '${name}' is not found${location}${installation}`);
881
- };
882
- return {
883
- type: "channel",
884
- name,
885
- browserName: "chromium",
886
- directory: void 0,
887
- executablePath: (sdkLanguage) => executablePath(sdkLanguage, false),
888
- executablePathOrDie: (sdkLanguage) => executablePath(sdkLanguage, true),
889
- installType: install ? "install-script" : "none",
890
- _validateHostRequirements: () => Promise.resolve(),
891
- _isHermeticInstallation: false,
892
- _install: install
893
- };
894
- }
895
- _createBidiFirefoxChannel(name, lookAt, install) {
896
- const executablePath = (sdkLanguage, shouldThrow) => {
897
- const suffix = lookAt[process.platform];
898
- if (!suffix) {
899
- if (shouldThrow)
900
- throw new Error(`Firefox distribution '${name}' is not supported on ${process.platform}`);
901
- return void 0;
902
- }
903
- const prefixes = process.platform === "win32" ? [
904
- process.env.LOCALAPPDATA,
905
- process.env.PROGRAMFILES,
906
- process.env["PROGRAMFILES(X86)"],
907
- // In some cases there is no PROGRAMFILES/(86) env var set but HOMEDRIVE is set.
908
- process.env.HOMEDRIVE + "\\Program Files",
909
- process.env.HOMEDRIVE + "\\Program Files (x86)"
910
- ].filter(Boolean) : [""];
911
- for (const prefix of prefixes) {
912
- const executablePath2 = import_path.default.join(prefix, suffix);
913
- if ((0, import_fileUtils.canAccessFile)(executablePath2))
914
- return executablePath2;
915
- }
916
- if (shouldThrow)
917
- throw new Error(`Cannot find Firefox installation for channel '${name}' at the standard system paths. ${`Tried paths:
918
- ${prefixes.map((p) => import_path.default.join(p, suffix)).join("\n ")}`}`);
919
- return void 0;
920
- };
921
- return {
922
- type: "channel",
923
- name,
924
- browserName: "firefox",
925
- directory: void 0,
926
- executablePath: (sdkLanguage) => executablePath(sdkLanguage, false),
927
- executablePathOrDie: (sdkLanguage) => executablePath(sdkLanguage, true),
928
- installType: "none",
929
- _validateHostRequirements: () => Promise.resolve(),
930
- _isHermeticInstallation: true,
931
- _install: install
932
- };
933
- }
934
- _createBidiChromiumChannel(name, lookAt, install) {
935
- const executablePath = (sdkLanguage, shouldThrow) => {
936
- const suffix = lookAt[process.platform];
937
- if (!suffix) {
938
- if (shouldThrow)
939
- throw new Error(`Chromium distribution '${name}' is not supported on ${process.platform}`);
940
- return void 0;
941
- }
942
- const prefixes = process.platform === "win32" ? [
943
- process.env.LOCALAPPDATA,
944
- process.env.PROGRAMFILES,
945
- process.env["PROGRAMFILES(X86)"],
946
- // In some cases there is no PROGRAMFILES/(86) env var set but HOMEDRIVE is set.
947
- process.env.HOMEDRIVE + "\\Program Files",
948
- process.env.HOMEDRIVE + "\\Program Files (x86)"
949
- ].filter(Boolean) : [""];
950
- for (const prefix of prefixes) {
951
- const executablePath2 = import_path.default.join(prefix, suffix);
952
- if ((0, import_fileUtils.canAccessFile)(executablePath2))
953
- return executablePath2;
954
- }
955
- if (!shouldThrow)
956
- return void 0;
957
- const location = prefixes.length ? ` at ${import_path.default.join(prefixes[0], suffix)}` : ``;
958
- const installation = install ? `
959
- Run "${buildPlaywrightCLICommand(sdkLanguage, "install " + name)}"` : "";
960
- throw new Error(`Chromium distribution '${name}' is not found${location}${installation}`);
961
- };
962
- return {
963
- type: "channel",
964
- name,
965
- browserName: "chromium",
966
- directory: void 0,
967
- executablePath: (sdkLanguage) => executablePath(sdkLanguage, false),
968
- executablePathOrDie: (sdkLanguage) => executablePath(sdkLanguage, true),
969
- installType: install ? "install-script" : "none",
970
- _validateHostRequirements: () => Promise.resolve(),
971
- _isHermeticInstallation: false,
972
- _install: install
973
- };
974
- }
975
- executables() {
976
- return this._executables;
977
- }
978
- findExecutable(name) {
979
- return this._executables.find((b) => b.name === name);
980
- }
981
- defaultExecutables() {
982
- return this._executables.filter((e) => e.installType === "download-by-default");
983
- }
984
- _dedupe(executables) {
985
- return Array.from(new Set(executables));
986
- }
987
- async _validateHostRequirements(sdkLanguage, browserDirectory, linuxLddDirectories, dlOpenLibraries, windowsExeAndDllDirectories) {
988
- if (import_os.default.platform() === "linux")
989
- return await (0, import_dependencies2.validateDependenciesLinux)(sdkLanguage, linuxLddDirectories.map((d) => import_path.default.join(browserDirectory, d)), dlOpenLibraries);
990
- if (import_os.default.platform() === "win32" && import_os.default.arch() === "x64")
991
- return await (0, import_dependencies2.validateDependenciesWindows)(sdkLanguage, windowsExeAndDllDirectories.map((d) => import_path.default.join(browserDirectory, d)));
992
- }
993
- async installDeps(executablesToInstallDeps, dryRun) {
994
- const executables = this._dedupe(executablesToInstallDeps);
995
- const targets = /* @__PURE__ */ new Set();
996
- for (const executable of executables) {
997
- if (executable._dependencyGroup)
998
- targets.add(executable._dependencyGroup);
999
- }
1000
- targets.add("tools");
1001
- if (import_os.default.platform() === "win32")
1002
- return await (0, import_dependencies2.installDependenciesWindows)(targets, dryRun);
1003
- if (import_os.default.platform() === "linux")
1004
- return await (0, import_dependencies2.installDependenciesLinux)(targets, dryRun);
1005
- }
1006
- async install(executablesToInstall, forceReinstall) {
1007
- const executables = this._dedupe(executablesToInstall);
1008
- await import_fs.default.promises.mkdir(registryDirectory, { recursive: true });
1009
- const lockfilePath = import_path.default.join(registryDirectory, "__dirlock");
1010
- const linksDir = import_path.default.join(registryDirectory, ".links");
1011
- let releaseLock;
1012
- try {
1013
- releaseLock = await import_utilsBundle.lockfile.lock(registryDirectory, {
1014
- retries: {
1015
- // Retry 20 times during 10 minutes with
1016
- // exponential back-off.
1017
- // See documentation at: https://www.npmjs.com/package/retry#retrytimeoutsoptions
1018
- retries: 20,
1019
- factor: 1.27579
1020
- },
1021
- onCompromised: (err) => {
1022
- throw new Error(`${err.message} Path: ${lockfilePath}`);
1023
- },
1024
- lockfilePath
1025
- });
1026
- await import_fs.default.promises.mkdir(linksDir, { recursive: true });
1027
- await import_fs.default.promises.writeFile(import_path.default.join(linksDir, (0, import_utils.calculateSha1)(PACKAGE_PATH)), PACKAGE_PATH);
1028
- if (!(0, import_utils.getAsBooleanFromENV)("PLAYWRIGHT_SKIP_BROWSER_GC"))
1029
- await this._validateInstallationCache(linksDir);
1030
- for (const executable of executables) {
1031
- if (!executable._install)
1032
- throw new Error(`ERROR: Playwright does not support installing ${executable.name}`);
1033
- const { embedderName } = (0, import_userAgent.getEmbedderName)();
1034
- if (!(0, import_utils.getAsBooleanFromENV)("CI") && !executable._isHermeticInstallation && !forceReinstall && executable.executablePath(embedderName)) {
1035
- const command = buildPlaywrightCLICommand(embedderName, "install --force " + executable.name);
1036
- process.stderr.write("\n" + (0, import_ascii.wrapInASCIIBox)([
1037
- `ATTENTION: "${executable.name}" is already installed on the system!`,
1038
- ``,
1039
- `"${executable.name}" installation is not hermetic; installing newer version`,
1040
- `requires *removal* of a current installation first.`,
1041
- ``,
1042
- `To *uninstall* current version and re-install latest "${executable.name}":`,
1043
- ``,
1044
- `- Close all running instances of "${executable.name}", if any`,
1045
- `- Use "--force" to install browser:`,
1046
- ``,
1047
- ` ${command}`,
1048
- ``,
1049
- `<3 Playwright Team`
1050
- ].join("\n"), 1) + "\n\n");
1051
- return;
1052
- }
1053
- await executable._install();
1054
- }
1055
- } catch (e) {
1056
- if (e.code === "ELOCKED") {
1057
- const rmCommand = process.platform === "win32" ? "rm -R" : "rm -rf";
1058
- throw new Error("\n" + (0, import_ascii.wrapInASCIIBox)([
1059
- `An active lockfile is found at:`,
1060
- ``,
1061
- ` ${lockfilePath}`,
1062
- ``,
1063
- `Either:`,
1064
- `- wait a few minutes if other Playwright is installing browsers in parallel`,
1065
- `- remove lock manually with:`,
1066
- ``,
1067
- ` ${rmCommand} ${lockfilePath}`,
1068
- ``,
1069
- `<3 Playwright Team`
1070
- ].join("\n"), 1));
1071
- } else {
1072
- throw e;
1073
- }
1074
- } finally {
1075
- if (releaseLock)
1076
- await releaseLock();
1077
- }
1078
- }
1079
- async uninstall(all) {
1080
- const linksDir = import_path.default.join(registryDirectory, ".links");
1081
- if (all) {
1082
- const links = await import_fs.default.promises.readdir(linksDir).catch(() => []);
1083
- for (const link of links)
1084
- await import_fs.default.promises.unlink(import_path.default.join(linksDir, link));
1085
- } else {
1086
- await import_fs.default.promises.unlink(import_path.default.join(linksDir, (0, import_utils.calculateSha1)(PACKAGE_PATH))).catch(() => {
1087
- });
1088
- }
1089
- await this._validateInstallationCache(linksDir);
1090
- return {
1091
- numberOfBrowsersLeft: (await import_fs.default.promises.readdir(registryDirectory).catch(() => [])).filter((browserDirectory) => isBrowserDirectory(browserDirectory)).length
1092
- };
1093
- }
1094
- async validateHostRequirementsForExecutablesIfNeeded(executables, sdkLanguage) {
1095
- if ((0, import_utils.getAsBooleanFromENV)("PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS")) {
1096
- process.stderr.write("Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.\n");
1097
- return;
1098
- }
1099
- for (const executable of executables)
1100
- await this._validateHostRequirementsForExecutableIfNeeded(executable, sdkLanguage);
1101
- }
1102
- async _validateHostRequirementsForExecutableIfNeeded(executable, sdkLanguage) {
1103
- const kMaximumReValidationPeriod = 30 * 24 * 60 * 60 * 1e3;
1104
- if (!executable.directory)
1105
- return;
1106
- const markerFile = import_path.default.join(executable.directory, "DEPENDENCIES_VALIDATED");
1107
- if (await import_fs.default.promises.stat(markerFile).then((stat) => Date.now() - stat.mtime.getTime() < kMaximumReValidationPeriod).catch(() => false))
1108
- return;
1109
- import_debugLogger.debugLogger.log("install", `validating host requirements for "${executable.name}"`);
1110
- try {
1111
- await executable._validateHostRequirements(sdkLanguage);
1112
- import_debugLogger.debugLogger.log("install", `validation passed for ${executable.name}`);
1113
- } catch (error) {
1114
- import_debugLogger.debugLogger.log("install", `validation failed for ${executable.name}`);
1115
- throw error;
1116
- }
1117
- await import_fs.default.promises.writeFile(markerFile, "").catch(() => {
1118
- });
1119
- }
1120
- _downloadURLs(descriptor) {
1121
- const paths = DOWNLOAD_PATHS[descriptor.name];
1122
- const downloadPathTemplate = paths[import_hostPlatform.hostPlatform] || paths["<unknown>"];
1123
- if (!downloadPathTemplate)
1124
- return [];
1125
- const downloadPath = util.format(downloadPathTemplate, descriptor.revision);
1126
- let downloadURLs = PLAYWRIGHT_CDN_MIRRORS.map((mirror) => `${mirror}/${downloadPath}`);
1127
- let downloadHostEnv;
1128
- if (descriptor.name.startsWith("chromium"))
1129
- downloadHostEnv = "PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST";
1130
- else if (descriptor.name.startsWith("firefox"))
1131
- downloadHostEnv = "PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST";
1132
- else if (descriptor.name.startsWith("webkit"))
1133
- downloadHostEnv = "PLAYWRIGHT_WEBKIT_DOWNLOAD_HOST";
1134
- const customHostOverride = downloadHostEnv && (0, import_utils.getFromENV)(downloadHostEnv) || (0, import_utils.getFromENV)("PLAYWRIGHT_DOWNLOAD_HOST");
1135
- if (customHostOverride)
1136
- downloadURLs = [`${customHostOverride}/${downloadPath}`];
1137
- return downloadURLs;
1138
- }
1139
- async _downloadExecutable(descriptor, executablePath) {
1140
- const downloadURLs = this._downloadURLs(descriptor);
1141
- if (!downloadURLs.length)
1142
- throw new Error(`ERROR: Playwright does not support ${descriptor.name} on ${import_hostPlatform.hostPlatform}`);
1143
- if (!import_hostPlatform.isOfficiallySupportedPlatform)
1144
- (0, import_browserFetcher.logPolitely)(`BEWARE: your OS is not officially supported by Playwright; downloading fallback build for ${import_hostPlatform.hostPlatform}.`);
1145
- if (descriptor.hasRevisionOverride) {
1146
- const message = `You are using a frozen ${descriptor.name} browser which does not receive updates anymore on ${import_hostPlatform.hostPlatform}. Please update to the latest version of your operating system to test up-to-date browsers.`;
1147
- if (process.env.GITHUB_ACTIONS)
1148
- console.log(`::warning title=Playwright::${message}`);
1149
- else
1150
- (0, import_browserFetcher.logPolitely)(message);
1151
- }
1152
- const displayName = descriptor.name.split("-").map((word) => {
1153
- return word === "ffmpeg" ? "FFMPEG" : word.charAt(0).toUpperCase() + word.slice(1);
1154
- }).join(" ");
1155
- const title = descriptor.browserVersion ? `${displayName} ${descriptor.browserVersion} (playwright build v${descriptor.revision})` : `${displayName} playwright build v${descriptor.revision}`;
1156
- const downloadFileName = `playwright-download-${descriptor.name}-${import_hostPlatform.hostPlatform}-${descriptor.revision}.zip`;
1157
- const downloadSocketTimeoutEnv = (0, import_utils.getFromENV)("PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT");
1158
- const downloadSocketTimeout = +(downloadSocketTimeoutEnv || "0") || import_network.NET_DEFAULT_TIMEOUT;
1159
- await (0, import_browserFetcher.downloadBrowserWithProgressBar)(title, descriptor.dir, executablePath, downloadURLs, downloadFileName, downloadSocketTimeout).catch((e) => {
1160
- throw new Error(`Failed to download ${title}, caused by
1161
- ${e.stack}`);
1162
- });
1163
- }
1164
- async _installMSEdgeChannel(channel, scripts) {
1165
- const scriptArgs = [];
1166
- if (process.platform !== "linux") {
1167
- const products = lowercaseAllKeys(JSON.parse(await (0, import_network.fetchData)(void 0, { url: "https://edgeupdates.microsoft.com/api/products" })));
1168
- const productName = {
1169
- "msedge": "Stable",
1170
- "msedge-beta": "Beta",
1171
- "msedge-dev": "Dev"
1172
- }[channel];
1173
- const product = products.find((product2) => product2.product === productName);
1174
- const searchConfig = {
1175
- darwin: { platform: "MacOS", arch: "universal", artifact: "pkg" },
1176
- win32: { platform: "Windows", arch: "x64", artifact: "msi" }
1177
- }[process.platform];
1178
- const release = searchConfig ? product.releases.find((release2) => release2.platform === searchConfig.platform && release2.architecture === searchConfig.arch && release2.artifacts.length > 0) : null;
1179
- const artifact = release ? release.artifacts.find((artifact2) => artifact2.artifactname === searchConfig.artifact) : null;
1180
- if (artifact)
1181
- scriptArgs.push(
1182
- artifact.location
1183
- /* url */
1184
- );
1185
- else
1186
- throw new Error(`Cannot install ${channel} on ${process.platform}`);
1187
- }
1188
- await this._installChromiumChannel(channel, scripts, scriptArgs);
1189
- }
1190
- async _installChromiumChannel(channel, scripts, scriptArgs = []) {
1191
- const scriptName = scripts[process.platform];
1192
- if (!scriptName)
1193
- throw new Error(`Cannot install ${channel} on ${process.platform}`);
1194
- const cwd = BIN_PATH;
1195
- const isPowerShell = scriptName.endsWith(".ps1");
1196
- if (isPowerShell) {
1197
- const args = [
1198
- "-ExecutionPolicy",
1199
- "Bypass",
1200
- "-File",
1201
- import_path.default.join(BIN_PATH, scriptName),
1202
- ...scriptArgs
1203
- ];
1204
- const { code } = await (0, import_spawnAsync.spawnAsync)("powershell.exe", args, { cwd, stdio: "inherit" });
1205
- if (code !== 0)
1206
- throw new Error(`Failed to install ${channel}`);
1207
- } else {
1208
- const { command, args, elevatedPermissions } = await (0, import_dependencies.transformCommandsForRoot)([`bash "${import_path.default.join(BIN_PATH, scriptName)}" ${scriptArgs.join("")}`]);
1209
- if (elevatedPermissions)
1210
- console.log("Switching to root user to install dependencies...");
1211
- const { code } = await (0, import_spawnAsync.spawnAsync)(command, args, { cwd, stdio: "inherit" });
1212
- if (code !== 0)
1213
- throw new Error(`Failed to install ${channel}`);
1214
- }
1215
- }
1216
- async listInstalledBrowsers() {
1217
- const linksDir = import_path.default.join(registryDirectory, ".links");
1218
- const { browsers } = await this._traverseBrowserInstallations(linksDir);
1219
- return browsers.filter((browser) => import_fs.default.existsSync(browser.browserPath));
1220
- }
1221
- async _validateInstallationCache(linksDir) {
1222
- const { browsers, brokenLinks } = await this._traverseBrowserInstallations(linksDir);
1223
- await this._deleteStaleBrowsers(browsers);
1224
- await this._deleteBrokenInstallations(brokenLinks);
1225
- }
1226
- async _traverseBrowserInstallations(linksDir) {
1227
- const browserList = [];
1228
- const brokenLinks = [];
1229
- for (const fileName of await import_fs.default.promises.readdir(linksDir)) {
1230
- const linkPath = import_path.default.join(linksDir, fileName);
1231
- let linkTarget = "";
1232
- try {
1233
- linkTarget = (await import_fs.default.promises.readFile(linkPath)).toString();
1234
- const browsersJSON = require(import_path.default.join(linkTarget, "browsers.json"));
1235
- const descriptors = readDescriptors(browsersJSON);
1236
- for (const browserName of allDownloadable) {
1237
- const descriptor = descriptors.find((d) => d.name === browserName);
1238
- if (!descriptor)
1239
- continue;
1240
- const browserPath = descriptor.dir;
1241
- const browserVersion = parseInt(descriptor.revision, 10);
1242
- browserList.push({
1243
- browserName,
1244
- browserVersion,
1245
- browserPath,
1246
- referenceDir: linkTarget
1247
- });
1248
- }
1249
- } catch (e) {
1250
- brokenLinks.push(linkPath);
1251
- }
1252
- }
1253
- return { browsers: browserList, brokenLinks };
1254
- }
1255
- async _deleteStaleBrowsers(browserList) {
1256
- const usedBrowserPaths = /* @__PURE__ */ new Set();
1257
- for (const browser of browserList) {
1258
- const { browserName, browserVersion, browserPath } = browser;
1259
- const shouldHaveMarkerFile = browserName === "chromium" && (browserVersion >= 786218 || browserVersion < 3e5) || browserName === "firefox" && browserVersion >= 1128 || browserName === "webkit" && browserVersion >= 1307 || // All new applications have a marker file right away.
1260
- browserName !== "firefox" && browserName !== "chromium" && browserName !== "webkit";
1261
- if (!shouldHaveMarkerFile || await (0, import_fileUtils.existsAsync)(browserDirectoryToMarkerFilePath(browserPath)))
1262
- usedBrowserPaths.add(browserPath);
1263
- }
1264
- let downloadedBrowsers = (await import_fs.default.promises.readdir(registryDirectory)).map((file) => import_path.default.join(registryDirectory, file));
1265
- downloadedBrowsers = downloadedBrowsers.filter((file) => isBrowserDirectory(file));
1266
- const directories = new Set(downloadedBrowsers);
1267
- for (const browserDirectory of usedBrowserPaths)
1268
- directories.delete(browserDirectory);
1269
- for (const directory of directories)
1270
- (0, import_browserFetcher.logPolitely)("Removing unused browser at " + directory);
1271
- await (0, import_fileUtils.removeFolders)([...directories]);
1272
- }
1273
- async _deleteBrokenInstallations(brokenLinks) {
1274
- for (const linkPath of brokenLinks)
1275
- await import_fs.default.promises.unlink(linkPath).catch((e) => {
1276
- });
1277
- }
1278
- }
1279
- function browserDirectoryToMarkerFilePath(browserDirectory) {
1280
- return import_path.default.join(browserDirectory, "INSTALLATION_COMPLETE");
1281
- }
1282
- function buildPlaywrightCLICommand(sdkLanguage, parameters) {
1283
- switch (sdkLanguage) {
1284
- case "python":
1285
- return `playwright ${parameters}`;
1286
- case "java":
1287
- return `mvn exec:java -e -D exec.mainClass=com.microsoft.playwright.CLI -D exec.args="${parameters}"`;
1288
- case "csharp":
1289
- return `pwsh bin/Debug/netX/playwright.ps1 ${parameters}`;
1290
- default: {
1291
- const packageManagerCommand = (0, import_utils.getPackageManagerExecCommand)();
1292
- return `${packageManagerCommand} playwright ${parameters}`;
1293
- }
1294
- }
1295
- }
1296
- async function installBrowsersForNpmInstall(browsers) {
1297
- if ((0, import_utils.getAsBooleanFromENV)("PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD")) {
1298
- (0, import_browserFetcher.logPolitely)("Skipping browsers download because `PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD` env variable is set");
1299
- return false;
1300
- }
1301
- const executables = [];
1302
- if (process.platform === "win32")
1303
- executables.push(registry.findExecutable("winldd"));
1304
- for (const browserName of browsers) {
1305
- const executable = registry.findExecutable(browserName);
1306
- if (!executable || executable.installType === "none")
1307
- throw new Error(`Cannot install ${browserName}`);
1308
- executables.push(executable);
1309
- }
1310
- await registry.install(
1311
- executables,
1312
- false
1313
- /* forceReinstall */
1314
- );
1315
- }
1316
- function findChromiumChannelBestEffort(sdkLanguage) {
1317
- let channel = null;
1318
- for (const name of ["chromium", "chrome", "msedge"]) {
1319
- try {
1320
- registry.findExecutable(name).executablePathOrDie(sdkLanguage);
1321
- channel = name === "chromium" ? void 0 : name;
1322
- break;
1323
- } catch (e) {
1324
- }
1325
- }
1326
- if (channel === null) {
1327
- const installCommand = buildPlaywrightCLICommand(sdkLanguage, `install chromium`);
1328
- const prettyMessage = [
1329
- `No chromium-based browser found on the system.`,
1330
- `Please run the following command to download one:`,
1331
- ``,
1332
- ` ${installCommand}`,
1333
- ``,
1334
- `<3 Playwright Team`
1335
- ].join("\n");
1336
- throw new Error("\n" + (0, import_ascii.wrapInASCIIBox)(prettyMessage, 1));
1337
- }
1338
- return channel;
1339
- }
1340
- function lowercaseAllKeys(json) {
1341
- if (typeof json !== "object" || !json)
1342
- return json;
1343
- if (Array.isArray(json))
1344
- return json.map(lowercaseAllKeys);
1345
- const result = {};
1346
- for (const [key, value] of Object.entries(json))
1347
- result[key.toLowerCase()] = lowercaseAllKeys(value);
1348
- return result;
1349
- }
1350
- const registry = new Registry(require("../../../browsers.json"));
1351
- // Annotate the CommonJS export names for ESM import in node:
1352
- 0 && (module.exports = {
1353
- Registry,
1354
- browserDirectoryToMarkerFilePath,
1355
- buildPlaywrightCLICommand,
1356
- findChromiumChannelBestEffort,
1357
- installBrowsersForNpmInstall,
1358
- registry,
1359
- registryDirectory,
1360
- writeDockerVersion
1361
- });