@zohodesk/testinglibrary 3.2.13 → 3.2.14

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 (533) hide show
  1. package/.gitlab-ci.yml +13 -13
  2. package/build/common/data-generator/steps/DataGeneratorStepsHelper.js +3 -1
  3. package/build/core/dataGenerator/DataGenerator.js +0 -9
  4. package/build/core/playwright/helpers/auth/getUsers.js +2 -1
  5. package/build/test/Test.js +13 -0
  6. package/npm-shrinkwrap.json +140 -220
  7. package/package.json +1 -3
  8. package/playwright-mcp-test/node_modules/.package-lock.json +0 -54
  9. package/playwright-mcp-test/node_modules/@playwright/mcp/LICENSE +0 -202
  10. package/playwright-mcp-test/node_modules/@playwright/mcp/README.md +0 -907
  11. package/playwright-mcp-test/node_modules/@playwright/mcp/cli.js +0 -24
  12. package/playwright-mcp-test/node_modules/@playwright/mcp/config.d.ts +0 -174
  13. package/playwright-mcp-test/node_modules/@playwright/mcp/index.d.ts +0 -23
  14. package/playwright-mcp-test/node_modules/@playwright/mcp/index.js +0 -19
  15. package/playwright-mcp-test/node_modules/@playwright/mcp/package.json +0 -52
  16. package/playwright-mcp-test/node_modules/playwright/LICENSE +0 -202
  17. package/playwright-mcp-test/node_modules/playwright/NOTICE +0 -5
  18. package/playwright-mcp-test/node_modules/playwright/README.md +0 -168
  19. package/playwright-mcp-test/node_modules/playwright/ThirdPartyNotices.txt +0 -6277
  20. package/playwright-mcp-test/node_modules/playwright/cli.js +0 -19
  21. package/playwright-mcp-test/node_modules/playwright/index.d.ts +0 -17
  22. package/playwright-mcp-test/node_modules/playwright/index.js +0 -17
  23. package/playwright-mcp-test/node_modules/playwright/index.mjs +0 -18
  24. package/playwright-mcp-test/node_modules/playwright/jsx-runtime.js +0 -42
  25. package/playwright-mcp-test/node_modules/playwright/jsx-runtime.mjs +0 -21
  26. package/playwright-mcp-test/node_modules/playwright/lib/agents/generateAgents.js +0 -368
  27. package/playwright-mcp-test/node_modules/playwright/lib/agents/generator.agent.md +0 -101
  28. package/playwright-mcp-test/node_modules/playwright/lib/agents/healer.agent.md +0 -77
  29. package/playwright-mcp-test/node_modules/playwright/lib/agents/planner.agent.md +0 -138
  30. package/playwright-mcp-test/node_modules/playwright/lib/agents/test-coverage.prompt.md +0 -31
  31. package/playwright-mcp-test/node_modules/playwright/lib/agents/test-generate.prompt.md +0 -8
  32. package/playwright-mcp-test/node_modules/playwright/lib/agents/test-heal.prompt.md +0 -6
  33. package/playwright-mcp-test/node_modules/playwright/lib/agents/test-plan.prompt.md +0 -9
  34. package/playwright-mcp-test/node_modules/playwright/lib/common/config.js +0 -280
  35. package/playwright-mcp-test/node_modules/playwright/lib/common/configLoader.js +0 -344
  36. package/playwright-mcp-test/node_modules/playwright/lib/common/esmLoaderHost.js +0 -102
  37. package/playwright-mcp-test/node_modules/playwright/lib/common/expectBundle.js +0 -52
  38. package/playwright-mcp-test/node_modules/playwright/lib/common/expectBundleImpl.js +0 -389
  39. package/playwright-mcp-test/node_modules/playwright/lib/common/fixtures.js +0 -302
  40. package/playwright-mcp-test/node_modules/playwright/lib/common/globals.js +0 -58
  41. package/playwright-mcp-test/node_modules/playwright/lib/common/ipc.js +0 -60
  42. package/playwright-mcp-test/node_modules/playwright/lib/common/poolBuilder.js +0 -85
  43. package/playwright-mcp-test/node_modules/playwright/lib/common/process.js +0 -104
  44. package/playwright-mcp-test/node_modules/playwright/lib/common/suiteUtils.js +0 -140
  45. package/playwright-mcp-test/node_modules/playwright/lib/common/test.js +0 -321
  46. package/playwright-mcp-test/node_modules/playwright/lib/common/testLoader.js +0 -101
  47. package/playwright-mcp-test/node_modules/playwright/lib/common/testType.js +0 -298
  48. package/playwright-mcp-test/node_modules/playwright/lib/common/validators.js +0 -68
  49. package/playwright-mcp-test/node_modules/playwright/lib/fsWatcher.js +0 -67
  50. package/playwright-mcp-test/node_modules/playwright/lib/index.js +0 -682
  51. package/playwright-mcp-test/node_modules/playwright/lib/internalsForTest.js +0 -42
  52. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/events.js +0 -77
  53. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/folders.js +0 -30
  54. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/stringInternPool.js +0 -69
  55. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/teleReceiver.js +0 -508
  56. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/teleSuiteUpdater.js +0 -137
  57. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/testServerConnection.js +0 -211
  58. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/testServerInterface.js +0 -16
  59. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/testTree.js +0 -334
  60. package/playwright-mcp-test/node_modules/playwright/lib/isomorphic/types.d.js +0 -16
  61. package/playwright-mcp-test/node_modules/playwright/lib/loader/loaderMain.js +0 -59
  62. package/playwright-mcp-test/node_modules/playwright/lib/matchers/expect.js +0 -325
  63. package/playwright-mcp-test/node_modules/playwright/lib/matchers/matcherHint.js +0 -87
  64. package/playwright-mcp-test/node_modules/playwright/lib/matchers/matchers.js +0 -366
  65. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toBeTruthy.js +0 -73
  66. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toEqual.js +0 -99
  67. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toHaveURL.js +0 -102
  68. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toMatchAriaSnapshot.js +0 -159
  69. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toMatchSnapshot.js +0 -341
  70. package/playwright-mcp-test/node_modules/playwright/lib/matchers/toMatchText.js +0 -99
  71. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/actions.d.js +0 -16
  72. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/browserContextFactory.js +0 -296
  73. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/browserServerBackend.js +0 -76
  74. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/codegen.js +0 -66
  75. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/config.js +0 -385
  76. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/context.js +0 -287
  77. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/response.js +0 -228
  78. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/sessionLog.js +0 -160
  79. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tab.js +0 -280
  80. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/common.js +0 -63
  81. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/console.js +0 -44
  82. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/dialogs.js +0 -60
  83. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/evaluate.js +0 -69
  84. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/files.js +0 -58
  85. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/form.js +0 -73
  86. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/install.js +0 -69
  87. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/keyboard.js +0 -84
  88. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/mouse.js +0 -107
  89. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/navigate.js +0 -62
  90. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/network.js +0 -54
  91. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/pdf.js +0 -59
  92. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/screenshot.js +0 -106
  93. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/snapshot.js +0 -181
  94. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/tabs.js +0 -67
  95. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/tool.js +0 -49
  96. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/tracing.js +0 -74
  97. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/utils.js +0 -89
  98. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/verify.js +0 -153
  99. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools/wait.js +0 -63
  100. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/tools.js +0 -80
  101. package/playwright-mcp-test/node_modules/playwright/lib/mcp/browser/watchdog.js +0 -44
  102. package/playwright-mcp-test/node_modules/playwright/lib/mcp/config.d.js +0 -16
  103. package/playwright-mcp-test/node_modules/playwright/lib/mcp/extension/cdpRelay.js +0 -351
  104. package/playwright-mcp-test/node_modules/playwright/lib/mcp/extension/extensionContextFactory.js +0 -75
  105. package/playwright-mcp-test/node_modules/playwright/lib/mcp/extension/protocol.js +0 -28
  106. package/playwright-mcp-test/node_modules/playwright/lib/mcp/index.js +0 -61
  107. package/playwright-mcp-test/node_modules/playwright/lib/mcp/log.js +0 -35
  108. package/playwright-mcp-test/node_modules/playwright/lib/mcp/program.js +0 -96
  109. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/bundle.js +0 -81
  110. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/exports.js +0 -32
  111. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/http.js +0 -187
  112. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/inProcessTransport.js +0 -71
  113. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/mdb.js +0 -206
  114. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/proxyBackend.js +0 -128
  115. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/server.js +0 -189
  116. package/playwright-mcp-test/node_modules/playwright/lib/mcp/sdk/tool.js +0 -51
  117. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/browserBackend.js +0 -98
  118. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/generatorTools.js +0 -122
  119. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/plannerTools.js +0 -46
  120. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/seed.js +0 -82
  121. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/streams.js +0 -39
  122. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/testBackend.js +0 -97
  123. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/testContext.js +0 -176
  124. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/testTool.js +0 -30
  125. package/playwright-mcp-test/node_modules/playwright/lib/mcp/test/testTools.js +0 -115
  126. package/playwright-mcp-test/node_modules/playwright/lib/mcpBundleImpl.js +0 -41
  127. package/playwright-mcp-test/node_modules/playwright/lib/plugins/gitCommitInfoPlugin.js +0 -198
  128. package/playwright-mcp-test/node_modules/playwright/lib/plugins/index.js +0 -28
  129. package/playwright-mcp-test/node_modules/playwright/lib/plugins/webServerPlugin.js +0 -209
  130. package/playwright-mcp-test/node_modules/playwright/lib/program.js +0 -411
  131. package/playwright-mcp-test/node_modules/playwright/lib/reporters/base.js +0 -609
  132. package/playwright-mcp-test/node_modules/playwright/lib/reporters/blob.js +0 -135
  133. package/playwright-mcp-test/node_modules/playwright/lib/reporters/dot.js +0 -82
  134. package/playwright-mcp-test/node_modules/playwright/lib/reporters/empty.js +0 -32
  135. package/playwright-mcp-test/node_modules/playwright/lib/reporters/github.js +0 -128
  136. package/playwright-mcp-test/node_modules/playwright/lib/reporters/html.js +0 -623
  137. package/playwright-mcp-test/node_modules/playwright/lib/reporters/internalReporter.js +0 -130
  138. package/playwright-mcp-test/node_modules/playwright/lib/reporters/json.js +0 -254
  139. package/playwright-mcp-test/node_modules/playwright/lib/reporters/junit.js +0 -232
  140. package/playwright-mcp-test/node_modules/playwright/lib/reporters/line.js +0 -113
  141. package/playwright-mcp-test/node_modules/playwright/lib/reporters/list.js +0 -235
  142. package/playwright-mcp-test/node_modules/playwright/lib/reporters/listModeReporter.js +0 -69
  143. package/playwright-mcp-test/node_modules/playwright/lib/reporters/markdown.js +0 -144
  144. package/playwright-mcp-test/node_modules/playwright/lib/reporters/merge.js +0 -541
  145. package/playwright-mcp-test/node_modules/playwright/lib/reporters/multiplexer.js +0 -104
  146. package/playwright-mcp-test/node_modules/playwright/lib/reporters/reporterV2.js +0 -102
  147. package/playwright-mcp-test/node_modules/playwright/lib/reporters/teleEmitter.js +0 -298
  148. package/playwright-mcp-test/node_modules/playwright/lib/reporters/versions/blobV1.js +0 -16
  149. package/playwright-mcp-test/node_modules/playwright/lib/runner/dispatcher.js +0 -491
  150. package/playwright-mcp-test/node_modules/playwright/lib/runner/failureTracker.js +0 -72
  151. package/playwright-mcp-test/node_modules/playwright/lib/runner/lastRun.js +0 -77
  152. package/playwright-mcp-test/node_modules/playwright/lib/runner/loadUtils.js +0 -334
  153. package/playwright-mcp-test/node_modules/playwright/lib/runner/loaderHost.js +0 -89
  154. package/playwright-mcp-test/node_modules/playwright/lib/runner/processHost.js +0 -161
  155. package/playwright-mcp-test/node_modules/playwright/lib/runner/projectUtils.js +0 -241
  156. package/playwright-mcp-test/node_modules/playwright/lib/runner/rebase.js +0 -189
  157. package/playwright-mcp-test/node_modules/playwright/lib/runner/reporters.js +0 -139
  158. package/playwright-mcp-test/node_modules/playwright/lib/runner/sigIntWatcher.js +0 -96
  159. package/playwright-mcp-test/node_modules/playwright/lib/runner/taskRunner.js +0 -127
  160. package/playwright-mcp-test/node_modules/playwright/lib/runner/tasks.js +0 -410
  161. package/playwright-mcp-test/node_modules/playwright/lib/runner/testGroups.js +0 -117
  162. package/playwright-mcp-test/node_modules/playwright/lib/runner/testRunner.js +0 -390
  163. package/playwright-mcp-test/node_modules/playwright/lib/runner/testServer.js +0 -264
  164. package/playwright-mcp-test/node_modules/playwright/lib/runner/uiModeReporter.js +0 -30
  165. package/playwright-mcp-test/node_modules/playwright/lib/runner/vcs.js +0 -72
  166. package/playwright-mcp-test/node_modules/playwright/lib/runner/watchMode.js +0 -395
  167. package/playwright-mcp-test/node_modules/playwright/lib/runner/workerHost.js +0 -95
  168. package/playwright-mcp-test/node_modules/playwright/lib/third_party/pirates.js +0 -62
  169. package/playwright-mcp-test/node_modules/playwright/lib/third_party/tsconfig-loader.js +0 -103
  170. package/playwright-mcp-test/node_modules/playwright/lib/transform/babelBundle.js +0 -43
  171. package/playwright-mcp-test/node_modules/playwright/lib/transform/babelBundleImpl.js +0 -461
  172. package/playwright-mcp-test/node_modules/playwright/lib/transform/compilationCache.js +0 -272
  173. package/playwright-mcp-test/node_modules/playwright/lib/transform/esmLoader.js +0 -104
  174. package/playwright-mcp-test/node_modules/playwright/lib/transform/portTransport.js +0 -67
  175. package/playwright-mcp-test/node_modules/playwright/lib/transform/transform.js +0 -293
  176. package/playwright-mcp-test/node_modules/playwright/lib/util.js +0 -403
  177. package/playwright-mcp-test/node_modules/playwright/lib/utilsBundle.js +0 -43
  178. package/playwright-mcp-test/node_modules/playwright/lib/utilsBundleImpl.js +0 -100
  179. package/playwright-mcp-test/node_modules/playwright/lib/worker/fixtureRunner.js +0 -258
  180. package/playwright-mcp-test/node_modules/playwright/lib/worker/testInfo.js +0 -514
  181. package/playwright-mcp-test/node_modules/playwright/lib/worker/testTracing.js +0 -344
  182. package/playwright-mcp-test/node_modules/playwright/lib/worker/timeoutManager.js +0 -174
  183. package/playwright-mcp-test/node_modules/playwright/lib/worker/util.js +0 -31
  184. package/playwright-mcp-test/node_modules/playwright/lib/worker/workerMain.js +0 -520
  185. package/playwright-mcp-test/node_modules/playwright/package.json +0 -72
  186. package/playwright-mcp-test/node_modules/playwright/test.d.ts +0 -18
  187. package/playwright-mcp-test/node_modules/playwright/test.js +0 -24
  188. package/playwright-mcp-test/node_modules/playwright/test.mjs +0 -33
  189. package/playwright-mcp-test/node_modules/playwright/types/test.d.ts +0 -10185
  190. package/playwright-mcp-test/node_modules/playwright/types/testReporter.d.ts +0 -821
  191. package/playwright-mcp-test/node_modules/playwright-core/LICENSE +0 -202
  192. package/playwright-mcp-test/node_modules/playwright-core/NOTICE +0 -5
  193. package/playwright-mcp-test/node_modules/playwright-core/README.md +0 -3
  194. package/playwright-mcp-test/node_modules/playwright-core/ThirdPartyNotices.txt +0 -1161
  195. package/playwright-mcp-test/node_modules/playwright-core/bin/install_media_pack.ps1 +0 -5
  196. package/playwright-mcp-test/node_modules/playwright-core/bin/install_webkit_wsl.ps1 +0 -35
  197. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +0 -42
  198. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +0 -13
  199. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 +0 -24
  200. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +0 -42
  201. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +0 -12
  202. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 +0 -24
  203. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +0 -48
  204. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +0 -11
  205. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 +0 -23
  206. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +0 -48
  207. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +0 -11
  208. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 +0 -23
  209. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +0 -48
  210. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +0 -11
  211. package/playwright-mcp-test/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 +0 -24
  212. package/playwright-mcp-test/node_modules/playwright-core/browsers.json +0 -80
  213. package/playwright-mcp-test/node_modules/playwright-core/cli.js +0 -18
  214. package/playwright-mcp-test/node_modules/playwright-core/index.d.ts +0 -17
  215. package/playwright-mcp-test/node_modules/playwright-core/index.js +0 -32
  216. package/playwright-mcp-test/node_modules/playwright-core/index.mjs +0 -28
  217. package/playwright-mcp-test/node_modules/playwright-core/lib/androidServerImpl.js +0 -65
  218. package/playwright-mcp-test/node_modules/playwright-core/lib/browserServerImpl.js +0 -120
  219. package/playwright-mcp-test/node_modules/playwright-core/lib/cli/driver.js +0 -97
  220. package/playwright-mcp-test/node_modules/playwright-core/lib/cli/program.js +0 -634
  221. package/playwright-mcp-test/node_modules/playwright-core/lib/cli/programWithTestStub.js +0 -74
  222. package/playwright-mcp-test/node_modules/playwright-core/lib/client/accessibility.js +0 -49
  223. package/playwright-mcp-test/node_modules/playwright-core/lib/client/android.js +0 -361
  224. package/playwright-mcp-test/node_modules/playwright-core/lib/client/api.js +0 -137
  225. package/playwright-mcp-test/node_modules/playwright-core/lib/client/artifact.js +0 -79
  226. package/playwright-mcp-test/node_modules/playwright-core/lib/client/browser.js +0 -163
  227. package/playwright-mcp-test/node_modules/playwright-core/lib/client/browserContext.js +0 -529
  228. package/playwright-mcp-test/node_modules/playwright-core/lib/client/browserType.js +0 -184
  229. package/playwright-mcp-test/node_modules/playwright-core/lib/client/cdpSession.js +0 -51
  230. package/playwright-mcp-test/node_modules/playwright-core/lib/client/channelOwner.js +0 -194
  231. package/playwright-mcp-test/node_modules/playwright-core/lib/client/clientHelper.js +0 -64
  232. package/playwright-mcp-test/node_modules/playwright-core/lib/client/clientInstrumentation.js +0 -55
  233. package/playwright-mcp-test/node_modules/playwright-core/lib/client/clientStackTrace.js +0 -69
  234. package/playwright-mcp-test/node_modules/playwright-core/lib/client/clock.js +0 -68
  235. package/playwright-mcp-test/node_modules/playwright-core/lib/client/connection.js +0 -314
  236. package/playwright-mcp-test/node_modules/playwright-core/lib/client/consoleMessage.js +0 -54
  237. package/playwright-mcp-test/node_modules/playwright-core/lib/client/coverage.js +0 -44
  238. package/playwright-mcp-test/node_modules/playwright-core/lib/client/dialog.js +0 -56
  239. package/playwright-mcp-test/node_modules/playwright-core/lib/client/download.js +0 -62
  240. package/playwright-mcp-test/node_modules/playwright-core/lib/client/electron.js +0 -138
  241. package/playwright-mcp-test/node_modules/playwright-core/lib/client/elementHandle.js +0 -281
  242. package/playwright-mcp-test/node_modules/playwright-core/lib/client/errors.js +0 -77
  243. package/playwright-mcp-test/node_modules/playwright-core/lib/client/eventEmitter.js +0 -314
  244. package/playwright-mcp-test/node_modules/playwright-core/lib/client/events.js +0 -99
  245. package/playwright-mcp-test/node_modules/playwright-core/lib/client/fetch.js +0 -369
  246. package/playwright-mcp-test/node_modules/playwright-core/lib/client/fileChooser.js +0 -46
  247. package/playwright-mcp-test/node_modules/playwright-core/lib/client/fileUtils.js +0 -34
  248. package/playwright-mcp-test/node_modules/playwright-core/lib/client/frame.js +0 -408
  249. package/playwright-mcp-test/node_modules/playwright-core/lib/client/harRouter.js +0 -87
  250. package/playwright-mcp-test/node_modules/playwright-core/lib/client/input.js +0 -84
  251. package/playwright-mcp-test/node_modules/playwright-core/lib/client/jsHandle.js +0 -109
  252. package/playwright-mcp-test/node_modules/playwright-core/lib/client/jsonPipe.js +0 -39
  253. package/playwright-mcp-test/node_modules/playwright-core/lib/client/localUtils.js +0 -60
  254. package/playwright-mcp-test/node_modules/playwright-core/lib/client/locator.js +0 -369
  255. package/playwright-mcp-test/node_modules/playwright-core/lib/client/network.js +0 -747
  256. package/playwright-mcp-test/node_modules/playwright-core/lib/client/page.js +0 -721
  257. package/playwright-mcp-test/node_modules/playwright-core/lib/client/platform.js +0 -74
  258. package/playwright-mcp-test/node_modules/playwright-core/lib/client/playwright.js +0 -71
  259. package/playwright-mcp-test/node_modules/playwright-core/lib/client/selectors.js +0 -55
  260. package/playwright-mcp-test/node_modules/playwright-core/lib/client/stream.js +0 -39
  261. package/playwright-mcp-test/node_modules/playwright-core/lib/client/timeoutSettings.js +0 -79
  262. package/playwright-mcp-test/node_modules/playwright-core/lib/client/tracing.js +0 -117
  263. package/playwright-mcp-test/node_modules/playwright-core/lib/client/types.js +0 -28
  264. package/playwright-mcp-test/node_modules/playwright-core/lib/client/video.js +0 -59
  265. package/playwright-mcp-test/node_modules/playwright-core/lib/client/waiter.js +0 -142
  266. package/playwright-mcp-test/node_modules/playwright-core/lib/client/webError.js +0 -39
  267. package/playwright-mcp-test/node_modules/playwright-core/lib/client/webSocket.js +0 -93
  268. package/playwright-mcp-test/node_modules/playwright-core/lib/client/worker.js +0 -63
  269. package/playwright-mcp-test/node_modules/playwright-core/lib/client/writableStream.js +0 -39
  270. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/bindingsControllerSource.js +0 -28
  271. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/clockSource.js +0 -28
  272. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/injectedScriptSource.js +0 -28
  273. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/pollingRecorderSource.js +0 -28
  274. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/storageScriptSource.js +0 -28
  275. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/utilityScriptSource.js +0 -28
  276. package/playwright-mcp-test/node_modules/playwright-core/lib/generated/webSocketMockSource.js +0 -336
  277. package/playwright-mcp-test/node_modules/playwright-core/lib/inProcessFactory.js +0 -60
  278. package/playwright-mcp-test/node_modules/playwright-core/lib/inprocess.js +0 -3
  279. package/playwright-mcp-test/node_modules/playwright-core/lib/outofprocess.js +0 -76
  280. package/playwright-mcp-test/node_modules/playwright-core/lib/protocol/serializers.js +0 -192
  281. package/playwright-mcp-test/node_modules/playwright-core/lib/protocol/validator.js +0 -2912
  282. package/playwright-mcp-test/node_modules/playwright-core/lib/protocol/validatorPrimitives.js +0 -193
  283. package/playwright-mcp-test/node_modules/playwright-core/lib/remote/playwrightConnection.js +0 -129
  284. package/playwright-mcp-test/node_modules/playwright-core/lib/remote/playwrightServer.js +0 -335
  285. package/playwright-mcp-test/node_modules/playwright-core/lib/server/accessibility.js +0 -69
  286. package/playwright-mcp-test/node_modules/playwright-core/lib/server/android/android.js +0 -465
  287. package/playwright-mcp-test/node_modules/playwright-core/lib/server/android/backendAdb.js +0 -177
  288. package/playwright-mcp-test/node_modules/playwright-core/lib/server/artifact.js +0 -127
  289. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiBrowser.js +0 -490
  290. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiChromium.js +0 -153
  291. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiConnection.js +0 -212
  292. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiExecutionContext.js +0 -221
  293. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiFirefox.js +0 -130
  294. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiInput.js +0 -146
  295. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiNetworkManager.js +0 -383
  296. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiOverCdp.js +0 -102
  297. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiPage.js +0 -554
  298. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/bidiPdf.js +0 -106
  299. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiCommands.d.js +0 -22
  300. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiDeserializer.js +0 -98
  301. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiKeyboard.js +0 -256
  302. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocol.js +0 -24
  303. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocolCore.js +0 -179
  304. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocolPermissions.js +0 -42
  305. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/bidiSerializer.js +0 -148
  306. package/playwright-mcp-test/node_modules/playwright-core/lib/server/bidi/third_party/firefoxPrefs.js +0 -259
  307. package/playwright-mcp-test/node_modules/playwright-core/lib/server/browser.js +0 -149
  308. package/playwright-mcp-test/node_modules/playwright-core/lib/server/browserContext.js +0 -695
  309. package/playwright-mcp-test/node_modules/playwright-core/lib/server/browserType.js +0 -328
  310. package/playwright-mcp-test/node_modules/playwright-core/lib/server/callLog.js +0 -82
  311. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/appIcon.png +0 -0
  312. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/chromium.js +0 -402
  313. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/chromiumSwitches.js +0 -95
  314. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crAccessibility.js +0 -263
  315. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crBrowser.js +0 -502
  316. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crConnection.js +0 -202
  317. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crCoverage.js +0 -235
  318. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crDevTools.js +0 -113
  319. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crDragDrop.js +0 -131
  320. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crExecutionContext.js +0 -146
  321. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crInput.js +0 -187
  322. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crNetworkManager.js +0 -666
  323. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crPage.js +0 -1069
  324. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crPdf.js +0 -121
  325. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crProtocolHelper.js +0 -145
  326. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/crServiceWorker.js +0 -123
  327. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/defaultFontFamilies.js +0 -162
  328. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/protocol.d.js +0 -16
  329. package/playwright-mcp-test/node_modules/playwright-core/lib/server/chromium/videoRecorder.js +0 -113
  330. package/playwright-mcp-test/node_modules/playwright-core/lib/server/clock.js +0 -149
  331. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/csharp.js +0 -327
  332. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/java.js +0 -274
  333. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/javascript.js +0 -270
  334. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/jsonl.js +0 -52
  335. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/language.js +0 -132
  336. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/languages.js +0 -68
  337. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/python.js +0 -279
  338. package/playwright-mcp-test/node_modules/playwright-core/lib/server/codegen/types.js +0 -16
  339. package/playwright-mcp-test/node_modules/playwright-core/lib/server/console.js +0 -53
  340. package/playwright-mcp-test/node_modules/playwright-core/lib/server/cookieStore.js +0 -206
  341. package/playwright-mcp-test/node_modules/playwright-core/lib/server/debugController.js +0 -191
  342. package/playwright-mcp-test/node_modules/playwright-core/lib/server/debugger.js +0 -119
  343. package/playwright-mcp-test/node_modules/playwright-core/lib/server/deviceDescriptors.js +0 -39
  344. package/playwright-mcp-test/node_modules/playwright-core/lib/server/deviceDescriptorsSource.json +0 -1779
  345. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dialog.js +0 -116
  346. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/androidDispatcher.js +0 -325
  347. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/artifactDispatcher.js +0 -118
  348. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/browserContextDispatcher.js +0 -364
  349. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/browserDispatcher.js +0 -118
  350. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/browserTypeDispatcher.js +0 -64
  351. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/cdpSessionDispatcher.js +0 -44
  352. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/debugControllerDispatcher.js +0 -78
  353. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/dialogDispatcher.js +0 -47
  354. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/dispatcher.js +0 -371
  355. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/electronDispatcher.js +0 -89
  356. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/elementHandlerDispatcher.js +0 -181
  357. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/frameDispatcher.js +0 -227
  358. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/jsHandleDispatcher.js +0 -85
  359. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/jsonPipeDispatcher.js +0 -58
  360. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/localUtilsDispatcher.js +0 -149
  361. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/networkDispatchers.js +0 -213
  362. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/pageDispatcher.js +0 -401
  363. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/playwrightDispatcher.js +0 -108
  364. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/streamDispatcher.js +0 -67
  365. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/tracingDispatcher.js +0 -68
  366. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/webSocketRouteDispatcher.js +0 -165
  367. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dispatchers/writableStreamDispatcher.js +0 -79
  368. package/playwright-mcp-test/node_modules/playwright-core/lib/server/dom.js +0 -806
  369. package/playwright-mcp-test/node_modules/playwright-core/lib/server/download.js +0 -70
  370. package/playwright-mcp-test/node_modules/playwright-core/lib/server/electron/electron.js +0 -270
  371. package/playwright-mcp-test/node_modules/playwright-core/lib/server/electron/loader.js +0 -29
  372. package/playwright-mcp-test/node_modules/playwright-core/lib/server/errors.js +0 -69
  373. package/playwright-mcp-test/node_modules/playwright-core/lib/server/fetch.js +0 -621
  374. package/playwright-mcp-test/node_modules/playwright-core/lib/server/fileChooser.js +0 -43
  375. package/playwright-mcp-test/node_modules/playwright-core/lib/server/fileUploadUtils.js +0 -84
  376. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffAccessibility.js +0 -238
  377. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffBrowser.js +0 -428
  378. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffConnection.js +0 -147
  379. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffExecutionContext.js +0 -150
  380. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffInput.js +0 -159
  381. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffNetworkManager.js +0 -256
  382. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/ffPage.js +0 -503
  383. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/firefox.js +0 -116
  384. package/playwright-mcp-test/node_modules/playwright-core/lib/server/firefox/protocol.d.js +0 -16
  385. package/playwright-mcp-test/node_modules/playwright-core/lib/server/formData.js +0 -147
  386. package/playwright-mcp-test/node_modules/playwright-core/lib/server/frameSelectors.js +0 -154
  387. package/playwright-mcp-test/node_modules/playwright-core/lib/server/frames.js +0 -1455
  388. package/playwright-mcp-test/node_modules/playwright-core/lib/server/har/harRecorder.js +0 -147
  389. package/playwright-mcp-test/node_modules/playwright-core/lib/server/har/harTracer.js +0 -607
  390. package/playwright-mcp-test/node_modules/playwright-core/lib/server/harBackend.js +0 -157
  391. package/playwright-mcp-test/node_modules/playwright-core/lib/server/helper.js +0 -96
  392. package/playwright-mcp-test/node_modules/playwright-core/lib/server/index.js +0 -58
  393. package/playwright-mcp-test/node_modules/playwright-core/lib/server/input.js +0 -273
  394. package/playwright-mcp-test/node_modules/playwright-core/lib/server/instrumentation.js +0 -69
  395. package/playwright-mcp-test/node_modules/playwright-core/lib/server/javascript.js +0 -291
  396. package/playwright-mcp-test/node_modules/playwright-core/lib/server/launchApp.js +0 -128
  397. package/playwright-mcp-test/node_modules/playwright-core/lib/server/localUtils.js +0 -214
  398. package/playwright-mcp-test/node_modules/playwright-core/lib/server/macEditingCommands.js +0 -143
  399. package/playwright-mcp-test/node_modules/playwright-core/lib/server/network.js +0 -629
  400. package/playwright-mcp-test/node_modules/playwright-core/lib/server/page.js +0 -867
  401. package/playwright-mcp-test/node_modules/playwright-core/lib/server/pipeTransport.js +0 -89
  402. package/playwright-mcp-test/node_modules/playwright-core/lib/server/playwright.js +0 -69
  403. package/playwright-mcp-test/node_modules/playwright-core/lib/server/progress.js +0 -112
  404. package/playwright-mcp-test/node_modules/playwright-core/lib/server/protocolError.js +0 -52
  405. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/chat.js +0 -161
  406. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/recorderApp.js +0 -387
  407. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/recorderRunner.js +0 -138
  408. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/recorderSignalProcessor.js +0 -83
  409. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/recorderUtils.js +0 -157
  410. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder/throttledFile.js +0 -57
  411. package/playwright-mcp-test/node_modules/playwright-core/lib/server/recorder.js +0 -499
  412. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/browserFetcher.js +0 -175
  413. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/dependencies.js +0 -371
  414. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/index.js +0 -1361
  415. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/nativeDeps.js +0 -1280
  416. package/playwright-mcp-test/node_modules/playwright-core/lib/server/registry/oopDownloadBrowserMain.js +0 -124
  417. package/playwright-mcp-test/node_modules/playwright-core/lib/server/screenshotter.js +0 -333
  418. package/playwright-mcp-test/node_modules/playwright-core/lib/server/selectors.js +0 -112
  419. package/playwright-mcp-test/node_modules/playwright-core/lib/server/socksClientCertificatesInterceptor.js +0 -383
  420. package/playwright-mcp-test/node_modules/playwright-core/lib/server/socksInterceptor.js +0 -95
  421. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/recorder/snapshotter.js +0 -147
  422. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/recorder/snapshotterInjected.js +0 -541
  423. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/recorder/tracing.js +0 -602
  424. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/test/inMemorySnapshotter.js +0 -87
  425. package/playwright-mcp-test/node_modules/playwright-core/lib/server/trace/viewer/traceViewer.js +0 -230
  426. package/playwright-mcp-test/node_modules/playwright-core/lib/server/transport.js +0 -181
  427. package/playwright-mcp-test/node_modules/playwright-core/lib/server/types.js +0 -28
  428. package/playwright-mcp-test/node_modules/playwright-core/lib/server/usKeyboardLayout.js +0 -145
  429. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/ascii.js +0 -44
  430. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/comparators.js +0 -139
  431. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/crypto.js +0 -216
  432. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/debug.js +0 -42
  433. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/debugLogger.js +0 -122
  434. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/env.js +0 -73
  435. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/eventsHelper.js +0 -39
  436. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/expectUtils.js +0 -38
  437. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/fileUtils.js +0 -191
  438. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/happyEyeballs.js +0 -207
  439. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/hostPlatform.js +0 -123
  440. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/httpServer.js +0 -218
  441. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/imageUtils.js +0 -146
  442. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/image_tools/colorUtils.js +0 -89
  443. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/image_tools/compare.js +0 -109
  444. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/image_tools/imageChannel.js +0 -78
  445. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/image_tools/stats.js +0 -102
  446. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/linuxUtils.js +0 -71
  447. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/network.js +0 -233
  448. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/nodePlatform.js +0 -148
  449. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/pipeTransport.js +0 -84
  450. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/processLauncher.js +0 -241
  451. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/profiler.js +0 -65
  452. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/socksProxy.js +0 -511
  453. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/spawnAsync.js +0 -41
  454. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/task.js +0 -51
  455. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/userAgent.js +0 -98
  456. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/wsServer.js +0 -121
  457. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/zipFile.js +0 -74
  458. package/playwright-mcp-test/node_modules/playwright-core/lib/server/utils/zones.js +0 -57
  459. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/protocol.d.js +0 -16
  460. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/webkit.js +0 -119
  461. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkAccessibility.js +0 -237
  462. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkBrowser.js +0 -339
  463. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkConnection.js +0 -149
  464. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkExecutionContext.js +0 -154
  465. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkInput.js +0 -181
  466. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkInterceptableRequest.js +0 -169
  467. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkPage.js +0 -1134
  468. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkProvisionalPage.js +0 -83
  469. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wkWorkers.js +0 -104
  470. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wsl/webkit-wsl-transport-client.js +0 -74
  471. package/playwright-mcp-test/node_modules/playwright-core/lib/server/webkit/wsl/webkit-wsl-transport-server.js +0 -113
  472. package/playwright-mcp-test/node_modules/playwright-core/lib/third_party/pixelmatch.js +0 -255
  473. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/ariaSnapshot.js +0 -392
  474. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/assert.js +0 -31
  475. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/colors.js +0 -72
  476. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/cssParser.js +0 -245
  477. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/cssTokenizer.js +0 -1051
  478. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/headers.js +0 -53
  479. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/locatorGenerators.js +0 -689
  480. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/locatorParser.js +0 -176
  481. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/locatorUtils.js +0 -81
  482. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/manualPromise.js +0 -114
  483. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/mimeType.js +0 -459
  484. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/multimap.js +0 -80
  485. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/protocolFormatter.js +0 -81
  486. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/protocolMetainfo.js +0 -321
  487. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/rtti.js +0 -43
  488. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/selectorParser.js +0 -386
  489. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/semaphore.js +0 -54
  490. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/stackTrace.js +0 -158
  491. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/stringUtils.js +0 -155
  492. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/time.js +0 -49
  493. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/timeoutRunner.js +0 -66
  494. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/traceUtils.js +0 -58
  495. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/types.js +0 -16
  496. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/urlMatch.js +0 -179
  497. package/playwright-mcp-test/node_modules/playwright-core/lib/utils/isomorphic/utilityScriptSerializers.js +0 -251
  498. package/playwright-mcp-test/node_modules/playwright-core/lib/utils.js +0 -109
  499. package/playwright-mcp-test/node_modules/playwright-core/lib/utilsBundle.js +0 -112
  500. package/playwright-mcp-test/node_modules/playwright-core/lib/utilsBundleImpl/index.js +0 -218
  501. package/playwright-mcp-test/node_modules/playwright-core/lib/utilsBundleImpl/xdg-open +0 -1066
  502. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/htmlReport/index.html +0 -84
  503. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +0 -1
  504. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-DX585GyR.js +0 -25
  505. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  506. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/index-DjadjNw5.js +0 -193
  507. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/assets/index-Ri0uHF7I.css +0 -1
  508. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/index.html +0 -29
  509. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg +0 -9
  510. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-Cw-6jrKz.js +0 -25
  511. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-BZIhX7gh.js +0 -266
  512. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +0 -9
  513. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +0 -1
  514. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  515. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.BEjzWGz-.css +0 -1
  516. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/index.Dk_obRs3.js +0 -2
  517. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/index.I8N9v4jT.css +0 -1
  518. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/index.html +0 -43
  519. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/manifest.webmanifest +0 -16
  520. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg +0 -9
  521. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html +0 -21
  522. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +0 -3
  523. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/uiMode.Bai-qGIw.js +0 -5
  524. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/uiMode.Btcz36p_.css +0 -1
  525. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +0 -17
  526. package/playwright-mcp-test/node_modules/playwright-core/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +0 -32
  527. package/playwright-mcp-test/node_modules/playwright-core/lib/zipBundle.js +0 -34
  528. package/playwright-mcp-test/node_modules/playwright-core/lib/zipBundleImpl.js +0 -5
  529. package/playwright-mcp-test/node_modules/playwright-core/package.json +0 -42
  530. package/playwright-mcp-test/node_modules/playwright-core/types/protocol.d.ts +0 -23130
  531. package/playwright-mcp-test/node_modules/playwright-core/types/structs.d.ts +0 -45
  532. package/playwright-mcp-test/node_modules/playwright-core/types/types.d.ts +0 -22872
  533. 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
- });