testeranto 0.94.0 → 0.110.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/README.md +1 -0
  2. package/bundle.js +80 -33
  3. package/dist/common/{src/Init.js → Init.js} +28 -0
  4. package/dist/common/{src/PM → PM}/main.js +272 -111
  5. package/dist/common/{src/PM → PM}/node.js +20 -5
  6. package/dist/common/{src/PM → PM}/web.js +19 -4
  7. package/dist/common/ReportServer.js +22 -0
  8. package/dist/common/{src/SubPackages → SubPackages}/react/jsx/index.js +0 -12
  9. package/dist/common/{src/SubPackages → SubPackages}/react/jsx/node.js +1 -6
  10. package/dist/common/{src/SubPackages → SubPackages}/react-dom/component/node.js +3 -16
  11. package/dist/common/{src/SubPackages → SubPackages}/react-dom/component/web.js +3 -3
  12. package/dist/common/{src/SubPackages → SubPackages}/react-dom/jsx/node.js +1 -1
  13. package/dist/common/{src/SubPackages → SubPackages}/react-dom/jsx/web.js +41 -30
  14. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/MemoExoticComponent/node.js +17 -7
  15. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/interface.js +17 -7
  16. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/fc/node.js +17 -7
  17. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/fc/web.js +17 -7
  18. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx/index.js +18 -14
  19. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/index.js +17 -7
  20. package/dist/common/build.js +222 -0
  21. package/dist/common/{src/defaultConfig.js → defaultConfig.js} +1 -0
  22. package/dist/common/esbuildConfigs/eslint-formatter-testeranto.js +6 -0
  23. package/dist/common/esbuildConfigs/inputFilesPlugin.js +27 -0
  24. package/dist/common/{src/esbuildConfigs → esbuildConfigs}/node.js +3 -14
  25. package/dist/common/{src/esbuildConfigs → esbuildConfigs}/web.js +3 -14
  26. package/dist/common/{src/init-docs.js → init-docs.js} +20 -10
  27. package/dist/common/{src/lib → lib}/abstractBase.js +20 -92
  28. package/dist/common/{src/lib → lib}/basebuilder.js +23 -10
  29. package/dist/common/{src/lib → lib}/classBuilder.js +1 -3
  30. package/dist/common/{src/lib → lib}/core.js +26 -10
  31. package/dist/common/{src/lib → lib}/index.js +0 -1
  32. package/dist/common/run.js +297 -0
  33. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  34. package/dist/common/utils.js +43 -0
  35. package/dist/module/Footer.js +4 -0
  36. package/dist/module/Init.js +63 -0
  37. package/dist/module/{src/PM → PM}/main.js +253 -102
  38. package/dist/module/{src/PM → PM}/node.js +20 -5
  39. package/dist/module/{src/PM → PM}/web.js +19 -4
  40. package/dist/module/ReportClient.js +97 -0
  41. package/dist/module/ReportServer.js +17 -0
  42. package/dist/module/SubPackages/react/jsx/index.js +15 -0
  43. package/dist/module/{src/SubPackages → SubPackages}/react/jsx/node.js +1 -6
  44. package/dist/module/{src/SubPackages → SubPackages}/react-dom/component/node.js +3 -16
  45. package/dist/module/{src/SubPackages → SubPackages}/react-dom/component/web.js +3 -3
  46. package/dist/module/{src/SubPackages → SubPackages}/react-dom/jsx/node.js +3 -3
  47. package/dist/module/{src/SubPackages → SubPackages}/react-dom/jsx/web.js +24 -23
  48. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx/index.js +1 -7
  49. package/dist/module/TestReport.js +91 -0
  50. package/dist/module/build.js +184 -0
  51. package/dist/module/{src/defaultConfig.js → defaultConfig.js} +1 -0
  52. package/dist/module/esbuildConfigs/eslint-formatter-testeranto.js +3 -0
  53. package/dist/module/esbuildConfigs/inputFilesPlugin.js +22 -0
  54. package/dist/module/{src/esbuildConfigs → esbuildConfigs}/node.js +3 -14
  55. package/dist/module/{src/esbuildConfigs → esbuildConfigs}/web.js +3 -14
  56. package/dist/module/{src/init-docs.js → init-docs.js} +1 -1
  57. package/dist/module/{src/lib → lib}/abstractBase.js +20 -92
  58. package/dist/module/{src/lib → lib}/basebuilder.js +23 -10
  59. package/dist/module/{src/lib → lib}/classBuilder.js +1 -3
  60. package/dist/module/{src/lib → lib}/core.js +26 -10
  61. package/dist/module/{src/lib → lib}/index.js +0 -1
  62. package/dist/module/run.js +259 -0
  63. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  64. package/dist/module/utils.js +29 -0
  65. package/dist/prebuild/ReportClient.css +11367 -0
  66. package/dist/prebuild/ReportClient.js +23641 -0
  67. package/dist/prebuild/ReportServer.mjs +16 -0
  68. package/dist/prebuild/TestReport.css +11367 -0
  69. package/dist/prebuild/TestReport.js +27484 -0
  70. package/dist/prebuild/build.mjs +376 -0
  71. package/dist/prebuild/esbuildConfigs/eslint-formatter-testeranto.mjs +9 -0
  72. package/dist/prebuild/init-docs.mjs +64 -8
  73. package/dist/prebuild/{run-tests.mjs → run.mjs} +501 -182
  74. package/dist/tsconfig.tsbuildinfo +1 -0
  75. package/dist/types/Node.d.ts +12 -0
  76. package/dist/types/{src/PM → PM}/index.d.ts +11 -3
  77. package/dist/types/{src/PM → PM}/main.d.ts +24 -15
  78. package/dist/types/{src/PM → PM}/node.d.ts +11 -6
  79. package/dist/types/{src/PM → PM}/web.d.ts +11 -7
  80. package/dist/types/SubPackages/react/component/node.d.ts +7 -0
  81. package/dist/types/SubPackages/react/component/web.d.ts +7 -0
  82. package/dist/types/SubPackages/react/jsx/index.d.ts +12 -0
  83. package/dist/types/SubPackages/react/jsx/node.d.ts +4 -0
  84. package/dist/types/SubPackages/react/jsx/web.d.ts +4 -0
  85. package/dist/types/SubPackages/react-dom/component/node.d.ts +11 -0
  86. package/dist/types/SubPackages/react-dom/component/web.d.ts +20 -0
  87. package/dist/types/SubPackages/react-dom/jsx/index.d.ts +6 -0
  88. package/dist/types/SubPackages/react-dom/jsx/node.d.ts +7 -0
  89. package/dist/types/SubPackages/react-dom/jsx/web.d.ts +5 -0
  90. package/dist/types/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +6 -0
  91. package/dist/types/SubPackages/react-test-renderer/component/index.d.ts +13 -0
  92. package/dist/types/SubPackages/react-test-renderer/component/node.d.ts +4 -0
  93. package/dist/types/SubPackages/react-test-renderer/component/web.d.ts +4 -0
  94. package/dist/types/SubPackages/react-test-renderer/fc/node.d.ts +8 -0
  95. package/dist/types/SubPackages/react-test-renderer/fc/web.d.ts +9 -0
  96. package/dist/types/SubPackages/react-test-renderer/jsx/index.d.ts +16 -0
  97. package/dist/types/SubPackages/react-test-renderer/jsx/node.d.ts +9 -0
  98. package/dist/types/SubPackages/react-test-renderer/jsx/web.d.ts +9 -0
  99. package/dist/types/SubPackages/react-test-renderer/jsx-promised/index.d.ts +15 -0
  100. package/dist/types/SubPackages/react-test-renderer/jsx-promised/node.d.ts +5 -0
  101. package/dist/types/SubPackages/react-test-renderer/jsx-promised/web.d.ts +5 -0
  102. package/dist/types/Types.d.ts +61 -0
  103. package/dist/types/Web.d.ts +9 -0
  104. package/dist/types/defaultConfig.d.ts +3 -0
  105. package/dist/types/esbuildConfigs/eslint-formatter-testeranto.d.ts +2 -0
  106. package/dist/types/{src/esbuildConfigs → esbuildConfigs}/index.d.ts +1 -1
  107. package/dist/types/{src/esbuildConfigs → esbuildConfigs}/inputFilesPlugin.d.ts +0 -1
  108. package/dist/types/{src/esbuildConfigs → esbuildConfigs}/node.d.ts +1 -1
  109. package/dist/types/{src/esbuildConfigs → esbuildConfigs}/web.d.ts +1 -1
  110. package/dist/types/lib/abstractBase.d.ts +110 -0
  111. package/dist/types/lib/basebuilder.d.ts +27 -0
  112. package/dist/types/lib/classBuilder.d.ts +7 -0
  113. package/dist/types/lib/core.d.ts +7 -0
  114. package/dist/types/lib/index.d.ts +83 -0
  115. package/dist/types/lib/types.d.ts +14 -0
  116. package/dist/types/run.d.ts +1 -0
  117. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  118. package/dist/types/utils.d.ts +9 -0
  119. package/package.json +50 -39
  120. package/src/Footer.tsx +4 -0
  121. package/src/Init.ts +48 -0
  122. package/src/Node.ts +23 -17
  123. package/src/PM/index.ts +13 -9
  124. package/src/PM/main.ts +337 -139
  125. package/src/PM/node.ts +43 -8
  126. package/src/PM/web.ts +34 -6
  127. package/src/ReportClient.tsx +155 -0
  128. package/src/ReportServer.ts +21 -0
  129. package/src/SubPackages/react/component/node.ts +68 -24
  130. package/src/SubPackages/react/component/web.ts +68 -25
  131. package/src/SubPackages/react/jsx/index.ts +39 -18
  132. package/src/SubPackages/react/jsx/node.ts +23 -10
  133. package/src/SubPackages/react/jsx/web.ts +27 -14
  134. package/src/SubPackages/react-dom/component/node.ts +42 -50
  135. package/src/SubPackages/react-dom/component/web.ts +28 -10
  136. package/src/SubPackages/react-dom/jsx/node.ts +54 -56
  137. package/src/SubPackages/react-dom/jsx/web.ts +55 -42
  138. package/src/SubPackages/react-test-renderer/MemoExoticComponent/node.ts +23 -7
  139. package/src/SubPackages/react-test-renderer/component/index.ts +38 -5
  140. package/src/SubPackages/react-test-renderer/component/node.ts +24 -5
  141. package/src/SubPackages/react-test-renderer/component/web.ts +22 -5
  142. package/src/SubPackages/react-test-renderer/fc/node.ts +41 -7
  143. package/src/SubPackages/react-test-renderer/fc/web.ts +43 -11
  144. package/src/SubPackages/react-test-renderer/jsx/index.ts +39 -16
  145. package/src/SubPackages/react-test-renderer/jsx/node.ts +22 -5
  146. package/src/SubPackages/react-test-renderer/jsx/web.ts +22 -5
  147. package/src/SubPackages/react-test-renderer/jsx-promised/index.ts +39 -6
  148. package/src/SubPackages/react-test-renderer/jsx-promised/node.ts +27 -10
  149. package/src/SubPackages/react-test-renderer/jsx-promised/web.ts +26 -12
  150. package/src/TestReport.tsx +176 -0
  151. package/src/Types.ts +131 -129
  152. package/src/Web.ts +24 -18
  153. package/src/build.ts +240 -0
  154. package/src/defaultConfig.ts +2 -1
  155. package/src/esbuildConfigs/eslint-formatter-testeranto.ts +5 -0
  156. package/src/esbuildConfigs/featuresPlugin.ts +0 -1
  157. package/src/esbuildConfigs/index.ts +1 -1
  158. package/src/esbuildConfigs/inputFilesPlugin.ts +2 -114
  159. package/src/esbuildConfigs/node.ts +7 -19
  160. package/src/esbuildConfigs/web.ts +6 -21
  161. package/src/init-docs.ts +2 -1
  162. package/src/lib/abstractBase.ts +140 -195
  163. package/src/lib/basebuilder.ts +57 -45
  164. package/src/lib/classBuilder.ts +15 -15
  165. package/src/lib/core.ts +44 -35
  166. package/src/lib/index.ts +47 -98
  167. package/src/lib/readme.md +12 -0
  168. package/src/lib/types.ts +40 -231
  169. package/src/run.ts +398 -0
  170. package/src/style.css +8 -0
  171. package/src/utils.ts +74 -2
  172. package/tsc.log +106 -0
  173. package/Bundle.Dockerfile +0 -52
  174. package/bin/init-docs.js +0 -24
  175. package/dist/common/dist/module/src/Init.js +0 -40
  176. package/dist/common/src/Aider.js +0 -143
  177. package/dist/common/src/Project.js +0 -227
  178. package/dist/common/src/Puppeteer.js +0 -111
  179. package/dist/common/src/SubPackages/puppeteer.js +0 -21
  180. package/dist/common/src/build-tests.js +0 -39
  181. package/dist/common/src/esbuildConfigs/features.js +0 -14
  182. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +0 -87
  183. package/dist/common/src/esbuildConfigs/report.js +0 -14
  184. package/dist/common/src/esbuildConfigs/tests.js +0 -13
  185. package/dist/common/src/run-tests.js +0 -39
  186. package/dist/common/src/utils.js +0 -16
  187. package/dist/common/testeranto.js +0 -15
  188. package/dist/module/src/Aider.js +0 -136
  189. package/dist/module/src/Init.js +0 -35
  190. package/dist/module/src/Project.js +0 -220
  191. package/dist/module/src/Puppeteer.js +0 -106
  192. package/dist/module/src/SubPackages/puppeteer.js +0 -16
  193. package/dist/module/src/SubPackages/react/jsx/index.js +0 -27
  194. package/dist/module/src/build-tests.js +0 -11
  195. package/dist/module/src/esbuildConfigs/features.js +0 -12
  196. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +0 -82
  197. package/dist/module/src/esbuildConfigs/report.js +0 -14
  198. package/dist/module/src/esbuildConfigs/tests.js +0 -11
  199. package/dist/module/src/run-tests.js +0 -11
  200. package/dist/module/src/utils.js +0 -9
  201. package/dist/module/testeranto.js +0 -13
  202. package/dist/prebuild/build-tests.mjs +0 -553
  203. package/dist/types/dist/module/src/Init.d.ts +0 -2
  204. package/dist/types/src/Aider.d.ts +0 -1
  205. package/dist/types/src/Node.d.ts +0 -13
  206. package/dist/types/src/Project.d.ts +0 -12
  207. package/dist/types/src/Puppeteer.d.ts +0 -2
  208. package/dist/types/src/SubPackages/puppeteer.d.ts +0 -6
  209. package/dist/types/src/SubPackages/react/component/node.d.ts +0 -7
  210. package/dist/types/src/SubPackages/react/component/web.d.ts +0 -7
  211. package/dist/types/src/SubPackages/react/jsx/index.d.ts +0 -12
  212. package/dist/types/src/SubPackages/react/jsx/node.d.ts +0 -4
  213. package/dist/types/src/SubPackages/react/jsx/web.d.ts +0 -4
  214. package/dist/types/src/SubPackages/react-dom/component/node.d.ts +0 -12
  215. package/dist/types/src/SubPackages/react-dom/component/web.d.ts +0 -11
  216. package/dist/types/src/SubPackages/react-dom/jsx/index.d.ts +0 -7
  217. package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +0 -6
  218. package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +0 -5
  219. package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +0 -5
  220. package/dist/types/src/SubPackages/react-test-renderer/component/index.d.ts +0 -13
  221. package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +0 -8
  222. package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +0 -3
  223. package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +0 -8
  224. package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +0 -8
  225. package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +0 -17
  226. package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +0 -8
  227. package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +0 -8
  228. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/index.d.ts +0 -16
  229. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +0 -4
  230. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +0 -4
  231. package/dist/types/src/Types.d.ts +0 -51
  232. package/dist/types/src/Web.d.ts +0 -10
  233. package/dist/types/src/defaultConfig.d.ts +0 -3
  234. package/dist/types/src/esbuildConfigs/features.d.ts +0 -4
  235. package/dist/types/src/esbuildConfigs/report.d.ts +0 -0
  236. package/dist/types/src/esbuildConfigs/tests.d.ts +0 -4
  237. package/dist/types/src/lib/abstractBase.d.ts +0 -110
  238. package/dist/types/src/lib/basebuilder.d.ts +0 -27
  239. package/dist/types/src/lib/classBuilder.d.ts +0 -7
  240. package/dist/types/src/lib/core.d.ts +0 -8
  241. package/dist/types/src/lib/index.d.ts +0 -60
  242. package/dist/types/src/lib/types.d.ts +0 -68
  243. package/dist/types/src/utils.d.ts +0 -2
  244. package/dist/types/testeranto.d.ts +0 -16
  245. package/docker-compose.yml +0 -37
  246. package/src/Aider.ts +0 -168
  247. package/src/Project.ts +0 -292
  248. package/src/Puppeteer.ts +0 -143
  249. package/src/SubPackages/puppeteer.ts +0 -51
  250. package/src/build-tests.ts +0 -12
  251. package/src/esbuildConfigs/features.ts +0 -17
  252. package/src/esbuildConfigs/report.ts +0 -15
  253. package/src/esbuildConfigs/tests.ts +0 -14
  254. package/src/run-tests.ts +0 -12
  255. package/testeranto.ts +0 -13
  256. package/dist/common/{src/Node.js → Node.js} +0 -0
  257. package/dist/common/{src/PM → PM}/index.js +0 -0
  258. package/dist/common/{src/SubPackages → SubPackages}/react/component/node.js +0 -0
  259. package/dist/common/{src/SubPackages → SubPackages}/react/component/web.js +0 -0
  260. package/dist/common/{src/SubPackages → SubPackages}/react/jsx/web.js +0 -0
  261. package/dist/common/{src/SubPackages → SubPackages}/react-dom/jsx/index.js +0 -0
  262. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/index.js +0 -0
  263. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/node.js +0 -0
  264. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/web.js +0 -0
  265. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx/node.js +0 -0
  266. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx/web.js +0 -0
  267. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/node.js +1 -1
  268. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  269. package/dist/common/{src/Types.js → Types.js} +0 -0
  270. package/dist/common/{src/Web.js → Web.js} +0 -0
  271. package/dist/common/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.js +0 -0
  272. package/dist/common/{src/esbuildConfigs → esbuildConfigs}/index.js +0 -0
  273. package/dist/common/{src/lib → lib}/types.js +0 -0
  274. package/dist/common/{src/puppeteerConfiger.js → puppeteerConfiger.js} +0 -0
  275. package/dist/common/{src/web.html.js → web.html.js} +0 -0
  276. package/dist/module/{src/Node.js → Node.js} +0 -0
  277. package/dist/module/{src/PM → PM}/index.js +0 -0
  278. package/dist/module/{src/SubPackages → SubPackages}/react/component/node.js +0 -0
  279. package/dist/module/{src/SubPackages → SubPackages}/react/component/web.js +0 -0
  280. package/dist/module/{src/SubPackages → SubPackages}/react/jsx/web.js +0 -0
  281. package/dist/module/{src/SubPackages → SubPackages}/react-dom/jsx/index.js +0 -0
  282. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/MemoExoticComponent/node.js +0 -0
  283. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/index.js +0 -0
  284. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/interface.js +0 -0
  285. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/node.js +0 -0
  286. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/web.js +0 -0
  287. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/fc/node.js +0 -0
  288. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/fc/web.js +0 -0
  289. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx/node.js +0 -0
  290. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx/web.js +0 -0
  291. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/index.js +0 -0
  292. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/node.js +1 -1
  293. /package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  294. /package/dist/module/{src/Types.js → Types.js} +0 -0
  295. /package/dist/module/{src/Web.js → Web.js} +0 -0
  296. /package/dist/module/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.js +0 -0
  297. /package/dist/module/{src/esbuildConfigs → esbuildConfigs}/index.js +0 -0
  298. /package/dist/module/{src/lib → lib}/types.js +0 -0
  299. /package/dist/module/{src/puppeteerConfiger.js → puppeteerConfiger.js} +0 -0
  300. /package/dist/module/{src/web.html.js → web.html.js} +0 -0
  301. /package/dist/types/{src/Init.d.ts → Init.d.ts} +0 -0
  302. /package/dist/types/{src/build-tests.d.ts → ReportServer.d.ts} +0 -0
  303. /package/dist/types/{src/SubPackages → SubPackages}/react-test-renderer/component/interface.d.ts +0 -0
  304. /package/dist/types/{src/init-docs.d.ts → build.d.ts} +0 -0
  305. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.d.ts +0 -0
  306. /package/dist/types/{src/run-tests.d.ts → init-docs.d.ts} +0 -0
  307. /package/dist/types/{src/puppeteerConfiger.d.ts → puppeteerConfiger.d.ts} +0 -0
  308. /package/dist/types/{src/web.html.d.ts → web.html.d.ts} +0 -0
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.promptPather = exports.bddExitCodePather = exports.bddPather = exports.lintExitCodePather = exports.lintPather = exports.tscExitCodePather = exports.tscPather = exports.destinationOfRuntime = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const destinationOfRuntime = (f, r, configs) => {
9
+ return path_1.default
10
+ .normalize(`${configs.buildDir}/${r}/${f}`)
11
+ .split(".")
12
+ .slice(0, -1)
13
+ .join(".");
14
+ };
15
+ exports.destinationOfRuntime = destinationOfRuntime;
16
+ const tscPather = (entryPoint, platform) => {
17
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `type_errors.txt`);
18
+ };
19
+ exports.tscPather = tscPather;
20
+ const tscExitCodePather = (entryPoint, platform) => {
21
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `type_errors.txt`);
22
+ };
23
+ exports.tscExitCodePather = tscExitCodePather;
24
+ const lintPather = (entryPoint, platform) => {
25
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `lint_errors.json`);
26
+ };
27
+ exports.lintPather = lintPather;
28
+ const lintExitCodePather = (entryPoint, platform) => {
29
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `lint_errors.txt`);
30
+ };
31
+ exports.lintExitCodePather = lintExitCodePather;
32
+ const bddPather = (entryPoint, platform) => {
33
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `tests.json`);
34
+ };
35
+ exports.bddPather = bddPather;
36
+ const bddExitCodePather = (entryPoint, platform) => {
37
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `bdd_errors.txt`);
38
+ };
39
+ exports.bddExitCodePather = bddExitCodePather;
40
+ const promptPather = (entryPoint, platform) => {
41
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `prompt.txt`);
42
+ };
43
+ exports.promptPather = promptPather;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export const Footer = () => React.createElement("footer", null,
3
+ "made with \u2764\uFE0F and ",
4
+ React.createElement("a", { href: "https://www.npmjs.com/package/testeranto" }, "testeranto "));
@@ -0,0 +1,63 @@
1
+ import fs from "fs";
2
+ export default async (partialConfig) => {
3
+ const config = Object.assign(Object.assign({}, partialConfig), { buildDir: process.cwd() + "/" + partialConfig.outdir });
4
+ try {
5
+ fs.mkdirSync(`${process.cwd()}/${config.outdir}`);
6
+ }
7
+ catch (_a) {
8
+ // console.log()
9
+ }
10
+ fs.writeFileSync(`${config.outdir}/index.html`, `
11
+ <!DOCTYPE html>
12
+ <html lang="en">
13
+
14
+ <head>
15
+ <meta name="description" content="Webpage description goes here" />
16
+ <meta charset="utf-8" />
17
+ <title>kokomoBay - testeranto</title>
18
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
19
+ <meta name="author" content="" />
20
+
21
+ <link rel="stylesheet" href="/kokomoBay/docs/ReportClient.css" />
22
+ <script type="module" src="/kokomoBay/docs/ReportClient.js"></script>
23
+
24
+ </head>
25
+
26
+ <body>
27
+ <div id="root">
28
+ react is loading
29
+ </div>
30
+ </body>
31
+
32
+ </html>
33
+ `);
34
+ fs.copyFileSync(`node_modules/testeranto/dist/prebuild/ReportClient.js`, `${config.outdir}/ReportClient.js`);
35
+ fs.copyFileSync(`node_modules/testeranto/dist/prebuild/ReportClient.css`, `${config.outdir}/ReportClient.css`);
36
+ fs.copyFileSync(`node_modules/testeranto/dist/prebuild/TestReport.js`, `${config.outdir}/TestReport.js`);
37
+ fs.copyFileSync(`node_modules/testeranto/dist/prebuild/TestReport.css`, `${config.outdir}/TestReport.css`);
38
+ fs.writeFileSync(`${config.outdir}/testeranto.json`, JSON.stringify(Object.assign(Object.assign({}, config), { buildDir: process.cwd() + "/" + config.outdir }), null, 2));
39
+ try {
40
+ fs.mkdirSync(`${process.cwd()}/${config.outdir}/node`);
41
+ }
42
+ catch (_b) {
43
+ // console.log()
44
+ }
45
+ try {
46
+ fs.mkdirSync(`${process.cwd()}/${config.outdir}/web`);
47
+ }
48
+ catch (_c) {
49
+ // console.log()
50
+ }
51
+ try {
52
+ fs.mkdirSync(`${process.cwd()}/${config.outdir}/features`);
53
+ }
54
+ catch (_d) {
55
+ // console.log()
56
+ }
57
+ try {
58
+ fs.mkdirSync(`${process.cwd()}/${config.outdir}/ts`);
59
+ }
60
+ catch (_e) {
61
+ // console.log()
62
+ }
63
+ };
@@ -1,47 +1,100 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
3
  import puppeteer from "puppeteer-core";
4
- import crypto from "crypto";
4
+ import ansiC from "ansi-colors";
5
+ import { bddExitCodePather, lintExitCodePather, tscExitCodePather, } from "../utils";
5
6
  import { PM } from "./index.js";
6
- import { destinationOfRuntime } from "../utils.js";
7
7
  const fileStreams3 = [];
8
8
  const fPaths = [];
9
9
  const files = {};
10
+ const recorders = {};
10
11
  const screenshots = {};
12
+ const statusMessagePretty = (failures, test) => {
13
+ if (failures === 0) {
14
+ console.log(ansiC.green(ansiC.inverse(`> ${test} completed successfully`)));
15
+ }
16
+ else {
17
+ console.log(ansiC.red(ansiC.inverse(`> ${test} failed ${failures} times`)));
18
+ }
19
+ };
20
+ async function writeFileAndCreateDir(filePath, data) {
21
+ const dirPath = path.dirname(filePath);
22
+ try {
23
+ await fs.promises.mkdir(dirPath, { recursive: true });
24
+ await fs.appendFileSync(filePath, data);
25
+ }
26
+ catch (error) {
27
+ console.error(`Error writing file: ${error}`);
28
+ }
29
+ }
30
+ function isValidUrl(string) {
31
+ try {
32
+ new URL(string);
33
+ return true;
34
+ }
35
+ catch (err) {
36
+ return false;
37
+ }
38
+ }
11
39
  export class PM_Main extends PM {
12
40
  constructor(configs) {
13
41
  super();
14
42
  this.shutdownMode = false;
43
+ this.bigBoard = {};
15
44
  this.checkForShutdown = () => {
16
- const anyRunning = Object.values(this.registry).filter((x) => x === false).length > 0;
45
+ const anyRunning = Object.values(this.bigBoard).filter((x) => x.status === "running")
46
+ .length > 0;
17
47
  if (anyRunning) {
18
48
  }
19
49
  else {
20
50
  this.browser.disconnect().then(() => {
21
- console.log("Goodbye");
51
+ const final = {
52
+ timestamp: Date.now(),
53
+ tests: this.configs.tests.reduce((mm, t) => {
54
+ const bddErrors = fs
55
+ .readFileSync(bddExitCodePather(t[0], t[1]))
56
+ .toString();
57
+ const lintErrors = fs
58
+ .readFileSync(lintExitCodePather(t[0], t[1]))
59
+ .toString();
60
+ const typeErrors = fs
61
+ .readFileSync(tscExitCodePather(t[0], t[1]))
62
+ .toString();
63
+ mm[t[0]] = {
64
+ bddErrors,
65
+ lintErrors,
66
+ typeErrors,
67
+ };
68
+ return mm;
69
+ }, {}),
70
+ };
71
+ const s = JSON.stringify(final, null, 2);
72
+ fs.writeFileSync("docs/summary.json", s);
73
+ console.log(ansiC.inverse("Goodbye"));
22
74
  process.exit();
23
75
  });
24
76
  }
25
77
  };
26
- this.register = (src) => {
27
- this.registry[src] = false;
78
+ this.testIsNowRunning = (src) => {
79
+ this.bigBoard[src].status = "running";
28
80
  };
29
- this.deregister = (src) => {
30
- this.registry[src] = true;
81
+ this.testIsNowDone = (src) => {
82
+ this.bigBoard[src].status = "waiting";
31
83
  if (this.shutdownMode) {
32
84
  this.checkForShutdown();
33
85
  }
34
86
  };
35
87
  this.launchNode = async (src, dest) => {
36
- console.log("launchNode", src);
37
- this.register(src);
88
+ // console.log(ansiC.yellow(`! node, ${src}`));
89
+ console.log(ansiC.green(ansiC.inverse(`! node, ${src}`)));
90
+ this.testIsNowRunning(src);
38
91
  const destFolder = dest.replace(".mjs", "");
39
92
  let argz = "";
40
93
  const testConfig = this.configs.tests.find((t) => {
41
94
  return t[0] === src;
42
95
  });
43
96
  if (!testConfig) {
44
- console.error("missing test config");
97
+ console.log(ansiC.inverse("missing test config! Exiting ungracefully!"));
45
98
  process.exit(-1);
46
99
  }
47
100
  const testConfigResource = testConfig[2];
@@ -80,32 +133,45 @@ export class PM_Main extends PM {
80
133
  console.error("negative port makes no sense", src);
81
134
  process.exit(-1);
82
135
  }
83
- const builtfile = dest + ".mjs";
136
+ const builtfile = dest;
84
137
  const webSideCares = [];
85
- await Promise.all(testConfig[3].map(async (sidecar) => {
86
- if (sidecar[1] === "web") {
87
- const s = await this.launchWebSideCar(sidecar[0], destinationOfRuntime(sidecar[0], "web", this.configs), sidecar);
88
- webSideCares.push(s);
89
- return s;
90
- }
91
- if (sidecar[1] === "node") {
92
- return this.launchNodeSideCar(sidecar[0], destinationOfRuntime(sidecar[0], "node", this.configs), sidecar);
93
- }
94
- }));
138
+ // await Promise.all(
139
+ // testConfig[3].map(async (sidecar) => {
140
+ // if (sidecar[1] === "web") {
141
+ // const s = await this.launchWebSideCar(
142
+ // sidecar[0],
143
+ // destinationOfRuntime(sidecar[0], "web", this.configs),
144
+ // sidecar
145
+ // );
146
+ // webSideCares.push(s);
147
+ // return s;
148
+ // }
149
+ // if (sidecar[1] === "node") {
150
+ // return this.launchNodeSideCar(
151
+ // sidecar[0],
152
+ // destinationOfRuntime(sidecar[0], "node", this.configs),
153
+ // sidecar
154
+ // );
155
+ // }
156
+ // })
157
+ // );
95
158
  this.server[builtfile] = await import(`${builtfile}?cacheBust=${Date.now()}`).then((module) => {
96
159
  return module.default.then((defaultModule) => {
97
160
  defaultModule
98
161
  .receiveTestResourceConfig(argz)
99
162
  .then(async ({ features, failed }) => {
100
- this.receiveFeatures(features, destFolder);
101
- console.log(`${src} completed with ${failed} errors`);
163
+ this.receiveFeatures(features, destFolder, src);
164
+ // console.log(`${src} completed with ${failed} errors`);
165
+ statusMessagePretty(failed, src);
166
+ this.receiveExitCode(src, failed);
102
167
  })
103
168
  .catch((e) => {
104
- console.log(`${src} errored with`, e);
169
+ console.log(ansiC.red(ansiC.inverse(`${src} errored with: ${e}`)));
170
+ // console.log(reset, `${src} errored with`, e);
105
171
  })
106
172
  .finally(() => {
107
173
  webSideCares.forEach((webSideCar) => webSideCar.close());
108
- this.deregister(src);
174
+ this.testIsNowDone(src);
109
175
  });
110
176
  });
111
177
  });
@@ -118,7 +184,8 @@ export class PM_Main extends PM {
118
184
  };
119
185
  this.launchWebSideCar = async (src, dest, testConfig) => {
120
186
  const d = dest + ".mjs";
121
- console.log("launchWebSideCar", src, dest, d);
187
+ // console.log(green, "launchWebSideCar", src, dest, d);
188
+ console.log(ansiC.green(ansiC.inverse(`launchWebSideCar ${src}`)));
122
189
  const destFolder = dest.replace(".mjs", "");
123
190
  // const webArgz = JSON.stringify({
124
191
  // name: dest,
@@ -225,7 +292,8 @@ export class PM_Main extends PM {
225
292
  };
226
293
  this.launchNodeSideCar = async (src, dest, testConfig) => {
227
294
  const d = dest + ".mjs";
228
- console.log("launchNodeSideCar", src, dest, d);
295
+ // console.log(green, "launchNodeSideCar", src, dest, d);
296
+ console.log(ansiC.green(ansiC.inverse(`launchNodeSideCar ${src}`)));
229
297
  const destFolder = dest.replace(".mjs", "");
230
298
  let argz = "";
231
299
  const testConfigResource = testConfig[2];
@@ -294,14 +362,19 @@ export class PM_Main extends PM {
294
362
  }
295
363
  }
296
364
  };
297
- this.launchWeb = (t, dest, sidecars) => {
298
- console.log("launchWeb", t, dest);
299
- this.register(t);
300
- sidecars.map((sidecar) => {
301
- if (sidecar[1] === "node") {
302
- return this.launchNodeSideCar(sidecar[0], destinationOfRuntime(sidecar[0], "node", this.configs), sidecar);
303
- }
304
- });
365
+ this.launchWeb = (t, dest) => {
366
+ // console.log(green, "! web", t);
367
+ console.log(ansiC.green(ansiC.inverse(`! web ${t}`)));
368
+ this.testIsNowRunning(t);
369
+ // sidecars.map((sidecar) => {
370
+ // if (sidecar[1] === "node") {
371
+ // return this.launchNodeSideCar(
372
+ // sidecar[0],
373
+ // destinationOfRuntime(sidecar[0], "node", this.configs),
374
+ // sidecar
375
+ // );
376
+ // }
377
+ // });
305
378
  const destFolder = dest.replace(".mjs", "");
306
379
  const webArgz = JSON.stringify({
307
380
  name: dest,
@@ -309,10 +382,11 @@ export class PM_Main extends PM {
309
382
  fs: destFolder,
310
383
  browserWSEndpoint: this.browser.wsEndpoint(),
311
384
  });
385
+ const d = `${dest}?cacheBust=${Date.now()}`;
312
386
  const evaluation = `
313
- console.log("importing ${dest}.mjs");
314
- import('${dest}.mjs').then(async (x) => {
315
- console.log("imported", (await x.default));
387
+
388
+ import('${d}').then(async (x) => {
389
+
316
390
  try {
317
391
  return await (await x.default).receiveTestResourceConfig(${webArgz})
318
392
  } catch (e) {
@@ -321,8 +395,8 @@ export class PM_Main extends PM {
321
395
  })`;
322
396
  const fileStreams2 = [];
323
397
  const doneFileStream2 = [];
324
- const stdoutStream = fs.createWriteStream(`${dest}/stdout.log`);
325
- const stderrStream = fs.createWriteStream(`${dest}/stderr.log`);
398
+ const stdoutStream = fs.createWriteStream(`${destFolder}/stdout.log`);
399
+ const stderrStream = fs.createWriteStream(`${destFolder}/stderr.log`);
326
400
  this.browser
327
401
  .newPage()
328
402
  .then((page) => {
@@ -486,12 +560,12 @@ export class PM_Main extends PM {
486
560
  files[t] = new Set();
487
561
  }
488
562
  // files[t].add(filepath);
489
- fs.writeFileSync(dest + "/manifest.json", JSON.stringify(Array.from(files[t])));
563
+ fs.writeFileSync(destFolder + "/manifest.json", JSON.stringify(Array.from(files[t])));
490
564
  delete files[t];
491
565
  Promise.all(screenshots[t] || []).then(() => {
492
566
  delete screenshots[t];
493
567
  page.close();
494
- this.deregister(t);
568
+ this.testIsNowDone(t);
495
569
  stderrStream.close();
496
570
  stdoutStream.close();
497
571
  });
@@ -509,7 +583,7 @@ export class PM_Main extends PM {
509
583
  }
510
584
  console.debug(`Error from message ${t}: [${err.message}] `);
511
585
  stderrStream.write(err.message);
512
- // close();
586
+ close();
513
587
  });
514
588
  page.on("console", (log) => {
515
589
  // console.debug(`Log from ${t}: [${log.text()}] `);
@@ -521,23 +595,28 @@ export class PM_Main extends PM {
521
595
  stdoutStream.write(JSON.stringify(log.location()));
522
596
  stdoutStream.write(JSON.stringify(log.stackTrace()));
523
597
  });
524
- await page.goto(`file://${`${dest}.html`}`, {});
598
+ await page.goto(`file://${`${destFolder}.html`}`, {});
525
599
  await page
526
600
  .evaluate(evaluation)
527
601
  .then(async ({ failed, features }) => {
528
- this.receiveFeatures(features, destFolder);
529
- console.log(`${t} completed with ${failed} errors`);
602
+ this.receiveFeatures(features, destFolder, t);
603
+ // console.log(`${t} completed with ${failed} errors`);
604
+ statusMessagePretty(failed, t);
605
+ this.receiveExitCode(t, failed);
530
606
  })
531
607
  .catch((e) => {
532
- console.log(`${t} errored with`, e);
608
+ // console.log(red, `${t} errored with`, e);
609
+ console.log(ansiC.red(ansiC.inverse(`${t} errored with: ${e}`)));
533
610
  })
534
611
  .finally(() => {
612
+ // this.testIsNowDone(t);
535
613
  close();
536
614
  });
537
615
  return page;
538
616
  });
539
617
  };
540
- this.receiveFeatures = (features, destFolder) => {
618
+ this.receiveFeatures = (features, destFolder, srcTest) => {
619
+ const featureDestination = path.resolve(process.cwd(), "docs", "features", "strings", srcTest.split(".").slice(0, -1).join(".") + ".features.txt");
541
620
  features
542
621
  .reduce(async (mm, featureStringKey) => {
543
622
  const accum = await mm;
@@ -556,45 +635,87 @@ export class PM_Main extends PM {
556
635
  // throw error;
557
636
  }
558
637
  }
559
- fs.symlink(u.pathname, newPath, (err) => {
560
- if (err) {
561
- // console.error("Error creating symlink:", err);
562
- }
563
- else {
564
- // console.log("Symlink created successfully");
565
- }
566
- });
567
- accum.push(newPath);
638
+ // fs.symlink(u.pathname, newPath, (err) => {
639
+ // if (err) {
640
+ // // console.error("Error creating symlink:", err);
641
+ // } else {
642
+ // // console.log("Symlink created successfully");
643
+ // }
644
+ // });
645
+ accum.files.push(newPath);
568
646
  }
569
647
  else if (u.protocol === "http:" || u.protocol === "https:") {
570
648
  const newPath = `${process.cwd()}/docs/features/external${u.hostname}${u.pathname}`;
571
649
  const body = await this.configs.featureIngestor(featureStringKey);
572
650
  writeFileAndCreateDir(newPath, body);
573
- accum.push(newPath);
651
+ accum.files.push(newPath);
574
652
  }
575
653
  }
576
654
  else {
577
- const newPath = `${process.cwd()}/docs/features/plain/${await sha256(featureStringKey)}`;
578
- writeFileAndCreateDir(newPath, featureStringKey);
579
- accum.push(newPath);
655
+ await fs.promises.mkdir(path.dirname(featureDestination), {
656
+ recursive: true,
657
+ });
658
+ accum.strings.push(featureStringKey);
580
659
  }
581
660
  return accum;
582
- }, Promise.resolve([]))
583
- .then((features) => {
584
- fs.writeFileSync(`${destFolder}/featurePrompt.txt`, features
661
+ }, Promise.resolve({ files: [], strings: [] }))
662
+ .then(({ files, strings }) => {
663
+ // writeFileAndCreateDir(`${featureDestination}`, JSON.stringify(strings));
664
+ fs.writeFileSync(`${destFolder}/featurePrompt.txt`, files
585
665
  .map((f) => {
586
666
  return `/read ${f}`;
587
667
  })
588
668
  .join("\n"));
589
669
  });
670
+ this.writeBigBoard();
671
+ };
672
+ this.receiveExitCode = (srcTest, failures) => {
673
+ this.bigBoard[srcTest].runTimeError = failures;
674
+ this.writeBigBoard();
675
+ };
676
+ this.writeBigBoard = () => {
677
+ fs.writeFileSync("./docs/bigBoard.json", JSON.stringify(this.bigBoard, null, 2));
590
678
  };
591
679
  this.server = {};
592
680
  this.configs = configs;
593
681
  this.ports = {};
594
- this.registry = {};
682
+ this.configs.tests.forEach(([t]) => {
683
+ this.bigBoard[t] = {
684
+ status: "?",
685
+ };
686
+ });
595
687
  this.configs.ports.forEach((element) => {
596
688
  this.ports[element] = "true"; // set ports as open
597
689
  });
690
+ globalThis["waitForSelector"] = async (pageKey, sel) => {
691
+ const page = (await this.browser.pages()).find(
692
+ /* @ts-ignore:next-line */
693
+ (p) => p.mainFrame()._id === pageKey);
694
+ await (page === null || page === void 0 ? void 0 : page.waitForSelector(sel));
695
+ };
696
+ globalThis["screencastStop"] = async (path) => {
697
+ return recorders[path].stop();
698
+ };
699
+ globalThis["closePage"] = async (pageKey) => {
700
+ const page = (await this.browser.pages()).find(
701
+ /* @ts-ignore:next-line */
702
+ (p) => p.mainFrame()._id === pageKey);
703
+ /* @ts-ignore:next-line */
704
+ return page.close();
705
+ };
706
+ globalThis["goto"] = async (pageKey, url) => {
707
+ const page = (await this.browser.pages()).find(
708
+ /* @ts-ignore:next-line */
709
+ (p) => p.mainFrame()._id === pageKey);
710
+ await (page === null || page === void 0 ? void 0 : page.goto(url));
711
+ return;
712
+ };
713
+ globalThis["newPage"] = () => {
714
+ return this.browser.newPage();
715
+ };
716
+ globalThis["pages"] = () => {
717
+ return this.browser.pages();
718
+ };
598
719
  globalThis["mkdirSync"] = (fp) => {
599
720
  if (!fs.existsSync(fp)) {
600
721
  return fs.mkdirSync(fp, {
@@ -604,14 +725,9 @@ export class PM_Main extends PM {
604
725
  return false;
605
726
  };
606
727
  globalThis["writeFileSync"] = (filepath, contents, testName) => {
607
- // console.log(testName, "writeFileSync", filepath, testName);
608
- // Create directories if they don't exist
609
- const dir = path.dirname(filepath);
610
- // console.log(testName, "mkdirSync", dir);
611
- fs.mkdirSync(dir, {
728
+ fs.mkdirSync(path.dirname(filepath), {
612
729
  recursive: true,
613
730
  });
614
- // console.log(testName, "mkdirSync2");
615
731
  if (!files[testName]) {
616
732
  files[testName] = new Set();
617
733
  }
@@ -634,7 +750,33 @@ export class PM_Main extends PM {
634
750
  globalThis["end"] = (uid) => {
635
751
  fileStreams3[uid].end();
636
752
  };
637
- globalThis["customScreenShot"] = async (opts, page) => {
753
+ // async (ssOpts: ScreenshotOptions, testName: string) => {
754
+ // const p = ssOpts.path as string;
755
+ // const dir = path.dirname(p);
756
+ // fs.mkdirSync(dir, {
757
+ // recursive: true,
758
+ // });
759
+ // if (!files[testName]) {
760
+ // files[testName] = new Set();
761
+ // }
762
+ // files[testName].add(ssOpts.path as string);
763
+ // const sPromise = page.screenshot({
764
+ // ...ssOpts,
765
+ // path: p,
766
+ // });
767
+ // if (!screenshots[testName]) {
768
+ // screenshots[testName] = [];
769
+ // }
770
+ // screenshots[testName].push(sPromise);
771
+ // // sPromise.then(())
772
+ // await sPromise;
773
+ // return sPromise;
774
+ // // page.evaluate(`window["screenshot done"]`);
775
+ // };
776
+ globalThis["customScreenShot"] = async (opts, pageKey, testName) => {
777
+ const page = (await this.browser.pages()).find(
778
+ /* @ts-ignore:next-line */
779
+ (p) => p.mainFrame()._id === pageKey);
638
780
  const p = opts.path;
639
781
  const dir = path.dirname(p);
640
782
  fs.mkdirSync(dir, {
@@ -652,6 +794,19 @@ export class PM_Main extends PM {
652
794
  await sPromise;
653
795
  return sPromise;
654
796
  };
797
+ globalThis["screencast"] = async (opts, pageKey) => {
798
+ const page = (await this.browser.pages()).find(
799
+ /* @ts-ignore:next-line */
800
+ (p) => p.mainFrame()._id === pageKey);
801
+ const p = opts.path;
802
+ const dir = path.dirname(p);
803
+ fs.mkdirSync(dir, {
804
+ recursive: true,
805
+ });
806
+ const recorder = await (page === null || page === void 0 ? void 0 : page.screencast(Object.assign(Object.assign({}, opts), { path: p })));
807
+ recorders[opts.path] = recorder;
808
+ return opts.path;
809
+ };
655
810
  // globalThis["customclose"] = (p: string, testName: string) => {
656
811
  // if (!files[testName]) {
657
812
  // files[testName] = new Set();
@@ -663,13 +818,28 @@ export class PM_Main extends PM {
663
818
  // delete files[testName];
664
819
  // };
665
820
  }
821
+ customclose() {
822
+ throw new Error("Method not implemented.");
823
+ }
824
+ waitForSelector(p, s) {
825
+ throw new Error("Method not implemented.");
826
+ }
827
+ closePage(p) {
828
+ throw new Error("Method not implemented.");
829
+ }
830
+ newPage() {
831
+ throw new Error("Method not implemented.");
832
+ }
833
+ goto(p, url) {
834
+ throw new Error("Method not implemented.");
835
+ }
666
836
  $(selector) {
667
837
  throw new Error("Method not implemented.");
668
838
  }
669
839
  screencast(opts) {
670
840
  throw new Error("Method not implemented.");
671
841
  }
672
- customScreenShot(opts) {
842
+ customScreenShot(opts, cdpPage) {
673
843
  throw new Error("Method not implemented.");
674
844
  }
675
845
  end(accessObject) {
@@ -754,40 +924,21 @@ export class PM_Main extends PM {
754
924
  isDisabled(selector) {
755
925
  throw new Error("Method not implemented.");
756
926
  }
927
+ screencastStop(s) {
928
+ throw new Error("Method not implemented.");
929
+ }
757
930
  ////////////////////////////////////////////////////////////////////////////////
758
931
  async startPuppeteer(options, destfolder) {
759
932
  this.browser = (await puppeteer.launch(options));
760
933
  }
761
- ////////////////////////////////////////////////////////////////////////////////
934
+ // goodbye = () => {
935
+ // this.browser.disconnect().then(() => {
936
+ // console.log("Goodbye");
937
+ // process.exit();
938
+ // });
939
+ // };
762
940
  shutDown() {
763
- console.log("shutting down...");
764
941
  this.shutdownMode = true;
765
942
  this.checkForShutdown();
766
943
  }
767
944
  }
768
- async function writeFileAndCreateDir(filePath, data) {
769
- const dirPath = path.dirname(filePath);
770
- try {
771
- await fs.promises.mkdir(dirPath, { recursive: true });
772
- await fs.promises.writeFile(filePath, data);
773
- }
774
- catch (error) {
775
- console.error(`Error writing file: ${error}`);
776
- }
777
- }
778
- async function sha256(rawData) {
779
- const data = typeof rawData === "object" ? JSON.stringify(rawData) : String(rawData);
780
- const msgBuffer = new TextEncoder().encode(data);
781
- const hashBuffer = await crypto.subtle.digest("SHA-256", msgBuffer);
782
- const hashArray = Array.from(new Uint8Array(hashBuffer));
783
- return hashArray.map((b) => b.toString(16).padStart(2, "0")).join("");
784
- }
785
- function isValidUrl(string) {
786
- try {
787
- new URL(string);
788
- return true;
789
- }
790
- catch (err) {
791
- return false;
792
- }
793
- }