testeranto 0.200.1 → 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 (740) hide show
  1. package/README.md +49 -1
  2. package/UX/chache/index.md +11 -0
  3. package/design-editor/DesignEditor.tsx +40 -241
  4. package/dist/prebuild/App.css +171 -120
  5. package/dist/prebuild/App.js +47117 -11727
  6. package/dist/prebuild/testeranto.mjs +5048 -2578
  7. package/example/Calculator.go +63 -0
  8. package/example/Calculator.golingvu.adapter.go +81 -0
  9. package/example/Calculator.golingvu.go +67 -0
  10. package/example/Calculator.golingvu.implementation.go +95 -0
  11. package/example/Calculator.golingvu.specification.go +68 -0
  12. package/example/Calculator.pitono.adapter.py +68 -0
  13. package/example/Calculator.pitono.implementation.py +30 -0
  14. package/example/Calculator.pitono.specification.py +154 -0
  15. package/example/Calculator.pitono.test.py +47 -0
  16. package/example/Calculator.py +93 -0
  17. package/example/Calculator.test.adapter.ts +86 -0
  18. package/example/Calculator.test.implementation.ts +82 -0
  19. package/example/Calculator.test.specification.ts +213 -0
  20. package/example/Calculator.test.ts +13 -0
  21. package/example/Calculator.test.types.ts +50 -0
  22. package/example/Calculator.ts +130 -0
  23. package/example/README.md +1 -0
  24. package/example/base_suite_test.go +51 -0
  25. package/example/cmd/main.go +16 -0
  26. package/example/go.mod +9 -0
  27. package/example/main +0 -0
  28. package/example/test_example.py +143 -74
  29. package/example/testeranto/bundles/golang/core/Calculator.golingvu.go +53 -0
  30. package/example/testeranto/metafiles/golang/core.json +198 -0
  31. package/git-integration-plan.md +395 -0
  32. package/go.mod +3 -1
  33. package/golingvu.tmp.txt +68 -0
  34. package/log.txt +85 -0
  35. package/package.json +67 -46
  36. package/scripts/build-example.ts +245 -0
  37. package/src/App.tsx +226 -25
  38. package/src/Helpo.tsx +89 -0
  39. package/src/PM/PM_WithBuild.ts +183 -0
  40. package/src/PM/PM_WithEslintAndTsc.ts +109 -86
  41. package/src/PM/PM_WithGit.ts +632 -0
  42. package/src/PM/PM_WithHelpo.ts +341 -0
  43. package/src/PM/PM_WithProcesses.ts +900 -0
  44. package/src/PM/PM_WithWebSocket.ts +839 -0
  45. package/src/PM/base.ts +63 -1
  46. package/src/PM/golingvuBuild.ts +56 -0
  47. package/src/PM/index.ts +8 -5
  48. package/src/PM/main.ts +735 -1981
  49. package/src/PM/node.ts +18 -18
  50. package/src/PM/pitonoBuild.ts +56 -0
  51. package/src/PM/pure.ts +5 -13
  52. package/src/PM/types.ts +145 -0
  53. package/src/PM/utils.ts +262 -0
  54. package/src/PM/web.ts +8 -8
  55. package/src/README.md +122 -0
  56. package/src/ReportServer.ts +0 -12
  57. package/src/ReportServerLib.ts +0 -147
  58. package/src/Types.ts +1 -0
  59. package/src/app.scss +92 -140
  60. package/src/components/pure/AppFrame.tsx +354 -78
  61. package/src/components/pure/ArtifactTree.tsx +82 -0
  62. package/src/components/pure/BuildLogViewer.tsx +168 -0
  63. package/src/components/pure/DebugEnv.tsx +30 -0
  64. package/src/components/pure/FileTree.tsx +58 -0
  65. package/src/components/pure/FileTreeItem.tsx +49 -0
  66. package/src/components/pure/GitHubLoginButton.tsx +31 -0
  67. package/src/components/pure/GitIntegrationView.tsx +732 -0
  68. package/src/components/pure/HelpoChatDrawer.tsx +222 -0
  69. package/src/components/pure/MagicRobotModal.tsx +136 -0
  70. package/src/components/pure/ProcessDetails.tsx +99 -0
  71. package/src/components/pure/ProcessInput.tsx +67 -0
  72. package/src/components/pure/ProcessList.tsx +89 -0
  73. package/src/components/pure/ProcessLogs.tsx +54 -0
  74. package/src/components/pure/ProcessManager.tsx +38 -46
  75. package/src/components/pure/ProcessManagerView.tsx +44 -373
  76. package/src/components/pure/ProcessManagerViewTypes.ts +10 -0
  77. package/src/components/pure/ProcessSidebar.tsx +88 -0
  78. package/src/components/pure/ProcessTerminal.tsx +51 -0
  79. package/src/components/pure/ProjectPageView.tsx +6 -224
  80. package/src/components/pure/Settings.test.tsx +34 -0
  81. package/src/components/pure/Settings.tsx +163 -0
  82. package/src/components/pure/SignIn.tsx +33 -0
  83. package/src/components/pure/SingleProcessView.tsx +85 -180
  84. package/src/components/pure/TerminalInput.tsx +73 -0
  85. package/src/components/pure/TerminalLogs.tsx +80 -0
  86. package/src/components/pure/TestPageView.test/specification.ts +1 -0
  87. package/src/components/pure/TestPageView.tsx +308 -912
  88. package/src/components/pure/TestPageView_utils.tsx +287 -0
  89. package/src/components/pure/TestTable.tsx +88 -0
  90. package/src/components/pure/ToastNotification.tsx +19 -0
  91. package/src/components/pure/UserProfile.tsx +44 -0
  92. package/src/components/stateful/AuthCallbackPage.tsx +21 -0
  93. package/src/components/stateful/DratoPage.tsx +457 -0
  94. package/src/components/stateful/FeaturesReporter.tsx +3 -1
  95. package/src/components/stateful/FileTree.tsx +58 -58
  96. package/src/components/stateful/GenericXMLEditor/AttributeEditor.tsx +87 -0
  97. package/src/components/stateful/GenericXMLEditor/Drawer.tsx +174 -0
  98. package/src/components/stateful/GenericXMLEditor/GenericPreview.tsx +160 -0
  99. package/src/components/stateful/GenericXMLEditor/GenericTextEditor.tsx +104 -0
  100. package/src/components/stateful/GenericXMLEditor/GenericTree.tsx +104 -0
  101. package/src/components/stateful/GenericXMLEditorPage.tsx +346 -0
  102. package/src/components/stateful/GitIntegrationPage.tsx +263 -0
  103. package/src/components/stateful/GrafeoPage.tsx +563 -0
  104. package/src/components/stateful/ProcessManagerPage.tsx +13 -17
  105. package/src/components/stateful/ProjectPage.tsx +6 -5
  106. package/src/components/stateful/ProjectsPage.tsx +17 -19
  107. package/src/components/stateful/SVGEditor/CircleForm.tsx +68 -0
  108. package/src/components/stateful/SVGEditor/GroupForm.tsx +56 -0
  109. package/src/components/stateful/SVGEditor/RectForm.tsx +74 -0
  110. package/src/components/stateful/SVGEditor/SVGAttributeField.tsx +29 -0
  111. package/src/components/stateful/SVGEditor/SVGAttributesEditor.tsx +91 -0
  112. package/src/components/stateful/SVGEditor/SVGEditorControls.tsx +45 -0
  113. package/src/components/stateful/SVGEditor/SVGElementForm.tsx +45 -0
  114. package/src/components/stateful/SVGEditor/SVGPreview.tsx +227 -0
  115. package/src/components/stateful/SVGEditor/SVGTextEditor.tsx +166 -0
  116. package/src/components/stateful/SVGEditor/SVGTree.tsx +159 -0
  117. package/src/components/stateful/SVGEditor/SVGTypes.ts +36 -0
  118. package/src/components/stateful/SVGEditor/svg.xsd.xml +3038 -0
  119. package/src/components/stateful/SVGEditorPage.tsx +517 -0
  120. package/src/components/stateful/SingleProcessPage.tsx +133 -144
  121. package/src/components/stateful/SkriboPage.tsx +765 -0
  122. package/src/components/stateful/TestPage.tsx +27 -23
  123. package/src/esbuildConfigs/node.ts +1 -1
  124. package/src/example/go.mod +9 -0
  125. package/src/example/main.go +61 -0
  126. package/src/golingvu/PM/golang_test.go +103 -0
  127. package/src/golingvu/README.md +186 -2
  128. package/src/golingvu/base_given.go +89 -2
  129. package/src/golingvu/base_suite.go +48 -2
  130. package/src/golingvu/go.mod +6 -0
  131. package/src/golingvu/golingvu.go +724 -14
  132. package/src/golingvu/types.go +0 -14
  133. package/src/helpo/directives.md +5 -0
  134. package/src/helpo/prompt.txt +38 -0
  135. package/src/hooks/useGitMode.ts +20 -0
  136. package/src/hooks/useTerminalWebSocket.ts +49 -0
  137. package/src/lib/BaseGiven.ts +126 -28
  138. package/src/lib/BaseSuite.test/mock.ts +16 -10
  139. package/src/lib/BaseSuite.test/test.ts +165 -207
  140. package/src/lib/BaseSuite.ts +52 -10
  141. package/src/lib/BaseThen.ts +34 -38
  142. package/src/lib/BaseWhen.ts +9 -2
  143. package/src/lib/Tiposkripto.test/MockTiposkripto.ts +178 -14
  144. package/src/lib/Tiposkripto.test/Tiposkripto.adapter.ts +9 -14
  145. package/src/lib/Tiposkripto.test/Tiposkripto.implementation.ts +78 -38
  146. package/src/lib/Tiposkripto.test/Tiposkripto.specification.ts +51 -8
  147. package/src/lib/Tiposkripto.test/Tiposkripto.types.ts +5 -0
  148. package/src/lib/Tiposkripto.ts +64 -7
  149. package/src/lib/index.ts +7 -0
  150. package/src/lib/pmProxy.test/specification.ts +168 -166
  151. package/src/lib/pmProxy.ts +55 -18
  152. package/src/pitono/PM/python.py +165 -0
  153. package/src/pitono/Pitono.py +298 -0
  154. package/src/pitono/PitonoTest.py +25 -0
  155. package/src/pitono/README.md +21 -0
  156. package/src/pitono/__init__.py +6 -0
  157. package/{pitono → src/pitono}/base_given.py +42 -20
  158. package/{pitono → src/pitono}/base_suite.py +55 -2
  159. package/{pitono → src/pitono}/base_then.py +15 -1
  160. package/{pitono → src/pitono}/base_when.py +15 -1
  161. package/{pitono → src/pitono}/pitono.egg-info/PKG-INFO +25 -0
  162. package/{pitono → src/pitono}/pitono.egg-info/SOURCES.txt +1 -0
  163. package/src/pitono/types.py +87 -0
  164. package/src/services/FileService.ts +677 -0
  165. package/src/services/GitHubAuthService.ts +240 -0
  166. package/src/testeranto.ts +133 -245
  167. package/src/utils/api.ts +15 -13
  168. package/src/utils/gitTest.ts +29 -0
  169. package/src/utils/golingvuMetafile.ts +822 -118
  170. package/src/utils/golingvuWatcher.ts +285 -0
  171. package/src/utils/logFiles.ts +10 -2
  172. package/src/utils/makePrompt.ts +12 -1
  173. package/src/utils/pitonoMetafile.ts +326 -54
  174. package/src/utils/pitonoWatcher.ts +157 -0
  175. package/src/utils.ts +21 -12
  176. package/testeranto/App.css +171 -120
  177. package/testeranto/App.js +47117 -11727
  178. package/testeranto/bundles/node/core/chunk-MJTSYIAQ.mjs +1099 -0
  179. package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +58 -1147
  180. package/testeranto/bundles/node/core/src/lib/TipoSkripto.test/TipoSkripto.mjs +572 -0
  181. package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +4795 -0
  182. package/testeranto/bundles/pure/core/chunk-6HR24P27.mjs +1003 -0
  183. package/testeranto/bundles/pure/core/src/Pure.test.mjs +410 -0
  184. package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +57 -1062
  185. package/testeranto/bundles/web/core/MPLUSRounded1c-Black-O75GP5JI.ttf +0 -0
  186. package/testeranto/bundles/web/core/MPLUSRounded1c-Bold-R524Q5BH.ttf +0 -0
  187. package/testeranto/bundles/web/core/MPLUSRounded1c-ExtraBold-C6GRMYVT.ttf +0 -0
  188. package/testeranto/bundles/web/core/MPLUSRounded1c-Light-WKN65Y2C.ttf +0 -0
  189. package/testeranto/bundles/web/core/MPLUSRounded1c-Medium-ZC4DWL7C.ttf +0 -0
  190. package/testeranto/bundles/web/core/MPLUSRounded1c-Regular-DT6EKZ3S.ttf +0 -0
  191. package/testeranto/bundles/web/core/MPLUSRounded1c-Thin-YWDNVG6M.ttf +0 -0
  192. package/testeranto/bundles/web/core/chunk-AZZHJNSU.mjs +30278 -0
  193. package/testeranto/bundles/web/core/chunk-ME6I6FJZ.mjs +3005 -0
  194. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.html +15 -0
  195. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.mjs +162 -0
  196. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.css +11619 -0
  197. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +15 -0
  198. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +6924 -0
  199. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.mjs +71 -1050
  200. package/testeranto/helpo_chat_history.json +1 -0
  201. package/testeranto/metafiles/golang/core.json +42 -47
  202. package/testeranto/metafiles/node/core.json +584 -125
  203. package/testeranto/metafiles/pure/core.json +152 -51
  204. package/testeranto/metafiles/python/core.json +87 -0
  205. package/testeranto/metafiles/web/core.json +16365 -75
  206. package/testeranto/reports/core/config.json +66 -2
  207. package/testeranto/reports/core/example/Calculator.golingvu/golang/exit.log +1 -0
  208. package/testeranto/reports/core/example/Calculator.golingvu/golang/stderr.log +2 -0
  209. package/testeranto/reports/core/example/Calculator.golingvu/golang/stdout.log +1 -0
  210. package/testeranto/reports/core/example/Calculator.pitono.test/python/exit.log +1 -0
  211. package/testeranto/reports/core/example/Calculator.pitono.test/python/stderr.log +11 -0
  212. package/testeranto/reports/core/example/Calculator.pitono.test/python/stdout.log +1 -0
  213. package/testeranto/reports/core/example/Calculator.test/node/exit.log +1 -0
  214. package/testeranto/reports/core/example/Calculator.test/node/lint_errors.txt +2 -0
  215. package/testeranto/reports/core/example/Calculator.test/node/message.txt +16 -0
  216. package/testeranto/reports/core/example/Calculator.test/node/prompt.txt +13 -0
  217. package/testeranto/reports/core/example/Calculator.test/node/stderr.log +33 -0
  218. package/testeranto/reports/core/example/Calculator.test/node/stdout.log +1076 -0
  219. package/testeranto/reports/core/example/Calculator.test/node/tests.json +1109 -0
  220. package/testeranto/reports/core/example/Calculator.test/node/type_errors.txt +34 -0
  221. package/testeranto/reports/core/example/test_example/python/exit.log +1 -0
  222. package/testeranto/reports/core/example/test_example/python/stderr.log +24 -0
  223. package/testeranto/reports/core/src/Pure.test/pure/message.txt +16 -0
  224. package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +13 -0
  225. package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +86 -0
  226. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +0 -0
  227. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +0 -0
  228. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/lint_errors.txt +0 -0
  229. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/message.txt +17 -0
  230. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/prompt.txt +26 -0
  231. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/type_errors.txt +69 -0
  232. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/warn.log +0 -0
  233. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/debug.log +0 -0
  234. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/error.log +0 -0
  235. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/exit.log +0 -0
  236. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/info.log +0 -0
  237. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/lint_errors.txt +16 -0
  238. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/message.txt +17 -0
  239. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/prompt.txt +27 -0
  240. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/type_errors.txt +42 -0
  241. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/warn.log +0 -0
  242. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/debug.log +0 -0
  243. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +0 -0
  244. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +0 -0
  245. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +0 -0
  246. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +30 -0
  247. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +17 -0
  248. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +30 -0
  249. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +58 -0
  250. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
  251. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/exit.log +1 -1
  252. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -6
  253. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +9 -12
  254. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stderr.log +1 -0
  255. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +4 -0
  256. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +99 -8
  257. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +57 -44
  258. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -2
  259. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/message.txt +1 -2
  260. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +4 -16
  261. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +62 -44
  262. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/error.log +0 -1
  263. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/exit.log +0 -1
  264. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -2
  265. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +13 -13
  266. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/type_errors.txt +57 -44
  267. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/exit.log +1 -0
  268. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/lint_errors.txt +0 -0
  269. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/message.txt +16 -0
  270. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/prompt.txt +13 -0
  271. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stderr.log +88 -0
  272. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stdout.log +521 -0
  273. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/tests.json +166 -0
  274. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/type_errors.txt +78 -0
  275. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -0
  276. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/lint_errors.txt +15 -0
  277. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/message.txt +17 -0
  278. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +25 -0
  279. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +0 -0
  280. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +2 -0
  281. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +31 -0
  282. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +62 -0
  283. package/testeranto/reports/core/summary.json +66 -11
  284. package/testeranto.config.ts +38 -44
  285. package/tsc.log +141 -91
  286. package/tsconfig.json +6 -2
  287. package/dist/cjs-shim.js +0 -12
  288. package/dist/common/design-editor/DesignEditor.js +0 -242
  289. package/dist/common/design-editor/index.js +0 -18
  290. package/dist/common/design-editor/server.js +0 -98
  291. package/dist/common/design-editor/types.js +0 -2
  292. package/dist/common/package.json +0 -3
  293. package/dist/common/src/App.js +0 -77
  294. package/dist/common/src/CoreTypes.js +0 -2
  295. package/dist/common/src/Init.js +0 -48
  296. package/dist/common/src/Node.js +0 -40
  297. package/dist/common/src/NodeSidecar.js +0 -15
  298. package/dist/common/src/PM/PM_WithEslintAndTsc.js +0 -192
  299. package/dist/common/src/PM/__tests__/nodeSidecar.testeranto.js +0 -108
  300. package/dist/common/src/PM/__tests__/pureSidecar.testeranto.js +0 -93
  301. package/dist/common/src/PM/__tests__/webSidecar.testeranto.js +0 -93
  302. package/dist/common/src/PM/base.js +0 -257
  303. package/dist/common/src/PM/index.js +0 -6
  304. package/dist/common/src/PM/main.js +0 -1815
  305. package/dist/common/src/PM/node.js +0 -185
  306. package/dist/common/src/PM/nodeSidecar.js +0 -65
  307. package/dist/common/src/PM/pitonoRunner.js +0 -54
  308. package/dist/common/src/PM/pure.js +0 -111
  309. package/dist/common/src/PM/pureSidecar.js +0 -48
  310. package/dist/common/src/PM/sidecar.js +0 -11
  311. package/dist/common/src/PM/types.js +0 -1
  312. package/dist/common/src/PM/web.js +0 -112
  313. package/dist/common/src/PM/webSidecar.js +0 -47
  314. package/dist/common/src/Pure.js +0 -52
  315. package/dist/common/src/Pure.test.js +0 -180
  316. package/dist/common/src/PureSidecar.js +0 -13
  317. package/dist/common/src/ReportServer.js +0 -11
  318. package/dist/common/src/ReportServer.test.ts/index.js +0 -78
  319. package/dist/common/src/ReportServerLib.js +0 -141
  320. package/dist/common/src/Types.js +0 -2
  321. package/dist/common/src/Web.js +0 -61
  322. package/dist/common/src/WebSidecar.js +0 -14
  323. package/dist/common/src/components/DesignEditorPage.js +0 -205
  324. package/dist/common/src/components/SunriseAnimation.js +0 -291
  325. package/dist/common/src/components/SunriseAnimation.test/implementation.js +0 -1
  326. package/dist/common/src/components/SunriseAnimation.test/index.js +0 -1
  327. package/dist/common/src/components/SunriseAnimation.test/interface.js +0 -68
  328. package/dist/common/src/components/SunriseAnimation.test/specification.js +0 -1
  329. package/dist/common/src/components/SunriseAnimation.test/types.js +0 -2
  330. package/dist/common/src/components/TestStatusBadge.js +0 -35
  331. package/dist/common/src/components/pure/AppFrame.js +0 -69
  332. package/dist/common/src/components/pure/AppFrame.test/implementation.js +0 -63
  333. package/dist/common/src/components/pure/AppFrame.test/index.js +0 -14
  334. package/dist/common/src/components/pure/AppFrame.test/specification.js +0 -25
  335. package/dist/common/src/components/pure/AppFrame.test/types.js +0 -3
  336. package/dist/common/src/components/pure/FeaturesReporterView.js +0 -23
  337. package/dist/common/src/components/pure/FeaturesReporterView.test/implementation.js +0 -84
  338. package/dist/common/src/components/pure/FeaturesReporterView.test/index.js +0 -14
  339. package/dist/common/src/components/pure/FeaturesReporterView.test/specification.js +0 -27
  340. package/dist/common/src/components/pure/FeaturesReporterView.test/types.js +0 -2
  341. package/dist/common/src/components/pure/ModalContent.js +0 -86
  342. package/dist/common/src/components/pure/ModalContent.test/implementation.js +0 -35
  343. package/dist/common/src/components/pure/ModalContent.test/index.js +0 -58
  344. package/dist/common/src/components/pure/ModalContent.test/specification.js +0 -19
  345. package/dist/common/src/components/pure/ModalContent.test/types.js +0 -4
  346. package/dist/common/src/components/pure/NavBar.js +0 -44
  347. package/dist/common/src/components/pure/ProcessManager.js +0 -112
  348. package/dist/common/src/components/pure/ProcessManagerView.js +0 -237
  349. package/dist/common/src/components/pure/ProjectPageView.js +0 -181
  350. package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +0 -184
  351. package/dist/common/src/components/pure/ProjectPageView.test/index.js +0 -14
  352. package/dist/common/src/components/pure/ProjectPageView.test/specification.js +0 -32
  353. package/dist/common/src/components/pure/ProjectPageView.test/types.js +0 -4
  354. package/dist/common/src/components/pure/ProjectsPageView.js +0 -72
  355. package/dist/common/src/components/pure/SettingsButton.js +0 -13
  356. package/dist/common/src/components/pure/SingleProcessView.js +0 -214
  357. package/dist/common/src/components/pure/TestPageView.js +0 -628
  358. package/dist/common/src/components/pure/TestPageView.test/implementation.js +0 -157
  359. package/dist/common/src/components/pure/TestPageView.test/index.js +0 -15
  360. package/dist/common/src/components/pure/TestPageView.test/specification.js +0 -26
  361. package/dist/common/src/components/pure/TestPageView.test/types.js +0 -4
  362. package/dist/common/src/components/pure/ThemeCard.js +0 -15
  363. package/dist/common/src/components/stateful/FeaturesReporter.js +0 -59
  364. package/dist/common/src/components/stateful/FileTree.js +0 -40
  365. package/dist/common/src/components/stateful/ProcessManagerPage.js +0 -112
  366. package/dist/common/src/components/stateful/ProjectPage.js +0 -101
  367. package/dist/common/src/components/stateful/ProjectsPage.js +0 -118
  368. package/dist/common/src/components/stateful/SettingsPage.js +0 -72
  369. package/dist/common/src/components/stateful/SingleProcessPage.js +0 -147
  370. package/dist/common/src/components/stateful/TestPage.js +0 -268
  371. package/dist/common/src/components/stateful/TextEditorPage.js +0 -154
  372. package/dist/common/src/defaultConfig.js +0 -19
  373. package/dist/common/src/esbuildConfigs/consoleDetectorPlugin.js +0 -38
  374. package/dist/common/src/esbuildConfigs/eslint-formatter-testeranto.js +0 -21
  375. package/dist/common/src/esbuildConfigs/featuresPlugin.js +0 -39
  376. package/dist/common/src/esbuildConfigs/index.js +0 -21
  377. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +0 -30
  378. package/dist/common/src/esbuildConfigs/nativeImportDetectorPlugin.js +0 -24
  379. package/dist/common/src/esbuildConfigs/node.js +0 -24
  380. package/dist/common/src/esbuildConfigs/pure.js +0 -42
  381. package/dist/common/src/esbuildConfigs/rebuildPlugin.js +0 -19
  382. package/dist/common/src/esbuildConfigs/web.js +0 -48
  383. package/dist/common/src/init-docs.js +0 -9
  384. package/dist/common/src/lib/BaseGiven.js +0 -99
  385. package/dist/common/src/lib/BaseSuite.js +0 -91
  386. package/dist/common/src/lib/BaseSuite.test/mock.js +0 -61
  387. package/dist/common/src/lib/BaseSuite.test/node.test.js +0 -10
  388. package/dist/common/src/lib/BaseSuite.test/pure.test.js +0 -10
  389. package/dist/common/src/lib/BaseSuite.test/test.js +0 -253
  390. package/dist/common/src/lib/BaseSuite.test/web.test.js +0 -10
  391. package/dist/common/src/lib/BaseThen.js +0 -64
  392. package/dist/common/src/lib/BaseWhen.js +0 -45
  393. package/dist/common/src/lib/Sidecar.js +0 -7
  394. package/dist/common/src/lib/Tiposkripto.js +0 -149
  395. package/dist/common/src/lib/Tiposkripto.test/MockTiposkripto.js +0 -36
  396. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +0 -35
  397. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +0 -173
  398. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.js +0 -11
  399. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.specification.js +0 -42
  400. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.types.js +0 -2
  401. package/dist/common/src/lib/abstractBase.test/MockGiven.js +0 -24
  402. package/dist/common/src/lib/abstractBase.test/MockThen.js +0 -16
  403. package/dist/common/src/lib/abstractBase.test/MockWhen.js +0 -20
  404. package/dist/common/src/lib/abstractBase.test/adapter.js +0 -24
  405. package/dist/common/src/lib/abstractBase.test/implementation.js +0 -38
  406. package/dist/common/src/lib/abstractBase.test/index.js +0 -18
  407. package/dist/common/src/lib/abstractBase.test/specification.js +0 -19
  408. package/dist/common/src/lib/abstractBase.test/types.js +0 -2
  409. package/dist/common/src/lib/index.js +0 -31
  410. package/dist/common/src/lib/pmProxy.js +0 -293
  411. package/dist/common/src/lib/pmProxy.test/adapter.js +0 -54
  412. package/dist/common/src/lib/pmProxy.test/implementation.js +0 -137
  413. package/dist/common/src/lib/pmProxy.test/index.js +0 -15
  414. package/dist/common/src/lib/pmProxy.test/mockPM.js +0 -34
  415. package/dist/common/src/lib/pmProxy.test/mockPMBase.js +0 -131
  416. package/dist/common/src/lib/pmProxy.test/specification.js +0 -64
  417. package/dist/common/src/lib/pmProxy.test/types.js +0 -2
  418. package/dist/common/src/lib/types.js +0 -3
  419. package/dist/common/src/mothership/index.js +0 -21
  420. package/dist/common/src/mothership/test.js +0 -83
  421. package/dist/common/src/run.js +0 -49
  422. package/dist/common/src/testeranto.js +0 -283
  423. package/dist/common/src/types/features.js +0 -34
  424. package/dist/common/src/utils/api.js +0 -89
  425. package/dist/common/src/utils/buildTemplates.js +0 -37
  426. package/dist/common/src/utils/featureUtils.js +0 -29
  427. package/dist/common/src/utils/golingvuMetafile.js +0 -116
  428. package/dist/common/src/utils/logFiles.js +0 -52
  429. package/dist/common/src/utils/makePrompt.js +0 -116
  430. package/dist/common/src/utils/pitonoMetafile.js +0 -67
  431. package/dist/common/src/utils/queue.js +0 -36
  432. package/dist/common/src/utils.js +0 -133
  433. package/dist/common/src/web.html.js +0 -18
  434. package/dist/common/testeranto.config.js +0 -98
  435. package/dist/common/tsconfig.common.tsbuildinfo +0 -1
  436. package/dist/module/design-editor/DesignEditor.js +0 -206
  437. package/dist/module/design-editor/index.js +0 -2
  438. package/dist/module/design-editor/server.js +0 -92
  439. package/dist/module/design-editor/types.js +0 -1
  440. package/dist/module/package.json +0 -3
  441. package/dist/module/src/App.js +0 -70
  442. package/dist/module/src/CoreTypes.js +0 -1
  443. package/dist/module/src/Init.js +0 -43
  444. package/dist/module/src/Node.js +0 -33
  445. package/dist/module/src/NodeSidecar.js +0 -11
  446. package/dist/module/src/PM/PM_WithEslintAndTsc.js +0 -185
  447. package/dist/module/src/PM/__tests__/nodeSidecar.testeranto.js +0 -103
  448. package/dist/module/src/PM/__tests__/pureSidecar.testeranto.js +0 -88
  449. package/dist/module/src/PM/__tests__/webSidecar.testeranto.js +0 -88
  450. package/dist/module/src/PM/base.js +0 -250
  451. package/dist/module/src/PM/index.js +0 -2
  452. package/dist/module/src/PM/main.js +0 -1775
  453. package/dist/module/src/PM/node.js +0 -178
  454. package/dist/module/src/PM/nodeSidecar.js +0 -58
  455. package/dist/module/src/PM/pitonoRunner.js +0 -47
  456. package/dist/module/src/PM/pure.js +0 -107
  457. package/dist/module/src/PM/pureSidecar.js +0 -41
  458. package/dist/module/src/PM/sidecar.js +0 -7
  459. package/dist/module/src/PM/types.js +0 -1
  460. package/dist/module/src/PM/web.js +0 -108
  461. package/dist/module/src/PM/webSidecar.js +0 -40
  462. package/dist/module/src/Pure.js +0 -45
  463. package/dist/module/src/Pure.test.js +0 -175
  464. package/dist/module/src/PureSidecar.js +0 -9
  465. package/dist/module/src/ReportServer.js +0 -9
  466. package/dist/module/src/ReportServer.test.ts/index.js +0 -73
  467. package/dist/module/src/ReportServerLib.js +0 -134
  468. package/dist/module/src/Types.js +0 -1
  469. package/dist/module/src/Web.js +0 -54
  470. package/dist/module/src/WebSidecar.js +0 -10
  471. package/dist/module/src/components/DesignEditorPage.js +0 -168
  472. package/dist/module/src/components/SunriseAnimation.js +0 -256
  473. package/dist/module/src/components/SunriseAnimation.test/implementation.js +0 -1
  474. package/dist/module/src/components/SunriseAnimation.test/index.js +0 -1
  475. package/dist/module/src/components/SunriseAnimation.test/interface.js +0 -32
  476. package/dist/module/src/components/SunriseAnimation.test/specification.js +0 -1
  477. package/dist/module/src/components/SunriseAnimation.test/types.js +0 -1
  478. package/dist/module/src/components/TestStatusBadge.js +0 -28
  479. package/dist/module/src/components/pure/AppFrame.js +0 -32
  480. package/dist/module/src/components/pure/AppFrame.test/implementation.js +0 -57
  481. package/dist/module/src/components/pure/AppFrame.test/index.js +0 -9
  482. package/dist/module/src/components/pure/AppFrame.test/specification.js +0 -21
  483. package/dist/module/src/components/pure/AppFrame.test/types.js +0 -2
  484. package/dist/module/src/components/pure/FeaturesReporterView.js +0 -16
  485. package/dist/module/src/components/pure/FeaturesReporterView.test/implementation.js +0 -81
  486. package/dist/module/src/components/pure/FeaturesReporterView.test/index.js +0 -9
  487. package/dist/module/src/components/pure/FeaturesReporterView.test/specification.js +0 -23
  488. package/dist/module/src/components/pure/FeaturesReporterView.test/types.js +0 -1
  489. package/dist/module/src/components/pure/ModalContent.js +0 -79
  490. package/dist/module/src/components/pure/ModalContent.test/implementation.js +0 -32
  491. package/dist/module/src/components/pure/ModalContent.test/index.js +0 -53
  492. package/dist/module/src/components/pure/ModalContent.test/specification.js +0 -15
  493. package/dist/module/src/components/pure/ModalContent.test/types.js +0 -3
  494. package/dist/module/src/components/pure/NavBar.js +0 -37
  495. package/dist/module/src/components/pure/ProcessManager.js +0 -75
  496. package/dist/module/src/components/pure/ProcessManagerView.js +0 -200
  497. package/dist/module/src/components/pure/ProjectPageView.js +0 -174
  498. package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +0 -181
  499. package/dist/module/src/components/pure/ProjectPageView.test/index.js +0 -9
  500. package/dist/module/src/components/pure/ProjectPageView.test/specification.js +0 -28
  501. package/dist/module/src/components/pure/ProjectPageView.test/types.js +0 -3
  502. package/dist/module/src/components/pure/ProjectsPageView.js +0 -65
  503. package/dist/module/src/components/pure/SettingsButton.js +0 -6
  504. package/dist/module/src/components/pure/SingleProcessView.js +0 -214
  505. package/dist/module/src/components/pure/TestPageView.js +0 -591
  506. package/dist/module/src/components/pure/TestPageView.test/implementation.js +0 -121
  507. package/dist/module/src/components/pure/TestPageView.test/index.js +0 -10
  508. package/dist/module/src/components/pure/TestPageView.test/specification.js +0 -22
  509. package/dist/module/src/components/pure/TestPageView.test/types.js +0 -3
  510. package/dist/module/src/components/pure/ThemeCard.js +0 -8
  511. package/dist/module/src/components/stateful/FeaturesReporter.js +0 -22
  512. package/dist/module/src/components/stateful/FileTree.js +0 -33
  513. package/dist/module/src/components/stateful/ProcessManagerPage.js +0 -75
  514. package/dist/module/src/components/stateful/ProjectPage.js +0 -64
  515. package/dist/module/src/components/stateful/ProjectsPage.js +0 -81
  516. package/dist/module/src/components/stateful/SettingsPage.js +0 -35
  517. package/dist/module/src/components/stateful/SingleProcessPage.js +0 -110
  518. package/dist/module/src/components/stateful/TestPage.js +0 -231
  519. package/dist/module/src/components/stateful/TextEditorPage.js +0 -117
  520. package/dist/module/src/defaultConfig.js +0 -17
  521. package/dist/module/src/esbuildConfigs/consoleDetectorPlugin.js +0 -32
  522. package/dist/module/src/esbuildConfigs/eslint-formatter-testeranto.js +0 -18
  523. package/dist/module/src/esbuildConfigs/featuresPlugin.js +0 -34
  524. package/dist/module/src/esbuildConfigs/index.js +0 -19
  525. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +0 -25
  526. package/dist/module/src/esbuildConfigs/nativeImportDetectorPlugin.js +0 -21
  527. package/dist/module/src/esbuildConfigs/node.js +0 -19
  528. package/dist/module/src/esbuildConfigs/pure.js +0 -37
  529. package/dist/module/src/esbuildConfigs/rebuildPlugin.js +0 -14
  530. package/dist/module/src/esbuildConfigs/web.js +0 -43
  531. package/dist/module/src/init-docs.js +0 -4
  532. package/dist/module/src/lib/BaseGiven.js +0 -95
  533. package/dist/module/src/lib/BaseSuite.js +0 -87
  534. package/dist/module/src/lib/BaseSuite.test/mock.js +0 -54
  535. package/dist/module/src/lib/BaseSuite.test/node.test.js +0 -5
  536. package/dist/module/src/lib/BaseSuite.test/pure.test.js +0 -5
  537. package/dist/module/src/lib/BaseSuite.test/test.js +0 -249
  538. package/dist/module/src/lib/BaseSuite.test/web.test.js +0 -5
  539. package/dist/module/src/lib/BaseThen.js +0 -60
  540. package/dist/module/src/lib/BaseWhen.js +0 -41
  541. package/dist/module/src/lib/Sidecar.js +0 -3
  542. package/dist/module/src/lib/Tiposkripto.js +0 -146
  543. package/dist/module/src/lib/Tiposkripto.test/MockTiposkripto.js +0 -29
  544. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +0 -32
  545. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +0 -170
  546. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.js +0 -6
  547. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.specification.js +0 -38
  548. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.types.js +0 -1
  549. package/dist/module/src/lib/abstractBase.test/MockGiven.js +0 -20
  550. package/dist/module/src/lib/abstractBase.test/MockThen.js +0 -12
  551. package/dist/module/src/lib/abstractBase.test/MockWhen.js +0 -16
  552. package/dist/module/src/lib/abstractBase.test/adapter.js +0 -21
  553. package/dist/module/src/lib/abstractBase.test/implementation.js +0 -35
  554. package/dist/module/src/lib/abstractBase.test/index.js +0 -13
  555. package/dist/module/src/lib/abstractBase.test/specification.js +0 -15
  556. package/dist/module/src/lib/abstractBase.test/types.js +0 -1
  557. package/dist/module/src/lib/index.js +0 -26
  558. package/dist/module/src/lib/pmProxy.js +0 -284
  559. package/dist/module/src/lib/pmProxy.test/adapter.js +0 -51
  560. package/dist/module/src/lib/pmProxy.test/implementation.js +0 -134
  561. package/dist/module/src/lib/pmProxy.test/index.js +0 -10
  562. package/dist/module/src/lib/pmProxy.test/mockPM.js +0 -30
  563. package/dist/module/src/lib/pmProxy.test/mockPMBase.js +0 -127
  564. package/dist/module/src/lib/pmProxy.test/specification.js +0 -60
  565. package/dist/module/src/lib/pmProxy.test/types.js +0 -1
  566. package/dist/module/src/lib/types.js +0 -2
  567. package/dist/module/src/mothership/index.js +0 -16
  568. package/dist/module/src/mothership/test.js +0 -78
  569. package/dist/module/src/run.js +0 -49
  570. package/dist/module/src/testeranto.js +0 -245
  571. package/dist/module/src/types/features.js +0 -31
  572. package/dist/module/src/utils/api.js +0 -84
  573. package/dist/module/src/utils/buildTemplates.js +0 -33
  574. package/dist/module/src/utils/featureUtils.js +0 -24
  575. package/dist/module/src/utils/golingvuMetafile.js +0 -109
  576. package/dist/module/src/utils/logFiles.js +0 -47
  577. package/dist/module/src/utils/makePrompt.js +0 -109
  578. package/dist/module/src/utils/pitonoMetafile.js +0 -60
  579. package/dist/module/src/utils/queue.js +0 -32
  580. package/dist/module/src/utils.js +0 -121
  581. package/dist/module/src/web.html.js +0 -16
  582. package/dist/module/testeranto.config.js +0 -96
  583. package/dist/module/tsconfig.module.tsbuildinfo +0 -1
  584. package/dist/types/design-editor/DesignEditor.d.ts +0 -18
  585. package/dist/types/design-editor/server.d.ts +0 -1
  586. package/dist/types/src/App.d.ts +0 -1
  587. package/dist/types/src/CoreTypes.d.ts +0 -52
  588. package/dist/types/src/Init.d.ts +0 -2
  589. package/dist/types/src/Node.d.ts +0 -9
  590. package/dist/types/src/NodeSidecar.d.ts +0 -6
  591. package/dist/types/src/PM/PM_WithEslintAndTsc.d.ts +0 -24
  592. package/dist/types/src/PM/__tests__/nodeSidecar.testeranto.d.ts +0 -2
  593. package/dist/types/src/PM/__tests__/pureSidecar.testeranto.d.ts +0 -2
  594. package/dist/types/src/PM/__tests__/webSidecar.testeranto.d.ts +0 -2
  595. package/dist/types/src/PM/base.d.ts +0 -35
  596. package/dist/types/src/PM/index.d.ts +0 -37
  597. package/dist/types/src/PM/main.d.ts +0 -79
  598. package/dist/types/src/PM/node.d.ts +0 -40
  599. package/dist/types/src/PM/nodeSidecar.d.ts +0 -13
  600. package/dist/types/src/PM/pitonoRunner.d.ts +0 -7
  601. package/dist/types/src/PM/pure.d.ts +0 -43
  602. package/dist/types/src/PM/pureSidecar.d.ts +0 -11
  603. package/dist/types/src/PM/sidecar.d.ts +0 -8
  604. package/dist/types/src/PM/web.d.ts +0 -43
  605. package/dist/types/src/PM/webSidecar.d.ts +0 -11
  606. package/dist/types/src/Pure.d.ts +0 -9
  607. package/dist/types/src/Pure.test.d.ts +0 -2
  608. package/dist/types/src/PureSidecar.d.ts +0 -8
  609. package/dist/types/src/ReportServer.d.ts +0 -1
  610. package/dist/types/src/ReportServer.test.ts/index.d.ts +0 -2
  611. package/dist/types/src/ReportServerLib.d.ts +0 -1
  612. package/dist/types/src/Types.d.ts +0 -118
  613. package/dist/types/src/Web.d.ts +0 -9
  614. package/dist/types/src/WebSidecar.d.ts +0 -8
  615. package/dist/types/src/components/DesignEditorPage.d.ts +0 -1
  616. package/dist/types/src/components/SunriseAnimation.d.ts +0 -5
  617. package/dist/types/src/components/SunriseAnimation.test/interface.d.ts +0 -11
  618. package/dist/types/src/components/SunriseAnimation.test/types.d.ts +0 -39
  619. package/dist/types/src/components/TestStatusBadge.d.ts +0 -15
  620. package/dist/types/src/components/pure/AppFrame.d.ts +0 -11
  621. package/dist/types/src/components/pure/AppFrame.test/implementation.d.ts +0 -3
  622. package/dist/types/src/components/pure/AppFrame.test/index.d.ts +0 -3
  623. package/dist/types/src/components/pure/AppFrame.test/specification.d.ts +0 -3
  624. package/dist/types/src/components/pure/AppFrame.test/types.d.ts +0 -33
  625. package/dist/types/src/components/pure/FeaturesReporterView.d.ts +0 -7
  626. package/dist/types/src/components/pure/FeaturesReporterView.test/implementation.d.ts +0 -3
  627. package/dist/types/src/components/pure/FeaturesReporterView.test/index.d.ts +0 -2
  628. package/dist/types/src/components/pure/FeaturesReporterView.test/specification.d.ts +0 -3
  629. package/dist/types/src/components/pure/FeaturesReporterView.test/types.d.ts +0 -54
  630. package/dist/types/src/components/pure/ModalContent.d.ts +0 -7
  631. package/dist/types/src/components/pure/ModalContent.test/implementation.d.ts +0 -3
  632. package/dist/types/src/components/pure/ModalContent.test/index.d.ts +0 -2
  633. package/dist/types/src/components/pure/ModalContent.test/specification.d.ts +0 -3
  634. package/dist/types/src/components/pure/ModalContent.test/types.d.ts +0 -45
  635. package/dist/types/src/components/pure/NavBar.d.ts +0 -23
  636. package/dist/types/src/components/pure/ProcessManager.d.ts +0 -8
  637. package/dist/types/src/components/pure/ProcessManagerView.d.ts +0 -20
  638. package/dist/types/src/components/pure/ProjectPageView.d.ts +0 -14
  639. package/dist/types/src/components/pure/ProjectPageView.test/implementation.d.ts +0 -3
  640. package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +0 -2
  641. package/dist/types/src/components/pure/ProjectPageView.test/specification.d.ts +0 -3
  642. package/dist/types/src/components/pure/ProjectPageView.test/types.d.ts +0 -57
  643. package/dist/types/src/components/pure/ProjectsPageView.d.ts +0 -29
  644. package/dist/types/src/components/pure/SettingsButton.d.ts +0 -2
  645. package/dist/types/src/components/pure/TestPageView.d.ts +0 -15
  646. package/dist/types/src/components/pure/TestPageView.test/implementation.d.ts +0 -12
  647. package/dist/types/src/components/pure/TestPageView.test/index.d.ts +0 -3
  648. package/dist/types/src/components/pure/TestPageView.test/specification.d.ts +0 -11
  649. package/dist/types/src/components/pure/TestPageView.test/types.d.ts +0 -65
  650. package/dist/types/src/components/pure/ThemeCard.d.ts +0 -9
  651. package/dist/types/src/components/stateful/FeaturesReporter.d.ts +0 -2
  652. package/dist/types/src/components/stateful/FileTree.d.ts +0 -8
  653. package/dist/types/src/components/stateful/ProcessManagerPage.d.ts +0 -2
  654. package/dist/types/src/components/stateful/ProjectPage.d.ts +0 -1
  655. package/dist/types/src/components/stateful/ProjectsPage.d.ts +0 -1
  656. package/dist/types/src/components/stateful/SettingsPage.d.ts +0 -2
  657. package/dist/types/src/components/stateful/SingleProcessPage.d.ts +0 -2
  658. package/dist/types/src/components/stateful/TestPage.d.ts +0 -1
  659. package/dist/types/src/components/stateful/TextEditorPage.d.ts +0 -1
  660. package/dist/types/src/defaultConfig.d.ts +0 -3
  661. package/dist/types/src/esbuildConfigs/consoleDetectorPlugin.d.ts +0 -2
  662. package/dist/types/src/esbuildConfigs/eslint-formatter-testeranto.d.ts +0 -2
  663. package/dist/types/src/esbuildConfigs/featuresPlugin.d.ts +0 -5
  664. package/dist/types/src/esbuildConfigs/index.d.ts +0 -4
  665. package/dist/types/src/esbuildConfigs/inputFilesPlugin.d.ts +0 -7
  666. package/dist/types/src/esbuildConfigs/nativeImportDetectorPlugin.d.ts +0 -2
  667. package/dist/types/src/esbuildConfigs/node.d.ts +0 -4
  668. package/dist/types/src/esbuildConfigs/pure.d.ts +0 -4
  669. package/dist/types/src/esbuildConfigs/rebuildPlugin.d.ts +0 -6
  670. package/dist/types/src/esbuildConfigs/web.d.ts +0 -4
  671. package/dist/types/src/init-docs.d.ts +0 -1
  672. package/dist/types/src/lib/BaseGiven.d.ts +0 -44
  673. package/dist/types/src/lib/BaseSuite.d.ts +0 -46
  674. package/dist/types/src/lib/BaseSuite.test/mock.d.ts +0 -21
  675. package/dist/types/src/lib/BaseSuite.test/node.test.d.ts +0 -2
  676. package/dist/types/src/lib/BaseSuite.test/pure.test.d.ts +0 -2
  677. package/dist/types/src/lib/BaseSuite.test/test.d.ts +0 -36
  678. package/dist/types/src/lib/BaseSuite.test/web.test.d.ts +0 -2
  679. package/dist/types/src/lib/BaseThen.d.ts +0 -27
  680. package/dist/types/src/lib/BaseWhen.d.ts +0 -27
  681. package/dist/types/src/lib/Sidecar.d.ts +0 -5
  682. package/dist/types/src/lib/Tiposkripto.d.ts +0 -35
  683. package/dist/types/src/lib/Tiposkripto.test/MockTiposkripto.d.ts +0 -15
  684. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.adapter.d.ts +0 -3
  685. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.d.ts +0 -2
  686. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.implementation.d.ts +0 -3
  687. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.specification.d.ts +0 -3
  688. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.types.d.ts +0 -53
  689. package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +0 -9
  690. package/dist/types/src/lib/abstractBase.test/MockThen.d.ts +0 -6
  691. package/dist/types/src/lib/abstractBase.test/MockWhen.d.ts +0 -6
  692. package/dist/types/src/lib/abstractBase.test/adapter.d.ts +0 -3
  693. package/dist/types/src/lib/abstractBase.test/implementation.d.ts +0 -3
  694. package/dist/types/src/lib/abstractBase.test/index.d.ts +0 -2
  695. package/dist/types/src/lib/abstractBase.test/specification.d.ts +0 -3
  696. package/dist/types/src/lib/abstractBase.test/types.d.ts +0 -39
  697. package/dist/types/src/lib/index.d.ts +0 -67
  698. package/dist/types/src/lib/pmProxy.d.ts +0 -12
  699. package/dist/types/src/lib/pmProxy.test/adapter.d.ts +0 -3
  700. package/dist/types/src/lib/pmProxy.test/implementation.d.ts +0 -3
  701. package/dist/types/src/lib/pmProxy.test/index.d.ts +0 -6
  702. package/dist/types/src/lib/pmProxy.test/mockPM.d.ts +0 -10
  703. package/dist/types/src/lib/pmProxy.test/mockPMBase.d.ts +0 -40
  704. package/dist/types/src/lib/pmProxy.test/specification.d.ts +0 -3
  705. package/dist/types/src/lib/pmProxy.test/types.d.ts +0 -42
  706. package/dist/types/src/lib/types.d.ts +0 -24
  707. package/dist/types/src/mothership/index.d.ts +0 -2
  708. package/dist/types/src/mothership/test.d.ts +0 -2
  709. package/dist/types/src/testeranto.d.ts +0 -1
  710. package/dist/types/src/types/features.d.ts +0 -7
  711. package/dist/types/src/utils/api.d.ts +0 -9
  712. package/dist/types/src/utils/buildTemplates.d.ts +0 -1
  713. package/dist/types/src/utils/featureUtils.d.ts +0 -6
  714. package/dist/types/src/utils/golingvuMetafile.d.ts +0 -19
  715. package/dist/types/src/utils/logFiles.d.ts +0 -75
  716. package/dist/types/src/utils/makePrompt.d.ts +0 -2
  717. package/dist/types/src/utils/pitonoMetafile.d.ts +0 -7
  718. package/dist/types/src/utils/queue.d.ts +0 -11
  719. package/dist/types/src/utils.d.ts +0 -20
  720. package/dist/types/src/web.html.d.ts +0 -2
  721. package/dist/types/tsconfig.types.tsbuildinfo +0 -1
  722. package/pitono/__init__.py +0 -54
  723. package/pitono/types.py +0 -78
  724. package/src/golingvu/base_suite_test.go +0 -197
  725. package/src/templates/frontpage.html +0 -340
  726. package/src/templates/frontpage.md +0 -79
  727. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/tests.json +0 -29
  728. /package/{pitono → src/pitono}/core_generator.py +0 -0
  729. /package/{pitono → src/pitono}/pitono.egg-info/dependency_links.txt +0 -0
  730. /package/{pitono → src/pitono}/pitono.egg-info/entry_points.txt +0 -0
  731. /package/{pitono → src/pitono}/pitono.egg-info/top_level.txt +0 -0
  732. /package/{pitono → src/pitono}/pyproject.toml +0 -0
  733. /package/{pitono → src/pitono}/setup.py +0 -0
  734. /package/{pitono → src/pitono}/simple_adapter.py +0 -0
  735. /package/{dist/types/src/PM/types.d.ts → testeranto/helpo_chat_message.txt} +0 -0
  736. /package/{dist/types/src/components/SunriseAnimation.test/implementation.d.ts → testeranto/reports/core/example/test_example/python/stdout.log} +0 -0
  737. /package/{dist/types/src/components/SunriseAnimation.test/index.d.ts → testeranto/reports/core/src/Pure.test/pure/exit.log} +0 -0
  738. /package/{dist/types/src/components/SunriseAnimation.test/specification.d.ts → testeranto/reports/core/src/Pure.test/pure/lint_errors.txt} +0 -0
  739. /package/{dist/types/src/components/pure/SingleProcessView.d.ts → testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log} +0 -0
  740. /package/{dist/types/src/run.d.ts → testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log} +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
  }