testeranto 0.129.0 → 0.135.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 (403) hide show
  1. package/.aider.chat.history.md +137798 -0
  2. package/.aider.input.history +370 -0
  3. package/.aider.tags.cache.v3/{ec/c0/161c249c35be853cc40cf11f9267.val → 62/f5/8af72140d93c58db2f6aa5bf3f1f.val} +0 -0
  4. package/.aider.tags.cache.v3/8e/ec/2d4659a1589a0187a757ab1cbefa.val +0 -0
  5. package/.aider.tags.cache.v3/{b7/e6/5be87b62aeaf2bc244ff41c1b61a.val → a7/97/6d37fce350ad2d588f36729db0cd.val} +0 -0
  6. package/.aider.tags.cache.v3/{e3/e6/3501625caf5d5eb171f0d248462e.val → ad/3c/10f2ab1397f6d544e613d2a6acaf.val} +0 -0
  7. package/.aider.tags.cache.v3/cache.db +0 -0
  8. package/.aider.tags.cache.v3/d8/b0/a8966fcd65890fd9f70d7afe8141.val +0 -0
  9. package/.aider.tags.cache.v3/dd/5b/0ade824b0841c7c11e9352c5d2ca.val +0 -0
  10. package/README.md +194 -182
  11. package/bundle.js +8 -75
  12. package/dist/common/src/Init.js +6 -1
  13. package/dist/common/src/Node.js +6 -4
  14. package/dist/common/src/NodeSidecar.js +15 -0
  15. package/dist/common/src/PM/PM_WithEslintAndTsc.js +189 -0
  16. package/dist/common/src/PM/__tests__/nodeSidecar.testeranto.js +109 -0
  17. package/dist/common/src/PM/__tests__/pureSidecar.testeranto.js +94 -0
  18. package/dist/common/src/PM/__tests__/webSidecar.testeranto.js +94 -0
  19. package/dist/common/src/PM/base.js +33 -16
  20. package/dist/common/src/PM/main.js +492 -428
  21. package/dist/common/src/PM/node.js +54 -22
  22. package/dist/common/src/PM/nodeSidecar.js +65 -0
  23. package/dist/common/src/PM/pure.js +55 -47
  24. package/dist/common/src/PM/pureSidecar.js +48 -0
  25. package/dist/common/src/PM/sidecar.js +11 -0
  26. package/dist/common/src/PM/web.js +24 -6
  27. package/dist/common/src/PM/webSidecar.js +47 -0
  28. package/dist/common/src/PureSidecar.js +13 -0
  29. package/dist/common/src/SP__Polygon.test.js +10 -0
  30. package/dist/common/src/WebSidecar.js +14 -0
  31. package/dist/common/src/build.js +66 -12
  32. package/dist/common/src/defaultConfig.js +1 -0
  33. package/dist/common/src/esbuildConfigs/consoleDetectorPlugin.js +27 -0
  34. package/dist/common/src/esbuildConfigs/eslint-formatter-testeranto.js +16 -1
  35. package/dist/common/src/esbuildConfigs/node.js +2 -16
  36. package/dist/common/src/esbuildConfigs/pure.js +12 -12
  37. package/dist/common/src/esbuildConfigs/rebuildPlugin.js +22 -0
  38. package/dist/common/src/esbuildConfigs/web.js +12 -17
  39. package/dist/common/src/lib/Sidecar.js +6 -0
  40. package/dist/common/src/lib/abstractBase.js +13 -6
  41. package/dist/common/src/lib/basebuilder.js +1 -3
  42. package/dist/common/src/lib/classBuilder.js +6 -20
  43. package/dist/common/src/lib/core.js +11 -6
  44. package/dist/common/src/lib/index.js +13 -4
  45. package/dist/common/src/lib/pmProxy.js +1 -1
  46. package/dist/common/src/mothership/index.js +16 -0
  47. package/dist/common/src/mothership/test.js +65 -0
  48. package/dist/common/src/utils/queue.js +36 -0
  49. package/dist/common/src/utils.js +34 -5
  50. package/dist/common/testeranto.config.js +77 -39
  51. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  52. package/dist/module/src/Init.js +6 -1
  53. package/dist/module/src/Node.js +6 -4
  54. package/dist/module/src/NodeSidecar.js +11 -0
  55. package/dist/module/src/PM/PM_WithEslintAndTsc.js +182 -0
  56. package/dist/module/src/PM/__tests__/nodeSidecar.testeranto.js +104 -0
  57. package/dist/module/src/PM/__tests__/pureSidecar.testeranto.js +89 -0
  58. package/dist/module/src/PM/__tests__/webSidecar.testeranto.js +89 -0
  59. package/dist/module/src/PM/base.js +33 -16
  60. package/dist/module/src/PM/main.js +493 -429
  61. package/dist/module/src/PM/node.js +54 -22
  62. package/dist/module/src/PM/nodeSidecar.js +58 -0
  63. package/dist/module/src/PM/pure.js +55 -44
  64. package/dist/module/src/PM/pureSidecar.js +41 -0
  65. package/dist/module/src/PM/sidecar.js +7 -0
  66. package/dist/module/src/PM/web.js +24 -6
  67. package/dist/module/src/PM/webSidecar.js +40 -0
  68. package/dist/module/src/Project.js +154 -75
  69. package/dist/module/src/PureSidecar.js +9 -0
  70. package/dist/module/src/ReportClient.js +132 -97
  71. package/dist/module/src/SP__Polygon.test.js +8 -0
  72. package/dist/module/src/TestReport.js +32 -14
  73. package/dist/module/src/WebSidecar.js +10 -0
  74. package/dist/module/src/build.js +66 -12
  75. package/dist/module/src/defaultConfig.js +1 -0
  76. package/dist/module/src/esbuildConfigs/consoleDetectorPlugin.js +24 -0
  77. package/dist/module/src/esbuildConfigs/eslint-formatter-testeranto.js +16 -1
  78. package/dist/module/src/esbuildConfigs/node.js +2 -16
  79. package/dist/module/src/esbuildConfigs/pure.js +12 -12
  80. package/dist/module/src/esbuildConfigs/rebuildPlugin.js +17 -0
  81. package/dist/module/src/esbuildConfigs/web.js +12 -17
  82. package/dist/module/src/lib/Sidecar.js +2 -0
  83. package/dist/module/src/lib/abstractBase.js +13 -6
  84. package/dist/module/src/lib/basebuilder.js +1 -3
  85. package/dist/module/src/lib/classBuilder.js +6 -20
  86. package/dist/module/src/lib/core.js +11 -6
  87. package/dist/module/src/lib/index.js +12 -4
  88. package/dist/module/src/lib/pmProxy.js +1 -1
  89. package/dist/module/src/mothership/index.js +11 -0
  90. package/dist/module/src/mothership/test.js +60 -0
  91. package/dist/module/src/utils/queue.js +32 -0
  92. package/dist/module/src/utils.js +34 -5
  93. package/dist/module/testeranto.config.js +77 -36
  94. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  95. package/dist/prebuild/Project.js +3287 -385
  96. package/dist/prebuild/ReportClient.js +0 -24638
  97. package/dist/prebuild/TestReport.js +26 -22
  98. package/dist/prebuild/build.mjs +192 -70
  99. package/dist/prebuild/esbuildConfigs/eslint-formatter-testeranto.mjs +14 -1
  100. package/dist/prebuild/init-docs.mjs +2 -5
  101. package/dist/prebuild/mothership/index.mjs +17 -0
  102. package/dist/prebuild/run.mjs +733 -433
  103. package/dist/types/src/CoreTypes.d.ts +51 -0
  104. package/dist/types/src/Node.d.ts +2 -2
  105. package/dist/types/src/NodeSidecar.d.ts +6 -0
  106. package/dist/types/src/PM/PM_WithEslintAndTsc.d.ts +23 -0
  107. package/dist/types/src/PM/__tests__/nodeSidecar.testeranto.d.ts +2 -0
  108. package/dist/types/src/PM/__tests__/pureSidecar.testeranto.d.ts +2 -0
  109. package/dist/types/src/PM/__tests__/webSidecar.testeranto.d.ts +2 -0
  110. package/dist/types/src/PM/base.d.ts +6 -5
  111. package/dist/types/src/PM/index.d.ts +6 -4
  112. package/dist/types/src/PM/main.d.ts +23 -26
  113. package/dist/types/src/PM/node.d.ts +8 -6
  114. package/dist/types/src/PM/nodeSidecar.d.ts +13 -0
  115. package/dist/types/src/PM/pure.d.ts +4 -3
  116. package/dist/types/src/PM/pureSidecar.d.ts +11 -0
  117. package/dist/types/src/PM/sidecar.d.ts +8 -0
  118. package/dist/types/src/PM/web.d.ts +18 -8
  119. package/dist/types/src/PM/webSidecar.d.ts +11 -0
  120. package/dist/types/src/PureSidecar.d.ts +8 -0
  121. package/dist/types/src/SP__Polygon.test.d.ts +1 -0
  122. package/dist/types/src/Types.d.ts +80 -58
  123. package/dist/types/src/Web.d.ts +1 -1
  124. package/dist/types/src/WebSidecar.d.ts +8 -0
  125. package/dist/types/src/esbuildConfigs/consoleDetectorPlugin.d.ts +2 -0
  126. package/dist/types/src/esbuildConfigs/rebuildPlugin.d.ts +6 -0
  127. package/dist/types/src/lib/Sidecar.d.ts +5 -0
  128. package/dist/types/src/lib/abstractBase.d.ts +6 -12
  129. package/dist/types/src/lib/classBuilder.d.ts +7 -1
  130. package/dist/types/src/lib/core.d.ts +8 -2
  131. package/dist/types/src/lib/index.d.ts +10 -4
  132. package/dist/types/src/lib/types.d.ts +12 -2
  133. package/dist/types/src/mothership/index.d.ts +2 -0
  134. package/dist/types/src/mothership/test.d.ts +2 -0
  135. package/dist/types/src/utils/queue.d.ts +11 -0
  136. package/dist/types/src/utils.d.ts +4 -7
  137. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  138. package/docs/index.md +277 -0
  139. package/package.json +23 -104
  140. package/src/CoreTypes.ts +171 -0
  141. package/src/Init.ts +6 -5
  142. package/src/Node.ts +32 -15
  143. package/src/NodeSidecar.ts +22 -0
  144. package/src/PM/PM_WithEslintAndTsc.ts +315 -0
  145. package/src/PM/__tests__/nodeSidecar.testeranto.ts +173 -0
  146. package/src/PM/__tests__/pureSidecar.testeranto.ts +157 -0
  147. package/src/PM/__tests__/webSidecar.testeranto.ts +157 -0
  148. package/src/PM/base.ts +38 -17
  149. package/src/PM/index.ts +10 -4
  150. package/src/PM/main.ts +616 -589
  151. package/src/PM/node.ts +77 -33
  152. package/src/PM/nodeSidecar.ts +73 -0
  153. package/src/PM/pure.ts +68 -58
  154. package/src/PM/pureSidecar.ts +56 -0
  155. package/src/PM/sidecar.ts +48 -0
  156. package/src/PM/web.ts +42 -11
  157. package/src/PM/webSidecar.ts +55 -0
  158. package/src/Project.tsx +312 -109
  159. package/src/Pure.ts +0 -2
  160. package/src/PureSidecar.ts +14 -0
  161. package/src/ReportClient.tsx +164 -170
  162. package/src/SP__Polygon.test.ts +13 -0
  163. package/src/TestReport.tsx +77 -6
  164. package/src/Types.ts +278 -157
  165. package/src/Web.ts +0 -3
  166. package/src/WebSidecar.ts +14 -0
  167. package/src/build.ts +104 -16
  168. package/src/defaultConfig.ts +1 -0
  169. package/src/esbuildConfigs/README.md +46 -0
  170. package/src/esbuildConfigs/consoleDetectorPlugin.ts +29 -0
  171. package/src/esbuildConfigs/eslint-formatter-testeranto.ts +17 -1
  172. package/src/esbuildConfigs/node.ts +2 -18
  173. package/src/esbuildConfigs/pure.ts +19 -14
  174. package/src/esbuildConfigs/rebuildPlugin.ts +23 -0
  175. package/src/esbuildConfigs/web.ts +15 -18
  176. package/src/lib/Sidecar.ts +6 -0
  177. package/src/lib/TEST_ADAPTER_RENAME.md +48 -0
  178. package/src/lib/abstractBase.ts +18 -10
  179. package/src/lib/basebuilder.ts +5 -4
  180. package/src/lib/classBuilder.ts +19 -21
  181. package/src/lib/core.ts +28 -19
  182. package/src/lib/index.ts +38 -18
  183. package/src/lib/pmProxy.ts +3 -1
  184. package/src/lib/types.ts +15 -2
  185. package/src/mothership/index.ts +15 -0
  186. package/src/mothership/test.ts +137 -0
  187. package/src/run.ts +0 -1
  188. package/src/utils/queue.ts +41 -0
  189. package/src/utils.ts +41 -15
  190. package/testeranto/bundles/node/mothership/chunk-PG6KUKNP.mjs +44 -0
  191. package/testeranto/bundles/node/mothership/chunk-V2EQEXU2.mjs +1032 -0
  192. package/testeranto/bundles/node/mothership/metafile.json +389 -0
  193. package/testeranto/bundles/node/mothership/src/PM/__tests__/nodeSidecar.testeranto.mjs +1219 -0
  194. package/testeranto/bundles/node/mothership/src/PM/__tests__/pureSidecar.testeranto.mjs +156 -0
  195. package/testeranto/bundles/node/mothership/src/PM/__tests__/sidecar.testeranto.mjs +1199 -0
  196. package/testeranto/bundles/node/mothership/src/PM/__tests__/webSidecar.testeranto.mjs +156 -0
  197. package/testeranto/bundles/node/mothership/src/mothership/test.mjs +24411 -0
  198. package/testeranto/bundles/pure/mothership/metafile.json +8 -0
  199. package/testeranto/bundles/web/mothership/metafile.json +8 -0
  200. package/testeranto/index.html +4 -4
  201. package/testeranto/reports/mothership/config.json +25 -0
  202. package/testeranto/reports/{redux → mothership}/index.html +8 -8
  203. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/console_log.txt +0 -0
  204. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/index.html +20 -0
  205. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/lint_errors.json +1564 -0
  206. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/log.txt +0 -0
  207. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/prompt.txt +22 -0
  208. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/type_errors.txt +35 -0
  209. package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/index.html +20 -0
  210. package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/lint_errors.json +80 -0
  211. package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/prompt.txt +12 -0
  212. package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/type_errors.txt +26 -0
  213. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/bdd_errors.txt +1 -0
  214. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/console_log.txt +0 -0
  215. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/index.html +20 -0
  216. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/lint_errors.json +1564 -0
  217. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/log.txt +0 -0
  218. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/prompt.txt +22 -0
  219. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/tests.json +56 -0
  220. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/type_errors.txt +29 -0
  221. package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/index.html +20 -0
  222. package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/lint_errors.json +80 -0
  223. package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/prompt.txt +12 -0
  224. package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/type_errors.txt +26 -0
  225. package/testeranto/reports/mothership/src/mothership/test/node/bdd_errors.txt +1 -0
  226. package/testeranto/reports/mothership/src/mothership/test/node/console_log.txt +4 -0
  227. package/testeranto/reports/mothership/src/mothership/test/node/index.html +20 -0
  228. package/testeranto/reports/mothership/src/mothership/test/node/lint_errors.json +1 -0
  229. package/testeranto/reports/mothership/src/mothership/test/node/log.txt +0 -0
  230. package/testeranto/reports/mothership/src/mothership/test/node/prompt.txt +12 -0
  231. package/testeranto/reports/mothership/src/mothership/test/node/tests.json +24 -0
  232. package/testeranto/reports/mothership/src/mothership/test/node/type_errors.txt +18 -0
  233. package/testeranto/reports/mothership/summary.json +9 -0
  234. package/testeranto.config.ts +82 -44
  235. package/tsc.log +78 -81
  236. package/dist/common/src/SubPackages/react/component/index.js +0 -20
  237. package/dist/common/src/SubPackages/react/component/node.js +0 -10
  238. package/dist/common/src/SubPackages/react/component/pure.js +0 -10
  239. package/dist/common/src/SubPackages/react/component/web.js +0 -10
  240. package/dist/common/src/SubPackages/react/jsx/index.js +0 -64
  241. package/dist/common/src/SubPackages/react/jsx/node.js +0 -10
  242. package/dist/common/src/SubPackages/react/jsx/pure.js +0 -10
  243. package/dist/common/src/SubPackages/react/jsx/web.js +0 -10
  244. package/dist/common/src/SubPackages/react-dom/component/dynamic.js +0 -61
  245. package/dist/common/src/SubPackages/react-dom/component/node.js +0 -10
  246. package/dist/common/src/SubPackages/react-dom/component/pure.js +0 -10
  247. package/dist/common/src/SubPackages/react-dom/component/static.js +0 -26
  248. package/dist/common/src/SubPackages/react-dom/component/web.js +0 -16
  249. package/dist/common/src/SubPackages/react-dom/jsx/dynamic.js +0 -31
  250. package/dist/common/src/SubPackages/react-dom/jsx/node.js +0 -10
  251. package/dist/common/src/SubPackages/react-dom/jsx/pure.js +0 -10
  252. package/dist/common/src/SubPackages/react-dom/jsx/static.js +0 -59
  253. package/dist/common/src/SubPackages/react-dom/jsx/web.js +0 -16
  254. package/dist/common/src/SubPackages/react-test-renderer/MemoExoticComponent/node.js +0 -54
  255. package/dist/common/src/SubPackages/react-test-renderer/component/index.js +0 -15
  256. package/dist/common/src/SubPackages/react-test-renderer/component/interface.js +0 -70
  257. package/dist/common/src/SubPackages/react-test-renderer/component/node.js +0 -8
  258. package/dist/common/src/SubPackages/react-test-renderer/component/pure.js +0 -8
  259. package/dist/common/src/SubPackages/react-test-renderer/component/test/implementation.js +0 -57
  260. package/dist/common/src/SubPackages/react-test-renderer/component/test/node.js +0 -10
  261. package/dist/common/src/SubPackages/react-test-renderer/component/test/pure.js +0 -10
  262. package/dist/common/src/SubPackages/react-test-renderer/component/test/web.js +0 -10
  263. package/dist/common/src/SubPackages/react-test-renderer/component/web.js +0 -8
  264. package/dist/common/src/SubPackages/react-test-renderer/fc/node.js +0 -60
  265. package/dist/common/src/SubPackages/react-test-renderer/fc/web.js +0 -60
  266. package/dist/common/src/SubPackages/react-test-renderer/jsx/index.js +0 -67
  267. package/dist/common/src/SubPackages/react-test-renderer/jsx/node.js +0 -10
  268. package/dist/common/src/SubPackages/react-test-renderer/jsx/pure.js +0 -10
  269. package/dist/common/src/SubPackages/react-test-renderer/jsx/web.js +0 -10
  270. package/dist/common/src/SubPackages/react-test-renderer/jsx-promised/index.js +0 -52
  271. package/dist/common/src/SubPackages/react-test-renderer/jsx-promised/node.js +0 -10
  272. package/dist/common/src/SubPackages/react-test-renderer/jsx-promised/web.js +0 -10
  273. package/dist/common/src/examples/react/component/index.js +0 -33
  274. package/dist/common/src/examples/react/component/test.js +0 -36
  275. package/dist/module/src/SubPackages/react/component/index.js +0 -13
  276. package/dist/module/src/SubPackages/react/component/node.js +0 -5
  277. package/dist/module/src/SubPackages/react/component/pure.js +0 -5
  278. package/dist/module/src/SubPackages/react/component/web.js +0 -5
  279. package/dist/module/src/SubPackages/react/jsx/index.js +0 -58
  280. package/dist/module/src/SubPackages/react/jsx/node.js +0 -5
  281. package/dist/module/src/SubPackages/react/jsx/pure.js +0 -5
  282. package/dist/module/src/SubPackages/react/jsx/web.js +0 -5
  283. package/dist/module/src/SubPackages/react-dom/component/dynamic.js +0 -54
  284. package/dist/module/src/SubPackages/react-dom/component/node.js +0 -5
  285. package/dist/module/src/SubPackages/react-dom/component/pure.js +0 -5
  286. package/dist/module/src/SubPackages/react-dom/component/static.js +0 -22
  287. package/dist/module/src/SubPackages/react-dom/component/web.js +0 -11
  288. package/dist/module/src/SubPackages/react-dom/jsx/dynamic.js +0 -27
  289. package/dist/module/src/SubPackages/react-dom/jsx/node.js +0 -5
  290. package/dist/module/src/SubPackages/react-dom/jsx/pure.js +0 -5
  291. package/dist/module/src/SubPackages/react-dom/jsx/static.js +0 -53
  292. package/dist/module/src/SubPackages/react-dom/jsx/web.js +0 -11
  293. package/dist/module/src/SubPackages/react-test-renderer/MemoExoticComponent/node.js +0 -16
  294. package/dist/module/src/SubPackages/react-test-renderer/component/index.js +0 -14
  295. package/dist/module/src/SubPackages/react-test-renderer/component/interface.js +0 -31
  296. package/dist/module/src/SubPackages/react-test-renderer/component/node.js +0 -3
  297. package/dist/module/src/SubPackages/react-test-renderer/component/pure.js +0 -3
  298. package/dist/module/src/SubPackages/react-test-renderer/component/test/implementation.js +0 -54
  299. package/dist/module/src/SubPackages/react-test-renderer/component/test/node.js +0 -5
  300. package/dist/module/src/SubPackages/react-test-renderer/component/test/pure.js +0 -5
  301. package/dist/module/src/SubPackages/react-test-renderer/component/test/web.js +0 -5
  302. package/dist/module/src/SubPackages/react-test-renderer/component/web.js +0 -3
  303. package/dist/module/src/SubPackages/react-test-renderer/fc/node.js +0 -22
  304. package/dist/module/src/SubPackages/react-test-renderer/fc/web.js +0 -22
  305. package/dist/module/src/SubPackages/react-test-renderer/jsx/index.js +0 -28
  306. package/dist/module/src/SubPackages/react-test-renderer/jsx/node.js +0 -5
  307. package/dist/module/src/SubPackages/react-test-renderer/jsx/pure.js +0 -5
  308. package/dist/module/src/SubPackages/react-test-renderer/jsx/web.js +0 -5
  309. package/dist/module/src/SubPackages/react-test-renderer/jsx-promised/index.js +0 -16
  310. package/dist/module/src/SubPackages/react-test-renderer/jsx-promised/node.js +0 -5
  311. package/dist/module/src/SubPackages/react-test-renderer/jsx-promised/web.js +0 -5
  312. package/dist/module/src/examples/react/component/index.js +0 -26
  313. package/dist/module/src/examples/react/component/test.js +0 -32
  314. package/dist/prebuild/ReportClient.css +0 -11342
  315. package/dist/tsconfig.tsbuildinfo +0 -1
  316. package/dist/types/src/SubPackages/react/component/index.d.ts +0 -4
  317. package/dist/types/src/SubPackages/react/component/node.d.ts +0 -4
  318. package/dist/types/src/SubPackages/react/component/pure.d.ts +0 -4
  319. package/dist/types/src/SubPackages/react/component/web.d.ts +0 -4
  320. package/dist/types/src/SubPackages/react/jsx/index.d.ts +0 -5
  321. package/dist/types/src/SubPackages/react/jsx/node.d.ts +0 -4
  322. package/dist/types/src/SubPackages/react/jsx/pure.d.ts +0 -4
  323. package/dist/types/src/SubPackages/react/jsx/web.d.ts +0 -4
  324. package/dist/types/src/SubPackages/react-dom/component/dynamic.d.ts +0 -20
  325. package/dist/types/src/SubPackages/react-dom/component/node.d.ts +0 -4
  326. package/dist/types/src/SubPackages/react-dom/component/pure.d.ts +0 -4
  327. package/dist/types/src/SubPackages/react-dom/component/static.d.ts +0 -9
  328. package/dist/types/src/SubPackages/react-dom/component/web.d.ts +0 -4
  329. package/dist/types/src/SubPackages/react-dom/jsx/dynamic.d.ts +0 -5
  330. package/dist/types/src/SubPackages/react-dom/jsx/index.d.ts +0 -6
  331. package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +0 -4
  332. package/dist/types/src/SubPackages/react-dom/jsx/pure.d.ts +0 -4
  333. package/dist/types/src/SubPackages/react-dom/jsx/static.d.ts +0 -5
  334. package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +0 -5
  335. package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +0 -6
  336. package/dist/types/src/SubPackages/react-test-renderer/component/index.d.ts +0 -5
  337. package/dist/types/src/SubPackages/react-test-renderer/component/interface.d.ts +0 -3
  338. package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +0 -4
  339. package/dist/types/src/SubPackages/react-test-renderer/component/pure.d.ts +0 -4
  340. package/dist/types/src/SubPackages/react-test-renderer/component/test/implementation.d.ts +0 -4
  341. package/dist/types/src/SubPackages/react-test-renderer/component/test/node.d.ts +0 -3
  342. package/dist/types/src/SubPackages/react-test-renderer/component/test/pure.d.ts +0 -4
  343. package/dist/types/src/SubPackages/react-test-renderer/component/test/web.d.ts +0 -3
  344. package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +0 -4
  345. package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +0 -8
  346. package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +0 -9
  347. package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +0 -11
  348. package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +0 -4
  349. package/dist/types/src/SubPackages/react-test-renderer/jsx/pure.d.ts +0 -4
  350. package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +0 -4
  351. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/index.d.ts +0 -15
  352. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +0 -5
  353. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +0 -5
  354. package/dist/types/src/examples/react/component/index.d.ts +0 -13
  355. package/dist/types/src/examples/react/component/test.d.ts +0 -17
  356. package/src/SubPackages/react/component/index.ts +0 -28
  357. package/src/SubPackages/react/component/node.ts +0 -17
  358. package/src/SubPackages/react/component/pure.ts +0 -17
  359. package/src/SubPackages/react/component/web.ts +0 -17
  360. package/src/SubPackages/react/jsx/index.ts +0 -75
  361. package/src/SubPackages/react/jsx/node.ts +0 -23
  362. package/src/SubPackages/react/jsx/pure.ts +0 -23
  363. package/src/SubPackages/react/jsx/web.ts +0 -24
  364. package/src/SubPackages/react-dom/component/dynamic.ts +0 -107
  365. package/src/SubPackages/react-dom/component/node.ts +0 -17
  366. package/src/SubPackages/react-dom/component/pure.ts +0 -17
  367. package/src/SubPackages/react-dom/component/static.ts +0 -41
  368. package/src/SubPackages/react-dom/component/web.ts +0 -32
  369. package/src/SubPackages/react-dom/jsx/dynamic.ts +0 -46
  370. package/src/SubPackages/react-dom/jsx/index.ts +0 -6
  371. package/src/SubPackages/react-dom/jsx/node.ts +0 -18
  372. package/src/SubPackages/react-dom/jsx/pure.ts +0 -18
  373. package/src/SubPackages/react-dom/jsx/static.ts +0 -87
  374. package/src/SubPackages/react-dom/jsx/web.ts +0 -26
  375. package/src/SubPackages/react-test-renderer/MemoExoticComponent/node.ts +0 -54
  376. package/src/SubPackages/react-test-renderer/component/index.ts +0 -32
  377. package/src/SubPackages/react-test-renderer/component/interface.ts +0 -43
  378. package/src/SubPackages/react-test-renderer/component/node.ts +0 -18
  379. package/src/SubPackages/react-test-renderer/component/pure.ts +0 -18
  380. package/src/SubPackages/react-test-renderer/component/test/implementation.ts +0 -63
  381. package/src/SubPackages/react-test-renderer/component/test/node.ts +0 -14
  382. package/src/SubPackages/react-test-renderer/component/test/pure.ts +0 -14
  383. package/src/SubPackages/react-test-renderer/component/test/web.ts +0 -14
  384. package/src/SubPackages/react-test-renderer/component/web.ts +0 -18
  385. package/src/SubPackages/react-test-renderer/fc/node.ts +0 -83
  386. package/src/SubPackages/react-test-renderer/fc/web.ts +0 -80
  387. package/src/SubPackages/react-test-renderer/jsx/index.ts +0 -61
  388. package/src/SubPackages/react-test-renderer/jsx/node.ts +0 -31
  389. package/src/SubPackages/react-test-renderer/jsx/pure.ts +0 -31
  390. package/src/SubPackages/react-test-renderer/jsx/web.ts +0 -32
  391. package/src/SubPackages/react-test-renderer/jsx-promised/index.ts +0 -73
  392. package/src/SubPackages/react-test-renderer/jsx-promised/node.ts +0 -36
  393. package/src/SubPackages/react-test-renderer/jsx-promised/web.ts +0 -36
  394. package/src/examples/react/component/index.tsx +0 -35
  395. package/src/examples/react/component/test.ts +0 -83
  396. package/testeranto/bundles/node/redux/metafile.json +0 -559
  397. package/testeranto/bundles/pure/redux/metafile.json +0 -554
  398. package/testeranto/bundles/web/redux/metafile.json +0 -504
  399. package/testeranto/bundles/web/redux/test/web.html +0 -19
  400. package/testeranto/reports/redux/config.json +0 -38
  401. package/testeranto/reports/redux/summary.json +0 -20
  402. /package/dist/common/src/{SubPackages/react-dom/jsx/index.js → CoreTypes.js} +0 -0
  403. /package/dist/module/src/{SubPackages/react-dom/jsx/index.js → CoreTypes.js} +0 -0
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
3
+ /* eslint-disable no-async-promise-executor */
4
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
+ /* eslint-disable @typescript-eslint/no-unused-vars */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PM_WithEslintAndTsc = void 0;
11
+ const typescript_1 = __importDefault(require("typescript"));
12
+ const fs_1 = __importDefault(require("fs"));
13
+ const path_1 = __importDefault(require("path"));
14
+ const ansi_colors_1 = __importDefault(require("ansi-colors"));
15
+ const eslint_1 = require("eslint");
16
+ const tsc_prog_1 = __importDefault(require("tsc-prog"));
17
+ const utils_1 = require("../utils");
18
+ const base_js_1 = require("./base.js");
19
+ const eslint = new eslint_1.ESLint();
20
+ const formatter = await eslint.loadFormatter("./node_modules/testeranto/dist/prebuild/esbuildConfigs/eslint-formatter-testeranto.mjs");
21
+ class PM_WithEslintAndTsc extends base_js_1.PM_Base {
22
+ constructor(configs, name, mode) {
23
+ super(configs);
24
+ this.summary = {};
25
+ this.tscCheck = async ({ entrypoint, addableFiles, platform, }) => {
26
+ console.log(ansi_colors_1.default.green(ansi_colors_1.default.inverse(`tsc < ${entrypoint}`)));
27
+ this.typeCheckIsRunning(entrypoint);
28
+ const program = tsc_prog_1.default.createProgramFromConfig({
29
+ basePath: process.cwd(), // always required, used for relative paths
30
+ configFilePath: "tsconfig.json", // config to inherit from (optional)
31
+ compilerOptions: {
32
+ outDir: (0, utils_1.tscPather)(entrypoint, platform, this.name),
33
+ // declaration: true,
34
+ // skipLibCheck: true,
35
+ noEmit: true,
36
+ },
37
+ include: addableFiles, //["src/**/*"],
38
+ // exclude: ["node_modules", "../testeranto"],
39
+ // exclude: ["**/*.test.ts", "**/*.spec.ts"],
40
+ });
41
+ const tscPath = (0, utils_1.tscPather)(entrypoint, platform, this.name);
42
+ const allDiagnostics = program.getSemanticDiagnostics();
43
+ const results = [];
44
+ allDiagnostics.forEach((diagnostic) => {
45
+ if (diagnostic.file) {
46
+ const { line, character } = typescript_1.default.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start);
47
+ const message = typescript_1.default.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
48
+ results.push(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`);
49
+ }
50
+ else {
51
+ results.push(typescript_1.default.flattenDiagnosticMessageText(diagnostic.messageText, "\n"));
52
+ }
53
+ });
54
+ fs_1.default.writeFileSync(tscPath, results.join("\n"));
55
+ this.typeCheckIsNowDone(entrypoint, results.length);
56
+ };
57
+ this.eslintCheck = async (entrypoint, platform, addableFiles) => {
58
+ console.log(ansi_colors_1.default.green(ansi_colors_1.default.inverse(`eslint < ${entrypoint}`)));
59
+ this.lintIsRunning(entrypoint);
60
+ const results = (await eslint.lintFiles(addableFiles))
61
+ .filter((r) => r.messages.length)
62
+ .filter((r) => {
63
+ return r.messages[0].ruleId !== null;
64
+ })
65
+ .map((r) => {
66
+ delete r.source;
67
+ return r;
68
+ });
69
+ fs_1.default.writeFileSync((0, utils_1.lintPather)(entrypoint, platform, this.name), await formatter.format(results));
70
+ this.lintIsNowDone(entrypoint, results.length);
71
+ };
72
+ this.makePrompt = async (entryPoint, addableFiles, platform) => {
73
+ this.summary[entryPoint].prompt = "?";
74
+ const promptPath = (0, utils_1.promptPather)(entryPoint, platform, this.name);
75
+ const testPaths = path_1.default.join("testeranto", "reports", this.name, entryPoint.split(".").slice(0, -1).join("."), platform, `tests.json`);
76
+ const featuresPath = path_1.default.join("testeranto", "reports", this.name, platform, entryPoint.split(".").slice(0, -1).join("."), `featurePrompt.txt`);
77
+ const logPath = path_1.default.join("testeranto", "reports", this.name, entryPoint.split(".").slice(0, -1).join("."), platform, `console_log.txt`);
78
+ const lintPath = path_1.default.join("testeranto", "reports", this.name, entryPoint.split(".").slice(0, -1).join("."), platform, `lint_errors.json`);
79
+ const typePath = path_1.default.join("testeranto", "reports", this.name, entryPoint.split(".").slice(0, -1).join("."), platform, `type_errors.txt`);
80
+ const messagePath = path_1.default.join("testeranto", "reports", this.name, entryPoint.split(".").slice(0, -1).join("."), platform, `message`);
81
+ fs_1.default.writeFileSync(promptPath, `
82
+ ${addableFiles
83
+ .map((x) => {
84
+ return `/add ${x}`;
85
+ })
86
+ .join("\n")}
87
+
88
+ /read ${testPaths}
89
+ /read ${logPath}
90
+ /read ${typePath}
91
+ /read ${lintPath}
92
+ `);
93
+ fs_1.default.writeFileSync(messagePath, `Fix the failing tests described in ${testPaths} and ${logPath}. DO NOT refactor beyond what is necessary. Always prefer minimal changes, focusing mostly on keeping the BDD tests passing`);
94
+ this.summary[entryPoint].prompt = `aider --model deepseek/deepseek-chat --load testeranto/${this.name}/reports/${platform}/${entryPoint
95
+ .split(".")
96
+ .slice(0, -1)
97
+ .join(".")}/prompt.txt`;
98
+ this.checkForShutdown();
99
+ };
100
+ this.typeCheckIsRunning = (src) => {
101
+ this.summary[src].typeErrors = "?";
102
+ };
103
+ this.typeCheckIsNowDone = (src, failures) => {
104
+ this.summary[src].typeErrors = failures;
105
+ this.writeBigBoard();
106
+ this.checkForShutdown();
107
+ };
108
+ this.lintIsRunning = (src) => {
109
+ this.summary[src].staticErrors = "?";
110
+ this.writeBigBoard();
111
+ };
112
+ this.lintIsNowDone = (src, failures) => {
113
+ this.summary[src].staticErrors = failures;
114
+ this.writeBigBoard();
115
+ this.checkForShutdown();
116
+ };
117
+ this.bddTestIsRunning = (src) => {
118
+ this.summary[src].runTimeError = "?";
119
+ this.writeBigBoard();
120
+ };
121
+ this.bddTestIsNowDone = (src, failures) => {
122
+ this.summary[src].runTimeError = failures;
123
+ this.writeBigBoard();
124
+ this.checkForShutdown();
125
+ };
126
+ this.writeBigBoard = () => {
127
+ fs_1.default.writeFileSync(`./testeranto/reports/${this.name}/summary.json`, JSON.stringify(this.summary, null, 2));
128
+ };
129
+ this.checkForShutdown = () => {
130
+ console.log(ansi_colors_1.default.inverse(`checkForShutdown`));
131
+ this.writeBigBoard();
132
+ if (this.mode === "dev")
133
+ return;
134
+ let inflight = false;
135
+ Object.keys(this.summary).forEach((k) => {
136
+ if (this.summary[k].prompt === "?") {
137
+ console.log(ansi_colors_1.default.blue(ansi_colors_1.default.inverse(`🕕 prompt ${k}`)));
138
+ inflight = true;
139
+ }
140
+ });
141
+ Object.keys(this.summary).forEach((k) => {
142
+ if (this.summary[k].runTimeError === "?") {
143
+ console.log(ansi_colors_1.default.blue(ansi_colors_1.default.inverse(`🕕 runTimeError ${k}`)));
144
+ inflight = true;
145
+ }
146
+ });
147
+ Object.keys(this.summary).forEach((k) => {
148
+ if (this.summary[k].staticErrors === "?") {
149
+ console.log(ansi_colors_1.default.blue(ansi_colors_1.default.inverse(`🕕 staticErrors ${k}`)));
150
+ inflight = true;
151
+ }
152
+ });
153
+ Object.keys(this.summary).forEach((k) => {
154
+ if (this.summary[k].typeErrors === "?") {
155
+ console.log(ansi_colors_1.default.blue(ansi_colors_1.default.inverse(`🕕 typeErrors ${k}`)));
156
+ inflight = true;
157
+ }
158
+ });
159
+ this.writeBigBoard();
160
+ if (!inflight) {
161
+ this.browser.disconnect().then(() => {
162
+ console.log(ansi_colors_1.default.inverse(`${this.name} has been tested. Goodbye.`));
163
+ process.exit();
164
+ });
165
+ }
166
+ };
167
+ this.name = name;
168
+ this.mode = mode;
169
+ this.configs.tests.forEach(([t, rt, tr, sidecars]) => {
170
+ this.summary[t] = {
171
+ runTimeError: "?",
172
+ typeErrors: "?",
173
+ staticErrors: "?",
174
+ prompt: "?",
175
+ failingFeatures: {},
176
+ };
177
+ sidecars.forEach(([t]) => {
178
+ this.summary[t] = {
179
+ // runTimeError: "?",
180
+ typeErrors: "?",
181
+ staticErrors: "?",
182
+ // prompt: "?",
183
+ // failingFeatures: {},
184
+ };
185
+ });
186
+ });
187
+ }
188
+ }
189
+ exports.PM_WithEslintAndTsc = PM_WithEslintAndTsc;
@@ -0,0 +1,109 @@
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
+ const nodeSidecar_1 = require("../nodeSidecar");
7
+ const Node_1 = __importDefault(require("../../Node"));
8
+ const specification = (Suite, Given, When, Then) => {
9
+ return [
10
+ Suite.SidecarInitialized("Sidecar message passing works correctly", {
11
+ basicSend: Given.SidecarReady(["can send and receive messages"], [When.SendTestMessage("test-message")], [Then.MessageReceived("test-message")]),
12
+ cleanup: Given.SidecarReady(["cleans up listeners after message"], [When.VerifyCleanup()], [Then.ListenersCleaned()]),
13
+ }, []),
14
+ ];
15
+ };
16
+ const implementation = {
17
+ suites: { SidecarInitialized: (x) => x },
18
+ givens: {
19
+ SidecarReady: () => {
20
+ const config = {
21
+ name: "test-sidecar",
22
+ fs: "/tmp",
23
+ ports: [3001],
24
+ browserWSEndpoint: "",
25
+ };
26
+ return new nodeSidecar_1.PM_Node_Sidecar(config);
27
+ },
28
+ },
29
+ whens: {
30
+ SendTestMessage: (message) => async (sidecar) => {
31
+ let callbackFn;
32
+ const mockProcess = {
33
+ on: (event, callback) => {
34
+ if (event === "message") {
35
+ callbackFn = callback;
36
+ callback(JSON.stringify({
37
+ key: "mock-key",
38
+ payload: message,
39
+ }));
40
+ }
41
+ return mockProcess;
42
+ },
43
+ addListener: () => mockProcess,
44
+ removeListener: () => mockProcess
45
+ };
46
+ process = mockProcess;
47
+ let writeCalled = false;
48
+ sidecar.client.write = (data) => {
49
+ writeCalled = true;
50
+ return true;
51
+ };
52
+ await sidecar.send("test-command", message);
53
+ return { writeCalled, callbackFn };
54
+ },
55
+ VerifyCleanup: () => async (sidecar) => {
56
+ let addListenerCalled = false;
57
+ let removeListenerCalled = false;
58
+ const mockProcess = {
59
+ addListener: () => {
60
+ addListenerCalled = true;
61
+ return mockProcess;
62
+ },
63
+ removeListener: () => {
64
+ removeListenerCalled = true;
65
+ return mockProcess;
66
+ }
67
+ };
68
+ process = mockProcess;
69
+ await sidecar.send("test-command", "test");
70
+ return { addListenerCalled, removeListenerCalled };
71
+ },
72
+ },
73
+ thens: {
74
+ MessageReceived: (expected) => (actual) => {
75
+ if (actual !== expected) {
76
+ throw new Error(`Expected "${expected}" but got "${actual}"`);
77
+ }
78
+ return actual;
79
+ },
80
+ ListenersCleaned: () => (result, { removeListenerCalled }) => {
81
+ if (!removeListenerCalled) {
82
+ throw new Error("Expected removeListener to be called");
83
+ }
84
+ return result;
85
+ },
86
+ },
87
+ checks: { SidecarState: () => "unknown" },
88
+ };
89
+ const testInterface = {
90
+ beforeEach: async (subject, initializer, testResource, initialValues, pm) => {
91
+ const sidecar = initializer();
92
+ sidecar.client = {
93
+ write: () => true,
94
+ end: () => { },
95
+ on: () => { },
96
+ };
97
+ return sidecar;
98
+ },
99
+ andWhen: async (store, whenCB, testResource, pm) => {
100
+ try {
101
+ await whenCB(store, testResource, pm);
102
+ }
103
+ catch (e) {
104
+ console.error("Error in andWhen:", e);
105
+ throw e;
106
+ }
107
+ },
108
+ };
109
+ exports.default = (0, Node_1.default)(() => new nodeSidecar_1.PM_Node_Sidecar({}), specification, implementation, testInterface);
@@ -0,0 +1,94 @@
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
+ const pureSidecar_1 = require("../pureSidecar");
7
+ const Node_1 = __importDefault(require("../../Node"));
8
+ const specification = (Suite, Given, When, Then) => {
9
+ return [
10
+ Suite.SidecarInitialized("Pure Sidecar message passing works correctly", {
11
+ basicSend: Given.SidecarReady(["can send and receive messages"], [When.SendTestMessage("test-message")], [Then.MessageReceived("test-message")]),
12
+ cleanup: Given.SidecarReady(["cleans up listeners after message"], [When.VerifyCleanup()], [Then.ListenersCleaned()]),
13
+ }, []),
14
+ ];
15
+ };
16
+ const implementation = {
17
+ suites: { SidecarInitialized: (x) => x },
18
+ givens: {
19
+ SidecarReady: () => {
20
+ const config = {
21
+ name: "test-pure-sidecar",
22
+ fs: "/tmp",
23
+ ports: [3001],
24
+ browserWSEndpoint: "",
25
+ };
26
+ return new pureSidecar_1.PM_Pure_Sidecar(config);
27
+ },
28
+ },
29
+ whens: {
30
+ SendTestMessage: (message) => async (sidecar) => {
31
+ let callbackFn;
32
+ process.on = (event, callback) => {
33
+ if (event === "message") {
34
+ callbackFn = callback;
35
+ callback(JSON.stringify({
36
+ key: "mock-key",
37
+ payload: message,
38
+ }));
39
+ }
40
+ };
41
+ let writeCalled = false;
42
+ sidecar.client.write = (data) => {
43
+ writeCalled = true;
44
+ return true;
45
+ };
46
+ await sidecar.send("test-command", message);
47
+ return { writeCalled, callbackFn };
48
+ },
49
+ VerifyCleanup: () => async (sidecar) => {
50
+ let addListenerCalled = false;
51
+ let removeListenerCalled = false;
52
+ process.addListener = () => (addListenerCalled = true);
53
+ process.removeListener = () => (removeListenerCalled = true);
54
+ await sidecar.send("test-command", "test");
55
+ return { addListenerCalled, removeListenerCalled };
56
+ },
57
+ },
58
+ thens: {
59
+ MessageReceived: (expected) => (actual) => {
60
+ if (actual !== expected) {
61
+ throw new Error(`Expected "${expected}" but got "${actual}"`);
62
+ }
63
+ return actual;
64
+ },
65
+ ListenersCleaned: () => (result, { removeListenerCalled }) => {
66
+ if (!removeListenerCalled) {
67
+ throw new Error("Expected removeListener to be called");
68
+ }
69
+ return result;
70
+ },
71
+ },
72
+ checks: { SidecarState: () => "unknown" },
73
+ };
74
+ const testInterface = {
75
+ beforeEach: async (subject, initializer, testResource, initialValues, pm) => {
76
+ const sidecar = initializer();
77
+ sidecar.client = {
78
+ write: () => true,
79
+ end: () => { },
80
+ on: () => { },
81
+ };
82
+ return sidecar;
83
+ },
84
+ andWhen: async (store, whenCB, testResource, pm) => {
85
+ try {
86
+ await whenCB(store, testResource, pm);
87
+ }
88
+ catch (e) {
89
+ console.error("Error in andWhen:", e);
90
+ throw e;
91
+ }
92
+ },
93
+ };
94
+ exports.default = (0, Node_1.default)(() => new pureSidecar_1.PM_Pure_Sidecar({}), specification, implementation, testInterface);
@@ -0,0 +1,94 @@
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
+ const webSidecar_1 = require("../webSidecar");
7
+ const Node_1 = __importDefault(require("../../Node"));
8
+ const specification = (Suite, Given, When, Then) => {
9
+ return [
10
+ Suite.SidecarInitialized("Web Sidecar message passing works correctly", {
11
+ basicSend: Given.SidecarReady(["can send and receive messages"], [When.SendTestMessage("test-message")], [Then.MessageReceived("test-message")]),
12
+ cleanup: Given.SidecarReady(["cleans up listeners after message"], [When.VerifyCleanup()], [Then.ListenersCleaned()]),
13
+ }, []),
14
+ ];
15
+ };
16
+ const implementation = {
17
+ suites: { SidecarInitialized: (x) => x },
18
+ givens: {
19
+ SidecarReady: () => {
20
+ const config = {
21
+ name: "test-web-sidecar",
22
+ fs: "/tmp",
23
+ ports: [3001],
24
+ browserWSEndpoint: "",
25
+ };
26
+ return new webSidecar_1.PM_Web_Sidecar(config);
27
+ },
28
+ },
29
+ whens: {
30
+ SendTestMessage: (message) => async (sidecar) => {
31
+ let callbackFn;
32
+ process.on = (event, callback) => {
33
+ if (event === "message") {
34
+ callbackFn = callback;
35
+ callback(JSON.stringify({
36
+ key: "mock-key",
37
+ payload: message,
38
+ }));
39
+ }
40
+ };
41
+ let writeCalled = false;
42
+ sidecar.client.write = (data) => {
43
+ writeCalled = true;
44
+ return true;
45
+ };
46
+ await sidecar.send("test-command", message);
47
+ return { writeCalled, callbackFn };
48
+ },
49
+ VerifyCleanup: () => async (sidecar) => {
50
+ let addListenerCalled = false;
51
+ let removeListenerCalled = false;
52
+ process.addListener = () => (addListenerCalled = true);
53
+ process.removeListener = () => (removeListenerCalled = true);
54
+ await sidecar.send("test-command", "test");
55
+ return { addListenerCalled, removeListenerCalled };
56
+ },
57
+ },
58
+ thens: {
59
+ MessageReceived: (expected) => (actual) => {
60
+ if (actual !== expected) {
61
+ throw new Error(`Expected "${expected}" but got "${actual}"`);
62
+ }
63
+ return actual;
64
+ },
65
+ ListenersCleaned: () => (result, { removeListenerCalled }) => {
66
+ if (!removeListenerCalled) {
67
+ throw new Error("Expected removeListener to be called");
68
+ }
69
+ return result;
70
+ },
71
+ },
72
+ checks: { SidecarState: () => "unknown" },
73
+ };
74
+ const testInterface = {
75
+ beforeEach: async (subject, initializer, testResource, initialValues, pm) => {
76
+ const sidecar = initializer();
77
+ sidecar.client = {
78
+ write: () => true,
79
+ end: () => { },
80
+ on: () => { },
81
+ };
82
+ return sidecar;
83
+ },
84
+ andWhen: async (store, whenCB, testResource, pm) => {
85
+ try {
86
+ await whenCB(store, testResource, pm);
87
+ }
88
+ catch (e) {
89
+ console.error("Error in andWhen:", e);
90
+ throw e;
91
+ }
92
+ },
93
+ };
94
+ exports.default = (0, Node_1.default)(() => new webSidecar_1.PM_Web_Sidecar({}), specification, implementation, testInterface);
@@ -4,6 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.PM_Base = void 0;
7
+ /* eslint-disable @typescript-eslint/no-unused-vars */
8
+ /* eslint-disable @typescript-eslint/no-explicit-any */
7
9
  const fs_1 = __importDefault(require("fs"));
8
10
  const path_1 = __importDefault(require("path"));
9
11
  const fileStreams3 = [];
@@ -16,7 +18,7 @@ class PM_Base {
16
18
  this.configs = configs;
17
19
  }
18
20
  customclose() {
19
- throw new Error("Method not implemented.");
21
+ throw new Error("customclose not implemented.");
20
22
  }
21
23
  waitForSelector(p, s) {
22
24
  return new Promise((res) => {
@@ -38,8 +40,8 @@ class PM_Base {
38
40
  });
39
41
  });
40
42
  }
41
- newPage() {
42
- return this.browser.newPage();
43
+ async newPage() {
44
+ return (await this.browser.newPage()).mainFrame()._id;
43
45
  }
44
46
  goto(p, url) {
45
47
  return new Promise((res) => {
@@ -53,9 +55,9 @@ class PM_Base {
53
55
  $(selector, p) {
54
56
  return new Promise((res) => {
55
57
  this.doInPage(p, async (page) => {
56
- const x = page.$(selector);
57
- const y = await x;
58
- res(y !== null);
58
+ const x = await page.$(selector);
59
+ const y = await (x === null || x === void 0 ? void 0 : x.jsonValue());
60
+ res(y);
59
61
  });
60
62
  });
61
63
  }
@@ -82,7 +84,7 @@ class PM_Base {
82
84
  await sPromise;
83
85
  return sPromise;
84
86
  }
85
- async customScreenShot(ssOpts, testName, page) {
87
+ async customScreenShot(ssOpts, testName, pageUid) {
86
88
  const p = ssOpts.path;
87
89
  const dir = path_1.default.dirname(p);
88
90
  fs_1.default.mkdirSync(dir, {
@@ -92,6 +94,7 @@ class PM_Base {
92
94
  files[testName] = new Set();
93
95
  }
94
96
  files[testName].add(ssOpts.path);
97
+ const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageUid);
95
98
  const sPromise = page.screenshot(Object.assign(Object.assign({}, ssOpts), { path: p }));
96
99
  if (!screenshots[testName]) {
97
100
  screenshots[testName] = [];
@@ -170,7 +173,6 @@ class PM_Base {
170
173
  res();
171
174
  }
172
175
  else {
173
- /* @ts-ignore:next-line */
174
176
  const pipeStream = value;
175
177
  const myFile = fs_1.default.createWriteStream(fPath);
176
178
  pipeStream.pipe(myFile);
@@ -189,8 +191,8 @@ class PM_Base {
189
191
  res(x);
190
192
  });
191
193
  }
192
- page() {
193
- throw new Error("Method not implemented.");
194
+ page(p) {
195
+ return p;
194
196
  }
195
197
  click(selector, page) {
196
198
  return page.click(selector);
@@ -205,14 +207,28 @@ class PM_Base {
205
207
  return page.keyboard.type(value);
206
208
  });
207
209
  }
208
- getValue(value, p) {
210
+ // setValue(value: string, p: string) {
211
+ // this.doInPage(p, (page) => {
212
+ // return page.keyboard.type(value);
213
+ // });
214
+ // }
215
+ getAttribute(selector, attribute, p) {
209
216
  this.doInPage(p, (page) => {
210
- return page.keyboard.type(value);
217
+ return page.$eval(selector, (input) => input.getAttribute(attribute));
211
218
  });
212
219
  }
213
- getAttribute(selector, attribute, p) {
214
- this.doInPage(p, (page) => {
215
- return page.$eval(selector, (input) => input.getAttribute("value"));
220
+ async getInnerHtml(selector, p) {
221
+ return new Promise((res, rej) => {
222
+ this.doInPage(p, async (page) => {
223
+ const e = await page.$(selector);
224
+ if (!e) {
225
+ rej();
226
+ }
227
+ else {
228
+ const text = await (await e.getProperty("textContent")).jsonValue();
229
+ res(text);
230
+ }
231
+ });
216
232
  });
217
233
  }
218
234
  isDisabled(selector, p) {
@@ -227,7 +243,8 @@ class PM_Base {
227
243
  }
228
244
  async doInPage(p, cb) {
229
245
  (await this.browser.pages()).forEach((page) => {
230
- if (page.mainFrame()._id === p) {
246
+ const frame = page.mainFrame();
247
+ if (frame._id === p) {
231
248
  return cb(page);
232
249
  }
233
250
  });