testeranto 0.177.0 → 0.189.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 (768) hide show
  1. package/CNAME +1 -0
  2. package/README.html +302 -0
  3. package/README.md +24 -4
  4. package/dist/common/src/App.js +43 -0
  5. package/dist/common/src/Node.js +4 -8
  6. package/dist/common/src/PM/PM_WithEslintAndTsc.js +2 -33
  7. package/dist/common/src/PM/base.js +0 -1
  8. package/dist/common/src/PM/layers/base/PM_Base.js +1 -0
  9. package/dist/common/src/PM/layers/base/components/PageOperations.js +1 -0
  10. package/dist/common/src/PM/layers/base/components/PageOperations.testeranto.js +1 -0
  11. package/dist/common/src/PM/layers/linting/components/Linter.js +1 -0
  12. package/dist/common/src/PM/layers/linting/components/TypeChecker.js +1 -0
  13. package/dist/common/src/PM/layers/main/components/SidecarManager.js +1 -0
  14. package/dist/common/src/PM/layers/main/components/TestRunner.js +1 -0
  15. package/dist/common/src/PM/main.js +211 -109
  16. package/dist/common/src/PM/nodeSidecar.js +1 -0
  17. package/dist/common/src/PM/pure.js +15 -10
  18. package/dist/common/src/PM/pureSidecar.js +1 -1
  19. package/dist/common/src/PM/types.js +1 -0
  20. package/dist/common/src/PM/web.js +2 -1
  21. package/dist/common/src/Pure.js +1 -1
  22. package/dist/common/src/Pure.test.js +21 -19
  23. package/dist/common/src/build.js +30 -39
  24. package/dist/common/src/components/SunriseAnimation.js +291 -0
  25. package/dist/common/src/components/SunriseAnimation.test/interface.js +67 -0
  26. package/dist/common/src/components/SunriseAnimation.test/types.js +2 -0
  27. package/dist/common/src/components/TestStatusBadge.js +1 -21
  28. package/dist/common/src/components/pure/AppFrame.js +20 -0
  29. package/dist/common/src/components/pure/AppFrame.test/implementation.js +63 -0
  30. package/dist/common/src/components/pure/AppFrame.test/index.js +14 -0
  31. package/dist/common/src/components/pure/AppFrame.test/specification.js +25 -0
  32. package/dist/common/src/components/pure/AppFrame.test/types.js +3 -0
  33. package/dist/common/src/components/pure/FeaturesReporterView.js +23 -0
  34. package/dist/common/src/components/pure/FeaturesReporterView.test/implementation.js +84 -0
  35. package/dist/common/src/components/pure/FeaturesReporterView.test/index.js +14 -0
  36. package/dist/common/src/components/pure/FeaturesReporterView.test/specification.js +27 -0
  37. package/dist/common/src/components/pure/FeaturesReporterView.test/types.js +2 -0
  38. package/dist/common/src/components/pure/ModalContent.js +86 -0
  39. package/dist/common/src/components/pure/ModalContent.test/implementation.js +33 -0
  40. package/dist/common/src/components/pure/ModalContent.test/index.js +12 -0
  41. package/dist/common/src/components/pure/ModalContent.test/specification.js +19 -0
  42. package/dist/common/src/components/pure/ModalContent.test/types.js +4 -0
  43. package/dist/common/src/components/pure/ProjectPageView.js +53 -76
  44. package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +118 -33
  45. package/dist/common/src/components/pure/ProjectPageView.test/index.js +5 -1
  46. package/dist/common/src/components/pure/ProjectPageView.test/specification.js +15 -2
  47. package/dist/common/src/components/pure/ProjectPageView.test/types.js +2 -0
  48. package/dist/common/src/components/pure/ProjectsPageView.js +66 -0
  49. package/dist/common/src/components/pure/SettingsButton.js +83 -0
  50. package/dist/common/src/components/pure/TestPageView.js +134 -0
  51. package/dist/common/src/components/pure/TestPageView.test/implementation.js +202 -0
  52. package/dist/common/src/components/pure/TestPageView.test/index.js +15 -0
  53. package/dist/common/src/components/pure/TestPageView.test/specification.js +26 -0
  54. package/dist/common/src/components/pure/TestPageView.test/types.js +4 -0
  55. package/dist/common/src/components/pure/ThemeCard.js +15 -0
  56. package/dist/common/src/components/stateful/FeaturesReporter.js +59 -0
  57. package/dist/common/src/components/stateful/ProjectPage.js +100 -0
  58. package/dist/common/src/components/stateful/ProjectsPage.js +92 -0
  59. package/dist/common/src/components/stateful/TestPage.js +133 -0
  60. package/dist/common/src/defaultConfig.js +1 -0
  61. package/dist/common/src/esbuildConfigs/web.js +1 -1
  62. package/dist/common/src/lib/BaseSuite.js +1 -0
  63. package/dist/common/src/lib/BaseSuite.test/mock.js +0 -11
  64. package/dist/common/src/lib/BaseSuite.test/test.js +11 -22
  65. package/dist/common/src/lib/Sidecar.js +1 -0
  66. package/dist/common/src/lib/abstractBase.js +13 -6
  67. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +0 -6
  68. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +3 -1
  69. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
  70. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.pure.js +2 -2
  71. package/dist/common/src/lib/basebuilder.js +32 -30
  72. package/dist/common/src/lib/classBuilder.js +2 -0
  73. package/dist/common/src/lib/core.js +0 -1
  74. package/dist/common/src/lib/core.test/MockCore.js +0 -14
  75. package/dist/common/src/lib/core.test/core.test.adapter.js +2 -9
  76. package/dist/common/src/lib/core.test/core.test.implementation.js +3 -7
  77. package/dist/common/src/lib/index.js +2 -0
  78. package/dist/common/src/lib/pmProxy.js +0 -2
  79. package/dist/common/src/lib/pmProxy.test/adapter.js +8 -2
  80. package/dist/common/src/lib/pmProxy.test/implementation.js +33 -4
  81. package/dist/common/src/lib/pmProxy.test/mockPMBase.js +9 -0
  82. package/dist/common/src/mothership/index.js +5 -0
  83. package/dist/common/src/mothership/test.js +44 -25
  84. package/dist/common/src/types/features.js +34 -0
  85. package/dist/common/src/utils/api.js +42 -23
  86. package/dist/common/src/utils/featureUtils.js +29 -0
  87. package/dist/common/src/utils/logFiles.js +25 -0
  88. package/dist/common/src/utils/makePrompt.js +115 -0
  89. package/dist/common/src/web.html.js +2 -6
  90. package/dist/common/testeranto.config.js +62 -34
  91. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  92. package/dist/module/src/App.js +9 -17
  93. package/dist/module/src/Node.js +4 -8
  94. package/dist/module/src/PM/PM_WithEslintAndTsc.js +3 -34
  95. package/dist/module/src/PM/base.js +0 -1
  96. package/dist/module/src/PM/layers/base/PM_Base.js +1 -0
  97. package/dist/module/src/PM/layers/base/components/PageOperations.js +1 -0
  98. package/dist/module/src/PM/layers/base/components/PageOperations.testeranto.js +1 -0
  99. package/dist/module/src/PM/layers/linting/components/Linter.js +1 -0
  100. package/dist/module/src/PM/layers/linting/components/TypeChecker.js +1 -0
  101. package/dist/module/src/PM/layers/main/components/SidecarManager.js +1 -0
  102. package/dist/module/src/PM/layers/main/components/TestRunner.js +1 -0
  103. package/dist/module/src/PM/main.js +207 -105
  104. package/dist/module/src/PM/nodeSidecar.js +1 -0
  105. package/dist/module/src/PM/pure.js +15 -10
  106. package/dist/module/src/PM/pureSidecar.js +1 -1
  107. package/dist/module/src/PM/types.js +1 -0
  108. package/dist/module/src/PM/web.js +2 -1
  109. package/dist/module/src/Pure.js +1 -1
  110. package/dist/module/src/Pure.test.js +21 -19
  111. package/dist/module/src/build.js +25 -37
  112. package/dist/module/src/components/SunriseAnimation.test/interface.js +32 -1
  113. package/dist/module/src/components/TestStatusBadge.js +1 -21
  114. package/dist/module/src/components/pure/AppFrame.js +13 -0
  115. package/dist/module/src/components/pure/AppFrame.test/implementation.js +57 -0
  116. package/dist/module/src/components/pure/AppFrame.test/index.js +9 -0
  117. package/dist/module/src/components/pure/AppFrame.test/specification.js +21 -0
  118. package/dist/module/src/components/pure/AppFrame.test/types.js +2 -0
  119. package/dist/module/src/components/pure/FeaturesReporterView.js +16 -0
  120. package/dist/module/src/components/pure/FeaturesReporterView.test/implementation.js +81 -0
  121. package/dist/module/src/components/pure/FeaturesReporterView.test/index.js +9 -0
  122. package/dist/module/src/components/pure/FeaturesReporterView.test/specification.js +23 -0
  123. package/dist/module/src/components/pure/ModalContent.js +79 -0
  124. package/dist/module/src/components/pure/ModalContent.test/implementation.js +30 -0
  125. package/dist/module/src/components/pure/ModalContent.test/index.js +7 -0
  126. package/dist/module/src/components/pure/ModalContent.test/specification.js +15 -0
  127. package/dist/module/src/components/pure/ModalContent.test/types.js +3 -0
  128. package/dist/module/src/components/pure/ProjectPageView.js +54 -77
  129. package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +118 -33
  130. package/dist/module/src/components/pure/ProjectPageView.test/index.js +5 -1
  131. package/dist/module/src/components/pure/ProjectPageView.test/specification.js +15 -2
  132. package/dist/module/src/components/pure/ProjectPageView.test/types.js +2 -0
  133. package/dist/module/src/components/pure/ProjectsPageView.js +5 -4
  134. package/dist/module/src/components/pure/SettingsButton.js +43 -0
  135. package/dist/module/src/components/pure/TestPageView.js +100 -121
  136. package/dist/module/src/components/pure/TestPageView.test/implementation.js +166 -0
  137. package/dist/module/src/components/pure/TestPageView.test/index.js +10 -0
  138. package/dist/module/src/components/pure/TestPageView.test/specification.js +22 -0
  139. package/dist/module/src/components/pure/TestPageView.test/types.js +3 -0
  140. package/dist/module/src/components/pure/ThemeCard.js +8 -0
  141. package/dist/module/src/components/stateful/FeaturesReporter.js +22 -0
  142. package/dist/module/src/components/stateful/ProjectPage.js +1 -1
  143. package/dist/module/src/components/stateful/TestPage.js +25 -11
  144. package/dist/module/src/defaultConfig.js +1 -0
  145. package/dist/module/src/esbuildConfigs/web.js +1 -1
  146. package/dist/module/src/lib/BaseSuite.js +1 -0
  147. package/dist/module/src/lib/BaseSuite.test/mock.js +0 -11
  148. package/dist/module/src/lib/BaseSuite.test/test.js +11 -22
  149. package/dist/module/src/lib/Sidecar.js +1 -0
  150. package/dist/module/src/lib/abstractBase.js +13 -6
  151. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +0 -6
  152. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +3 -1
  153. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
  154. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.pure.js +1 -1
  155. package/dist/module/src/lib/basebuilder.js +32 -30
  156. package/dist/module/src/lib/classBuilder.js +2 -0
  157. package/dist/module/src/lib/core.js +0 -1
  158. package/dist/module/src/lib/core.test/MockCore.js +0 -14
  159. package/dist/module/src/lib/core.test/core.test.adapter.js +2 -9
  160. package/dist/module/src/lib/core.test/core.test.implementation.js +3 -7
  161. package/dist/module/src/lib/index.js +2 -0
  162. package/dist/module/src/lib/pmProxy.js +0 -2
  163. package/dist/module/src/lib/pmProxy.test/adapter.js +8 -2
  164. package/dist/module/src/lib/pmProxy.test/implementation.js +33 -4
  165. package/dist/module/src/lib/pmProxy.test/mockPMBase.js +9 -0
  166. package/dist/module/src/mothership/index.js +5 -0
  167. package/dist/module/src/mothership/test.js +44 -25
  168. package/dist/module/src/types/features.js +31 -0
  169. package/dist/module/src/utils/api.js +41 -21
  170. package/dist/module/src/utils/featureUtils.js +24 -0
  171. package/dist/module/src/utils/logFiles.js +21 -0
  172. package/dist/module/src/utils/makePrompt.js +108 -0
  173. package/dist/module/src/web.html.js +2 -6
  174. package/dist/module/testeranto.config.js +62 -34
  175. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  176. package/dist/prebuild/App.css +444 -12
  177. package/dist/prebuild/App.js +1318 -1053
  178. package/dist/prebuild/build.mjs +87 -103
  179. package/dist/prebuild/mothership/index.mjs +5 -0
  180. package/dist/prebuild/run.mjs +342 -211
  181. package/dist/tsconfig.tsbuildinfo +1 -0
  182. package/dist/types/App.d.ts +1 -0
  183. package/dist/types/PM/layers/main/components/SidecarManager.d.ts +0 -0
  184. package/dist/types/PM/layers/main/components/TestRunner.d.ts +0 -0
  185. package/dist/types/{src/PM → PM}/main.d.ts +18 -3
  186. package/dist/types/{src/PM → PM}/pure.d.ts +7 -4
  187. package/dist/types/PM/types.d.ts +0 -0
  188. package/dist/types/{src/PM → PM}/web.d.ts +1 -1
  189. package/dist/types/{src/Types.d.ts → Types.d.ts} +1 -0
  190. package/dist/types/components/SunriseAnimation.d.ts +5 -0
  191. package/dist/types/components/SunriseAnimation.test/implementation.d.ts +0 -0
  192. package/dist/types/components/SunriseAnimation.test/index.d.ts +0 -0
  193. package/dist/types/components/SunriseAnimation.test/interface.d.ts +11 -0
  194. package/dist/types/components/SunriseAnimation.test/specification.d.ts +0 -0
  195. package/dist/types/components/SunriseAnimation.test/types.d.ts +39 -0
  196. package/dist/types/components/pure/AppFrame.d.ts +9 -0
  197. package/dist/types/components/pure/AppFrame.test/implementation.d.ts +3 -0
  198. package/dist/types/components/pure/AppFrame.test/index.d.ts +5 -0
  199. package/dist/types/components/pure/AppFrame.test/types.d.ts +33 -0
  200. package/dist/types/components/pure/FeaturesReporterView.d.ts +7 -0
  201. package/dist/types/{src/components/pure/ProjectPageView.test → components/pure/FeaturesReporterView.test}/index.d.ts +1 -2
  202. package/dist/types/components/pure/FeaturesReporterView.test/specification.d.ts +3 -0
  203. package/dist/types/components/pure/FeaturesReporterView.test/types.d.ts +54 -0
  204. package/dist/types/components/pure/ModalContent.d.ts +7 -0
  205. package/dist/types/components/pure/ModalContent.test/implementation.d.ts +3 -0
  206. package/dist/types/components/pure/ModalContent.test/index.d.ts +2 -0
  207. package/dist/types/components/pure/ModalContent.test/specification.d.ts +3 -0
  208. package/dist/types/components/pure/ModalContent.test/types.d.ts +45 -0
  209. package/dist/types/components/pure/ProjectPageView.d.ts +14 -0
  210. package/dist/types/components/pure/ProjectPageView.test/implementation.d.ts +3 -0
  211. package/dist/types/components/pure/ProjectPageView.test/index.d.ts +2 -0
  212. package/dist/types/components/pure/ProjectPageView.test/specification.d.ts +3 -0
  213. package/dist/types/components/pure/ProjectPageView.test/types.d.ts +57 -0
  214. package/dist/types/components/pure/ProjectsPageView.d.ts +29 -0
  215. package/dist/types/components/pure/SettingsButton.d.ts +3 -0
  216. package/dist/types/components/pure/TestPageView.d.ts +15 -0
  217. package/dist/types/components/pure/TestPageView.test/implementation.d.ts +11 -0
  218. package/dist/types/components/pure/TestPageView.test/index.d.ts +32 -0
  219. package/dist/types/components/pure/TestPageView.test/specification.d.ts +11 -0
  220. package/dist/types/components/pure/TestPageView.test/types.d.ts +65 -0
  221. package/dist/types/components/pure/ThemeCard.d.ts +9 -0
  222. package/dist/types/components/stateful/FeaturesReporter.d.ts +2 -0
  223. package/dist/types/components/stateful/ProjectPage.d.ts +1 -0
  224. package/dist/types/components/stateful/ProjectsPage.d.ts +1 -0
  225. package/dist/types/components/stateful/TestPage.d.ts +1 -0
  226. package/dist/types/init-docs.d.ts +1 -0
  227. package/dist/types/{src/lib → lib}/abstractBase.d.ts +1 -1
  228. package/dist/types/{src/lib → lib}/abstractBase.test/MockGiven.d.ts +1 -1
  229. package/dist/types/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +3 -0
  230. package/dist/types/{src/lib → lib}/index.d.ts +7 -7
  231. package/dist/types/run.d.ts +1 -0
  232. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  233. package/dist/types/types/features.d.ts +7 -0
  234. package/dist/types/{src/utils → utils}/api.d.ts +1 -5
  235. package/dist/types/utils/featureUtils.d.ts +6 -0
  236. package/dist/types/utils/logFiles.d.ts +7 -0
  237. package/dist/types/utils/makePrompt.d.ts +2 -0
  238. package/dist/types/{src/web.html.d.ts → web.html.d.ts} +1 -1
  239. package/docs/index.md +17 -0
  240. package/docs/testing.prompt.txt +1 -3
  241. package/docs.html +28 -10
  242. package/index.d.ts +38 -13
  243. package/index.html +59 -205
  244. package/marketing.md +166 -0
  245. package/package.json +15 -7
  246. package/scripts/compile-docs.js +24 -14
  247. package/smil30/SMIL-anim.mod.xsd +163 -0
  248. package/smil30/SMIL-control.mod.xsd +73 -0
  249. package/smil30/SMIL-layout.mod.xsd +149 -0
  250. package/smil30/SMIL-link.mod.xsd +145 -0
  251. package/smil30/SMIL-media.mod.xsd +1646 -0
  252. package/smil30/SMIL-metainformation.mod.xsd +45 -0
  253. package/smil30/SMIL-smiltext.mod.xsd +353 -0
  254. package/smil30/SMIL-state.mod.xsd +133 -0
  255. package/smil30/SMIL-struct.mod.xsd +70 -0
  256. package/smil30/SMIL-timing.mod.xsd +105 -0
  257. package/smil30/SMIL-transition.mod.xsd +229 -0
  258. package/smil30/SMIL.xsd +63 -0
  259. package/smil30/its.xsd +42 -0
  260. package/smil30/smil-attribs-1.mod.xsd +610 -0
  261. package/smil30/smil-datatypes-1.mod.xsd +72 -0
  262. package/smil30/smil-framework-1.mod.xsd +45 -0
  263. package/smil30/xml.xsd +16 -0
  264. package/src/App.scss +4 -13
  265. package/src/App.tsx +11 -25
  266. package/src/Node.ts +6 -9
  267. package/src/PM/PM_WithEslintAndTsc.ts +7 -93
  268. package/src/PM/__tests__/nodeSidecar.testeranto.ts +2 -0
  269. package/src/PM/base.ts +0 -3
  270. package/src/PM/layers/base/PM_Base.ts +0 -0
  271. package/src/PM/layers/base/components/PageOperations.testeranto.ts +0 -0
  272. package/src/PM/layers/base/components/PageOperations.ts +0 -0
  273. package/src/PM/layers/linting/components/Linter.ts +0 -0
  274. package/src/PM/layers/linting/components/TypeChecker.ts +0 -0
  275. package/src/PM/layers/main/components/SidecarManager.ts +0 -0
  276. package/src/PM/layers/main/components/TestRunner.ts +0 -0
  277. package/src/PM/main.ts +249 -120
  278. package/src/PM/nodeSidecar.ts +1 -0
  279. package/src/PM/pure.ts +15 -21
  280. package/src/PM/pureSidecar.ts +1 -1
  281. package/src/PM/types.ts +0 -0
  282. package/src/PM/web.ts +2 -1
  283. package/src/Pure.test.ts +21 -20
  284. package/src/Pure.ts +1 -1
  285. package/src/README.md +66 -0
  286. package/src/Types.ts +1 -0
  287. package/src/build.ts +28 -54
  288. package/src/components/{pure/ProjectPageView.test/index.ts → SunriseAnimation.test/index.tsx} +7 -4
  289. package/src/components/SunriseAnimation.test/interface.ts +49 -0
  290. package/src/components/SunriseAnimation.test/types.ts +53 -0
  291. package/src/components/TestStatusBadge.tsx +2 -23
  292. package/src/components/pure/AppFrame.test/implementation.tsx +72 -0
  293. package/src/components/pure/AppFrame.test/index.tsx +22 -0
  294. package/src/components/pure/AppFrame.test/specification.ts +35 -0
  295. package/src/components/pure/AppFrame.test/types.ts +65 -0
  296. package/src/components/pure/AppFrame.tsx +29 -0
  297. package/src/components/pure/FeaturesReporterView.test/implementation.tsx +106 -0
  298. package/src/components/pure/FeaturesReporterView.test/index.tsx +18 -0
  299. package/src/components/pure/FeaturesReporterView.test/specification.ts +39 -0
  300. package/src/components/pure/FeaturesReporterView.test/types.ts +77 -0
  301. package/src/components/pure/FeaturesReporterView.tsx +37 -0
  302. package/src/components/pure/ModalContent.test/implementation.tsx +43 -0
  303. package/src/components/pure/ModalContent.test/index.tsx +15 -0
  304. package/src/components/pure/ModalContent.test/specification.ts +27 -0
  305. package/src/components/pure/ModalContent.test/types.ts +72 -0
  306. package/src/components/pure/ModalContent.tsx +182 -0
  307. package/src/components/pure/ProjectPageView.test/implementation.tsx +135 -36
  308. package/src/components/pure/ProjectPageView.test/index.tsx +20 -0
  309. package/src/components/pure/ProjectPageView.test/specification.ts +15 -2
  310. package/src/components/pure/ProjectPageView.test/types.ts +57 -13
  311. package/src/components/pure/ProjectPageView.tsx +155 -121
  312. package/src/components/pure/ProjectsPageView.tsx +36 -5
  313. package/src/components/pure/SettingsButton.md +1 -0
  314. package/src/components/pure/SettingsButton.tsx +66 -0
  315. package/src/components/pure/TestPageView.test/implementation.ts +194 -0
  316. package/src/components/pure/TestPageView.test/index.tsx +20 -0
  317. package/src/components/pure/TestPageView.test/specification.ts +59 -0
  318. package/src/components/pure/TestPageView.test/types.ts +92 -0
  319. package/src/components/pure/TestPageView.tsx +272 -283
  320. package/src/components/pure/ThemeCard.tsx +34 -0
  321. package/src/components/stateful/FeaturesReporter.tsx +24 -0
  322. package/src/components/stateful/ProjectPage.tsx +4 -3
  323. package/src/components/stateful/TestPage.tsx +27 -18
  324. package/src/defaultConfig.ts +1 -0
  325. package/src/esbuildConfigs/web.ts +2 -1
  326. package/src/lib/BaseSuite.test/mock.ts +1 -27
  327. package/src/lib/BaseSuite.test/test.ts +15 -37
  328. package/src/lib/BaseSuite.ts +3 -0
  329. package/src/lib/Sidecar.ts +2 -0
  330. package/src/lib/abstractBase.test/MockGiven.ts +1 -1
  331. package/src/lib/abstractBase.ts +15 -7
  332. package/src/lib/baseBuilder.test/baseBuilder.test.adapter.ts +0 -6
  333. package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +3 -1
  334. package/src/lib/baseBuilder.test/baseBuilder.test.mock.ts +27 -17
  335. package/src/lib/baseBuilder.test/baseBuilder.test.pure.ts +1 -1
  336. package/src/lib/basebuilder.ts +46 -47
  337. package/src/lib/classBuilder.ts +3 -0
  338. package/src/lib/core.test/MockCore.ts +0 -23
  339. package/src/lib/core.test/core.test.adapter.ts +6 -12
  340. package/src/lib/core.test/core.test.implementation.ts +7 -10
  341. package/src/lib/core.ts +2 -1
  342. package/src/lib/index.ts +9 -8
  343. package/src/lib/pmProxy.test/adapter.ts +8 -2
  344. package/src/lib/pmProxy.test/implementation.ts +40 -7
  345. package/src/lib/pmProxy.test/mockPMBase.ts +11 -0
  346. package/src/lib/pmProxy.ts +2 -2
  347. package/src/lib/types.ts +2 -0
  348. package/src/mothership/index.ts +6 -0
  349. package/src/mothership/test.ts +53 -26
  350. package/src/style.md +2 -0
  351. package/src/style.scss +16 -0
  352. package/src/templates/frontpage.html +54 -0
  353. package/src/themes.scss +9 -9
  354. package/src/types/features.ts +38 -0
  355. package/src/utils/api.ts +59 -29
  356. package/src/utils/featureUtils.tsx +42 -0
  357. package/src/utils/logFiles.ts +26 -0
  358. package/src/utils/makePrompt.ts +148 -0
  359. package/src/web.html.ts +6 -6
  360. package/style.css +28 -9
  361. package/testeranto/App.css +444 -12
  362. package/testeranto/App.js +1318 -1053
  363. package/testeranto/bundles/node/core/chunk-JBB5E3XJ.mjs +258 -0
  364. package/testeranto/bundles/node/core/chunk-L67RWZ4W.mjs +899 -0
  365. package/testeranto/bundles/node/core/chunk-ZQRRQYS4.mjs +92 -0
  366. package/testeranto/bundles/node/core/metafile.json +5729 -2
  367. package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +307 -0
  368. package/testeranto/bundles/node/core/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +247 -0
  369. package/testeranto/bundles/node/core/src/lib/classBuilder.test/classBuilder.test.mjs +423 -0
  370. package/testeranto/bundles/node/core/src/lib/core.test/core.test.mjs +505 -0
  371. package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +4804 -0
  372. package/testeranto/bundles/node/core/src/mothership/test.mjs +24588 -0
  373. package/testeranto/bundles/pure/core/chunk-KHJ35R7C.mjs +997 -0
  374. package/testeranto/bundles/pure/core/metafile.json +870 -3
  375. package/testeranto/bundles/pure/core/src/Pure.test.mjs +428 -0
  376. package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +379 -0
  377. package/testeranto/bundles/pure/core/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +235 -0
  378. package/testeranto/bundles/web/core/MPLUSRounded1c-Black-O75GP5JI.ttf +0 -0
  379. package/testeranto/bundles/web/core/MPLUSRounded1c-Bold-R524Q5BH.ttf +0 -0
  380. package/testeranto/bundles/web/core/MPLUSRounded1c-ExtraBold-C6GRMYVT.ttf +0 -0
  381. package/testeranto/bundles/web/core/MPLUSRounded1c-Light-WKN65Y2C.ttf +0 -0
  382. package/testeranto/bundles/web/core/MPLUSRounded1c-Medium-ZC4DWL7C.ttf +0 -0
  383. package/testeranto/bundles/web/core/MPLUSRounded1c-Regular-DT6EKZ3S.ttf +0 -0
  384. package/testeranto/bundles/web/core/MPLUSRounded1c-Thin-YWDNVG6M.ttf +0 -0
  385. package/testeranto/bundles/web/core/chunk-BADF3AZF.mjs +108 -0
  386. package/testeranto/bundles/web/core/chunk-BXV27S2S.mjs +6252 -0
  387. package/testeranto/bundles/web/core/chunk-EIYZKF2C.mjs +223 -0
  388. package/testeranto/bundles/web/core/chunk-FNXFUNA7.mjs +28528 -0
  389. package/testeranto/bundles/web/core/chunk-LU364HVS.mjs +3311 -0
  390. package/testeranto/bundles/web/core/chunk-QWII7WIM.mjs +2281 -0
  391. package/testeranto/bundles/web/core/chunk-VAYOSMXI.mjs +21775 -0
  392. package/testeranto/bundles/web/core/metafile.json +7883 -4742
  393. package/testeranto/bundles/web/core/src/components/pure/AppFrame.test/index.css +12105 -0
  394. package/testeranto/bundles/web/core/src/components/pure/AppFrame.test/index.html +15 -0
  395. package/testeranto/bundles/web/core/src/components/pure/AppFrame.test/index.mjs +517 -0
  396. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.html +15 -0
  397. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.mjs +166 -0
  398. package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.css +12105 -0
  399. package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.html +15 -0
  400. package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.mjs +93 -0
  401. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.css +12105 -0
  402. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +1 -5
  403. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +280 -39928
  404. package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.css +12105 -0
  405. package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.html +15 -0
  406. package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.mjs +483 -0
  407. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.html +15 -0
  408. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.mjs +394 -0
  409. package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.html +15 -0
  410. package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.mjs +256 -0
  411. package/testeranto/reports/core/config.json +127 -2
  412. package/testeranto/reports/core/src/Pure.test/pure/exit.log +0 -0
  413. package/testeranto/reports/core/src/Pure.test/pure/lint_errors.txt +0 -0
  414. package/testeranto/reports/core/src/Pure.test/pure/message.txt +17 -0
  415. package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +14 -0
  416. package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +106 -0
  417. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/debug.log +0 -0
  418. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/error.log +22 -0
  419. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/exit.log +1 -0
  420. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/info.log +4 -0
  421. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/lint_errors.txt +2 -0
  422. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/message.txt +17 -0
  423. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/prompt.txt +18 -0
  424. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/tests.json +57 -0
  425. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/type_errors.txt +55 -0
  426. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/warn.log +0 -0
  427. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log +0 -0
  428. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +56 -0
  429. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +1 -0
  430. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +2 -0
  431. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/lint_errors.txt +0 -0
  432. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/message.txt +17 -0
  433. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/prompt.txt +16 -0
  434. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/suite-0/given-basicRender/then-4/butThen/features-reporter.png +0 -0
  435. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/tests.json +76 -0
  436. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/type_errors.txt +80 -0
  437. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/warn.log +0 -0
  438. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/debug.log +0 -0
  439. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/error.log +0 -0
  440. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/exit.log +0 -0
  441. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/info.log +4 -0
  442. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/lint_errors.txt +0 -0
  443. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/message.txt +17 -0
  444. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/prompt.txt +15 -0
  445. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/suite-0/given-basicRender/then-2/butThen/modal-content.png +0 -0
  446. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/tests.json +42 -0
  447. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/type_errors.txt +65 -0
  448. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/warn.log +0 -0
  449. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/debug.log +0 -0
  450. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +33 -0
  451. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +1 -0
  452. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +4 -0
  453. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +2 -18
  454. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +16 -1
  455. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +3 -14
  456. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-6/butThen/happy-state.png +0 -0
  457. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-errorHandling/then-1/butThen/error-state.png +0 -0
  458. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/tests.json +99 -0
  459. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +69 -28
  460. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
  461. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/debug.log +0 -0
  462. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/error.log +0 -0
  463. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/exit.log +1 -0
  464. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/info.log +2 -0
  465. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/lint_errors.txt +0 -0
  466. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/message.txt +17 -0
  467. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/prompt.txt +18 -0
  468. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/tests.json +69 -0
  469. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/type_errors.txt +111 -0
  470. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/warn.log +0 -0
  471. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/exit.log +1 -0
  472. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -0
  473. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/message.txt +17 -0
  474. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +14 -0
  475. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stderr.log +0 -0
  476. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +0 -0
  477. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +31 -0
  478. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +113 -0
  479. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/exit.log +0 -0
  480. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -0
  481. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/message.txt +17 -0
  482. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +15 -0
  483. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +113 -0
  484. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/debug.log +0 -0
  485. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/error.log +1 -0
  486. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/exit.log +1 -0
  487. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/info.log +0 -0
  488. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -0
  489. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/message.txt +17 -0
  490. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +15 -0
  491. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/tests.json +31 -0
  492. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/type_errors.txt +113 -0
  493. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/warn.log +0 -0
  494. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/exit.log +1 -0
  495. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +0 -0
  496. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +17 -0
  497. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +17 -0
  498. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stderr.log +0 -0
  499. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stdout.log +2 -0
  500. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
  501. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-1/butThen/artifact_test.txt +1 -0
  502. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +71 -0
  503. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +65 -0
  504. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/exit.log +0 -0
  505. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +0 -0
  506. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +17 -0
  507. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +17 -0
  508. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +65 -0
  509. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/debug.log +0 -0
  510. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/error.log +1 -0
  511. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/exit.log +1 -0
  512. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/info.log +0 -0
  513. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.txt +0 -0
  514. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/message.txt +17 -0
  515. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +17 -0
  516. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
  517. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/suite-0/given-testInitialization/then-1/butThen/artifact_test.txt +1 -0
  518. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +71 -0
  519. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +65 -0
  520. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/warn.log +0 -0
  521. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/exit.log +1 -0
  522. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.txt +0 -0
  523. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/message.txt +17 -0
  524. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +17 -0
  525. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stderr.log +0 -0
  526. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stdout.log +619 -0
  527. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/tests.json +165 -0
  528. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +140 -0
  529. package/testeranto/reports/core/src/lib/core.test/core.test/node/exit.log +1 -0
  530. package/testeranto/reports/core/src/lib/core.test/core.test/node/lint_errors.txt +21 -0
  531. package/testeranto/reports/core/src/lib/core.test/core.test/node/message.txt +17 -0
  532. package/testeranto/reports/core/src/lib/core.test/core.test/node/prompt.txt +19 -0
  533. package/testeranto/reports/core/src/lib/core.test/core.test/node/stderr.log +0 -0
  534. package/testeranto/reports/core/src/lib/core.test/core.test/node/stdout.log +0 -0
  535. package/testeranto/reports/core/src/lib/core.test/core.test/node/type_errors.txt +64 -0
  536. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -0
  537. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/lint_errors.txt +23 -0
  538. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/message.txt +17 -0
  539. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +17 -0
  540. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +0 -0
  541. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +0 -0
  542. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +162 -0
  543. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +78 -0
  544. package/testeranto/reports/core/src/mothership/test/node/exit.log +1 -0
  545. package/testeranto/reports/core/src/mothership/test/node/lint_errors.txt +0 -0
  546. package/testeranto/reports/core/src/mothership/test/node/message.txt +17 -0
  547. package/testeranto/reports/core/src/mothership/test/node/prompt.txt +14 -0
  548. package/testeranto/reports/core/src/mothership/test/node/stderr.log +27 -0
  549. package/testeranto/reports/core/src/mothership/test/node/stdout.log +8 -0
  550. package/testeranto/reports/core/src/mothership/test/node/tests.json +36 -0
  551. package/testeranto/reports/core/src/mothership/test/node/type_errors.txt +38 -0
  552. package/testeranto/reports/core/summary.json +109 -4
  553. package/testeranto.config.ts +64 -34
  554. package/tsc.log +356 -210
  555. package/tsconfig.common.json +4 -2
  556. package/tsconfig.json +9 -7
  557. package/tsconfig.module.json +3 -2
  558. package/tsconfig.types.json +3 -1
  559. package/videos/download-smil-xsd.sh +29 -0
  560. package/videos/project0/index.md +72 -0
  561. package/videos/project0/narration.json +7 -0
  562. package/videos/project0/narration.ssml +58 -0
  563. package/videos/project0/package.json +21 -0
  564. package/videos/project0/presentation.smil +25 -0
  565. package/videos/project0/smil30/SMIL-anim.mod.xsd +163 -0
  566. package/videos/project0/smil30/SMIL-anim.mod.xsd.1 +163 -0
  567. package/videos/project0/smil30/SMIL-anim.mod.xsd.2 +163 -0
  568. package/videos/project0/smil30/SMIL-control.mod.xsd +73 -0
  569. package/videos/project0/smil30/SMIL-control.mod.xsd.1 +73 -0
  570. package/videos/project0/smil30/SMIL-control.mod.xsd.2 +73 -0
  571. package/videos/project0/smil30/SMIL-layout.mod.xsd +149 -0
  572. package/videos/project0/smil30/SMIL-layout.mod.xsd.1 +149 -0
  573. package/videos/project0/smil30/SMIL-layout.mod.xsd.2 +149 -0
  574. package/videos/project0/smil30/SMIL-link.mod.xsd +145 -0
  575. package/videos/project0/smil30/SMIL-link.mod.xsd.1 +145 -0
  576. package/videos/project0/smil30/SMIL-link.mod.xsd.2 +145 -0
  577. package/videos/project0/smil30/SMIL-media.mod.xsd +1646 -0
  578. package/videos/project0/smil30/SMIL-media.mod.xsd.1 +1646 -0
  579. package/videos/project0/smil30/SMIL-media.mod.xsd.2 +1646 -0
  580. package/videos/project0/smil30/SMIL-metainformation.mod.xsd +45 -0
  581. package/videos/project0/smil30/SMIL-metainformation.mod.xsd.1 +45 -0
  582. package/videos/project0/smil30/SMIL-metainformation.mod.xsd.2 +45 -0
  583. package/videos/project0/smil30/SMIL-smiltext.mod.xsd +353 -0
  584. package/videos/project0/smil30/SMIL-smiltext.mod.xsd.1 +353 -0
  585. package/videos/project0/smil30/SMIL-smiltext.mod.xsd.2 +353 -0
  586. package/videos/project0/smil30/SMIL-state.mod.xsd +133 -0
  587. package/videos/project0/smil30/SMIL-state.mod.xsd.1 +133 -0
  588. package/videos/project0/smil30/SMIL-state.mod.xsd.2 +133 -0
  589. package/videos/project0/smil30/SMIL-struct.mod.xsd +70 -0
  590. package/videos/project0/smil30/SMIL-struct.mod.xsd.1 +70 -0
  591. package/videos/project0/smil30/SMIL-struct.mod.xsd.2 +70 -0
  592. package/videos/project0/smil30/SMIL-timing.mod.xsd +105 -0
  593. package/videos/project0/smil30/SMIL-timing.mod.xsd.1 +105 -0
  594. package/videos/project0/smil30/SMIL-timing.mod.xsd.2 +105 -0
  595. package/videos/project0/smil30/SMIL-transition.mod.xsd +229 -0
  596. package/videos/project0/smil30/SMIL-transition.mod.xsd.1 +229 -0
  597. package/videos/project0/smil30/SMIL-transition.mod.xsd.2 +229 -0
  598. package/videos/project0/smil30/SMIL.xsd +63 -0
  599. package/videos/project0/smil30/SMIL.xsd.1 +63 -0
  600. package/videos/project0/smil30/SMIL.xsd.2 +63 -0
  601. package/videos/project0/smil30/its.xsd +42 -0
  602. package/videos/project0/smil30/its.xsd.1 +42 -0
  603. package/videos/project0/smil30/its.xsd.2 +42 -0
  604. package/videos/project0/smil30/smil-attribs-1.mod.xsd +610 -0
  605. package/videos/project0/smil30/smil-attribs-1.mod.xsd.1 +610 -0
  606. package/videos/project0/smil30/smil-attribs-1.mod.xsd.2 +610 -0
  607. package/videos/project0/smil30/smil-datatypes-1.mod.xsd +72 -0
  608. package/videos/project0/smil30/smil-datatypes-1.mod.xsd.1 +72 -0
  609. package/videos/project0/smil30/smil-datatypes-1.mod.xsd.2 +72 -0
  610. package/videos/project0/smil30/smil-framework-1.mod.xsd +45 -0
  611. package/videos/project0/smil30/smil-framework-1.mod.xsd.1 +45 -0
  612. package/videos/project0/smil30/smil-framework-1.mod.xsd.2 +45 -0
  613. package/videos/project0/smil30/smil-profile-model-1.mod.xsd +1331 -0
  614. package/videos/project0/smil30/smil-profile-model-1.mod.xsd.1 +1331 -0
  615. package/videos/project0/smil30/smil-qname-1.mod.xsd +121 -0
  616. package/videos/project0/smil30/smil-qname-1.mod.xsd.1 +121 -0
  617. package/videos/project0/smil30/xml.xsd +16 -0
  618. package/videos/project0/smil30/xml.xsd.1 +16 -0
  619. package/videos/project0/smil30/xml.xsd.2 +16 -0
  620. package/videos/project0/smil30.xsd +137 -0
  621. package/videos/project0/src/audio/metadata.json +5 -0
  622. package/videos/project0/src/audio/narration.mp3 +0 -0
  623. package/videos/project0/src/motion-canvas.d.ts +1 -0
  624. package/videos/project0/src/project.meta +31 -0
  625. package/videos/project0/src/project.ts +13 -0
  626. package/videos/project0/src/scenes/example.meta +5 -0
  627. package/videos/project0/src/scenes/scene1.meta +3 -0
  628. package/videos/project0/src/scenes/scene1.tsx +129 -0
  629. package/videos/project0/src/scenes/scene2.tsx +132 -0
  630. package/videos/project0/src/scenes/scene3.meta +26 -0
  631. package/videos/project0/src/scenes/scene3.tsx +188 -0
  632. package/videos/project0/tsconfig.json +4 -0
  633. package/videos/project0/vite.config.ts +10 -0
  634. package/videos/trash/output/project.mp4 +0 -0
  635. package/videos/trash/text.mp4 +0 -0
  636. package/videos/trash/video/project.tsx +549 -0
  637. package/videos/trash/video/render.ts +15 -0
  638. package/videos/trash/vite.config.ts +10 -0
  639. package/videos/tts.js +109 -0
  640. package/dist/common/src/components/pure/ProjectPageView.test/adapter.js +0 -20
  641. package/dist/common/src/lib/dailyAnimation.js +0 -130
  642. package/dist/module/src/Footer.js +0 -5
  643. package/dist/module/src/ProjectPage.js +0 -319
  644. package/dist/module/src/ProjectsPage.js +0 -1
  645. package/dist/module/src/SettingsButton.js +0 -157
  646. package/dist/module/src/TestPage.js +0 -271
  647. package/dist/module/src/TestReport.js +0 -368
  648. package/dist/module/src/components/pure/ProjectPageView.test/adapter.js +0 -17
  649. package/dist/module/src/lib/dailyAnimation.js +0 -130
  650. package/dist/types/src/components/pure/ProjectPageView.d.ts +0 -14
  651. package/dist/types/src/components/pure/ProjectPageView.test/adapter.d.ts +0 -3
  652. package/dist/types/src/components/pure/ProjectPageView.test/types.d.ts +0 -39
  653. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +0 -3
  654. package/dist/types/testeranto.config.d.ts +0 -3
  655. package/docs/testing.ai.txt +0 -106
  656. package/src/Footer.tsx +0 -8
  657. package/src/Project.scss +0 -1
  658. package/src/ProjectPage.tsx +0 -459
  659. package/src/ProjectsPage.tsx +0 -1
  660. package/src/ReportApp.scss +0 -1
  661. package/src/SettingsButton.tsx +0 -268
  662. package/src/TestPage.tsx +0 -476
  663. package/src/TestReport.scss +0 -24
  664. package/src/TestReport.tsx +0 -411
  665. package/src/components/pure/ProjectPageView.test/adapter.ts +0 -21
  666. package/src/lib/dailyAnimation.ts +0 -147
  667. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/logs.txt +0 -59
  668. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-0/butThen/happyPath.png +0 -0
  669. /package/dist/common/src/{NavBar.js → components/pure/NavBar.js} +0 -0
  670. /package/dist/{types/src/ReportServer.d.ts → module/src/components/SunriseAnimation.test/types.js} +0 -0
  671. /package/dist/{types/src/build.d.ts → module/src/components/pure/FeaturesReporterView.test/types.js} +0 -0
  672. /package/dist/module/src/{NavBar.js → components/pure/NavBar.js} +0 -0
  673. /package/dist/types/{src/CoreTypes.d.ts → CoreTypes.d.ts} +0 -0
  674. /package/dist/types/{src/Init.d.ts → Init.d.ts} +0 -0
  675. /package/dist/types/{src/Node.d.ts → Node.d.ts} +0 -0
  676. /package/dist/types/{src/NodeSidecar.d.ts → NodeSidecar.d.ts} +0 -0
  677. /package/dist/types/{src/PM → PM}/PM_WithEslintAndTsc.d.ts +0 -0
  678. /package/dist/types/{src/PM → PM}/__tests__/nodeSidecar.testeranto.d.ts +0 -0
  679. /package/dist/types/{src/PM → PM}/__tests__/pureSidecar.testeranto.d.ts +0 -0
  680. /package/dist/types/{src/PM → PM}/__tests__/webSidecar.testeranto.d.ts +0 -0
  681. /package/dist/types/{src/PM → PM}/base.d.ts +0 -0
  682. /package/dist/types/{src/PM → PM}/index.d.ts +0 -0
  683. /package/dist/types/{src/components/SunriseAnimation.test/implementation.d.ts → PM/layers/base/PM_Base.d.ts} +0 -0
  684. /package/dist/types/{src/components/SunriseAnimation.test/index.d.ts → PM/layers/base/components/PageOperations.d.ts} +0 -0
  685. /package/dist/types/{src/components/SunriseAnimation.test/interface.d.ts → PM/layers/base/components/PageOperations.testeranto.d.ts} +0 -0
  686. /package/dist/types/{src/components/SunriseAnimation.test/specification.d.ts → PM/layers/linting/components/Linter.d.ts} +0 -0
  687. /package/dist/types/{src/lib/dailyAnimation.d.ts → PM/layers/linting/components/TypeChecker.d.ts} +0 -0
  688. /package/dist/types/{src/PM → PM}/node.d.ts +0 -0
  689. /package/dist/types/{src/PM → PM}/nodeSidecar.d.ts +0 -0
  690. /package/dist/types/{src/PM → PM}/pureSidecar.d.ts +0 -0
  691. /package/dist/types/{src/PM → PM}/sidecar.d.ts +0 -0
  692. /package/dist/types/{src/PM → PM}/webSidecar.d.ts +0 -0
  693. /package/dist/types/{src/Pure.d.ts → Pure.d.ts} +0 -0
  694. /package/dist/types/{src/Pure.test.d.ts → Pure.test.d.ts} +0 -0
  695. /package/dist/types/{src/PureSidecar.d.ts → PureSidecar.d.ts} +0 -0
  696. /package/dist/types/{src/init-docs.d.ts → ReportServer.d.ts} +0 -0
  697. /package/dist/types/{src/ReportServer.test.ts → ReportServer.test.ts}/index.d.ts +0 -0
  698. /package/dist/types/{src/ReportServerLib.d.ts → ReportServerLib.d.ts} +0 -0
  699. /package/dist/types/{src/Web.d.ts → Web.d.ts} +0 -0
  700. /package/dist/types/{src/WebSidecar.d.ts → WebSidecar.d.ts} +0 -0
  701. /package/dist/types/{src/run.d.ts → build.d.ts} +0 -0
  702. /package/dist/types/{src/components → components}/TestStatusBadge.d.ts +0 -0
  703. /package/dist/types/{src/components/pure/ProjectPageView.test → components/pure/AppFrame.test}/specification.d.ts +0 -0
  704. /package/dist/types/{src/components/pure/ProjectPageView.test → components/pure/FeaturesReporterView.test}/implementation.d.ts +0 -0
  705. /package/dist/types/{src → components/pure}/NavBar.d.ts +0 -0
  706. /package/dist/types/{src/defaultConfig.d.ts → defaultConfig.d.ts} +0 -0
  707. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/consoleDetectorPlugin.d.ts +0 -0
  708. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/eslint-formatter-testeranto.d.ts +0 -0
  709. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.d.ts +0 -0
  710. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/index.d.ts +0 -0
  711. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/inputFilesPlugin.d.ts +0 -0
  712. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/nativeImportDetectorPlugin.d.ts +0 -0
  713. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/node.d.ts +0 -0
  714. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/pure.d.ts +0 -0
  715. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/rebuildPlugin.d.ts +0 -0
  716. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/web.d.ts +0 -0
  717. /package/dist/types/{src/lib → lib}/BaseSuite.d.ts +0 -0
  718. /package/dist/types/{src/lib → lib}/BaseSuite.test/mock.d.ts +0 -0
  719. /package/dist/types/{src/lib → lib}/BaseSuite.test/node.test.d.ts +0 -0
  720. /package/dist/types/{src/lib → lib}/BaseSuite.test/pure.test.d.ts +0 -0
  721. /package/dist/types/{src/lib → lib}/BaseSuite.test/test.d.ts +0 -0
  722. /package/dist/types/{src/lib → lib}/BaseSuite.test/web.test.d.ts +0 -0
  723. /package/dist/types/{src/lib → lib}/Sidecar.d.ts +0 -0
  724. /package/dist/types/{src/lib → lib}/abstractBase.test/MockThen.d.ts +0 -0
  725. /package/dist/types/{src/lib → lib}/abstractBase.test/MockWhen.d.ts +0 -0
  726. /package/dist/types/{src/lib → lib}/abstractBase.test/adapter.d.ts +0 -0
  727. /package/dist/types/{src/lib → lib}/abstractBase.test/implementation.d.ts +0 -0
  728. /package/dist/types/{src/lib → lib}/abstractBase.test/index.d.ts +0 -0
  729. /package/dist/types/{src/lib → lib}/abstractBase.test/specification.d.ts +0 -0
  730. /package/dist/types/{src/lib → lib}/abstractBase.test/types.d.ts +0 -0
  731. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.adapter.d.ts +0 -0
  732. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.implementation.d.ts +0 -0
  733. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.mock.d.ts +0 -0
  734. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.node.d.ts +0 -0
  735. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.specification.d.ts +0 -0
  736. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.types.d.ts +0 -0
  737. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.web.d.ts +0 -0
  738. /package/dist/types/{src/lib → lib}/basebuilder.d.ts +0 -0
  739. /package/dist/types/{src/lib → lib}/classBuilder.d.ts +0 -0
  740. /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.adapter.d.ts +0 -0
  741. /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.d.ts +0 -0
  742. /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.implementation.d.ts +0 -0
  743. /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.specification.d.ts +0 -0
  744. /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.types.d.ts +0 -0
  745. /package/dist/types/{src/lib → lib}/classBuilder.test/mock.d.ts +0 -0
  746. /package/dist/types/{src/lib → lib}/core.d.ts +0 -0
  747. /package/dist/types/{src/lib → lib}/core.test/MockCore.d.ts +0 -0
  748. /package/dist/types/{src/lib → lib}/core.test/core.test.adapter.d.ts +0 -0
  749. /package/dist/types/{src/lib → lib}/core.test/core.test.d.ts +0 -0
  750. /package/dist/types/{src/lib → lib}/core.test/core.test.implementation.d.ts +0 -0
  751. /package/dist/types/{src/lib → lib}/core.test/core.test.specification.d.ts +0 -0
  752. /package/dist/types/{src/lib → lib}/core.test/core.test.types.d.ts +0 -0
  753. /package/dist/types/{src/lib → lib}/mocks.test.d.ts +0 -0
  754. /package/dist/types/{src/lib → lib}/pmProxy.d.ts +0 -0
  755. /package/dist/types/{src/lib → lib}/pmProxy.test/adapter.d.ts +0 -0
  756. /package/dist/types/{src/lib → lib}/pmProxy.test/implementation.d.ts +0 -0
  757. /package/dist/types/{src/lib → lib}/pmProxy.test/index.d.ts +0 -0
  758. /package/dist/types/{src/lib → lib}/pmProxy.test/mockPM.d.ts +0 -0
  759. /package/dist/types/{src/lib → lib}/pmProxy.test/mockPMBase.d.ts +0 -0
  760. /package/dist/types/{src/lib → lib}/pmProxy.test/specification.d.ts +0 -0
  761. /package/dist/types/{src/lib → lib}/pmProxy.test/types.d.ts +0 -0
  762. /package/dist/types/{src/lib → lib}/types.d.ts +0 -0
  763. /package/dist/types/{src/mothership → mothership}/index.d.ts +0 -0
  764. /package/dist/types/{src/mothership → mothership}/test.d.ts +0 -0
  765. /package/dist/types/{src/utils → utils}/buildTemplates.d.ts +0 -0
  766. /package/dist/types/{src/utils → utils}/queue.d.ts +0 -0
  767. /package/dist/types/{src/utils.d.ts → utils.d.ts} +0 -0
  768. /package/src/{NavBar.tsx → components/pure/NavBar.tsx} +0 -0
package/src/PM/main.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  /* eslint-disable no-async-promise-executor */
3
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
4
  /* eslint-disable @typescript-eslint/no-unused-vars */
5
+
5
6
  import { ChildProcess, spawn } from "node:child_process";
6
7
  import ansiColors from "ansi-colors";
7
8
  import net from "net";
@@ -37,6 +38,113 @@ const fileHashes = {};
37
38
  const files: Record<string, Set<string>> = {};
38
39
  const screenshots: Record<string, Promise<Uint8Array>[]> = {};
39
40
 
41
+ type LogStreams = {
42
+ closeAll: () => void;
43
+ writeExitCode: (code: number, error?: Error) => void;
44
+ stdout?: fs.WriteStream;
45
+ stderr?: fs.WriteStream;
46
+ info?: fs.WriteStream;
47
+ warn?: fs.WriteStream;
48
+ error?: fs.WriteStream;
49
+ debug?: fs.WriteStream;
50
+ exit: fs.WriteStream;
51
+ };
52
+
53
+ function runtimeLogs(
54
+ runtime: IRunTime,
55
+ reportDest: string
56
+ ): Record<string, fs.WriteStream> {
57
+ const safeDest = reportDest || `testeranto/reports/default_${Date.now()}`;
58
+
59
+ try {
60
+ if (!fs.existsSync(safeDest)) {
61
+ fs.mkdirSync(safeDest, { recursive: true });
62
+ }
63
+
64
+ if (runtime === "node") {
65
+ return {
66
+ stdout: fs.createWriteStream(`${safeDest}/stdout.log`),
67
+ stderr: fs.createWriteStream(`${safeDest}/stderr.log`),
68
+ exit: fs.createWriteStream(`${safeDest}/exit.log`),
69
+ };
70
+ } else if (runtime === "web") {
71
+ return {
72
+ info: fs.createWriteStream(`${safeDest}/info.log`),
73
+ warn: fs.createWriteStream(`${safeDest}/warn.log`),
74
+ error: fs.createWriteStream(`${safeDest}/error.log`),
75
+ debug: fs.createWriteStream(`${safeDest}/debug.log`),
76
+ exit: fs.createWriteStream(`${safeDest}/exit.log`),
77
+ };
78
+ } else if (runtime === "pure") {
79
+ return {
80
+ exit: fs.createWriteStream(`${safeDest}/exit.log`),
81
+ };
82
+ } else {
83
+ throw `unknown runtime: ${runtime}`;
84
+ }
85
+ } catch (e) {
86
+ console.error(`Failed to create log streams in ${safeDest}:`, e);
87
+ throw e;
88
+ }
89
+ }
90
+
91
+ function createLogStreams(reportDest: string, runtime: IRunTime): LogStreams {
92
+ // Create directory if it doesn't exist
93
+ if (!fs.existsSync(reportDest)) {
94
+ fs.mkdirSync(reportDest, { recursive: true });
95
+ }
96
+
97
+ const streams = runtimeLogs(runtime, reportDest);
98
+
99
+ // const streams = {
100
+ // exit: fs.createWriteStream(`${reportDest}/exit.log`),
101
+ const safeDest = reportDest || `testeranto/reports/default_${Date.now()}`;
102
+
103
+ try {
104
+ if (!fs.existsSync(safeDest)) {
105
+ fs.mkdirSync(safeDest, { recursive: true });
106
+ }
107
+
108
+ const streams = runtimeLogs(runtime, safeDest);
109
+ // const streams = {
110
+ // exit: fs.createWriteStream(`${safeDest}/exit.log`),
111
+ // ...(runtime === "node" || runtime === "pure"
112
+ // ? {
113
+ // stdout: fs.createWriteStream(`${safeDest}/stdout.log`),
114
+ // stderr: fs.createWriteStream(`${safeDest}/stderr.log`),
115
+ // }
116
+ // : {
117
+ // info: fs.createWriteStream(`${safeDest}/info.log`),
118
+ // warn: fs.createWriteStream(`${safeDest}/warn.log`),
119
+ // error: fs.createWriteStream(`${safeDest}/error.log`),
120
+ // debug: fs.createWriteStream(`${safeDest}/debug.log`),
121
+ // }),
122
+ // };
123
+
124
+ return {
125
+ ...streams,
126
+ closeAll: () => {
127
+ Object.values(streams).forEach(
128
+ (stream) => !stream.closed && stream.close()
129
+ );
130
+ },
131
+ writeExitCode: (code: number, error?: Error) => {
132
+ if (error) {
133
+ streams.exit.write(`Error: ${error.message}\n`);
134
+ if (error.stack) {
135
+ streams.exit.write(`Stack Trace:\n${error.stack}\n`);
136
+ }
137
+ }
138
+ streams.exit.write(`${code}\n`);
139
+ },
140
+ exit: streams.exit,
141
+ };
142
+ } catch (e) {
143
+ console.error(`Failed to create log streams in ${safeDest}:`, e);
144
+ throw e;
145
+ }
146
+ }
147
+
40
148
  async function fileHash(filePath, algorithm = "md5") {
41
149
  return new Promise<string>((resolve, reject) => {
42
150
  const hash = crypto.createHash(algorithm);
@@ -63,12 +171,18 @@ const statusMessagePretty = (
63
171
  runtime: IRunTime
64
172
  ) => {
65
173
  if (failures === 0) {
174
+ console.log(ansiC.green(ansiC.inverse(`${runtime} > ${test}`)));
175
+ } else if (failures > 0) {
66
176
  console.log(
67
- ansiC.green(ansiC.inverse(`${runtime} > ${test} completed successfully`))
177
+ ansiC.red(
178
+ ansiC.inverse(
179
+ `${runtime} > ${test} failed ${failures} times (exit code: ${failures})`
180
+ )
181
+ )
68
182
  );
69
183
  } else {
70
184
  console.log(
71
- ansiC.red(ansiC.inverse(`${runtime} > ${test} failed ${failures} times`))
185
+ ansiC.red(ansiC.inverse(`${runtime} > ${test} crashed (exit code: -1)`))
72
186
  );
73
187
  }
74
188
  };
@@ -117,12 +231,14 @@ async function pollForFile(path, timeout = 2000) {
117
231
  export class PM_Main extends PM_WithEslintAndTsc {
118
232
  ports: Record<number, string>;
119
233
  queue: string[];
234
+ logStreams: Record<string, ReturnType<typeof createLogStreams>> = {};
120
235
  webMetafileWatcher: fs.FSWatcher;
121
236
  nodeMetafileWatcher: fs.FSWatcher;
122
237
  importMetafileWatcher: fs.FSWatcher;
123
238
  pureSidecars: Record<number, Sidecar>;
124
239
  nodeSidecars: Record<number, ChildProcess>;
125
240
  webSidecars: Record<number, Page>;
241
+ sidecars: Record<number, any> = {};
126
242
  launchers: Record<string, () => void>;
127
243
 
128
244
  constructor(configs: IBuiltConfig, name: string, mode: "once" | "dev") {
@@ -243,17 +359,18 @@ export class PM_Main extends PM_WithEslintAndTsc {
243
359
  waitForInitialPage: false,
244
360
  executablePath,
245
361
  headless: true,
362
+ defaultViewport: null, // Disable default 800x600 viewport
246
363
  dumpio: false,
247
364
  devtools: false,
248
365
 
249
366
  args: [
250
- "--disable-features=site-per-process",
251
367
  "--allow-file-access-from-files",
252
368
  "--allow-insecure-localhost",
253
369
  "--allow-running-insecure-content",
254
370
  "--auto-open-devtools-for-tabs",
255
371
  "--disable-dev-shm-usage",
256
372
  "--disable-extensions",
373
+ "--disable-features=site-per-process",
257
374
  "--disable-gpu",
258
375
  "--disable-setuid-sandbox",
259
376
  "--disable-site-isolation-trials",
@@ -263,6 +380,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
263
380
  "--no-startup-window",
264
381
  "--reduce-security-for-testing",
265
382
  "--remote-allow-origins=*",
383
+ "--start-maximized",
266
384
  "--unsafely-treat-insecure-origin-as-secure=*",
267
385
  `--remote-debugging-port=3234`,
268
386
  // "--disable-features=IsolateOrigins,site-per-process",
@@ -404,6 +522,10 @@ export class PM_Main extends PM_WithEslintAndTsc {
404
522
  this.nodeMetafileWatcher.close();
405
523
  this.webMetafileWatcher.close();
406
524
  this.importMetafileWatcher.close();
525
+
526
+ // Close any remaining log streams
527
+ Object.values(this.logStreams || {}).forEach((logs) => logs.closeAll());
528
+
407
529
  this.checkForShutdown();
408
530
  }
409
531
 
@@ -533,7 +655,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
533
655
  });
534
656
  } else {
535
657
  this.queue.push(src);
536
- return;
658
+ return [Math.random(), argz];
537
659
  }
538
660
  } else {
539
661
  console.error("negative port makes no sense", src);
@@ -571,8 +693,24 @@ export class PM_Main extends PM_WithEslintAndTsc {
571
693
  // })
572
694
  // );
573
695
 
696
+ const logs = createLogStreams(reportDest, "pure");
697
+
574
698
  try {
575
699
  await import(`${builtfile}?cacheBust=${Date.now()}`).then((module) => {
700
+ // Override console methods to redirect logs
701
+ // Only override stdout/stderr methods for pure runtime
702
+ const originalConsole = { ...console };
703
+
704
+ // console.log = (...args) => {
705
+ // logs.stdout.write(args.join(" ") + "\n");
706
+ // originalConsole.log(...args);
707
+ // };
708
+
709
+ // console.error = (...args) => {
710
+ // logs.stderr.write(args.join(" ") + "\n");
711
+ // originalConsole.error(...args);
712
+ // };
713
+
576
714
  return module.default
577
715
  .then((defaultModule) => {
578
716
  defaultModule
@@ -586,7 +724,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
586
724
  })
587
725
  .catch((e1) => {
588
726
  console.log(
589
- ansiC.red(`launchPure - ${src} errored with: ${e1}`)
727
+ ansiC.red(`launchPure - ${src} errored with: ${e1.stack}`)
590
728
  );
591
729
  this.bddTestIsNowDone(src, -1);
592
730
  statusMessagePretty(-1, src, "pure");
@@ -598,11 +736,12 @@ export class PM_Main extends PM_WithEslintAndTsc {
598
736
  .catch((e2) => {
599
737
  console.log(
600
738
  ansiColors.red(
601
- `pure ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`
739
+ `pure ! ${src} failed to execute. No "tests.json" file was generated. Check the logs for more info`
602
740
  )
603
741
  );
604
742
 
605
- this.writeFileSync(`${reportDest}/logs.txt`, e2.stack, src);
743
+ logs.exit.write(e2.stack);
744
+ logs.exit.write(-1);
606
745
  this.bddTestIsNowDone(src, -1);
607
746
  statusMessagePretty(-1, src, "pure");
608
747
  // console.error(e);
@@ -616,17 +755,19 @@ export class PM_Main extends PM_WithEslintAndTsc {
616
755
  });
617
756
  });
618
757
  } catch (e3) {
758
+ logs.writeExitCode(-1, e3);
619
759
  console.log(
620
760
  ansiC.red(
621
761
  ansiC.inverse(
622
- `${src} 1 errored with: ${e3}. Check ${reportDest}/logs.txt for more info`
762
+ `${src} 1 errored with: ${e3}. Check logs for more info`
623
763
  )
624
764
  )
625
765
  );
626
- this.writeFileSync(`${reportDest}/logs.txt`, e3.stack, src);
766
+
767
+ logs.exit.write(e3.stack);
768
+ logs.exit.write(-1);
627
769
  this.bddTestIsNowDone(src, -1);
628
770
  statusMessagePretty(-1, src, "pure");
629
- console.log("III) PURE IS EXITING BADLY WITH error", e3);
630
771
  }
631
772
 
632
773
  for (let i = 0; i <= portsToUse.length; i++) {
@@ -644,7 +785,6 @@ export class PM_Main extends PM_WithEslintAndTsc {
644
785
  .split(".")
645
786
  .slice(0, -1)
646
787
  .join(".")}/node`;
647
-
648
788
  if (!fs.existsSync(reportDest)) {
649
789
  fs.mkdirSync(reportDest, { recursive: true });
650
790
  }
@@ -683,7 +823,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
683
823
 
684
824
  if (openPorts.length >= testConfigResource.ports) {
685
825
  for (let i = 0; i < testConfigResource.ports; i++) {
686
- portsToUse.push(openPorts[i][0]);
826
+ portsToUse.push(openPorts[i][0]); // Convert string port to number
687
827
 
688
828
  this.ports[openPorts[i][0]] = src; // port is now claimed
689
829
  }
@@ -702,7 +842,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
702
842
  )
703
843
  );
704
844
  this.queue.push(src);
705
- return;
845
+ return [Math.random(), argz]; // Add this return
706
846
  }
707
847
  } else {
708
848
  console.error("negative port makes no sense", src);
@@ -775,52 +915,50 @@ export class PM_Main extends PM_WithEslintAndTsc {
775
915
  });
776
916
  });
777
917
 
778
- const oStream = fs.createWriteStream(`${reportDest}/logs.txt`);
779
-
780
- const errFile = `${reportDest}/logs.txt`;
781
-
782
- if (fs.existsSync(errFile)) {
783
- fs.rmSync(errFile);
784
- }
918
+ const logs = createLogStreams(reportDest, "node");
785
919
 
786
920
  server.listen(ipcfile, () => {
787
- child.stderr?.on("data", (data) => {
788
- oStream.write(`stderr > ${data}`);
789
- });
921
+ // Only handle stdout/stderr for node runtime
790
922
  child.stdout?.on("data", (data) => {
791
- oStream.write(`stdout > ${data}`);
923
+ logs.stdout?.write(data); // Add null check
924
+ });
925
+
926
+ child.stderr?.on("data", (data) => {
927
+ logs.stderr?.write(data); // Add null check
792
928
  });
793
929
  child.on("error", (err) => {});
794
930
  child.on("close", (code) => {
795
- // oStream.close();
931
+ const exitCode = code === null ? -1 : code;
932
+ if (exitCode < 0) {
933
+ logs.writeExitCode(
934
+ exitCode,
935
+ new Error("Process crashed or was terminated")
936
+ );
937
+ } else {
938
+ logs.writeExitCode(exitCode);
939
+ }
940
+ logs.closeAll();
796
941
  server.close();
797
942
 
798
943
  if (!files[src]) {
799
944
  files[src] = new Set();
800
945
  }
801
- // files[src].add(filepath);
802
-
803
- // fs.writeFileSync(
804
- // reportDest + "/manifest.json",
805
- // JSON.stringify(Array.from(files[src]))
806
- // );
807
946
 
808
- if (code === 255) {
947
+ if (exitCode === 255) {
809
948
  console.log(
810
949
  ansiColors.red(
811
- `node ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`
950
+ `node ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/stderr.log for more info`
812
951
  )
813
952
  );
814
953
  this.bddTestIsNowDone(src, -1);
815
954
  statusMessagePretty(-1, src, "node");
816
- oStream.close();
817
955
  return;
818
- } else if (code === 0) {
956
+ } else if (exitCode === 0) {
819
957
  this.bddTestIsNowDone(src, 0);
820
958
  statusMessagePretty(0, src, "node");
821
959
  } else {
822
- this.bddTestIsNowDone(src, code);
823
- statusMessagePretty(code, src, "node");
960
+ this.bddTestIsNowDone(src, exitCode);
961
+ statusMessagePretty(exitCode, src, "node");
824
962
  }
825
963
 
826
964
  haltReturns = true;
@@ -842,11 +980,10 @@ export class PM_Main extends PM_WithEslintAndTsc {
842
980
  console.log(
843
981
  ansiC.red(
844
982
  ansiC.inverse(
845
- `${src} errored with: ${e.name}. Check ${errFile} for more info`
983
+ `${src} errored with: ${e.name}. Check error logs for more info`
846
984
  )
847
985
  )
848
986
  );
849
- this.writeFileSync(`${reportDest}/logs.txt`, e.toString(), src);
850
987
  this.bddTestIsNowDone(src, -1);
851
988
  statusMessagePretty(-1, src, "node");
852
989
  });
@@ -855,7 +992,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
855
992
 
856
993
  launchWebSideCar = async (
857
994
  testConfig: ITestTypes
858
- ): Promise<[number, ITTestResourceConfiguration]> => {
995
+ ): Promise<[number, Page]> => {
859
996
  const src = testConfig[0];
860
997
  const dest = src.split(".").slice(0, -1).join(".");
861
998
  // const d = dest + ".mjs";
@@ -864,10 +1001,10 @@ export class PM_Main extends PM_WithEslintAndTsc {
864
1001
 
865
1002
  console.log(ansiC.green(ansiC.inverse(`launchWebSideCar ${src}`)));
866
1003
 
867
- const fileStreams2: fs.WriteStream[] = [];
868
- const doneFileStream2: Promise<any>[] = [];
1004
+ // const fileStreams2: fs.WriteStream[] = [];
1005
+ // const doneFileStream2: Promise<any>[] = [];
869
1006
 
870
- const oStream = fs.createWriteStream(`${destFolder}/logs.txt`);
1007
+ const logs = createLogStreams(dest, "web");
871
1008
 
872
1009
  return new Promise((res, rej) => {
873
1010
  this.browser
@@ -893,40 +1030,43 @@ export class PM_Main extends PM_WithEslintAndTsc {
893
1030
  Promise.all(screenshots[src] || []).then(() => {
894
1031
  delete screenshots[src];
895
1032
  page.close();
896
- oStream.close();
897
1033
  });
898
1034
  };
899
1035
 
900
1036
  page.on("pageerror", (err: Error) => {
901
1037
  console.debug(`Error from ${src}: [${err.name}] `);
902
- oStream.write(err.name);
903
- oStream.write("\n");
904
-
1038
+ console.debug(`Error from ${src}: [${err.name}] `);
905
1039
  if (err.cause) {
906
1040
  console.debug(`Error from ${src} cause: [${err.cause}] `);
907
- oStream.write(err.cause);
908
- oStream.write("\n");
909
1041
  }
910
-
911
1042
  if (err.stack) {
912
1043
  console.debug(`Error from stack ${src}: [${err.stack}] `);
913
- oStream.write(err.stack);
914
- oStream.write("\n");
915
1044
  }
916
-
917
1045
  console.debug(`Error from message ${src}: [${err.message}] `);
918
- oStream.write(err.message);
919
- oStream.write("\n");
920
-
921
1046
  this.bddTestIsNowDone(src, -1);
922
1047
  close();
923
1048
  });
924
1049
 
925
1050
  page.on("console", (log: ConsoleMessage) => {
926
- oStream.write(log.text());
927
- oStream.write(JSON.stringify(log.location()));
928
- oStream.write(JSON.stringify(log.stackTrace()));
929
- oStream.write("\n");
1051
+ const msg = `${log.text()}\n${JSON.stringify(
1052
+ log.location()
1053
+ )}\n${JSON.stringify(log.stackTrace())}\n`;
1054
+ switch (log.type()) {
1055
+ case "info":
1056
+ logs.info?.write(msg);
1057
+ break;
1058
+ case "warn":
1059
+ logs.warn?.write(msg);
1060
+ break;
1061
+ case "error":
1062
+ logs.error?.write(msg);
1063
+ break;
1064
+ case "debug":
1065
+ logs.debug?.write(msg);
1066
+ break;
1067
+ default:
1068
+ break;
1069
+ }
930
1070
  });
931
1071
 
932
1072
  await page.goto(`file://${`${destFolder}.html`}`, {});
@@ -978,7 +1118,6 @@ export class PM_Main extends PM_WithEslintAndTsc {
978
1118
  .then(async (page) => {
979
1119
  await page.goto(`file://${`${dest}.html`}`, {});
980
1120
 
981
- /* @ts-ignore:next-line */
982
1121
  res([Math.random(), page]);
983
1122
  });
984
1123
  });
@@ -1009,6 +1148,8 @@ export class PM_Main extends PM_WithEslintAndTsc {
1009
1148
 
1010
1149
  const testReq: { ports: number } = sidecar[2];
1011
1150
 
1151
+ const logs = createLogStreams(dest, "node");
1152
+
1012
1153
  const portsToUse: number[] = [];
1013
1154
  if (testReq.ports === 0) {
1014
1155
  // argz = {
@@ -1024,7 +1165,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
1024
1165
 
1025
1166
  if (openPorts.length >= testReq.ports) {
1026
1167
  for (let i = 0; i < testReq.ports; i++) {
1027
- portsToUse.push(openPorts[i][0]);
1168
+ portsToUse.push(Number(openPorts[i][0])); // Convert string port to number
1028
1169
 
1029
1170
  this.ports[openPorts[i][0]] = src; // port is now closed
1030
1171
  }
@@ -1076,8 +1217,6 @@ export class PM_Main extends PM_WithEslintAndTsc {
1076
1217
  });
1077
1218
  });
1078
1219
 
1079
- const oStream = fs.createWriteStream(`${reportDest}/logs.txt`);
1080
-
1081
1220
  const child = spawn("node", [builtfile, JSON.stringify(argz)], {
1082
1221
  stdio: ["pipe", "pipe", "pipe", "ipc"],
1083
1222
  // silent: true
@@ -1085,19 +1224,9 @@ export class PM_Main extends PM_WithEslintAndTsc {
1085
1224
 
1086
1225
  const p = "/tmp/tpipe" + Math.random();
1087
1226
 
1088
- const errFile = `${reportDest}/logs.txt`;
1089
-
1090
1227
  server.listen(p, () => {
1091
- child.stderr?.on("data", (data) => {
1092
- oStream.write(`stderr > ${data}`);
1093
- });
1094
- child.stdout?.on("data", (data) => {
1095
- oStream.write(`stdout > ${data}`);
1096
- });
1097
1228
  child.on("close", (code) => {
1098
- oStream.close();
1099
1229
  server.close();
1100
-
1101
1230
  haltReturns = true;
1102
1231
  });
1103
1232
  child.on("exit", (code) => {
@@ -1119,11 +1248,11 @@ export class PM_Main extends PM_WithEslintAndTsc {
1119
1248
  console.log(
1120
1249
  ansiC.red(
1121
1250
  ansiC.inverse(
1122
- `launchNodeSideCar - ${src} errored with: ${e.name}. Check ${errFile}for more info`
1251
+ `launchNodeSideCar - ${src} errored with: ${e.name}. Check logs for more info`
1123
1252
  )
1124
1253
  )
1125
1254
  );
1126
- this.writeFileSync(`${reportDest}/logs.txt`, e.toString(), src);
1255
+ logs.error?.write(e.toString() + "\n");
1127
1256
  // this.bddTestIsNowDone(src, -1);
1128
1257
  // statusMessagePretty(-1, src);
1129
1258
  });
@@ -1190,7 +1319,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
1190
1319
  );
1191
1320
  if (openPorts.length >= testConfigResource.ports) {
1192
1321
  for (let i = 0; i < testConfigResource.ports; i++) {
1193
- portsToUse.push(openPorts[i][0]);
1322
+ portsToUse.push(Number(openPorts[i][0]));
1194
1323
 
1195
1324
  this.ports[openPorts[i][0]] = src; // port is now claimed
1196
1325
  }
@@ -1205,7 +1334,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
1205
1334
  };
1206
1335
  } else {
1207
1336
  this.queue.push(src);
1208
- return;
1337
+ // return;
1209
1338
  }
1210
1339
  } else {
1211
1340
  console.error("negative port makes no sense", src);
@@ -1215,6 +1344,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
1215
1344
  // const builtfile = dest + ".mjs";
1216
1345
 
1217
1346
  await import(`${builtfile}?cacheBust=${Date.now()}`).then((module) => {
1347
+ if (!this.pureSidecars) this.pureSidecars = {};
1218
1348
  this.pureSidecars[r] = module.default;
1219
1349
  this.pureSidecars[r].start(argz);
1220
1350
  });
@@ -1250,12 +1380,37 @@ export class PM_Main extends PM_WithEslintAndTsc {
1250
1380
 
1251
1381
  const d = `${dest}?cacheBust=${Date.now()}`;
1252
1382
 
1253
- const ofile = `${reportDest}/logs.txt`;
1254
- const oStream = fs.createWriteStream(ofile);
1383
+ const logs = createLogStreams(reportDest, "web");
1255
1384
 
1256
1385
  this.browser
1257
1386
  .newPage()
1258
1387
  .then((page) => {
1388
+ page.on("console", (log: ConsoleMessage) => {
1389
+ const msg = `${log.text()}\n`;
1390
+
1391
+ switch (log.type()) {
1392
+ case "info":
1393
+ logs.info?.write(msg);
1394
+ break;
1395
+ case "warn":
1396
+ logs.warn?.write(msg);
1397
+ break;
1398
+ case "error":
1399
+ logs.error?.write(msg);
1400
+ break;
1401
+ case "debug":
1402
+ logs.debug?.write(msg);
1403
+ break;
1404
+ default:
1405
+ break;
1406
+ }
1407
+ });
1408
+
1409
+ page.on("close", () => {
1410
+ logs.writeExitCode(0); // Web tests exit with 0 unless there's an error
1411
+ logs.closeAll();
1412
+ logs.closeAll();
1413
+ });
1259
1414
  this.mapping().forEach(async ([command, func]) => {
1260
1415
  if (command === "page") {
1261
1416
  page.exposeFunction(command, (x?) => {
@@ -1288,55 +1443,23 @@ export class PM_Main extends PM_WithEslintAndTsc {
1288
1443
  Promise.all(screenshots[src] || []).then(() => {
1289
1444
  delete screenshots[src];
1290
1445
  page.close();
1291
- oStream.close();
1292
1446
  });
1293
1447
 
1294
1448
  return;
1295
1449
  };
1296
1450
 
1297
1451
  page.on("pageerror", (err: Error) => {
1452
+ logs.writeExitCode(-1, err);
1298
1453
  console.log(
1299
1454
  ansiColors.red(
1300
- `web ! ${src} failed to execute No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`
1455
+ `web ! ${src} failed to execute No "tests.json" file was generated. Check ${reportDest}/error.log for more info`
1301
1456
  )
1302
1457
  );
1303
-
1304
- oStream.write(err.name);
1305
- oStream.write("\n");
1306
-
1307
- if (err.cause) {
1308
- oStream.write(err.cause);
1309
- oStream.write("\n");
1310
- }
1311
-
1312
- if (err.stack) {
1313
- oStream.write(err.stack);
1314
- oStream.write("\n");
1315
- }
1316
-
1317
- if (err.message) {
1318
- oStream.write(err.message);
1319
- oStream.write("\n");
1320
- }
1321
-
1322
1458
  this.bddTestIsNowDone(src, -1);
1323
1459
  close();
1324
1460
  });
1325
1461
 
1326
- page.on("console", (log: ConsoleMessage) => {
1327
- // console.log("console message: ", log.text());
1328
- if (oStream.closed) {
1329
- console.log("missed console message: ", log.text());
1330
- return;
1331
- } else {
1332
- oStream.write(log.text());
1333
- oStream.write("\n");
1334
- oStream.write(JSON.stringify(log.location()));
1335
- oStream.write("\n");
1336
- oStream.write(JSON.stringify(log.stackTrace()));
1337
- oStream.write("\n");
1338
- }
1339
- });
1462
+ // page.on("console", (log: ConsoleMessage) => {});
1340
1463
 
1341
1464
  await page.goto(`file://${`${destFolder}.html`}`, {});
1342
1465
 
@@ -1363,7 +1486,7 @@ import('${d}').then(async (x) => {
1363
1486
  console.log(
1364
1487
  ansiC.red(
1365
1488
  ansiC.inverse(
1366
- `web ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`
1489
+ `web ! ${src} failed to execute. No "tests.json" file was generated. Check logs for more info`
1367
1490
  )
1368
1491
  )
1369
1492
  );
@@ -1544,10 +1667,16 @@ import('${d}').then(async (x) => {
1544
1667
  this.writeBigBoard();
1545
1668
 
1546
1669
  if (!inflight) {
1547
- this.browser.disconnect().then(() => {
1548
- console.log(ansiC.inverse(`${this.name} has been tested. Goodbye.`));
1549
- process.exit();
1550
- });
1670
+ if (this.browser) {
1671
+ if (this.browser) {
1672
+ this.browser.disconnect().then(() => {
1673
+ console.log(
1674
+ ansiC.inverse(`${this.name} has been tested. Goodbye.`)
1675
+ );
1676
+ process.exit();
1677
+ });
1678
+ }
1679
+ }
1551
1680
  }
1552
1681
  };
1553
1682
  }
@@ -48,6 +48,7 @@ export class PM_Node_Sidecar extends PM_sidecar {
48
48
 
49
49
  testArtiFactoryfileWriter(tLog: ITLog, callback: (p: Promise<void>) => void) {
50
50
  return (fPath: string, value: string | Buffer | PassThrough) => {
51
+ tLog(`Pure runtime skipping file write to ${fPath}`);
51
52
  callback(Promise.resolve());
52
53
  };
53
54
  }