testeranto 0.114.1 → 0.125.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 (396) hide show
  1. package/.aider.chat.history.md +97001 -0
  2. package/.aider.conf.yml +5 -0
  3. package/.aider.input.history +9 -0
  4. package/.aider.tags.cache.v3/b7/e6/5be87b62aeaf2bc244ff41c1b61a.val +0 -0
  5. package/.aider.tags.cache.v3/cache.db +0 -0
  6. package/.aider.tags.cache.v3/e3/e6/3501625caf5d5eb171f0d248462e.val +0 -0
  7. package/.aider.tags.cache.v3/ec/c0/161c249c35be853cc40cf11f9267.val +0 -0
  8. package/README.md +15 -1
  9. package/bundle.js +1 -1
  10. package/dist/common/src/Init.js +31 -0
  11. package/dist/common/src/Node.js +49 -0
  12. package/dist/common/src/PM/base.js +230 -0
  13. package/dist/common/src/PM/main.js +1026 -0
  14. package/dist/common/src/PM/node.js +161 -0
  15. package/dist/common/{PM/node.js → src/PM/pure.js} +27 -18
  16. package/dist/common/{PM → src/PM}/web.js +14 -47
  17. package/dist/common/{Node.js → src/Pure.js} +11 -9
  18. package/dist/common/{SubPackages/react/component/web.js → src/SubPackages/react/component/index.js} +5 -4
  19. package/dist/common/src/SubPackages/react/component/node.js +10 -0
  20. package/dist/common/src/SubPackages/react/component/pure.js +10 -0
  21. package/dist/common/{SubPackages/react/jsx → src/SubPackages/react/component}/web.js +2 -2
  22. package/dist/common/src/SubPackages/react/jsx/index.js +64 -0
  23. package/dist/common/src/SubPackages/react/jsx/pure.js +10 -0
  24. package/dist/common/src/SubPackages/react/jsx/web.js +10 -0
  25. package/dist/common/{SubPackages/react-dom/component/web.js → src/SubPackages/react-dom/component/dynamic.js} +8 -14
  26. package/dist/common/src/SubPackages/react-dom/component/node.js +10 -0
  27. package/dist/common/src/SubPackages/react-dom/component/pure.js +10 -0
  28. package/dist/common/src/SubPackages/react-dom/component/static.js +26 -0
  29. package/dist/common/src/SubPackages/react-dom/component/web.js +16 -0
  30. package/dist/common/src/SubPackages/react-dom/jsx/dynamic.js +31 -0
  31. package/dist/common/src/SubPackages/react-dom/jsx/node.js +10 -0
  32. package/dist/common/src/SubPackages/react-dom/jsx/pure.js +10 -0
  33. package/dist/common/src/SubPackages/react-dom/jsx/static.js +59 -0
  34. package/dist/common/src/SubPackages/react-dom/jsx/web.js +16 -0
  35. package/dist/common/src/SubPackages/react-test-renderer/component/index.js +15 -0
  36. package/dist/common/src/SubPackages/react-test-renderer/component/pure.js +8 -0
  37. package/dist/common/src/SubPackages/react-test-renderer/component/test/implementation.js +57 -0
  38. package/dist/common/src/SubPackages/react-test-renderer/component/test/node.js +10 -0
  39. package/dist/common/src/SubPackages/react-test-renderer/component/test/pure.js +10 -0
  40. package/dist/common/src/SubPackages/react-test-renderer/component/test/web.js +10 -0
  41. package/dist/common/src/SubPackages/react-test-renderer/jsx/pure.js +10 -0
  42. package/dist/common/{Web.js → src/Web.js} +1 -4
  43. package/dist/common/src/build.js +223 -0
  44. package/dist/common/{defaultConfig.js → src/defaultConfig.js} +1 -3
  45. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/index.js +1 -1
  46. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/inputFilesPlugin.js +7 -3
  47. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/node.js +7 -4
  48. package/dist/common/src/esbuildConfigs/pure.js +41 -0
  49. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/web.js +8 -5
  50. package/dist/common/src/examples/react/component/index.js +33 -0
  51. package/dist/common/src/examples/react/component/test.js +36 -0
  52. package/dist/common/src/init-docs.js +9 -0
  53. package/dist/common/{lib → src/lib}/abstractBase.js +99 -95
  54. package/dist/common/{lib → src/lib}/basebuilder.js +24 -20
  55. package/dist/common/{lib → src/lib}/classBuilder.js +8 -5
  56. package/dist/common/{lib → src/lib}/core.js +10 -60
  57. package/dist/common/{lib → src/lib}/index.js +7 -2
  58. package/dist/common/{run.js → src/run.js} +12 -4
  59. package/dist/common/src/utils.js +65 -0
  60. package/dist/common/testeranto.config.js +41 -0
  61. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  62. package/dist/module/src/Init.js +26 -0
  63. package/dist/module/src/Node.js +42 -0
  64. package/dist/module/src/PM/base.js +223 -0
  65. package/dist/module/src/PM/main.js +986 -0
  66. package/dist/module/src/PM/node.js +154 -0
  67. package/dist/module/{PM/node.js → src/PM/pure.js} +25 -16
  68. package/dist/module/{PM → src/PM}/web.js +14 -47
  69. package/dist/module/src/Project.js +120 -0
  70. package/dist/module/{Node.js → src/Pure.js} +9 -7
  71. package/dist/module/{ReportClient.js → src/ReportClient.js} +1 -1
  72. package/dist/module/{SubPackages/react/component/web.js → src/SubPackages/react/component/index.js} +3 -4
  73. package/dist/module/src/SubPackages/react/component/node.js +5 -0
  74. package/dist/module/src/SubPackages/react/component/pure.js +5 -0
  75. package/dist/module/{SubPackages/react/jsx → src/SubPackages/react/component}/web.js +3 -3
  76. package/dist/module/src/SubPackages/react/jsx/index.js +58 -0
  77. package/dist/module/{SubPackages → src/SubPackages}/react/jsx/node.js +1 -1
  78. package/dist/module/src/SubPackages/react/jsx/pure.js +5 -0
  79. package/dist/module/src/SubPackages/react/jsx/web.js +5 -0
  80. package/dist/module/{SubPackages/react-dom/component/web.js → src/SubPackages/react-dom/component/dynamic.js} +5 -13
  81. package/dist/module/src/SubPackages/react-dom/component/node.js +5 -0
  82. package/dist/module/src/SubPackages/react-dom/component/pure.js +5 -0
  83. package/dist/module/src/SubPackages/react-dom/component/static.js +22 -0
  84. package/dist/module/src/SubPackages/react-dom/component/web.js +11 -0
  85. package/dist/module/{SubPackages/react-dom/jsx/node.js → src/SubPackages/react-dom/jsx/dynamic.js} +3 -7
  86. package/dist/module/src/SubPackages/react-dom/jsx/node.js +5 -0
  87. package/dist/module/src/SubPackages/react-dom/jsx/pure.js +5 -0
  88. package/dist/module/src/SubPackages/react-dom/jsx/static.js +53 -0
  89. package/dist/module/src/SubPackages/react-dom/jsx/web.js +11 -0
  90. package/dist/module/src/SubPackages/react-test-renderer/component/index.js +14 -0
  91. package/dist/module/src/SubPackages/react-test-renderer/component/pure.js +3 -0
  92. package/dist/module/src/SubPackages/react-test-renderer/component/test/implementation.js +54 -0
  93. package/dist/module/src/SubPackages/react-test-renderer/component/test/node.js +5 -0
  94. package/dist/module/src/SubPackages/react-test-renderer/component/test/pure.js +5 -0
  95. package/dist/module/src/SubPackages/react-test-renderer/component/test/web.js +5 -0
  96. package/dist/module/src/SubPackages/react-test-renderer/jsx/pure.js +5 -0
  97. package/dist/module/{TestReport.js → src/TestReport.js} +26 -14
  98. package/dist/module/{Web.js → src/Web.js} +1 -4
  99. package/dist/module/src/build.js +185 -0
  100. package/dist/module/{defaultConfig.js → src/defaultConfig.js} +1 -3
  101. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/index.js +1 -1
  102. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/inputFilesPlugin.js +7 -3
  103. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/node.js +7 -4
  104. package/dist/module/src/esbuildConfigs/pure.js +36 -0
  105. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/web.js +8 -5
  106. package/dist/module/src/examples/react/component/index.js +26 -0
  107. package/dist/module/src/examples/react/component/test.js +32 -0
  108. package/dist/module/src/init-docs.js +4 -0
  109. package/dist/module/{lib → src/lib}/abstractBase.js +99 -95
  110. package/dist/module/{lib → src/lib}/basebuilder.js +24 -20
  111. package/dist/module/{lib → src/lib}/classBuilder.js +8 -5
  112. package/dist/module/{lib → src/lib}/core.js +10 -60
  113. package/dist/module/{lib → src/lib}/index.js +7 -2
  114. package/dist/module/{run.js → src/run.js} +12 -4
  115. package/dist/module/src/utils.js +53 -0
  116. package/dist/module/testeranto.config.js +39 -0
  117. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  118. package/dist/prebuild/Project.css +11367 -0
  119. package/dist/prebuild/Project.js +24643 -0
  120. package/dist/prebuild/ReportClient.js +1 -1
  121. package/dist/prebuild/TestReport.js +13 -12
  122. package/dist/prebuild/build.mjs +217 -106
  123. package/dist/prebuild/init-docs.mjs +29 -83
  124. package/dist/prebuild/run.mjs +803 -686
  125. package/dist/tsconfig.tsbuildinfo +1 -1
  126. package/dist/types/src/Init.d.ts +2 -0
  127. package/dist/types/src/Node.d.ts +9 -0
  128. package/dist/types/src/PM/base.d.ts +34 -0
  129. package/dist/types/{PM → src/PM}/index.d.ts +21 -22
  130. package/dist/types/src/PM/main.d.ts +47 -0
  131. package/dist/types/src/PM/node.d.ts +38 -0
  132. package/dist/types/{PM/node.d.ts → src/PM/pure.d.ts} +16 -17
  133. package/dist/types/{PM → src/PM}/web.d.ts +10 -15
  134. package/dist/types/src/Pure.d.ts +9 -0
  135. package/dist/types/src/SubPackages/react/component/index.d.ts +4 -0
  136. package/dist/types/src/SubPackages/react/component/node.d.ts +4 -0
  137. package/dist/types/src/SubPackages/react/component/pure.d.ts +4 -0
  138. package/dist/types/src/SubPackages/react/component/web.d.ts +4 -0
  139. package/dist/types/src/SubPackages/react/jsx/index.d.ts +5 -0
  140. package/dist/types/src/SubPackages/react/jsx/node.d.ts +4 -0
  141. package/dist/types/src/SubPackages/react/jsx/pure.d.ts +4 -0
  142. package/dist/types/src/SubPackages/react/jsx/web.d.ts +4 -0
  143. package/dist/types/src/SubPackages/react-dom/component/dynamic.d.ts +20 -0
  144. package/dist/types/src/SubPackages/react-dom/component/node.d.ts +4 -0
  145. package/dist/types/src/SubPackages/react-dom/component/pure.d.ts +4 -0
  146. package/dist/types/src/SubPackages/react-dom/component/static.d.ts +9 -0
  147. package/dist/types/src/SubPackages/react-dom/component/web.d.ts +4 -0
  148. package/dist/types/src/SubPackages/react-dom/jsx/dynamic.d.ts +5 -0
  149. package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +4 -0
  150. package/dist/types/src/SubPackages/react-dom/jsx/pure.d.ts +4 -0
  151. package/dist/types/src/SubPackages/react-dom/jsx/static.d.ts +5 -0
  152. package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +5 -0
  153. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/MemoExoticComponent/node.d.ts +1 -1
  154. package/dist/types/src/SubPackages/react-test-renderer/component/index.d.ts +5 -0
  155. package/dist/types/src/SubPackages/react-test-renderer/component/interface.d.ts +3 -0
  156. package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +4 -0
  157. package/dist/types/src/SubPackages/react-test-renderer/component/pure.d.ts +4 -0
  158. package/dist/types/src/SubPackages/react-test-renderer/component/test/implementation.d.ts +4 -0
  159. package/dist/types/src/SubPackages/react-test-renderer/component/test/node.d.ts +3 -0
  160. package/dist/types/src/SubPackages/react-test-renderer/component/test/pure.d.ts +4 -0
  161. package/dist/types/src/SubPackages/react-test-renderer/component/test/web.d.ts +3 -0
  162. package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +4 -0
  163. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/fc/node.d.ts +1 -1
  164. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/fc/web.d.ts +1 -1
  165. package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +11 -0
  166. package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +4 -0
  167. package/dist/types/src/SubPackages/react-test-renderer/jsx/pure.d.ts +4 -0
  168. package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +4 -0
  169. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/node.d.ts +1 -1
  170. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/web.d.ts +1 -1
  171. package/dist/types/src/Types.d.ts +88 -0
  172. package/dist/types/src/Web.d.ts +9 -0
  173. package/dist/types/src/defaultConfig.d.ts +3 -0
  174. package/dist/types/src/esbuildConfigs/index.d.ts +4 -0
  175. package/dist/types/{esbuildConfigs → src/esbuildConfigs}/inputFilesPlugin.d.ts +2 -1
  176. package/dist/types/src/esbuildConfigs/node.d.ts +4 -0
  177. package/dist/types/src/esbuildConfigs/pure.d.ts +4 -0
  178. package/dist/types/src/esbuildConfigs/web.d.ts +4 -0
  179. package/dist/types/src/examples/react/component/index.d.ts +13 -0
  180. package/dist/types/src/examples/react/component/test.d.ts +17 -0
  181. package/dist/types/{lib → src/lib}/abstractBase.d.ts +47 -34
  182. package/dist/types/{lib → src/lib}/basebuilder.d.ts +7 -9
  183. package/dist/types/src/lib/classBuilder.d.ts +9 -0
  184. package/dist/types/src/lib/core.d.ts +7 -0
  185. package/dist/types/{lib → src/lib}/index.d.ts +14 -36
  186. package/dist/types/src/lib/types.d.ts +15 -0
  187. package/dist/types/src/utils.d.ts +18 -0
  188. package/dist/types/testeranto.config.d.ts +3 -0
  189. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  190. package/eslint.config.mjs +111 -0
  191. package/package.json +33 -12
  192. package/src/Init.ts +29 -75
  193. package/src/Node.ts +42 -46
  194. package/src/PM/base.ts +299 -0
  195. package/src/PM/index.ts +28 -21
  196. package/src/PM/main.ts +569 -819
  197. package/src/PM/node.ts +88 -44
  198. package/src/PM/pure.ts +209 -0
  199. package/src/PM/web.ts +19 -121
  200. package/src/Project.tsx +200 -0
  201. package/src/Pure.ts +69 -0
  202. package/src/ReportClient.tsx +8 -3
  203. package/src/SubPackages/react/component/index.ts +28 -0
  204. package/src/SubPackages/react/component/node.ts +12 -82
  205. package/src/SubPackages/react/component/pure.ts +17 -0
  206. package/src/SubPackages/react/component/web.ts +12 -81
  207. package/src/SubPackages/react/jsx/index.ts +56 -52
  208. package/src/SubPackages/react/jsx/node.ts +12 -29
  209. package/src/SubPackages/react/jsx/pure.ts +23 -0
  210. package/src/SubPackages/react/jsx/web.ts +17 -36
  211. package/src/SubPackages/react-dom/component/dynamic.ts +107 -0
  212. package/src/SubPackages/react-dom/component/node.ts +11 -116
  213. package/src/SubPackages/react-dom/component/pure.ts +17 -0
  214. package/src/SubPackages/react-dom/component/static.ts +41 -0
  215. package/src/SubPackages/react-dom/component/web.ts +7 -113
  216. package/src/SubPackages/react-dom/jsx/dynamic.ts +46 -0
  217. package/src/SubPackages/react-dom/jsx/node.ts +10 -58
  218. package/src/SubPackages/react-dom/jsx/pure.ts +18 -0
  219. package/src/SubPackages/react-dom/jsx/static.ts +87 -0
  220. package/src/SubPackages/react-dom/jsx/web.ts +7 -135
  221. package/src/SubPackages/react-test-renderer/component/index.ts +27 -51
  222. package/src/SubPackages/react-test-renderer/component/interface.ts +7 -5
  223. package/src/SubPackages/react-test-renderer/component/node.ts +7 -25
  224. package/src/SubPackages/react-test-renderer/component/pure.ts +18 -0
  225. package/src/SubPackages/react-test-renderer/component/test/implementation.ts +63 -0
  226. package/src/SubPackages/react-test-renderer/component/test/node.ts +14 -0
  227. package/src/SubPackages/react-test-renderer/component/test/pure.ts +14 -0
  228. package/src/SubPackages/react-test-renderer/component/test/web.ts +14 -0
  229. package/src/SubPackages/react-test-renderer/component/web.ts +7 -23
  230. package/src/SubPackages/react-test-renderer/jsx/index.ts +13 -46
  231. package/src/SubPackages/react-test-renderer/jsx/node.ts +9 -15
  232. package/src/SubPackages/react-test-renderer/jsx/pure.ts +31 -0
  233. package/src/SubPackages/react-test-renderer/jsx/web.ts +9 -14
  234. package/src/TestReport.tsx +37 -19
  235. package/src/Types.ts +114 -140
  236. package/src/Web.ts +13 -48
  237. package/src/build.ts +153 -143
  238. package/src/defaultConfig.ts +3 -5
  239. package/src/esbuildConfigs/index.ts +3 -3
  240. package/src/esbuildConfigs/inputFilesPlugin.ts +9 -7
  241. package/src/esbuildConfigs/node.ts +10 -6
  242. package/src/esbuildConfigs/pure.ts +72 -0
  243. package/src/esbuildConfigs/web.ts +11 -7
  244. package/src/examples/react/component/index.tsx +35 -0
  245. package/src/examples/react/component/test.ts +83 -0
  246. package/src/init-docs.ts +2 -15
  247. package/src/lib/abstractBase.ts +188 -260
  248. package/src/lib/basebuilder.ts +47 -48
  249. package/src/lib/classBuilder.ts +28 -35
  250. package/src/lib/core.ts +35 -102
  251. package/src/lib/index.ts +37 -65
  252. package/src/lib/types.ts +23 -98
  253. package/src/run.ts +18 -5
  254. package/src/utils.ts +73 -40
  255. package/testeranto/Project.css +11367 -0
  256. package/testeranto/Project.js +24643 -0
  257. package/testeranto/ReportClient.css +11367 -0
  258. package/testeranto/ReportClient.js +24641 -0
  259. package/testeranto/TestReport.css +11367 -0
  260. package/testeranto/TestReport.js +27485 -0
  261. package/testeranto/bundles/node/react/metafile.json +627 -0
  262. package/testeranto/bundles/node/react/src/SubPackages/react-test-renderer/component/test/node.mjs +24687 -0
  263. package/testeranto/bundles/pure/react/metafile.json +8 -0
  264. package/testeranto/bundles/pure/react/src/SubPackages/react-test-renderer/component/test/pure.mjs +24625 -0
  265. package/testeranto/bundles/web/react/metafile.json +8 -0
  266. package/testeranto/bundles/web/react/src/SubPackages/react-test-renderer/component/test/web.html +19 -0
  267. package/testeranto/bundles/web/react/src/SubPackages/react-test-renderer/component/test/web.mjs +21290 -0
  268. package/testeranto/index.html +28 -0
  269. package/testeranto/reports/react/config.json +22 -0
  270. package/testeranto/reports/react/index.html +24 -0
  271. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/node/node/console_log.txt +0 -0
  272. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/bdd_errors.txt +1 -0
  273. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/featurePrompt.txt +0 -0
  274. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/lint_errors.json +3381 -0
  275. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/littleBoard.html +20 -0
  276. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/log.txt +40 -0
  277. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/prompt.txt +24 -0
  278. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/tests.json +132 -0
  279. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/type_errors.txt +17 -0
  280. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/bdd_errors.txt +1 -0
  281. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/console_log.txt +1 -0
  282. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/lint_errors.json +2947 -0
  283. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/littleBoard.html +20 -0
  284. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/log.txt +40 -0
  285. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/prompt.txt +23 -0
  286. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/tests.json +132 -0
  287. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/type_errors.txt +18 -0
  288. package/testeranto/reports/react/summary.json +8 -0
  289. package/testeranto.config.ts +45 -0
  290. package/tsc.log +53 -76
  291. package/type-fix.txt +2 -0
  292. package/dist/common/Init.js +0 -68
  293. package/dist/common/PM/main.js +0 -1176
  294. package/dist/common/SubPackages/react/component/node.js +0 -19
  295. package/dist/common/SubPackages/react/jsx/index.js +0 -21
  296. package/dist/common/SubPackages/react-dom/component/node.js +0 -88
  297. package/dist/common/SubPackages/react-dom/jsx/node.js +0 -39
  298. package/dist/common/SubPackages/react-dom/jsx/web.js +0 -128
  299. package/dist/common/SubPackages/react-test-renderer/component/index.js +0 -2
  300. package/dist/common/build.js +0 -222
  301. package/dist/common/init-docs.js +0 -53
  302. package/dist/common/puppeteerConfiger.js +0 -24
  303. package/dist/common/utils.js +0 -43
  304. package/dist/module/Init.js +0 -63
  305. package/dist/module/PM/main.js +0 -1136
  306. package/dist/module/SubPackages/react/component/node.js +0 -14
  307. package/dist/module/SubPackages/react/jsx/index.js +0 -15
  308. package/dist/module/SubPackages/react-dom/component/node.js +0 -80
  309. package/dist/module/SubPackages/react-dom/jsx/web.js +0 -90
  310. package/dist/module/SubPackages/react-test-renderer/component/index.js +0 -1
  311. package/dist/module/build.js +0 -184
  312. package/dist/module/init-docs.js +0 -15
  313. package/dist/module/puppeteerConfiger.js +0 -19
  314. package/dist/module/utils.js +0 -29
  315. package/dist/types/Init.d.ts +0 -2
  316. package/dist/types/Node.d.ts +0 -12
  317. package/dist/types/PM/main.d.ts +0 -66
  318. package/dist/types/SubPackages/react/component/node.d.ts +0 -7
  319. package/dist/types/SubPackages/react/component/web.d.ts +0 -7
  320. package/dist/types/SubPackages/react/jsx/index.d.ts +0 -12
  321. package/dist/types/SubPackages/react/jsx/node.d.ts +0 -4
  322. package/dist/types/SubPackages/react/jsx/web.d.ts +0 -4
  323. package/dist/types/SubPackages/react-dom/component/node.d.ts +0 -11
  324. package/dist/types/SubPackages/react-dom/component/web.d.ts +0 -20
  325. package/dist/types/SubPackages/react-dom/jsx/node.d.ts +0 -7
  326. package/dist/types/SubPackages/react-dom/jsx/web.d.ts +0 -5
  327. package/dist/types/SubPackages/react-test-renderer/component/index.d.ts +0 -13
  328. package/dist/types/SubPackages/react-test-renderer/component/interface.d.ts +0 -9
  329. package/dist/types/SubPackages/react-test-renderer/component/node.d.ts +0 -4
  330. package/dist/types/SubPackages/react-test-renderer/component/web.d.ts +0 -4
  331. package/dist/types/SubPackages/react-test-renderer/jsx/index.d.ts +0 -16
  332. package/dist/types/SubPackages/react-test-renderer/jsx/node.d.ts +0 -9
  333. package/dist/types/SubPackages/react-test-renderer/jsx/web.d.ts +0 -9
  334. package/dist/types/Types.d.ts +0 -61
  335. package/dist/types/Web.d.ts +0 -9
  336. package/dist/types/defaultConfig.d.ts +0 -3
  337. package/dist/types/esbuildConfigs/index.d.ts +0 -4
  338. package/dist/types/esbuildConfigs/node.d.ts +0 -4
  339. package/dist/types/esbuildConfigs/web.d.ts +0 -4
  340. package/dist/types/lib/classBuilder.d.ts +0 -7
  341. package/dist/types/lib/core.d.ts +0 -7
  342. package/dist/types/lib/types.d.ts +0 -14
  343. package/dist/types/puppeteerConfiger.d.ts +0 -4
  344. package/dist/types/utils.d.ts +0 -15
  345. package/src/puppeteerConfiger.ts +0 -26
  346. /package/dist/common/{PM → src/PM}/index.js +0 -0
  347. /package/dist/common/{ReportServer.js → src/ReportServer.js} +0 -0
  348. /package/dist/common/{SubPackages → src/SubPackages}/react/jsx/node.js +0 -0
  349. /package/dist/common/{SubPackages → src/SubPackages}/react-dom/jsx/index.js +0 -0
  350. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/MemoExoticComponent/node.js +0 -0
  351. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/component/interface.js +0 -0
  352. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/component/node.js +0 -0
  353. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/component/web.js +0 -0
  354. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/fc/node.js +0 -0
  355. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/fc/web.js +0 -0
  356. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx/index.js +0 -0
  357. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx/node.js +0 -0
  358. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx/web.js +0 -0
  359. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/index.js +0 -0
  360. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/node.js +0 -0
  361. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  362. /package/dist/common/{Types.js → src/Types.js} +0 -0
  363. /package/dist/common/{esbuildConfigs → src/esbuildConfigs}/eslint-formatter-testeranto.js +0 -0
  364. /package/dist/common/{esbuildConfigs → src/esbuildConfigs}/featuresPlugin.js +0 -0
  365. /package/dist/common/{lib → src/lib}/types.js +0 -0
  366. /package/dist/common/{web.html.js → src/web.html.js} +0 -0
  367. /package/dist/module/{Footer.js → src/Footer.js} +0 -0
  368. /package/dist/module/{PM → src/PM}/index.js +0 -0
  369. /package/dist/module/{ReportServer.js → src/ReportServer.js} +0 -0
  370. /package/dist/module/{SubPackages → src/SubPackages}/react-dom/jsx/index.js +0 -0
  371. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/MemoExoticComponent/node.js +0 -0
  372. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/component/interface.js +0 -0
  373. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/component/node.js +0 -0
  374. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/component/web.js +0 -0
  375. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/fc/node.js +0 -0
  376. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/fc/web.js +0 -0
  377. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx/index.js +0 -0
  378. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx/node.js +0 -0
  379. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx/web.js +0 -0
  380. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/index.js +0 -0
  381. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/node.js +0 -0
  382. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  383. /package/dist/module/{Types.js → src/Types.js} +0 -0
  384. /package/dist/module/{esbuildConfigs → src/esbuildConfigs}/eslint-formatter-testeranto.js +0 -0
  385. /package/dist/module/{esbuildConfigs → src/esbuildConfigs}/featuresPlugin.js +0 -0
  386. /package/dist/module/{lib → src/lib}/types.js +0 -0
  387. /package/dist/module/{web.html.js → src/web.html.js} +0 -0
  388. /package/dist/types/{ReportServer.d.ts → src/ReportServer.d.ts} +0 -0
  389. /package/dist/types/{SubPackages → src/SubPackages}/react-dom/jsx/index.d.ts +0 -0
  390. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/index.d.ts +0 -0
  391. /package/dist/types/{build.d.ts → src/build.d.ts} +0 -0
  392. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/eslint-formatter-testeranto.d.ts +0 -0
  393. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/featuresPlugin.d.ts +0 -0
  394. /package/dist/types/{init-docs.d.ts → src/init-docs.d.ts} +0 -0
  395. /package/dist/types/{run.d.ts → src/run.d.ts} +0 -0
  396. /package/dist/types/{web.html.d.ts → src/web.html.d.ts} +0 -0
@@ -0,0 +1,5 @@
1
+ import Testeranto from "../../../Node.js";
2
+ import { testInterfacer } from "./static.js";
3
+ export default (testImplementations, testSpecifications, testInput) => {
4
+ return Testeranto(testInput, testSpecifications, testImplementations, testInterfacer(testInput));
5
+ };
@@ -0,0 +1,5 @@
1
+ import Testeranto from "../../../Pure.js";
2
+ import { testInterfacer } from "./static.js";
3
+ export default (testImplementations, testSpecifications, testInput) => {
4
+ return Testeranto(testInput, testSpecifications, testImplementations, testInterfacer(testInput));
5
+ };
@@ -0,0 +1,22 @@
1
+ import { createElement } from "react";
2
+ export const testInterfacer = (testInput) => {
3
+ return {
4
+ beforeEach: async () => {
5
+ return new Promise((resolve, rej) => {
6
+ resolve(createElement(testInput));
7
+ });
8
+ },
9
+ andWhen: async function (s, whenCB) {
10
+ return whenCB(s);
11
+ },
12
+ butThen: async function (s) {
13
+ return s;
14
+ },
15
+ afterEach: async function () {
16
+ return {};
17
+ },
18
+ afterAll: () => {
19
+ return;
20
+ },
21
+ };
22
+ };
@@ -0,0 +1,11 @@
1
+ import Testeranto from "../../../Web.js";
2
+ export default (testInput, testSpecifications, testImplementations, testInterface) => {
3
+ const t = Testeranto(testInput, testSpecifications, testImplementations, testInterface);
4
+ document.addEventListener("DOMContentLoaded", function () {
5
+ const elem = document.getElementById("root");
6
+ if (elem) {
7
+ return t;
8
+ }
9
+ });
10
+ return t;
11
+ };
@@ -1,10 +1,6 @@
1
1
  import { createElement } from "react";
2
- import { renderToStaticMarkup, renderToStaticNodeStream, } from "react-dom/server";
3
- import Stream from "stream";
4
- import Testeranto from "../../../Node.js";
5
- export { renderToStaticMarkup, renderToStaticNodeStream, Stream };
6
- export default (testImplementations, testSpecifications, testInput) => {
7
- return Testeranto(testInput, testSpecifications, testImplementations, {
2
+ export const testInterfacer = (testInput) => {
3
+ return {
8
4
  beforeAll: async (prototype, artificer) => {
9
5
  return await new Promise((resolve, rej) => {
10
6
  resolve(null);
@@ -27,5 +23,5 @@ export default (testImplementations, testSpecifications, testInput) => {
27
23
  afterAll: (store, artificer) => {
28
24
  return;
29
25
  },
30
- });
26
+ };
31
27
  };
@@ -0,0 +1,5 @@
1
+ import Testeranto from "../../../Node.js";
2
+ import { testInterface } from "./static.js";
3
+ export default (testImplementations, testSpecifications, testInput) => {
4
+ return Testeranto(testInput, testSpecifications, testImplementations, testInterface);
5
+ };
@@ -0,0 +1,5 @@
1
+ import Testeranto from "../../../Pure.js";
2
+ import { testInterface } from "./static.js";
3
+ export default (testImplementations, testSpecifications, testInput) => {
4
+ return Testeranto(testInput, testSpecifications, testImplementations, testInterface);
5
+ };
@@ -0,0 +1,53 @@
1
+ import { createElement, useEffect, useRef } from "react";
2
+ import React from "react";
3
+ import ReactDom from "react-dom/client";
4
+ const TesterantoComponent = ({ done, innerComp, }) => {
5
+ const myContainer = useRef(null);
6
+ useEffect(() => {
7
+ done(myContainer.current);
8
+ }, []);
9
+ return React.createElement("div", { ref: myContainer }, innerComp());
10
+ };
11
+ export const testInterface = {
12
+ beforeAll: async (reactElement, itr) => {
13
+ return await new Promise((resolve, rej) => {
14
+ const htmlElement = document.getElementById("root");
15
+ if (htmlElement) {
16
+ const domRoot = ReactDom.createRoot(htmlElement);
17
+ domRoot.render(createElement(TesterantoComponent, {
18
+ // ...initialProps,
19
+ innerComp: reactElement,
20
+ done: (reactElement) => {
21
+ resolve({
22
+ htmlElement,
23
+ reactElement,
24
+ domRoot,
25
+ });
26
+ },
27
+ }, []));
28
+ // resolve({ htmlElement });
29
+ }
30
+ });
31
+ },
32
+ beforeEach: async (subject) => {
33
+ return subject;
34
+ },
35
+ andWhen: async function (s, whenCB, tr, utils) {
36
+ return whenCB(s, utils);
37
+ },
38
+ butThen: async function (s, thenCB, tr, utils) {
39
+ return new Promise((resolve, rej) => {
40
+ resolve(thenCB(s, utils));
41
+ });
42
+ },
43
+ afterEach: async function (store, ndx, artificer) {
44
+ return new Promise((resolve, rej) => {
45
+ resolve({});
46
+ });
47
+ },
48
+ afterAll: (store, artificer) => {
49
+ return new Promise((resolve, rej) => {
50
+ resolve({});
51
+ });
52
+ },
53
+ };
@@ -0,0 +1,11 @@
1
+ import Testeranto from "../../../Web.js";
2
+ import { testInterfacer } from "./dynamic.js";
3
+ export default (testImplementations, testSpecifications, testInput) => {
4
+ const t = Testeranto(testInput, testSpecifications, testImplementations, testInterfacer(testInput));
5
+ document.addEventListener("DOMContentLoaded", function () {
6
+ const rootElement = document.getElementById("root");
7
+ if (rootElement) {
8
+ }
9
+ });
10
+ return t;
11
+ };
@@ -0,0 +1,14 @@
1
+ export {};
2
+ // export type ISuper<T> = T extends infer U ? U : object;
3
+ // export type InitialState = unknown;
4
+ // export type IWhenShape = any;
5
+ // export type IThenShape = any;
6
+ // export type ISelection = renderer.ReactTestRenderer;
7
+ // export type IStore = renderer.ReactTestRenderer;
8
+ // export type ISubject = renderer.ReactTestRenderer;
9
+ // export type IImpl<I extends IT, O extends OT, M> = ITestImplementation<I, O>;
10
+ // export type ITestSpecification<
11
+ // I extends IT,
12
+ // O extends OT,
13
+ // M
14
+ // > = ITestSpecification<I, O>;
@@ -0,0 +1,3 @@
1
+ import Testeranto from "../../../Pure.js";
2
+ import { testInterface } from "./interface";
3
+ export default (testImplementations, testSpecifications, testInput) => Testeranto(testInput, testSpecifications, testImplementations, testInterface);
@@ -0,0 +1,54 @@
1
+ // import { ITestImplementation } from "testeranto/src/Types";
2
+ // import { I } from "testeranto/src/SubPackages/react-test-renderer/component";
3
+ import { assert } from "chai";
4
+ export const testImplementation = {
5
+ suites: {
6
+ Default: "default",
7
+ },
8
+ givens: {
9
+ AnEmptyState: () => {
10
+ return { foo: "bar" };
11
+ },
12
+ },
13
+ whens: {
14
+ IClickTheButton: () => async (component) => {
15
+ const button = component.root.findByType("button");
16
+ button.props.onClick();
17
+ return component;
18
+ },
19
+ IClickTheHeader: () => async (component) => {
20
+ try {
21
+ const header = component.root.findByType("h1");
22
+ header.props.onClick();
23
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
24
+ }
25
+ catch (error) {
26
+ // Expected error - header click fails
27
+ }
28
+ return component;
29
+ },
30
+ },
31
+ thens: {
32
+ ThePropsIs: (expectation) => (component) => {
33
+ const propsElement = component.root.findByProps({ id: "theProps" });
34
+ return assert.deepEqual(JSON.parse(propsElement.props.children), expectation);
35
+ },
36
+ TheStatusIs: (expectation) => (component) => {
37
+ try {
38
+ const statElement = component.root.findByProps({ id: "theStat" });
39
+ const actual = JSON.parse(statElement.props.children);
40
+ assert.deepEqual(actual, expectation, "the status was not as expected");
41
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
42
+ }
43
+ catch (error) {
44
+ assert.fail(`Element with id "theStat" not found`);
45
+ }
46
+ return component;
47
+ },
48
+ },
49
+ checks: {
50
+ AnEmptyState: () => {
51
+ return { foo: "bar" };
52
+ },
53
+ },
54
+ };
@@ -0,0 +1,5 @@
1
+ import test from "../node";
2
+ import component from "../../../../examples/react/component/index";
3
+ import { specification } from "../../../../examples/react/component/test";
4
+ import { testImplementation } from "./implementation";
5
+ export default test(testImplementation, specification, component);
@@ -0,0 +1,5 @@
1
+ import test from "../pure";
2
+ import component from "../../../../examples/react/component/index";
3
+ import { specification } from "../../../../examples/react/component/test";
4
+ import { testImplementation } from "./implementation";
5
+ export default test(testImplementation, specification, component);
@@ -0,0 +1,5 @@
1
+ import test from "../web";
2
+ import component from "../../../../examples/react/component/index";
3
+ import { specification } from "../../../../examples/react/component/test";
4
+ import { testImplementation } from "./implementation";
5
+ export default test(testImplementation, specification, component);
@@ -0,0 +1,5 @@
1
+ import test from "../../../Pure.js";
2
+ import { testInterface } from "./index.js";
3
+ export default (testImplementations, testSpecifications, testInput, testInterface2 = testInterface) => {
4
+ return test(testInput, testSpecifications, testImplementations, testInterface2);
5
+ };
@@ -29,7 +29,7 @@ const TestPane = ({ given }) => {
29
29
  " ",
30
30
  t.error && "!")),
31
31
  React.createElement(Nav.Link, { eventKey: `bdd-errors` }, "errors")))),
32
- React.createElement(Col, { sm: 9 },
32
+ React.createElement(Col, { sm: 6 },
33
33
  React.createElement(Tab.Content, null,
34
34
  React.createElement(Tab.Pane, { eventKey: `bdd-features` },
35
35
  React.createElement("pre", null,
@@ -43,24 +43,30 @@ const TestPane = ({ given }) => {
43
43
  React.createElement("code", null, JSON.stringify(given.error, null, 2)))))))));
44
44
  };
45
45
  const BddPage = () => {
46
- const [configs, setConfigs] = useState();
46
+ // const [configs, setConfigs] = useState<IBuiltConfig>();
47
+ // useEffect(() => {
48
+ // (async () => {
49
+ // fetch('../config.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();
47
58
  useEffect(() => {
48
59
  (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));
60
+ setBddErrors(await (await fetch(`tests.json`)).json());
55
61
  })();
56
62
  }, []);
57
- const [bddErrors, setBddErrors] = useState();
63
+ const [log, setLog] = useState();
58
64
  useEffect(() => {
59
65
  (async () => {
60
- setBddErrors(await (await fetch(`tests.json`)).json());
66
+ setLog(await (await fetch(`log.txt`)).text());
61
67
  })();
62
- }, [configs]);
63
- if (!configs || !bddErrors) {
68
+ }, []);
69
+ if (!bddErrors || !log) {
64
70
  return React.createElement("div", null, "loading...");
65
71
  }
66
72
  return React.createElement("div", null,
@@ -71,13 +77,16 @@ const BddPage = () => {
71
77
  React.createElement(Row, null,
72
78
  React.createElement(Tab.Container, { id: "root-tab-container", defaultActiveKey: "first" },
73
79
  React.createElement(Row, null,
80
+ React.createElement(Col, { sm: 3 },
81
+ React.createElement("pre", null,
82
+ React.createElement("code", null, log))),
74
83
  React.createElement(Col, { sm: 3 },
75
84
  React.createElement(Nav, { variant: "pills", className: "flex-column" }, ...bddErrors.givens.map((g) => React.createElement(Nav.Item, null,
76
85
  React.createElement(Nav.Link, { eventKey: g.key },
77
86
  g.key,
78
87
  ": Given ",
79
88
  g.name))))),
80
- React.createElement(Col, { sm: 9 },
89
+ React.createElement(Col, { sm: 6 },
81
90
  React.createElement(Tab.Content, null, ...bddErrors.givens.map((g) => React.createElement(Tab.Pane, { eventKey: g.key },
82
91
  React.createElement(TestPane, { given: g })))))))),
83
92
  React.createElement(Footer, null));
@@ -85,7 +94,10 @@ const BddPage = () => {
85
94
  document.addEventListener("DOMContentLoaded", function () {
86
95
  const elem = document.getElementById("root");
87
96
  if (elem) {
88
- ReactDom.createRoot(elem).render(React.createElement(BddPage, {}, []));
97
+ if (elem) {
98
+ const root = ReactDom.createRoot(elem);
99
+ root.render(React.createElement(BddPage, {}));
100
+ }
89
101
  }
90
102
  });
91
103
  console.log("hello BddPage!");
@@ -31,10 +31,7 @@ export class WebTesteranto extends Testeranto {
31
31
  async receiveTestResourceConfig(partialTestResource) {
32
32
  const t = partialTestResource; //JSON.parse(partialTestResource);
33
33
  const pm = new PM_Web(t);
34
- const { failed, artifacts, logPromise, features } = await this.testJobs[0].receiveTestResourceConfig(pm);
35
- return new Promise((res, rej) => {
36
- res({ features, failed });
37
- });
34
+ return await this.testJobs[0].receiveTestResourceConfig(pm);
38
35
  }
39
36
  }
40
37
  export default async (input, testSpecification, testImplementation, testInterface, testResourceRequirement = defaultTestResourceRequirement) => {
@@ -0,0 +1,185 @@
1
+ import ansiC from "ansi-colors";
2
+ import fs from "fs";
3
+ import path from "path";
4
+ import readline from "readline";
5
+ import esbuild from "esbuild";
6
+ import esbuildNodeConfiger from "./esbuildConfigs/node.js";
7
+ import esbuildWebConfiger from "./esbuildConfigs/web.js";
8
+ import esbuildImportConfiger from "./esbuildConfigs/pure.js";
9
+ import webHtmlFrame from "./web.html.js";
10
+ import { getRunnables } from "./utils.js";
11
+ readline.emitKeypressEvents(process.stdin);
12
+ if (process.stdin.isTTY)
13
+ process.stdin.setRawMode(true);
14
+ let testName = process.argv[2];
15
+ let mode = process.argv[3];
16
+ if (mode !== "once" && mode !== "dev") {
17
+ console.error(`The 4th argument should be 'dev' or 'once', not '${mode}'.`);
18
+ process.exit(-1);
19
+ }
20
+ console.log("testeranto is building", testName, mode);
21
+ import(process.cwd() + "/" + "testeranto.config.ts").then(async (module) => {
22
+ const bigConfig = module.default;
23
+ const project = bigConfig.projects[testName];
24
+ if (!project) {
25
+ console.error("no project found for", testName, "in testeranto.config.ts");
26
+ process.exit(-1);
27
+ }
28
+ const rawConfig = bigConfig.projects[testName];
29
+ const getSecondaryEndpointsPoints = (runtime) => {
30
+ const meta = (ts, st) => {
31
+ ts.forEach((t) => {
32
+ if (t[1] === runtime) {
33
+ st.add(t[0]);
34
+ }
35
+ if (Array.isArray(t[3])) {
36
+ meta(t[3], st);
37
+ }
38
+ });
39
+ return st;
40
+ };
41
+ return Array.from(meta(config.tests, new Set()));
42
+ };
43
+ const config = Object.assign(Object.assign({}, rawConfig), { buildDir: process.cwd() + "/testeranto/bundles/" + testName });
44
+ console.log(`Press 'q' to shutdown gracefully. Press 'x' to shutdown forcefully.`);
45
+ process.stdin.on("keypress", (str, key) => {
46
+ if (key.name === "q") {
47
+ console.log("Testeranto-Build is shutting down...");
48
+ mode = "once";
49
+ onDone();
50
+ }
51
+ else if (key.name === "x") {
52
+ console.log("Testeranto-Build is shutting down forcefully...");
53
+ process.exit(-1);
54
+ }
55
+ else {
56
+ console.log(`Press 'q' to shutdown gracefully. Press 'x' to shutdown forcefully.`);
57
+ }
58
+ });
59
+ let nodeDone = false;
60
+ let webDone = false;
61
+ let importDone = false;
62
+ let status = "build";
63
+ const { nodeEntryPoints, webEntryPoints, importEntryPoints } = getRunnables(config.tests, testName);
64
+ const onNodeDone = () => {
65
+ nodeDone = true;
66
+ onDone();
67
+ };
68
+ const onWebDone = () => {
69
+ webDone = true;
70
+ onDone();
71
+ };
72
+ const onImportDone = () => {
73
+ importDone = true;
74
+ onDone();
75
+ };
76
+ const onDone = async () => {
77
+ if (nodeDone && webDone && importDone) {
78
+ status = "built";
79
+ }
80
+ if (nodeDone && webDone && importDone && mode === "once") {
81
+ console.log(ansiC.inverse(`${testName} has been built. Goodbye.`));
82
+ process.exit();
83
+ }
84
+ };
85
+ if (!fs.existsSync(`testeranto/reports/${testName}`)) {
86
+ fs.mkdirSync(`testeranto/reports/${testName}`);
87
+ }
88
+ fs.writeFileSync(`${process.cwd()}/testeranto/reports/${testName}/index.html`, `
89
+ <!DOCTYPE html>
90
+ <html lang="en">
91
+
92
+ <head>
93
+ <meta name="description" content="Webpage description goes here" />
94
+ <meta charset="utf-8" />
95
+ <title>kokomoBay - testeranto</title>
96
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
97
+ <meta name="author" content="" />
98
+
99
+ <link rel="stylesheet" href="/kokomoBay/testeranto/ReportClient.css" />
100
+ <script type="module" src="/kokomoBay/testeranto/ReportClient.js"></script>
101
+
102
+ </head>
103
+
104
+ <body>
105
+ <div id="root">
106
+ react is loading
107
+ </div>
108
+ </body>
109
+
110
+ </html>
111
+ `);
112
+ fs.writeFileSync(`testeranto/reports/${testName}/config.json`, JSON.stringify(config, null, 2));
113
+ fs.writeFileSync(`${process.cwd()}/testeranto/index.html`, `
114
+ <!DOCTYPE html>
115
+ <html lang="en">
116
+
117
+ <head>
118
+ <meta name="description" content="Webpage description goes here" />
119
+ <meta charset="utf-8" />
120
+ <title>kokomoBay - testeranto</title>
121
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
122
+ <meta name="author" content="" />
123
+
124
+ <script type="application/json" id="bigConfig">
125
+ ${JSON.stringify(Object.keys(bigConfig.projects))}
126
+ </script>
127
+
128
+ <link rel="stylesheet" href="/kokomoBay/testeranto/Project.css" />
129
+ <script type="module" src="/kokomoBay/testeranto/Project.js"></script>
130
+
131
+ </head>
132
+
133
+ <body>
134
+ <div id="root">
135
+ react is loading
136
+ </div>
137
+ </body>
138
+
139
+ </html>
140
+ `);
141
+ Promise.resolve(Promise.all([...getSecondaryEndpointsPoints("web")].map(async (sourceFilePath) => {
142
+ const sourceFileSplit = sourceFilePath.split("/");
143
+ const sourceDir = sourceFileSplit.slice(0, -1);
144
+ const sourceFileName = sourceFileSplit[sourceFileSplit.length - 1];
145
+ const sourceFileNameMinusJs = sourceFileName
146
+ .split(".")
147
+ .slice(0, -1)
148
+ .join(".");
149
+ const htmlFilePath = path.normalize(`${process.cwd()}/testeranto/bundles/web/${testName}/${sourceDir.join("/")}/${sourceFileNameMinusJs}.html`);
150
+ const jsfilePath = `./${sourceFileNameMinusJs}.mjs`;
151
+ return fs.promises
152
+ .mkdir(path.dirname(htmlFilePath), { recursive: true })
153
+ .then((x) => fs.writeFileSync(htmlFilePath, webHtmlFrame(jsfilePath, htmlFilePath)));
154
+ })));
155
+ // glob(`${process.cwd()}/testeranto/bundles/${testName}/chunk-*.mjs`, {
156
+ // ignore: "node_modules/**",
157
+ // }).then((chunks) => {
158
+ // chunks.forEach((chunk) => {
159
+ // fs.unlinkSync(chunk);
160
+ // });
161
+ // });
162
+ await Promise.all([
163
+ ...[
164
+ [esbuildImportConfiger, importEntryPoints, onImportDone],
165
+ [esbuildNodeConfiger, nodeEntryPoints, onNodeDone],
166
+ [esbuildWebConfiger, webEntryPoints, onWebDone],
167
+ ].map(([configer, entryPoints, done]) => {
168
+ esbuild
169
+ .context(configer(config, Object.keys(entryPoints), testName))
170
+ .then(async (ctx) => {
171
+ if (mode === "dev") {
172
+ await ctx.watch().then((v) => {
173
+ done();
174
+ });
175
+ }
176
+ else {
177
+ ctx.rebuild().then((v) => {
178
+ done();
179
+ });
180
+ }
181
+ return ctx;
182
+ });
183
+ }),
184
+ ]);
185
+ });
@@ -1,16 +1,14 @@
1
1
  const config = {
2
2
  src: "src",
3
- outdir: "docs",
4
3
  tests: [],
5
4
  debugger: true,
6
5
  clearScreen: false,
7
- devMode: true,
8
6
  minify: false,
9
- outbase: ".",
10
7
  ports: ["3001"],
11
8
  externals: [],
12
9
  nodePlugins: [],
13
10
  webPlugins: [],
11
+ importPlugins: [],
14
12
  featureIngestor: function (s) {
15
13
  throw new Error("Function not implemented.");
16
14
  },
@@ -5,7 +5,7 @@ export default (config) => {
5
5
  format: "esm",
6
6
  splitting: true,
7
7
  outExtension: { ".js": ".mjs" },
8
- outbase: config.outbase,
8
+ outbase: ".",
9
9
  jsx: "transform",
10
10
  bundle: true,
11
11
  minify: config.minify === true,
@@ -6,15 +6,19 @@ const register = (entrypoint, sources) => {
6
6
  }
7
7
  sources.forEach((s) => otherInputs[entrypoint].add(s));
8
8
  };
9
- export default (platform, entryPoints) => {
9
+ export default (platform, testName) => {
10
+ const d = `testeranto/bundles/${platform}/${testName}/`;
11
+ const f = `testeranto/bundles/${platform}/${testName}/metafile.json`;
12
+ if (!fs.existsSync(d)) {
13
+ fs.mkdirSync(d);
14
+ }
10
15
  return {
11
16
  register,
12
17
  inputFilesPluginFactory: {
13
18
  name: "metafileWriter",
14
19
  setup(build) {
15
20
  build.onEnd((result) => {
16
- // console.log("build.onEnd", entryPoints);
17
- fs.writeFileSync(`docs/${platform}/metafile.json`, JSON.stringify(result, null, 2));
21
+ fs.writeFileSync(f, JSON.stringify(result, null, 2));
18
22
  });
19
23
  },
20
24
  },
@@ -1,9 +1,9 @@
1
1
  import baseEsBuildConfig from "./index.js";
2
2
  import inputFilesPlugin from "./inputFilesPlugin.js";
3
3
  import featuresPlugin from "./featuresPlugin";
4
- export default (config, entryPoints) => {
5
- const { inputFilesPluginFactory, register } = inputFilesPlugin("node", entryPoints);
6
- return Object.assign(Object.assign({}, baseEsBuildConfig(config)), { splitting: true, outdir: config.outdir + "/node",
4
+ export default (config, entryPoints, testName) => {
5
+ const { inputFilesPluginFactory, register } = inputFilesPlugin("node", testName);
6
+ return Object.assign(Object.assign({}, baseEsBuildConfig(config)), { splitting: true, outdir: `testeranto/bundles/node/${testName}/`,
7
7
  // inject: [`./node_modules/testeranto/dist/cjs-shim.js`],
8
8
  metafile: true, supported: {
9
9
  "dynamic-import": true,
@@ -16,7 +16,10 @@ export default (config, entryPoints) => {
16
16
  inputFilesPluginFactory,
17
17
  {
18
18
  name: "rebuild-notify",
19
- setup(build) {
19
+ setup: (build) => {
20
+ build.onStart(() => {
21
+ console.log(`> node build starting...`);
22
+ });
20
23
  build.onEnd((result) => {
21
24
  console.log(`> node build ended with ${result.errors.length} errors`);
22
25
  if (result.errors.length > 0) {
@@ -0,0 +1,36 @@
1
+ import baseEsBuildConfig from "./index.js";
2
+ import inputFilesPlugin from "./inputFilesPlugin.js";
3
+ import featuresPlugin from "./featuresPlugin.js";
4
+ export default (config, entryPoints, testName) => {
5
+ const { inputFilesPluginFactory, register } = inputFilesPlugin("pure", testName);
6
+ return Object.assign(Object.assign({}, baseEsBuildConfig(config)), { drop: ["console", "debugger"], splitting: true, outdir: `testeranto/bundles/pure/${testName}/`,
7
+ // inject: [`./node_modules/testeranto/dist/cjs-shim.js`],
8
+ metafile: true, supported: {
9
+ "dynamic-import": true,
10
+ }, define: {
11
+ "process.env.FLUENTFFMPEG_COV": "0",
12
+ }, absWorkingDir: process.cwd(), banner: {
13
+ js: `import { createRequire } from 'module';const require = createRequire(import.meta.url);`,
14
+ }, platform: "node", external: ["react", ...config.externals], entryPoints: [...entryPoints], plugins: [
15
+ featuresPlugin,
16
+ inputFilesPluginFactory,
17
+ {
18
+ name: "rebuild-notify",
19
+ setup: (build) => {
20
+ build.onStart(() => {
21
+ console.log(`> pure build starting...`);
22
+ });
23
+ build.onEnd((result) => {
24
+ console.log(`> pure build ended with ${result.errors.length} errors`);
25
+ if (result.errors.length > 0) {
26
+ console.log(result);
27
+ }
28
+ // console.log(result);
29
+ // result.errors.length !== 0 && process.exit(-1);
30
+ });
31
+ },
32
+ },
33
+ ...((config.nodePlugins || []).map((p) => p(register, entryPoints)) ||
34
+ []),
35
+ ] });
36
+ };