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
@@ -24532,7 +24532,7 @@
24532
24532
  const [configs, setConfigs] = (0, import_react3.useState)();
24533
24533
  (0, import_react3.useEffect)(() => {
24534
24534
  (async () => {
24535
- fetch("/kokomoBay/docs/testeranto.json").then((response) => response.json()).then((json) => {
24535
+ fetch(`/kokomoBay/testeranto/reports/${window.location.pathname.split("/").pop()}/config.json`).then((response) => response.json()).then((json) => {
24536
24536
  setConfigs(json);
24537
24537
  }).catch((error) => console.error(error));
24538
24538
  })();
@@ -27365,36 +27365,37 @@
27365
27365
  return /* @__PURE__ */ import_react33.default.createElement("div", null, /* @__PURE__ */ import_react33.default.createElement("pre", null, /* @__PURE__ */ import_react33.default.createElement("code", null, JSON.stringify(step, null, 2))));
27366
27366
  };
27367
27367
  var TestPane = ({ given }) => {
27368
- return /* @__PURE__ */ import_react33.default.createElement("div", null, " ", /* @__PURE__ */ import_react33.default.createElement(Tab_default.Container, { id: "TestPane-tabs", defaultActiveKey: "first" }, /* @__PURE__ */ import_react33.default.createElement(Row_default, null, /* @__PURE__ */ import_react33.default.createElement(Col_default, { sm: 3 }, /* @__PURE__ */ import_react33.default.createElement(Nav_default2, { variant: "pills", className: "flex-column" }, /* @__PURE__ */ import_react33.default.createElement(Nav_default2.Item, null, /* @__PURE__ */ import_react33.default.createElement(Nav_default2.Link, { eventKey: `bdd-features` }, "features"), ...given.whens.map((w, ndx) => /* @__PURE__ */ import_react33.default.createElement(Nav_default2.Link, { eventKey: `bdd-when-${ndx}` }, "When ", w.name, " ", w.error && "!")), ...given.thens.map((t, ndx) => /* @__PURE__ */ import_react33.default.createElement(Nav_default2.Link, { eventKey: `bdd-then-${ndx}` }, "Then ", t.name, " ", t.error && "!")), /* @__PURE__ */ import_react33.default.createElement(Nav_default2.Link, { eventKey: `bdd-errors` }, "errors")))), /* @__PURE__ */ import_react33.default.createElement(Col_default, { sm: 9 }, /* @__PURE__ */ import_react33.default.createElement(Tab_default.Content, null, /* @__PURE__ */ import_react33.default.createElement(Tab_default.Pane, { eventKey: `bdd-features` }, /* @__PURE__ */ import_react33.default.createElement("pre", null, /* @__PURE__ */ import_react33.default.createElement("code", null, JSON.stringify(given.features, null, 2)))), ...given.whens.map((w, ndx) => /* @__PURE__ */ import_react33.default.createElement(Tab_default.Pane, { eventKey: `bdd-when-${ndx}` }, /* @__PURE__ */ import_react33.default.createElement(StepPane, { step: w }))), ...given.thens.map((t, ndx) => /* @__PURE__ */ import_react33.default.createElement(Tab_default.Pane, { eventKey: `bdd-then-${ndx}` }, /* @__PURE__ */ import_react33.default.createElement(StepPane, { step: t }))), /* @__PURE__ */ import_react33.default.createElement(Tab_default.Pane, { eventKey: `bdd-errors` }, /* @__PURE__ */ import_react33.default.createElement("pre", null, /* @__PURE__ */ import_react33.default.createElement("code", null, JSON.stringify(given.error, null, 2)))))))));
27368
+ return /* @__PURE__ */ import_react33.default.createElement("div", null, " ", /* @__PURE__ */ import_react33.default.createElement(Tab_default.Container, { id: "TestPane-tabs", defaultActiveKey: "first" }, /* @__PURE__ */ import_react33.default.createElement(Row_default, null, /* @__PURE__ */ import_react33.default.createElement(Col_default, { sm: 3 }, /* @__PURE__ */ import_react33.default.createElement(Nav_default2, { variant: "pills", className: "flex-column" }, /* @__PURE__ */ import_react33.default.createElement(Nav_default2.Item, null, /* @__PURE__ */ import_react33.default.createElement(Nav_default2.Link, { eventKey: `bdd-features` }, "features"), ...given.whens.map((w, ndx) => /* @__PURE__ */ import_react33.default.createElement(Nav_default2.Link, { eventKey: `bdd-when-${ndx}` }, "When ", w.name, " ", w.error && "!")), ...given.thens.map((t, ndx) => /* @__PURE__ */ import_react33.default.createElement(Nav_default2.Link, { eventKey: `bdd-then-${ndx}` }, "Then ", t.name, " ", t.error && "!")), /* @__PURE__ */ import_react33.default.createElement(Nav_default2.Link, { eventKey: `bdd-errors` }, "errors")))), /* @__PURE__ */ import_react33.default.createElement(Col_default, { sm: 6 }, /* @__PURE__ */ import_react33.default.createElement(Tab_default.Content, null, /* @__PURE__ */ import_react33.default.createElement(Tab_default.Pane, { eventKey: `bdd-features` }, /* @__PURE__ */ import_react33.default.createElement("pre", null, /* @__PURE__ */ import_react33.default.createElement("code", null, JSON.stringify(given.features, null, 2)))), ...given.whens.map((w, ndx) => /* @__PURE__ */ import_react33.default.createElement(Tab_default.Pane, { eventKey: `bdd-when-${ndx}` }, /* @__PURE__ */ import_react33.default.createElement(StepPane, { step: w }))), ...given.thens.map((t, ndx) => /* @__PURE__ */ import_react33.default.createElement(Tab_default.Pane, { eventKey: `bdd-then-${ndx}` }, /* @__PURE__ */ import_react33.default.createElement(StepPane, { step: t }))), /* @__PURE__ */ import_react33.default.createElement(Tab_default.Pane, { eventKey: `bdd-errors` }, /* @__PURE__ */ import_react33.default.createElement("pre", null, /* @__PURE__ */ import_react33.default.createElement("code", null, JSON.stringify(given.error, null, 2)))))))));
27369
27369
  };
27370
27370
  var BddPage = () => {
27371
- const [configs, setConfigs] = (0, import_react33.useState)();
27371
+ const [bddErrors, setBddErrors] = (0, import_react33.useState)();
27372
27372
  (0, import_react33.useEffect)(() => {
27373
27373
  (async () => {
27374
- fetch("/kokomoBay/docs/testeranto.json").then((response) => response.json()).then((json) => {
27375
- setConfigs(json);
27376
- }).catch((error) => console.error(error));
27374
+ setBddErrors(await (await fetch(`tests.json`)).json());
27377
27375
  })();
27378
27376
  }, []);
27379
- const [bddErrors, setBddErrors] = (0, import_react33.useState)();
27377
+ const [log, setLog] = (0, import_react33.useState)();
27380
27378
  (0, import_react33.useEffect)(() => {
27381
27379
  (async () => {
27382
- setBddErrors(await (await fetch(`tests.json`)).json());
27380
+ setLog(await (await fetch(`log.txt`)).text());
27383
27381
  })();
27384
- }, [configs]);
27385
- if (!configs || !bddErrors) {
27382
+ }, []);
27383
+ if (!bddErrors || !log) {
27386
27384
  return /* @__PURE__ */ import_react33.default.createElement("div", null, "loading...");
27387
27385
  }
27388
- return /* @__PURE__ */ import_react33.default.createElement("div", null, " ", /* @__PURE__ */ import_react33.default.createElement(Row_default, null, /* @__PURE__ */ import_react33.default.createElement(Col_default, { sm: 12 }, /* @__PURE__ */ import_react33.default.createElement("h2", null, bddErrors.name))), /* @__PURE__ */ import_react33.default.createElement(Row_default, null, /* @__PURE__ */ import_react33.default.createElement(Tab_default.Container, { id: "root-tab-container", defaultActiveKey: "first" }, /* @__PURE__ */ import_react33.default.createElement(Row_default, null, /* @__PURE__ */ import_react33.default.createElement(Col_default, { sm: 3 }, /* @__PURE__ */ import_react33.default.createElement(Nav_default2, { variant: "pills", className: "flex-column" }, ...bddErrors.givens.map(
27386
+ return /* @__PURE__ */ import_react33.default.createElement("div", null, " ", /* @__PURE__ */ import_react33.default.createElement(Row_default, null, /* @__PURE__ */ import_react33.default.createElement(Col_default, { sm: 12 }, /* @__PURE__ */ import_react33.default.createElement("h2", null, bddErrors.name))), /* @__PURE__ */ import_react33.default.createElement(Row_default, null, /* @__PURE__ */ import_react33.default.createElement(Tab_default.Container, { id: "root-tab-container", defaultActiveKey: "first" }, /* @__PURE__ */ import_react33.default.createElement(Row_default, null, /* @__PURE__ */ import_react33.default.createElement(Col_default, { sm: 3 }, /* @__PURE__ */ import_react33.default.createElement("pre", null, /* @__PURE__ */ import_react33.default.createElement("code", null, log))), /* @__PURE__ */ import_react33.default.createElement(Col_default, { sm: 3 }, /* @__PURE__ */ import_react33.default.createElement(Nav_default2, { variant: "pills", className: "flex-column" }, ...bddErrors.givens.map(
27389
27387
  (g) => /* @__PURE__ */ import_react33.default.createElement(Nav_default2.Item, null, /* @__PURE__ */ import_react33.default.createElement(Nav_default2.Link, { eventKey: g.key }, g.key, ": Given ", g.name))
27390
- ))), /* @__PURE__ */ import_react33.default.createElement(Col_default, { sm: 9 }, /* @__PURE__ */ import_react33.default.createElement(Tab_default.Content, null, ...bddErrors.givens.map(
27388
+ ))), /* @__PURE__ */ import_react33.default.createElement(Col_default, { sm: 6 }, /* @__PURE__ */ import_react33.default.createElement(Tab_default.Content, null, ...bddErrors.givens.map(
27391
27389
  (g) => /* @__PURE__ */ import_react33.default.createElement(Tab_default.Pane, { eventKey: g.key }, /* @__PURE__ */ import_react33.default.createElement(TestPane, { given: g }))
27392
27390
  )))))), /* @__PURE__ */ import_react33.default.createElement(Footer, null));
27393
27391
  };
27394
27392
  document.addEventListener("DOMContentLoaded", function() {
27395
27393
  const elem = document.getElementById("root");
27396
27394
  if (elem) {
27397
- import_client.default.createRoot(elem).render(import_react33.default.createElement(BddPage, {}, []));
27395
+ if (elem) {
27396
+ const root = import_client.default.createRoot(elem);
27397
+ root.render(import_react33.default.createElement(BddPage, {}));
27398
+ }
27398
27399
  }
27399
27400
  });
27400
27401
  console.log("hello BddPage!");
@@ -1,10 +1,10 @@
1
1
  import { createRequire } from 'module';const require = createRequire(import.meta.url);
2
2
 
3
3
  // src/build.ts
4
+ import ansiC from "ansi-colors";
4
5
  import fs2 from "fs";
5
- import path3 from "path";
6
+ import path4 from "path";
6
7
  import readline from "readline";
7
- import { glob } from "glob";
8
8
  import esbuild from "esbuild";
9
9
 
10
10
  // src/esbuildConfigs/index.ts
@@ -15,7 +15,7 @@ var esbuildConfigs_default = (config) => {
15
15
  format: "esm",
16
16
  splitting: true,
17
17
  outExtension: { ".js": ".mjs" },
18
- outbase: config.outbase,
18
+ outbase: ".",
19
19
  jsx: "transform",
20
20
  bundle: true,
21
21
  minify: config.minify === true,
@@ -37,17 +37,19 @@ var register = (entrypoint, sources) => {
37
37
  }
38
38
  sources.forEach((s) => otherInputs[entrypoint].add(s));
39
39
  };
40
- var inputFilesPlugin_default = (platform, entryPoints) => {
40
+ var inputFilesPlugin_default = (platform, testName2) => {
41
+ const d = `testeranto/bundles/${platform}/${testName2}/`;
42
+ const f = `testeranto/bundles/${platform}/${testName2}/metafile.json`;
43
+ if (!fs.existsSync(d)) {
44
+ fs.mkdirSync(d);
45
+ }
41
46
  return {
42
47
  register,
43
48
  inputFilesPluginFactory: {
44
49
  name: "metafileWriter",
45
50
  setup(build) {
46
51
  build.onEnd((result) => {
47
- fs.writeFileSync(
48
- `docs/${platform}/metafile.json`,
49
- JSON.stringify(result, null, 2)
50
- );
52
+ fs.writeFileSync(f, JSON.stringify(result, null, 2));
51
53
  });
52
54
  }
53
55
  }
@@ -88,15 +90,15 @@ var featuresPlugin_default = {
88
90
  };
89
91
 
90
92
  // src/esbuildConfigs/node.ts
91
- var node_default = (config, entryPoints) => {
93
+ var node_default = (config, entryPoints, testName2) => {
92
94
  const { inputFilesPluginFactory, register: register2 } = inputFilesPlugin_default(
93
95
  "node",
94
- entryPoints
96
+ testName2
95
97
  );
96
98
  return {
97
99
  ...esbuildConfigs_default(config),
98
100
  splitting: true,
99
- outdir: config.outdir + "/node",
101
+ outdir: `testeranto/bundles/node/${testName2}/`,
100
102
  // inject: [`./node_modules/testeranto/dist/cjs-shim.js`],
101
103
  metafile: true,
102
104
  supported: {
@@ -117,7 +119,10 @@ var node_default = (config, entryPoints) => {
117
119
  inputFilesPluginFactory,
118
120
  {
119
121
  name: "rebuild-notify",
120
- setup(build) {
122
+ setup: (build) => {
123
+ build.onStart(() => {
124
+ console.log(`> node build starting...`);
125
+ });
121
126
  build.onEnd((result) => {
122
127
  console.log(
123
128
  `> node build ended with ${result.errors.length} errors`
@@ -135,14 +140,14 @@ var node_default = (config, entryPoints) => {
135
140
 
136
141
  // src/esbuildConfigs/web.ts
137
142
  import path2 from "path";
138
- var web_default = (config, entryPoints) => {
143
+ var web_default = (config, entryPoints, testName2) => {
139
144
  const { inputFilesPluginFactory, register: register2 } = inputFilesPlugin_default(
140
145
  "web",
141
- entryPoints
146
+ testName2
142
147
  );
143
148
  return {
144
149
  ...esbuildConfigs_default(config),
145
- outdir: config.outdir + "/web",
150
+ outdir: `testeranto/bundles/web/${testName2}`,
146
151
  alias: {
147
152
  react: path2.resolve("./node_modules/react")
148
153
  },
@@ -173,7 +178,10 @@ var web_default = (config, entryPoints) => {
173
178
  inputFilesPluginFactory,
174
179
  {
175
180
  name: "rebuild-notify",
176
- setup(build) {
181
+ setup: (build) => {
182
+ build.onStart(() => {
183
+ console.log(`> web build starting...`);
184
+ });
177
185
  build.onEnd((result) => {
178
186
  console.log(
179
187
  `> web build ended with ${result.errors.length} errors`
@@ -184,7 +192,57 @@ var web_default = (config, entryPoints) => {
184
192
  });
185
193
  }
186
194
  },
187
- ...config.nodePlugins.map((p) => p(register2, entryPoints)) || []
195
+ ...(config.webPlugins || []).map((p) => p(register2, entryPoints)) || []
196
+ ]
197
+ };
198
+ };
199
+
200
+ // src/esbuildConfigs/pure.ts
201
+ var pure_default = (config, entryPoints, testName2) => {
202
+ const { inputFilesPluginFactory, register: register2 } = inputFilesPlugin_default(
203
+ "pure",
204
+ testName2
205
+ );
206
+ return {
207
+ ...esbuildConfigs_default(config),
208
+ drop: ["console", "debugger"],
209
+ splitting: true,
210
+ outdir: `testeranto/bundles/pure/${testName2}/`,
211
+ // inject: [`./node_modules/testeranto/dist/cjs-shim.js`],
212
+ metafile: true,
213
+ supported: {
214
+ "dynamic-import": true
215
+ },
216
+ define: {
217
+ "process.env.FLUENTFFMPEG_COV": "0"
218
+ },
219
+ absWorkingDir: process.cwd(),
220
+ banner: {
221
+ js: `import { createRequire } from 'module';const require = createRequire(import.meta.url);`
222
+ },
223
+ platform: "node",
224
+ external: ["react", ...config.externals],
225
+ entryPoints: [...entryPoints],
226
+ plugins: [
227
+ featuresPlugin_default,
228
+ inputFilesPluginFactory,
229
+ {
230
+ name: "rebuild-notify",
231
+ setup: (build) => {
232
+ build.onStart(() => {
233
+ console.log(`> pure build starting...`);
234
+ });
235
+ build.onEnd((result) => {
236
+ console.log(
237
+ `> pure build ended with ${result.errors.length} errors`
238
+ );
239
+ if (result.errors.length > 0) {
240
+ console.log(result);
241
+ }
242
+ });
243
+ }
244
+ },
245
+ ...(config.nodePlugins || []).map((p) => p(register2, entryPoints)) || []
188
246
  ]
189
247
  };
190
248
  };
@@ -211,32 +269,50 @@ var web_html_default = (jsfilePath, htmlFilePath) => `
211
269
  </html>
212
270
  `;
213
271
 
214
- // src/build.ts
215
- readline.emitKeypressEvents(process.stdin);
216
- if (process.stdin.isTTY)
217
- process.stdin.setRawMode(true);
218
- var getRunnables = (tests, payload = {
272
+ // src/utils.ts
273
+ import path3 from "path";
274
+ var getRunnables = (tests, projectName, payload = {
219
275
  nodeEntryPoints: {},
220
- webEntryPoints: {}
276
+ webEntryPoints: {},
277
+ importEntryPoints: {}
221
278
  }) => {
222
279
  return tests.reduce((pt, cv, cndx, cry) => {
223
280
  if (cv[1] === "node") {
224
281
  pt.nodeEntryPoints[cv[0]] = path3.resolve(
225
- `./docs/node/${cv[0].split(".").slice(0, -1).concat("mjs").join(".")}`
282
+ `./testeranto/bundles/node/${projectName}/${cv[0].split(".").slice(0, -1).concat("mjs").join(".")}`
226
283
  );
227
284
  } else if (cv[1] === "web") {
228
285
  pt.webEntryPoints[cv[0]] = path3.resolve(
229
- `./docs/web/${cv[0].split(".").slice(0, -1).concat("mjs").join(".")}`
286
+ `./testeranto/bundles/web/${projectName}/${cv[0].split(".").slice(0, -1).concat("mjs").join(".")}`
287
+ );
288
+ } else if (cv[1] === "pure") {
289
+ pt.importEntryPoints[cv[0]] = path3.resolve(
290
+ `./testeranto/bundles/pure/${projectName}/${cv[0].split(".").slice(0, -1).concat("mjs").join(".")}`
230
291
  );
231
- }
232
- if (cv[3].length) {
233
- getRunnables(cv[3], payload);
234
292
  }
235
293
  return pt;
236
294
  }, payload);
237
295
  };
238
- import(process.cwd() + "/" + process.argv[2]).then(async (module) => {
239
- const rawConfig = module.default;
296
+
297
+ // src/build.ts
298
+ readline.emitKeypressEvents(process.stdin);
299
+ if (process.stdin.isTTY)
300
+ process.stdin.setRawMode(true);
301
+ var testName = process.argv[2];
302
+ var mode = process.argv[3];
303
+ if (mode !== "once" && mode !== "dev") {
304
+ console.error(`The 4th argument should be 'dev' or 'once', not '${mode}'.`);
305
+ process.exit(-1);
306
+ }
307
+ console.log("testeranto is building", testName, mode);
308
+ import(process.cwd() + "/testeranto.config.ts").then(async (module) => {
309
+ const bigConfig = module.default;
310
+ const project = bigConfig.projects[testName];
311
+ if (!project) {
312
+ console.error("no project found for", testName, "in testeranto.config.ts");
313
+ process.exit(-1);
314
+ }
315
+ const rawConfig = bigConfig.projects[testName];
240
316
  const getSecondaryEndpointsPoints = (runtime) => {
241
317
  const meta = (ts, st) => {
242
318
  ts.forEach((t) => {
@@ -253,13 +329,33 @@ import(process.cwd() + "/" + process.argv[2]).then(async (module) => {
253
329
  };
254
330
  const config = {
255
331
  ...rawConfig,
256
- buildDir: process.cwd() + "/" + rawConfig.outdir
332
+ buildDir: process.cwd() + "/testeranto/bundles/" + testName
257
333
  };
334
+ console.log(
335
+ `Press 'q' to shutdown gracefully. Press 'x' to shutdown forcefully.`
336
+ );
337
+ process.stdin.on("keypress", (str, key) => {
338
+ if (key.name === "q") {
339
+ console.log("Testeranto-Build is shutting down...");
340
+ mode = "once";
341
+ onDone();
342
+ } else if (key.name === "x") {
343
+ console.log("Testeranto-Build is shutting down forcefully...");
344
+ process.exit(-1);
345
+ } else {
346
+ console.log(
347
+ `Press 'q' to shutdown gracefully. Press 'x' to shutdown forcefully.`
348
+ );
349
+ }
350
+ });
258
351
  let nodeDone = false;
259
352
  let webDone = false;
260
- let mode = config.devMode ? "DEV" : "PROD";
353
+ let importDone = false;
261
354
  let status = "build";
262
- const { nodeEntryPoints, webEntryPoints } = getRunnables(config.tests);
355
+ const { nodeEntryPoints, webEntryPoints, importEntryPoints } = getRunnables(
356
+ config.tests,
357
+ testName
358
+ );
263
359
  const onNodeDone = () => {
264
360
  nodeDone = true;
265
361
  onDone();
@@ -268,56 +364,84 @@ import(process.cwd() + "/" + process.argv[2]).then(async (module) => {
268
364
  webDone = true;
269
365
  onDone();
270
366
  };
367
+ const onImportDone = () => {
368
+ importDone = true;
369
+ onDone();
370
+ };
271
371
  const onDone = async () => {
272
- if (nodeDone && webDone) {
372
+ if (nodeDone && webDone && importDone) {
273
373
  status = "built";
274
374
  }
275
- if (nodeDone && webDone && status === "built") {
276
- }
277
- if (nodeDone && webDone && mode === "PROD") {
278
- console.log("Testeranto-EsBuild is all done. Goodbye!");
375
+ if (nodeDone && webDone && importDone && mode === "once") {
376
+ console.log(ansiC.inverse(`${testName} has been built. Goodbye.`));
279
377
  process.exit();
280
- } else {
281
- if (mode === "PROD") {
282
- console.log("waiting for tests to finish");
283
- console.log(
284
- JSON.stringify(
285
- {
286
- nodeDone,
287
- webDone,
288
- mode
289
- },
290
- null,
291
- 2
292
- )
293
- );
294
- } else {
295
- console.log("waiting for tests to change");
296
- }
297
- if (config.devMode) {
298
- console.log("ready and watching for changes...");
299
- } else {
300
- }
301
378
  }
302
379
  };
303
- console.log(
304
- `Press 'q' to shutdown gracefully. Press 'x' to shutdown forcefully.`
380
+ if (!fs2.existsSync(`testeranto/reports/${testName}`)) {
381
+ fs2.mkdirSync(`testeranto/reports/${testName}`);
382
+ }
383
+ fs2.writeFileSync(
384
+ `${process.cwd()}/testeranto/reports/${testName}/index.html`,
385
+ `
386
+ <!DOCTYPE html>
387
+ <html lang="en">
388
+
389
+ <head>
390
+ <meta name="description" content="Webpage description goes here" />
391
+ <meta charset="utf-8" />
392
+ <title>kokomoBay - testeranto</title>
393
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
394
+ <meta name="author" content="" />
395
+
396
+ <link rel="stylesheet" href="/kokomoBay/testeranto/ReportClient.css" />
397
+ <script type="module" src="/kokomoBay/testeranto/ReportClient.js"></script>
398
+
399
+ </head>
400
+
401
+ <body>
402
+ <div id="root">
403
+ react is loading
404
+ </div>
405
+ </body>
406
+
407
+ </html>
408
+ `
305
409
  );
306
- process.stdin.on("keypress", (str, key) => {
307
- if (key.name === "q") {
308
- console.log("Testeranto-Build is shutting down...");
309
- mode = "PROD";
310
- onDone();
311
- }
312
- if (key.name === "x") {
313
- console.log("Testeranto-Build is shutting down forcefully...");
314
- process.exit(-1);
315
- }
316
- });
317
410
  fs2.writeFileSync(
318
- `${config.outdir}/testeranto.json`,
411
+ `testeranto/reports/${testName}/config.json`,
319
412
  JSON.stringify(config, null, 2)
320
413
  );
414
+ fs2.writeFileSync(
415
+ `${process.cwd()}/testeranto/index.html`,
416
+ `
417
+ <!DOCTYPE html>
418
+ <html lang="en">
419
+
420
+ <head>
421
+ <meta name="description" content="Webpage description goes here" />
422
+ <meta charset="utf-8" />
423
+ <title>kokomoBay - testeranto</title>
424
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
425
+ <meta name="author" content="" />
426
+
427
+ <script type="application/json" id="bigConfig">
428
+ ${JSON.stringify(Object.keys(bigConfig.projects))}
429
+ </script>
430
+
431
+ <link rel="stylesheet" href="/kokomoBay/testeranto/Project.css" />
432
+ <script type="module" src="/kokomoBay/testeranto/Project.js"></script>
433
+
434
+ </head>
435
+
436
+ <body>
437
+ <div id="root">
438
+ react is loading
439
+ </div>
440
+ </body>
441
+
442
+ </html>
443
+ `
444
+ );
321
445
  Promise.resolve(
322
446
  Promise.all(
323
447
  [...getSecondaryEndpointsPoints("web")].map(async (sourceFilePath) => {
@@ -325,13 +449,13 @@ import(process.cwd() + "/" + process.argv[2]).then(async (module) => {
325
449
  const sourceDir = sourceFileSplit.slice(0, -1);
326
450
  const sourceFileName = sourceFileSplit[sourceFileSplit.length - 1];
327
451
  const sourceFileNameMinusJs = sourceFileName.split(".").slice(0, -1).join(".");
328
- const htmlFilePath = path3.normalize(
329
- `${process.cwd()}/${config.outdir}/web/${sourceDir.join(
452
+ const htmlFilePath = path4.normalize(
453
+ `${process.cwd()}/testeranto/bundles/web/${testName}/${sourceDir.join(
330
454
  "/"
331
455
  )}/${sourceFileNameMinusJs}.html`
332
456
  );
333
457
  const jsfilePath = `./${sourceFileNameMinusJs}.mjs`;
334
- return fs2.promises.mkdir(path3.dirname(htmlFilePath), { recursive: true }).then(
458
+ return fs2.promises.mkdir(path4.dirname(htmlFilePath), { recursive: true }).then(
335
459
  (x) => fs2.writeFileSync(
336
460
  htmlFilePath,
337
461
  web_html_default(jsfilePath, htmlFilePath)
@@ -340,37 +464,24 @@ import(process.cwd() + "/" + process.argv[2]).then(async (module) => {
340
464
  })
341
465
  )
342
466
  );
343
- glob(`./${config.outdir}/chunk-*.mjs`, {
344
- ignore: "node_modules/**"
345
- }).then((chunks) => {
346
- chunks.forEach((chunk) => {
347
- fs2.unlinkSync(chunk);
348
- });
349
- });
350
467
  await Promise.all([
351
- esbuild.context(node_default(config, Object.keys(nodeEntryPoints))).then(async (nodeContext) => {
352
- if (config.devMode) {
353
- await nodeContext.watch().then((v) => {
354
- onNodeDone();
355
- });
356
- } else {
357
- nodeContext.rebuild().then((v) => {
358
- onNodeDone();
359
- });
360
- }
361
- return nodeContext;
362
- }),
363
- esbuild.context(web_default(config, Object.keys(webEntryPoints))).then(async (webContext) => {
364
- if (config.devMode) {
365
- await webContext.watch().then((v) => {
366
- onWebDone();
367
- });
368
- } else {
369
- webContext.rebuild().then((v) => {
370
- onWebDone();
371
- });
372
- }
373
- return webContext;
468
+ ...[
469
+ [pure_default, importEntryPoints, onImportDone],
470
+ [node_default, nodeEntryPoints, onNodeDone],
471
+ [web_default, webEntryPoints, onWebDone]
472
+ ].map(([configer, entryPoints, done]) => {
473
+ esbuild.context(configer(config, Object.keys(entryPoints), testName)).then(async (ctx) => {
474
+ if (mode === "dev") {
475
+ await ctx.watch().then((v) => {
476
+ done();
477
+ });
478
+ } else {
479
+ ctx.rebuild().then((v) => {
480
+ done();
481
+ });
482
+ }
483
+ return ctx;
484
+ });
374
485
  })
375
486
  ]);
376
487
  });
@@ -1,104 +1,50 @@
1
1
  import { createRequire } from 'module';const require = createRequire(import.meta.url);
2
2
 
3
- // src/init-docs.ts
4
- import fs2 from "fs";
5
-
6
3
  // src/Init.ts
7
4
  import fs from "fs";
8
- var Init_default = async (partialConfig) => {
9
- const config = {
10
- ...partialConfig,
11
- buildDir: process.cwd() + "/" + partialConfig.outdir
12
- };
13
- try {
14
- fs.mkdirSync(`${process.cwd()}/${config.outdir}`);
15
- } catch {
16
- }
17
- fs.writeFileSync(
18
- `${config.outdir}/index.html`,
19
- `
20
- <!DOCTYPE html>
21
- <html lang="en">
22
-
23
- <head>
24
- <meta name="description" content="Webpage description goes here" />
25
- <meta charset="utf-8" />
26
- <title>kokomoBay - testeranto</title>
27
- <meta name="viewport" content="width=device-width, initial-scale=1" />
28
- <meta name="author" content="" />
29
-
30
- <link rel="stylesheet" href="/kokomoBay/docs/ReportClient.css" />
31
- <script type="module" src="/kokomoBay/docs/ReportClient.js"></script>
32
-
33
- </head>
34
-
35
- <body>
36
- <div id="root">
37
- react is loading
38
- </div>
39
- </body>
40
-
41
- </html>
42
- `
5
+ var Init_default = async () => {
6
+ [
7
+ `testeranto/`,
8
+ `testeranto/bundles/`,
9
+ `testeranto/bundles/node`,
10
+ `testeranto/bundles/web`,
11
+ `testeranto/bundles/pure`,
12
+ `testeranto/reports`,
13
+ `testeranto/reports/`,
14
+ `testeranto/features/`
15
+ ].forEach((f) => {
16
+ try {
17
+ fs.mkdirSync(`${process.cwd()}/${f}`);
18
+ } catch (e) {
19
+ }
20
+ });
21
+ fs.copyFileSync(
22
+ `node_modules/testeranto/dist/prebuild/Project.js`,
23
+ `testeranto/Project.js`
43
24
  );
44
25
  fs.copyFileSync(
45
26
  `node_modules/testeranto/dist/prebuild/ReportClient.js`,
46
- `${config.outdir}/ReportClient.js`
27
+ `testeranto/ReportClient.js`
28
+ );
29
+ fs.copyFileSync(
30
+ `node_modules/testeranto/dist/prebuild/Project.css`,
31
+ `testeranto/Project.css`
47
32
  );
48
33
  fs.copyFileSync(
49
34
  `node_modules/testeranto/dist/prebuild/ReportClient.css`,
50
- `${config.outdir}/ReportClient.css`
35
+ `testeranto/ReportClient.css`
51
36
  );
52
37
  fs.copyFileSync(
53
38
  `node_modules/testeranto/dist/prebuild/TestReport.js`,
54
- `${config.outdir}/TestReport.js`
39
+ `testeranto/TestReport.js`
55
40
  );
56
41
  fs.copyFileSync(
57
42
  `node_modules/testeranto/dist/prebuild/TestReport.css`,
58
- `${config.outdir}/TestReport.css`
59
- );
60
- fs.writeFileSync(
61
- `${config.outdir}/testeranto.json`,
62
- JSON.stringify(
63
- {
64
- ...config,
65
- buildDir: process.cwd() + "/" + config.outdir
66
- },
67
- null,
68
- 2
69
- )
43
+ `testeranto/TestReport.css`
70
44
  );
71
- try {
72
- fs.mkdirSync(`${process.cwd()}/${config.outdir}/node`);
73
- } catch {
74
- }
75
- try {
76
- fs.mkdirSync(`${process.cwd()}/${config.outdir}/web`);
77
- } catch {
78
- }
79
- try {
80
- fs.mkdirSync(`${process.cwd()}/${config.outdir}/features`);
81
- } catch {
82
- }
83
- try {
84
- fs.mkdirSync(`${process.cwd()}/${config.outdir}/ts`);
85
- } catch {
86
- }
87
45
  };
88
46
 
89
47
  // src/init-docs.ts
90
48
  console.log("Initializing a testeranto project");
91
- if (!process.argv[2]) {
92
- console.log("You didn't pass a config file, so I will create one for you.");
93
- fs2.writeFileSync(
94
- "testeranto.mts",
95
- fs2.readFileSync("node_modules/testeranto/src/defaultConfig.ts")
96
- );
97
- import(process.cwd() + "/testeranto.mts").then((module) => {
98
- Init_default(module.default);
99
- });
100
- } else {
101
- import(process.cwd() + "/" + process.argv[2]).then((module) => {
102
- Init_default(module.default);
103
- });
104
- }
49
+ Init_default();
50
+ console.log("testeranto project initialized");