@azure/microsoft-playwright-testing 1.0.0-alpha.20250317.1 → 1.0.0-alpha.20250319.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/dist/{common → browser/common}/constants.d.ts +1 -1
  2. package/dist/browser/common/constants.d.ts.map +1 -0
  3. package/dist/browser/common/constants.js +226 -0
  4. package/dist/browser/common/constants.js.map +1 -0
  5. package/dist/browser/common/customerConfig.d.ts.map +1 -0
  6. package/dist/browser/common/customerConfig.js +13 -0
  7. package/dist/{common → browser/common}/customerConfig.js.map +1 -1
  8. package/dist/{common → browser/common}/entraIdAccessToken.d.ts +2 -2
  9. package/dist/browser/common/entraIdAccessToken.d.ts.map +1 -0
  10. package/dist/browser/common/entraIdAccessToken.js +71 -0
  11. package/dist/browser/common/entraIdAccessToken.js.map +1 -0
  12. package/dist/browser/common/environmentVariables.d.ts.map +1 -0
  13. package/dist/browser/common/environmentVariables.js +15 -0
  14. package/dist/browser/common/environmentVariables.js.map +1 -0
  15. package/dist/browser/common/executor.d.ts.map +1 -0
  16. package/dist/browser/common/executor.js +74 -0
  17. package/dist/browser/common/executor.js.map +1 -0
  18. package/dist/browser/common/httpService.d.ts.map +1 -0
  19. package/dist/browser/common/httpService.js +33 -0
  20. package/dist/browser/common/httpService.js.map +1 -0
  21. package/dist/browser/common/logger.d.ts.map +1 -0
  22. package/dist/browser/common/logger.js +6 -0
  23. package/dist/browser/common/logger.js.map +1 -0
  24. package/dist/browser/common/messages.d.ts.map +1 -0
  25. package/dist/browser/common/messages.js +37 -0
  26. package/dist/browser/common/messages.js.map +1 -0
  27. package/dist/browser/common/multimap.d.ts.map +1 -0
  28. package/dist/browser/common/multimap.js +60 -0
  29. package/dist/browser/common/multimap.js.map +1 -0
  30. package/dist/{common → browser/common}/playwrightServiceConfig.d.ts +1 -1
  31. package/dist/browser/common/playwrightServiceConfig.d.ts.map +1 -0
  32. package/dist/browser/common/playwrightServiceConfig.js +45 -0
  33. package/dist/browser/common/playwrightServiceConfig.js.map +1 -0
  34. package/dist/{common → browser/common}/types.d.ts +1 -1
  35. package/dist/browser/common/types.d.ts.map +1 -0
  36. package/dist/browser/common/types.js +4 -0
  37. package/dist/browser/common/types.js.map +1 -0
  38. package/dist/browser/core/global/playwright-service-global-setup.d.ts.map +1 -0
  39. package/dist/browser/core/global/playwright-service-global-setup.js +19 -0
  40. package/dist/browser/core/global/playwright-service-global-setup.js.map +1 -0
  41. package/dist/browser/core/global/playwright-service-global-teardown.d.ts.map +1 -0
  42. package/dist/browser/core/global/playwright-service-global-teardown.js +19 -0
  43. package/dist/browser/core/global/playwright-service-global-teardown.js.map +1 -0
  44. package/dist/{core → browser/core}/playwrightService.d.ts +1 -1
  45. package/dist/browser/core/playwrightService.d.ts.map +1 -0
  46. package/dist/browser/core/playwrightService.js +190 -0
  47. package/dist/browser/core/playwrightService.js.map +1 -0
  48. package/dist/browser/core/playwrightServiceEntra.d.ts.map +1 -0
  49. package/dist/browser/core/playwrightServiceEntra.js +49 -0
  50. package/dist/browser/core/playwrightServiceEntra.js.map +1 -0
  51. package/dist/browser/core/playwrightServiceUtils.d.ts +3 -0
  52. package/dist/browser/core/playwrightServiceUtils.d.ts.map +1 -0
  53. package/dist/browser/core/playwrightServiceUtils.js +11 -0
  54. package/dist/browser/core/playwrightServiceUtils.js.map +1 -0
  55. package/dist/{index.d.ts → browser/index.d.ts} +3 -3
  56. package/dist/browser/index.d.ts.map +1 -0
  57. package/dist/browser/index.js +11 -0
  58. package/dist/browser/index.js.map +1 -0
  59. package/dist/browser/model/entraTokenDetails.d.ts.map +1 -0
  60. package/dist/browser/model/entraTokenDetails.js +5 -0
  61. package/dist/browser/model/entraTokenDetails.js.map +1 -0
  62. package/dist/browser/model/mptTokenDetails.d.ts.map +1 -0
  63. package/dist/browser/model/mptTokenDetails.js +10 -0
  64. package/dist/browser/model/mptTokenDetails.js.map +1 -0
  65. package/dist/browser/model/shard.d.ts.map +1 -0
  66. package/dist/browser/model/shard.js +19 -0
  67. package/dist/browser/model/shard.js.map +1 -0
  68. package/dist/browser/model/storageUri.d.ts.map +1 -0
  69. package/dist/browser/model/storageUri.js +18 -0
  70. package/dist/browser/model/storageUri.js.map +1 -0
  71. package/dist/{model → browser/model}/testResult.d.ts +1 -1
  72. package/dist/browser/model/testResult.d.ts.map +1 -0
  73. package/dist/browser/model/testResult.js +5 -0
  74. package/dist/browser/model/testResult.js.map +1 -0
  75. package/dist/{model → browser/model}/testRun.d.ts +1 -1
  76. package/dist/browser/model/testRun.d.ts.map +1 -0
  77. package/dist/browser/model/testRun.js +8 -0
  78. package/dist/browser/model/testRun.js.map +1 -0
  79. package/dist/browser/package.json +3 -0
  80. package/dist/{reporter → browser/reporter}/index.d.ts +1 -1
  81. package/dist/browser/reporter/index.d.ts.map +1 -0
  82. package/dist/browser/reporter/index.js +12 -0
  83. package/dist/browser/reporter/index.js.map +1 -0
  84. package/dist/{reporter → browser/reporter}/mptReporter.d.ts +1 -1
  85. package/dist/browser/reporter/mptReporter.d.ts.map +1 -0
  86. package/dist/browser/reporter/mptReporter.js +373 -0
  87. package/dist/browser/reporter/mptReporter.js.map +1 -0
  88. package/dist/browser/utils/cIInfoProvider.d.ts.map +1 -0
  89. package/dist/browser/utils/cIInfoProvider.js +101 -0
  90. package/dist/browser/utils/cIInfoProvider.js.map +1 -0
  91. package/dist/browser/utils/getPlaywrightVersion.d.ts +2 -0
  92. package/dist/browser/utils/getPlaywrightVersion.d.ts.map +1 -0
  93. package/dist/browser/utils/getPlaywrightVersion.js +19 -0
  94. package/dist/browser/utils/getPlaywrightVersion.js.map +1 -0
  95. package/dist/{utils → browser/utils}/packageManager.d.ts +1 -1
  96. package/dist/browser/utils/packageManager.d.ts.map +1 -0
  97. package/dist/browser/utils/packageManager.js +47 -0
  98. package/dist/browser/utils/packageManager.js.map +1 -0
  99. package/dist/browser/utils/parseJwt.d.ts +4 -0
  100. package/dist/browser/utils/parseJwt.d.ts.map +1 -0
  101. package/dist/browser/utils/parseJwt.js +16 -0
  102. package/dist/browser/utils/parseJwt.js.map +1 -0
  103. package/dist/{utils → browser/utils}/reporterUtils.d.ts +10 -10
  104. package/dist/browser/utils/reporterUtils.d.ts.map +1 -0
  105. package/dist/browser/utils/reporterUtils.js +585 -0
  106. package/dist/browser/utils/reporterUtils.js.map +1 -0
  107. package/dist/{utils → browser/utils}/serviceClient.d.ts +7 -7
  108. package/dist/browser/utils/serviceClient.d.ts.map +1 -0
  109. package/dist/browser/utils/serviceClient.js +103 -0
  110. package/dist/browser/utils/serviceClient.js.map +1 -0
  111. package/dist/browser/utils/storageClient.d.ts.map +1 -0
  112. package/dist/browser/utils/storageClient.js +37 -0
  113. package/dist/browser/utils/storageClient.js.map +1 -0
  114. package/dist/{utils → browser/utils}/utils.d.ts +3 -4
  115. package/dist/browser/utils/utils.d.ts.map +1 -0
  116. package/dist/browser/utils/utils.js +151 -0
  117. package/dist/browser/utils/utils.js.map +1 -0
  118. package/dist/commonjs/common/constants.d.ts +95 -0
  119. package/dist/commonjs/common/constants.d.ts.map +1 -0
  120. package/dist/commonjs/common/constants.js.map +1 -0
  121. package/dist/commonjs/common/customerConfig.d.ts +9 -0
  122. package/dist/commonjs/common/customerConfig.d.ts.map +1 -0
  123. package/dist/commonjs/common/customerConfig.js.map +1 -0
  124. package/dist/commonjs/common/entraIdAccessToken.d.ts +12 -0
  125. package/dist/commonjs/common/entraIdAccessToken.d.ts.map +1 -0
  126. package/dist/{common → commonjs/common}/entraIdAccessToken.js +22 -18
  127. package/dist/commonjs/common/entraIdAccessToken.js.map +1 -0
  128. package/dist/commonjs/common/environmentVariables.d.ts +13 -0
  129. package/dist/commonjs/common/environmentVariables.d.ts.map +1 -0
  130. package/dist/{common → commonjs/common}/environmentVariables.js +4 -4
  131. package/dist/commonjs/common/environmentVariables.js.map +1 -0
  132. package/dist/commonjs/common/executor.d.ts +2 -0
  133. package/dist/commonjs/common/executor.d.ts.map +1 -0
  134. package/dist/{common → commonjs/common}/executor.js +13 -13
  135. package/dist/commonjs/common/executor.js.map +1 -0
  136. package/dist/commonjs/common/httpService.d.ts +5 -0
  137. package/dist/commonjs/common/httpService.d.ts.map +1 -0
  138. package/dist/{common → commonjs/common}/httpService.js +4 -4
  139. package/dist/commonjs/common/httpService.js.map +1 -0
  140. package/dist/commonjs/common/logger.d.ts +3 -0
  141. package/dist/commonjs/common/logger.d.ts.map +1 -0
  142. package/dist/commonjs/common/logger.js.map +1 -0
  143. package/dist/commonjs/common/messages.d.ts +35 -0
  144. package/dist/commonjs/common/messages.d.ts.map +1 -0
  145. package/dist/commonjs/common/messages.js.map +1 -0
  146. package/dist/commonjs/common/multimap.d.ts +16 -0
  147. package/dist/commonjs/common/multimap.d.ts.map +1 -0
  148. package/dist/commonjs/common/multimap.js.map +1 -0
  149. package/dist/commonjs/common/playwrightServiceConfig.d.ts +13 -0
  150. package/dist/commonjs/common/playwrightServiceConfig.d.ts.map +1 -0
  151. package/dist/commonjs/common/playwrightServiceConfig.js +48 -0
  152. package/dist/commonjs/common/playwrightServiceConfig.js.map +1 -0
  153. package/{types/microsoft-playwright-testing.d.ts → dist/commonjs/common/types.d.ts} +226 -273
  154. package/dist/commonjs/common/types.d.ts.map +1 -0
  155. package/dist/commonjs/common/types.js.map +1 -0
  156. package/dist/commonjs/core/global/playwright-service-global-setup.d.ts +4 -0
  157. package/dist/commonjs/core/global/playwright-service-global-setup.d.ts.map +1 -0
  158. package/dist/commonjs/core/global/playwright-service-global-setup.js +22 -0
  159. package/dist/commonjs/core/global/playwright-service-global-setup.js.map +1 -0
  160. package/dist/commonjs/core/global/playwright-service-global-teardown.d.ts +4 -0
  161. package/dist/commonjs/core/global/playwright-service-global-teardown.d.ts.map +1 -0
  162. package/dist/commonjs/core/global/playwright-service-global-teardown.js +22 -0
  163. package/dist/commonjs/core/global/playwright-service-global-teardown.js.map +1 -0
  164. package/dist/commonjs/core/playwrightService.d.ts +64 -0
  165. package/dist/commonjs/core/playwrightService.d.ts.map +1 -0
  166. package/dist/{core → commonjs/core}/playwrightService.js +44 -43
  167. package/dist/commonjs/core/playwrightService.js.map +1 -0
  168. package/dist/commonjs/core/playwrightServiceEntra.d.ts +16 -0
  169. package/dist/commonjs/core/playwrightServiceEntra.d.ts.map +1 -0
  170. package/dist/{core → commonjs/core}/playwrightServiceEntra.js +12 -12
  171. package/dist/commonjs/core/playwrightServiceEntra.js.map +1 -0
  172. package/dist/commonjs/core/playwrightServiceUtils-cjs.cjs.map +1 -0
  173. package/dist/commonjs/core/playwrightServiceUtils-cjs.d.cts.map +1 -0
  174. package/dist/commonjs/core/playwrightServiceUtils.d.ts +3 -0
  175. package/dist/commonjs/core/playwrightServiceUtils.js +10 -0
  176. package/dist/commonjs/index.d.ts +10 -0
  177. package/dist/commonjs/index.d.ts.map +1 -0
  178. package/dist/{index.js → commonjs/index.js} +9 -10
  179. package/dist/commonjs/index.js.map +1 -0
  180. package/dist/commonjs/model/entraTokenDetails.d.ts +5 -0
  181. package/dist/commonjs/model/entraTokenDetails.d.ts.map +1 -0
  182. package/dist/commonjs/model/entraTokenDetails.js.map +1 -0
  183. package/dist/commonjs/model/mptTokenDetails.d.ts +11 -0
  184. package/dist/commonjs/model/mptTokenDetails.d.ts.map +1 -0
  185. package/dist/commonjs/model/mptTokenDetails.js.map +1 -0
  186. package/dist/commonjs/model/shard.d.ts +41 -0
  187. package/dist/commonjs/model/shard.d.ts.map +1 -0
  188. package/dist/commonjs/model/shard.js.map +1 -0
  189. package/dist/commonjs/model/storageUri.d.ts +14 -0
  190. package/dist/commonjs/model/storageUri.d.ts.map +1 -0
  191. package/dist/commonjs/model/storageUri.js.map +1 -0
  192. package/dist/commonjs/model/testResult.d.ts +40 -0
  193. package/dist/commonjs/model/testResult.d.ts.map +1 -0
  194. package/dist/commonjs/model/testResult.js.map +1 -0
  195. package/dist/commonjs/model/testRun.d.ts +36 -0
  196. package/dist/commonjs/model/testRun.d.ts.map +1 -0
  197. package/dist/commonjs/model/testRun.js.map +1 -0
  198. package/dist/commonjs/package.json +3 -0
  199. package/dist/commonjs/reporter/index.d.ts +10 -0
  200. package/dist/commonjs/reporter/index.d.ts.map +1 -0
  201. package/dist/{reporter → commonjs/reporter}/index.js +2 -2
  202. package/dist/commonjs/reporter/index.js.map +1 -0
  203. package/{types/reporter/microsoft-playwright-testing.d.ts → dist/commonjs/reporter/mptReporter.d.ts} +100 -150
  204. package/dist/commonjs/reporter/mptReporter.d.ts.map +1 -0
  205. package/dist/{reporter → commonjs/reporter}/mptReporter.js +52 -52
  206. package/dist/commonjs/reporter/mptReporter.js.map +1 -0
  207. package/dist/{tsdoc-metadata.json → commonjs/tsdoc-metadata.json} +1 -1
  208. package/dist/commonjs/utils/cIInfoProvider.d.ts +25 -0
  209. package/dist/commonjs/utils/cIInfoProvider.d.ts.map +1 -0
  210. package/dist/commonjs/utils/cIInfoProvider.js.map +1 -0
  211. package/dist/commonjs/utils/getPlaywrightVersion.d.ts +2 -0
  212. package/dist/commonjs/utils/getPlaywrightVersion.d.ts.map +1 -0
  213. package/dist/commonjs/utils/getPlaywrightVersion.js +23 -0
  214. package/dist/commonjs/utils/getPlaywrightVersion.js.map +1 -0
  215. package/dist/commonjs/utils/packageManager.d.ts +15 -0
  216. package/dist/commonjs/utils/packageManager.d.ts.map +1 -0
  217. package/dist/commonjs/utils/packageManager.js.map +1 -0
  218. package/dist/commonjs/utils/parseJwt.d.ts +4 -0
  219. package/dist/commonjs/utils/parseJwt.d.ts.map +1 -0
  220. package/dist/commonjs/utils/parseJwt.js +21 -0
  221. package/dist/commonjs/utils/parseJwt.js.map +1 -0
  222. package/dist/commonjs/utils/reporterUtils.d.ts +60 -0
  223. package/dist/commonjs/utils/reporterUtils.d.ts.map +1 -0
  224. package/dist/{utils → commonjs/utils}/reporterUtils.js +47 -47
  225. package/dist/commonjs/utils/reporterUtils.js.map +1 -0
  226. package/dist/commonjs/utils/serviceClient.d.ts +25 -0
  227. package/dist/commonjs/utils/serviceClient.d.ts.map +1 -0
  228. package/dist/{utils → commonjs/utils}/serviceClient.js +19 -19
  229. package/dist/commonjs/utils/serviceClient.js.map +1 -0
  230. package/dist/commonjs/utils/storageClient.d.ts +6 -0
  231. package/dist/commonjs/utils/storageClient.d.ts.map +1 -0
  232. package/dist/{utils → commonjs/utils}/storageClient.js +7 -7
  233. package/dist/commonjs/utils/storageClient.js.map +1 -0
  234. package/dist/commonjs/utils/utils.d.ts +28 -0
  235. package/dist/commonjs/utils/utils.d.ts.map +1 -0
  236. package/dist/{utils → commonjs/utils}/utils.js +38 -60
  237. package/dist/commonjs/utils/utils.js.map +1 -0
  238. package/dist/esm/common/constants.d.ts +95 -0
  239. package/dist/esm/common/constants.d.ts.map +1 -0
  240. package/dist/esm/common/constants.js +226 -0
  241. package/dist/esm/common/constants.js.map +1 -0
  242. package/dist/esm/common/customerConfig.d.ts +9 -0
  243. package/dist/esm/common/customerConfig.d.ts.map +1 -0
  244. package/dist/esm/common/customerConfig.js +13 -0
  245. package/dist/esm/common/customerConfig.js.map +1 -0
  246. package/dist/esm/common/entraIdAccessToken.d.ts +12 -0
  247. package/dist/esm/common/entraIdAccessToken.d.ts.map +1 -0
  248. package/dist/esm/common/entraIdAccessToken.js +71 -0
  249. package/dist/esm/common/entraIdAccessToken.js.map +1 -0
  250. package/dist/esm/common/environmentVariables.d.ts +13 -0
  251. package/dist/esm/common/environmentVariables.d.ts.map +1 -0
  252. package/dist/esm/common/environmentVariables.js +15 -0
  253. package/dist/esm/common/environmentVariables.js.map +1 -0
  254. package/dist/esm/common/executor.d.ts +2 -0
  255. package/dist/esm/common/executor.d.ts.map +1 -0
  256. package/dist/esm/common/executor.js +74 -0
  257. package/dist/esm/common/executor.js.map +1 -0
  258. package/dist/esm/common/httpService.d.ts +5 -0
  259. package/dist/esm/common/httpService.d.ts.map +1 -0
  260. package/dist/esm/common/httpService.js +33 -0
  261. package/dist/esm/common/httpService.js.map +1 -0
  262. package/dist/esm/common/logger.d.ts +3 -0
  263. package/dist/esm/common/logger.d.ts.map +1 -0
  264. package/dist/esm/common/logger.js +6 -0
  265. package/dist/esm/common/logger.js.map +1 -0
  266. package/dist/esm/common/messages.d.ts +35 -0
  267. package/dist/esm/common/messages.d.ts.map +1 -0
  268. package/dist/esm/common/messages.js +37 -0
  269. package/dist/esm/common/messages.js.map +1 -0
  270. package/dist/esm/common/multimap.d.ts +16 -0
  271. package/dist/esm/common/multimap.d.ts.map +1 -0
  272. package/dist/esm/common/multimap.js +60 -0
  273. package/dist/esm/common/multimap.js.map +1 -0
  274. package/dist/esm/common/playwrightServiceConfig.d.ts +13 -0
  275. package/dist/esm/common/playwrightServiceConfig.d.ts.map +1 -0
  276. package/dist/esm/common/playwrightServiceConfig.js +45 -0
  277. package/dist/esm/common/playwrightServiceConfig.js.map +1 -0
  278. package/dist/esm/common/types.d.ts +226 -0
  279. package/dist/esm/common/types.d.ts.map +1 -0
  280. package/dist/esm/common/types.js +4 -0
  281. package/dist/esm/common/types.js.map +1 -0
  282. package/dist/esm/core/global/playwright-service-global-setup.d.ts +4 -0
  283. package/dist/esm/core/global/playwright-service-global-setup.d.ts.map +1 -0
  284. package/dist/esm/core/global/playwright-service-global-setup.js +19 -0
  285. package/dist/esm/core/global/playwright-service-global-setup.js.map +1 -0
  286. package/dist/esm/core/global/playwright-service-global-teardown.d.ts +4 -0
  287. package/dist/esm/core/global/playwright-service-global-teardown.d.ts.map +1 -0
  288. package/dist/esm/core/global/playwright-service-global-teardown.js +19 -0
  289. package/dist/esm/core/global/playwright-service-global-teardown.js.map +1 -0
  290. package/dist/esm/core/playwrightService.d.ts +64 -0
  291. package/dist/esm/core/playwrightService.d.ts.map +1 -0
  292. package/dist/esm/core/playwrightService.js +190 -0
  293. package/dist/esm/core/playwrightService.js.map +1 -0
  294. package/dist/esm/core/playwrightServiceEntra.d.ts +16 -0
  295. package/dist/esm/core/playwrightServiceEntra.d.ts.map +1 -0
  296. package/dist/esm/core/playwrightServiceEntra.js +49 -0
  297. package/dist/esm/core/playwrightServiceEntra.js.map +1 -0
  298. package/dist/esm/core/playwrightServiceUtils.d.ts +3 -0
  299. package/dist/esm/core/playwrightServiceUtils.d.ts.map +1 -0
  300. package/dist/esm/core/playwrightServiceUtils.js +11 -0
  301. package/dist/esm/core/playwrightServiceUtils.js.map +1 -0
  302. package/dist/esm/index.d.ts +10 -0
  303. package/dist/esm/index.d.ts.map +1 -0
  304. package/dist/esm/index.js +11 -0
  305. package/dist/esm/index.js.map +1 -0
  306. package/dist/esm/model/entraTokenDetails.d.ts +5 -0
  307. package/dist/esm/model/entraTokenDetails.d.ts.map +1 -0
  308. package/dist/esm/model/entraTokenDetails.js +5 -0
  309. package/dist/esm/model/entraTokenDetails.js.map +1 -0
  310. package/dist/esm/model/mptTokenDetails.d.ts +11 -0
  311. package/dist/esm/model/mptTokenDetails.d.ts.map +1 -0
  312. package/dist/esm/model/mptTokenDetails.js +10 -0
  313. package/dist/esm/model/mptTokenDetails.js.map +1 -0
  314. package/dist/esm/model/shard.d.ts +41 -0
  315. package/dist/esm/model/shard.d.ts.map +1 -0
  316. package/dist/esm/model/shard.js +19 -0
  317. package/dist/esm/model/shard.js.map +1 -0
  318. package/dist/esm/model/storageUri.d.ts +14 -0
  319. package/dist/esm/model/storageUri.d.ts.map +1 -0
  320. package/dist/esm/model/storageUri.js +18 -0
  321. package/dist/esm/model/storageUri.js.map +1 -0
  322. package/dist/esm/model/testResult.d.ts +40 -0
  323. package/dist/esm/model/testResult.d.ts.map +1 -0
  324. package/dist/esm/model/testResult.js +5 -0
  325. package/dist/esm/model/testResult.js.map +1 -0
  326. package/dist/esm/model/testRun.d.ts +36 -0
  327. package/dist/esm/model/testRun.d.ts.map +1 -0
  328. package/dist/esm/model/testRun.js +8 -0
  329. package/dist/esm/model/testRun.js.map +1 -0
  330. package/dist/esm/package.json +3 -0
  331. package/dist/esm/reporter/index.d.ts +10 -0
  332. package/dist/esm/reporter/index.d.ts.map +1 -0
  333. package/dist/esm/reporter/index.js +12 -0
  334. package/dist/esm/reporter/index.js.map +1 -0
  335. package/dist/esm/reporter/mptReporter.d.ts +100 -0
  336. package/dist/esm/reporter/mptReporter.d.ts.map +1 -0
  337. package/dist/esm/reporter/mptReporter.js +373 -0
  338. package/dist/esm/reporter/mptReporter.js.map +1 -0
  339. package/dist/esm/utils/cIInfoProvider.d.ts +25 -0
  340. package/dist/esm/utils/cIInfoProvider.d.ts.map +1 -0
  341. package/dist/esm/utils/cIInfoProvider.js +101 -0
  342. package/dist/esm/utils/cIInfoProvider.js.map +1 -0
  343. package/dist/esm/utils/getPlaywrightVersion.d.ts +2 -0
  344. package/dist/esm/utils/getPlaywrightVersion.d.ts.map +1 -0
  345. package/dist/esm/utils/getPlaywrightVersion.js +19 -0
  346. package/dist/esm/utils/getPlaywrightVersion.js.map +1 -0
  347. package/dist/esm/utils/packageManager.d.ts +15 -0
  348. package/dist/esm/utils/packageManager.d.ts.map +1 -0
  349. package/dist/esm/utils/packageManager.js +47 -0
  350. package/dist/esm/utils/packageManager.js.map +1 -0
  351. package/dist/esm/utils/parseJwt.d.ts +4 -0
  352. package/dist/esm/utils/parseJwt.d.ts.map +1 -0
  353. package/dist/esm/utils/parseJwt.js +16 -0
  354. package/dist/esm/utils/parseJwt.js.map +1 -0
  355. package/dist/esm/utils/reporterUtils.d.ts +60 -0
  356. package/dist/esm/utils/reporterUtils.d.ts.map +1 -0
  357. package/dist/esm/utils/reporterUtils.js +585 -0
  358. package/dist/esm/utils/reporterUtils.js.map +1 -0
  359. package/dist/esm/utils/serviceClient.d.ts +25 -0
  360. package/dist/esm/utils/serviceClient.d.ts.map +1 -0
  361. package/dist/esm/utils/serviceClient.js +103 -0
  362. package/dist/esm/utils/serviceClient.js.map +1 -0
  363. package/dist/esm/utils/storageClient.d.ts +6 -0
  364. package/dist/esm/utils/storageClient.d.ts.map +1 -0
  365. package/dist/esm/utils/storageClient.js +37 -0
  366. package/dist/esm/utils/storageClient.js.map +1 -0
  367. package/dist/esm/utils/utils.d.ts +28 -0
  368. package/dist/esm/utils/utils.d.ts.map +1 -0
  369. package/dist/esm/utils/utils.js +151 -0
  370. package/dist/esm/utils/utils.js.map +1 -0
  371. package/dist/react-native/common/constants.d.ts +95 -0
  372. package/dist/react-native/common/constants.d.ts.map +1 -0
  373. package/dist/react-native/common/constants.js +226 -0
  374. package/dist/react-native/common/constants.js.map +1 -0
  375. package/dist/react-native/common/customerConfig.d.ts +9 -0
  376. package/dist/react-native/common/customerConfig.d.ts.map +1 -0
  377. package/dist/react-native/common/customerConfig.js +13 -0
  378. package/dist/react-native/common/customerConfig.js.map +1 -0
  379. package/dist/react-native/common/entraIdAccessToken.d.ts +12 -0
  380. package/dist/react-native/common/entraIdAccessToken.d.ts.map +1 -0
  381. package/dist/react-native/common/entraIdAccessToken.js +71 -0
  382. package/dist/react-native/common/entraIdAccessToken.js.map +1 -0
  383. package/dist/react-native/common/environmentVariables.d.ts +13 -0
  384. package/dist/react-native/common/environmentVariables.d.ts.map +1 -0
  385. package/dist/react-native/common/environmentVariables.js +15 -0
  386. package/dist/react-native/common/environmentVariables.js.map +1 -0
  387. package/dist/react-native/common/executor.d.ts +2 -0
  388. package/dist/react-native/common/executor.d.ts.map +1 -0
  389. package/dist/react-native/common/executor.js +74 -0
  390. package/dist/react-native/common/executor.js.map +1 -0
  391. package/dist/react-native/common/httpService.d.ts +5 -0
  392. package/dist/react-native/common/httpService.d.ts.map +1 -0
  393. package/dist/react-native/common/httpService.js +33 -0
  394. package/dist/react-native/common/httpService.js.map +1 -0
  395. package/dist/react-native/common/logger.d.ts +3 -0
  396. package/dist/react-native/common/logger.d.ts.map +1 -0
  397. package/dist/react-native/common/logger.js +6 -0
  398. package/dist/react-native/common/logger.js.map +1 -0
  399. package/dist/react-native/common/messages.d.ts +35 -0
  400. package/dist/react-native/common/messages.d.ts.map +1 -0
  401. package/dist/react-native/common/messages.js +37 -0
  402. package/dist/react-native/common/messages.js.map +1 -0
  403. package/dist/react-native/common/multimap.d.ts +16 -0
  404. package/dist/react-native/common/multimap.d.ts.map +1 -0
  405. package/dist/react-native/common/multimap.js +60 -0
  406. package/dist/react-native/common/multimap.js.map +1 -0
  407. package/dist/react-native/common/playwrightServiceConfig.d.ts +13 -0
  408. package/dist/react-native/common/playwrightServiceConfig.d.ts.map +1 -0
  409. package/dist/react-native/common/playwrightServiceConfig.js +45 -0
  410. package/dist/react-native/common/playwrightServiceConfig.js.map +1 -0
  411. package/dist/react-native/common/types.d.ts +226 -0
  412. package/dist/react-native/common/types.d.ts.map +1 -0
  413. package/dist/react-native/common/types.js +4 -0
  414. package/dist/react-native/common/types.js.map +1 -0
  415. package/dist/react-native/core/global/playwright-service-global-setup.d.ts +4 -0
  416. package/dist/react-native/core/global/playwright-service-global-setup.d.ts.map +1 -0
  417. package/dist/react-native/core/global/playwright-service-global-setup.js +19 -0
  418. package/dist/react-native/core/global/playwright-service-global-setup.js.map +1 -0
  419. package/dist/react-native/core/global/playwright-service-global-teardown.d.ts +4 -0
  420. package/dist/react-native/core/global/playwright-service-global-teardown.d.ts.map +1 -0
  421. package/dist/react-native/core/global/playwright-service-global-teardown.js +19 -0
  422. package/dist/react-native/core/global/playwright-service-global-teardown.js.map +1 -0
  423. package/dist/react-native/core/playwrightService.d.ts +64 -0
  424. package/dist/react-native/core/playwrightService.d.ts.map +1 -0
  425. package/dist/react-native/core/playwrightService.js +190 -0
  426. package/dist/react-native/core/playwrightService.js.map +1 -0
  427. package/dist/react-native/core/playwrightServiceEntra.d.ts +16 -0
  428. package/dist/react-native/core/playwrightServiceEntra.d.ts.map +1 -0
  429. package/dist/react-native/core/playwrightServiceEntra.js +49 -0
  430. package/dist/react-native/core/playwrightServiceEntra.js.map +1 -0
  431. package/dist/react-native/core/playwrightServiceUtils.d.ts +3 -0
  432. package/dist/react-native/core/playwrightServiceUtils.d.ts.map +1 -0
  433. package/dist/react-native/core/playwrightServiceUtils.js +11 -0
  434. package/dist/react-native/core/playwrightServiceUtils.js.map +1 -0
  435. package/dist/react-native/index.d.ts +10 -0
  436. package/dist/react-native/index.d.ts.map +1 -0
  437. package/dist/react-native/index.js +11 -0
  438. package/dist/react-native/index.js.map +1 -0
  439. package/dist/react-native/model/entraTokenDetails.d.ts +5 -0
  440. package/dist/react-native/model/entraTokenDetails.d.ts.map +1 -0
  441. package/dist/react-native/model/entraTokenDetails.js +5 -0
  442. package/dist/react-native/model/entraTokenDetails.js.map +1 -0
  443. package/dist/react-native/model/mptTokenDetails.d.ts +11 -0
  444. package/dist/react-native/model/mptTokenDetails.d.ts.map +1 -0
  445. package/dist/react-native/model/mptTokenDetails.js +10 -0
  446. package/dist/react-native/model/mptTokenDetails.js.map +1 -0
  447. package/dist/react-native/model/shard.d.ts +41 -0
  448. package/dist/react-native/model/shard.d.ts.map +1 -0
  449. package/dist/react-native/model/shard.js +19 -0
  450. package/dist/react-native/model/shard.js.map +1 -0
  451. package/dist/react-native/model/storageUri.d.ts +14 -0
  452. package/dist/react-native/model/storageUri.d.ts.map +1 -0
  453. package/dist/react-native/model/storageUri.js +18 -0
  454. package/dist/react-native/model/storageUri.js.map +1 -0
  455. package/dist/react-native/model/testResult.d.ts +40 -0
  456. package/dist/react-native/model/testResult.d.ts.map +1 -0
  457. package/dist/react-native/model/testResult.js +5 -0
  458. package/dist/react-native/model/testResult.js.map +1 -0
  459. package/dist/react-native/model/testRun.d.ts +36 -0
  460. package/dist/react-native/model/testRun.d.ts.map +1 -0
  461. package/dist/react-native/model/testRun.js +8 -0
  462. package/dist/react-native/model/testRun.js.map +1 -0
  463. package/dist/react-native/package.json +3 -0
  464. package/dist/react-native/reporter/index.d.ts +10 -0
  465. package/dist/react-native/reporter/index.d.ts.map +1 -0
  466. package/dist/react-native/reporter/index.js +12 -0
  467. package/dist/react-native/reporter/index.js.map +1 -0
  468. package/dist/react-native/reporter/mptReporter.d.ts +100 -0
  469. package/dist/react-native/reporter/mptReporter.d.ts.map +1 -0
  470. package/dist/react-native/reporter/mptReporter.js +373 -0
  471. package/dist/react-native/reporter/mptReporter.js.map +1 -0
  472. package/dist/react-native/utils/cIInfoProvider.d.ts +25 -0
  473. package/dist/react-native/utils/cIInfoProvider.d.ts.map +1 -0
  474. package/dist/react-native/utils/cIInfoProvider.js +101 -0
  475. package/dist/react-native/utils/cIInfoProvider.js.map +1 -0
  476. package/dist/react-native/utils/getPlaywrightVersion.d.ts +2 -0
  477. package/dist/react-native/utils/getPlaywrightVersion.d.ts.map +1 -0
  478. package/dist/react-native/utils/getPlaywrightVersion.js +19 -0
  479. package/dist/react-native/utils/getPlaywrightVersion.js.map +1 -0
  480. package/dist/react-native/utils/packageManager.d.ts +15 -0
  481. package/dist/react-native/utils/packageManager.d.ts.map +1 -0
  482. package/dist/react-native/utils/packageManager.js +47 -0
  483. package/dist/react-native/utils/packageManager.js.map +1 -0
  484. package/dist/react-native/utils/parseJwt.d.ts +4 -0
  485. package/dist/react-native/utils/parseJwt.d.ts.map +1 -0
  486. package/dist/react-native/utils/parseJwt.js +16 -0
  487. package/dist/react-native/utils/parseJwt.js.map +1 -0
  488. package/dist/react-native/utils/reporterUtils.d.ts +60 -0
  489. package/dist/react-native/utils/reporterUtils.d.ts.map +1 -0
  490. package/dist/react-native/utils/reporterUtils.js +585 -0
  491. package/dist/react-native/utils/reporterUtils.js.map +1 -0
  492. package/dist/react-native/utils/serviceClient.d.ts +25 -0
  493. package/dist/react-native/utils/serviceClient.d.ts.map +1 -0
  494. package/dist/react-native/utils/serviceClient.js +103 -0
  495. package/dist/react-native/utils/serviceClient.js.map +1 -0
  496. package/dist/react-native/utils/storageClient.d.ts +6 -0
  497. package/dist/react-native/utils/storageClient.d.ts.map +1 -0
  498. package/dist/react-native/utils/storageClient.js +37 -0
  499. package/dist/react-native/utils/storageClient.js.map +1 -0
  500. package/dist/react-native/utils/utils.d.ts +28 -0
  501. package/dist/react-native/utils/utils.d.ts.map +1 -0
  502. package/dist/react-native/utils/utils.js +151 -0
  503. package/dist/react-native/utils/utils.js.map +1 -0
  504. package/package.json +73 -28
  505. package/CHANGELOG.md +0 -88
  506. package/dist/common/constants.d.ts.map +0 -1
  507. package/dist/common/constants.js.map +0 -1
  508. package/dist/common/customerConfig.d.ts.map +0 -1
  509. package/dist/common/entraIdAccessToken.d.ts.map +0 -1
  510. package/dist/common/entraIdAccessToken.js.map +0 -1
  511. package/dist/common/environmentVariables.d.ts.map +0 -1
  512. package/dist/common/environmentVariables.js.map +0 -1
  513. package/dist/common/executor.d.ts.map +0 -1
  514. package/dist/common/executor.js.map +0 -1
  515. package/dist/common/httpService.d.ts.map +0 -1
  516. package/dist/common/httpService.js.map +0 -1
  517. package/dist/common/logger.d.ts.map +0 -1
  518. package/dist/common/logger.js.map +0 -1
  519. package/dist/common/messages.d.ts.map +0 -1
  520. package/dist/common/messages.js.map +0 -1
  521. package/dist/common/multimap.d.ts.map +0 -1
  522. package/dist/common/multimap.js.map +0 -1
  523. package/dist/common/playwrightServiceConfig.d.ts.map +0 -1
  524. package/dist/common/playwrightServiceConfig.js +0 -48
  525. package/dist/common/playwrightServiceConfig.js.map +0 -1
  526. package/dist/common/types.d.ts.map +0 -1
  527. package/dist/common/types.js.map +0 -1
  528. package/dist/core/global/playwright-service-global-setup.d.ts.map +0 -1
  529. package/dist/core/global/playwright-service-global-setup.js +0 -22
  530. package/dist/core/global/playwright-service-global-setup.js.map +0 -1
  531. package/dist/core/global/playwright-service-global-teardown.d.ts.map +0 -1
  532. package/dist/core/global/playwright-service-global-teardown.js +0 -22
  533. package/dist/core/global/playwright-service-global-teardown.js.map +0 -1
  534. package/dist/core/playwrightService.d.ts.map +0 -1
  535. package/dist/core/playwrightService.js.map +0 -1
  536. package/dist/core/playwrightServiceEntra.d.ts.map +0 -1
  537. package/dist/core/playwrightServiceEntra.js.map +0 -1
  538. package/dist/index.d.ts.map +0 -1
  539. package/dist/index.js.map +0 -1
  540. package/dist/model/entraTokenDetails.d.ts.map +0 -1
  541. package/dist/model/entraTokenDetails.js.map +0 -1
  542. package/dist/model/mptTokenDetails.d.ts.map +0 -1
  543. package/dist/model/mptTokenDetails.js.map +0 -1
  544. package/dist/model/shard.d.ts.map +0 -1
  545. package/dist/model/shard.js.map +0 -1
  546. package/dist/model/storageUri.d.ts.map +0 -1
  547. package/dist/model/storageUri.js.map +0 -1
  548. package/dist/model/testResult.d.ts.map +0 -1
  549. package/dist/model/testResult.js.map +0 -1
  550. package/dist/model/testRun.d.ts.map +0 -1
  551. package/dist/model/testRun.js.map +0 -1
  552. package/dist/reporter/index.d.ts.map +0 -1
  553. package/dist/reporter/index.js.map +0 -1
  554. package/dist/reporter/mptReporter.d.ts.map +0 -1
  555. package/dist/reporter/mptReporter.js.map +0 -1
  556. package/dist/utils/cIInfoProvider.d.ts.map +0 -1
  557. package/dist/utils/cIInfoProvider.js.map +0 -1
  558. package/dist/utils/packageManager.d.ts.map +0 -1
  559. package/dist/utils/packageManager.js.map +0 -1
  560. package/dist/utils/reporterUtils.d.ts.map +0 -1
  561. package/dist/utils/reporterUtils.js.map +0 -1
  562. package/dist/utils/serviceClient.d.ts.map +0 -1
  563. package/dist/utils/serviceClient.js.map +0 -1
  564. package/dist/utils/storageClient.d.ts.map +0 -1
  565. package/dist/utils/storageClient.js.map +0 -1
  566. package/dist/utils/utils.d.ts.map +0 -1
  567. package/dist/utils/utils.js.map +0 -1
  568. /package/dist/{common → browser/common}/customerConfig.d.ts +0 -0
  569. /package/dist/{common → browser/common}/environmentVariables.d.ts +0 -0
  570. /package/dist/{common → browser/common}/executor.d.ts +0 -0
  571. /package/dist/{common → browser/common}/httpService.d.ts +0 -0
  572. /package/dist/{common → browser/common}/logger.d.ts +0 -0
  573. /package/dist/{common → browser/common}/messages.d.ts +0 -0
  574. /package/dist/{common → browser/common}/multimap.d.ts +0 -0
  575. /package/dist/{core → browser/core}/global/playwright-service-global-setup.d.ts +0 -0
  576. /package/dist/{core → browser/core}/global/playwright-service-global-teardown.d.ts +0 -0
  577. /package/dist/{core → browser/core}/playwrightServiceEntra.d.ts +0 -0
  578. /package/dist/{model → browser/model}/entraTokenDetails.d.ts +0 -0
  579. /package/dist/{model → browser/model}/mptTokenDetails.d.ts +0 -0
  580. /package/dist/{model → browser/model}/shard.d.ts +0 -0
  581. /package/dist/{model → browser/model}/storageUri.d.ts +0 -0
  582. /package/dist/{utils → browser/utils}/cIInfoProvider.d.ts +0 -0
  583. /package/dist/{utils → browser/utils}/storageClient.d.ts +0 -0
  584. /package/dist/{common → commonjs/common}/constants.js +0 -0
  585. /package/dist/{common → commonjs/common}/customerConfig.js +0 -0
  586. /package/dist/{common → commonjs/common}/logger.js +0 -0
  587. /package/dist/{common → commonjs/common}/messages.js +0 -0
  588. /package/dist/{common → commonjs/common}/multimap.js +0 -0
  589. /package/dist/{common → commonjs/common}/types.js +0 -0
  590. /package/dist/{model → commonjs/model}/entraTokenDetails.js +0 -0
  591. /package/dist/{model → commonjs/model}/mptTokenDetails.js +0 -0
  592. /package/dist/{model → commonjs/model}/shard.js +0 -0
  593. /package/dist/{model → commonjs/model}/storageUri.js +0 -0
  594. /package/dist/{model → commonjs/model}/testResult.js +0 -0
  595. /package/dist/{model → commonjs/model}/testRun.js +0 -0
  596. /package/dist/{utils → commonjs/utils}/cIInfoProvider.js +0 -0
  597. /package/dist/{utils → commonjs/utils}/packageManager.js +0 -0
@@ -0,0 +1,37 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ export const ServiceErrorMessageConstants = {
4
+ NO_SERVICE_URL_ERROR: {
5
+ key: "NoServiceUrlError",
6
+ message: "The value for the PLAYWRIGHT_SERVICE_URL variable is not set correctly. Please verify the URL and try again.",
7
+ },
8
+ INVALID_GLOBAL_FUNCTION: {
9
+ key: "InvalidGlobalFunction",
10
+ message: "File must export a single function.",
11
+ },
12
+ INVALID_PLAYWRIGHT_VERSION_ERROR: {
13
+ key: "InvalidPlaywrightVersionError",
14
+ message: "The Playwright version you are using is not supported. See the list of supported versions at https://aka.ms/mpt/supported-versions.",
15
+ },
16
+ MULTIPLE_SETUP_FILE_PLAYWRIGHT_VERSION_ERROR: {
17
+ key: "MultipleSetupFilePlaywrightVersionError",
18
+ message: "The Playwright version you are using does not support multiple setup/teardown files. Please update to Playwright version 1.49.0 or higher.",
19
+ },
20
+ WORKSPACE_MISMATCH_ERROR: {
21
+ key: "InvalidAccessToken",
22
+ message: "The provided access token does not match the specified workspace URL. Please verify that both values are correct.",
23
+ },
24
+ NO_AUTH_ERROR: {
25
+ key: "NoAuthError",
26
+ message: "Could not authenticate with the service. Please refer to https://aka.ms/mpt/authentication for more information.",
27
+ },
28
+ INVALID_MPT_PAT_ERROR: {
29
+ key: "InvalidMptPatError",
30
+ message: "The authentication token provided is invalid. Check the token and try again.",
31
+ },
32
+ EXPIRED_MPT_PAT_ERROR: {
33
+ key: "ExpiredMptPatError",
34
+ message: "Your authentication token has expired. Create a new token.",
35
+ },
36
+ };
37
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/common/messages.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,oBAAoB,EAAE;QACpB,GAAG,EAAE,mBAAmB;QACxB,OAAO,EACL,8GAA8G;KACjH;IACD,uBAAuB,EAAE;QACvB,GAAG,EAAE,uBAAuB;QAC5B,OAAO,EAAE,qCAAqC;KAC/C;IACD,gCAAgC,EAAE;QAChC,GAAG,EAAE,+BAA+B;QACpC,OAAO,EACL,qIAAqI;KACxI;IACD,4CAA4C,EAAE;QAC5C,GAAG,EAAE,yCAAyC;QAC9C,OAAO,EACL,4IAA4I;KAC/I;IACD,wBAAwB,EAAE;QACxB,GAAG,EAAE,oBAAoB;QACzB,OAAO,EACL,mHAAmH;KACtH;IACD,aAAa,EAAE;QACb,GAAG,EAAE,aAAa;QAClB,OAAO,EACL,kHAAkH;KACrH;IACD,qBAAqB,EAAE;QACrB,GAAG,EAAE,oBAAoB;QACzB,OAAO,EAAE,8EAA8E;KACxF;IACD,qBAAqB,EAAE;QACrB,GAAG,EAAE,oBAAoB;QACzB,OAAO,EAAE,4DAA4D;KACtE;CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport const ServiceErrorMessageConstants = {\n NO_SERVICE_URL_ERROR: {\n key: \"NoServiceUrlError\",\n message:\n \"The value for the PLAYWRIGHT_SERVICE_URL variable is not set correctly. Please verify the URL and try again.\",\n },\n INVALID_GLOBAL_FUNCTION: {\n key: \"InvalidGlobalFunction\",\n message: \"File must export a single function.\",\n },\n INVALID_PLAYWRIGHT_VERSION_ERROR: {\n key: \"InvalidPlaywrightVersionError\",\n message:\n \"The Playwright version you are using is not supported. See the list of supported versions at https://aka.ms/mpt/supported-versions.\",\n },\n MULTIPLE_SETUP_FILE_PLAYWRIGHT_VERSION_ERROR: {\n key: \"MultipleSetupFilePlaywrightVersionError\",\n message:\n \"The Playwright version you are using does not support multiple setup/teardown files. Please update to Playwright version 1.49.0 or higher.\",\n },\n WORKSPACE_MISMATCH_ERROR: {\n key: \"InvalidAccessToken\",\n message:\n \"The provided access token does not match the specified workspace URL. Please verify that both values are correct.\",\n },\n NO_AUTH_ERROR: {\n key: \"NoAuthError\",\n message:\n \"Could not authenticate with the service. Please refer to https://aka.ms/mpt/authentication for more information.\",\n },\n INVALID_MPT_PAT_ERROR: {\n key: \"InvalidMptPatError\",\n message: \"The authentication token provided is invalid. Check the token and try again.\",\n },\n EXPIRED_MPT_PAT_ERROR: {\n key: \"ExpiredMptPatError\",\n message: \"Your authentication token has expired. Create a new token.\",\n },\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multimap.d.ts","sourceRoot":"","sources":["../../../src/common/multimap.ts"],"names":[],"mappings":"AAGA,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC;IACxB,OAAO,CAAC,IAAI,CAAc;;IAM1B,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAS3B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE;IAIhB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAa9B,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI;IAIvB,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO;IAQnC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAIvC,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAI3B,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC;IAQrB,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,60 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ export class MultiMap {
4
+ constructor() {
5
+ this._map = new Map();
6
+ }
7
+ set(key, value) {
8
+ let values = this._map.get(key);
9
+ if (!values) {
10
+ values = [];
11
+ this._map.set(key, values);
12
+ }
13
+ values.push(value);
14
+ }
15
+ get(key) {
16
+ return this._map.get(key) || [];
17
+ }
18
+ has(key) {
19
+ return this._map.has(key);
20
+ }
21
+ delete(key, value) {
22
+ const values = this._map.get(key);
23
+ if (!values) {
24
+ return;
25
+ }
26
+ if (values.includes(value)) {
27
+ this._map.set(key, values.filter((v) => value !== v));
28
+ }
29
+ }
30
+ deleteAll(key) {
31
+ this._map.delete(key);
32
+ }
33
+ hasValue(key, value) {
34
+ const values = this._map.get(key);
35
+ if (!values) {
36
+ return false;
37
+ }
38
+ return values.includes(value);
39
+ }
40
+ get size() {
41
+ return this._map.size;
42
+ }
43
+ [Symbol.iterator]() {
44
+ return this._map[Symbol.iterator]();
45
+ }
46
+ keys() {
47
+ return this._map.keys();
48
+ }
49
+ values() {
50
+ const result = [];
51
+ for (const key of this.keys()) {
52
+ result.push(...this.get(key));
53
+ }
54
+ return result;
55
+ }
56
+ clear() {
57
+ this._map.clear();
58
+ }
59
+ }
60
+ //# sourceMappingURL=multimap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multimap.js","sourceRoot":"","sources":["../../../src/common/multimap.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,OAAO,QAAQ;IAGnB;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,GAAM,EAAE,KAAQ;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,GAAG,EACH,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,SAAS,CAAC,GAAM;QACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,GAAM,EAAE,KAAQ;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACtC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport class MultiMap<K, V> {\n private _map: Map<K, V[]>;\n\n constructor() {\n this._map = new Map<K, V[]>();\n }\n\n set(key: K, value: V): void {\n let values = this._map.get(key);\n if (!values) {\n values = [];\n this._map.set(key, values);\n }\n values.push(value);\n }\n\n get(key: K): V[] {\n return this._map.get(key) || [];\n }\n\n has(key: K): boolean {\n return this._map.has(key);\n }\n\n delete(key: K, value: V): void {\n const values = this._map.get(key);\n if (!values) {\n return;\n }\n if (values.includes(value)) {\n this._map.set(\n key,\n values.filter((v) => value !== v),\n );\n }\n }\n\n deleteAll(key: K): void {\n this._map.delete(key);\n }\n\n hasValue(key: K, value: V): boolean {\n const values = this._map.get(key);\n if (!values) {\n return false;\n }\n return values.includes(value);\n }\n\n get size(): number {\n return this._map.size;\n }\n\n [Symbol.iterator](): Iterator<[K, V[]]> {\n return this._map[Symbol.iterator]();\n }\n\n keys(): IterableIterator<K> {\n return this._map.keys();\n }\n\n values(): Iterable<V> {\n const result: V[] = [];\n for (const key of this.keys()) {\n result.push(...this.get(key));\n }\n return result;\n }\n\n clear(): void {\n this._map.clear();\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { PlaywrightServiceAdditionalOptions, OsType } from "./types";
1
+ import type { PlaywrightServiceAdditionalOptions, OsType } from "./types.js";
2
2
  declare class PlaywrightServiceConfig {
3
3
  serviceOs: OsType;
4
4
  runId: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwrightServiceConfig.d.ts","sourceRoot":"","sources":["../../../src/common/playwrightServiceConfig.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAG7E,cAAM,uBAAuB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;;IAWvB,UAAU,GAAI,UAAU,kCAAkC,KAAG,IAAI,CA0B/D;CACH;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -0,0 +1,45 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { DefaultConnectOptionsConstants, InternalEnvironmentVariables } from "./constants.js";
4
+ import { getAndSetRunId } from "../utils/utils.js";
5
+ class PlaywrightServiceConfig {
6
+ constructor() {
7
+ this.setOptions = (options) => {
8
+ if (options === null || options === void 0 ? void 0 : options.exposeNetwork) {
9
+ this.exposeNetwork = options.exposeNetwork;
10
+ }
11
+ if (!process.env[InternalEnvironmentVariables.MPT_SERVICE_RUN_ID]) {
12
+ if (options === null || options === void 0 ? void 0 : options.runId) {
13
+ this.runId = options.runId;
14
+ process.env[InternalEnvironmentVariables.MPT_SERVICE_RUN_ID] = this.runId;
15
+ }
16
+ else {
17
+ this.runId = getAndSetRunId();
18
+ }
19
+ }
20
+ if (!process.env[InternalEnvironmentVariables.MPT_SERVICE_RUN_NAME] && (options === null || options === void 0 ? void 0 : options.runName)) {
21
+ this.runName = options.runName;
22
+ process.env[InternalEnvironmentVariables.MPT_SERVICE_RUN_NAME] = this.runName;
23
+ }
24
+ if (options === null || options === void 0 ? void 0 : options.os) {
25
+ this.serviceOs = options.os;
26
+ process.env[InternalEnvironmentVariables.MPT_SERVICE_OS] = this.serviceOs;
27
+ }
28
+ if (options === null || options === void 0 ? void 0 : options.slowMo) {
29
+ this.slowMo = options.slowMo;
30
+ }
31
+ if (options === null || options === void 0 ? void 0 : options.timeout) {
32
+ this.timeout = options.timeout;
33
+ }
34
+ };
35
+ this.serviceOs = (process.env[InternalEnvironmentVariables.MPT_SERVICE_OS] ||
36
+ DefaultConnectOptionsConstants.DEFAULT_SERVICE_OS);
37
+ this.runName = process.env[InternalEnvironmentVariables.MPT_SERVICE_RUN_NAME] || "";
38
+ this.runId = process.env[InternalEnvironmentVariables.MPT_SERVICE_RUN_ID] || "";
39
+ this.timeout = DefaultConnectOptionsConstants.DEFAULT_TIMEOUT;
40
+ this.slowMo = DefaultConnectOptionsConstants.DEFAULT_SLOW_MO;
41
+ this.exposeNetwork = DefaultConnectOptionsConstants.DEFAULT_EXPOSE_NETWORK;
42
+ }
43
+ }
44
+ export { PlaywrightServiceConfig };
45
+ //# sourceMappingURL=playwrightServiceConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwrightServiceConfig.js","sourceRoot":"","sources":["../../../src/common/playwrightServiceConfig.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAE9F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,uBAAuB;IAO3B;QAUA,eAAU,GAAG,CAAC,OAA4C,EAAQ,EAAE;YAClE,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE,CAAC;gBAC3B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAClE,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE,CAAC;oBACnB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC5E,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,KAAK,GAAG,cAAc,EAAE,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,EAAE,CAAC;gBACxF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YAChF,CAAC;YACD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,EAAE,CAAC;gBAChB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5E,CAAC;YACD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC/B,CAAC;YACD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YACjC,CAAC;QACH,CAAC,CAAC;QAnCA,IAAI,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,cAAc,CAAC;YACxE,8BAA8B,CAAC,kBAAkB,CAAW,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QACpF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAChF,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC,eAAe,CAAC;QAC9D,IAAI,CAAC,MAAM,GAAG,8BAA8B,CAAC,eAAe,CAAC;QAC7D,IAAI,CAAC,aAAa,GAAG,8BAA8B,CAAC,sBAAsB,CAAC;IAC7E,CAAC;CA6BF;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { DefaultConnectOptionsConstants, InternalEnvironmentVariables } from \"./constants.js\";\nimport type { PlaywrightServiceAdditionalOptions, OsType } from \"./types.js\";\nimport { getAndSetRunId } from \"../utils/utils.js\";\n\nclass PlaywrightServiceConfig {\n public serviceOs: OsType;\n public runId: string;\n public timeout: number;\n public slowMo: number;\n public exposeNetwork: string;\n public runName: string;\n constructor() {\n this.serviceOs = (process.env[InternalEnvironmentVariables.MPT_SERVICE_OS] ||\n DefaultConnectOptionsConstants.DEFAULT_SERVICE_OS) as OsType;\n this.runName = process.env[InternalEnvironmentVariables.MPT_SERVICE_RUN_NAME] || \"\";\n this.runId = process.env[InternalEnvironmentVariables.MPT_SERVICE_RUN_ID] || \"\";\n this.timeout = DefaultConnectOptionsConstants.DEFAULT_TIMEOUT;\n this.slowMo = DefaultConnectOptionsConstants.DEFAULT_SLOW_MO;\n this.exposeNetwork = DefaultConnectOptionsConstants.DEFAULT_EXPOSE_NETWORK;\n }\n\n setOptions = (options?: PlaywrightServiceAdditionalOptions): void => {\n if (options?.exposeNetwork) {\n this.exposeNetwork = options.exposeNetwork;\n }\n if (!process.env[InternalEnvironmentVariables.MPT_SERVICE_RUN_ID]) {\n if (options?.runId) {\n this.runId = options.runId;\n process.env[InternalEnvironmentVariables.MPT_SERVICE_RUN_ID] = this.runId;\n } else {\n this.runId = getAndSetRunId();\n }\n }\n if (!process.env[InternalEnvironmentVariables.MPT_SERVICE_RUN_NAME] && options?.runName) {\n this.runName = options.runName;\n process.env[InternalEnvironmentVariables.MPT_SERVICE_RUN_NAME] = this.runName;\n }\n if (options?.os) {\n this.serviceOs = options.os;\n process.env[InternalEnvironmentVariables.MPT_SERVICE_OS] = this.serviceOs;\n }\n if (options?.slowMo) {\n this.slowMo = options.slowMo;\n }\n if (options?.timeout) {\n this.timeout = options.timeout;\n }\n };\n}\n\nexport { PlaywrightServiceConfig };\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { Location, TestStep } from "@playwright/test/reporter";
2
2
  import type { ConnectOptions } from "@playwright/test";
3
- import type { ServiceAuth, ServiceOS } from "./constants";
3
+ import type { ServiceAuth, ServiceOS } from "./constants.js";
4
4
  import type { TokenCredential } from "@azure/identity";
5
5
  /**
6
6
  * @public
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Location, TestStep } from \"@playwright/test/reporter\";\nimport type { ConnectOptions } from \"@playwright/test\";\nimport type { ServiceAuth, ServiceOS } from \"./constants.js\";\nimport type { TokenCredential } from \"@azure/identity\";\n\n// Public APIs\n\n/**\n * @public\n *\n * Endpoint options for the service.\n */\nexport type EndpointOptions = {\n /**\n * @public\n *\n * A browser websocket endpoint to connect to.\n */\n wsEndpoint: string;\n};\n\n/**\n * @public\n *\n * Browser connect options for the service. This includes endpoint options and connect options.\n *\n * @example\n * ```\n * import playwright, { test, expect, BrowserType } from \"@playwright/test\";\n * import { getConnectOptions, BrowserConnectOptions } from \"@azure/microsoft-playwright-testing\";\n *\n * test(\"has title\", async ({ browserName }) => {\n * const { wsEndpoint, options } : BrowserConnectOptions = await getConnectOptions();\n * const browser = await (playwright[browserName] as BrowserType).connect(wsEndpoint, options);\n * const context = await browser.newContext();\n * const page = await context.newPage();\n *\n * await page.goto(\"https://playwright.dev/\");\n * await expect(page).toHaveTitle(/Playwright/);\n *\n * await page.close();\n * await context.close();\n * await browser.close();\n * });\n * ```\n */\nexport type BrowserConnectOptions = EndpointOptions & {\n options: ConnectOptions;\n};\n\n/**\n * @public\n *\n * Additional options for the service.\n */\nexport type PlaywrightServiceAdditionalOptions = {\n /**\n * @public\n *\n * Authentication types supported by Microsoft Playwright Testing.\n *\n * @defaultValue `ENTRA_ID`\n */\n serviceAuthType?: AuthenticationType;\n\n /**\n * @public\n *\n * Operating system types supported by Microsoft Playwright Testing.\n *\n * @defaultValue `linux`\n */\n os?: OsType;\n\n /**\n * @public\n *\n * Run id for the test run.\n *\n * @defaultValue `current datetime as ISO string`\n */\n runId?: string;\n\n /**\n * @public\n *\n * Maximum time in milliseconds to wait for the connection to be established.\n *\n * @defaultValue `30000`\n */\n timeout?: number;\n\n /**\n * @public\n *\n * Slows down Playwright operations by the specified amount of milliseconds.\n *\n * @defaultValue `0`\n */\n slowMo?: number;\n\n /**\n * @public\n *\n * Exposes network available on the connecting client to the browser being connected to.\n *\n * @defaultValue `<loopback>`\n */\n exposeNetwork?: string;\n\n /**\n * @public\n *\n * Use cloud hosted browsers.\n *\n * @defaultValue `false`\n */\n useCloudHostedBrowsers?: boolean;\n\n /**\n * @public\n *\n * Custom token credential for Entra ID authentication. Learn more at {@link https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/using-azure-identity.md | Using Azure Identity}.\n *\n * @defaultValue `DefaultAzureCredential`\n */\n credential?: TokenCredential;\n /**\n * @public\n *\n * Run name for the test run.\n *\n * @defaultValue `guid`\n */\n runName?: string;\n};\n\n/**\n * @public\n *\n * OS Types supported by Microsoft Playwright Testing.\n */\nexport type OsType = (typeof ServiceOS)[keyof typeof ServiceOS];\n\n/**\n * @public\n *\n * Authentication types supported by Microsoft Playwright Testing.\n */\nexport type AuthenticationType = (typeof ServiceAuth)[keyof typeof ServiceAuth];\n\n/**\n * @public\n *\n * Optional configuration for MPT Reporter.\n *\n * @example\n *\n * ```\n * import { defineConfig } from \"@playwright/test\";\n *\n * export default defineConfig({\n * reporter: [[\"@azure/microsoft-playwright-testing/reporter\", {\n * enableGitHubSummary: true\n * }]],\n * });\n * ```\n */\nexport type ReporterConfiguration = {\n /**\n * @public\n *\n * Enable GitHub Actions annotations to diagnose test failures and deep link to MPT Portal.\n *\n * @defaultValue `true`\n */\n enableGitHubSummary?: boolean;\n\n /**\n * @public\n *\n * Enable result publishing for the test run. This will upload the test result and artifacts to the MPT Portal.\n *\n * @defaultValue `true`\n */\n enableResultPublish?: boolean;\n};\n\n// Internal APIs\n\nexport type JwtPayload = {\n aid?: string;\n iss?: string;\n sub?: string;\n aud?: string[] | string;\n exp?: number;\n nbf?: number;\n iat?: number;\n jti?: string;\n};\n\nexport type AccessTokenClaims = JwtPayload & {\n aid?: string;\n accountId?: string;\n};\n\nexport type ErrorDetails = {\n message: string;\n location?: Location;\n};\n\nexport type ApiErrorMessage = {\n [key: string]: {\n [key: number]: string;\n };\n};\n\nexport type DedupedStep = { step: TestStep; count: number; duration: number };\n\nexport type RawTestStep = {\n title: string;\n category: string;\n startTime: string;\n duration: number;\n error?: string;\n steps: RawTestStep[];\n location?: Location;\n snippet?: string;\n count: number;\n};\n\nexport type IBackOffOptions = {\n numOfAttempts: number;\n retry: (e: any, attemptNumber: number) => boolean | Promise<boolean>;\n jitter: JitterType;\n};\n\nexport type JitterType = \"full\" | \"none\";\n\nexport type VersionInfo = {\n major: number;\n minor: number;\n patch: number;\n};\n\nexport type PackageManager = {\n runCommand: (command: string, args: string) => string;\n getVersionFromStdout: (stdout: string) => string;\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-service-global-setup.d.ts","sourceRoot":"","sources":["../../../../src/core/global/playwright-service-global-setup.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,QAAA,MAAM,mCAAmC,GAAU,QAAQ,UAAU,KAAG,OAAO,CAAC,GAAG,CAWlF,CAAC;AAEF,eAAe,mCAAmC,CAAC"}
@@ -0,0 +1,19 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { dirname } from "node:path";
4
+ import playwrightServiceEntra from "../playwrightServiceEntra.js";
5
+ import { loadCustomerGlobalFunction } from "../../common/executor.js";
6
+ import customerConfig from "../../common/customerConfig.js";
7
+ const playwrightServiceGlobalSetupWrapper = async (config) => {
8
+ const rootDir = config.configFile ? dirname(config.configFile) : process.cwd();
9
+ let customerGlobalSetupFunc = null;
10
+ if (customerConfig.globalSetup && typeof customerConfig.globalSetup === "string") {
11
+ customerGlobalSetupFunc = await loadCustomerGlobalFunction(rootDir, customerConfig.globalSetup);
12
+ }
13
+ await playwrightServiceEntra.globalSetup();
14
+ if (customerGlobalSetupFunc) {
15
+ return customerGlobalSetupFunc(config);
16
+ }
17
+ };
18
+ export default playwrightServiceGlobalSetupWrapper;
19
+ //# sourceMappingURL=playwright-service-global-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-service-global-setup.js","sourceRoot":"","sources":["../../../../src/core/global/playwright-service-global-setup.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,sBAAsB,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAE5D,MAAM,mCAAmC,GAAG,KAAK,EAAE,MAAkB,EAAgB,EAAE;IACrF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAChF,IAAI,uBAAuB,GAAQ,IAAI,CAAC;IACxC,IAAI,cAAc,CAAC,WAAW,IAAI,OAAO,cAAc,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACjF,uBAAuB,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,sBAAsB,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,mCAAmC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { dirname } from \"node:path\";\nimport type { FullConfig } from \"@playwright/test\";\nimport playwrightServiceEntra from \"../playwrightServiceEntra.js\";\nimport { loadCustomerGlobalFunction } from \"../../common/executor.js\";\nimport customerConfig from \"../../common/customerConfig.js\";\n\nconst playwrightServiceGlobalSetupWrapper = async (config: FullConfig): Promise<any> => {\n const rootDir = config.configFile ? dirname(config.configFile!) : process.cwd();\n let customerGlobalSetupFunc: any = null;\n if (customerConfig.globalSetup && typeof customerConfig.globalSetup === \"string\") {\n customerGlobalSetupFunc = await loadCustomerGlobalFunction(rootDir, customerConfig.globalSetup);\n }\n\n await playwrightServiceEntra.globalSetup();\n if (customerGlobalSetupFunc) {\n return customerGlobalSetupFunc(config);\n }\n};\n\nexport default playwrightServiceGlobalSetupWrapper;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-service-global-teardown.d.ts","sourceRoot":"","sources":["../../../../src/core/global/playwright-service-global-teardown.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,QAAA,MAAM,sCAAsC,GAAU,QAAQ,UAAU,KAAG,OAAO,CAAC,IAAI,CActF,CAAC;AAEF,eAAe,sCAAsC,CAAC"}
@@ -0,0 +1,19 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { dirname } from "node:path";
4
+ import playwrightServiceEntra from "../playwrightServiceEntra.js";
5
+ import { loadCustomerGlobalFunction } from "../../common/executor.js";
6
+ import customerConfig from "../../common/customerConfig.js";
7
+ const playwrightServiceGlobalTeardownWrapper = async (config) => {
8
+ const rootDir = config.configFile ? dirname(config.configFile) : process.cwd();
9
+ let customerGlobalTeardownFunc = null;
10
+ if (customerConfig.globalTeardown && typeof customerConfig.globalTeardown === "string") {
11
+ customerGlobalTeardownFunc = await loadCustomerGlobalFunction(rootDir, customerConfig.globalTeardown);
12
+ }
13
+ playwrightServiceEntra.globalTeardown();
14
+ if (customerGlobalTeardownFunc) {
15
+ await customerGlobalTeardownFunc(config);
16
+ }
17
+ };
18
+ export default playwrightServiceGlobalTeardownWrapper;
19
+ //# sourceMappingURL=playwright-service-global-teardown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-service-global-teardown.js","sourceRoot":"","sources":["../../../../src/core/global/playwright-service-global-teardown.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,sBAAsB,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAE5D,MAAM,sCAAsC,GAAG,KAAK,EAAE,MAAkB,EAAiB,EAAE;IACzF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAChF,IAAI,0BAA0B,GAAQ,IAAI,CAAC;IAC3C,IAAI,cAAc,CAAC,cAAc,IAAI,OAAO,cAAc,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvF,0BAA0B,GAAG,MAAM,0BAA0B,CAC3D,OAAO,EACP,cAAc,CAAC,cAAc,CAC9B,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,cAAc,EAAE,CAAC;IACxC,IAAI,0BAA0B,EAAE,CAAC;QAC/B,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,sCAAsC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { dirname } from \"node:path\";\nimport type { FullConfig } from \"@playwright/test\";\nimport playwrightServiceEntra from \"../playwrightServiceEntra.js\";\nimport { loadCustomerGlobalFunction } from \"../../common/executor.js\";\nimport customerConfig from \"../../common/customerConfig.js\";\n\nconst playwrightServiceGlobalTeardownWrapper = async (config: FullConfig): Promise<void> => {\n const rootDir = config.configFile ? dirname(config.configFile!) : process.cwd();\n let customerGlobalTeardownFunc: any = null;\n if (customerConfig.globalTeardown && typeof customerConfig.globalTeardown === \"string\") {\n customerGlobalTeardownFunc = await loadCustomerGlobalFunction(\n rootDir,\n customerConfig.globalTeardown,\n );\n }\n\n playwrightServiceEntra.globalTeardown();\n if (customerGlobalTeardownFunc) {\n await customerGlobalTeardownFunc(config);\n }\n};\n\nexport default playwrightServiceGlobalTeardownWrapper;\n"]}
@@ -1,4 +1,4 @@
1
- import type { PlaywrightServiceAdditionalOptions, BrowserConnectOptions } from "../common/types";
1
+ import type { PlaywrightServiceAdditionalOptions, BrowserConnectOptions } from "../common/types.js";
2
2
  import type { PlaywrightTestConfig } from "@playwright/test";
3
3
  /**
4
4
  * @public
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwrightService.d.ts","sourceRoot":"","sources":["../../../src/core/playwrightService.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kCAAkC,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAgBpG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAY7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,QAAA,MAAM,gBAAgB,GACpB,QAAQ,oBAAoB,EAC5B,UAAU,kCAAkC,KAC3C,oBA4GF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,QAAA,MAAM,iBAAiB,GACrB,UAAU,IAAI,CAAC,kCAAkC,EAAE,iBAAiB,CAAC,KACpE,OAAO,CAAC,qBAAqB,CAoB/B,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,190 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { InternalEnvironmentVariables, ServiceAuth } from "../common/constants.js";
4
+ import customerConfig from "../common/customerConfig.js";
5
+ import { PlaywrightServiceConfig } from "../common/playwrightServiceConfig.js";
6
+ import playwrightServiceEntra from "./playwrightServiceEntra.js";
7
+ import { emitReportingUrl, fetchOrValidateAccessToken, getAccessToken, getServiceWSEndpoint, validateMptPAT, warnIfAccessTokenCloseToExpiry, validatePlaywrightVersion, validateServiceUrl, exitWithFailureMessage, getPackageVersion, getPlaywrightVersion, getVersionInfo, } from "../utils/utils.js";
8
+ import { ServiceErrorMessageConstants } from "../common/messages.js";
9
+ import { globalSetupPath, globalTeardownPath } from "./playwrightServiceUtils.js";
10
+ const performOneTimeOperation = (options) => {
11
+ const oneTimeOperationFlag = process.env[InternalEnvironmentVariables.ONE_TIME_OPERATION_FLAG] === "true";
12
+ if (oneTimeOperationFlag)
13
+ return;
14
+ process.env[InternalEnvironmentVariables.ONE_TIME_OPERATION_FLAG] = "true";
15
+ if ((options === null || options === void 0 ? void 0 : options.serviceAuthType) === ServiceAuth.ACCESS_TOKEN) {
16
+ warnIfAccessTokenCloseToExpiry();
17
+ }
18
+ };
19
+ /**
20
+ * @public
21
+ *
22
+ * Generate playwright configuration integrated with Microsoft Playwright Testing.
23
+ *
24
+ * @param config - base playwright configuration
25
+ * @param options - additional options for the service
26
+ * @returns PlaywrightConfig
27
+ *
28
+ * @example
29
+ * ```
30
+ * import { defineConfig } from "playwright/test";
31
+ * import { getServiceConfig } from "@azure/microsoft-playwright-testing";
32
+ * import playwrightConfig from "./playwright.config";
33
+ *
34
+ * export default defineConfig(playwrightConfig, getServiceConfig(playwrightConfig));
35
+ * ```
36
+ *
37
+ * @example
38
+ * ```
39
+ * import { defineConfig } from "playwright/test";
40
+ * import { getServiceConfig, ServiceOS } from "@azure/microsoft-playwright-testing";
41
+ * import playwrightConfig from "./playwright.config";
42
+ *
43
+ * export default defineConfig(playwrightConfig, getServiceConfig(playwrightConfig, {
44
+ * runId: "custom run id",
45
+ * os: ServiceOS.WINDOWS
46
+ * }));
47
+ * ```
48
+ */
49
+ const getServiceConfig = (config, options) => {
50
+ validatePlaywrightVersion();
51
+ validateServiceUrl();
52
+ const playwrightVersionInfo = getVersionInfo(getPlaywrightVersion());
53
+ const isMultipleGlobalFileSupported = playwrightVersionInfo.major >= 1 && playwrightVersionInfo.minor >= 49;
54
+ if (options === null || options === void 0 ? void 0 : options.credential) {
55
+ playwrightServiceEntra.entraIdAccessToken = options.credential;
56
+ }
57
+ // if global setup/teardown is string -
58
+ // 1. if multiple global file is supported, convert it to array
59
+ // 2. wrap playwright-service global setup/teardown with customer provided global setup/teardown
60
+ // if global setup/teardown is array -
61
+ // 1. if multiple global file is not supported, throw error
62
+ // 2. append playwright-service global setup/teardown with customer provided global setup/teardown
63
+ if (config && config.globalSetup) {
64
+ if (typeof config.globalSetup === "string") {
65
+ if (isMultipleGlobalFileSupported) {
66
+ customerConfig.globalSetup = [config.globalSetup];
67
+ }
68
+ else {
69
+ customerConfig.globalSetup = config.globalSetup;
70
+ }
71
+ }
72
+ else {
73
+ if (!isMultipleGlobalFileSupported) {
74
+ throw new Error(ServiceErrorMessageConstants.MULTIPLE_SETUP_FILE_PLAYWRIGHT_VERSION_ERROR.message);
75
+ }
76
+ customerConfig.globalSetup = config.globalSetup;
77
+ }
78
+ }
79
+ if (config && config.globalTeardown) {
80
+ if (typeof config.globalTeardown === "string") {
81
+ if (isMultipleGlobalFileSupported) {
82
+ customerConfig.globalTeardown = [config.globalTeardown];
83
+ }
84
+ else {
85
+ customerConfig.globalTeardown = config.globalTeardown;
86
+ }
87
+ }
88
+ else {
89
+ if (!isMultipleGlobalFileSupported) {
90
+ throw new Error(ServiceErrorMessageConstants.MULTIPLE_SETUP_FILE_PLAYWRIGHT_VERSION_ERROR.message);
91
+ }
92
+ customerConfig.globalTeardown = config.globalTeardown;
93
+ }
94
+ }
95
+ const playwrightServiceConfig = new PlaywrightServiceConfig();
96
+ playwrightServiceConfig.setOptions(options);
97
+ emitReportingUrl();
98
+ const globalFunctions = {};
99
+ if ((options === null || options === void 0 ? void 0 : options.serviceAuthType) === ServiceAuth.ACCESS_TOKEN) {
100
+ // mpt PAT requested and set by the customer, no need to setup entra lifecycle handlers
101
+ validateMptPAT(exitWithFailureMessage);
102
+ }
103
+ else {
104
+ // If multiple global file is supported, append playwright-service global setup/teardown with customer provided global setup/teardown
105
+ if (isMultipleGlobalFileSupported) {
106
+ globalFunctions.globalSetup = [];
107
+ globalFunctions.globalTeardown = [];
108
+ if (customerConfig.globalSetup) {
109
+ globalFunctions.globalSetup.push(...customerConfig.globalSetup);
110
+ }
111
+ if (customerConfig.globalTeardown) {
112
+ globalFunctions.globalTeardown.push(...customerConfig.globalTeardown);
113
+ }
114
+ globalFunctions.globalSetup.push(globalSetupPath);
115
+ globalFunctions.globalTeardown.push(globalTeardownPath);
116
+ }
117
+ else {
118
+ // If multiple global file is not supported, wrap playwright-service global setup/teardown with customer provided global setup/teardown
119
+ globalFunctions.globalSetup = globalSetupPath;
120
+ globalFunctions.globalTeardown = globalTeardownPath;
121
+ }
122
+ }
123
+ performOneTimeOperation(options);
124
+ if ((options === null || options === void 0 ? void 0 : options.useCloudHostedBrowsers) === false) {
125
+ return Object.assign({}, globalFunctions);
126
+ }
127
+ if (!process.env[InternalEnvironmentVariables.MPT_CLOUD_HOSTED_BROWSER_USED]) {
128
+ process.env[InternalEnvironmentVariables.MPT_CLOUD_HOSTED_BROWSER_USED] = "true";
129
+ console.log("\nRunning tests using Microsoft Playwright Testing service.");
130
+ }
131
+ return Object.assign({ use: {
132
+ connectOptions: {
133
+ wsEndpoint: getServiceWSEndpoint(playwrightServiceConfig.runId, playwrightServiceConfig.serviceOs),
134
+ headers: {
135
+ Authorization: `Bearer ${getAccessToken()}`,
136
+ "x-ms-package-version": `@azure/microsoft-playwright-testing/${getPackageVersion()}`,
137
+ },
138
+ timeout: playwrightServiceConfig.timeout,
139
+ exposeNetwork: playwrightServiceConfig.exposeNetwork,
140
+ slowMo: playwrightServiceConfig.slowMo,
141
+ },
142
+ } }, globalFunctions);
143
+ };
144
+ /**
145
+ * @public
146
+ *
147
+ * Get connect options required to connect to Microsoft Playwright Testing's cloud hosted browsers.
148
+ *
149
+ * @param options - additional options for the service
150
+ * @returns BrowserConnectOptions
151
+ *
152
+ * @example
153
+ * ```
154
+ * import playwright, { test, expect, BrowserType } from "@playwright/test";
155
+ * import { getConnectOptions } from "@azure/microsoft-playwright-testing";
156
+ *
157
+ * test('has title', async ({ browserName }) => {
158
+ * const { wsEndpoint, options } = await getConnectOptions();
159
+ * const browser = await (playwright[browserName] as BrowserType).connect(wsEndpoint, options);
160
+ * const context = await browser.newContext();
161
+ * const page = await context.newPage();
162
+ *
163
+ * await page.goto('https://playwright.dev/');
164
+ * await expect(page).toHaveTitle(/Playwright/);
165
+ *
166
+ * await page.close();
167
+ * await context.close();
168
+ * await browser.close();
169
+ * });
170
+ * ```
171
+ */
172
+ const getConnectOptions = async (options) => {
173
+ const playwrightServiceConfig = new PlaywrightServiceConfig();
174
+ playwrightServiceConfig.setOptions(options);
175
+ const token = await fetchOrValidateAccessToken(options === null || options === void 0 ? void 0 : options.credential);
176
+ return {
177
+ wsEndpoint: getServiceWSEndpoint(playwrightServiceConfig.runId, playwrightServiceConfig.serviceOs),
178
+ options: {
179
+ headers: {
180
+ Authorization: `Bearer ${token}`,
181
+ "x-ms-package-version": `@azure/microsoft-playwright-testing/${getPackageVersion()}`,
182
+ },
183
+ timeout: playwrightServiceConfig.timeout,
184
+ exposeNetwork: playwrightServiceConfig.exposeNetwork,
185
+ slowMo: playwrightServiceConfig.slowMo,
186
+ },
187
+ };
188
+ };
189
+ export { getServiceConfig, getConnectOptions };
190
+ //# sourceMappingURL=playwrightService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwrightService.js","sourceRoot":"","sources":["../../../src/core/playwrightService.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { InternalEnvironmentVariables, ServiceAuth } from \"../common/constants.js\";\nimport customerConfig from \"../common/customerConfig.js\";\nimport { PlaywrightServiceConfig } from \"../common/playwrightServiceConfig.js\";\nimport playwrightServiceEntra from \"./playwrightServiceEntra.js\";\nimport type { PlaywrightServiceAdditionalOptions, BrowserConnectOptions } from \"../common/types.js\";\nimport {\n emitReportingUrl,\n fetchOrValidateAccessToken,\n getAccessToken,\n getServiceWSEndpoint,\n validateMptPAT,\n warnIfAccessTokenCloseToExpiry,\n validatePlaywrightVersion,\n validateServiceUrl,\n exitWithFailureMessage,\n getPackageVersion,\n getPlaywrightVersion,\n getVersionInfo,\n} from \"../utils/utils.js\";\nimport { ServiceErrorMessageConstants } from \"../common/messages.js\";\nimport type { PlaywrightTestConfig } from \"@playwright/test\";\nimport { globalSetupPath, globalTeardownPath } from \"./playwrightServiceUtils.js\";\n\nconst performOneTimeOperation = (options?: PlaywrightServiceAdditionalOptions): void => {\n const oneTimeOperationFlag =\n process.env[InternalEnvironmentVariables.ONE_TIME_OPERATION_FLAG] === \"true\";\n if (oneTimeOperationFlag) return;\n process.env[InternalEnvironmentVariables.ONE_TIME_OPERATION_FLAG] = \"true\";\n if (options?.serviceAuthType === ServiceAuth.ACCESS_TOKEN) {\n warnIfAccessTokenCloseToExpiry();\n }\n};\n/**\n * @public\n *\n * Generate playwright configuration integrated with Microsoft Playwright Testing.\n *\n * @param config - base playwright configuration\n * @param options - additional options for the service\n * @returns PlaywrightConfig\n *\n * @example\n * ```\n * import { defineConfig } from \"playwright/test\";\n * import { getServiceConfig } from \"@azure/microsoft-playwright-testing\";\n * import playwrightConfig from \"./playwright.config\";\n *\n * export default defineConfig(playwrightConfig, getServiceConfig(playwrightConfig));\n * ```\n *\n * @example\n * ```\n * import { defineConfig } from \"playwright/test\";\n * import { getServiceConfig, ServiceOS } from \"@azure/microsoft-playwright-testing\";\n * import playwrightConfig from \"./playwright.config\";\n *\n * export default defineConfig(playwrightConfig, getServiceConfig(playwrightConfig, {\n * runId: \"custom run id\",\n * os: ServiceOS.WINDOWS\n * }));\n * ```\n */\nconst getServiceConfig = (\n config: PlaywrightTestConfig,\n options?: PlaywrightServiceAdditionalOptions,\n): PlaywrightTestConfig => {\n validatePlaywrightVersion();\n validateServiceUrl();\n const playwrightVersionInfo = getVersionInfo(getPlaywrightVersion());\n const isMultipleGlobalFileSupported =\n playwrightVersionInfo.major >= 1 && playwrightVersionInfo.minor >= 49;\n if (options?.credential) {\n playwrightServiceEntra.entraIdAccessToken = options.credential;\n }\n\n // if global setup/teardown is string -\n // 1. if multiple global file is supported, convert it to array\n // 2. wrap playwright-service global setup/teardown with customer provided global setup/teardown\n\n // if global setup/teardown is array -\n // 1. if multiple global file is not supported, throw error\n // 2. append playwright-service global setup/teardown with customer provided global setup/teardown\n if (config && config.globalSetup) {\n if (typeof config.globalSetup === \"string\") {\n if (isMultipleGlobalFileSupported) {\n customerConfig.globalSetup = [config.globalSetup];\n } else {\n customerConfig.globalSetup = config.globalSetup;\n }\n } else {\n if (!isMultipleGlobalFileSupported) {\n throw new Error(\n ServiceErrorMessageConstants.MULTIPLE_SETUP_FILE_PLAYWRIGHT_VERSION_ERROR.message,\n );\n }\n customerConfig.globalSetup = config.globalSetup;\n }\n }\n\n if (config && config.globalTeardown) {\n if (typeof config.globalTeardown === \"string\") {\n if (isMultipleGlobalFileSupported) {\n customerConfig.globalTeardown = [config.globalTeardown];\n } else {\n customerConfig.globalTeardown = config.globalTeardown;\n }\n } else {\n if (!isMultipleGlobalFileSupported) {\n throw new Error(\n ServiceErrorMessageConstants.MULTIPLE_SETUP_FILE_PLAYWRIGHT_VERSION_ERROR.message,\n );\n }\n customerConfig.globalTeardown = config.globalTeardown;\n }\n }\n\n const playwrightServiceConfig = new PlaywrightServiceConfig();\n playwrightServiceConfig.setOptions(options);\n emitReportingUrl();\n\n const globalFunctions: any = {};\n\n if (options?.serviceAuthType === ServiceAuth.ACCESS_TOKEN) {\n // mpt PAT requested and set by the customer, no need to setup entra lifecycle handlers\n validateMptPAT(exitWithFailureMessage);\n } else {\n // If multiple global file is supported, append playwright-service global setup/teardown with customer provided global setup/teardown\n if (isMultipleGlobalFileSupported) {\n globalFunctions.globalSetup = [] as string[];\n globalFunctions.globalTeardown = [] as string[];\n if (customerConfig.globalSetup) {\n globalFunctions.globalSetup.push(...(customerConfig.globalSetup as string[]));\n }\n if (customerConfig.globalTeardown) {\n globalFunctions.globalTeardown.push(...(customerConfig.globalTeardown as string[]));\n }\n globalFunctions.globalSetup.push(globalSetupPath);\n globalFunctions.globalTeardown.push(globalTeardownPath);\n } else {\n // If multiple global file is not supported, wrap playwright-service global setup/teardown with customer provided global setup/teardown\n globalFunctions.globalSetup = globalSetupPath;\n globalFunctions.globalTeardown = globalTeardownPath;\n }\n }\n performOneTimeOperation(options);\n if (options?.useCloudHostedBrowsers === false) {\n return {\n ...globalFunctions,\n };\n }\n if (!process.env[InternalEnvironmentVariables.MPT_CLOUD_HOSTED_BROWSER_USED]) {\n process.env[InternalEnvironmentVariables.MPT_CLOUD_HOSTED_BROWSER_USED] = \"true\";\n console.log(\"\\nRunning tests using Microsoft Playwright Testing service.\");\n }\n\n return {\n use: {\n connectOptions: {\n wsEndpoint: getServiceWSEndpoint(\n playwrightServiceConfig.runId,\n playwrightServiceConfig.serviceOs,\n ),\n headers: {\n Authorization: `Bearer ${getAccessToken()}`,\n \"x-ms-package-version\": `@azure/microsoft-playwright-testing/${getPackageVersion()}`,\n },\n timeout: playwrightServiceConfig.timeout,\n exposeNetwork: playwrightServiceConfig.exposeNetwork,\n slowMo: playwrightServiceConfig.slowMo,\n },\n },\n ...globalFunctions,\n };\n};\n\n/**\n * @public\n *\n * Get connect options required to connect to Microsoft Playwright Testing's cloud hosted browsers.\n *\n * @param options - additional options for the service\n * @returns BrowserConnectOptions\n *\n * @example\n * ```\n * import playwright, { test, expect, BrowserType } from \"@playwright/test\";\n * import { getConnectOptions } from \"@azure/microsoft-playwright-testing\";\n *\n * test('has title', async ({ browserName }) => {\n * const { wsEndpoint, options } = await getConnectOptions();\n * const browser = await (playwright[browserName] as BrowserType).connect(wsEndpoint, options);\n * const context = await browser.newContext();\n * const page = await context.newPage();\n *\n * await page.goto('https://playwright.dev/');\n * await expect(page).toHaveTitle(/Playwright/);\n *\n * await page.close();\n * await context.close();\n * await browser.close();\n * });\n * ```\n */\nconst getConnectOptions = async (\n options?: Omit<PlaywrightServiceAdditionalOptions, \"serviceAuthType\">,\n): Promise<BrowserConnectOptions> => {\n const playwrightServiceConfig = new PlaywrightServiceConfig();\n playwrightServiceConfig.setOptions(options);\n\n const token = await fetchOrValidateAccessToken(options?.credential);\n return {\n wsEndpoint: getServiceWSEndpoint(\n playwrightServiceConfig.runId,\n playwrightServiceConfig.serviceOs,\n ),\n options: {\n headers: {\n Authorization: `Bearer ${token}`,\n \"x-ms-package-version\": `@azure/microsoft-playwright-testing/${getPackageVersion()}`,\n },\n timeout: playwrightServiceConfig.timeout,\n exposeNetwork: playwrightServiceConfig.exposeNetwork,\n slowMo: playwrightServiceConfig.slowMo,\n },\n };\n};\n\nexport { getServiceConfig, getConnectOptions };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwrightServiceEntra.d.ts","sourceRoot":"","sources":["../../../src/core/playwrightServiceEntra.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,cAAM,sBAAsB;IAC1B,OAAO,CAAC,mCAAmC,CAAC,CAAiB;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyB;IAChD,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,MAAM,CAAC,WAAW,QAAO,sBAAsB,CAK7C;IAEF,IAAI,kBAAkB,CAAC,UAAU,EAAE,eAAe,EAEjD;;IAMM,WAAW,QAAa,OAAO,CAAC,IAAI,CAAC,CAI1C;IAEK,cAAc,QAAO,IAAI,CAM9B;IAEF,OAAO,CAAC,iCAAiC,CAMvC;IAEF,OAAO,CAAC,0BAA0B,CAShC;CACH;AAED,QAAA,MAAM,QAAQ,wBAAuC,CAAC;AACtD,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,49 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { EntraIdAccessTokenConstants } from "../common/constants.js";
4
+ import { coreLogger } from "../common/logger.js";
5
+ import { EntraIdAccessToken } from "../common/entraIdAccessToken.js";
6
+ class PlaywrightServiceEntra {
7
+ set entraIdAccessToken(credential) {
8
+ this._entraIdAccessToken = new EntraIdAccessToken(credential);
9
+ }
10
+ constructor() {
11
+ this.globalSetup = async () => {
12
+ coreLogger.info("Entra id access token setup start");
13
+ await this._entraIdAccessToken.fetchEntraIdAccessToken();
14
+ this.entraIdGlobalSetupRotationHandler();
15
+ };
16
+ this.globalTeardown = () => {
17
+ coreLogger.info("Entra id access token teardown start");
18
+ if (this._entraIdAccessTokenRotationInterval) {
19
+ clearInterval(this._entraIdAccessTokenRotationInterval);
20
+ coreLogger.info("Entra id access token rotation interval cleared");
21
+ }
22
+ };
23
+ this.entraIdGlobalSetupRotationHandler = () => {
24
+ this._entraIdAccessTokenRotationInterval = setInterval(this.entraIdAccessTokenRotation, EntraIdAccessTokenConstants.ROTATION_INTERVAL_PERIOD_IN_MINUTES * 60 * 1000);
25
+ coreLogger.info("Entra id access token rotation handler setup done");
26
+ };
27
+ this.entraIdAccessTokenRotation = async () => {
28
+ coreLogger.info("Entra id access token rotation handler");
29
+ try {
30
+ if (this._entraIdAccessToken.doesEntraIdAccessTokenNeedRotation()) {
31
+ await this._entraIdAccessToken.fetchEntraIdAccessToken();
32
+ }
33
+ }
34
+ catch (err) {
35
+ coreLogger.error(err); // log error and continue if it's an intermittent issue (optimistic approach)
36
+ }
37
+ };
38
+ this._entraIdAccessToken = new EntraIdAccessToken();
39
+ }
40
+ }
41
+ PlaywrightServiceEntra.getInstance = () => {
42
+ if (!PlaywrightServiceEntra.instance) {
43
+ PlaywrightServiceEntra.instance = new PlaywrightServiceEntra();
44
+ }
45
+ return PlaywrightServiceEntra.instance;
46
+ };
47
+ const instance = PlaywrightServiceEntra.getInstance();
48
+ export default instance;
49
+ //# sourceMappingURL=playwrightServiceEntra.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwrightServiceEntra.js","sourceRoot":"","sources":["../../../src/core/playwrightServiceEntra.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAGrE,MAAM,sBAAsB;IAY1B,IAAI,kBAAkB,CAAC,UAA2B;QAChD,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED;QAIO,gBAAW,GAAG,KAAK,IAAmB,EAAE;YAC7C,UAAU,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,CAAC;YACzD,IAAI,CAAC,iCAAiC,EAAE,CAAC;QAC3C,CAAC,CAAC;QAEK,mBAAc,GAAG,GAAS,EAAE;YACjC,UAAU,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACxD,IAAI,IAAI,CAAC,mCAAmC,EAAE,CAAC;gBAC7C,aAAa,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBACxD,UAAU,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;QACH,CAAC,CAAC;QAEM,sCAAiC,GAAG,GAAS,EAAE;YACrD,IAAI,CAAC,mCAAmC,GAAG,WAAW,CACpD,IAAI,CAAC,0BAA0B,EAC/B,2BAA2B,CAAC,mCAAmC,GAAG,EAAE,GAAG,IAAI,CAC5E,CAAC;YACF,UAAU,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC,CAAC;QAEM,+BAA0B,GAAG,KAAK,IAAmB,EAAE;YAC7D,UAAU,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,mBAAmB,CAAC,kCAAkC,EAAE,EAAE,CAAC;oBAClE,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,CAAC;gBAC3D,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,6EAA6E;YACtG,CAAC;QACH,CAAC,CAAC;QAlCA,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACtD,CAAC;;AAbM,kCAAW,GAAG,GAA2B,EAAE;IAChD,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC;QACrC,sBAAsB,CAAC,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,sBAAsB,CAAC,QAAQ,CAAC;AACzC,CAAC,AALiB,CAKhB;AA4CJ,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,EAAE,CAAC;AACtD,eAAe,QAAQ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { EntraIdAccessTokenConstants } from \"../common/constants.js\";\nimport { coreLogger } from \"../common/logger.js\";\nimport { EntraIdAccessToken } from \"../common/entraIdAccessToken.js\";\nimport type { TokenCredential } from \"@azure/identity\";\n\nclass PlaywrightServiceEntra {\n private _entraIdAccessTokenRotationInterval?: NodeJS.Timeout;\n private static instance: PlaywrightServiceEntra;\n private _entraIdAccessToken: EntraIdAccessToken;\n\n static getInstance = (): PlaywrightServiceEntra => {\n if (!PlaywrightServiceEntra.instance) {\n PlaywrightServiceEntra.instance = new PlaywrightServiceEntra();\n }\n return PlaywrightServiceEntra.instance;\n };\n\n set entraIdAccessToken(credential: TokenCredential) {\n this._entraIdAccessToken = new EntraIdAccessToken(credential);\n }\n\n constructor() {\n this._entraIdAccessToken = new EntraIdAccessToken();\n }\n\n public globalSetup = async (): Promise<void> => {\n coreLogger.info(\"Entra id access token setup start\");\n await this._entraIdAccessToken.fetchEntraIdAccessToken();\n this.entraIdGlobalSetupRotationHandler();\n };\n\n public globalTeardown = (): void => {\n coreLogger.info(\"Entra id access token teardown start\");\n if (this._entraIdAccessTokenRotationInterval) {\n clearInterval(this._entraIdAccessTokenRotationInterval);\n coreLogger.info(\"Entra id access token rotation interval cleared\");\n }\n };\n\n private entraIdGlobalSetupRotationHandler = (): void => {\n this._entraIdAccessTokenRotationInterval = setInterval(\n this.entraIdAccessTokenRotation,\n EntraIdAccessTokenConstants.ROTATION_INTERVAL_PERIOD_IN_MINUTES * 60 * 1000,\n );\n coreLogger.info(\"Entra id access token rotation handler setup done\");\n };\n\n private entraIdAccessTokenRotation = async (): Promise<void> => {\n coreLogger.info(\"Entra id access token rotation handler\");\n try {\n if (this._entraIdAccessToken.doesEntraIdAccessTokenNeedRotation()) {\n await this._entraIdAccessToken.fetchEntraIdAccessToken();\n }\n } catch (err) {\n coreLogger.error(err); // log error and continue if it's an intermittent issue (optimistic approach)\n }\n };\n}\n\nconst instance = PlaywrightServiceEntra.getInstance();\nexport default instance;\n"]}
@@ -0,0 +1,3 @@
1
+ export declare const globalSetupPath: string;
2
+ export declare const globalTeardownPath: string;
3
+ //# sourceMappingURL=playwrightServiceUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwrightServiceUtils.d.ts","sourceRoot":"","sources":["../../../src/core/playwrightServiceUtils.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,eAAe,QAAsE,CAAC;AACnG,eAAO,MAAM,kBAAkB,QAG9B,CAAC"}
@@ -0,0 +1,11 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import path from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
6
+ // @ts-ignore
7
+ const __filename = fileURLToPath(import.meta.url);
8
+ const __dirname = path.dirname(__filename);
9
+ export const globalSetupPath = path.join(__dirname, "./global/playwright-service-global-setup.js");
10
+ export const globalTeardownPath = path.join(__dirname, "./global/playwright-service-global-teardown.js");
11
+ //# sourceMappingURL=playwrightServiceUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwrightServiceUtils.js","sourceRoot":"","sources":["../../../src/core/playwrightServiceUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,6DAA6D;AAC7D,aAAa;AACb,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,6CAA6C,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CACzC,SAAS,EACT,gDAAgD,CACjD,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\nexport const globalSetupPath = path.join(__dirname, \"./global/playwright-service-global-setup.js\");\nexport const globalTeardownPath = path.join(\n __dirname,\n \"./global/playwright-service-global-teardown.js\",\n);\n"]}