testeranto 0.100.0 → 0.110.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/README.md +1 -0
  2. package/bundle.js +80 -30
  3. package/dist/common/{dist/module/src/Init.js → Init.js} +28 -0
  4. package/dist/common/{src/PM → PM}/main.js +138 -95
  5. package/dist/common/ReportServer.js +22 -0
  6. package/dist/common/{src/SubPackages → SubPackages}/react/jsx/index.js +0 -12
  7. package/dist/common/{src/SubPackages → SubPackages}/react-dom/component/node.js +3 -16
  8. package/dist/common/{src/SubPackages → SubPackages}/react-dom/component/web.js +3 -3
  9. package/dist/common/{src/SubPackages → SubPackages}/react-dom/jsx/node.js +1 -1
  10. package/dist/common/{src/SubPackages → SubPackages}/react-dom/jsx/web.js +41 -30
  11. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/MemoExoticComponent/node.js +17 -7
  12. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/interface.js +17 -7
  13. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/fc/node.js +17 -7
  14. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/fc/web.js +17 -7
  15. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx/index.js +18 -14
  16. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/index.js +17 -7
  17. package/dist/common/build.js +222 -0
  18. package/dist/common/{src/defaultConfig.js → defaultConfig.js} +1 -0
  19. package/dist/common/esbuildConfigs/eslint-formatter-testeranto.js +6 -0
  20. package/dist/common/esbuildConfigs/inputFilesPlugin.js +27 -0
  21. package/dist/common/{src/esbuildConfigs → esbuildConfigs}/node.js +2 -10
  22. package/dist/common/{src/esbuildConfigs → esbuildConfigs}/web.js +2 -13
  23. package/dist/common/{src/init-docs.js → init-docs.js} +20 -10
  24. package/dist/common/{src/lib → lib}/abstractBase.js +6 -1
  25. package/dist/common/{src/lib → lib}/basebuilder.js +23 -10
  26. package/dist/common/{src/lib → lib}/classBuilder.js +1 -3
  27. package/dist/common/{src/lib → lib}/core.js +26 -10
  28. package/dist/common/{src/lib → lib}/index.js +0 -1
  29. package/dist/common/{src/lib → lib}/types.js +0 -1
  30. package/dist/common/run.js +297 -0
  31. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  32. package/dist/common/utils.js +43 -0
  33. package/dist/module/Footer.js +4 -0
  34. package/dist/module/Init.js +63 -0
  35. package/dist/module/{src/PM → PM}/main.js +119 -86
  36. package/dist/module/ReportClient.js +97 -0
  37. package/dist/module/ReportServer.js +17 -0
  38. package/dist/module/SubPackages/react/jsx/index.js +15 -0
  39. package/dist/module/{src/SubPackages → SubPackages}/react-dom/component/node.js +3 -16
  40. package/dist/module/{src/SubPackages → SubPackages}/react-dom/component/web.js +3 -3
  41. package/dist/module/{src/SubPackages → SubPackages}/react-dom/jsx/node.js +3 -3
  42. package/dist/module/{src/SubPackages → SubPackages}/react-dom/jsx/web.js +24 -23
  43. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx/index.js +1 -7
  44. package/dist/module/TestReport.js +91 -0
  45. package/dist/module/build.js +184 -0
  46. package/dist/module/{src/defaultConfig.js → defaultConfig.js} +1 -0
  47. package/dist/module/esbuildConfigs/eslint-formatter-testeranto.js +3 -0
  48. package/dist/module/esbuildConfigs/inputFilesPlugin.js +22 -0
  49. package/dist/module/{src/esbuildConfigs → esbuildConfigs}/node.js +2 -10
  50. package/dist/module/{src/esbuildConfigs → esbuildConfigs}/web.js +2 -13
  51. package/dist/module/{src/init-docs.js → init-docs.js} +1 -1
  52. package/dist/module/{src/lib → lib}/abstractBase.js +6 -1
  53. package/dist/module/{src/lib → lib}/basebuilder.js +23 -10
  54. package/dist/module/{src/lib → lib}/classBuilder.js +1 -3
  55. package/dist/module/{src/lib → lib}/core.js +26 -10
  56. package/dist/module/{src/lib → lib}/index.js +0 -1
  57. package/dist/module/run.js +259 -0
  58. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  59. package/dist/module/utils.js +29 -0
  60. package/dist/prebuild/ReportClient.css +11367 -0
  61. package/dist/prebuild/ReportClient.js +23641 -0
  62. package/dist/prebuild/ReportServer.mjs +16 -0
  63. package/dist/prebuild/TestReport.css +11367 -0
  64. package/dist/prebuild/TestReport.js +27484 -0
  65. package/dist/prebuild/build.mjs +376 -0
  66. package/dist/prebuild/esbuildConfigs/eslint-formatter-testeranto.mjs +9 -0
  67. package/dist/prebuild/init-docs.mjs +64 -8
  68. package/dist/prebuild/{cli2.mjs → run.mjs} +353 -81
  69. package/dist/tsconfig.tsbuildinfo +1 -0
  70. package/dist/types/Node.d.ts +12 -0
  71. package/dist/types/{src/PM → PM}/index.d.ts +1 -1
  72. package/dist/types/{src/PM → PM}/main.d.ts +12 -9
  73. package/dist/types/{src/PM → PM}/node.d.ts +2 -4
  74. package/dist/types/{src/PM → PM}/web.d.ts +2 -4
  75. package/dist/types/SubPackages/react/component/node.d.ts +7 -0
  76. package/dist/types/SubPackages/react/component/web.d.ts +7 -0
  77. package/dist/types/SubPackages/react/jsx/index.d.ts +12 -0
  78. package/dist/types/SubPackages/react/jsx/node.d.ts +4 -0
  79. package/dist/types/SubPackages/react/jsx/web.d.ts +4 -0
  80. package/dist/types/SubPackages/react-dom/component/node.d.ts +11 -0
  81. package/dist/types/SubPackages/react-dom/component/web.d.ts +20 -0
  82. package/dist/types/SubPackages/react-dom/jsx/index.d.ts +6 -0
  83. package/dist/types/SubPackages/react-dom/jsx/node.d.ts +7 -0
  84. package/dist/types/SubPackages/react-dom/jsx/web.d.ts +5 -0
  85. package/dist/types/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +6 -0
  86. package/dist/types/SubPackages/react-test-renderer/component/index.d.ts +13 -0
  87. package/dist/types/SubPackages/react-test-renderer/component/node.d.ts +4 -0
  88. package/dist/types/SubPackages/react-test-renderer/component/web.d.ts +4 -0
  89. package/dist/types/SubPackages/react-test-renderer/fc/node.d.ts +8 -0
  90. package/dist/types/SubPackages/react-test-renderer/fc/web.d.ts +9 -0
  91. package/dist/types/SubPackages/react-test-renderer/jsx/index.d.ts +16 -0
  92. package/dist/types/SubPackages/react-test-renderer/jsx/node.d.ts +9 -0
  93. package/dist/types/SubPackages/react-test-renderer/jsx/web.d.ts +9 -0
  94. package/dist/types/SubPackages/react-test-renderer/jsx-promised/index.d.ts +15 -0
  95. package/dist/types/SubPackages/react-test-renderer/jsx-promised/node.d.ts +5 -0
  96. package/dist/types/SubPackages/react-test-renderer/jsx-promised/web.d.ts +5 -0
  97. package/dist/types/Types.d.ts +61 -0
  98. package/dist/types/Web.d.ts +9 -0
  99. package/dist/types/defaultConfig.d.ts +3 -0
  100. package/dist/types/esbuildConfigs/eslint-formatter-testeranto.d.ts +2 -0
  101. package/dist/types/{src/esbuildConfigs → esbuildConfigs}/index.d.ts +1 -1
  102. package/dist/types/{src/esbuildConfigs → esbuildConfigs}/inputFilesPlugin.d.ts +0 -1
  103. package/dist/types/{src/esbuildConfigs → esbuildConfigs}/node.d.ts +1 -1
  104. package/dist/types/{src/esbuildConfigs → esbuildConfigs}/web.d.ts +1 -1
  105. package/dist/types/init-docs.d.ts +1 -0
  106. package/dist/types/lib/abstractBase.d.ts +110 -0
  107. package/dist/types/lib/basebuilder.d.ts +27 -0
  108. package/dist/types/lib/classBuilder.d.ts +7 -0
  109. package/dist/types/lib/core.d.ts +7 -0
  110. package/dist/types/lib/index.d.ts +83 -0
  111. package/dist/types/lib/types.d.ts +14 -0
  112. package/dist/types/run.d.ts +1 -0
  113. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  114. package/dist/types/utils.d.ts +9 -0
  115. package/package.json +40 -32
  116. package/src/Footer.tsx +4 -0
  117. package/src/Init.ts +48 -0
  118. package/src/Node.ts +23 -17
  119. package/src/PM/index.ts +1 -1
  120. package/src/PM/main.ts +143 -101
  121. package/src/PM/node.ts +2 -2
  122. package/src/PM/web.ts +1 -1
  123. package/src/ReportClient.tsx +155 -0
  124. package/src/ReportServer.ts +21 -0
  125. package/src/SubPackages/react/component/node.ts +68 -24
  126. package/src/SubPackages/react/component/web.ts +68 -25
  127. package/src/SubPackages/react/jsx/index.ts +39 -18
  128. package/src/SubPackages/react/jsx/node.ts +12 -10
  129. package/src/SubPackages/react/jsx/web.ts +27 -14
  130. package/src/SubPackages/react-dom/component/node.ts +42 -50
  131. package/src/SubPackages/react-dom/component/web.ts +28 -10
  132. package/src/SubPackages/react-dom/jsx/node.ts +54 -56
  133. package/src/SubPackages/react-dom/jsx/web.ts +55 -42
  134. package/src/SubPackages/react-test-renderer/MemoExoticComponent/node.ts +23 -7
  135. package/src/SubPackages/react-test-renderer/component/index.ts +38 -5
  136. package/src/SubPackages/react-test-renderer/component/node.ts +24 -5
  137. package/src/SubPackages/react-test-renderer/component/web.ts +22 -5
  138. package/src/SubPackages/react-test-renderer/fc/node.ts +41 -7
  139. package/src/SubPackages/react-test-renderer/fc/web.ts +43 -11
  140. package/src/SubPackages/react-test-renderer/jsx/index.ts +39 -16
  141. package/src/SubPackages/react-test-renderer/jsx/node.ts +8 -6
  142. package/src/SubPackages/react-test-renderer/jsx/web.ts +22 -5
  143. package/src/SubPackages/react-test-renderer/jsx-promised/index.ts +39 -6
  144. package/src/SubPackages/react-test-renderer/jsx-promised/node.ts +27 -10
  145. package/src/SubPackages/react-test-renderer/jsx-promised/web.ts +26 -12
  146. package/src/TestReport.tsx +176 -0
  147. package/src/Types.ts +63 -309
  148. package/src/Web.ts +24 -18
  149. package/src/build.ts +240 -0
  150. package/src/defaultConfig.ts +2 -1
  151. package/src/esbuildConfigs/eslint-formatter-testeranto.ts +5 -0
  152. package/src/esbuildConfigs/featuresPlugin.ts +0 -1
  153. package/src/esbuildConfigs/index.ts +1 -1
  154. package/src/esbuildConfigs/inputFilesPlugin.ts +2 -135
  155. package/src/esbuildConfigs/node.ts +4 -13
  156. package/src/esbuildConfigs/web.ts +3 -19
  157. package/src/init-docs.ts +2 -1
  158. package/src/lib/abstractBase.ts +82 -80
  159. package/src/lib/basebuilder.ts +57 -45
  160. package/src/lib/classBuilder.ts +15 -15
  161. package/src/lib/core.ts +44 -35
  162. package/src/lib/index.ts +47 -98
  163. package/src/lib/readme.md +12 -0
  164. package/src/lib/types.ts +53 -70
  165. package/src/run.ts +398 -0
  166. package/src/style.css +8 -0
  167. package/src/utils.ts +74 -2
  168. package/tsc.log +106 -0
  169. package/Bundle.Dockerfile +0 -52
  170. package/bin/init-docs.js +0 -24
  171. package/dist/common/src/Init.js +0 -40
  172. package/dist/common/src/SubPackages/puppeteer.js +0 -21
  173. package/dist/common/src/cli.js +0 -439
  174. package/dist/common/src/cli2.js +0 -144
  175. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +0 -99
  176. package/dist/common/src/utils.js +0 -16
  177. package/dist/common/testeranto.js +0 -15
  178. package/dist/module/src/Init.js +0 -35
  179. package/dist/module/src/SubPackages/puppeteer.js +0 -16
  180. package/dist/module/src/SubPackages/react/jsx/index.js +0 -27
  181. package/dist/module/src/cli.js +0 -411
  182. package/dist/module/src/cli2.js +0 -116
  183. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +0 -94
  184. package/dist/module/src/lib/types.js +0 -2
  185. package/dist/module/src/utils.js +0 -9
  186. package/dist/module/testeranto.js +0 -13
  187. package/dist/prebuild/cli.mjs +0 -1491
  188. package/dist/types/dist/module/src/Init.d.ts +0 -2
  189. package/dist/types/src/Node.d.ts +0 -13
  190. package/dist/types/src/SubPackages/puppeteer.d.ts +0 -6
  191. package/dist/types/src/SubPackages/react/component/node.d.ts +0 -7
  192. package/dist/types/src/SubPackages/react/component/web.d.ts +0 -7
  193. package/dist/types/src/SubPackages/react/jsx/index.d.ts +0 -12
  194. package/dist/types/src/SubPackages/react/jsx/node.d.ts +0 -4
  195. package/dist/types/src/SubPackages/react/jsx/web.d.ts +0 -4
  196. package/dist/types/src/SubPackages/react-dom/component/node.d.ts +0 -12
  197. package/dist/types/src/SubPackages/react-dom/component/web.d.ts +0 -11
  198. package/dist/types/src/SubPackages/react-dom/jsx/index.d.ts +0 -7
  199. package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +0 -6
  200. package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +0 -5
  201. package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +0 -5
  202. package/dist/types/src/SubPackages/react-test-renderer/component/index.d.ts +0 -13
  203. package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +0 -8
  204. package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +0 -3
  205. package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +0 -8
  206. package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +0 -8
  207. package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +0 -17
  208. package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +0 -9
  209. package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +0 -8
  210. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/index.d.ts +0 -16
  211. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +0 -4
  212. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +0 -4
  213. package/dist/types/src/Types.d.ts +0 -90
  214. package/dist/types/src/Web.d.ts +0 -10
  215. package/dist/types/src/defaultConfig.d.ts +0 -3
  216. package/dist/types/src/lib/abstractBase.d.ts +0 -110
  217. package/dist/types/src/lib/basebuilder.d.ts +0 -27
  218. package/dist/types/src/lib/classBuilder.d.ts +0 -7
  219. package/dist/types/src/lib/core.d.ts +0 -8
  220. package/dist/types/src/lib/index.d.ts +0 -60
  221. package/dist/types/src/lib/types.d.ts +0 -40
  222. package/dist/types/src/utils.d.ts +0 -2
  223. package/dist/types/testeranto.d.ts +0 -16
  224. package/docker-compose.yml +0 -37
  225. package/src/SubPackages/puppeteer.ts +0 -51
  226. package/src/cli.ts +0 -535
  227. package/src/cli2.ts +0 -157
  228. package/testeranto.ts +0 -13
  229. package/dist/common/{src/Node.js → Node.js} +0 -0
  230. package/dist/common/{src/PM → PM}/index.js +0 -0
  231. package/dist/common/{src/PM → PM}/node.js +0 -0
  232. package/dist/common/{src/PM → PM}/web.js +0 -0
  233. package/dist/common/{src/SubPackages → SubPackages}/react/component/node.js +0 -0
  234. package/dist/common/{src/SubPackages → SubPackages}/react/component/web.js +0 -0
  235. package/dist/common/{src/SubPackages → SubPackages}/react/jsx/node.js +0 -0
  236. package/dist/common/{src/SubPackages → SubPackages}/react/jsx/web.js +0 -0
  237. package/dist/common/{src/SubPackages → SubPackages}/react-dom/jsx/index.js +0 -0
  238. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/index.js +0 -0
  239. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/node.js +0 -0
  240. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/web.js +0 -0
  241. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx/node.js +0 -0
  242. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx/web.js +0 -0
  243. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/node.js +1 -1
  244. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  245. package/dist/common/{src/Types.js → Types.js} +0 -0
  246. package/dist/common/{src/Web.js → Web.js} +0 -0
  247. package/dist/common/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.js +0 -0
  248. package/dist/common/{src/esbuildConfigs → esbuildConfigs}/index.js +0 -0
  249. package/dist/common/{src/puppeteerConfiger.js → puppeteerConfiger.js} +0 -0
  250. package/dist/common/{src/web.html.js → web.html.js} +0 -0
  251. package/dist/module/{src/Node.js → Node.js} +0 -0
  252. package/dist/module/{src/PM → PM}/index.js +0 -0
  253. package/dist/module/{src/PM → PM}/node.js +0 -0
  254. package/dist/module/{src/PM → PM}/web.js +0 -0
  255. package/dist/module/{src/SubPackages → SubPackages}/react/component/node.js +0 -0
  256. package/dist/module/{src/SubPackages → SubPackages}/react/component/web.js +0 -0
  257. package/dist/module/{src/SubPackages → SubPackages}/react/jsx/node.js +0 -0
  258. package/dist/module/{src/SubPackages → SubPackages}/react/jsx/web.js +0 -0
  259. package/dist/module/{src/SubPackages → SubPackages}/react-dom/jsx/index.js +0 -0
  260. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/MemoExoticComponent/node.js +0 -0
  261. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/index.js +0 -0
  262. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/interface.js +0 -0
  263. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/node.js +0 -0
  264. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/web.js +0 -0
  265. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/fc/node.js +0 -0
  266. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/fc/web.js +0 -0
  267. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx/node.js +0 -0
  268. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx/web.js +0 -0
  269. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/index.js +0 -0
  270. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/node.js +1 -1
  271. /package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  272. /package/dist/module/{src/Types.js → Types.js} +0 -0
  273. /package/dist/module/{src/Web.js → Web.js} +0 -0
  274. /package/dist/module/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.js +0 -0
  275. /package/dist/module/{src/esbuildConfigs → esbuildConfigs}/index.js +0 -0
  276. /package/dist/{types/src/cli.d.ts → module/lib/types.js} +0 -0
  277. /package/dist/module/{src/puppeteerConfiger.js → puppeteerConfiger.js} +0 -0
  278. /package/dist/module/{src/web.html.js → web.html.js} +0 -0
  279. /package/dist/types/{src/Init.d.ts → Init.d.ts} +0 -0
  280. /package/dist/types/{src/cli2.d.ts → ReportServer.d.ts} +0 -0
  281. /package/dist/types/{src/SubPackages → SubPackages}/react-test-renderer/component/interface.d.ts +0 -0
  282. /package/dist/types/{src/init-docs.d.ts → build.d.ts} +0 -0
  283. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.d.ts +0 -0
  284. /package/dist/types/{src/puppeteerConfiger.d.ts → puppeteerConfiger.d.ts} +0 -0
  285. /package/dist/types/{src/web.html.d.ts → web.html.d.ts} +0 -0
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.promptPather = exports.bddExitCodePather = exports.bddPather = exports.lintExitCodePather = exports.lintPather = exports.tscExitCodePather = exports.tscPather = exports.destinationOfRuntime = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const destinationOfRuntime = (f, r, configs) => {
9
+ return path_1.default
10
+ .normalize(`${configs.buildDir}/${r}/${f}`)
11
+ .split(".")
12
+ .slice(0, -1)
13
+ .join(".");
14
+ };
15
+ exports.destinationOfRuntime = destinationOfRuntime;
16
+ const tscPather = (entryPoint, platform) => {
17
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `type_errors.txt`);
18
+ };
19
+ exports.tscPather = tscPather;
20
+ const tscExitCodePather = (entryPoint, platform) => {
21
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `type_errors.txt`);
22
+ };
23
+ exports.tscExitCodePather = tscExitCodePather;
24
+ const lintPather = (entryPoint, platform) => {
25
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `lint_errors.json`);
26
+ };
27
+ exports.lintPather = lintPather;
28
+ const lintExitCodePather = (entryPoint, platform) => {
29
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `lint_errors.txt`);
30
+ };
31
+ exports.lintExitCodePather = lintExitCodePather;
32
+ const bddPather = (entryPoint, platform) => {
33
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `tests.json`);
34
+ };
35
+ exports.bddPather = bddPather;
36
+ const bddExitCodePather = (entryPoint, platform) => {
37
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `bdd_errors.txt`);
38
+ };
39
+ exports.bddExitCodePather = bddExitCodePather;
40
+ const promptPather = (entryPoint, platform) => {
41
+ return path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `prompt.txt`);
42
+ };
43
+ exports.promptPather = promptPather;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export const Footer = () => React.createElement("footer", null,
3
+ "made with \u2764\uFE0F and ",
4
+ React.createElement("a", { href: "https://www.npmjs.com/package/testeranto" }, "testeranto "));
@@ -0,0 +1,63 @@
1
+ import fs from "fs";
2
+ export default async (partialConfig) => {
3
+ const config = Object.assign(Object.assign({}, partialConfig), { buildDir: process.cwd() + "/" + partialConfig.outdir });
4
+ try {
5
+ fs.mkdirSync(`${process.cwd()}/${config.outdir}`);
6
+ }
7
+ catch (_a) {
8
+ // console.log()
9
+ }
10
+ fs.writeFileSync(`${config.outdir}/index.html`, `
11
+ <!DOCTYPE html>
12
+ <html lang="en">
13
+
14
+ <head>
15
+ <meta name="description" content="Webpage description goes here" />
16
+ <meta charset="utf-8" />
17
+ <title>kokomoBay - testeranto</title>
18
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
19
+ <meta name="author" content="" />
20
+
21
+ <link rel="stylesheet" href="/kokomoBay/docs/ReportClient.css" />
22
+ <script type="module" src="/kokomoBay/docs/ReportClient.js"></script>
23
+
24
+ </head>
25
+
26
+ <body>
27
+ <div id="root">
28
+ react is loading
29
+ </div>
30
+ </body>
31
+
32
+ </html>
33
+ `);
34
+ fs.copyFileSync(`node_modules/testeranto/dist/prebuild/ReportClient.js`, `${config.outdir}/ReportClient.js`);
35
+ fs.copyFileSync(`node_modules/testeranto/dist/prebuild/ReportClient.css`, `${config.outdir}/ReportClient.css`);
36
+ fs.copyFileSync(`node_modules/testeranto/dist/prebuild/TestReport.js`, `${config.outdir}/TestReport.js`);
37
+ fs.copyFileSync(`node_modules/testeranto/dist/prebuild/TestReport.css`, `${config.outdir}/TestReport.css`);
38
+ fs.writeFileSync(`${config.outdir}/testeranto.json`, JSON.stringify(Object.assign(Object.assign({}, config), { buildDir: process.cwd() + "/" + config.outdir }), null, 2));
39
+ try {
40
+ fs.mkdirSync(`${process.cwd()}/${config.outdir}/node`);
41
+ }
42
+ catch (_b) {
43
+ // console.log()
44
+ }
45
+ try {
46
+ fs.mkdirSync(`${process.cwd()}/${config.outdir}/web`);
47
+ }
48
+ catch (_c) {
49
+ // console.log()
50
+ }
51
+ try {
52
+ fs.mkdirSync(`${process.cwd()}/${config.outdir}/features`);
53
+ }
54
+ catch (_d) {
55
+ // console.log()
56
+ }
57
+ try {
58
+ fs.mkdirSync(`${process.cwd()}/${config.outdir}/ts`);
59
+ }
60
+ catch (_e) {
61
+ // console.log()
62
+ }
63
+ };
@@ -1,58 +1,100 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
3
  import puppeteer from "puppeteer-core";
4
- import crypto from "crypto";
4
+ import ansiC from "ansi-colors";
5
+ import { bddExitCodePather, lintExitCodePather, tscExitCodePather, } from "../utils";
5
6
  import { PM } from "./index.js";
6
7
  const fileStreams3 = [];
7
8
  const fPaths = [];
8
9
  const files = {};
9
10
  const recorders = {};
10
11
  const screenshots = {};
11
- const red = "\x1b[31m";
12
- const green = "\x1b[32m";
13
- const reset = "\x1b[0m"; // Resets to default color
14
12
  const statusMessagePretty = (failures, test) => {
15
13
  if (failures === 0) {
16
- console.log(green + `${test} completed successfully` + reset);
14
+ console.log(ansiC.green(ansiC.inverse(`> ${test} completed successfully`)));
17
15
  }
18
16
  else {
19
- console.log(red + `${test} failed ${failures} times` + reset);
17
+ console.log(ansiC.red(ansiC.inverse(`> ${test} failed ${failures} times`)));
20
18
  }
21
19
  };
20
+ async function writeFileAndCreateDir(filePath, data) {
21
+ const dirPath = path.dirname(filePath);
22
+ try {
23
+ await fs.promises.mkdir(dirPath, { recursive: true });
24
+ await fs.appendFileSync(filePath, data);
25
+ }
26
+ catch (error) {
27
+ console.error(`Error writing file: ${error}`);
28
+ }
29
+ }
30
+ function isValidUrl(string) {
31
+ try {
32
+ new URL(string);
33
+ return true;
34
+ }
35
+ catch (err) {
36
+ return false;
37
+ }
38
+ }
22
39
  export class PM_Main extends PM {
23
40
  constructor(configs) {
24
41
  super();
25
42
  this.shutdownMode = false;
43
+ this.bigBoard = {};
26
44
  this.checkForShutdown = () => {
27
- const anyRunning = Object.values(this.registry).filter((x) => x === false).length > 0;
45
+ const anyRunning = Object.values(this.bigBoard).filter((x) => x.status === "running")
46
+ .length > 0;
28
47
  if (anyRunning) {
29
48
  }
30
49
  else {
31
50
  this.browser.disconnect().then(() => {
32
- console.log("Goodbye");
51
+ const final = {
52
+ timestamp: Date.now(),
53
+ tests: this.configs.tests.reduce((mm, t) => {
54
+ const bddErrors = fs
55
+ .readFileSync(bddExitCodePather(t[0], t[1]))
56
+ .toString();
57
+ const lintErrors = fs
58
+ .readFileSync(lintExitCodePather(t[0], t[1]))
59
+ .toString();
60
+ const typeErrors = fs
61
+ .readFileSync(tscExitCodePather(t[0], t[1]))
62
+ .toString();
63
+ mm[t[0]] = {
64
+ bddErrors,
65
+ lintErrors,
66
+ typeErrors,
67
+ };
68
+ return mm;
69
+ }, {}),
70
+ };
71
+ const s = JSON.stringify(final, null, 2);
72
+ fs.writeFileSync("docs/summary.json", s);
73
+ console.log(ansiC.inverse("Goodbye"));
33
74
  process.exit();
34
75
  });
35
76
  }
36
77
  };
37
- this.register = (src) => {
38
- this.registry[src] = false;
78
+ this.testIsNowRunning = (src) => {
79
+ this.bigBoard[src].status = "running";
39
80
  };
40
- this.deregister = (src) => {
41
- this.registry[src] = true;
81
+ this.testIsNowDone = (src) => {
82
+ this.bigBoard[src].status = "waiting";
42
83
  if (this.shutdownMode) {
43
84
  this.checkForShutdown();
44
85
  }
45
86
  };
46
87
  this.launchNode = async (src, dest) => {
47
- console.log("! node", src);
48
- this.register(src);
88
+ // console.log(ansiC.yellow(`! node, ${src}`));
89
+ console.log(ansiC.green(ansiC.inverse(`! node, ${src}`)));
90
+ this.testIsNowRunning(src);
49
91
  const destFolder = dest.replace(".mjs", "");
50
92
  let argz = "";
51
93
  const testConfig = this.configs.tests.find((t) => {
52
94
  return t[0] === src;
53
95
  });
54
96
  if (!testConfig) {
55
- console.error("missing test config");
97
+ console.log(ansiC.inverse("missing test config! Exiting ungracefully!"));
56
98
  process.exit(-1);
57
99
  }
58
100
  const testConfigResource = testConfig[2];
@@ -121,13 +163,15 @@ export class PM_Main extends PM {
121
163
  this.receiveFeatures(features, destFolder, src);
122
164
  // console.log(`${src} completed with ${failed} errors`);
123
165
  statusMessagePretty(failed, src);
166
+ this.receiveExitCode(src, failed);
124
167
  })
125
168
  .catch((e) => {
126
- console.log(`${src} errored with`, e);
169
+ console.log(ansiC.red(ansiC.inverse(`${src} errored with: ${e}`)));
170
+ // console.log(reset, `${src} errored with`, e);
127
171
  })
128
172
  .finally(() => {
129
173
  webSideCares.forEach((webSideCar) => webSideCar.close());
130
- this.deregister(src);
174
+ this.testIsNowDone(src);
131
175
  });
132
176
  });
133
177
  });
@@ -140,7 +184,8 @@ export class PM_Main extends PM {
140
184
  };
141
185
  this.launchWebSideCar = async (src, dest, testConfig) => {
142
186
  const d = dest + ".mjs";
143
- console.log("launchWebSideCar", src, dest, d);
187
+ // console.log(green, "launchWebSideCar", src, dest, d);
188
+ console.log(ansiC.green(ansiC.inverse(`launchWebSideCar ${src}`)));
144
189
  const destFolder = dest.replace(".mjs", "");
145
190
  // const webArgz = JSON.stringify({
146
191
  // name: dest,
@@ -247,7 +292,8 @@ export class PM_Main extends PM {
247
292
  };
248
293
  this.launchNodeSideCar = async (src, dest, testConfig) => {
249
294
  const d = dest + ".mjs";
250
- console.log("launchNodeSideCar", src, dest, d);
295
+ // console.log(green, "launchNodeSideCar", src, dest, d);
296
+ console.log(ansiC.green(ansiC.inverse(`launchNodeSideCar ${src}`)));
251
297
  const destFolder = dest.replace(".mjs", "");
252
298
  let argz = "";
253
299
  const testConfigResource = testConfig[2];
@@ -317,8 +363,9 @@ export class PM_Main extends PM {
317
363
  }
318
364
  };
319
365
  this.launchWeb = (t, dest) => {
320
- console.log("! web", t);
321
- this.register(t);
366
+ // console.log(green, "! web", t);
367
+ console.log(ansiC.green(ansiC.inverse(`! web ${t}`)));
368
+ this.testIsNowRunning(t);
322
369
  // sidecars.map((sidecar) => {
323
370
  // if (sidecar[1] === "node") {
324
371
  // return this.launchNodeSideCar(
@@ -337,9 +384,9 @@ export class PM_Main extends PM {
337
384
  });
338
385
  const d = `${dest}?cacheBust=${Date.now()}`;
339
386
  const evaluation = `
340
- console.log("importing ${d}");
387
+
341
388
  import('${d}').then(async (x) => {
342
- console.log("imported", (await x.default));
389
+
343
390
  try {
344
391
  return await (await x.default).receiveTestResourceConfig(${webArgz})
345
392
  } catch (e) {
@@ -518,7 +565,7 @@ export class PM_Main extends PM {
518
565
  Promise.all(screenshots[t] || []).then(() => {
519
566
  delete screenshots[t];
520
567
  page.close();
521
- this.deregister(t);
568
+ this.testIsNowDone(t);
522
569
  stderrStream.close();
523
570
  stdoutStream.close();
524
571
  });
@@ -536,7 +583,7 @@ export class PM_Main extends PM {
536
583
  }
537
584
  console.debug(`Error from message ${t}: [${err.message}] `);
538
585
  stderrStream.write(err.message);
539
- // close();
586
+ close();
540
587
  });
541
588
  page.on("console", (log) => {
542
589
  // console.debug(`Log from ${t}: [${log.text()}] `);
@@ -555,11 +602,14 @@ export class PM_Main extends PM {
555
602
  this.receiveFeatures(features, destFolder, t);
556
603
  // console.log(`${t} completed with ${failed} errors`);
557
604
  statusMessagePretty(failed, t);
605
+ this.receiveExitCode(t, failed);
558
606
  })
559
607
  .catch((e) => {
560
- console.log(`${t} errored with`, e);
608
+ // console.log(red, `${t} errored with`, e);
609
+ console.log(ansiC.red(ansiC.inverse(`${t} errored with: ${e}`)));
561
610
  })
562
611
  .finally(() => {
612
+ // this.testIsNowDone(t);
563
613
  close();
564
614
  });
565
615
  return page;
@@ -585,14 +635,13 @@ export class PM_Main extends PM {
585
635
  // throw error;
586
636
  }
587
637
  }
588
- fs.symlink(u.pathname, newPath, (err) => {
589
- if (err) {
590
- // console.error("Error creating symlink:", err);
591
- }
592
- else {
593
- // console.log("Symlink created successfully");
594
- }
595
- });
638
+ // fs.symlink(u.pathname, newPath, (err) => {
639
+ // if (err) {
640
+ // // console.error("Error creating symlink:", err);
641
+ // } else {
642
+ // // console.log("Symlink created successfully");
643
+ // }
644
+ // });
596
645
  accum.files.push(newPath);
597
646
  }
598
647
  else if (u.protocol === "http:" || u.protocol === "https:") {
@@ -606,13 +655,6 @@ export class PM_Main extends PM {
606
655
  await fs.promises.mkdir(path.dirname(featureDestination), {
607
656
  recursive: true,
608
657
  });
609
- // const newPath = `${process.cwd()}/docs/features/plain/${await sha256(
610
- // featureStringKey
611
- // )}`;
612
- // writeFileAndCreateDir(
613
- // `${featureDestination}/${await sha256(featureStringKey)}`,
614
- // featureStringKey
615
- // );
616
658
  accum.strings.push(featureStringKey);
617
659
  }
618
660
  return accum;
@@ -625,32 +667,46 @@ export class PM_Main extends PM {
625
667
  })
626
668
  .join("\n"));
627
669
  });
670
+ this.writeBigBoard();
671
+ };
672
+ this.receiveExitCode = (srcTest, failures) => {
673
+ this.bigBoard[srcTest].runTimeError = failures;
674
+ this.writeBigBoard();
675
+ };
676
+ this.writeBigBoard = () => {
677
+ fs.writeFileSync("./docs/bigBoard.json", JSON.stringify(this.bigBoard, null, 2));
628
678
  };
629
679
  this.server = {};
630
680
  this.configs = configs;
631
681
  this.ports = {};
632
- this.registry = {};
682
+ this.configs.tests.forEach(([t]) => {
683
+ this.bigBoard[t] = {
684
+ status: "?",
685
+ };
686
+ });
633
687
  this.configs.ports.forEach((element) => {
634
688
  this.ports[element] = "true"; // set ports as open
635
689
  });
636
690
  globalThis["waitForSelector"] = async (pageKey, sel) => {
637
- console.log("waitForSelector", pageKey, sel);
638
- const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
691
+ const page = (await this.browser.pages()).find(
692
+ /* @ts-ignore:next-line */
693
+ (p) => p.mainFrame()._id === pageKey);
639
694
  await (page === null || page === void 0 ? void 0 : page.waitForSelector(sel));
640
695
  };
641
696
  globalThis["screencastStop"] = async (path) => {
642
697
  return recorders[path].stop();
643
698
  };
644
699
  globalThis["closePage"] = async (pageKey) => {
645
- const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
700
+ const page = (await this.browser.pages()).find(
701
+ /* @ts-ignore:next-line */
702
+ (p) => p.mainFrame()._id === pageKey);
703
+ /* @ts-ignore:next-line */
646
704
  return page.close();
647
705
  };
648
- // globalThis["closePage"] = (p) => {
649
- // console.log("closePage", p);
650
- // return p.close();
651
- // };
652
706
  globalThis["goto"] = async (pageKey, url) => {
653
- const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
707
+ const page = (await this.browser.pages()).find(
708
+ /* @ts-ignore:next-line */
709
+ (p) => p.mainFrame()._id === pageKey);
654
710
  await (page === null || page === void 0 ? void 0 : page.goto(url));
655
711
  return;
656
712
  };
@@ -669,14 +725,9 @@ export class PM_Main extends PM {
669
725
  return false;
670
726
  };
671
727
  globalThis["writeFileSync"] = (filepath, contents, testName) => {
672
- // console.log(testName, "writeFileSync", filepath, testName);
673
- // Create directories if they don't exist
674
- const dir = path.dirname(filepath);
675
- // console.log(testName, "mkdirSync", dir);
676
- fs.mkdirSync(dir, {
728
+ fs.mkdirSync(path.dirname(filepath), {
677
729
  recursive: true,
678
730
  });
679
- // console.log(testName, "mkdirSync2");
680
731
  if (!files[testName]) {
681
732
  files[testName] = new Set();
682
733
  }
@@ -723,7 +774,9 @@ export class PM_Main extends PM {
723
774
  // // page.evaluate(`window["screenshot done"]`);
724
775
  // };
725
776
  globalThis["customScreenShot"] = async (opts, pageKey, testName) => {
726
- const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
777
+ const page = (await this.browser.pages()).find(
778
+ /* @ts-ignore:next-line */
779
+ (p) => p.mainFrame()._id === pageKey);
727
780
  const p = opts.path;
728
781
  const dir = path.dirname(p);
729
782
  fs.mkdirSync(dir, {
@@ -742,7 +795,9 @@ export class PM_Main extends PM {
742
795
  return sPromise;
743
796
  };
744
797
  globalThis["screencast"] = async (opts, pageKey) => {
745
- const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
798
+ const page = (await this.browser.pages()).find(
799
+ /* @ts-ignore:next-line */
800
+ (p) => p.mainFrame()._id === pageKey);
746
801
  const p = opts.path;
747
802
  const dir = path.dirname(p);
748
803
  fs.mkdirSync(dir, {
@@ -876,36 +931,14 @@ export class PM_Main extends PM {
876
931
  async startPuppeteer(options, destfolder) {
877
932
  this.browser = (await puppeteer.launch(options));
878
933
  }
879
- ////////////////////////////////////////////////////////////////////////////////
934
+ // goodbye = () => {
935
+ // this.browser.disconnect().then(() => {
936
+ // console.log("Goodbye");
937
+ // process.exit();
938
+ // });
939
+ // };
880
940
  shutDown() {
881
- console.log("shutting down...");
882
941
  this.shutdownMode = true;
883
942
  this.checkForShutdown();
884
943
  }
885
944
  }
886
- async function writeFileAndCreateDir(filePath, data) {
887
- const dirPath = path.dirname(filePath);
888
- try {
889
- await fs.promises.mkdir(dirPath, { recursive: true });
890
- await fs.appendFileSync(filePath, data);
891
- }
892
- catch (error) {
893
- console.error(`Error writing file: ${error}`);
894
- }
895
- }
896
- async function sha256(rawData) {
897
- const data = typeof rawData === "object" ? JSON.stringify(rawData) : String(rawData);
898
- const msgBuffer = new TextEncoder().encode(data);
899
- const hashBuffer = await crypto.subtle.digest("SHA-256", msgBuffer);
900
- const hashArray = Array.from(new Uint8Array(hashBuffer));
901
- return hashArray.map((b) => b.toString(16).padStart(2, "0")).join("");
902
- }
903
- function isValidUrl(string) {
904
- try {
905
- new URL(string);
906
- return true;
907
- }
908
- catch (err) {
909
- return false;
910
- }
911
- }
@@ -0,0 +1,97 @@
1
+ import ReactDom from "react-dom/client";
2
+ import React, { useEffect, useState } from "react";
3
+ import 'bootstrap/dist/css/bootstrap.min.css';
4
+ import "./style.css";
5
+ import { Footer } from "./Footer";
6
+ const BigBoard = () => {
7
+ const [configs, setConfigs] = useState();
8
+ useEffect(() => {
9
+ (async () => {
10
+ fetch('/kokomoBay/docs/testeranto.json')
11
+ .then(response => response.json())
12
+ .then(json => {
13
+ setConfigs(json);
14
+ })
15
+ .catch(error => console.error(error));
16
+ })();
17
+ }, []);
18
+ const [bigBoard, setBigBoard] = useState({});
19
+ useEffect(() => {
20
+ (async () => {
21
+ fetch('/kokomoBay/docs/bigBoard.json')
22
+ .then(response => response.json())
23
+ .then(json => {
24
+ setBigBoard(json);
25
+ })
26
+ .catch(error => console.error(error));
27
+ })();
28
+ }, []);
29
+ const [staticAnalysis, setStaticAnalysis] = useState({});
30
+ useEffect(() => {
31
+ (async () => {
32
+ let accumulator = {};
33
+ for (const t of (configs || { tests: [] }).tests) {
34
+ accumulator[t[0]] = await (await fetch(`/kokomoBay/docs/${t[1]}/${t[0].split(".").slice(0, -1).join(".")}/lint_errors.txt`)).text();
35
+ }
36
+ setStaticAnalysis(accumulator);
37
+ })();
38
+ }, [configs, bigBoard]);
39
+ const [typeErrors, setTypeErrors] = useState({});
40
+ useEffect(() => {
41
+ (async () => {
42
+ let accumulator = {};
43
+ for (const t of (configs || { tests: [] }).tests) {
44
+ accumulator[t[0]] = await (await fetch(`/kokomoBay/docs/${t[1]}/${t[0].split(".").slice(0, -1).join(".")}/type_errors.txt`)).text();
45
+ }
46
+ setTypeErrors(accumulator);
47
+ })();
48
+ }, [configs, bigBoard]);
49
+ const [bddErrors, setBddErrors] = useState({});
50
+ useEffect(() => {
51
+ (async () => {
52
+ let accumulator = {};
53
+ for (const t of (configs || { tests: [] }).tests) {
54
+ accumulator[t[0]] = await (await fetch(`/kokomoBay/docs/${t[1]}/${t[0].split(".").slice(0, -1).join(".")}/bdd_errors.txt`)).text();
55
+ }
56
+ setBddErrors(accumulator);
57
+ })();
58
+ }, [configs, bigBoard]);
59
+ if (!configs || !staticAnalysis || !typeErrors || !bddErrors) {
60
+ return React.createElement("div", null, "loading...");
61
+ }
62
+ const collated = configs.tests.map((c) => {
63
+ return Object.assign(Object.assign({}, bigBoard[c[0]]), { name: c[0], runTime: c[1], tr: c[2], sidecars: c[3], staticAnalysis: staticAnalysis[c[0]], typeErrors: typeErrors[c[0]], bddErrors: bddErrors[c[0]] });
64
+ });
65
+ return React.createElement("div", null,
66
+ React.createElement("table", null,
67
+ React.createElement("tr", null,
68
+ React.createElement("td", null, "name"),
69
+ React.createElement("td", null, "run time"),
70
+ React.createElement("td", null, "BDD errors"),
71
+ React.createElement("td", null, "Lint errors"),
72
+ React.createElement("td", null, "Type errors"),
73
+ React.createElement("td", null, "prompt")),
74
+ ...collated.map((c) => {
75
+ return React.createElement("tr", null,
76
+ React.createElement("td", null, c.name),
77
+ React.createElement("td", null, c.runTime),
78
+ React.createElement("td", null,
79
+ React.createElement("a", { href: `${c.runTime}/${c.name.split(".").slice(0, -1).join(".")}/littleBoard.html` }, c.bddErrors)),
80
+ React.createElement("td", null,
81
+ React.createElement("a", { href: `${c.runTime}/${c.name.split(".").slice(0, -1).join(".")}/lint_errors.json` }, c.staticAnalysis)),
82
+ React.createElement("td", null,
83
+ React.createElement("a", { href: `${c.runTime}/${c.name.split(".").slice(0, -1).join(".")}/type_errors.txt` }, c.typeErrors)),
84
+ React.createElement("td", null,
85
+ React.createElement("pre", null,
86
+ "aider --model deepseek/deepseek-chat --load ",
87
+ `docs/${c.runTime}/${c.name.split(".").slice(0, -1).join(".")}/prompt.txt`)));
88
+ })),
89
+ React.createElement(Footer, null));
90
+ };
91
+ document.addEventListener("DOMContentLoaded", function () {
92
+ const elem = document.getElementById("root");
93
+ if (elem) {
94
+ ReactDom.createRoot(elem).render(React.createElement(BigBoard, {}, []));
95
+ }
96
+ });
97
+ console.log("hello BigBoard!");
@@ -0,0 +1,17 @@
1
+ import staticServer from "node-static";
2
+ import http from "http";
3
+ const main = async () => {
4
+ process.chdir("../"); // Navigate one level up
5
+ const fileServer = new staticServer.Server(".", {});
6
+ http
7
+ .createServer(function (request, response) {
8
+ request
9
+ .addListener("end", function () {
10
+ fileServer.serve(request, response);
11
+ })
12
+ .resume();
13
+ })
14
+ .listen(8080);
15
+ console.log("Server running on port 8080");
16
+ };
17
+ main();
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ export const testInterface = {
3
+ andWhen: async (s, whenCB) => {
4
+ await whenCB(s());
5
+ return new Promise((resolve, rej) => {
6
+ resolve(React.createElement(s));
7
+ });
8
+ },
9
+ butThen: async (subject, thenCB) => {
10
+ await thenCB(subject());
11
+ return new Promise((resolve, rej) => {
12
+ resolve(React.createElement(subject));
13
+ });
14
+ },
15
+ };
@@ -5,34 +5,21 @@ import Testeranto from "../../../Node.js";
5
5
  export { renderToStaticMarkup, renderToStaticNodeStream, Stream };
6
6
  export default (testImplementations, testSpecifications, testInput) => {
7
7
  return Testeranto(testInput, testSpecifications, testImplementations, {
8
- // beforeAll: async (
9
- // prototype,
10
- // artificer
11
- // ): Promise<ISubject> => {
12
- // return await new Promise((resolve, rej) => {
13
- // const elem = document.getElementById("root");
14
- // if (elem) {
15
- // resolve({ htmlElement: elem });
16
- // }
17
- // })
18
- // },
19
- beforeEach: async (reactComponent, ndx, testRsource, artificer) => {
8
+ beforeEach: async () => {
20
9
  return new Promise((resolve, rej) => {
21
- // Ignore these type errors
22
10
  resolve(createElement(testInput));
23
11
  });
24
12
  },
25
13
  andWhen: async function (s, whenCB) {
26
14
  return whenCB(s);
27
- // return s
28
15
  },
29
16
  butThen: async function (s) {
30
17
  return s;
31
18
  },
32
- afterEach: async function (store, ndx, artificer) {
19
+ afterEach: async function () {
33
20
  return {};
34
21
  },
35
- afterAll: (store, artificer) => {
22
+ afterAll: () => {
36
23
  return;
37
24
  },
38
25
  });