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
@@ -8,10 +8,19 @@ export class PM_Node extends PM {
8
8
  this.server = {};
9
9
  this.testResourceConfiguration = t;
10
10
  }
11
- $(selector) {
12
- throw new Error("Method not implemented.");
11
+ waitForSelector(p, s) {
12
+ return globalThis["waitForSelector"](p, s);
13
+ }
14
+ closePage(p) {
15
+ return globalThis["closePage"](p);
16
+ }
17
+ goto(cdpPage, url) {
18
+ return globalThis["goto"](cdpPage.mainFrame()._id, url);
13
19
  }
14
- screencast(opts) {
20
+ newPage() {
21
+ return globalThis["newPage"]();
22
+ }
23
+ $(selector) {
15
24
  throw new Error("Method not implemented.");
16
25
  }
17
26
  isDisabled(selector) {
@@ -35,8 +44,14 @@ export class PM_Node extends PM {
35
44
  click(selector) {
36
45
  return globalThis["click"](selector);
37
46
  }
38
- customScreenShot(opts) {
39
- return globalThis["customScreenShot"](opts);
47
+ screencast(opts, page) {
48
+ return globalThis["screencast"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), page.mainFrame()._id, this.testResourceConfiguration.name);
49
+ }
50
+ screencastStop(p) {
51
+ return globalThis["screencastStop"](p);
52
+ }
53
+ customScreenShot(opts, cdpPage) {
54
+ return globalThis["customScreenShot"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), cdpPage.mainFrame()._id, this.testResourceConfiguration.name);
40
55
  }
41
56
  existsSync(destFolder) {
42
57
  return globalThis["existsSync"](this.testResourceConfiguration.fs + "/" + destFolder);
@@ -5,11 +5,26 @@ export class PM_Web extends PM {
5
5
  this.server = {};
6
6
  this.testResourceConfiguration = t;
7
7
  }
8
- $(selector) {
9
- return window["$"](selector);
8
+ waitForSelector(p, s) {
9
+ return window["waitForSelector"](p, s);
10
10
  }
11
11
  screencast(opts) {
12
- throw new Error("Method not implemented.");
12
+ return window["screencast"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), this.testResourceConfiguration.name);
13
+ }
14
+ screencastStop(recorder) {
15
+ return window["screencastStop"](recorder);
16
+ }
17
+ closePage(p) {
18
+ return window["closePage"](p);
19
+ }
20
+ goto(p, url) {
21
+ return window["goto"](p, url);
22
+ }
23
+ newPage() {
24
+ return window["newPage"]();
25
+ }
26
+ $(selector) {
27
+ return window["$"](selector);
13
28
  }
14
29
  isDisabled(selector) {
15
30
  return window["isDisabled"](selector);
@@ -38,7 +53,7 @@ export class PM_Web extends PM {
38
53
  existsSync(destFolder) {
39
54
  return window["existsSync"](destFolder);
40
55
  }
41
- mkdirSync() {
56
+ mkdirSync(x) {
42
57
  return window["mkdirSync"](this.testResourceConfiguration.fs + "/");
43
58
  }
44
59
  write(writeObject, contents) {
@@ -0,0 +1,97 @@
1
+ import ReactDom from "react-dom/client";
2
+ import React, { useEffect, useState } from "react";
3
+ import 'bootstrap/dist/css/bootstrap.min.css';
4
+ import "./style.css";
5
+ import { Footer } from "./Footer";
6
+ const BigBoard = () => {
7
+ const [configs, setConfigs] = useState();
8
+ useEffect(() => {
9
+ (async () => {
10
+ fetch('/kokomoBay/docs/testeranto.json')
11
+ .then(response => response.json())
12
+ .then(json => {
13
+ setConfigs(json);
14
+ })
15
+ .catch(error => console.error(error));
16
+ })();
17
+ }, []);
18
+ const [bigBoard, setBigBoard] = useState({});
19
+ useEffect(() => {
20
+ (async () => {
21
+ fetch('/kokomoBay/docs/bigBoard.json')
22
+ .then(response => response.json())
23
+ .then(json => {
24
+ setBigBoard(json);
25
+ })
26
+ .catch(error => console.error(error));
27
+ })();
28
+ }, []);
29
+ const [staticAnalysis, setStaticAnalysis] = useState({});
30
+ useEffect(() => {
31
+ (async () => {
32
+ let accumulator = {};
33
+ for (const t of (configs || { tests: [] }).tests) {
34
+ accumulator[t[0]] = await (await fetch(`/kokomoBay/docs/${t[1]}/${t[0].split(".").slice(0, -1).join(".")}/lint_errors.txt`)).text();
35
+ }
36
+ setStaticAnalysis(accumulator);
37
+ })();
38
+ }, [configs, bigBoard]);
39
+ const [typeErrors, setTypeErrors] = useState({});
40
+ useEffect(() => {
41
+ (async () => {
42
+ let accumulator = {};
43
+ for (const t of (configs || { tests: [] }).tests) {
44
+ accumulator[t[0]] = await (await fetch(`/kokomoBay/docs/${t[1]}/${t[0].split(".").slice(0, -1).join(".")}/type_errors.txt`)).text();
45
+ }
46
+ setTypeErrors(accumulator);
47
+ })();
48
+ }, [configs, bigBoard]);
49
+ const [bddErrors, setBddErrors] = useState({});
50
+ useEffect(() => {
51
+ (async () => {
52
+ let accumulator = {};
53
+ for (const t of (configs || { tests: [] }).tests) {
54
+ accumulator[t[0]] = await (await fetch(`/kokomoBay/docs/${t[1]}/${t[0].split(".").slice(0, -1).join(".")}/bdd_errors.txt`)).text();
55
+ }
56
+ setBddErrors(accumulator);
57
+ })();
58
+ }, [configs, bigBoard]);
59
+ if (!configs || !staticAnalysis || !typeErrors || !bddErrors) {
60
+ return React.createElement("div", null, "loading...");
61
+ }
62
+ const collated = configs.tests.map((c) => {
63
+ return Object.assign(Object.assign({}, bigBoard[c[0]]), { name: c[0], runTime: c[1], tr: c[2], sidecars: c[3], staticAnalysis: staticAnalysis[c[0]], typeErrors: typeErrors[c[0]], bddErrors: bddErrors[c[0]] });
64
+ });
65
+ return React.createElement("div", null,
66
+ React.createElement("table", null,
67
+ React.createElement("tr", null,
68
+ React.createElement("td", null, "name"),
69
+ React.createElement("td", null, "run time"),
70
+ React.createElement("td", null, "BDD errors"),
71
+ React.createElement("td", null, "Lint errors"),
72
+ React.createElement("td", null, "Type errors"),
73
+ React.createElement("td", null, "prompt")),
74
+ ...collated.map((c) => {
75
+ return React.createElement("tr", null,
76
+ React.createElement("td", null, c.name),
77
+ React.createElement("td", null, c.runTime),
78
+ React.createElement("td", null,
79
+ React.createElement("a", { href: `${c.runTime}/${c.name.split(".").slice(0, -1).join(".")}/littleBoard.html` }, c.bddErrors)),
80
+ React.createElement("td", null,
81
+ React.createElement("a", { href: `${c.runTime}/${c.name.split(".").slice(0, -1).join(".")}/lint_errors.json` }, c.staticAnalysis)),
82
+ React.createElement("td", null,
83
+ React.createElement("a", { href: `${c.runTime}/${c.name.split(".").slice(0, -1).join(".")}/type_errors.txt` }, c.typeErrors)),
84
+ React.createElement("td", null,
85
+ React.createElement("pre", null,
86
+ "aider --model deepseek/deepseek-chat --load ",
87
+ `docs/${c.runTime}/${c.name.split(".").slice(0, -1).join(".")}/prompt.txt`)));
88
+ })),
89
+ React.createElement(Footer, null));
90
+ };
91
+ document.addEventListener("DOMContentLoaded", function () {
92
+ const elem = document.getElementById("root");
93
+ if (elem) {
94
+ ReactDom.createRoot(elem).render(React.createElement(BigBoard, {}, []));
95
+ }
96
+ });
97
+ console.log("hello BigBoard!");
@@ -0,0 +1,17 @@
1
+ import staticServer from "node-static";
2
+ import http from "http";
3
+ const main = async () => {
4
+ process.chdir("../"); // Navigate one level up
5
+ const fileServer = new staticServer.Server(".", {});
6
+ http
7
+ .createServer(function (request, response) {
8
+ request
9
+ .addListener("end", function () {
10
+ fileServer.serve(request, response);
11
+ })
12
+ .resume();
13
+ })
14
+ .listen(8080);
15
+ console.log("Server running on port 8080");
16
+ };
17
+ main();
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ export const testInterface = {
3
+ andWhen: async (s, whenCB) => {
4
+ await whenCB(s());
5
+ return new Promise((resolve, rej) => {
6
+ resolve(React.createElement(s));
7
+ });
8
+ },
9
+ butThen: async (subject, thenCB) => {
10
+ await thenCB(subject());
11
+ return new Promise((resolve, rej) => {
12
+ resolve(React.createElement(subject));
13
+ });
14
+ },
15
+ };
@@ -1,10 +1,5 @@
1
1
  import Testeranto from "../../../Node.js";
2
2
  import { testInterface as baseInterface, } from "./index.js";
3
3
  export default (testImplementations, testSpecifications, testInput, testInterface = baseInterface) => {
4
- return Testeranto(testInput, testSpecifications, testImplementations, testInterface
5
- // {
6
- // ...baseInterface,
7
- // ...testInterface,
8
- // }
9
- );
4
+ return Testeranto(testInput, testSpecifications, testImplementations, testInterface);
10
5
  };
@@ -5,34 +5,21 @@ import Testeranto from "../../../Node.js";
5
5
  export { renderToStaticMarkup, renderToStaticNodeStream, Stream };
6
6
  export default (testImplementations, testSpecifications, testInput) => {
7
7
  return Testeranto(testInput, testSpecifications, testImplementations, {
8
- // beforeAll: async (
9
- // prototype,
10
- // artificer
11
- // ): Promise<ISubject> => {
12
- // return await new Promise((resolve, rej) => {
13
- // const elem = document.getElementById("root");
14
- // if (elem) {
15
- // resolve({ htmlElement: elem });
16
- // }
17
- // })
18
- // },
19
- beforeEach: async (reactComponent, ndx, testRsource, artificer) => {
8
+ beforeEach: async () => {
20
9
  return new Promise((resolve, rej) => {
21
- // Ignore these type errors
22
10
  resolve(createElement(testInput));
23
11
  });
24
12
  },
25
13
  andWhen: async function (s, whenCB) {
26
14
  return whenCB(s);
27
- // return s
28
15
  },
29
16
  butThen: async function (s) {
30
17
  return s;
31
18
  },
32
- afterEach: async function (store, ndx, artificer) {
19
+ afterEach: async function () {
33
20
  return {};
34
21
  },
35
- afterAll: (store, artificer) => {
22
+ afterAll: () => {
36
23
  return;
37
24
  },
38
25
  });
@@ -33,17 +33,17 @@ export default (testInput, testSpecifications, testImplementations, testInterfac
33
33
  } }), []));
34
34
  });
35
35
  },
36
- andWhen: function (s, whenCB) {
36
+ andWhen: async function (s, whenCB) {
37
37
  return whenCB(s);
38
38
  },
39
39
  butThen: async function (s, thenCB) {
40
40
  return thenCB(s);
41
41
  },
42
42
  afterEach: (testInterface === null || testInterface === void 0 ? void 0 : testInterface.afterEach) ||
43
- async function (store, ndx, artificer, utils) {
43
+ async function (store, ndx, utils) {
44
44
  return store;
45
45
  },
46
- afterAll: async (store, artificer, utils) => {
46
+ afterAll: async (store, utils) => {
47
47
  // setTimeout(() => {
48
48
  // console.log("This will run after 1 second");
49
49
  // }, 1000); // 1000 milliseconds = 1 second
@@ -1,6 +1,6 @@
1
1
  import { createElement } from "react";
2
- import { renderToStaticMarkup, renderToStaticNodeStream } from "react-dom/server";
3
- import Stream from 'stream';
2
+ import { renderToStaticMarkup, renderToStaticNodeStream, } from "react-dom/server";
3
+ import Stream from "stream";
4
4
  import Testeranto from "../../../Node.js";
5
5
  export { renderToStaticMarkup, renderToStaticNodeStream, Stream };
6
6
  export default (testImplementations, testSpecifications, testInput) => {
@@ -10,7 +10,7 @@ export default (testImplementations, testSpecifications, testInput) => {
10
10
  resolve(null);
11
11
  });
12
12
  },
13
- beforeEach: async (reactComponent, ndx, testRsource, artificer) => {
13
+ beforeEach: async () => {
14
14
  return new Promise((resolve, rej) => {
15
15
  resolve(createElement(testInput));
16
16
  });
@@ -32,30 +32,31 @@ export default (testImplementations, testSpecifications, testInput) => {
32
32
  }
33
33
  });
34
34
  },
35
- beforeEach: async (subject, initializer, artificer, testResource, pm) => {
36
- return new Promise((resolve, rej) => {
37
- resolve(subject);
38
- // const tc = TesterantoComponent({
39
- // innerComp: () =>
40
- // testInput({
41
- // port: 3003,
42
- // address: "some-address",
43
- // secretKey: "someSecretKey",
44
- // abi: "foo",
45
- // }),
46
- // done: (reactElement: any) => {
47
- // console.log("mark9");
48
- // resolve(reactElement);
49
- // // process.nextTick(() => {
50
- // // resolve(reactElement);
51
- // // });
52
- // },
53
- // });
54
- // console.log("mark9", tc);
55
- // createPortal(tc, subject.domRoot);
56
- });
35
+ beforeEach: async (subject) => {
36
+ return subject;
37
+ // return new Promise((resolve, rej) => {
38
+ // resolve(subject);
39
+ // // const tc = TesterantoComponent({
40
+ // // innerComp: () =>
41
+ // // testInput({
42
+ // // port: 3003,
43
+ // // address: "some-address",
44
+ // // secretKey: "someSecretKey",
45
+ // // abi: "foo",
46
+ // // }),
47
+ // // done: (reactElement: any) => {
48
+ // // console.log("mark9");
49
+ // // resolve(reactElement);
50
+ // // // process.nextTick(() => {
51
+ // // // resolve(reactElement);
52
+ // // // });
53
+ // // },
54
+ // // });
55
+ // // console.log("mark9", tc);
56
+ // // createPortal(tc, subject.domRoot);
57
+ // });
57
58
  },
58
- andWhen: function (s, whenCB, tr, utils) {
59
+ andWhen: async function (s, whenCB, tr, utils) {
59
60
  return whenCB(s, utils);
60
61
  // return new Promise(async (resolve, rej) => {
61
62
  // // resolve(await whenCB(s, utils));
@@ -1,13 +1,7 @@
1
1
  import React from "react";
2
2
  import renderer, { act } from "react-test-renderer";
3
- const Context = React.createContext({});
4
- const AppContext = React.createContext({});
5
- const contextValue = {
6
- ingredients: ["flour", "sugar", "eggs"],
7
- temperature: "200",
8
- };
9
3
  export const testInterface = {
10
- butThen: async function (s, thenCB, tr) {
4
+ butThen: async function (s, thenCB) {
11
5
  // console.log("butThen", thenCB.toString());
12
6
  return thenCB(s);
13
7
  },
@@ -0,0 +1,91 @@
1
+ import ReactDom from "react-dom/client";
2
+ import React, { useEffect, useState } from "react";
3
+ import { Col, Nav, Row, Tab } from "react-bootstrap";
4
+ import 'bootstrap/dist/css/bootstrap.min.css';
5
+ import "./style.css";
6
+ import { Footer } from "./Footer";
7
+ const StepPane = ({ step }) => {
8
+ return React.createElement("div", null,
9
+ React.createElement("pre", null,
10
+ React.createElement("code", null, JSON.stringify(step, null, 2))));
11
+ };
12
+ const TestPane = ({ given }) => {
13
+ return React.createElement("div", null,
14
+ " ",
15
+ React.createElement(Tab.Container, { id: "TestPane-tabs", defaultActiveKey: "first" },
16
+ React.createElement(Row, null,
17
+ React.createElement(Col, { sm: 3 },
18
+ React.createElement(Nav, { variant: "pills", className: "flex-column" },
19
+ React.createElement(Nav.Item, null,
20
+ React.createElement(Nav.Link, { eventKey: `bdd-features` }, "features"),
21
+ ...given.whens.map((w, ndx) => React.createElement(Nav.Link, { eventKey: `bdd-when-${ndx}` },
22
+ "When ",
23
+ w.name,
24
+ " ",
25
+ w.error && "!")),
26
+ ...given.thens.map((t, ndx) => React.createElement(Nav.Link, { eventKey: `bdd-then-${ndx}` },
27
+ "Then ",
28
+ t.name,
29
+ " ",
30
+ t.error && "!")),
31
+ React.createElement(Nav.Link, { eventKey: `bdd-errors` }, "errors")))),
32
+ React.createElement(Col, { sm: 9 },
33
+ React.createElement(Tab.Content, null,
34
+ React.createElement(Tab.Pane, { eventKey: `bdd-features` },
35
+ React.createElement("pre", null,
36
+ React.createElement("code", null, JSON.stringify(given.features, null, 2)))),
37
+ ...given.whens.map((w, ndx) => React.createElement(Tab.Pane, { eventKey: `bdd-when-${ndx}` },
38
+ React.createElement(StepPane, { step: w }))),
39
+ ...given.thens.map((t, ndx) => React.createElement(Tab.Pane, { eventKey: `bdd-then-${ndx}` },
40
+ React.createElement(StepPane, { step: t }))),
41
+ React.createElement(Tab.Pane, { eventKey: `bdd-errors` },
42
+ React.createElement("pre", null,
43
+ React.createElement("code", null, JSON.stringify(given.error, null, 2)))))))));
44
+ };
45
+ const BddPage = () => {
46
+ const [configs, setConfigs] = useState();
47
+ useEffect(() => {
48
+ (async () => {
49
+ fetch('/kokomoBay/docs/testeranto.json')
50
+ .then(response => response.json())
51
+ .then(json => {
52
+ setConfigs(json);
53
+ })
54
+ .catch(error => console.error(error));
55
+ })();
56
+ }, []);
57
+ const [bddErrors, setBddErrors] = useState();
58
+ useEffect(() => {
59
+ (async () => {
60
+ setBddErrors(await (await fetch(`tests.json`)).json());
61
+ })();
62
+ }, [configs]);
63
+ if (!configs || !bddErrors) {
64
+ return React.createElement("div", null, "loading...");
65
+ }
66
+ return React.createElement("div", null,
67
+ " ",
68
+ React.createElement(Row, null,
69
+ React.createElement(Col, { sm: 12 },
70
+ React.createElement("h2", null, bddErrors.name))),
71
+ React.createElement(Row, null,
72
+ React.createElement(Tab.Container, { id: "root-tab-container", defaultActiveKey: "first" },
73
+ React.createElement(Row, null,
74
+ React.createElement(Col, { sm: 3 },
75
+ React.createElement(Nav, { variant: "pills", className: "flex-column" }, ...bddErrors.givens.map((g) => React.createElement(Nav.Item, null,
76
+ React.createElement(Nav.Link, { eventKey: g.key },
77
+ g.key,
78
+ ": Given ",
79
+ g.name))))),
80
+ React.createElement(Col, { sm: 9 },
81
+ React.createElement(Tab.Content, null, ...bddErrors.givens.map((g) => React.createElement(Tab.Pane, { eventKey: g.key },
82
+ React.createElement(TestPane, { given: g })))))))),
83
+ React.createElement(Footer, null));
84
+ };
85
+ document.addEventListener("DOMContentLoaded", function () {
86
+ const elem = document.getElementById("root");
87
+ if (elem) {
88
+ ReactDom.createRoot(elem).render(React.createElement(BddPage, {}, []));
89
+ }
90
+ });
91
+ console.log("hello BddPage!");
@@ -0,0 +1,184 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import readline from "readline";
4
+ import { glob } from "glob";
5
+ import esbuild from "esbuild";
6
+ import esbuildNodeConfiger from "./esbuildConfigs/node.js";
7
+ import esbuildWebConfiger from "./esbuildConfigs/web.js";
8
+ import webHtmlFrame from "./web.html.js";
9
+ readline.emitKeypressEvents(process.stdin);
10
+ if (process.stdin.isTTY)
11
+ process.stdin.setRawMode(true);
12
+ const getRunnables = (tests, payload = {
13
+ nodeEntryPoints: {},
14
+ webEntryPoints: {},
15
+ }) => {
16
+ return tests.reduce((pt, cv, cndx, cry) => {
17
+ if (cv[1] === "node") {
18
+ pt.nodeEntryPoints[cv[0]] = path.resolve(`./docs/node/${cv[0].split(".").slice(0, -1).concat("mjs").join(".")}`);
19
+ }
20
+ else if (cv[1] === "web") {
21
+ pt.webEntryPoints[cv[0]] = path.resolve(`./docs/web/${cv[0].split(".").slice(0, -1).concat("mjs").join(".")}`);
22
+ }
23
+ if (cv[3].length) {
24
+ getRunnables(cv[3], payload);
25
+ }
26
+ return pt;
27
+ }, payload);
28
+ };
29
+ import(process.cwd() + "/" + process.argv[2]).then(async (module) => {
30
+ const rawConfig = module.default;
31
+ const getSecondaryEndpointsPoints = (runtime) => {
32
+ const meta = (ts, st) => {
33
+ ts.forEach((t) => {
34
+ if (t[1] === runtime) {
35
+ st.add(t[0]);
36
+ }
37
+ if (Array.isArray(t[3])) {
38
+ meta(t[3], st);
39
+ }
40
+ });
41
+ return st;
42
+ };
43
+ return Array.from(meta(config.tests, new Set()));
44
+ };
45
+ const config = Object.assign(Object.assign({}, rawConfig), { buildDir: process.cwd() + "/" + rawConfig.outdir });
46
+ let nodeDone = false;
47
+ let webDone = false;
48
+ let mode = config.devMode ? "DEV" : "PROD";
49
+ let status = "build";
50
+ // let pm: PM_Main | undefined = new PM_Main(config);
51
+ // const fileHashes = {};
52
+ const { nodeEntryPoints, webEntryPoints } = getRunnables(config.tests);
53
+ const onNodeDone = () => {
54
+ nodeDone = true;
55
+ onDone();
56
+ };
57
+ const onWebDone = () => {
58
+ webDone = true;
59
+ onDone();
60
+ };
61
+ const onDone = async () => {
62
+ if (nodeDone && webDone) {
63
+ status = "built";
64
+ }
65
+ if (nodeDone && webDone && status === "built") {
66
+ // Object.entries(nodeEntryPoints).forEach(([k, outputFile]) => {
67
+ // console.log("watching", outputFile);
68
+ // try {
69
+ // watch(outputFile, async (filename) => {
70
+ // const hash = await fileHash(outputFile);
71
+ // if (fileHashes[k] !== hash) {
72
+ // fileHashes[k] = hash;
73
+ // console.log(`< ${filename} `);
74
+ // pm.launchNode(k, outputFile);
75
+ // }
76
+ // });
77
+ // } catch (e) {
78
+ // console.error(e);
79
+ // }
80
+ // });
81
+ // Object.entries(webEntryPoints).forEach(([k, outputFile]) => {
82
+ // console.log("watching", outputFile);
83
+ // watch(outputFile, async (filename) => {
84
+ // const hash = await fileHash(outputFile);
85
+ // console.log(`< ${filename} ${hash}`);
86
+ // if (fileHashes[k] !== hash) {
87
+ // fileHashes[k] = hash;
88
+ // pm.launchWeb(k, outputFile);
89
+ // }
90
+ // });
91
+ // });
92
+ }
93
+ if (nodeDone && webDone && mode === "PROD") {
94
+ console.log("Testeranto-EsBuild is all done. Goodbye!");
95
+ process.exit();
96
+ }
97
+ else {
98
+ if (mode === "PROD") {
99
+ console.log("waiting for tests to finish");
100
+ console.log(JSON.stringify({
101
+ nodeDone: nodeDone,
102
+ webDone: webDone,
103
+ mode: mode,
104
+ }, null, 2));
105
+ }
106
+ else {
107
+ console.log("waiting for tests to change");
108
+ }
109
+ if (config.devMode) {
110
+ console.log("ready and watching for changes...");
111
+ }
112
+ else {
113
+ // pm.shutDown();
114
+ }
115
+ ////////////////////////////////////////////////////////////////////////////////
116
+ }
117
+ };
118
+ console.log(`Press 'q' to shutdown gracefully. Press 'x' to shutdown forcefully.`);
119
+ process.stdin.on("keypress", (str, key) => {
120
+ if (key.name === "q") {
121
+ console.log("Testeranto-Build is shutting down...");
122
+ mode = "PROD";
123
+ onDone();
124
+ }
125
+ if (key.name === "x") {
126
+ console.log("Testeranto-Build is shutting down forcefully...");
127
+ process.exit(-1);
128
+ }
129
+ });
130
+ fs.writeFileSync(`${config.outdir}/testeranto.json`, JSON.stringify(config, null, 2));
131
+ Promise.resolve(Promise.all([...getSecondaryEndpointsPoints("web")].map(async (sourceFilePath) => {
132
+ const sourceFileSplit = sourceFilePath.split("/");
133
+ const sourceDir = sourceFileSplit.slice(0, -1);
134
+ const sourceFileName = sourceFileSplit[sourceFileSplit.length - 1];
135
+ const sourceFileNameMinusJs = sourceFileName
136
+ .split(".")
137
+ .slice(0, -1)
138
+ .join(".");
139
+ const htmlFilePath = path.normalize(`${process.cwd()}/${config.outdir}/web/${sourceDir.join("/")}/${sourceFileNameMinusJs}.html`);
140
+ const jsfilePath = `./${sourceFileNameMinusJs}.mjs`;
141
+ return fs.promises
142
+ .mkdir(path.dirname(htmlFilePath), { recursive: true })
143
+ .then((x) => fs.writeFileSync(htmlFilePath, webHtmlFrame(jsfilePath, htmlFilePath)));
144
+ })));
145
+ glob(`./${config.outdir}/chunk-*.mjs`, {
146
+ ignore: "node_modules/**",
147
+ }).then((chunks) => {
148
+ chunks.forEach((chunk) => {
149
+ fs.unlinkSync(chunk);
150
+ });
151
+ });
152
+ await Promise.all([
153
+ esbuild
154
+ .context(esbuildNodeConfiger(config, Object.keys(nodeEntryPoints)))
155
+ .then(async (nodeContext) => {
156
+ if (config.devMode) {
157
+ await nodeContext.watch().then((v) => {
158
+ onNodeDone();
159
+ });
160
+ }
161
+ else {
162
+ nodeContext.rebuild().then((v) => {
163
+ onNodeDone();
164
+ });
165
+ }
166
+ return nodeContext;
167
+ }),
168
+ esbuild
169
+ .context(esbuildWebConfiger(config, Object.keys(webEntryPoints)))
170
+ .then(async (webContext) => {
171
+ if (config.devMode) {
172
+ await webContext.watch().then((v) => {
173
+ onWebDone();
174
+ });
175
+ }
176
+ else {
177
+ webContext.rebuild().then((v) => {
178
+ onWebDone();
179
+ });
180
+ }
181
+ return webContext;
182
+ }),
183
+ ]);
184
+ });
@@ -1,4 +1,5 @@
1
1
  const config = {
2
+ src: "src",
2
3
  outdir: "docs",
3
4
  tests: [],
4
5
  debugger: true,
@@ -0,0 +1,3 @@
1
+ export default function (results) {
2
+ return JSON.stringify(results, null, 2);
3
+ }