testeranto 0.202.0 → 0.203.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 (773) hide show
  1. package/README.md +23 -0
  2. package/UX/chache/index.md +11 -0
  3. package/dist/prebuild/App.css +78 -0
  4. package/dist/prebuild/App.js +4828 -2814
  5. package/dist/prebuild/testeranto.mjs +2650 -1037
  6. package/example/Calculator.go +63 -0
  7. package/example/Calculator.golingvu.adapter.go +81 -0
  8. package/example/Calculator.golingvu.go +67 -0
  9. package/example/Calculator.golingvu.implementation.go +95 -0
  10. package/example/Calculator.golingvu.specification.go +68 -0
  11. package/example/Calculator.pitono.adapter.py +68 -0
  12. package/example/Calculator.pitono.implementation.py +30 -0
  13. package/example/Calculator.pitono.specification.py +154 -0
  14. package/example/Calculator.pitono.test.py +47 -0
  15. package/example/Calculator.py +93 -0
  16. package/example/Calculator.test.adapter.ts +86 -0
  17. package/example/Calculator.test.implementation.ts +82 -0
  18. package/example/Calculator.test.specification.ts +213 -0
  19. package/example/Calculator.test.ts +13 -0
  20. package/example/Calculator.test.types.ts +50 -0
  21. package/example/Calculator.ts +130 -0
  22. package/example/README.md +1 -0
  23. package/example/base_suite_test.go +51 -0
  24. package/example/cmd/main.go +16 -0
  25. package/example/go.mod +9 -0
  26. package/example/main +0 -0
  27. package/example/test_example.py +143 -74
  28. package/{testeranto → example/testeranto}/bundles/golang/core/Calculator.golingvu.go +1 -1
  29. package/example/testeranto/metafiles/golang/core.json +198 -0
  30. package/go.mod +3 -1
  31. package/golingvu.tmp.txt +68 -0
  32. package/log.txt +85 -0
  33. package/package.json +50 -41
  34. package/scripts/build-example.ts +245 -0
  35. package/src/App.tsx +94 -44
  36. package/src/Helpo.tsx +89 -0
  37. package/src/PM/PM_WithBuild.ts +32 -20
  38. package/src/PM/PM_WithGit.ts +60 -13
  39. package/src/PM/PM_WithHelpo.ts +341 -0
  40. package/src/PM/PM_WithProcesses.ts +484 -223
  41. package/src/PM/PM_WithWebSocket.ts +210 -2
  42. package/src/PM/golingvuBuild.ts +56 -0
  43. package/src/PM/main.ts +570 -438
  44. package/src/PM/pitonoBuild.ts +56 -0
  45. package/src/PM/utils.ts +7 -1
  46. package/src/app.scss +102 -0
  47. package/src/components/pure/AppFrame.tsx +259 -149
  48. package/src/components/pure/GitIntegrationView.tsx +527 -238
  49. package/src/components/pure/HelpoChatDrawer.tsx +222 -0
  50. package/src/components/pure/MagicRobotModal.tsx +136 -0
  51. package/src/components/pure/ProcessDetails.tsx +99 -0
  52. package/src/components/pure/ProcessInput.tsx +67 -0
  53. package/src/components/pure/ProcessList.tsx +89 -0
  54. package/src/components/pure/ProcessLogs.tsx +54 -0
  55. package/src/components/pure/ProcessManager.tsx +37 -46
  56. package/src/components/pure/ProcessManagerView.tsx +42 -367
  57. package/src/components/pure/ProcessManagerViewTypes.ts +10 -0
  58. package/src/components/pure/ProcessSidebar.tsx +88 -0
  59. package/src/components/pure/ProcessTerminal.tsx +51 -0
  60. package/src/components/pure/SingleProcessView.tsx +140 -231
  61. package/src/components/pure/TerminalInput.tsx +73 -0
  62. package/src/components/pure/TerminalLogs.tsx +80 -0
  63. package/src/components/pure/TestPageView.tsx +21 -116
  64. package/src/components/pure/TestPageView_utils.tsx +2 -0
  65. package/src/components/stateful/DratoPage.tsx +457 -0
  66. package/src/components/stateful/GenericXMLEditor/AttributeEditor.tsx +87 -0
  67. package/src/components/stateful/GenericXMLEditor/Drawer.tsx +174 -0
  68. package/src/components/stateful/GenericXMLEditor/GenericPreview.tsx +160 -0
  69. package/src/components/stateful/GenericXMLEditor/GenericTextEditor.tsx +104 -0
  70. package/src/components/stateful/GenericXMLEditor/GenericTree.tsx +104 -0
  71. package/src/components/stateful/GenericXMLEditorPage.tsx +346 -0
  72. package/src/components/stateful/GitIntegrationPage.tsx +258 -3
  73. package/src/components/stateful/GrafeoPage.tsx +563 -0
  74. package/src/components/stateful/SVGEditor/SVGAttributesEditor.tsx +26 -8
  75. package/src/components/stateful/SVGEditor/SVGPreview.tsx +4 -2
  76. package/src/components/stateful/SVGEditorPage.tsx +195 -181
  77. package/src/components/stateful/SingleProcessPage.tsx +133 -131
  78. package/src/components/stateful/SkriboPage.tsx +765 -0
  79. package/src/components/stateful/TestPage.tsx +3 -2
  80. package/src/esbuildConfigs/node.ts +1 -1
  81. package/src/example/go.mod +9 -0
  82. package/src/example/main.go +61 -0
  83. package/src/golingvu/PM/golang_test.go +103 -0
  84. package/src/golingvu/README.md +186 -2
  85. package/src/golingvu/base_given.go +89 -2
  86. package/src/golingvu/base_suite.go +48 -2
  87. package/src/golingvu/go.mod +6 -0
  88. package/src/golingvu/golingvu.go +703 -29
  89. package/src/golingvu/types.go +0 -14
  90. package/src/helpo/directives.md +5 -0
  91. package/src/helpo/prompt.txt +38 -0
  92. package/src/hooks/useTerminalWebSocket.ts +49 -0
  93. package/src/lib/BaseGiven.ts +126 -28
  94. package/src/lib/BaseSuite.test/test.ts +97 -180
  95. package/src/lib/BaseSuite.ts +52 -10
  96. package/src/lib/BaseThen.ts +34 -38
  97. package/src/lib/BaseWhen.ts +9 -2
  98. package/src/lib/Tiposkripto.test/Tiposkripto.specification.ts +9 -8
  99. package/src/lib/Tiposkripto.ts +41 -11
  100. package/src/lib/pmProxy.ts +55 -18
  101. package/src/pitono/PM/python.py +165 -0
  102. package/src/pitono/Pitono.py +298 -0
  103. package/src/pitono/PitonoTest.py +25 -0
  104. package/src/pitono/README.md +21 -0
  105. package/src/pitono/__init__.py +6 -0
  106. package/{pitono → src/pitono}/base_given.py +42 -20
  107. package/{pitono → src/pitono}/base_suite.py +55 -2
  108. package/{pitono → src/pitono}/base_then.py +15 -1
  109. package/{pitono → src/pitono}/base_when.py +15 -1
  110. package/{pitono → src/pitono}/pitono.egg-info/PKG-INFO +25 -0
  111. package/{pitono → src/pitono}/pitono.egg-info/SOURCES.txt +1 -0
  112. package/src/pitono/types.py +87 -0
  113. package/src/services/FileService.ts +146 -11
  114. package/src/testeranto.ts +115 -149
  115. package/src/utils/golingvuMetafile.ts +822 -118
  116. package/src/utils/golingvuWatcher.ts +285 -0
  117. package/src/utils/logFiles.ts +10 -2
  118. package/src/utils/makePrompt.ts +12 -1
  119. package/src/utils/pitonoMetafile.ts +326 -54
  120. package/src/utils/pitonoWatcher.ts +157 -0
  121. package/testeranto/App.css +78 -0
  122. package/testeranto/App.js +4828 -2814
  123. package/testeranto/bundles/node/core/{chunk-RIM6RECA.mjs → chunk-MJTSYIAQ.mjs} +179 -250
  124. package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +110 -62
  125. package/testeranto/bundles/node/core/src/lib/TipoSkripto.test/TipoSkripto.mjs +135 -137
  126. package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +4317 -4
  127. package/testeranto/bundles/pure/core/{chunk-XYOCRDEQ.mjs → chunk-6HR24P27.mjs} +96 -173
  128. package/testeranto/bundles/pure/core/src/Pure.test.mjs +1 -1
  129. package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +110 -62
  130. package/testeranto/bundles/web/core/{chunk-JMDLMADH.mjs → chunk-AZZHJNSU.mjs} +2473 -191
  131. package/testeranto/bundles/web/core/{chunk-LQMU5NCG.mjs → chunk-ME6I6FJZ.mjs} +96 -173
  132. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.html +15 -0
  133. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.mjs +3 -5
  134. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.css +0 -78
  135. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +15 -0
  136. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +6476 -69
  137. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.html +15 -0
  138. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.mjs +110 -62
  139. package/testeranto/helpo_chat_history.json +1 -0
  140. package/testeranto/metafiles/golang/core.json +42 -47
  141. package/testeranto/metafiles/node/core.json +263 -247
  142. package/testeranto/metafiles/pure/core.json +23 -38
  143. package/testeranto/metafiles/python/core.json +85 -9
  144. package/testeranto/metafiles/web/core.json +966 -460
  145. package/testeranto/reports/core/config.json +30 -6
  146. package/testeranto/reports/core/example/Calculator.golingvu/golang/exit.log +1 -0
  147. package/testeranto/reports/core/example/Calculator.golingvu/golang/stderr.log +2 -0
  148. package/testeranto/reports/core/example/Calculator.golingvu/golang/stdout.log +1 -0
  149. package/testeranto/reports/core/example/Calculator.pitono.test/python/exit.log +1 -0
  150. package/testeranto/reports/core/example/Calculator.pitono.test/python/stderr.log +11 -0
  151. package/testeranto/reports/core/example/Calculator.pitono.test/python/stdout.log +1 -0
  152. package/testeranto/reports/core/example/Calculator.test/node/exit.log +1 -0
  153. package/testeranto/reports/core/example/Calculator.test/node/lint_errors.txt +2 -0
  154. package/testeranto/reports/core/example/Calculator.test/node/message.txt +16 -0
  155. package/testeranto/reports/core/example/Calculator.test/node/prompt.txt +13 -0
  156. package/testeranto/reports/core/example/Calculator.test/node/stderr.log +33 -0
  157. package/testeranto/reports/core/example/Calculator.test/node/stdout.log +1076 -0
  158. package/testeranto/reports/core/example/Calculator.test/node/tests.json +1109 -0
  159. package/testeranto/reports/core/example/Calculator.test/node/type_errors.txt +34 -0
  160. package/testeranto/reports/core/example/test_example/python/exit.log +1 -0
  161. package/testeranto/reports/core/example/test_example/python/stderr.log +24 -0
  162. package/testeranto/reports/core/src/Pure.test/pure/message.txt +1 -2
  163. package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +4 -5
  164. package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +16 -3
  165. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +0 -91
  166. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +0 -1
  167. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +0 -2
  168. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/message.txt +17 -0
  169. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/prompt.txt +26 -0
  170. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/type_errors.txt +69 -0
  171. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/lint_errors.txt +16 -0
  172. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/message.txt +17 -0
  173. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/prompt.txt +27 -0
  174. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/type_errors.txt +42 -0
  175. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +0 -30
  176. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +0 -1
  177. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +0 -2
  178. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +30 -0
  179. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +17 -0
  180. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +30 -0
  181. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +58 -0
  182. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/exit.log +1 -1
  183. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +9 -1
  184. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stderr.log +1 -0
  185. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +4 -1
  186. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +98 -7
  187. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +44 -28
  188. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/message.txt +1 -2
  189. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +4 -6
  190. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +44 -28
  191. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/error.log +0 -1
  192. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/exit.log +0 -1
  193. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/message.txt +17 -0
  194. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +25 -0
  195. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/type_errors.txt +69 -0
  196. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/exit.log +1 -1
  197. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/message.txt +1 -2
  198. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/prompt.txt +4 -8
  199. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stderr.log +68 -35
  200. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stdout.log +336 -6
  201. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/tests.json +166 -0
  202. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/type_errors.txt +20 -13
  203. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -1
  204. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +9 -1
  205. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +0 -20
  206. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +1 -3
  207. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +31 -0
  208. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +16 -3
  209. package/testeranto/reports/core/summary.json +46 -19
  210. package/testeranto.config.ts +18 -30
  211. package/dist/cjs-shim.js +0 -12
  212. package/dist/common/design-editor/DesignEditor.js +0 -77
  213. package/dist/common/design-editor/index.js +0 -18
  214. package/dist/common/design-editor/server.js +0 -98
  215. package/dist/common/design-editor/types.js +0 -2
  216. package/dist/common/package.json +0 -3
  217. package/dist/common/src/App.js +0 -219
  218. package/dist/common/src/CoreTypes.js +0 -2
  219. package/dist/common/src/Init.js +0 -48
  220. package/dist/common/src/Node.js +0 -40
  221. package/dist/common/src/NodeSidecar.js +0 -15
  222. package/dist/common/src/PM/PM_WithBuild.js +0 -135
  223. package/dist/common/src/PM/PM_WithEslintAndTsc.js +0 -204
  224. package/dist/common/src/PM/PM_WithGit.js +0 -517
  225. package/dist/common/src/PM/PM_WithProcesses.js +0 -519
  226. package/dist/common/src/PM/PM_WithWebSocket.js +0 -535
  227. package/dist/common/src/PM/__tests__/nodeSidecar.testeranto.js +0 -108
  228. package/dist/common/src/PM/__tests__/pureSidecar.testeranto.js +0 -93
  229. package/dist/common/src/PM/__tests__/webSidecar.testeranto.js +0 -93
  230. package/dist/common/src/PM/base.js +0 -319
  231. package/dist/common/src/PM/index.js +0 -6
  232. package/dist/common/src/PM/main.js +0 -672
  233. package/dist/common/src/PM/metafileOutputs.js +0 -78
  234. package/dist/common/src/PM/node.js +0 -179
  235. package/dist/common/src/PM/nodeSidecar.js +0 -65
  236. package/dist/common/src/PM/pitonoRunner.js +0 -54
  237. package/dist/common/src/PM/pure.js +0 -103
  238. package/dist/common/src/PM/pureSidecar.js +0 -48
  239. package/dist/common/src/PM/sidecar.js +0 -11
  240. package/dist/common/src/PM/types.js +0 -2
  241. package/dist/common/src/PM/utils.js +0 -210
  242. package/dist/common/src/PM/web.js +0 -106
  243. package/dist/common/src/PM/webSidecar.js +0 -47
  244. package/dist/common/src/Pure.js +0 -52
  245. package/dist/common/src/Pure.test.js +0 -180
  246. package/dist/common/src/PureSidecar.js +0 -13
  247. package/dist/common/src/ReportServer.js +0 -1
  248. package/dist/common/src/ReportServer.test.ts/index.js +0 -78
  249. package/dist/common/src/ReportServerLib.js +0 -1
  250. package/dist/common/src/Types.js +0 -2
  251. package/dist/common/src/Web.js +0 -61
  252. package/dist/common/src/WebSidecar.js +0 -14
  253. package/dist/common/src/components/DesignEditorPage.js +0 -205
  254. package/dist/common/src/components/SunriseAnimation.js +0 -291
  255. package/dist/common/src/components/SunriseAnimation.test/implementation.js +0 -1
  256. package/dist/common/src/components/SunriseAnimation.test/index.js +0 -1
  257. package/dist/common/src/components/SunriseAnimation.test/interface.js +0 -68
  258. package/dist/common/src/components/SunriseAnimation.test/specification.js +0 -1
  259. package/dist/common/src/components/SunriseAnimation.test/types.js +0 -2
  260. package/dist/common/src/components/TestStatusBadge.js +0 -35
  261. package/dist/common/src/components/pure/AppFrame.js +0 -81
  262. package/dist/common/src/components/pure/AppFrame.test/implementation.js +0 -63
  263. package/dist/common/src/components/pure/AppFrame.test/index.js +0 -14
  264. package/dist/common/src/components/pure/AppFrame.test/specification.js +0 -25
  265. package/dist/common/src/components/pure/AppFrame.test/types.js +0 -3
  266. package/dist/common/src/components/pure/ArtifactTree.js +0 -80
  267. package/dist/common/src/components/pure/BuildLogViewer.js +0 -106
  268. package/dist/common/src/components/pure/DebugEnv.js +0 -30
  269. package/dist/common/src/components/pure/FeaturesReporterView.js +0 -23
  270. package/dist/common/src/components/pure/FeaturesReporterView.test/implementation.js +0 -84
  271. package/dist/common/src/components/pure/FeaturesReporterView.test/index.js +0 -14
  272. package/dist/common/src/components/pure/FeaturesReporterView.test/specification.js +0 -27
  273. package/dist/common/src/components/pure/FeaturesReporterView.test/types.js +0 -2
  274. package/dist/common/src/components/pure/FileTree.js +0 -34
  275. package/dist/common/src/components/pure/FileTreeItem.js +0 -29
  276. package/dist/common/src/components/pure/GitHubLoginButton.js +0 -18
  277. package/dist/common/src/components/pure/GitIntegrationView.js +0 -342
  278. package/dist/common/src/components/pure/ModalContent.js +0 -86
  279. package/dist/common/src/components/pure/ModalContent.test/implementation.js +0 -35
  280. package/dist/common/src/components/pure/ModalContent.test/index.js +0 -58
  281. package/dist/common/src/components/pure/ModalContent.test/specification.js +0 -19
  282. package/dist/common/src/components/pure/ModalContent.test/types.js +0 -4
  283. package/dist/common/src/components/pure/NavBar.js +0 -44
  284. package/dist/common/src/components/pure/ProcessManager.js +0 -113
  285. package/dist/common/src/components/pure/ProcessManagerView.js +0 -236
  286. package/dist/common/src/components/pure/ProjectPageView.js +0 -68
  287. package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +0 -184
  288. package/dist/common/src/components/pure/ProjectPageView.test/index.js +0 -14
  289. package/dist/common/src/components/pure/ProjectPageView.test/specification.js +0 -32
  290. package/dist/common/src/components/pure/ProjectPageView.test/types.js +0 -4
  291. package/dist/common/src/components/pure/ProjectsPageView.js +0 -72
  292. package/dist/common/src/components/pure/Settings.js +0 -121
  293. package/dist/common/src/components/pure/Settings.test.js +0 -34
  294. package/dist/common/src/components/pure/SettingsButton.js +0 -13
  295. package/dist/common/src/components/pure/SignIn.js +0 -22
  296. package/dist/common/src/components/pure/SingleProcessView.js +0 -167
  297. package/dist/common/src/components/pure/TestPageView.js +0 -373
  298. package/dist/common/src/components/pure/TestPageView.test/implementation.js +0 -157
  299. package/dist/common/src/components/pure/TestPageView.test/index.js +0 -15
  300. package/dist/common/src/components/pure/TestPageView.test/specification.js +0 -26
  301. package/dist/common/src/components/pure/TestPageView.test/types.js +0 -4
  302. package/dist/common/src/components/pure/TestPageView_utils.js +0 -117
  303. package/dist/common/src/components/pure/TestTable.js +0 -33
  304. package/dist/common/src/components/pure/ThemeCard.js +0 -15
  305. package/dist/common/src/components/pure/ToastNotification.js +0 -14
  306. package/dist/common/src/components/pure/UserProfile.js +0 -27
  307. package/dist/common/src/components/stateful/AuthCallbackPage.js +0 -51
  308. package/dist/common/src/components/stateful/FeaturesReporter.js +0 -60
  309. package/dist/common/src/components/stateful/FileTree.js +0 -59
  310. package/dist/common/src/components/stateful/GitIntegrationPage.js +0 -12
  311. package/dist/common/src/components/stateful/ProcessManagerPage.js +0 -110
  312. package/dist/common/src/components/stateful/ProjectPage.js +0 -102
  313. package/dist/common/src/components/stateful/ProjectsPage.js +0 -116
  314. package/dist/common/src/components/stateful/SettingsPage.js +0 -72
  315. package/dist/common/src/components/stateful/SingleProcessPage.js +0 -137
  316. package/dist/common/src/components/stateful/TestPage.js +0 -270
  317. package/dist/common/src/components/stateful/TextEditorPage.js +0 -154
  318. package/dist/common/src/defaultConfig.js +0 -19
  319. package/dist/common/src/esbuildConfigs/consoleDetectorPlugin.js +0 -38
  320. package/dist/common/src/esbuildConfigs/eslint-formatter-testeranto.js +0 -21
  321. package/dist/common/src/esbuildConfigs/featuresPlugin.js +0 -39
  322. package/dist/common/src/esbuildConfigs/index.js +0 -21
  323. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +0 -30
  324. package/dist/common/src/esbuildConfigs/nativeImportDetectorPlugin.js +0 -24
  325. package/dist/common/src/esbuildConfigs/node.js +0 -24
  326. package/dist/common/src/esbuildConfigs/pure.js +0 -42
  327. package/dist/common/src/esbuildConfigs/rebuildPlugin.js +0 -19
  328. package/dist/common/src/esbuildConfigs/web.js +0 -48
  329. package/dist/common/src/hooks/useGitMode.js +0 -21
  330. package/dist/common/src/init-docs.js +0 -9
  331. package/dist/common/src/lib/BaseGiven.js +0 -99
  332. package/dist/common/src/lib/BaseSuite.js +0 -91
  333. package/dist/common/src/lib/BaseSuite.test/mock.js +0 -68
  334. package/dist/common/src/lib/BaseSuite.test/node.test.js +0 -10
  335. package/dist/common/src/lib/BaseSuite.test/pure.test.js +0 -10
  336. package/dist/common/src/lib/BaseSuite.test/test.js +0 -229
  337. package/dist/common/src/lib/BaseSuite.test/web.test.js +0 -10
  338. package/dist/common/src/lib/BaseThen.js +0 -64
  339. package/dist/common/src/lib/BaseWhen.js +0 -45
  340. package/dist/common/src/lib/Sidecar.js +0 -7
  341. package/dist/common/src/lib/Tiposkripto.js +0 -173
  342. package/dist/common/src/lib/Tiposkripto.test/MockTiposkripto.js +0 -180
  343. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +0 -29
  344. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +0 -213
  345. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.js +0 -11
  346. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.specification.js +0 -50
  347. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.types.js +0 -2
  348. package/dist/common/src/lib/abstractBase.test/MockGiven.js +0 -24
  349. package/dist/common/src/lib/abstractBase.test/MockThen.js +0 -16
  350. package/dist/common/src/lib/abstractBase.test/MockWhen.js +0 -20
  351. package/dist/common/src/lib/abstractBase.test/adapter.js +0 -24
  352. package/dist/common/src/lib/abstractBase.test/implementation.js +0 -38
  353. package/dist/common/src/lib/abstractBase.test/index.js +0 -18
  354. package/dist/common/src/lib/abstractBase.test/specification.js +0 -19
  355. package/dist/common/src/lib/abstractBase.test/types.js +0 -2
  356. package/dist/common/src/lib/index.js +0 -31
  357. package/dist/common/src/lib/pmProxy.js +0 -293
  358. package/dist/common/src/lib/pmProxy.test/adapter.js +0 -54
  359. package/dist/common/src/lib/pmProxy.test/implementation.js +0 -137
  360. package/dist/common/src/lib/pmProxy.test/index.js +0 -15
  361. package/dist/common/src/lib/pmProxy.test/mockPM.js +0 -34
  362. package/dist/common/src/lib/pmProxy.test/mockPMBase.js +0 -131
  363. package/dist/common/src/lib/pmProxy.test/specification.js +0 -179
  364. package/dist/common/src/lib/pmProxy.test/types.js +0 -2
  365. package/dist/common/src/lib/types.js +0 -3
  366. package/dist/common/src/mothership/index.js +0 -21
  367. package/dist/common/src/mothership/test.js +0 -83
  368. package/dist/common/src/run.js +0 -49
  369. package/dist/common/src/services/FileService.js +0 -505
  370. package/dist/common/src/services/GitHubAuthService.js +0 -184
  371. package/dist/common/src/testeranto.js +0 -224
  372. package/dist/common/src/types/features.js +0 -34
  373. package/dist/common/src/utils/api.js +0 -93
  374. package/dist/common/src/utils/buildTemplates.js +0 -37
  375. package/dist/common/src/utils/featureUtils.js +0 -29
  376. package/dist/common/src/utils/gitTest.js +0 -27
  377. package/dist/common/src/utils/golingvuMetafile.js +0 -116
  378. package/dist/common/src/utils/logFiles.js +0 -52
  379. package/dist/common/src/utils/makePrompt.js +0 -116
  380. package/dist/common/src/utils/pitonoMetafile.js +0 -67
  381. package/dist/common/src/utils/queue.js +0 -36
  382. package/dist/common/src/utils.js +0 -143
  383. package/dist/common/src/web.html.js +0 -18
  384. package/dist/common/testeranto.config.js +0 -102
  385. package/dist/common/tsconfig.common.tsbuildinfo +0 -1
  386. package/dist/module/design-editor/DesignEditor.js +0 -40
  387. package/dist/module/design-editor/index.js +0 -2
  388. package/dist/module/design-editor/server.js +0 -92
  389. package/dist/module/design-editor/types.js +0 -1
  390. package/dist/module/package.json +0 -3
  391. package/dist/module/src/App.js +0 -176
  392. package/dist/module/src/CoreTypes.js +0 -1
  393. package/dist/module/src/Init.js +0 -43
  394. package/dist/module/src/Node.js +0 -33
  395. package/dist/module/src/NodeSidecar.js +0 -11
  396. package/dist/module/src/PM/PM_WithBuild.js +0 -128
  397. package/dist/module/src/PM/PM_WithEslintAndTsc.js +0 -197
  398. package/dist/module/src/PM/PM_WithGit.js +0 -477
  399. package/dist/module/src/PM/PM_WithProcesses.js +0 -479
  400. package/dist/module/src/PM/PM_WithWebSocket.js +0 -528
  401. package/dist/module/src/PM/__tests__/nodeSidecar.testeranto.js +0 -103
  402. package/dist/module/src/PM/__tests__/pureSidecar.testeranto.js +0 -88
  403. package/dist/module/src/PM/__tests__/webSidecar.testeranto.js +0 -88
  404. package/dist/module/src/PM/base.js +0 -312
  405. package/dist/module/src/PM/index.js +0 -2
  406. package/dist/module/src/PM/main.js +0 -632
  407. package/dist/module/src/PM/metafileOutputs.js +0 -78
  408. package/dist/module/src/PM/node.js +0 -172
  409. package/dist/module/src/PM/nodeSidecar.js +0 -58
  410. package/dist/module/src/PM/pitonoRunner.js +0 -47
  411. package/dist/module/src/PM/pure.js +0 -99
  412. package/dist/module/src/PM/pureSidecar.js +0 -41
  413. package/dist/module/src/PM/sidecar.js +0 -7
  414. package/dist/module/src/PM/types.js +0 -1
  415. package/dist/module/src/PM/utils.js +0 -196
  416. package/dist/module/src/PM/web.js +0 -102
  417. package/dist/module/src/PM/webSidecar.js +0 -40
  418. package/dist/module/src/Pure.js +0 -45
  419. package/dist/module/src/Pure.test.js +0 -175
  420. package/dist/module/src/PureSidecar.js +0 -9
  421. package/dist/module/src/ReportServer.js +0 -1
  422. package/dist/module/src/ReportServer.test.ts/index.js +0 -73
  423. package/dist/module/src/ReportServerLib.js +0 -1
  424. package/dist/module/src/Types.js +0 -1
  425. package/dist/module/src/Web.js +0 -54
  426. package/dist/module/src/WebSidecar.js +0 -10
  427. package/dist/module/src/components/DesignEditorPage.js +0 -168
  428. package/dist/module/src/components/SunriseAnimation.js +0 -256
  429. package/dist/module/src/components/SunriseAnimation.test/implementation.js +0 -1
  430. package/dist/module/src/components/SunriseAnimation.test/index.js +0 -1
  431. package/dist/module/src/components/SunriseAnimation.test/interface.js +0 -32
  432. package/dist/module/src/components/SunriseAnimation.test/specification.js +0 -1
  433. package/dist/module/src/components/SunriseAnimation.test/types.js +0 -1
  434. package/dist/module/src/components/TestStatusBadge.js +0 -28
  435. package/dist/module/src/components/pure/AppFrame.js +0 -74
  436. package/dist/module/src/components/pure/AppFrame.test/implementation.js +0 -57
  437. package/dist/module/src/components/pure/AppFrame.test/index.js +0 -9
  438. package/dist/module/src/components/pure/AppFrame.test/specification.js +0 -21
  439. package/dist/module/src/components/pure/AppFrame.test/types.js +0 -2
  440. package/dist/module/src/components/pure/ArtifactTree.js +0 -80
  441. package/dist/module/src/components/pure/BuildLogViewer.js +0 -99
  442. package/dist/module/src/components/pure/DebugEnv.js +0 -23
  443. package/dist/module/src/components/pure/FeaturesReporterView.js +0 -16
  444. package/dist/module/src/components/pure/FeaturesReporterView.test/implementation.js +0 -81
  445. package/dist/module/src/components/pure/FeaturesReporterView.test/index.js +0 -9
  446. package/dist/module/src/components/pure/FeaturesReporterView.test/specification.js +0 -23
  447. package/dist/module/src/components/pure/FeaturesReporterView.test/types.js +0 -1
  448. package/dist/module/src/components/pure/FileTree.js +0 -27
  449. package/dist/module/src/components/pure/FileTreeItem.js +0 -22
  450. package/dist/module/src/components/pure/GitHubLoginButton.js +0 -11
  451. package/dist/module/src/components/pure/GitIntegrationView.js +0 -305
  452. package/dist/module/src/components/pure/ModalContent.js +0 -79
  453. package/dist/module/src/components/pure/ModalContent.test/implementation.js +0 -32
  454. package/dist/module/src/components/pure/ModalContent.test/index.js +0 -53
  455. package/dist/module/src/components/pure/ModalContent.test/specification.js +0 -15
  456. package/dist/module/src/components/pure/ModalContent.test/types.js +0 -3
  457. package/dist/module/src/components/pure/NavBar.js +0 -37
  458. package/dist/module/src/components/pure/ProcessManager.js +0 -76
  459. package/dist/module/src/components/pure/ProcessManagerView.js +0 -199
  460. package/dist/module/src/components/pure/ProjectPageView.js +0 -61
  461. package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +0 -181
  462. package/dist/module/src/components/pure/ProjectPageView.test/index.js +0 -9
  463. package/dist/module/src/components/pure/ProjectPageView.test/specification.js +0 -28
  464. package/dist/module/src/components/pure/ProjectPageView.test/types.js +0 -3
  465. package/dist/module/src/components/pure/ProjectsPageView.js +0 -65
  466. package/dist/module/src/components/pure/Settings.js +0 -84
  467. package/dist/module/src/components/pure/Settings.test.js +0 -29
  468. package/dist/module/src/components/pure/SettingsButton.js +0 -6
  469. package/dist/module/src/components/pure/SignIn.js +0 -15
  470. package/dist/module/src/components/pure/SingleProcessView.js +0 -130
  471. package/dist/module/src/components/pure/TestPageView.js +0 -336
  472. package/dist/module/src/components/pure/TestPageView.test/implementation.js +0 -121
  473. package/dist/module/src/components/pure/TestPageView.test/index.js +0 -10
  474. package/dist/module/src/components/pure/TestPageView.test/specification.js +0 -22
  475. package/dist/module/src/components/pure/TestPageView.test/types.js +0 -3
  476. package/dist/module/src/components/pure/TestPageView_utils.js +0 -109
  477. package/dist/module/src/components/pure/TestTable.js +0 -26
  478. package/dist/module/src/components/pure/ThemeCard.js +0 -8
  479. package/dist/module/src/components/pure/ToastNotification.js +0 -7
  480. package/dist/module/src/components/pure/UserProfile.js +0 -20
  481. package/dist/module/src/components/stateful/AuthCallbackPage.js +0 -14
  482. package/dist/module/src/components/stateful/FeaturesReporter.js +0 -23
  483. package/dist/module/src/components/stateful/FileTree.js +0 -59
  484. package/dist/module/src/components/stateful/GitIntegrationPage.js +0 -5
  485. package/dist/module/src/components/stateful/ProcessManagerPage.js +0 -73
  486. package/dist/module/src/components/stateful/ProjectPage.js +0 -65
  487. package/dist/module/src/components/stateful/ProjectsPage.js +0 -79
  488. package/dist/module/src/components/stateful/SettingsPage.js +0 -35
  489. package/dist/module/src/components/stateful/SingleProcessPage.js +0 -100
  490. package/dist/module/src/components/stateful/TestPage.js +0 -233
  491. package/dist/module/src/components/stateful/TextEditorPage.js +0 -117
  492. package/dist/module/src/defaultConfig.js +0 -17
  493. package/dist/module/src/esbuildConfigs/consoleDetectorPlugin.js +0 -32
  494. package/dist/module/src/esbuildConfigs/eslint-formatter-testeranto.js +0 -18
  495. package/dist/module/src/esbuildConfigs/featuresPlugin.js +0 -34
  496. package/dist/module/src/esbuildConfigs/index.js +0 -19
  497. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +0 -25
  498. package/dist/module/src/esbuildConfigs/nativeImportDetectorPlugin.js +0 -21
  499. package/dist/module/src/esbuildConfigs/node.js +0 -19
  500. package/dist/module/src/esbuildConfigs/pure.js +0 -37
  501. package/dist/module/src/esbuildConfigs/rebuildPlugin.js +0 -14
  502. package/dist/module/src/esbuildConfigs/web.js +0 -43
  503. package/dist/module/src/hooks/useGitMode.js +0 -17
  504. package/dist/module/src/init-docs.js +0 -4
  505. package/dist/module/src/lib/BaseGiven.js +0 -95
  506. package/dist/module/src/lib/BaseSuite.js +0 -87
  507. package/dist/module/src/lib/BaseSuite.test/mock.js +0 -61
  508. package/dist/module/src/lib/BaseSuite.test/node.test.js +0 -5
  509. package/dist/module/src/lib/BaseSuite.test/pure.test.js +0 -5
  510. package/dist/module/src/lib/BaseSuite.test/test.js +0 -225
  511. package/dist/module/src/lib/BaseSuite.test/web.test.js +0 -5
  512. package/dist/module/src/lib/BaseThen.js +0 -60
  513. package/dist/module/src/lib/BaseWhen.js +0 -41
  514. package/dist/module/src/lib/Sidecar.js +0 -3
  515. package/dist/module/src/lib/Tiposkripto.js +0 -170
  516. package/dist/module/src/lib/Tiposkripto.test/MockTiposkripto.js +0 -173
  517. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +0 -26
  518. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +0 -210
  519. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.js +0 -6
  520. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.specification.js +0 -46
  521. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.types.js +0 -1
  522. package/dist/module/src/lib/abstractBase.test/MockGiven.js +0 -20
  523. package/dist/module/src/lib/abstractBase.test/MockThen.js +0 -12
  524. package/dist/module/src/lib/abstractBase.test/MockWhen.js +0 -16
  525. package/dist/module/src/lib/abstractBase.test/adapter.js +0 -21
  526. package/dist/module/src/lib/abstractBase.test/implementation.js +0 -35
  527. package/dist/module/src/lib/abstractBase.test/index.js +0 -13
  528. package/dist/module/src/lib/abstractBase.test/specification.js +0 -15
  529. package/dist/module/src/lib/abstractBase.test/types.js +0 -1
  530. package/dist/module/src/lib/index.js +0 -26
  531. package/dist/module/src/lib/pmProxy.js +0 -284
  532. package/dist/module/src/lib/pmProxy.test/adapter.js +0 -51
  533. package/dist/module/src/lib/pmProxy.test/implementation.js +0 -134
  534. package/dist/module/src/lib/pmProxy.test/index.js +0 -10
  535. package/dist/module/src/lib/pmProxy.test/mockPM.js +0 -30
  536. package/dist/module/src/lib/pmProxy.test/mockPMBase.js +0 -127
  537. package/dist/module/src/lib/pmProxy.test/specification.js +0 -175
  538. package/dist/module/src/lib/pmProxy.test/types.js +0 -1
  539. package/dist/module/src/lib/types.js +0 -2
  540. package/dist/module/src/mothership/index.js +0 -16
  541. package/dist/module/src/mothership/test.js +0 -78
  542. package/dist/module/src/run.js +0 -49
  543. package/dist/module/src/services/FileService.js +0 -468
  544. package/dist/module/src/services/GitHubAuthService.js +0 -180
  545. package/dist/module/src/testeranto.js +0 -186
  546. package/dist/module/src/types/features.js +0 -31
  547. package/dist/module/src/utils/api.js +0 -87
  548. package/dist/module/src/utils/buildTemplates.js +0 -33
  549. package/dist/module/src/utils/featureUtils.js +0 -24
  550. package/dist/module/src/utils/gitTest.js +0 -23
  551. package/dist/module/src/utils/golingvuMetafile.js +0 -109
  552. package/dist/module/src/utils/logFiles.js +0 -47
  553. package/dist/module/src/utils/makePrompt.js +0 -109
  554. package/dist/module/src/utils/pitonoMetafile.js +0 -60
  555. package/dist/module/src/utils/queue.js +0 -32
  556. package/dist/module/src/utils.js +0 -130
  557. package/dist/module/src/web.html.js +0 -16
  558. package/dist/module/testeranto.config.js +0 -100
  559. package/dist/module/tsconfig.module.tsbuildinfo +0 -1
  560. package/dist/types/design-editor/DesignEditor.d.ts +0 -1
  561. package/dist/types/src/App.d.ts +0 -19
  562. package/dist/types/src/CoreTypes.d.ts +0 -52
  563. package/dist/types/src/Init.d.ts +0 -2
  564. package/dist/types/src/Node.d.ts +0 -9
  565. package/dist/types/src/NodeSidecar.d.ts +0 -6
  566. package/dist/types/src/PM/PM_WithBuild.d.ts +0 -13
  567. package/dist/types/src/PM/PM_WithEslintAndTsc.d.ts +0 -22
  568. package/dist/types/src/PM/PM_WithGit.d.ts +0 -27
  569. package/dist/types/src/PM/PM_WithProcesses.d.ts +0 -29
  570. package/dist/types/src/PM/PM_WithWebSocket.d.ts +0 -108
  571. package/dist/types/src/PM/__tests__/nodeSidecar.testeranto.d.ts +0 -2
  572. package/dist/types/src/PM/__tests__/pureSidecar.testeranto.d.ts +0 -2
  573. package/dist/types/src/PM/__tests__/webSidecar.testeranto.d.ts +0 -2
  574. package/dist/types/src/PM/base.d.ts +0 -35
  575. package/dist/types/src/PM/index.d.ts +0 -35
  576. package/dist/types/src/PM/main.d.ts +0 -8
  577. package/dist/types/src/PM/node.d.ts +0 -38
  578. package/dist/types/src/PM/nodeSidecar.d.ts +0 -13
  579. package/dist/types/src/PM/pitonoRunner.d.ts +0 -7
  580. package/dist/types/src/PM/pure.d.ts +0 -41
  581. package/dist/types/src/PM/pureSidecar.d.ts +0 -11
  582. package/dist/types/src/PM/sidecar.d.ts +0 -8
  583. package/dist/types/src/PM/types.d.ts +0 -118
  584. package/dist/types/src/PM/utils.d.ts +0 -35
  585. package/dist/types/src/PM/web.d.ts +0 -41
  586. package/dist/types/src/PM/webSidecar.d.ts +0 -11
  587. package/dist/types/src/Pure.d.ts +0 -14
  588. package/dist/types/src/Pure.test.d.ts +0 -2
  589. package/dist/types/src/PureSidecar.d.ts +0 -8
  590. package/dist/types/src/ReportServer.test.ts/index.d.ts +0 -2
  591. package/dist/types/src/Types.d.ts +0 -119
  592. package/dist/types/src/Web.d.ts +0 -9
  593. package/dist/types/src/WebSidecar.d.ts +0 -8
  594. package/dist/types/src/components/DesignEditorPage.d.ts +0 -1
  595. package/dist/types/src/components/SunriseAnimation.d.ts +0 -5
  596. package/dist/types/src/components/SunriseAnimation.test/interface.d.ts +0 -11
  597. package/dist/types/src/components/SunriseAnimation.test/types.d.ts +0 -39
  598. package/dist/types/src/components/TestStatusBadge.d.ts +0 -15
  599. package/dist/types/src/components/pure/AppFrame.d.ts +0 -11
  600. package/dist/types/src/components/pure/AppFrame.test/implementation.d.ts +0 -3
  601. package/dist/types/src/components/pure/AppFrame.test/index.d.ts +0 -3
  602. package/dist/types/src/components/pure/AppFrame.test/specification.d.ts +0 -3
  603. package/dist/types/src/components/pure/AppFrame.test/types.d.ts +0 -33
  604. package/dist/types/src/components/pure/BuildLogViewer.d.ts +0 -7
  605. package/dist/types/src/components/pure/DebugEnv.d.ts +0 -2
  606. package/dist/types/src/components/pure/FeaturesReporterView.d.ts +0 -7
  607. package/dist/types/src/components/pure/FeaturesReporterView.test/implementation.d.ts +0 -3
  608. package/dist/types/src/components/pure/FeaturesReporterView.test/index.d.ts +0 -2
  609. package/dist/types/src/components/pure/FeaturesReporterView.test/specification.d.ts +0 -3
  610. package/dist/types/src/components/pure/FeaturesReporterView.test/types.d.ts +0 -54
  611. package/dist/types/src/components/pure/FileTree.d.ts +0 -6
  612. package/dist/types/src/components/pure/FileTreeItem.d.ts +0 -8
  613. package/dist/types/src/components/pure/GitHubLoginButton.d.ts +0 -8
  614. package/dist/types/src/components/pure/GitIntegrationView.d.ts +0 -1
  615. package/dist/types/src/components/pure/ModalContent.d.ts +0 -7
  616. package/dist/types/src/components/pure/ModalContent.test/implementation.d.ts +0 -3
  617. package/dist/types/src/components/pure/ModalContent.test/index.d.ts +0 -2
  618. package/dist/types/src/components/pure/ModalContent.test/specification.d.ts +0 -3
  619. package/dist/types/src/components/pure/ModalContent.test/types.d.ts +0 -45
  620. package/dist/types/src/components/pure/NavBar.d.ts +0 -23
  621. package/dist/types/src/components/pure/ProcessManager.d.ts +0 -8
  622. package/dist/types/src/components/pure/ProcessManagerView.d.ts +0 -20
  623. package/dist/types/src/components/pure/ProjectPageView.d.ts +0 -14
  624. package/dist/types/src/components/pure/ProjectPageView.test/implementation.d.ts +0 -3
  625. package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +0 -2
  626. package/dist/types/src/components/pure/ProjectPageView.test/specification.d.ts +0 -3
  627. package/dist/types/src/components/pure/ProjectPageView.test/types.d.ts +0 -57
  628. package/dist/types/src/components/pure/ProjectsPageView.d.ts +0 -29
  629. package/dist/types/src/components/pure/Settings.d.ts +0 -1
  630. package/dist/types/src/components/pure/Settings.test.d.ts +0 -1
  631. package/dist/types/src/components/pure/SettingsButton.d.ts +0 -2
  632. package/dist/types/src/components/pure/SignIn.d.ts +0 -1
  633. package/dist/types/src/components/pure/SingleProcessView.d.ts +0 -10
  634. package/dist/types/src/components/pure/TestPageView.d.ts +0 -16
  635. package/dist/types/src/components/pure/TestPageView.test/implementation.d.ts +0 -12
  636. package/dist/types/src/components/pure/TestPageView.test/index.d.ts +0 -3
  637. package/dist/types/src/components/pure/TestPageView.test/specification.d.ts +0 -11
  638. package/dist/types/src/components/pure/TestPageView.test/types.d.ts +0 -65
  639. package/dist/types/src/components/pure/TestPageView_utils.d.ts +0 -23
  640. package/dist/types/src/components/pure/TestTable.d.ts +0 -16
  641. package/dist/types/src/components/pure/ThemeCard.d.ts +0 -9
  642. package/dist/types/src/components/pure/ToastNotification.d.ts +0 -6
  643. package/dist/types/src/components/pure/UserProfile.d.ts +0 -2
  644. package/dist/types/src/components/stateful/AuthCallbackPage.d.ts +0 -2
  645. package/dist/types/src/components/stateful/FeaturesReporter.d.ts +0 -2
  646. package/dist/types/src/components/stateful/GitIntegrationPage.d.ts +0 -1
  647. package/dist/types/src/components/stateful/ProcessManagerPage.d.ts +0 -2
  648. package/dist/types/src/components/stateful/ProjectPage.d.ts +0 -1
  649. package/dist/types/src/components/stateful/ProjectsPage.d.ts +0 -1
  650. package/dist/types/src/components/stateful/SettingsPage.d.ts +0 -2
  651. package/dist/types/src/components/stateful/SingleProcessPage.d.ts +0 -2
  652. package/dist/types/src/components/stateful/TestPage.d.ts +0 -1
  653. package/dist/types/src/components/stateful/TextEditorPage.d.ts +0 -1
  654. package/dist/types/src/defaultConfig.d.ts +0 -3
  655. package/dist/types/src/esbuildConfigs/consoleDetectorPlugin.d.ts +0 -2
  656. package/dist/types/src/esbuildConfigs/eslint-formatter-testeranto.d.ts +0 -2
  657. package/dist/types/src/esbuildConfigs/featuresPlugin.d.ts +0 -5
  658. package/dist/types/src/esbuildConfigs/index.d.ts +0 -4
  659. package/dist/types/src/esbuildConfigs/inputFilesPlugin.d.ts +0 -7
  660. package/dist/types/src/esbuildConfigs/nativeImportDetectorPlugin.d.ts +0 -2
  661. package/dist/types/src/esbuildConfigs/node.d.ts +0 -4
  662. package/dist/types/src/esbuildConfigs/pure.d.ts +0 -4
  663. package/dist/types/src/esbuildConfigs/rebuildPlugin.d.ts +0 -6
  664. package/dist/types/src/esbuildConfigs/web.d.ts +0 -4
  665. package/dist/types/src/hooks/useGitMode.d.ts +0 -7
  666. package/dist/types/src/init-docs.d.ts +0 -1
  667. package/dist/types/src/lib/BaseGiven.d.ts +0 -44
  668. package/dist/types/src/lib/BaseSuite.d.ts +0 -46
  669. package/dist/types/src/lib/BaseSuite.test/mock.d.ts +0 -21
  670. package/dist/types/src/lib/BaseSuite.test/node.test.d.ts +0 -2
  671. package/dist/types/src/lib/BaseSuite.test/pure.test.d.ts +0 -2
  672. package/dist/types/src/lib/BaseSuite.test/test.d.ts +0 -37
  673. package/dist/types/src/lib/BaseSuite.test/web.test.d.ts +0 -2
  674. package/dist/types/src/lib/BaseThen.d.ts +0 -27
  675. package/dist/types/src/lib/BaseWhen.d.ts +0 -27
  676. package/dist/types/src/lib/Sidecar.d.ts +0 -5
  677. package/dist/types/src/lib/Tiposkripto.d.ts +0 -37
  678. package/dist/types/src/lib/Tiposkripto.test/MockTiposkripto.d.ts +0 -18
  679. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.adapter.d.ts +0 -3
  680. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.d.ts +0 -2
  681. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.implementation.d.ts +0 -3
  682. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.specification.d.ts +0 -3
  683. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.types.d.ts +0 -58
  684. package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +0 -9
  685. package/dist/types/src/lib/abstractBase.test/MockThen.d.ts +0 -6
  686. package/dist/types/src/lib/abstractBase.test/MockWhen.d.ts +0 -6
  687. package/dist/types/src/lib/abstractBase.test/adapter.d.ts +0 -3
  688. package/dist/types/src/lib/abstractBase.test/implementation.d.ts +0 -3
  689. package/dist/types/src/lib/abstractBase.test/index.d.ts +0 -2
  690. package/dist/types/src/lib/abstractBase.test/specification.d.ts +0 -3
  691. package/dist/types/src/lib/abstractBase.test/types.d.ts +0 -39
  692. package/dist/types/src/lib/index.d.ts +0 -73
  693. package/dist/types/src/lib/pmProxy.d.ts +0 -12
  694. package/dist/types/src/lib/pmProxy.test/adapter.d.ts +0 -3
  695. package/dist/types/src/lib/pmProxy.test/implementation.d.ts +0 -3
  696. package/dist/types/src/lib/pmProxy.test/index.d.ts +0 -6
  697. package/dist/types/src/lib/pmProxy.test/mockPM.d.ts +0 -10
  698. package/dist/types/src/lib/pmProxy.test/mockPMBase.d.ts +0 -40
  699. package/dist/types/src/lib/pmProxy.test/specification.d.ts +0 -3
  700. package/dist/types/src/lib/pmProxy.test/types.d.ts +0 -42
  701. package/dist/types/src/lib/types.d.ts +0 -24
  702. package/dist/types/src/mothership/index.d.ts +0 -2
  703. package/dist/types/src/mothership/test.d.ts +0 -2
  704. package/dist/types/src/services/FileService.d.ts +0 -34
  705. package/dist/types/src/services/GitHubAuthService.d.ts +0 -32
  706. package/dist/types/src/testeranto.d.ts +0 -1
  707. package/dist/types/src/types/features.d.ts +0 -7
  708. package/dist/types/src/utils/api.d.ts +0 -10
  709. package/dist/types/src/utils/buildTemplates.d.ts +0 -1
  710. package/dist/types/src/utils/featureUtils.d.ts +0 -6
  711. package/dist/types/src/utils/gitTest.d.ts +0 -11
  712. package/dist/types/src/utils/golingvuMetafile.d.ts +0 -19
  713. package/dist/types/src/utils/logFiles.d.ts +0 -75
  714. package/dist/types/src/utils/makePrompt.d.ts +0 -2
  715. package/dist/types/src/utils/pitonoMetafile.d.ts +0 -7
  716. package/dist/types/src/utils/queue.d.ts +0 -11
  717. package/dist/types/src/utils.d.ts +0 -20
  718. package/dist/types/src/web.html.d.ts +0 -2
  719. package/dist/types/tsconfig.types.tsbuildinfo +0 -1
  720. package/example/__pycache__/Calculator.cpython-313.pyc +0 -0
  721. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/README.md +0 -187
  722. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_given.go +0 -163
  723. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_suite.go +0 -85
  724. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_then.go +0 -21
  725. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_when.go +0 -21
  726. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/golingvu.go +0 -554
  727. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/test_adapter.go +0 -33
  728. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/types.go +0 -72
  729. package/example/vendor/modules.txt +0 -5
  730. package/pitono/__init__.py +0 -54
  731. package/pitono/types.py +0 -78
  732. package/src/PM/metafileOutputs.ts +0 -90
  733. package/src/golingvu/base_suite_test.go +0 -197
  734. package/src/pitono/PM/__pycache__/python.cpython-313.pyc +0 -0
  735. package/src/pitono/__pycache__/Pitono.cpython-313.pyc +0 -0
  736. package/src/pitono/__pycache__/__init__.cpython-313.pyc +0 -0
  737. package/src/pitono/__pycache__/base_given.cpython-313.pyc +0 -0
  738. package/src/pitono/__pycache__/base_suite.cpython-313.pyc +0 -0
  739. package/src/pitono/__pycache__/base_then.cpython-313.pyc +0 -0
  740. package/src/pitono/__pycache__/base_when.cpython-313.pyc +0 -0
  741. package/src/pitono/__pycache__/core_generator.cpython-313.pyc +0 -0
  742. package/src/pitono/__pycache__/simple_adapter.cpython-313.pyc +0 -0
  743. package/src/pitono/__pycache__/types.cpython-313.pyc +0 -0
  744. package/src/templates/frontpage.html +0 -340
  745. package/src/templates/frontpage.md +0 -79
  746. package/testeranto/bundles/golang/core/Calculator.golingvu.golingvu.go +0 -53
  747. package/testeranto/bundles/node/core/chunk-VXVF7WFO.mjs +0 -4321
  748. package/testeranto/bundles/node/core/example/Calculator.test.mjs +0 -503
  749. package/testeranto/bundles/python/core/Calculator.pitono.test.py +0 -24
  750. package/testeranto/bundles/python/core/test_example.py +0 -24
  751. package/testeranto/bundles/web/core/chunk-DFRN4SYZ.mjs +0 -2297
  752. package/testeranto/bundles/web/core/chunk-Q5TONB2Z.mjs +0 -6874
  753. package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.css +0 -11697
  754. package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.mjs +0 -336
  755. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/tests.json +0 -68
  756. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/tests.json +0 -88
  757. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/tests.json +0 -29
  758. /package/{pitono → src/pitono}/core_generator.py +0 -0
  759. /package/{pitono → src/pitono}/pitono.egg-info/dependency_links.txt +0 -0
  760. /package/{pitono → src/pitono}/pitono.egg-info/entry_points.txt +0 -0
  761. /package/{pitono → src/pitono}/pitono.egg-info/top_level.txt +0 -0
  762. /package/{pitono → src/pitono}/pyproject.toml +0 -0
  763. /package/{pitono → src/pitono}/setup.py +0 -0
  764. /package/{pitono → src/pitono}/simple_adapter.py +0 -0
  765. /package/{dist/types/src/PM/metafileOutputs.d.ts → testeranto/helpo_chat_message.txt} +0 -0
  766. /package/{dist/types/src/ReportServer.d.ts → testeranto/reports/core/example/test_example/python/stdout.log} +0 -0
  767. /package/{dist/types/src/ReportServerLib.d.ts → testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/lint_errors.txt} +0 -0
  768. /package/{dist/types/src/components/SunriseAnimation.test/implementation.d.ts → testeranto/reports/core/src/components/pure/ModalContent.test/index/web/debug.log} +0 -0
  769. /package/{dist/types/src/components/SunriseAnimation.test/index.d.ts → testeranto/reports/core/src/components/pure/ModalContent.test/index/web/error.log} +0 -0
  770. /package/{dist/types/src/components/SunriseAnimation.test/specification.d.ts → testeranto/reports/core/src/components/pure/ModalContent.test/index/web/exit.log} +0 -0
  771. /package/{dist/types/src/components/pure/ArtifactTree.d.ts → testeranto/reports/core/src/components/pure/ModalContent.test/index/web/info.log} +0 -0
  772. /package/{dist/types/src/components/stateful/FileTree.d.ts → testeranto/reports/core/src/components/pure/ModalContent.test/index/web/warn.log} +0 -0
  773. /package/{dist/types/src/run.d.ts → testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/lint_errors.txt} +0 -0
@@ -8,7 +8,7 @@ import path from "path";
8
8
  import puppeteer, { executablePath } from "puppeteer-core";
9
9
  import ansiC from "ansi-colors";
10
10
 
11
- import { getRunnables } from "../utils";
11
+ import { getRunnables } from "../utils.js";
12
12
  import { IBuiltConfig, IRunTime } from "../Types.js";
13
13
 
14
14
  import {
@@ -32,6 +32,7 @@ export abstract class PM_WithProcesses extends PM_WithGit {
32
32
  nodeMetafileWatcher: fs.FSWatcher;
33
33
  importMetafileWatcher: fs.FSWatcher;
34
34
  pitonoMetafileWatcher: fs.FSWatcher;
35
+ golangMetafileWatcher: fs.FSWatcher;
35
36
 
36
37
  ports: Record<number, string>;
37
38
  queue: string[];
@@ -56,6 +57,16 @@ export abstract class PM_WithProcesses extends PM_WithGit {
56
57
  });
57
58
  }
58
59
 
60
+ bddTestIsRunning(src: string) {
61
+ this.summary[src] = {
62
+ prompt: "?",
63
+ runTimeErrors: "?",
64
+ staticErrors: "?",
65
+ typeErrors: "?",
66
+ failingFeatures: {},
67
+ };
68
+ }
69
+
59
70
  async metafileOutputs(platform: IRunTime) {
60
71
  let metafilePath: string;
61
72
  if (platform === "python") {
@@ -64,18 +75,6 @@ export abstract class PM_WithProcesses extends PM_WithGit {
64
75
  metafilePath = `./testeranto/metafiles/${platform}/${this.name}.json`;
65
76
  }
66
77
 
67
- // Check if the file exists
68
- if (!fs.existsSync(metafilePath)) {
69
- if (platform === "python") {
70
- console.log(
71
- ansiC.yellow(
72
- ansiC.inverse(`Pitono metafile not found yet: ${metafilePath}`)
73
- )
74
- );
75
- }
76
- return;
77
- }
78
-
79
78
  let metafile;
80
79
  try {
81
80
  const fileContent = fs.readFileSync(metafilePath).toString();
@@ -93,20 +92,29 @@ export abstract class PM_WithProcesses extends PM_WithGit {
93
92
  );
94
93
  return;
95
94
  }
95
+ // console.log(
96
+ // ansiC.blue(
97
+ // `Found metafile for ${platform} with ${
98
+ // Object.keys(metafile.outputs || {}).length
99
+ // } outputs`
100
+ // )
101
+ // );
96
102
  } catch (error) {
97
103
  console.error(`Error reading metafile at ${metafilePath}:`, error);
98
104
  return;
99
105
  }
100
106
 
101
107
  const outputs: IOutputs | undefined = metafile.outputs;
102
-
108
+
103
109
  // Check if outputs exists and is an object
104
- if (!outputs || typeof outputs !== 'object') {
105
- console.log(
106
- ansiC.yellow(ansiC.inverse(`No outputs found in metafile at ${metafilePath}`))
107
- );
108
- return;
109
- }
110
+ // if (!outputs || typeof outputs !== "object") {
111
+ // console.log(
112
+ // ansiC.yellow(
113
+ // ansiC.inverse(`No outputs found in metafile at ${metafilePath}`)
114
+ // )
115
+ // );
116
+ // return;
117
+ // }
110
118
 
111
119
  Object.keys(outputs).forEach(async (k) => {
112
120
  const pattern = `testeranto/bundles/${platform}/${this.name}/${this.configs.src}`;
@@ -134,27 +142,203 @@ export abstract class PM_WithProcesses extends PM_WithGit {
134
142
  fs.mkdirSync(f, { recursive: true });
135
143
  }
136
144
 
137
- const entrypoint = output.entryPoint;
145
+ let entrypoint = output.entryPoint;
138
146
 
139
147
  if (entrypoint) {
148
+ // Normalize the entrypoint path to ensure consistent comparison
149
+ entrypoint = path.normalize(entrypoint);
150
+
140
151
  const changeDigest = await filesHash(addableFiles);
141
152
 
142
153
  if (changeDigest === changes[entrypoint]) {
143
154
  // skip
144
155
  } else {
145
156
  changes[entrypoint] = changeDigest;
146
- this.tscCheck({
147
- platform,
148
- addableFiles,
149
- entrypoint: entrypoint,
150
- });
151
- this.eslintCheck(entrypoint, platform, addableFiles);
157
+
158
+ // Run appropriate static analysis based on platform
159
+ if (
160
+ platform === "node" ||
161
+ platform === "web" ||
162
+ platform === "pure"
163
+ ) {
164
+ this.tscCheck({
165
+ platform,
166
+ addableFiles,
167
+ entrypoint: entrypoint,
168
+ });
169
+ this.eslintCheck(entrypoint, platform, addableFiles);
170
+ } else if (platform === "python") {
171
+ this.pythonLintCheck(entrypoint, addableFiles);
172
+ this.pythonTypeCheck(entrypoint, addableFiles);
173
+ }
174
+
152
175
  this.makePrompt(entrypoint, addableFiles, platform);
176
+
177
+ const testName = this.findTestNameByEntrypoint(entrypoint, platform);
178
+ if (testName) {
179
+ console.log(
180
+ ansiC.green(
181
+ ansiC.inverse(
182
+ `Source files changed, re-queueing test: ${testName}`
183
+ )
184
+ )
185
+ );
186
+ this.addToQueue(testName, platform);
187
+ } else {
188
+ console.error(
189
+ `Could not find test for entrypoint: ${entrypoint} (${platform})`
190
+ );
191
+ process.exit(-1);
192
+ }
153
193
  }
154
194
  }
155
195
  });
156
196
  }
157
197
 
198
+ private findTestNameByEntrypoint(
199
+ entrypoint: string,
200
+ platform: IRunTime
201
+ ): string | null {
202
+ const runnables = getRunnables(this.configs.tests, this.name);
203
+
204
+ let entryPointsMap: Record<string, string>;
205
+
206
+ switch (platform) {
207
+ case "node":
208
+ entryPointsMap = runnables.nodeEntryPoints;
209
+ break;
210
+ case "web":
211
+ entryPointsMap = runnables.webEntryPoints;
212
+ break;
213
+ case "pure":
214
+ entryPointsMap = runnables.pureEntryPoints;
215
+ break;
216
+ case "python":
217
+ entryPointsMap = runnables.pythonEntryPoints;
218
+ break;
219
+ case "golang":
220
+ entryPointsMap = runnables.golangEntryPoints;
221
+ break;
222
+ default:
223
+ throw "wtf";
224
+ }
225
+
226
+ if (!entryPointsMap) {
227
+ console.error("idk");
228
+ }
229
+
230
+ if (!entryPointsMap[entrypoint]) {
231
+ console.error("idk2");
232
+ }
233
+
234
+ return entryPointsMap[entrypoint];
235
+ }
236
+
237
+ async pythonLintCheck(entrypoint: string, addableFiles: string[]) {
238
+ const reportDest = `testeranto/reports/${this.name}/${entrypoint
239
+ .split(".")
240
+ .slice(0, -1)
241
+ .join(".")}/python`;
242
+
243
+ if (!fs.existsSync(reportDest)) {
244
+ fs.mkdirSync(reportDest, { recursive: true });
245
+ }
246
+
247
+ const lintErrorsPath = `${reportDest}/lint_errors.txt`;
248
+
249
+ try {
250
+ // Use flake8 for Python linting
251
+ const { spawn } = await import("child_process");
252
+ const child = spawn("flake8", [entrypoint, "--max-line-length=88"], {
253
+ stdio: ["pipe", "pipe", "pipe"],
254
+ });
255
+
256
+ let stderr = "";
257
+ child.stderr.on("data", (data) => {
258
+ stderr += data.toString();
259
+ });
260
+
261
+ let stdout = "";
262
+ child.stdout.on("data", (data) => {
263
+ stdout += data.toString();
264
+ });
265
+
266
+ return new Promise<void>((resolve) => {
267
+ child.on("close", (code) => {
268
+ const output = stdout + stderr;
269
+ if (output.trim()) {
270
+ fs.writeFileSync(lintErrorsPath, output);
271
+ this.summary[entrypoint].staticErrors = output.split("\n").length;
272
+ } else {
273
+ if (fs.existsSync(lintErrorsPath)) {
274
+ fs.unlinkSync(lintErrorsPath);
275
+ }
276
+ this.summary[entrypoint].staticErrors = 0;
277
+ }
278
+ resolve();
279
+ });
280
+ });
281
+ } catch (error) {
282
+ console.error(`Error running flake8 on ${entrypoint}:`, error);
283
+ fs.writeFileSync(
284
+ lintErrorsPath,
285
+ `Error running flake8: ${error.message}`
286
+ );
287
+ this.summary[entrypoint].staticErrors = -1;
288
+ }
289
+ }
290
+
291
+ async pythonTypeCheck(entrypoint: string, addableFiles: string[]) {
292
+ const reportDest = `testeranto/reports/${this.name}/${entrypoint
293
+ .split(".")
294
+ .slice(0, -1)
295
+ .join(".")}/python`;
296
+
297
+ if (!fs.existsSync(reportDest)) {
298
+ fs.mkdirSync(reportDest, { recursive: true });
299
+ }
300
+
301
+ const typeErrorsPath = `${reportDest}/type_errors.txt`;
302
+
303
+ try {
304
+ // Use mypy for Python type checking
305
+ const { spawn } = await import("child_process");
306
+ const child = spawn("mypy", [entrypoint], {
307
+ stdio: ["pipe", "pipe", "pipe"],
308
+ });
309
+
310
+ let stderr = "";
311
+ child.stderr.on("data", (data) => {
312
+ stderr += data.toString();
313
+ });
314
+
315
+ let stdout = "";
316
+ child.stdout.on("data", (data) => {
317
+ stdout += data.toString();
318
+ });
319
+
320
+ return new Promise<void>((resolve) => {
321
+ child.on("close", (code) => {
322
+ const output = stdout + stderr;
323
+ if (output.trim()) {
324
+ fs.writeFileSync(typeErrorsPath, output);
325
+ this.summary[entrypoint].typeErrors = output.split("\n").length;
326
+ } else {
327
+ if (fs.existsSync(typeErrorsPath)) {
328
+ fs.unlinkSync(typeErrorsPath);
329
+ }
330
+ this.summary[entrypoint].typeErrors = 0;
331
+ }
332
+ resolve();
333
+ });
334
+ });
335
+ } catch (error) {
336
+ console.error(`Error running mypy on ${entrypoint}:`, error);
337
+ fs.writeFileSync(typeErrorsPath, `Error running mypy: ${error.message}`);
338
+ this.summary[entrypoint].typeErrors = -1;
339
+ }
340
+ }
341
+
158
342
  async start() {
159
343
  // Wait for build processes to complete first
160
344
  try {
@@ -184,154 +368,113 @@ export abstract class PM_WithProcesses extends PM_WithGit {
184
368
  );
185
369
  }
186
370
 
371
+ const runnables = getRunnables(this.configs.tests, this.name);
187
372
  const {
188
373
  nodeEntryPoints,
189
374
  webEntryPoints,
190
375
  pureEntryPoints,
191
376
  pythonEntryPoints,
192
377
  golangEntryPoints,
193
- } = getRunnables(this.configs.tests, this.name);
378
+ } = runnables;
194
379
 
195
- [
196
- [
197
- nodeEntryPoints,
198
- this.launchNode,
199
- "node",
200
- (w) => {
201
- this.nodeMetafileWatcher = w;
202
- },
203
- ],
204
- [
205
- webEntryPoints,
206
- this.launchWeb,
207
- "web",
208
- (w) => {
209
- this.webMetafileWatcher = w;
210
- },
211
- ],
212
- [
213
- pureEntryPoints,
214
- this.launchPure,
215
- "pure",
216
- (w) => {
217
- this.importMetafileWatcher = w;
218
- },
219
- ],
220
- [
221
- pythonEntryPoints,
222
- this.launchPython,
223
- "python",
224
- (w) => {
225
- this.pitonoMetafileWatcher = w;
226
- },
227
- ],
228
- [
229
- golangEntryPoints,
230
- this.launchGolang,
231
- "golang",
232
- (w) => {
233
- // You might want to handle golang metafile watching here
234
- },
235
- ],
236
- ].forEach(
237
- async ([eps, launcher, runtime, watcher]: [
238
- Record<string, string>,
239
- (src: string, dest: string) => Promise<void>,
240
- IRunTime,
241
- (f: fs.FSWatcher) => void
242
- ]) => {
243
- let metafile: string;
244
- if (runtime === "python") {
245
- metafile = `./testeranto/metafiles/python/core.json`;
246
-
247
- const metafileDir = path.dirname(metafile);
248
- if (!fs.existsSync(metafileDir)) {
249
- fs.mkdirSync(metafileDir, { recursive: true });
250
- }
251
- } else {
252
- metafile = `./testeranto/metafiles/${runtime}/${this.name}.json`;
253
- }
380
+ // Debug: log the runnables to see what we're working with
381
+ console.log(
382
+ ansiC.blue(
383
+ `Runnables for ${this.name}:\n` +
384
+ `Node: ${JSON.stringify(nodeEntryPoints, null, 2)}\n` +
385
+ `Web: ${JSON.stringify(webEntryPoints, null, 2)}\n` +
386
+ `Pure: ${JSON.stringify(pureEntryPoints, null, 2)}\n` +
387
+ `Python: ${JSON.stringify(pythonEntryPoints, null, 2)}\n` +
388
+ `Golang: ${JSON.stringify(golangEntryPoints, null, 2)}`
389
+ )
390
+ );
254
391
 
255
- // Only poll for file if it's not a pitono runtime
256
- if (runtime !== "python") {
257
- await pollForFile(metafile);
392
+ // Add all tests to the queue
393
+ [
394
+ ["node", nodeEntryPoints],
395
+ ["web", webEntryPoints],
396
+ ["pure", pureEntryPoints],
397
+ ["python", pythonEntryPoints],
398
+ ["golang", golangEntryPoints],
399
+ ].forEach(([runtime, entryPoints]: [IRunTime, Record<string, string>]) => {
400
+ Object.keys(entryPoints).forEach((entryPoint) => {
401
+ // Create the report directory
402
+ const reportDest = `testeranto/reports/${this.name}/${entryPoint
403
+ .split(".")
404
+ .slice(0, -1)
405
+ .join(".")}/${runtime}`;
406
+ if (!fs.existsSync(reportDest)) {
407
+ fs.mkdirSync(reportDest, { recursive: true });
258
408
  }
259
409
 
260
- Object.entries(eps).forEach(
261
- async ([inputFile, outputFile]: [string, string]) => {
262
- this.launchers[inputFile] = () => launcher(inputFile, outputFile);
263
- this.launchers[inputFile]();
264
-
265
- try {
266
- // Check if the file exists before watching
267
- if (fs.existsSync(outputFile)) {
268
- watch(outputFile, async (e, filename) => {
269
- const hash = await fileHash(outputFile);
270
- if (fileHashes[inputFile] !== hash) {
271
- fileHashes[inputFile] = hash;
272
- console.log(
273
- ansiC.yellow(ansiC.inverse(`< ${e} ${filename}`))
274
- );
275
- this.launchers[inputFile]();
276
- }
277
- });
278
- } else {
279
- console.log(
280
- ansiC.yellow(
281
- ansiC.inverse(
282
- `File not found, skipping watch: ${outputFile}`
283
- )
284
- )
285
- );
286
- }
287
- } catch (e) {
288
- console.error(e);
289
- }
290
- }
291
- );
410
+ // Add to the processing queue
411
+ this.addToQueue(entryPoint, runtime);
412
+ });
413
+ });
292
414
 
293
- this.metafileOutputs(runtime);
415
+ // Set up metafile watchers for each runtime
416
+ [
417
+ ["node", nodeEntryPoints],
418
+ ["web", webEntryPoints],
419
+ ["pure", pureEntryPoints],
420
+ ["python", pythonEntryPoints],
421
+ ["golang", golangEntryPoints],
422
+ ].forEach(
423
+ async ([runtime, entryPoints]: [IRunTime, Record<string, string>]) => {
424
+ if (Object.keys(entryPoints).length === 0) return;
294
425
 
295
- // For pitono, we need to wait for the file to be created
296
- if (runtime === "python") {
297
- // Use polling to wait for the file to exist
298
- const checkFileExists = () => {
299
- if (fs.existsSync(metafile)) {
426
+ const metafile = `./testeranto/metafiles/${runtime}/${this.name}.json`;
427
+ try {
428
+ await pollForFile(metafile);
429
+ // console.log("Found metafile for", runtime, metafile);
430
+
431
+ // Set up watcher for the metafile with debouncing
432
+ let timeoutId: NodeJS.Timeout;
433
+ const watcher = watch(metafile, async (e, filename) => {
434
+ // Debounce to avoid multiple rapid triggers
435
+ clearTimeout(timeoutId);
436
+ timeoutId = setTimeout(async () => {
300
437
  console.log(
301
- ansiC.green(ansiC.inverse(`Pitono metafile found: ${metafile}`))
302
- );
303
- // Set up the watcher once the file exists
304
- watcher(
305
- watch(metafile, async (e, filename) => {
306
- console.log(
307
- ansiC.yellow(
308
- ansiC.inverse(`< ${e} ${filename} (${runtime})`)
309
- )
310
- );
311
- this.metafileOutputs(runtime);
312
- })
438
+ ansiC.yellow(ansiC.inverse(`< ${e} ${filename} (${runtime})`))
313
439
  );
314
- // Read the metafile immediately
315
- this.metafileOutputs(runtime);
316
- } else {
317
- // Check again after a delay
318
- setTimeout(checkFileExists, 1000);
319
- }
320
- };
321
- // Start checking for the file
322
- checkFileExists();
323
- } else {
324
- // For other runtimes, only set up watcher if the file exists
325
- if (fs.existsSync(metafile)) {
326
- watcher(
327
- watch(metafile, async (e, filename) => {
440
+ try {
441
+ await this.metafileOutputs(runtime as IRunTime);
442
+ // After processing metafile changes, check the queue to run tests
328
443
  console.log(
329
- ansiC.yellow(ansiC.inverse(`< ${e} ${filename} (${runtime})`))
444
+ ansiC.blue(
445
+ `Metafile processed, checking queue for tests to run`
446
+ )
330
447
  );
331
- this.metafileOutputs(runtime);
332
- })
333
- );
448
+ this.checkQueue();
449
+ } catch (error) {
450
+ console.error(`Error processing metafile changes:`, error);
451
+ }
452
+ }, 300); // 300ms debounce
453
+ });
454
+
455
+ // Store the watcher based on runtime
456
+ switch (runtime) {
457
+ case "node":
458
+ this.nodeMetafileWatcher = watcher;
459
+ break;
460
+ case "web":
461
+ this.webMetafileWatcher = watcher;
462
+ break;
463
+ case "pure":
464
+ this.importMetafileWatcher = watcher;
465
+ break;
466
+ case "python":
467
+ this.pitonoMetafileWatcher = watcher;
468
+ break;
469
+ case "golang":
470
+ this.golangMetafileWatcher = watcher;
471
+ break;
334
472
  }
473
+
474
+ // Read the metafile immediately
475
+ await this.metafileOutputs(runtime as IRunTime);
476
+ } catch (error) {
477
+ console.error(`Error setting up watcher for ${runtime}:`, error);
335
478
  }
336
479
  }
337
480
  );
@@ -490,77 +633,195 @@ export abstract class PM_WithProcesses extends PM_WithGit {
490
633
  }
491
634
 
492
635
  addToQueue(src: string, runtime: IRunTime) {
493
- // Add the test to the queue
494
- this.queue.push(src);
495
- console.log(
496
- ansiC.green(
497
- ansiC.inverse(`Added ${src} (${runtime}) to the processing queue`)
498
- )
499
- );
500
- // Try to process the queue
501
- this.checkQueue();
636
+ // Ensure we're using the original test source path, not a bundle path
637
+ // The src parameter might be a bundle path from metafile changes
638
+ // We need to find the corresponding test source path
639
+
640
+ // First, check if this looks like a bundle path (contains 'testeranto/bundles')
641
+ if (src.includes("testeranto/bundles")) {
642
+ // Try to find the original test name that corresponds to this bundle
643
+ const runnables = getRunnables(this.configs.tests, this.name);
644
+ const allEntryPoints = [
645
+ ...Object.entries(runnables.nodeEntryPoints),
646
+ ...Object.entries(runnables.webEntryPoints),
647
+ ...Object.entries(runnables.pureEntryPoints),
648
+ ...Object.entries(runnables.pythonEntryPoints),
649
+ ...Object.entries(runnables.golangEntryPoints),
650
+ ];
651
+
652
+ // Normalize the source path for comparison
653
+ const normalizedSrc = path.normalize(src);
654
+
655
+ for (const [testName, bundlePath] of allEntryPoints) {
656
+ const normalizedBundlePath = path.normalize(bundlePath);
657
+ // Check if the source path ends with the bundle path
658
+ if (normalizedSrc.endsWith(normalizedBundlePath)) {
659
+ // Use the original test name instead of the bundle path
660
+ src = testName;
661
+ break;
662
+ }
663
+ }
664
+ }
665
+
666
+ // First, clean up any existing processes for this test
667
+ this.cleanupTestProcesses(src);
668
+
669
+ // Add the test to the queue (using the original test source path)
670
+ // Make sure we don't add duplicates
671
+ if (!this.queue.includes(src)) {
672
+ this.queue.push(src);
673
+ console.log(
674
+ ansiC.green(
675
+ ansiC.inverse(`Added ${src} (${runtime}) to the processing queue`)
676
+ )
677
+ );
678
+ // Try to process the queue
679
+ this.checkQueue();
680
+ } else {
681
+ console.log(
682
+ ansiC.yellow(
683
+ ansiC.inverse(`Test ${src} is already in the queue, skipping`)
684
+ )
685
+ );
686
+ }
502
687
  }
503
688
 
504
- checkQueue() {
505
- const x = this.queue.pop();
506
- if (!x) {
507
- ansiC.inverse(`The following queue is empty`);
508
- return;
689
+ private cleanupTestProcesses(testName: string) {
690
+ // Find and clean up any running processes for this test
691
+ const processesToCleanup: string[] = [];
692
+
693
+ // Find all process IDs that match this test name
694
+ for (const [processId, processInfo] of this.allProcesses.entries()) {
695
+ if (
696
+ processInfo.testName === testName &&
697
+ processInfo.status === "running"
698
+ ) {
699
+ processesToCleanup.push(processId);
700
+ }
509
701
  }
510
- const test = this.configs.tests.find((t) => t[0] === x);
511
- if (!test) throw `test is undefined ${x}`;
512
702
 
513
- // Get the appropriate launcher based on the runtime type
514
- const runtime = test[1];
515
-
516
- // Get the destination path from the runnables
517
- const runnables = getRunnables(this.configs.tests, this.name);
518
- let dest: string;
519
-
520
- switch (runtime) {
521
- case "node":
522
- dest = runnables.nodeEntryPoints[x];
523
- if (dest) {
524
- this.launchNode(x, dest);
525
- } else {
526
- console.error(`No destination found for node test: ${x}`);
527
- }
528
- break;
529
- case "web":
530
- dest = runnables.webEntryPoints[x];
531
- if (dest) {
532
- this.launchWeb(x, dest);
533
- } else {
534
- console.error(`No destination found for web test: ${x}`);
535
- }
536
- break;
537
- case "pure":
538
- dest = runnables.pureEntryPoints[x];
539
- if (dest) {
540
- this.launchPure(x, dest);
541
- } else {
542
- console.error(`No destination found for pure test: ${x}`);
543
- }
544
- break;
545
- case "python":
546
- dest = runnables.pythonEntryPoints[x];
547
- if (dest) {
548
- this.launchPython(x, dest);
549
- } else {
550
- console.error(`No destination found for python test: ${x}`);
703
+ // Clean up each process
704
+ processesToCleanup.forEach((processId) => {
705
+ const processInfo = this.allProcesses.get(processId);
706
+ if (processInfo) {
707
+ // Kill child process if it exists
708
+ if (processInfo.child) {
709
+ try {
710
+ processInfo.child.kill();
711
+ } catch (error) {
712
+ console.error(`Error killing process ${processId}:`, error);
713
+ }
551
714
  }
552
- break;
553
- case "golang":
554
- dest = runnables.golangEntryPoints[x];
555
- if (dest) {
556
- this.launchGolang(x, dest);
557
- } else {
558
- console.error(`No destination found for golang test: ${x}`);
715
+
716
+ // Update process status
717
+ this.allProcesses.set(processId, {
718
+ ...processInfo,
719
+ status: "exited",
720
+ exitCode: -1,
721
+ error: "Killed due to source file change",
722
+ });
723
+
724
+ // Remove from running processes
725
+ this.runningProcesses.delete(processId);
726
+
727
+ // Broadcast process exit
728
+ this.broadcast({
729
+ type: "processExited",
730
+ processId,
731
+ exitCode: -1,
732
+ timestamp: new Date().toISOString(),
733
+ logs: ["Process killed due to source file change"],
734
+ });
735
+ }
736
+ });
737
+ }
738
+
739
+ checkQueue() {
740
+ // Process all items in the queue
741
+ while (this.queue.length > 0) {
742
+ const x = this.queue.pop();
743
+ if (!x) continue;
744
+
745
+ // Check if this test is already running
746
+ let isRunning = false;
747
+ for (const processInfo of this.allProcesses.values()) {
748
+ if (processInfo.testName === x && processInfo.status === "running") {
749
+ isRunning = true;
750
+ break;
559
751
  }
560
- break;
561
- default:
562
- console.error(`Unknown runtime: ${runtime} for test ${x}`);
563
- break;
752
+ }
753
+
754
+ if (isRunning) {
755
+ console.log(
756
+ ansiC.yellow(
757
+ `Skipping ${x} - already running, will be re-queued when current run completes`
758
+ )
759
+ );
760
+ continue;
761
+ }
762
+
763
+ const test = this.configs.tests.find((t) => t[0] === x);
764
+ if (!test) {
765
+ console.error(`test is undefined ${x}`);
766
+ continue;
767
+ }
768
+
769
+ // Get the appropriate launcher based on the runtime type
770
+ const runtime = test[1];
771
+
772
+ // Get the destination path from the runnables
773
+ const runnables = getRunnables(this.configs.tests, this.name);
774
+ let dest: string;
775
+
776
+ switch (runtime) {
777
+ case "node":
778
+ dest = runnables.nodeEntryPoints[x];
779
+ if (dest) {
780
+ this.launchNode(x, dest);
781
+ } else {
782
+ console.error(`No destination found for node test: ${x}`);
783
+ }
784
+ break;
785
+ case "web":
786
+ dest = runnables.webEntryPoints[x];
787
+ if (dest) {
788
+ this.launchWeb(x, dest);
789
+ } else {
790
+ console.error(`No destination found for web test: ${x}`);
791
+ }
792
+ break;
793
+ case "pure":
794
+ dest = runnables.pureEntryPoints[x];
795
+ if (dest) {
796
+ this.launchPure(x, dest);
797
+ } else {
798
+ console.error(`No destination found for pure test: ${x}`);
799
+ }
800
+ break;
801
+ case "python":
802
+ dest = runnables.pythonEntryPoints[x];
803
+ if (dest) {
804
+ this.launchPython(x, dest);
805
+ } else {
806
+ console.error(`No destination found for python test: ${x}`);
807
+ }
808
+ break;
809
+ case "golang":
810
+ dest = runnables.golangEntryPoints[x];
811
+ if (dest) {
812
+ this.launchGolang(x, dest);
813
+ } else {
814
+ console.error(`No destination found for golang test: ${x}`);
815
+ }
816
+ break;
817
+ default:
818
+ console.error(`Unknown runtime: ${runtime} for test ${x}`);
819
+ break;
820
+ }
821
+ }
822
+
823
+ if (this.queue.length === 0) {
824
+ console.log(ansiC.inverse(`The queue is empty`));
564
825
  }
565
826
  }
566
827