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
@@ -1,165 +1,869 @@
1
- import { execSync } from "child_process";
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
3
  import fs from "fs";
3
4
  import path from "path";
4
5
 
5
- export interface GolingvuBuildResult {
6
+ export interface GolingvuMetafile {
6
7
  errors: any[];
7
8
  warnings: any[];
8
- metafile?: {
9
- inputs: Record<string, {
10
- bytes: number;
11
- imports: any[];
12
- }>;
13
- outputs: Record<
9
+ metafile: {
10
+ inputs: Record<
14
11
  string,
15
12
  {
16
13
  bytes: number;
17
- inputs: Record<string, { bytesInOutput: number }>;
14
+ imports: {
15
+ path: string;
16
+ kind: string;
17
+ external?: boolean;
18
+ }[];
19
+ format?: string;
20
+ }
21
+ >;
22
+ outputs: Record<
23
+ string,
24
+ {
25
+ imports: any[];
26
+ exports: any[];
18
27
  entryPoint: string;
28
+ inputs: Record<
29
+ string,
30
+ {
31
+ bytesInOutput: number;
32
+ }
33
+ >;
34
+ bytes: number;
35
+ signature: string;
19
36
  }
20
37
  >;
21
38
  };
22
39
  }
23
40
 
24
- export async function generateGolangMetafile(testName: string, entryPoints: string[]): Promise<GolingvuBuildResult> {
25
- const outputs: Record<
26
- string,
27
- {
28
- entryPoint: string;
29
- inputs: Record<string, { bytesInOutput: number }>;
30
- bytes: number;
41
+ import { execSync } from "child_process";
42
+
43
+ interface GoListOutput {
44
+ Dir: string;
45
+ ImportPath: string;
46
+ ImportComment?: string;
47
+ Name: string;
48
+ Target?: string;
49
+ Stale?: boolean;
50
+ StaleReason?: string;
51
+ Root?: string;
52
+ GoFiles?: string[];
53
+ CgoFiles?: string[];
54
+ IgnoredGoFiles?: string[];
55
+ CFiles?: string[];
56
+ CXXFiles?: string[];
57
+ MFiles?: string[];
58
+ HFiles?: string[];
59
+ FFiles?: string[];
60
+ SFiles?: string[];
61
+ SwigFiles?: string[];
62
+ SwigCXXFiles?: string[];
63
+ SysoFiles?: string[];
64
+ Imports?: string[];
65
+ Deps?: string[];
66
+ TestImports?: string[];
67
+ XTestImports?: string[];
68
+ Module?: {
69
+ Path: string;
70
+ Version: string;
71
+ Replace?: {
72
+ Path: string;
73
+ Version: string;
74
+ };
75
+ Main: boolean;
76
+ Dir: string;
77
+ GoMod: string;
78
+ GoVersion: string;
79
+ };
80
+ Match?: string[];
81
+ DepOnly?: boolean;
82
+ Standard?: boolean;
83
+ }
84
+
85
+ function runGoList(pattern: string): GoListOutput[] {
86
+ try {
87
+ // First, check if the pattern is a file path and convert it to a package path
88
+ let processedPattern = pattern;
89
+ if (fs.existsSync(pattern) && pattern.endsWith(".go")) {
90
+ // Get the directory of the file
91
+ const dir = path.dirname(pattern);
92
+ // Use the directory as the pattern
93
+ processedPattern = dir;
31
94
  }
32
- > = {};
33
95
 
34
- // Process each Go entry point
35
- for (const entryPoint of entryPoints) {
96
+ const output = execSync(`go list -mod=readonly -json ${processedPattern}`, {
97
+ encoding: "utf-8",
98
+ cwd: process.cwd(),
99
+ stdio: ["pipe", "pipe", "pipe"],
100
+ });
101
+
102
+ // The output is a sequence of JSON objects, not a JSON array
103
+ // We need to split them and parse individually
104
+ const objects: GoListOutput[] = [];
105
+ let buffer = "";
106
+ let depth = 0;
107
+ let inString = false;
108
+ let escapeNext = false;
109
+
110
+ for (const char of output) {
111
+ if (escapeNext) {
112
+ buffer += char;
113
+ escapeNext = false;
114
+ continue;
115
+ }
116
+
117
+ if (char === "\\") {
118
+ escapeNext = true;
119
+ buffer += char;
120
+ continue;
121
+ }
122
+
123
+ if (char === '"') {
124
+ inString = !inString;
125
+ }
126
+
127
+ if (!inString) {
128
+ if (char === "{") {
129
+ depth++;
130
+ } else if (char === "}") {
131
+ depth--;
132
+ if (depth === 0) {
133
+ try {
134
+ objects.push(JSON.parse(buffer + char));
135
+ buffer = "";
136
+ continue;
137
+ } catch (e) {
138
+ console.warn("Failed to parse JSON object:", buffer + char);
139
+ buffer = "";
140
+ }
141
+ }
142
+ }
143
+ }
144
+
145
+ if (depth > 0 || buffer.length > 0) {
146
+ buffer += char;
147
+ }
148
+ }
149
+ return objects;
150
+ } catch (error) {
151
+ console.warn(`Error running 'go list -json ${pattern}':`, error);
152
+ // Fall back to using the current directory
36
153
  try {
37
- // Get the package directory to find all Go files in the same package
38
- const entryDir = path.dirname(entryPoint);
39
-
40
- // Find all .go files in the same directory
41
- const goFiles = fs.readdirSync(entryDir)
42
- .filter(file => file.endsWith('.go'))
43
- .map(file => path.join(entryDir, file));
44
-
45
- // Create inputs record
46
- const inputs: Record<string, { bytesInOutput: number }> = {};
47
- let totalBytes = 0;
48
-
49
- for (const file of goFiles) {
50
- try {
51
- const stats = fs.statSync(file);
52
- inputs[file] = { bytesInOutput: stats.size };
53
- totalBytes += stats.size;
54
- } catch {
55
- inputs[file] = { bytesInOutput: 0 };
154
+ const output = execSync(`go list -mod=readonly -json .`, {
155
+ encoding: "utf-8",
156
+ cwd: process.cwd(),
157
+ stdio: ["pipe", "pipe", "pipe"],
158
+ });
159
+
160
+ // Parse the output
161
+ const objects: GoListOutput[] = [];
162
+ let buffer = "";
163
+ let depth = 0;
164
+ let inString = false;
165
+ let escapeNext = false;
166
+
167
+ for (const char of output) {
168
+ if (escapeNext) {
169
+ buffer += char;
170
+ escapeNext = false;
171
+ continue;
172
+ }
173
+
174
+ if (char === "\\") {
175
+ escapeNext = true;
176
+ buffer += char;
177
+ continue;
178
+ }
179
+
180
+ if (char === '"') {
181
+ inString = !inString;
182
+ }
183
+
184
+ if (!inString) {
185
+ if (char === "{") {
186
+ depth++;
187
+ } else if (char === "}") {
188
+ depth--;
189
+ if (depth === 0) {
190
+ try {
191
+ objects.push(JSON.parse(buffer + char));
192
+ buffer = "";
193
+ continue;
194
+ } catch (e) {
195
+ console.warn("Failed to parse JSON object:", buffer + char);
196
+ buffer = "";
197
+ }
198
+ }
199
+ }
200
+ }
201
+
202
+ if (depth > 0 || buffer.length > 0) {
203
+ buffer += char;
204
+ }
205
+ }
206
+ return objects;
207
+ } catch (fallbackError) {
208
+ console.warn("Fallback go list also failed:", fallbackError);
209
+ return [];
210
+ }
211
+ }
212
+ }
213
+
214
+ function findGoFilesInProject(): string[] {
215
+ // Use go list to find all Go files in the current module
216
+ const packages = runGoList("./...");
217
+ const goFiles: string[] = [];
218
+
219
+ for (const pkg of packages) {
220
+ if (pkg.GoFiles) {
221
+ for (const file of pkg.GoFiles) {
222
+ goFiles.push(path.join(pkg.Dir, file));
223
+ }
224
+ }
225
+ // Also include CgoFiles and other file types if needed
226
+ if (pkg.CgoFiles) {
227
+ for (const file of pkg.CgoFiles) {
228
+ goFiles.push(path.join(pkg.Dir, file));
229
+ }
230
+ }
231
+ }
232
+
233
+ return goFiles;
234
+ }
235
+
236
+ function collectGoDependencies(
237
+ filePath: string,
238
+ visited: Set<string> = new Set()
239
+ ): string[] {
240
+ if (visited.has(filePath)) return [];
241
+ visited.add(filePath);
242
+
243
+ const dependencies: string[] = [filePath];
244
+
245
+ // Find the package this file belongs to by looking at the directory
246
+ const dir = path.dirname(filePath);
247
+
248
+ // Always include other .go files in the same directory
249
+ try {
250
+ const files = fs.readdirSync(dir);
251
+ for (const file of files) {
252
+ if (file.endsWith(".go") && file !== path.basename(filePath)) {
253
+ const fullPath = path.join(dir, file);
254
+ dependencies.push(fullPath);
255
+ }
256
+ }
257
+ } catch (error) {
258
+ console.warn(`Could not read directory ${dir}:`, error);
259
+ }
260
+
261
+ // Parse imports from the file content to find local imports
262
+ try {
263
+ const content = fs.readFileSync(filePath, "utf-8");
264
+ const importRegex = /import\s*(?:\(\s*([\s\S]*?)\s*\)|"([^"]+)")/g;
265
+
266
+ let match;
267
+ while ((match = importRegex.exec(content)) !== null) {
268
+ if (match[2]) {
269
+ // Single import
270
+ const importPath = match[2].trim();
271
+ processImport(importPath, dir, dependencies, visited);
272
+ } else if (match[1]) {
273
+ // Multi-line imports in parentheses
274
+ const importBlock = match[1];
275
+ const importLines = importBlock
276
+ .split("\n")
277
+ .map((line) => line.trim())
278
+ .filter((line) => line.length > 0 && !line.startsWith("//"));
279
+
280
+ for (const line of importLines) {
281
+ const lineMatch = line.match(/"([^"]+)"/);
282
+ if (lineMatch) {
283
+ const importPath = lineMatch[1].trim();
284
+ processImport(importPath, dir, dependencies, visited);
285
+ }
56
286
  }
57
287
  }
58
-
59
- // Add the entry point itself if not already included
60
- if (!inputs[entryPoint]) {
288
+ }
289
+ } catch (error) {
290
+ console.warn(`Could not read file ${filePath} for import parsing:`, error);
291
+ }
292
+
293
+ return [...new Set(dependencies)];
294
+ }
295
+
296
+ function processImport(
297
+ importPath: string,
298
+ currentDir: string,
299
+ dependencies: string[],
300
+ visited: Set<string>
301
+ ) {
302
+ // Check if it's a standard library import (no dots in first path element)
303
+ const firstPathElement = importPath.split("/")[0];
304
+ const isExternal = firstPathElement.includes(".");
305
+
306
+ // If it's not external, it's either standard library or local
307
+ // For local imports, they should be relative to the current module root
308
+ if (!isExternal) {
309
+ // Try to find the imported file locally
310
+ // Look in vendor directory first (common for Go projects)
311
+ const potentialPaths = [
312
+ path.join(process.cwd(), "vendor", importPath),
313
+ path.join(currentDir, importPath),
314
+ path.join(process.cwd(), importPath),
315
+ path.join(process.cwd(), "src", importPath),
316
+ ];
317
+
318
+ for (const potentialPath of potentialPaths) {
319
+ // Check if it's a directory with .go files
320
+ if (
321
+ fs.existsSync(potentialPath) &&
322
+ fs.statSync(potentialPath).isDirectory()
323
+ ) {
61
324
  try {
62
- const entryStats = fs.statSync(entryPoint);
63
- inputs[entryPoint] = { bytesInOutput: entryStats.size };
64
- totalBytes += entryStats.size;
65
- } catch {
66
- inputs[entryPoint] = { bytesInOutput: 0 };
325
+ const files = fs.readdirSync(potentialPath);
326
+ for (const file of files) {
327
+ if (file.endsWith(".go") && !file.endsWith("_test.go")) {
328
+ const fullPath = path.join(potentialPath, file);
329
+ dependencies.push(...collectGoDependencies(fullPath, visited));
330
+ }
331
+ }
332
+ break;
333
+ } catch (error) {
334
+ console.warn(`Could not read directory ${potentialPath}:`, error);
67
335
  }
68
336
  }
337
+ // Check if it's a .go file directly
338
+ const goFilePath = potentialPath + ".go";
339
+ if (fs.existsSync(goFilePath)) {
340
+ dependencies.push(...collectGoDependencies(goFilePath, visited));
341
+ break;
342
+ }
343
+ }
344
+ }
345
+ }
69
346
 
70
- // The output path should match the Node.js structure - use a path in testeranto/bundles
71
- // For Go, we don't have actual bundled outputs, so we'll use a placeholder
72
- const outputPath = `testeranto/bundles/golang/${testName}/${entryPoint}`;
73
- outputs[outputPath] = {
74
- entryPoint: entryPoint, // Use the source file path, not the bundle path
75
- inputs,
76
- bytes: totalBytes
77
- };
78
- } catch (error) {
79
- console.error(`Error processing Go entry point ${entryPoint}:`, error);
347
+ function parseGoImports(
348
+ filePath: string
349
+ ): { path: string; kind: string; external?: boolean }[] {
350
+ // Find the package this file belongs to
351
+ const dir = path.dirname(filePath);
352
+ const packages = runGoList(dir);
353
+
354
+ if (packages.length === 0) {
355
+ return [];
356
+ }
357
+
358
+ const pkg = packages[0];
359
+ const imports: { path: string; kind: string; external?: boolean }[] = [];
360
+
361
+ if (pkg.Imports) {
362
+ for (const importPath of pkg.Imports) {
363
+ // Check if it's a standard library import by seeing if it has a dot in the first path element
364
+ const firstPathElement = importPath.split("/")[0];
365
+ const isExternal = firstPathElement.includes(".");
366
+
367
+ imports.push({
368
+ path: importPath,
369
+ kind: "import-statement",
370
+ external: isExternal,
371
+ });
80
372
  }
81
373
  }
82
374
 
83
- // Create inputs record for the metafile - include all Go files
84
- const allInputs: Record<string, {
85
- bytes: number;
86
- imports: any[];
87
- }> = {};
88
-
89
- // Collect all unique Go files from all entry points
90
- const allGoFiles = new Set<string>();
375
+ // Add standard library imports from the file content
376
+ try {
377
+ const content = fs.readFileSync(filePath, "utf-8");
378
+ const importRegex = /import\s*(?:\(\s*([\s\S]*?)\s*\)|"([^"]+)")/g;
379
+
380
+ let match;
381
+ while ((match = importRegex.exec(content)) !== null) {
382
+ if (match[2]) {
383
+ const importPath = match[2].trim();
384
+ const firstPathElement = importPath.split("/")[0];
385
+ const isExternal = firstPathElement.includes(".");
386
+
387
+ // Check if we already have this import from go list
388
+ if (!imports.some((imp) => imp.path === importPath)) {
389
+ imports.push({
390
+ path: importPath,
391
+ kind: "import-statement",
392
+ external: isExternal,
393
+ });
394
+ }
395
+ } else if (match[1]) {
396
+ const importBlock = match[1];
397
+ const importLines = importBlock
398
+ .split("\n")
399
+ .map((line) => line.trim())
400
+ .filter((line) => line.length > 0 && !line.startsWith("//"));
401
+
402
+ for (const line of importLines) {
403
+ const lineMatch = line.match(/"([^"]+)"/);
404
+ if (lineMatch) {
405
+ const importPath = lineMatch[1].trim();
406
+ const firstPathElement = importPath.split("/")[0];
407
+ const isExternal = firstPathElement.includes(".");
408
+
409
+ if (!imports.some((imp) => imp.path === importPath)) {
410
+ imports.push({
411
+ path: importPath,
412
+ kind: "import-statement",
413
+ external: isExternal,
414
+ });
415
+ }
416
+ }
417
+ }
418
+ }
419
+ }
420
+ } catch (error) {
421
+ console.warn(`Could not read file ${filePath} for import parsing:`, error);
422
+ }
423
+
424
+ return imports;
425
+ }
426
+
427
+ function findProjectRoot(): string {
428
+ // Start from current directory and walk up until we find package.json
429
+ let currentDir = process.cwd();
430
+ while (currentDir !== path.parse(currentDir).root) {
431
+ const packageJsonPath = path.join(currentDir, 'package.json');
432
+ if (fs.existsSync(packageJsonPath)) {
433
+ return currentDir;
434
+ }
435
+ currentDir = path.dirname(currentDir);
436
+ }
437
+ // Fallback to current directory if package.json not found
438
+ return process.cwd();
439
+ }
440
+
441
+ function isGoAvailable(): boolean {
442
+ try {
443
+ execSync("go version", { stdio: "pipe" });
444
+ return true;
445
+ } catch {
446
+ return false;
447
+ }
448
+ }
449
+
450
+ let generationQueue: Promise<GolingvuMetafile> | null = null;
451
+
452
+ export async function generateGolingvuMetafile(
453
+ testName: string,
454
+ entryPoints: string[]
455
+ ): Promise<GolingvuMetafile> {
456
+ // If there's already a generation in progress, wait for it to complete
457
+ if (generationQueue) {
458
+ console.log("Generation already in progress, waiting...");
459
+ return generationQueue;
460
+ }
91
461
 
462
+ generationQueue = (async () => {
463
+ console.log(`Generating Golang metafile for test: ${testName}`);
464
+ console.log(`Entry points provided: ${JSON.stringify(entryPoints)}`);
465
+ console.log(`Current working directory: ${process.cwd()}`);
466
+
467
+ const inputs: Record<string, any> = {};
468
+ const outputs: Record<string, any> = {};
469
+ const signature = Date.now().toString(36);
470
+
471
+ // Check if go is available
472
+ if (!isGoAvailable()) {
473
+ console.warn("Go toolchain is not available. Using fallback method.");
474
+ // Fallback to the original implementation
475
+ // ... (we'll need to include the original implementation here)
476
+ // For now, let's return an empty metafile
477
+ return {
478
+ errors: [],
479
+ warnings: [],
480
+ metafile: {
481
+ inputs: {},
482
+ outputs: {},
483
+ },
484
+ };
485
+ }
486
+
487
+ // If entry points are provided, use them directly
488
+ // Make sure they're not test files
489
+ const filteredEntryPoints: string[] = [];
92
490
  for (const entryPoint of entryPoints) {
93
- try {
94
- const entryDir = path.dirname(entryPoint);
95
-
96
- // Find all .go files in the same directory
97
- const goFiles = fs.readdirSync(entryDir)
98
- .filter(file => file.endsWith('.go'))
99
- .map(file => path.join(entryDir, file));
100
-
101
- goFiles.forEach(file => allGoFiles.add(file));
102
-
103
- // Add the entry point itself
104
- allGoFiles.add(entryPoint);
105
- } catch (error) {
106
- console.error(`Error processing Go entry point ${entryPoint} for source files:`, error);
491
+ const fileName = path.basename(entryPoint);
492
+ if (fileName.includes("_test.go") || fileName.endsWith(".test.go")) {
493
+ console.warn(`Skipping Go test file: ${fileName}`);
494
+ continue;
107
495
  }
496
+ filteredEntryPoints.push(entryPoint);
108
497
  }
498
+ entryPoints = filteredEntryPoints;
109
499
 
110
- // Add all Go files to inputs
111
- for (const filePath of Array.from(allGoFiles)) {
112
- try {
113
- const stats = fs.statSync(filePath);
114
- allInputs[filePath] = {
115
- bytes: stats.size,
116
- imports: [] // Go files don't have imports like JS
117
- };
118
- } catch {
119
- allInputs[filePath] = {
120
- bytes: 0,
121
- imports: []
122
- };
500
+ // If no valid entry points remain, try to find Go files automatically
501
+ // But exclude test files
502
+ if (entryPoints.length === 0) {
503
+ const allGoFiles = findGoFilesInProject();
504
+ // Filter out test files
505
+ entryPoints = allGoFiles.filter((file) => {
506
+ const fileName = path.basename(file);
507
+ return !fileName.includes("_test.go") && !fileName.endsWith(".test.go");
508
+ });
509
+ if (entryPoints.length === 0) {
510
+ console.warn("No non-test Go files found in the project");
511
+ } else {
512
+ console.log(
513
+ `Found ${entryPoints.length} non-test Go files:`,
514
+ entryPoints
515
+ );
123
516
  }
124
517
  }
125
-
126
- // Reformat outputs to match esbuild structure
127
- const esbuildOutputs: Record<string, {
128
- bytes: number;
129
- inputs: Record<string, { bytesInOutput: number }>;
130
- entryPoint: string;
131
- }> = {};
132
- for (const [outputPath, output] of Object.entries(outputs)) {
133
- esbuildOutputs[outputPath] = {
134
- bytes: output.bytes,
135
- inputs: output.inputs,
136
- entryPoint: output.entryPoint
518
+
519
+ // Process each entry point, but skip test files
520
+ for (let i = 0; i < entryPoints.length; i++) {
521
+ let entryPoint = entryPoints[i];
522
+
523
+ // First, try to resolve the path relative to the current working directory
524
+ // Check if the entry point is a relative path and needs to be resolved
525
+ let resolvedPath = entryPoint;
526
+ if (!path.isAbsolute(entryPoint)) {
527
+ resolvedPath = path.join(process.cwd(), entryPoint);
528
+ }
529
+
530
+ // Check if the resolved path exists
531
+ if (!fs.existsSync(resolvedPath)) {
532
+ console.warn(
533
+ `Entry point ${entryPoint} does not exist at ${resolvedPath}`
534
+ );
535
+
536
+ // Try to find the file by looking for it in the example directory
537
+ // The files might be in the example directory relative to the current working directory
538
+ const fileName = path.basename(entryPoint);
539
+ const potentialPaths = [
540
+ path.join(process.cwd(), "example", fileName),
541
+ path.join(process.cwd(), fileName),
542
+ path.join(process.cwd(), "src", "example", fileName),
543
+ path.join(process.cwd(), "src", fileName),
544
+ ];
545
+
546
+ let foundPath = "";
547
+ for (const potentialPath of potentialPaths) {
548
+ if (fs.existsSync(potentialPath)) {
549
+ foundPath = potentialPath;
550
+ console.log(`Found ${fileName} at: ${foundPath}`);
551
+ break;
552
+ }
553
+ }
554
+
555
+ if (!foundPath) {
556
+ console.warn(`Could not find ${fileName} in any common locations`);
557
+ continue;
558
+ }
559
+
560
+ // Update the entry point to use the found path
561
+ entryPoints[i] = foundPath;
562
+ entryPoint = foundPath;
563
+ } else {
564
+ // Use the resolved path
565
+ entryPoints[i] = resolvedPath;
566
+ entryPoint = resolvedPath;
567
+ }
568
+
569
+ // Skip test files - we don't want to generate wrappers for them
570
+ // Also skip files that might be treated as Go tests
571
+ const fileName = path.basename(entryPoint);
572
+ if (fileName.includes("_test.go") || fileName.endsWith(".test.go")) {
573
+ console.log(`Skipping Go test file: ${fileName}`);
574
+ continue;
575
+ }
576
+
577
+ // Collect all dependencies recursively
578
+ const allDependencies = collectGoDependencies(entryPoint);
579
+
580
+ // Process each dependency to add to inputs
581
+ for (const dep of allDependencies) {
582
+ if (!inputs[dep]) {
583
+ const bytes = fs.statSync(dep).size;
584
+ const imports = parseGoImports(dep);
585
+ inputs[dep] = {
586
+ bytes,
587
+ imports,
588
+ format: "esm", // Go doesn't use ES modules, but we'll use this for consistency
589
+ };
590
+ }
591
+ }
592
+
593
+ // Generate output path relative to the testeranto/bundles directory
594
+ // Always use golang/core/ prefix
595
+ // For all testeranto files, use .golingvu.go extension (not _test.go)
596
+ const entryPointName = path.basename(entryPoint, ".go");
597
+ // Always use .golingvu.go extension for consistency
598
+ const baseName = entryPointName;
599
+ const outputKey = `golang/core/${baseName}.golingvu.go`;
600
+
601
+ // Calculate total bytes from all inputs
602
+ const inputBytes: Record<string, { bytesInOutput: number }> = {};
603
+ let totalBytes = 0;
604
+ for (const dep of allDependencies) {
605
+ const bytes = fs.statSync(dep).size;
606
+ inputBytes[dep] = { bytesInOutput: bytes };
607
+ totalBytes += bytes;
608
+ }
609
+
610
+ outputs[outputKey] = {
611
+ imports: [],
612
+ exports: [],
613
+ entryPoint,
614
+ inputs: inputBytes,
615
+ bytes: totalBytes,
616
+ signature,
137
617
  };
138
618
  }
139
-
140
- return {
141
- errors: [],
142
- warnings: [],
143
- metafile: {
144
- inputs: allInputs,
145
- outputs: esbuildOutputs
619
+
620
+ // If no valid entry points were found, ensure we have at least one input and output
621
+ // This prevents empty metafile which could cause issues
622
+ if (Object.keys(inputs).length === 0) {
623
+ // Check if there are any .go files in the current directory
624
+ try {
625
+ const files = fs.readdirSync(process.cwd());
626
+ const goFiles = files.filter((file) => file.endsWith(".go"));
627
+ if (goFiles.length > 0) {
628
+ // Use the first .go file found
629
+ const firstGoFile = path.join(process.cwd(), goFiles[0]);
630
+ const bytes = fs.statSync(firstGoFile).size;
631
+ const imports = parseGoImports(firstGoFile);
632
+ inputs[firstGoFile] = {
633
+ bytes,
634
+ imports,
635
+ format: "esm",
636
+ };
637
+
638
+ outputs[`golang/core/${goFiles[0]}`] = {
639
+ imports: [],
640
+ exports: [],
641
+ entryPoint: firstGoFile,
642
+ inputs: {
643
+ [firstGoFile]: {
644
+ bytesInOutput: bytes,
645
+ },
646
+ },
647
+ bytes,
648
+ signature,
649
+ };
650
+ } else {
651
+ // Fallback to a minimal placeholder if no .go files exist
652
+ // But only if we're in a Go project (has go.mod)
653
+ const goModPath = path.join(process.cwd(), "go.mod");
654
+ if (fs.existsSync(goModPath)) {
655
+ // We're in a Go project but found no Go files - this is unexpected
656
+ console.warn("Found go.mod but no Go files could be processed");
657
+
658
+ inputs["placeholder.go"] = {
659
+ bytes: 0,
660
+ imports: [],
661
+ format: "esm",
662
+ };
663
+ outputs["testeranto/bundles/golang/core/placeholder.go"] = {
664
+ imports: [],
665
+ exports: [],
666
+ entryPoint: "placeholder.go",
667
+ inputs: {
668
+ "placeholder.go": {
669
+ bytesInOutput: 0,
670
+ },
671
+ },
672
+ bytes: 0,
673
+ signature,
674
+ };
675
+ } else {
676
+ // Not a Go project, don't add placeholder to avoid confusion
677
+ console.warn("No Go files found and not in a Go project");
678
+ }
679
+ }
680
+ } catch (error) {
681
+ console.warn("Error finding Go files:", error);
682
+ // Fallback to a minimal placeholder only if we're in a Go project
683
+ const goModPath = path.join(process.cwd(), "go.mod");
684
+ if (fs.existsSync(goModPath)) {
685
+ inputs["placeholder.go"] = {
686
+ bytes: 0,
687
+ imports: [],
688
+ format: "esm",
689
+ };
690
+ outputs["golang/core/placeholder.go"] = {
691
+ imports: [],
692
+ exports: [],
693
+ entryPoint: "placeholder.go",
694
+ inputs: {
695
+ "placeholder.go": {
696
+ bytesInOutput: 0,
697
+ },
698
+ },
699
+ bytes: 0,
700
+ signature,
701
+ };
702
+ }
146
703
  }
147
- };
704
+ }
705
+
706
+ const result = {
707
+ errors: [],
708
+ warnings: [],
709
+ metafile: {
710
+ inputs,
711
+ outputs,
712
+ },
713
+ };
714
+
715
+ generationQueue = null;
716
+ return result;
717
+ })();
718
+
719
+ return generationQueue;
148
720
  }
149
721
 
722
+ // Track how many times this function is called
723
+ let writeGolingvuMetafileCallCount = 0;
150
724
 
151
- export function writeGolangMetafile(
725
+ export function writeGolingvuMetafile(
152
726
  testName: string,
153
- metafile: GolingvuBuildResult
727
+ metafile: GolingvuMetafile
154
728
  ): void {
155
- const metafileDir = path.join(
156
- process.cwd(),
729
+ writeGolingvuMetafileCallCount++;
730
+ console.log(`writeGolingvuMetafile called ${writeGolingvuMetafileCallCount} times`);
731
+ console.log("process.cwd()", process.cwd());
732
+ console.log("testName:", testName);
733
+
734
+ // Always use the original project root, not the current working directory
735
+ // This assumes the project root is where package.json is located
736
+ const projectRoot = findProjectRoot();
737
+
738
+ const metafilePath = path.join(
739
+ projectRoot,
157
740
  "testeranto",
158
741
  "metafiles",
159
- "golang"
742
+ "golang",
743
+ "core.json"
160
744
  );
161
- fs.mkdirSync(metafileDir, { recursive: true });
745
+ const metafileDir = path.dirname(metafilePath);
746
+
747
+ // Ensure directory exists
748
+ if (!fs.existsSync(metafileDir)) {
749
+ fs.mkdirSync(metafileDir, { recursive: true });
750
+ }
162
751
 
163
- const metafilePath = path.join(metafileDir, `${testName}.json`);
752
+ // Write the metafile
164
753
  fs.writeFileSync(metafilePath, JSON.stringify(metafile, null, 2));
754
+ console.log(`Golang metafile written to: ${metafilePath}`);
755
+
756
+ // Generate the output Go files in the core directory, not test-specific
757
+ // Always use the project root's testeranto directory
758
+ const outputDir = path.join(
759
+ projectRoot,
760
+ "testeranto",
761
+ "bundles",
762
+ "golang",
763
+ "core"
764
+ );
765
+ console.log("Output directory:", outputDir);
766
+ if (!fs.existsSync(outputDir)) {
767
+ fs.mkdirSync(outputDir, { recursive: true });
768
+ }
769
+
770
+ // Create each output file
771
+ for (const [outputPath, outputInfo] of Object.entries(
772
+ metafile.metafile.outputs
773
+ )) {
774
+ // The outputPath from the metafile should be used as-is, but ensure it's under golang/core/
775
+ // Extract just the filename part
776
+ const fileName = path.basename(outputPath);
777
+ const fullOutputPath = path.join(outputDir, fileName);
778
+ const outputDirPath = path.dirname(fullOutputPath);
779
+
780
+ if (!fs.existsSync(outputDirPath)) {
781
+ fs.mkdirSync(outputDirPath, { recursive: true });
782
+ }
783
+
784
+ // For Go, we need to create a normal Go program (not a test)
785
+ // Include the signature in a comment
786
+ const entryPoint = (outputInfo as any).entryPoint;
787
+ const signature = (outputInfo as any).signature;
788
+
789
+ // For Golingvu, we need to generate a wrapper that imports and runs the original code
790
+ // The entry point should be imported and its functionality tested
791
+ // Include the signature in a comment for the watcher to detect changes
792
+ // Use build tags to ensure it's only included when testeranto is specified
793
+ // The package should be testeranto_test to avoid being treated as a main package
794
+
795
+ // Get the import path - since the generated file will be in a different location,
796
+ // we need to find the correct import path for the original file
797
+ // For files in the example directory, we can use a relative import
798
+ const entryDir = path.dirname(entryPoint);
799
+ const entryDirName = path.basename(entryDir);
800
+ let importPath: string;
801
+
802
+ // If the entry point is in the example directory, use that
803
+ if (entryDirName === "example") {
804
+ importPath = "../example";
805
+ } else {
806
+ // Fallback: use relative path
807
+ const relativePathToEntry = path.relative(outputDir, entryDir);
808
+ importPath = relativePathToEntry ? `./${relativePathToEntry}` : ".";
809
+ }
810
+ const entryPointBaseName = path.basename(entryPoint, ".go");
811
+
812
+ const content = `//go:build testeranto
813
+ // +build testeranto
814
+
815
+ // This file is auto-generated by testeranto
816
+ // Signature: ${signature}
817
+ // It imports and tests: ${entryPoint}
818
+
819
+ package testeranto_test
820
+
821
+ import (
822
+ "fmt"
823
+ "os"
824
+ "testing"
825
+
826
+ // Import the original implementation
827
+ "${importPath}"
828
+ )
829
+
830
+ func TestCalculatorOperations(t *testing.T) {
831
+ // Create an instance of the Calculator
832
+ calc := &${entryPointBaseName}.Calculator{}
833
+
834
+ // Test basic operations
835
+ // This is where testeranto would run its test scenarios
836
+
837
+ // Example test: test that a new calculator has empty display
838
+ if calc.GetDisplay() != "" {
839
+ t.Errorf("Expected empty display, got: %s", calc.GetDisplay())
840
+ }
841
+
842
+ // Example test: test pressing buttons
843
+ calc.Press("2")
844
+ if calc.GetDisplay() != "2" {
845
+ t.Errorf("Expected '2', got: %s", calc.GetDisplay())
846
+ }
847
+
848
+ // Add more test scenarios based on the testeranto specification
849
+ fmt.Println("Testeranto tests completed")
850
+ }
851
+
852
+ func main() {
853
+ // This allows the file to be run as a standalone program
854
+ // while keeping it in the testeranto_test package
855
+ testing.Main(func(pat, str string) (bool, error) { return true, nil },
856
+ []testing.InternalTest{
857
+ {
858
+ Name: "TestCalculatorOperations",
859
+ F: TestCalculatorOperations,
860
+ },
861
+ },
862
+ []testing.InternalBenchmark{},
863
+ []testing.InternalExample{})
864
+ }
865
+ `;
866
+ fs.writeFileSync(fullOutputPath, content);
867
+ console.log(`Generated Golingvu wrapper: ${fullOutputPath}`);
868
+ }
165
869
  }