testeranto 0.177.0 → 0.197.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 (546) hide show
  1. package/ALL_LICENSES.txt +11246 -0
  2. package/LICENSE +21 -0
  3. package/README.md +24 -4
  4. package/default-project.json +44 -0
  5. package/design-editor/DesignEditor.tsx +247 -0
  6. package/design-editor/index.ts +2 -0
  7. package/design-editor/server.ts +121 -0
  8. package/design-editor/types.ts +16 -0
  9. package/designs/default-project.json +210 -0
  10. package/dist/common/design-editor/DesignEditor.js +239 -0
  11. package/dist/common/design-editor/index.js +18 -0
  12. package/dist/common/design-editor/server.js +98 -0
  13. package/dist/common/design-editor/types.js +2 -0
  14. package/dist/common/src/App.js +53 -0
  15. package/dist/common/src/Node.js +4 -8
  16. package/dist/common/src/PM/PM_WithEslintAndTsc.js +10 -34
  17. package/dist/common/src/PM/base.js +1 -1
  18. package/dist/common/src/PM/main.js +581 -113
  19. package/dist/common/src/PM/node.js +4 -2
  20. package/dist/common/src/PM/nodeSidecar.js +1 -0
  21. package/dist/common/src/PM/pure.js +20 -57
  22. package/dist/common/src/PM/pureSidecar.js +1 -1
  23. package/dist/common/src/PM/types.js +1 -0
  24. package/dist/common/src/PM/web.js +7 -4
  25. package/dist/common/src/Pure.js +1 -1
  26. package/dist/common/src/Pure.test.js +49 -79
  27. package/dist/common/src/ReportServer.js +8 -2
  28. package/dist/common/src/build.js +31 -40
  29. package/dist/common/src/components/DesignEditorPage.js +169 -0
  30. package/dist/common/src/components/SunriseAnimation.js +291 -0
  31. package/dist/common/src/components/SunriseAnimation.test/interface.js +67 -0
  32. package/dist/common/src/components/SunriseAnimation.test/types.js +2 -0
  33. package/dist/common/src/components/TestStatusBadge.js +1 -21
  34. package/dist/common/src/components/pure/AppFrame.js +69 -0
  35. package/dist/common/src/components/pure/AppFrame.test/implementation.js +63 -0
  36. package/dist/common/src/components/pure/AppFrame.test/index.js +14 -0
  37. package/dist/common/src/components/pure/AppFrame.test/specification.js +25 -0
  38. package/dist/common/src/components/pure/AppFrame.test/types.js +3 -0
  39. package/dist/common/src/components/pure/FeaturesReporterView.js +23 -0
  40. package/dist/common/src/components/pure/FeaturesReporterView.test/implementation.js +84 -0
  41. package/dist/common/src/components/pure/FeaturesReporterView.test/index.js +14 -0
  42. package/dist/common/src/components/pure/FeaturesReporterView.test/specification.js +27 -0
  43. package/dist/common/src/components/pure/FeaturesReporterView.test/types.js +2 -0
  44. package/dist/common/src/components/pure/ModalContent.js +86 -0
  45. package/dist/common/src/components/pure/ModalContent.test/implementation.js +35 -0
  46. package/dist/common/src/components/pure/ModalContent.test/index.js +58 -0
  47. package/dist/common/src/components/pure/ModalContent.test/specification.js +19 -0
  48. package/dist/common/src/components/pure/ModalContent.test/types.js +4 -0
  49. package/dist/common/src/{NavBar.js → components/pure/NavBar.js} +9 -10
  50. package/dist/common/src/components/pure/ProcessManager.js +112 -0
  51. package/dist/common/src/components/pure/ProcessManagerView.js +237 -0
  52. package/dist/common/src/components/pure/ProjectPageView.js +53 -76
  53. package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +167 -54
  54. package/dist/common/src/components/pure/ProjectPageView.test/index.js +5 -1
  55. package/dist/common/src/components/pure/ProjectPageView.test/specification.js +15 -2
  56. package/dist/common/src/components/pure/ProjectPageView.test/types.js +2 -0
  57. package/dist/common/src/components/pure/ProjectsPageView.js +72 -0
  58. package/dist/common/src/components/pure/SettingsButton.js +13 -0
  59. package/dist/common/src/components/pure/SingleProcessView.js +214 -0
  60. package/dist/common/src/components/pure/TestPageView.js +513 -0
  61. package/dist/common/src/components/pure/TestPageView.test/implementation.js +157 -0
  62. package/dist/common/src/components/pure/TestPageView.test/index.js +15 -0
  63. package/dist/common/src/components/pure/TestPageView.test/specification.js +26 -0
  64. package/dist/common/src/components/pure/TestPageView.test/types.js +4 -0
  65. package/dist/common/src/components/pure/ThemeCard.js +15 -0
  66. package/dist/common/src/components/stateful/FeaturesReporter.js +59 -0
  67. package/dist/common/src/components/stateful/FileTree.js +40 -0
  68. package/dist/common/src/components/stateful/ProcessManagerPage.js +112 -0
  69. package/dist/common/src/components/stateful/ProjectPage.js +101 -0
  70. package/dist/common/src/components/stateful/ProjectsPage.js +118 -0
  71. package/dist/common/src/components/stateful/SettingsPage.js +72 -0
  72. package/dist/common/src/components/stateful/SingleProcessPage.js +147 -0
  73. package/dist/common/src/components/stateful/TestPage.js +229 -0
  74. package/dist/common/src/components/stateful/TextEditorPage.js +154 -0
  75. package/dist/common/src/defaultConfig.js +1 -0
  76. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +3 -4
  77. package/dist/common/src/esbuildConfigs/web.js +1 -1
  78. package/dist/common/src/lib/BaseSuite.js +7 -3
  79. package/dist/common/src/lib/BaseSuite.test/mock.js +17 -41
  80. package/dist/common/src/lib/BaseSuite.test/test.js +33 -42
  81. package/dist/common/src/lib/Sidecar.js +1 -0
  82. package/dist/common/src/lib/abstractBase.js +40 -13
  83. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +12 -12
  84. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +15 -13
  85. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
  86. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.pure.js +2 -2
  87. package/dist/common/src/lib/basebuilder.js +29 -35
  88. package/dist/common/src/lib/classBuilder.js +5 -3
  89. package/dist/common/src/lib/core.js +3 -6
  90. package/dist/common/src/lib/core.test/MockCore.js +0 -14
  91. package/dist/common/src/lib/core.test/core.test.adapter.js +2 -9
  92. package/dist/common/src/lib/core.test/core.test.implementation.js +3 -7
  93. package/dist/common/src/lib/index.js +13 -14
  94. package/dist/common/src/lib/pmProxy.js +37 -16
  95. package/dist/common/src/lib/pmProxy.test/adapter.js +20 -4
  96. package/dist/common/src/lib/pmProxy.test/implementation.js +93 -34
  97. package/dist/common/src/lib/pmProxy.test/mockPMBase.js +9 -0
  98. package/dist/common/src/lib/pmProxy.test/specification.js +3 -0
  99. package/dist/common/src/mothership/index.js +5 -0
  100. package/dist/common/src/mothership/test.js +44 -25
  101. package/dist/common/src/types/features.js +34 -0
  102. package/dist/common/src/utils/api.js +57 -27
  103. package/dist/common/src/utils/featureUtils.js +29 -0
  104. package/dist/common/src/utils/logFiles.js +51 -0
  105. package/dist/common/src/utils/makePrompt.js +116 -0
  106. package/dist/common/src/web.html.js +2 -6
  107. package/dist/common/testeranto.config.js +54 -24
  108. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  109. package/dist/module/design-editor/DesignEditor.js +203 -0
  110. package/dist/module/design-editor/index.js +2 -0
  111. package/dist/module/design-editor/server.js +92 -0
  112. package/dist/module/design-editor/types.js +1 -0
  113. package/dist/module/src/App.js +19 -17
  114. package/dist/module/src/Node.js +4 -8
  115. package/dist/module/src/PM/PM_WithEslintAndTsc.js +11 -35
  116. package/dist/module/src/PM/base.js +1 -1
  117. package/dist/module/src/PM/main.js +577 -109
  118. package/dist/module/src/PM/node.js +4 -2
  119. package/dist/module/src/PM/nodeSidecar.js +1 -0
  120. package/dist/module/src/PM/pure.js +20 -57
  121. package/dist/module/src/PM/pureSidecar.js +1 -1
  122. package/dist/module/src/PM/types.js +1 -0
  123. package/dist/module/src/PM/web.js +7 -4
  124. package/dist/module/src/Pure.js +1 -1
  125. package/dist/module/src/Pure.test.js +49 -79
  126. package/dist/module/src/ReportServer.js +8 -2
  127. package/dist/module/src/build.js +26 -38
  128. package/dist/module/src/components/DesignEditorPage.js +132 -0
  129. package/dist/module/src/components/SunriseAnimation.test/interface.js +32 -1
  130. package/dist/module/src/components/SunriseAnimation.test/types.js +1 -0
  131. package/dist/module/src/components/TestStatusBadge.js +1 -21
  132. package/dist/module/src/components/pure/AppFrame.js +32 -0
  133. package/dist/module/src/components/pure/AppFrame.test/implementation.js +57 -0
  134. package/dist/module/src/components/pure/AppFrame.test/index.js +9 -0
  135. package/dist/module/src/components/pure/AppFrame.test/specification.js +21 -0
  136. package/dist/module/src/components/pure/AppFrame.test/types.js +2 -0
  137. package/dist/module/src/components/pure/FeaturesReporterView.js +16 -0
  138. package/dist/module/src/components/pure/FeaturesReporterView.test/implementation.js +81 -0
  139. package/dist/module/src/components/pure/FeaturesReporterView.test/index.js +9 -0
  140. package/dist/module/src/components/pure/FeaturesReporterView.test/specification.js +23 -0
  141. package/dist/module/src/components/pure/FeaturesReporterView.test/types.js +1 -0
  142. package/dist/module/src/components/pure/ModalContent.js +79 -0
  143. package/dist/module/src/components/pure/ModalContent.test/implementation.js +32 -0
  144. package/dist/module/src/components/pure/ModalContent.test/index.js +53 -0
  145. package/dist/module/src/components/pure/ModalContent.test/specification.js +15 -0
  146. package/dist/module/src/components/pure/ModalContent.test/types.js +3 -0
  147. package/dist/module/src/{NavBar.js → components/pure/NavBar.js} +10 -11
  148. package/dist/module/src/components/pure/ProcessManager.js +75 -0
  149. package/dist/module/src/components/pure/ProcessManagerView.js +200 -0
  150. package/dist/module/src/components/pure/ProjectPageView.js +54 -77
  151. package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +167 -54
  152. package/dist/module/src/components/pure/ProjectPageView.test/index.js +5 -1
  153. package/dist/module/src/components/pure/ProjectPageView.test/specification.js +15 -2
  154. package/dist/module/src/components/pure/ProjectPageView.test/types.js +2 -0
  155. package/dist/module/src/components/pure/ProjectsPageView.js +21 -14
  156. package/dist/module/src/components/pure/SettingsButton.js +6 -0
  157. package/dist/module/src/components/pure/SingleProcessView.js +214 -0
  158. package/dist/module/src/components/pure/TestPageView.js +470 -142
  159. package/dist/module/src/components/pure/TestPageView.test/implementation.js +121 -0
  160. package/dist/module/src/components/pure/TestPageView.test/index.js +10 -0
  161. package/dist/module/src/components/pure/TestPageView.test/specification.js +22 -0
  162. package/dist/module/src/components/pure/TestPageView.test/types.js +3 -0
  163. package/dist/module/src/components/pure/ThemeCard.js +8 -0
  164. package/dist/module/src/components/stateful/FeaturesReporter.js +22 -0
  165. package/dist/module/src/components/stateful/FileTree.js +33 -0
  166. package/dist/module/src/components/stateful/ProcessManagerPage.js +75 -0
  167. package/dist/module/src/components/stateful/ProjectPage.js +7 -6
  168. package/dist/module/src/components/stateful/ProjectsPage.js +32 -6
  169. package/dist/module/src/components/stateful/SettingsPage.js +35 -0
  170. package/dist/module/src/components/stateful/SingleProcessPage.js +110 -0
  171. package/dist/module/src/components/stateful/TestPage.js +123 -13
  172. package/dist/module/src/components/stateful/TextEditorPage.js +117 -0
  173. package/dist/module/src/defaultConfig.js +1 -0
  174. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +3 -4
  175. package/dist/module/src/esbuildConfigs/web.js +1 -1
  176. package/dist/module/src/lib/BaseSuite.js +7 -3
  177. package/dist/module/src/lib/BaseSuite.test/mock.js +17 -41
  178. package/dist/module/src/lib/BaseSuite.test/test.js +33 -42
  179. package/dist/module/src/lib/Sidecar.js +1 -0
  180. package/dist/module/src/lib/abstractBase.js +40 -13
  181. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +12 -12
  182. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +15 -13
  183. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
  184. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.pure.js +1 -1
  185. package/dist/module/src/lib/basebuilder.js +29 -35
  186. package/dist/module/src/lib/classBuilder.js +5 -3
  187. package/dist/module/src/lib/core.js +3 -6
  188. package/dist/module/src/lib/core.test/MockCore.js +0 -14
  189. package/dist/module/src/lib/core.test/core.test.adapter.js +2 -9
  190. package/dist/module/src/lib/core.test/core.test.implementation.js +3 -7
  191. package/dist/module/src/lib/index.js +13 -14
  192. package/dist/module/src/lib/pmProxy.js +37 -16
  193. package/dist/module/src/lib/pmProxy.test/adapter.js +20 -4
  194. package/dist/module/src/lib/pmProxy.test/implementation.js +93 -34
  195. package/dist/module/src/lib/pmProxy.test/mockPMBase.js +9 -0
  196. package/dist/module/src/lib/pmProxy.test/specification.js +3 -0
  197. package/dist/module/src/mothership/index.js +5 -0
  198. package/dist/module/src/mothership/test.js +44 -25
  199. package/dist/module/src/types/features.js +31 -0
  200. package/dist/module/src/utils/api.js +56 -25
  201. package/dist/module/src/utils/featureUtils.js +24 -0
  202. package/dist/module/src/utils/logFiles.js +46 -0
  203. package/dist/module/src/utils/makePrompt.js +109 -0
  204. package/dist/module/src/web.html.js +2 -6
  205. package/dist/module/testeranto.config.js +54 -24
  206. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  207. package/dist/prebuild/App.css +53 -80
  208. package/dist/prebuild/App.js +15520 -4397
  209. package/dist/prebuild/ReportServer.mjs +104 -6
  210. package/dist/prebuild/build.mjs +95 -108
  211. package/dist/prebuild/mothership/index.mjs +5 -0
  212. package/dist/prebuild/run.mjs +704 -221
  213. package/dist/types/design-editor/DesignEditor.d.ts +18 -0
  214. package/dist/types/design-editor/server.d.ts +1 -0
  215. package/dist/types/src/App.d.ts +1 -0
  216. package/dist/types/src/PM/index.d.ts +1 -1
  217. package/dist/types/src/PM/main.d.ts +37 -3
  218. package/dist/types/src/PM/pure.d.ts +10 -7
  219. package/dist/types/src/PM/web.d.ts +1 -1
  220. package/dist/types/src/Pure.test.d.ts +13 -1
  221. package/dist/types/src/Types.d.ts +1 -0
  222. package/dist/types/src/components/DesignEditorPage.d.ts +1 -0
  223. package/dist/types/src/components/SunriseAnimation.d.ts +5 -0
  224. package/dist/types/src/components/SunriseAnimation.test/interface.d.ts +11 -0
  225. package/dist/types/src/components/SunriseAnimation.test/types.d.ts +39 -0
  226. package/dist/types/src/components/pure/AppFrame.d.ts +11 -0
  227. package/dist/types/src/components/pure/AppFrame.test/implementation.d.ts +3 -0
  228. package/dist/types/src/components/pure/AppFrame.test/index.d.ts +5 -0
  229. package/dist/types/src/components/pure/AppFrame.test/specification.d.ts +3 -0
  230. package/dist/types/src/components/pure/AppFrame.test/types.d.ts +33 -0
  231. package/dist/types/src/components/pure/FeaturesReporterView.d.ts +7 -0
  232. package/dist/types/src/components/pure/FeaturesReporterView.test/implementation.d.ts +3 -0
  233. package/dist/types/src/components/pure/FeaturesReporterView.test/index.d.ts +2 -0
  234. package/dist/types/src/components/pure/FeaturesReporterView.test/specification.d.ts +3 -0
  235. package/dist/types/src/components/pure/FeaturesReporterView.test/types.d.ts +54 -0
  236. package/dist/types/src/components/pure/ModalContent.d.ts +7 -0
  237. package/dist/types/src/components/pure/ModalContent.test/implementation.d.ts +3 -0
  238. package/dist/types/src/components/pure/ModalContent.test/index.d.ts +3 -0
  239. package/dist/types/src/components/pure/ModalContent.test/specification.d.ts +3 -0
  240. package/dist/types/src/components/pure/ModalContent.test/types.d.ts +45 -0
  241. package/dist/types/src/{NavBar.d.ts → components/pure/NavBar.d.ts} +4 -0
  242. package/dist/types/src/components/pure/ProcessManager.d.ts +8 -0
  243. package/dist/types/src/components/pure/ProcessManagerView.d.ts +20 -0
  244. package/dist/types/src/components/pure/ProjectPageView.d.ts +7 -7
  245. package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +1 -2
  246. package/dist/types/src/components/pure/ProjectPageView.test/types.d.ts +29 -11
  247. package/dist/types/src/components/pure/ProjectsPageView.d.ts +29 -0
  248. package/dist/types/src/components/pure/SettingsButton.d.ts +2 -0
  249. package/dist/types/src/components/pure/SingleProcessView.d.ts +0 -0
  250. package/dist/types/src/components/pure/TestPageView.d.ts +15 -0
  251. package/dist/types/src/components/pure/TestPageView.test/implementation.d.ts +12 -0
  252. package/dist/types/src/components/pure/TestPageView.test/index.d.ts +3 -0
  253. package/dist/types/src/components/pure/TestPageView.test/specification.d.ts +11 -0
  254. package/dist/types/src/components/pure/TestPageView.test/types.d.ts +65 -0
  255. package/dist/types/src/components/pure/ThemeCard.d.ts +9 -0
  256. package/dist/types/src/components/stateful/FeaturesReporter.d.ts +2 -0
  257. package/dist/types/src/components/stateful/FileTree.d.ts +8 -0
  258. package/dist/types/src/components/stateful/ProcessManagerPage.d.ts +2 -0
  259. package/dist/types/src/components/stateful/ProjectPage.d.ts +1 -0
  260. package/dist/types/src/components/stateful/ProjectsPage.d.ts +1 -0
  261. package/dist/types/src/components/stateful/SettingsPage.d.ts +2 -0
  262. package/dist/types/src/components/stateful/SingleProcessPage.d.ts +2 -0
  263. package/dist/types/src/components/stateful/TestPage.d.ts +1 -0
  264. package/dist/types/src/components/stateful/TextEditorPage.d.ts +1 -0
  265. package/dist/types/src/lib/BaseSuite.test/mock.d.ts +3 -3
  266. package/dist/types/src/lib/abstractBase.d.ts +1 -1
  267. package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +1 -1
  268. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +1 -1
  269. package/dist/types/src/lib/basebuilder.d.ts +1 -1
  270. package/dist/types/src/lib/index.d.ts +8 -8
  271. package/dist/types/src/lib/pmProxy.test/mockPMBase.d.ts +1 -1
  272. package/dist/types/src/types/features.d.ts +7 -0
  273. package/dist/types/src/utils/api.d.ts +1 -5
  274. package/dist/types/src/utils/featureUtils.d.ts +6 -0
  275. package/dist/types/src/utils/logFiles.d.ts +71 -0
  276. package/dist/types/src/utils/makePrompt.d.ts +2 -0
  277. package/dist/types/src/web.html.d.ts +1 -1
  278. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  279. package/docs/index.md +17 -0
  280. package/docs/test-page-components.md +91 -0
  281. package/docs/testing.prompt.txt +1 -3
  282. package/index.d.ts +38 -13
  283. package/marketing.md +166 -0
  284. package/package.json +38 -11
  285. package/src/App.tsx +22 -25
  286. package/src/Node.ts +6 -9
  287. package/src/PM/PM_WithEslintAndTsc.ts +16 -97
  288. package/src/PM/__tests__/nodeSidecar.testeranto.ts +2 -0
  289. package/src/PM/base.ts +1 -3
  290. package/src/PM/index.ts +1 -1
  291. package/src/PM/main.ts +673 -128
  292. package/src/PM/node.ts +5 -2
  293. package/src/PM/nodeSidecar.ts +1 -0
  294. package/src/PM/pure.ts +28 -72
  295. package/src/PM/pureSidecar.ts +1 -1
  296. package/src/PM/types.ts +0 -0
  297. package/src/PM/web.ts +9 -4
  298. package/src/Pure.test.ts +66 -101
  299. package/src/Pure.ts +1 -1
  300. package/src/README.md +85 -0
  301. package/src/ReportServer.ts +10 -3
  302. package/src/Types.ts +1 -0
  303. package/src/app.scss +169 -0
  304. package/src/build.ts +33 -55
  305. package/src/components/DesignEditorPage.tsx +169 -0
  306. package/src/components/{pure/ProjectPageView.test/index.ts → SunriseAnimation.test/index.tsx} +7 -4
  307. package/src/components/SunriseAnimation.test/interface.ts +49 -0
  308. package/src/components/SunriseAnimation.test/types.ts +53 -0
  309. package/src/components/TestStatusBadge.tsx +2 -23
  310. package/src/components/pure/AppFrame.test/implementation.tsx +72 -0
  311. package/src/components/pure/AppFrame.test/index.tsx +22 -0
  312. package/src/components/pure/AppFrame.test/specification.ts +35 -0
  313. package/src/components/pure/AppFrame.test/types.ts +65 -0
  314. package/src/components/pure/AppFrame.tsx +134 -0
  315. package/src/components/pure/FeaturesReporterView.test/implementation.tsx +106 -0
  316. package/src/components/pure/FeaturesReporterView.test/index.tsx +18 -0
  317. package/src/components/pure/FeaturesReporterView.test/specification.ts +39 -0
  318. package/src/components/pure/FeaturesReporterView.test/types.ts +77 -0
  319. package/src/components/pure/FeaturesReporterView.tsx +37 -0
  320. package/src/components/pure/ModalContent.test/implementation.tsx +45 -0
  321. package/src/components/pure/ModalContent.test/index.tsx +67 -0
  322. package/src/components/pure/ModalContent.test/specification.ts +27 -0
  323. package/src/components/pure/ModalContent.test/types.ts +72 -0
  324. package/src/components/pure/ModalContent.tsx +182 -0
  325. package/src/{NavBar.tsx → components/pure/NavBar.tsx} +31 -15
  326. package/src/components/pure/ProcessManager.tsx +117 -0
  327. package/src/components/pure/ProcessManagerView.tsx +414 -0
  328. package/src/components/pure/ProjectPageView.test/implementation.tsx +186 -57
  329. package/src/components/pure/ProjectPageView.test/index.tsx +18 -0
  330. package/src/components/pure/ProjectPageView.test/specification.ts +15 -2
  331. package/src/components/pure/ProjectPageView.test/types.ts +57 -13
  332. package/src/components/pure/ProjectPageView.tsx +155 -121
  333. package/src/components/pure/ProjectsPageView.tsx +73 -32
  334. package/src/components/pure/SettingsButton.md +1 -0
  335. package/src/components/pure/SettingsButton.tsx +11 -0
  336. package/src/components/pure/SingleProcessView.tsx +235 -0
  337. package/src/components/pure/TestPageView.test/implementation.ts +162 -0
  338. package/src/components/pure/TestPageView.test/index.tsx +20 -0
  339. package/src/components/pure/TestPageView.test/specification.ts +58 -0
  340. package/src/components/pure/TestPageView.test/types.ts +92 -0
  341. package/src/components/pure/TestPageView.tsx +1009 -299
  342. package/src/components/pure/ThemeCard.tsx +34 -0
  343. package/src/components/stateful/FeaturesReporter.tsx +24 -0
  344. package/src/components/stateful/FileTree.tsx +66 -0
  345. package/src/components/stateful/ProcessManagerPage.tsx +108 -0
  346. package/src/components/stateful/ProjectPage.tsx +10 -8
  347. package/src/components/stateful/ProjectsPage.tsx +36 -7
  348. package/src/components/stateful/SettingsPage.tsx +82 -0
  349. package/src/components/stateful/SingleProcessPage.tsx +155 -0
  350. package/src/components/stateful/TestPage.tsx +147 -30
  351. package/src/components/stateful/TextEditorPage.tsx +170 -0
  352. package/src/defaultConfig.ts +1 -0
  353. package/src/esbuildConfigs/inputFilesPlugin.ts +3 -4
  354. package/src/esbuildConfigs/web.ts +2 -1
  355. package/src/lib/BaseSuite.test/mock.ts +21 -68
  356. package/src/lib/BaseSuite.test/test.ts +39 -65
  357. package/src/lib/BaseSuite.ts +9 -3
  358. package/src/lib/Sidecar.ts +2 -0
  359. package/src/lib/abstractBase.test/MockGiven.ts +1 -1
  360. package/src/lib/abstractBase.ts +47 -20
  361. package/src/lib/baseBuilder.test/baseBuilder.test.adapter.ts +14 -13
  362. package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +17 -14
  363. package/src/lib/baseBuilder.test/baseBuilder.test.mock.ts +27 -17
  364. package/src/lib/baseBuilder.test/baseBuilder.test.pure.ts +1 -1
  365. package/src/lib/basebuilder.ts +48 -54
  366. package/src/lib/classBuilder.ts +11 -10
  367. package/src/lib/core.test/MockCore.ts +0 -23
  368. package/src/lib/core.test/core.test.adapter.ts +6 -12
  369. package/src/lib/core.test/core.test.implementation.ts +7 -10
  370. package/src/lib/core.ts +5 -20
  371. package/src/lib/index.ts +28 -27
  372. package/src/lib/pmProxy.test/adapter.ts +18 -4
  373. package/src/lib/pmProxy.test/implementation.ts +130 -46
  374. package/src/lib/pmProxy.test/mockPMBase.ts +12 -1
  375. package/src/lib/pmProxy.test/specification.ts +11 -0
  376. package/src/lib/pmProxy.ts +42 -17
  377. package/src/lib/types.ts +2 -0
  378. package/src/mothership/index.ts +6 -0
  379. package/src/mothership/test.ts +53 -26
  380. package/src/style.md +2 -0
  381. package/src/style.scss +3 -486
  382. package/src/templates/frontpage.html +331 -0
  383. package/src/templates/frontpage.md +79 -0
  384. package/src/themes.scss +48 -16
  385. package/src/types/features.ts +38 -0
  386. package/src/utils/api.ts +66 -33
  387. package/src/utils/featureUtils.tsx +42 -0
  388. package/src/utils/logFiles.ts +60 -0
  389. package/src/utils/makePrompt.ts +149 -0
  390. package/src/web.html.ts +6 -6
  391. package/stargazers.txt +15 -0
  392. package/stargzers.js +68 -0
  393. package/testeranto/App.css +53 -80
  394. package/testeranto/App.js +15520 -4397
  395. package/testeranto/bundles/node/core/chunk-4CSH4UJE.mjs +872 -0
  396. package/testeranto/bundles/node/core/chunk-4JTDLQVA.mjs +253 -0
  397. package/testeranto/bundles/node/core/chunk-C3APFDUV.mjs +70 -0
  398. package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +295 -0
  399. package/testeranto/bundles/node/core/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +243 -0
  400. package/testeranto/bundles/node/core/src/lib/classBuilder.test/classBuilder.test.mjs +411 -0
  401. package/testeranto/bundles/node/core/src/lib/core.test/core.test.mjs +494 -0
  402. package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +4755 -0
  403. package/testeranto/bundles/pure/core/chunk-62UVCSQC.mjs +1022 -0
  404. package/testeranto/bundles/pure/core/src/Pure.test.mjs +410 -0
  405. package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +352 -0
  406. package/testeranto/bundles/pure/core/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +241 -0
  407. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.html +15 -0
  408. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +1 -5
  409. package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.html +15 -0
  410. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.html +15 -0
  411. package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.html +15 -0
  412. package/testeranto/metafiles/node/core.json +2906 -0
  413. package/testeranto/metafiles/pure/core.json +860 -0
  414. package/testeranto/metafiles/web/core.json +546 -0
  415. package/testeranto/reports/core/config.json +103 -2
  416. package/testeranto/reports/core/src/Pure.test/pure/exit.log +0 -0
  417. package/testeranto/reports/core/src/Pure.test/pure/lint_errors.txt +0 -0
  418. package/testeranto/reports/core/src/Pure.test/pure/message.txt +17 -0
  419. package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +14 -0
  420. package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +71 -0
  421. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log +0 -0
  422. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +3 -0
  423. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +1 -0
  424. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +0 -0
  425. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/warn.log +0 -0
  426. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/debug.log +0 -0
  427. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +3 -0
  428. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +1 -0
  429. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +0 -0
  430. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
  431. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/debug.log +0 -0
  432. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/error.log +3 -0
  433. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/exit.log +1 -0
  434. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/info.log +0 -0
  435. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/warn.log +0 -0
  436. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/exit.log +1 -0
  437. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -0
  438. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/message.txt +17 -0
  439. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +14 -0
  440. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stderr.log +0 -0
  441. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +0 -0
  442. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +31 -0
  443. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +61 -0
  444. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/exit.log +0 -0
  445. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -0
  446. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/message.txt +17 -0
  447. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +15 -0
  448. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +61 -0
  449. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/debug.log +0 -0
  450. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/error.log +3 -0
  451. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/exit.log +1 -0
  452. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/info.log +0 -0
  453. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/warn.log +0 -0
  454. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/exit.log +1 -0
  455. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +10 -0
  456. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +17 -0
  457. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +17 -0
  458. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stderr.log +0 -0
  459. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stdout.log +6 -0
  460. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
  461. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-1/butThen/artifact_test.txt +1 -0
  462. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +71 -0
  463. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +42 -0
  464. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/exit.log +0 -0
  465. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +10 -0
  466. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +17 -0
  467. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +17 -0
  468. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +42 -0
  469. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/debug.log +0 -0
  470. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/error.log +3 -0
  471. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/exit.log +1 -0
  472. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/info.log +0 -0
  473. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/warn.log +0 -0
  474. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/exit.log +1 -0
  475. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.txt +0 -0
  476. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/message.txt +17 -0
  477. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +17 -0
  478. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stderr.log +0 -0
  479. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stdout.log +619 -0
  480. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/tests.json +165 -0
  481. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +88 -0
  482. package/testeranto/reports/core/src/lib/core.test/core.test/node/exit.log +1 -0
  483. package/testeranto/reports/core/src/lib/core.test/core.test/node/lint_errors.txt +21 -0
  484. package/testeranto/reports/core/src/lib/core.test/core.test/node/message.txt +17 -0
  485. package/testeranto/reports/core/src/lib/core.test/core.test/node/prompt.txt +19 -0
  486. package/testeranto/reports/core/src/lib/core.test/core.test/node/stderr.log +0 -0
  487. package/testeranto/reports/core/src/lib/core.test/core.test/node/stdout.log +0 -0
  488. package/testeranto/reports/core/src/lib/core.test/core.test/node/type_errors.txt +45 -0
  489. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -0
  490. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/lint_errors.txt +15 -0
  491. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/message.txt +17 -0
  492. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +17 -0
  493. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +88 -0
  494. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +10 -0
  495. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +152 -0
  496. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +52 -0
  497. package/testeranto/reports/core/summary.json +74 -5
  498. package/testeranto/reportsweb_build_errors +546 -0
  499. package/testeranto.config.ts +58 -25
  500. package/tsc.log +378 -211
  501. package/tsconfig.common.json +4 -2
  502. package/tsconfig.json +9 -6
  503. package/tsconfig.module.json +3 -2
  504. package/tsconfig.types.json +3 -1
  505. package/dist/common/src/components/pure/ProjectPageView.test/adapter.js +0 -20
  506. package/dist/common/src/lib/dailyAnimation.js +0 -130
  507. package/dist/module/src/Footer.js +0 -5
  508. package/dist/module/src/ProjectPage.js +0 -319
  509. package/dist/module/src/ProjectsPage.js +0 -1
  510. package/dist/module/src/SettingsButton.js +0 -157
  511. package/dist/module/src/TestPage.js +0 -271
  512. package/dist/module/src/TestReport.js +0 -368
  513. package/dist/module/src/components/pure/ProjectPageView.test/adapter.js +0 -17
  514. package/dist/module/src/lib/dailyAnimation.js +0 -130
  515. package/dist/types/src/components/pure/ProjectPageView.test/adapter.d.ts +0 -3
  516. package/dist/types/testeranto.config.d.ts +0 -3
  517. package/docs/testing.ai.txt +0 -106
  518. package/docs.html +0 -572
  519. package/example.css +0 -351
  520. package/index.html +0 -284
  521. package/scripts/compile-docs.js +0 -140
  522. package/src/App.scss +0 -132
  523. package/src/Footer.tsx +0 -8
  524. package/src/Project.scss +0 -1
  525. package/src/ProjectPage.tsx +0 -459
  526. package/src/ProjectsPage.tsx +0 -1
  527. package/src/ReportApp.scss +0 -1
  528. package/src/SettingsButton.tsx +0 -268
  529. package/src/TestPage.tsx +0 -476
  530. package/src/TestReport.scss +0 -24
  531. package/src/TestReport.tsx +0 -411
  532. package/src/components/pure/ProjectPageView.test/adapter.ts +0 -21
  533. package/src/fonts.scss +0 -55
  534. package/src/lib/dailyAnimation.ts +0 -147
  535. package/style.css +0 -12156
  536. package/testeranto/bundles/node/core/metafile.json +0 -8
  537. package/testeranto/bundles/pure/core/metafile.json +0 -8
  538. package/testeranto/bundles/web/core/metafile.json +0 -15086
  539. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +0 -39991
  540. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +0 -18
  541. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/logs.txt +0 -59
  542. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +0 -2
  543. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +0 -27
  544. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-0/butThen/happyPath.png +0 -0
  545. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +0 -50
  546. /package/dist/types/src/{lib/dailyAnimation.d.ts → PM/types.d.ts} +0 -0
package/docs/index.md CHANGED
@@ -552,6 +552,23 @@ export default Testeranto<
552
552
 
553
553
  ```
554
554
 
555
+ ## Explainer Video Development
556
+
557
+ The Testeranto explainer video is built using:
558
+
559
+ ### Revision.js Animation System
560
+
561
+ - Frame-by-frame animation control
562
+ - Timeline-based sequencing
563
+ - Audio synchronization
564
+ - Custom easing functions
565
+
566
+ ### Audio Integration
567
+
568
+ - Voiceover track provides timing cues
569
+ - Sound effects enhance key moments
570
+ - Volume automation for emphasis
571
+
555
572
  ## Trouble shooting
556
573
 
557
574
  ### Double check your runtimes.
@@ -0,0 +1,91 @@
1
+ # TestPage and TestPageView Components
2
+
3
+ ## Overview
4
+ These components provide a test results viewing interface that resembles VS Code, using Monaco Editor for code display and editing. The interface is split into three main sections:
5
+ 1. Left sidebar: Navigation for logs, source files, and artifacts
6
+ 2. Center panel: Monaco Editor for viewing and editing content
7
+ 3. Right panel: Test results and artifact previews
8
+
9
+ ## TestPage Component
10
+ The main container component that handles data fetching and state management.
11
+
12
+ ### Key Responsibilities:
13
+ 1. **Route Management**: Syncs the active tab with URL hash changes
14
+ 2. **Data Fetching**: Retrieves test data, logs, and source files from the server
15
+ 3. **State Management**: Maintains loading states, errors, and test metadata
16
+ 4. **Source File Organization**: Builds a file tree structure from metafile data
17
+
18
+ ### Props:
19
+ - Uses React Router hooks: `useNavigate`, `useLocation`, `useParams`
20
+ - No explicit props passed from parent components
21
+
22
+ ### State Variables:
23
+ - `route`: Active tab ('results', 'logs', 'types', 'lint', 'coverage')
24
+ - `testName`: Name of the current test
25
+ - `logs`: Collected logs and test data
26
+ - `loading`: Data loading status
27
+ - `error`: Error information
28
+ - `testsExist`: Whether tests exist for this path
29
+ - `errorCounts`: Counts of different error types
30
+ - `summary`: Test summary data
31
+
32
+ ## TestPageView Component
33
+ The presentational component that renders the VS Code-like interface.
34
+
35
+ ### Key Sections:
36
+ 1. **Navigation Bar**: Top bar with test name, runtime badge, and AI assistant button
37
+ 2. **Sidebar**: File tree navigation for logs, source files, and artifacts
38
+ 3. **Editor Panel**: Monaco Editor instance for code viewing/editing
39
+ 4. **Preview Panel**: Test results and artifact previews
40
+
41
+ ### Props:
42
+ ```typescript
43
+ interface TestPageViewProps {
44
+ projectName: string;
45
+ testName: string;
46
+ decodedTestPath: string;
47
+ runtime: string;
48
+ logs: Record<string, string>;
49
+ testsExist: boolean;
50
+ errorCounts: {
51
+ runTimeErrors: number;
52
+ typeErrors: number;
53
+ staticErrors: number;
54
+ };
55
+ }
56
+ ```
57
+
58
+ ### Sub-components:
59
+ 1. **FileTree**: Recursive component for displaying source file hierarchy
60
+ 2. **ArtifactTree**: Recursive component for displaying test artifacts
61
+ 3. **LogNavItem**: Navigation items for different log types with status indicators
62
+ 4. **TestStatusBadge**: Visual indicator of test status
63
+
64
+ ### Monaco Editor Integration:
65
+ - Uses `@monaco-editor/react` package
66
+ - Supports multiple languages based on file extensions
67
+ - Read-only mode for non-source files
68
+ - Theme-aware (light/dark) based on application theme
69
+
70
+ ## Data Flow
71
+ 1. TestPage fetches data on mount using test parameters from URL
72
+ 2. Data is processed and organized into a structured format
73
+ 3. TestPageView receives processed data and renders the interface
74
+ 4. User interactions update the active tab and selected file
75
+ 5. Monaco Editor displays the content of selected files
76
+
77
+ ## Future VS Code-like Enhancements
78
+ 1. **Multi-tab Editor**: Support opening multiple files in tabs
79
+ 2. **File Operations**: Create, rename, delete files in the file tree
80
+ 3. **Terminal Integration**: Built-in terminal for command execution
81
+ 4. **Git Integration**: Source control indicators and operations
82
+ 5. **Extensions**: Plugin system for additional functionality
83
+ 6. **Workspace Management**: Save and restore editor layouts
84
+ 7. **Command Palette**: Quick access to actions via keyboard
85
+ 8. **Settings**: Customizable editor preferences
86
+
87
+ ## Key Dependencies
88
+ - React Router: Navigation and routing
89
+ - Monaco Editor: Code editing functionality
90
+ - React Bootstrap: UI components and layout
91
+ - Custom hooks for WebSocket connections and state management
@@ -1,3 +1 @@
1
- /read docs/index.md docs/testing.ai.txt
2
-
3
- /add src/CoreTypes.ts src/lib/types.ts
1
+ /add docs/index.md src/CoreTypes.ts src/lib/types.ts
package/index.d.ts CHANGED
@@ -1,19 +1,44 @@
1
- declare module 'tests.test.js' {
2
-
3
- type ITestTypes = [
4
- string,
5
- IRunTime,
6
- ITestTypes[]
7
- ];
8
-
1
+ declare module "*.test.js" {
2
+ type ITestTypes = [string, IRunTime, ITestTypes[]];
9
3
  const content: ITestTypes[];
10
4
  export default content;
11
5
  }
12
6
 
7
+ // declare module '@revideo/core' {
8
+ // export function makeScene2D(callback: (view: any) => Generator): any;
9
+ // export function createRef<T>(): { current: T | null };
10
+ // export function waitFor(seconds: number): Generator;
11
+ // export function all(...animations: any[]): any;
12
+ // export function chain(...animations: any[]): any;
13
13
 
14
- declare module 'features.test.js' {
15
- import { TesterantoFeatures } from "./src/Features";
16
- const content: TesterantoFeatures;
17
- export default content;
18
- }
14
+ // export class Txt {
15
+ // constructor(props: {
16
+ // text: string;
17
+ // fill: string;
18
+ // fontSize: number;
19
+ // fontFamily: string;
20
+ // });
21
+ // scale(x: number, duration: number): any;
22
+ // }
23
+ // }
24
+
25
+ // declare module '@revideo/player' {
26
+ // export class Player {
27
+ // constructor(config: {
28
+ // container: string;
29
+ // width: number;
30
+ // height: number;
31
+ // autoplay: boolean;
32
+ // loop: boolean;
33
+ // scene: any;
34
+ // });
35
+ // }
36
+ // }
19
37
 
38
+ interface Window {
39
+ revideo: {
40
+ core: typeof import("@revideo/core");
41
+ player: typeof import("@revideo/player");
42
+ setupVideoPlayer: (container: string) => Promise<void>;
43
+ };
44
+ }
package/marketing.md ADDED
@@ -0,0 +1,166 @@
1
+ # Marketing Strategy
2
+
3
+ ## Unique Value Proposition
4
+
5
+ "Testeranto brings vibe coding to the real world - the only framework that lets you effortlessly maintain flow state while working with large codebases, thanks to AI-powered test fixing with intelligent context optimization."
6
+
7
+ ## Key Differentiators
8
+
9
+ ✨ **Vibe Coding At Scale** - Maintain flow state in large codebases
10
+ 🧠 **Precision Context** - Only what's needed for each fix
11
+ 🤖 **AI-Powered Flow** - Tests fix themselves without breaking your focus
12
+ 🔄 **Write Once, Test Anywhere** - Node/Browser/Pure
13
+ 📝 **Living Documentation** - Requirements stay in sync
14
+ 🛡️ **Type-Safe Flow** - No context switching for type errors
15
+
16
+ ## Target Audiences
17
+
18
+ 1. **TypeScript Developers**
19
+
20
+ - Frustrated with test maintenance overhead
21
+ - Want type-safe BDD at scale
22
+
23
+ 2. **BDD Teams**
24
+
25
+ - Need better requirements traceability
26
+ - Want living documentation
27
+
28
+ 3. **AI Early Adopters**
29
+
30
+ - Excited about AI-assisted development
31
+ - Want to reduce debugging time
32
+
33
+ 4. **Full-Stack Teams**
34
+ - Need cross-runtime test coverage
35
+ - Tired of maintaining multiple test suites
36
+
37
+ ## Beta Program Rollout
38
+
39
+ ### Phase 1: Private Beta (GitHub Stargazers)
40
+
41
+ **Email Template:**
42
+
43
+ ```markdown
44
+ Subject: Exclusive Invite: Testeranto Private Beta Access
45
+
46
+ Hi [First Name],
47
+
48
+ We noticed you starred testeranto on GitHub - thank you! We'd love to invite you to join our private beta program where you'll get:
49
+
50
+ 🔧 Early access to AI-powered test fixing
51
+ 💬 Lifetime priority support from the core team
52
+ 👨‍💻 Personal onboarding assistance from the creator
53
+ 🗺️ Direct influence on the product roadmap
54
+ 🎁 Exclusive swag + permanent "Pioneer" badge
55
+
56
+ To join:
57
+
58
+ 1. Reply to this email to confirm interest
59
+ 2. We'll send your private invite code
60
+ 3. Join our beta Discord for support
61
+
62
+ The beta includes:
63
+
64
+ - Full access to testeranto + Aider integration
65
+ - Weekly 1:1 office hours with me (Adam)
66
+ - Lifetime priority support for your projects
67
+ - Personal assistance integrating testeranto
68
+ - Early documentation and examples
69
+ - Permanent "Beta Pioneer" status
70
+
71
+ We're limiting this first wave to 100 developers. Let us know if you'd like to participate!
72
+
73
+ Cheers,
74
+ The Testeranto Team
75
+ ```
76
+
77
+ - [x] Identify top 100 stargazers
78
+ - [ ] Personalized email invitations
79
+ - [ ] Private Discord channel
80
+ - [ ] Weekly office hours
81
+ - [ ] Exclusive early-access docs
82
+
83
+ ### Phase 2: Public Beta (Reddit/HN)
84
+
85
+ **Reddit/HN Announcement Draft:**
86
+
87
+ ```markdown
88
+ Title: Testeranto Public Beta: The AI-Powered Test Framework That Fixes Itself
89
+
90
+ After a successful private beta with 100+ GitHub stargazers, we're opening up testeranto to the public!
91
+
92
+ What makes testeranto unique:
93
+ ✨ **Vibe Coding For Real Projects**
94
+
95
+ - Stay in flow state even in large codebases
96
+ - AI handles test maintenance without breaking focus
97
+ - Context optimized for minimal distractions
98
+
99
+ 🧠 **Precision Context Engine**
100
+
101
+ - Esbuild-powered dependency analysis
102
+ - Just the files/docs/types needed
103
+ - Preserves your mental model
104
+
105
+ 🤖 **AI That Understands Flow**
106
+
107
+ - Fixes tests without context switching
108
+ - Learns your coding style
109
+ - Respects your thought process
110
+
111
+ We've already seen:
112
+
113
+ - 70% reduction in test maintenance time (case study)
114
+ - 5x faster test creation for BDD workflows
115
+ - Seamless cross-runtime testing
116
+
117
+ Try it now:
118
+
119
+ 1. `npm install testeranto@beta`
120
+ 2. Check our starter project: [github.com/adamwong246/testeranto-starter]
121
+ 3. Join our "Fix My Tests" challenge with $500 in prizes
122
+
123
+ HN/Reddit special: First 50 signups get free 1:1 onboarding!
124
+
125
+ FAQ:
126
+ Q: How does the AI fixing work?
127
+ A: Testeranto generates detailed prompts that Aider uses to suggest fixes.
128
+
129
+ Q: What about type safety?
130
+ A: Full TypeScript support with runtime type checking.
131
+
132
+ Q: Can I test frontend and backend together?
133
+ A: Yes! Our cross-runtime testing is unique in the JS ecosystem.
134
+ ```
135
+
136
+ - [ ] Technical write-up on AI-assisted testing
137
+ - [ ] Showcase success stories from private beta
138
+ - [ ] "Fix My Tests" community challenge ($500 prize pool)
139
+ - [ ] Public bug bounty program ($20 per verified bug)
140
+
141
+ ## Marketing Channels
142
+
143
+ 1. **Content Marketing**
144
+
145
+ - [ ] Case study: "70% reduction in test maintenance"
146
+ - [ ] Interactive explainer video (JS-based)
147
+ - [ ] Screen-recorded demo: AI fixing tests in real-time
148
+ - [ ] Framework comparison whitepaper
149
+
150
+ 2. **Community Growth**
151
+
152
+ - [ ] "Testeranto Champions" early adopter program
153
+ - [ ] Monthly hackathons with prizes
154
+ - [ ] Curated examples gallery
155
+
156
+ 3. **Technical Outreach**
157
+ - [ ] Conference talks on AI-assisted testing
158
+ - [ ] Deep-dive blog series on architecture
159
+ - [ ] Performance benchmarks vs competitors
160
+
161
+ ## Success Metrics
162
+
163
+ - GitHub stars growth rate
164
+ - npm download trends
165
+ - Case study conversions
166
+ - Community engagement metrics
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "testeranto",
3
3
  "description": "the AI powered BDD test framework for typescript projects",
4
- "version": "0.177.0",
4
+ "version": "0.197.0",
5
5
  "engines": {
6
6
  "node": "18.18.0"
7
7
  },
@@ -118,8 +118,7 @@
118
118
  "ATDD"
119
119
  ],
120
120
  "scripts": {
121
- "build-hard": "rm -rf testeranto/**; rm -rf dist/**; yarn build; yarn t-init; yarn t-build allTests once; cp dist/prebuild/Project.* testeranto; cp dist/prebuild/TestReport.* testeranto; node scripts/compile-docs.js; yarn type-check",
122
- "doit": "rm -rf node_modules && yarn install && yarn build",
121
+ "build-hard": "rm -rf testeranto/** && yarn build && yarn type-check; yarn t-init; cp dist/prebuild/App.* testeranto; yarn t-build core once; yarn t-run core once",
123
122
  "build": "sh prebuild.sh; cp ./src/cjs-shim.js ./dist/cjs-shim.js; tsc -p tsconfig.module.json; tsc -p tsconfig.common.json; tsc -p tsconfig.types.json; sh postBuild.sh; yarn bundle",
124
123
  "dev": "sh prebuild.sh; cp ./src/cjs-shim.js ./dist/cjs-shim.js; sh postBuild.sh; tsc -p tsconfig.module.json --watch & tsc -p tsconfig.common.json --watch ",
125
124
  "bundle": "node bundle.js",
@@ -132,9 +131,9 @@
132
131
  "t-run": "tsx src/run.ts",
133
132
  "t-init": "tsx dist/prebuild/init-docs.mjs",
134
133
  "t-report": "tsx dist/prebuild/ReportServer.mjs",
135
- "build-docs": "node scripts/compile-docs.js",
136
- "do_it": "clear && rm -rf testeranto/** && yarn build && yarn t-init && yarn t-build allTests once && yarn t-run allTests once && yarn build-docs && yarn type-check",
137
- "prepublish": "self-import"
134
+ "compile-docs": "node scripts/compile-docs.js",
135
+ "prepublish": "self-import",
136
+ "summarizeLicenses": "yarn licenses list > ALL_LICENSES.txt; yarn license-checker >> ALL_LICENSES.txt; yarn license-checker --summary >> ALL_LICENSES.txt"
138
137
  },
139
138
  "peerDependencies": {
140
139
  "@types/react": "18.2.0",
@@ -160,26 +159,33 @@
160
159
  "@types/react-dom": "18.2.0",
161
160
  "@types/react-test-renderer": "19.0.0",
162
161
  "@types/uuid": "^10.0.0",
163
- "@types/ws": "^8.5.10",
162
+ "@types/ws": "^8.18.1",
164
163
  "@typescript-eslint/eslint-plugin": "^5.46.0",
165
164
  "@typescript-eslint/parser": "^5.46.0",
166
- "marked": "^12.0.2",
167
165
  "self-import": "*",
168
166
  "testeranto-react": "0.0.8",
169
167
  "ts-node": "^10.9.1",
170
168
  "typescript": "^5.8.2"
171
169
  },
172
170
  "dependencies": {
171
+ "@aws-sdk/client-polly": "^3.864.0",
173
172
  "@bscotch/debounce-watch": "^1.1.0",
174
173
  "@humanwhocodes/config-array": "^0.13.0",
175
174
  "@jest/globals": "^30.0.4",
175
+ "@monaco-editor/react": "^4.7.0",
176
176
  "@types/eslint": "^9.6.1",
177
+ "@types/fabric": "^5.3.10",
178
+ "@types/file-saver": "^2.0.7",
177
179
  "@types/node-static": "^0.7.11",
178
180
  "@types/react-router-dom": "^5.3.3",
181
+ "@types/xmldom": "^0.1.34",
179
182
  "@ungap/structured-clone": "^1.3.0",
183
+ "@xterm/addon-fit": "^0.10.0",
180
184
  "ansi-colors": "^4.1.3",
185
+ "axios": "^1.11.0",
181
186
  "babel-loader": "^8.2.5",
182
- "bootstrap": "^5.3.4",
187
+ "bootstrap": "^5.3.7",
188
+ "bootstrap-icons": "^1.13.1",
183
189
  "chai": "^5.2.0",
184
190
  "chromium": "^3.0.3",
185
191
  "dynamic-base": "^1.1.2",
@@ -195,23 +201,44 @@
195
201
  "eslint-plugin-react": "^7.31.11",
196
202
  "eslint-plugin-react-hooks": "^5.1.0",
197
203
  "express": "^4.21.2",
204
+ "fabric": "6.7.1",
205
+ "fast-xml-parser": "^5.2.5",
206
+ "file-saver": "^2.0.5",
198
207
  "fs-extra": "^11.2.0",
199
208
  "fs.promises.exists": "^1.1.4",
209
+ "get-audio-duration": "^4.0.1",
210
+ "html-to-image": "^1.11.13",
211
+ "license-checker": "^25.0.1",
200
212
  "mermaid": "^11.8.1",
201
213
  "mermaid-isomorphic": "^3.0.4",
214
+ "micromark": "^4.0.2",
215
+ "micromark-extension-gfm-table": "^2.1.1",
216
+ "monaco-editor": "^0.45.0",
202
217
  "node-static": "^0.7.11",
218
+ "octokit": "^5.0.3",
219
+ "openai": "^5.12.2",
203
220
  "puppeteer": "^24.4.0",
204
221
  "puppeteer-core": "24.4.0",
205
222
  "react": "18.2.0",
206
223
  "react-bootstrap": "^2.10.9",
207
224
  "react-dom": "18.2.0",
225
+ "react-draggable": "^4.5.0",
226
+ "react-resizable": "^3.0.5",
208
227
  "react-router-dom": "^7.7.0",
209
- "sass": "^1.89.2",
228
+ "sass": "^1.90.0",
229
+ "ssml-check": "^0.4.6",
230
+ "testeranto-stilo": "0.0.7",
210
231
  "tsc-prog": "^2.3.0",
211
232
  "tsx": "^4.19.3",
212
233
  "type-fest": "^4.41.0",
213
234
  "typescript-eslint": "^8.29.1",
214
235
  "url": "^0.11.4",
215
- "uuid": "^10.0.0"
236
+ "uuid": "^10.0.0",
237
+ "validate-with-xmllint": "^1.2.1",
238
+ "ws": "^8.18.3",
239
+ "xmldom": "^0.6.0",
240
+ "xterm": "^5.3.0",
241
+ "xterm-addon-fit": "^0.8.0",
242
+ "xterm-react": "^1.0.0"
216
243
  }
217
244
  }
package/src/App.tsx CHANGED
@@ -1,43 +1,40 @@
1
- /* eslint-disable @typescript-eslint/no-unused-vars */
2
-
3
1
  import React from 'react';
4
2
  import ReactDom from "react-dom/client";
5
3
  import { HashRouter as Router, Routes, Route } from 'react-router-dom';
6
4
 
7
5
  import { TestPage } from './components/stateful/TestPage';
8
- import { Container } from 'react-bootstrap';
9
- import { SettingsButton } from './SettingsButton';
10
6
  import { ProjectPage } from './components/stateful/ProjectPage';
11
7
  import { ProjectsPage } from './components/stateful/ProjectsPage';
8
+ import { AppFrame } from './components/pure/AppFrame';
9
+ import { FeaturesReporter } from './components/stateful/FeaturesReporter';
10
+ import { DesignEditorPage } from './components/DesignEditorPage';
11
+ import { TextEditorPage } from './components/stateful/TextEditorPage';
12
+ import { ProcessManagerPage } from './components/stateful/ProcessManagerPage';
13
+ import { SingleProcessPage } from './components/stateful/SingleProcessPage';
14
+ import { SettingsPage } from './components/stateful/SettingsPage';
15
+
12
16
 
13
17
  export const App = () => {
14
18
  return (
15
19
  <Router>
16
- <div className="d-flex flex-column min-vh-100" key={window.location.pathname}>
17
- <main className="flex-grow-1 p-3">
18
- <Container fluid>
19
- <Routes>
20
- <Route path="/" element={<ProjectsPage />} />
21
- <Route path="/projects/:projectName" element={<ProjectPage />} />
22
- <Route path="/projects/:projectName/tests/*" element={<TestPage />} />
23
- <Route path="/projects/:projectName#:tab" element={<ProjectPage />} />
24
- </Routes>
25
- </Container>
26
- </main>
27
- <footer className="bg-light py-3 d-flex justify-content-between align-items-center">
28
- <div className="ms-3">
29
- <SettingsButton />
30
- </div>
31
- <Container className="text-end" fluid={true}>
32
- made with ❤️ and <a href="https://www.npmjs.com/package/testeranto">testeranto</a>
33
- </Container>
34
- </footer>
35
- </div>
20
+ <AppFrame>
21
+ <Routes>
22
+ <Route path="/" element={<ProjectsPage />} />
23
+ <Route path="/projects/:projectName" element={<ProjectPage />} />
24
+ <Route path="/projects/:projectName/tests/*" element={<TestPage />} />
25
+ <Route path="/projects/:projectName#:tab" element={<ProjectPage />} />
26
+ <Route path="/features-reporter" element={<FeaturesReporter />} />
27
+ <Route path="/design-editor" element={<DesignEditorPage />} />
28
+ <Route path="/text-editor" element={<TextEditorPage />} />
29
+ <Route path="/processes" element={<ProcessManagerPage />} />
30
+ <Route path="/processes/:processId" element={<SingleProcessPage />} />
31
+ <Route path="/settings" element={<SettingsPage />} />
32
+ </Routes>
33
+ </AppFrame>
36
34
  </Router>
37
35
  );
38
36
  };
39
37
 
40
-
41
38
  // Export App to global scope
42
39
  function initApp() {
43
40
  const rootElement = document.getElementById('root');
package/src/Node.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import Testeranto from "./lib/core.js";
2
2
  import {
3
3
  defaultTestResourceRequirement,
4
- ITTestResourceConfiguration,
5
4
  ITTestResourceRequest,
6
5
  } from "./lib/index.js";
7
6
  import { PM_Node } from "./PM/node.js";
@@ -41,10 +40,9 @@ export class NodeTesteranto<
41
40
  }
42
41
 
43
42
  async receiveTestResourceConfig(partialTestResource: string) {
44
- console.log("receiveTestResourceConfig", partialTestResource);
45
- const t: ITTestResourceConfiguration = JSON.parse(partialTestResource);
46
- const pm = new PM_Node(t, ipcfile);
47
- return await this.testJobs[0].receiveTestResourceConfig(pm);
43
+ return await this.testJobs[0].receiveTestResourceConfig(
44
+ new PM_Node(JSON.parse(partialTestResource), ipcfile)
45
+ );
48
46
  }
49
47
  }
50
48
 
@@ -71,12 +69,11 @@ const testeranto = async <I extends Ibdd_in_any, O extends Ibdd_out, M>(
71
69
  });
72
70
 
73
71
  ipcfile = process.argv[3];
74
- const f = await t.receiveTestResourceConfig(process.argv[2]);
75
72
 
76
- console.error("goodbye node with failures", f.fails);
77
- process.exit(f.fails);
73
+ process.exit((await t.receiveTestResourceConfig(process.argv[2])).fails);
78
74
  } catch (e) {
79
- console.error("goodbye node with caught error", e);
75
+ console.error(e);
76
+ console.error(e.stack);
80
77
  process.exit(-1);
81
78
  }
82
79
  };