testeranto 0.129.0 → 0.135.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 (403) hide show
  1. package/.aider.chat.history.md +137798 -0
  2. package/.aider.input.history +370 -0
  3. package/.aider.tags.cache.v3/{ec/c0/161c249c35be853cc40cf11f9267.val → 62/f5/8af72140d93c58db2f6aa5bf3f1f.val} +0 -0
  4. package/.aider.tags.cache.v3/8e/ec/2d4659a1589a0187a757ab1cbefa.val +0 -0
  5. package/.aider.tags.cache.v3/{b7/e6/5be87b62aeaf2bc244ff41c1b61a.val → a7/97/6d37fce350ad2d588f36729db0cd.val} +0 -0
  6. package/.aider.tags.cache.v3/{e3/e6/3501625caf5d5eb171f0d248462e.val → ad/3c/10f2ab1397f6d544e613d2a6acaf.val} +0 -0
  7. package/.aider.tags.cache.v3/cache.db +0 -0
  8. package/.aider.tags.cache.v3/d8/b0/a8966fcd65890fd9f70d7afe8141.val +0 -0
  9. package/.aider.tags.cache.v3/dd/5b/0ade824b0841c7c11e9352c5d2ca.val +0 -0
  10. package/README.md +194 -182
  11. package/bundle.js +8 -75
  12. package/dist/common/src/Init.js +6 -1
  13. package/dist/common/src/Node.js +6 -4
  14. package/dist/common/src/NodeSidecar.js +15 -0
  15. package/dist/common/src/PM/PM_WithEslintAndTsc.js +189 -0
  16. package/dist/common/src/PM/__tests__/nodeSidecar.testeranto.js +109 -0
  17. package/dist/common/src/PM/__tests__/pureSidecar.testeranto.js +94 -0
  18. package/dist/common/src/PM/__tests__/webSidecar.testeranto.js +94 -0
  19. package/dist/common/src/PM/base.js +33 -16
  20. package/dist/common/src/PM/main.js +492 -428
  21. package/dist/common/src/PM/node.js +54 -22
  22. package/dist/common/src/PM/nodeSidecar.js +65 -0
  23. package/dist/common/src/PM/pure.js +55 -47
  24. package/dist/common/src/PM/pureSidecar.js +48 -0
  25. package/dist/common/src/PM/sidecar.js +11 -0
  26. package/dist/common/src/PM/web.js +24 -6
  27. package/dist/common/src/PM/webSidecar.js +47 -0
  28. package/dist/common/src/PureSidecar.js +13 -0
  29. package/dist/common/src/SP__Polygon.test.js +10 -0
  30. package/dist/common/src/WebSidecar.js +14 -0
  31. package/dist/common/src/build.js +66 -12
  32. package/dist/common/src/defaultConfig.js +1 -0
  33. package/dist/common/src/esbuildConfigs/consoleDetectorPlugin.js +27 -0
  34. package/dist/common/src/esbuildConfigs/eslint-formatter-testeranto.js +16 -1
  35. package/dist/common/src/esbuildConfigs/node.js +2 -16
  36. package/dist/common/src/esbuildConfigs/pure.js +12 -12
  37. package/dist/common/src/esbuildConfigs/rebuildPlugin.js +22 -0
  38. package/dist/common/src/esbuildConfigs/web.js +12 -17
  39. package/dist/common/src/lib/Sidecar.js +6 -0
  40. package/dist/common/src/lib/abstractBase.js +13 -6
  41. package/dist/common/src/lib/basebuilder.js +1 -3
  42. package/dist/common/src/lib/classBuilder.js +6 -20
  43. package/dist/common/src/lib/core.js +11 -6
  44. package/dist/common/src/lib/index.js +13 -4
  45. package/dist/common/src/lib/pmProxy.js +1 -1
  46. package/dist/common/src/mothership/index.js +16 -0
  47. package/dist/common/src/mothership/test.js +65 -0
  48. package/dist/common/src/utils/queue.js +36 -0
  49. package/dist/common/src/utils.js +34 -5
  50. package/dist/common/testeranto.config.js +77 -39
  51. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  52. package/dist/module/src/Init.js +6 -1
  53. package/dist/module/src/Node.js +6 -4
  54. package/dist/module/src/NodeSidecar.js +11 -0
  55. package/dist/module/src/PM/PM_WithEslintAndTsc.js +182 -0
  56. package/dist/module/src/PM/__tests__/nodeSidecar.testeranto.js +104 -0
  57. package/dist/module/src/PM/__tests__/pureSidecar.testeranto.js +89 -0
  58. package/dist/module/src/PM/__tests__/webSidecar.testeranto.js +89 -0
  59. package/dist/module/src/PM/base.js +33 -16
  60. package/dist/module/src/PM/main.js +493 -429
  61. package/dist/module/src/PM/node.js +54 -22
  62. package/dist/module/src/PM/nodeSidecar.js +58 -0
  63. package/dist/module/src/PM/pure.js +55 -44
  64. package/dist/module/src/PM/pureSidecar.js +41 -0
  65. package/dist/module/src/PM/sidecar.js +7 -0
  66. package/dist/module/src/PM/web.js +24 -6
  67. package/dist/module/src/PM/webSidecar.js +40 -0
  68. package/dist/module/src/Project.js +154 -75
  69. package/dist/module/src/PureSidecar.js +9 -0
  70. package/dist/module/src/ReportClient.js +132 -97
  71. package/dist/module/src/SP__Polygon.test.js +8 -0
  72. package/dist/module/src/TestReport.js +32 -14
  73. package/dist/module/src/WebSidecar.js +10 -0
  74. package/dist/module/src/build.js +66 -12
  75. package/dist/module/src/defaultConfig.js +1 -0
  76. package/dist/module/src/esbuildConfigs/consoleDetectorPlugin.js +24 -0
  77. package/dist/module/src/esbuildConfigs/eslint-formatter-testeranto.js +16 -1
  78. package/dist/module/src/esbuildConfigs/node.js +2 -16
  79. package/dist/module/src/esbuildConfigs/pure.js +12 -12
  80. package/dist/module/src/esbuildConfigs/rebuildPlugin.js +17 -0
  81. package/dist/module/src/esbuildConfigs/web.js +12 -17
  82. package/dist/module/src/lib/Sidecar.js +2 -0
  83. package/dist/module/src/lib/abstractBase.js +13 -6
  84. package/dist/module/src/lib/basebuilder.js +1 -3
  85. package/dist/module/src/lib/classBuilder.js +6 -20
  86. package/dist/module/src/lib/core.js +11 -6
  87. package/dist/module/src/lib/index.js +12 -4
  88. package/dist/module/src/lib/pmProxy.js +1 -1
  89. package/dist/module/src/mothership/index.js +11 -0
  90. package/dist/module/src/mothership/test.js +60 -0
  91. package/dist/module/src/utils/queue.js +32 -0
  92. package/dist/module/src/utils.js +34 -5
  93. package/dist/module/testeranto.config.js +77 -36
  94. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  95. package/dist/prebuild/Project.js +3287 -385
  96. package/dist/prebuild/ReportClient.js +0 -24638
  97. package/dist/prebuild/TestReport.js +26 -22
  98. package/dist/prebuild/build.mjs +192 -70
  99. package/dist/prebuild/esbuildConfigs/eslint-formatter-testeranto.mjs +14 -1
  100. package/dist/prebuild/init-docs.mjs +2 -5
  101. package/dist/prebuild/mothership/index.mjs +17 -0
  102. package/dist/prebuild/run.mjs +733 -433
  103. package/dist/types/src/CoreTypes.d.ts +51 -0
  104. package/dist/types/src/Node.d.ts +2 -2
  105. package/dist/types/src/NodeSidecar.d.ts +6 -0
  106. package/dist/types/src/PM/PM_WithEslintAndTsc.d.ts +23 -0
  107. package/dist/types/src/PM/__tests__/nodeSidecar.testeranto.d.ts +2 -0
  108. package/dist/types/src/PM/__tests__/pureSidecar.testeranto.d.ts +2 -0
  109. package/dist/types/src/PM/__tests__/webSidecar.testeranto.d.ts +2 -0
  110. package/dist/types/src/PM/base.d.ts +6 -5
  111. package/dist/types/src/PM/index.d.ts +6 -4
  112. package/dist/types/src/PM/main.d.ts +23 -26
  113. package/dist/types/src/PM/node.d.ts +8 -6
  114. package/dist/types/src/PM/nodeSidecar.d.ts +13 -0
  115. package/dist/types/src/PM/pure.d.ts +4 -3
  116. package/dist/types/src/PM/pureSidecar.d.ts +11 -0
  117. package/dist/types/src/PM/sidecar.d.ts +8 -0
  118. package/dist/types/src/PM/web.d.ts +18 -8
  119. package/dist/types/src/PM/webSidecar.d.ts +11 -0
  120. package/dist/types/src/PureSidecar.d.ts +8 -0
  121. package/dist/types/src/SP__Polygon.test.d.ts +1 -0
  122. package/dist/types/src/Types.d.ts +80 -58
  123. package/dist/types/src/Web.d.ts +1 -1
  124. package/dist/types/src/WebSidecar.d.ts +8 -0
  125. package/dist/types/src/esbuildConfigs/consoleDetectorPlugin.d.ts +2 -0
  126. package/dist/types/src/esbuildConfigs/rebuildPlugin.d.ts +6 -0
  127. package/dist/types/src/lib/Sidecar.d.ts +5 -0
  128. package/dist/types/src/lib/abstractBase.d.ts +6 -12
  129. package/dist/types/src/lib/classBuilder.d.ts +7 -1
  130. package/dist/types/src/lib/core.d.ts +8 -2
  131. package/dist/types/src/lib/index.d.ts +10 -4
  132. package/dist/types/src/lib/types.d.ts +12 -2
  133. package/dist/types/src/mothership/index.d.ts +2 -0
  134. package/dist/types/src/mothership/test.d.ts +2 -0
  135. package/dist/types/src/utils/queue.d.ts +11 -0
  136. package/dist/types/src/utils.d.ts +4 -7
  137. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  138. package/docs/index.md +277 -0
  139. package/package.json +23 -104
  140. package/src/CoreTypes.ts +171 -0
  141. package/src/Init.ts +6 -5
  142. package/src/Node.ts +32 -15
  143. package/src/NodeSidecar.ts +22 -0
  144. package/src/PM/PM_WithEslintAndTsc.ts +315 -0
  145. package/src/PM/__tests__/nodeSidecar.testeranto.ts +173 -0
  146. package/src/PM/__tests__/pureSidecar.testeranto.ts +157 -0
  147. package/src/PM/__tests__/webSidecar.testeranto.ts +157 -0
  148. package/src/PM/base.ts +38 -17
  149. package/src/PM/index.ts +10 -4
  150. package/src/PM/main.ts +616 -589
  151. package/src/PM/node.ts +77 -33
  152. package/src/PM/nodeSidecar.ts +73 -0
  153. package/src/PM/pure.ts +68 -58
  154. package/src/PM/pureSidecar.ts +56 -0
  155. package/src/PM/sidecar.ts +48 -0
  156. package/src/PM/web.ts +42 -11
  157. package/src/PM/webSidecar.ts +55 -0
  158. package/src/Project.tsx +312 -109
  159. package/src/Pure.ts +0 -2
  160. package/src/PureSidecar.ts +14 -0
  161. package/src/ReportClient.tsx +164 -170
  162. package/src/SP__Polygon.test.ts +13 -0
  163. package/src/TestReport.tsx +77 -6
  164. package/src/Types.ts +278 -157
  165. package/src/Web.ts +0 -3
  166. package/src/WebSidecar.ts +14 -0
  167. package/src/build.ts +104 -16
  168. package/src/defaultConfig.ts +1 -0
  169. package/src/esbuildConfigs/README.md +46 -0
  170. package/src/esbuildConfigs/consoleDetectorPlugin.ts +29 -0
  171. package/src/esbuildConfigs/eslint-formatter-testeranto.ts +17 -1
  172. package/src/esbuildConfigs/node.ts +2 -18
  173. package/src/esbuildConfigs/pure.ts +19 -14
  174. package/src/esbuildConfigs/rebuildPlugin.ts +23 -0
  175. package/src/esbuildConfigs/web.ts +15 -18
  176. package/src/lib/Sidecar.ts +6 -0
  177. package/src/lib/TEST_ADAPTER_RENAME.md +48 -0
  178. package/src/lib/abstractBase.ts +18 -10
  179. package/src/lib/basebuilder.ts +5 -4
  180. package/src/lib/classBuilder.ts +19 -21
  181. package/src/lib/core.ts +28 -19
  182. package/src/lib/index.ts +38 -18
  183. package/src/lib/pmProxy.ts +3 -1
  184. package/src/lib/types.ts +15 -2
  185. package/src/mothership/index.ts +15 -0
  186. package/src/mothership/test.ts +137 -0
  187. package/src/run.ts +0 -1
  188. package/src/utils/queue.ts +41 -0
  189. package/src/utils.ts +41 -15
  190. package/testeranto/bundles/node/mothership/chunk-PG6KUKNP.mjs +44 -0
  191. package/testeranto/bundles/node/mothership/chunk-V2EQEXU2.mjs +1032 -0
  192. package/testeranto/bundles/node/mothership/metafile.json +389 -0
  193. package/testeranto/bundles/node/mothership/src/PM/__tests__/nodeSidecar.testeranto.mjs +1219 -0
  194. package/testeranto/bundles/node/mothership/src/PM/__tests__/pureSidecar.testeranto.mjs +156 -0
  195. package/testeranto/bundles/node/mothership/src/PM/__tests__/sidecar.testeranto.mjs +1199 -0
  196. package/testeranto/bundles/node/mothership/src/PM/__tests__/webSidecar.testeranto.mjs +156 -0
  197. package/testeranto/bundles/node/mothership/src/mothership/test.mjs +24411 -0
  198. package/testeranto/bundles/pure/mothership/metafile.json +8 -0
  199. package/testeranto/bundles/web/mothership/metafile.json +8 -0
  200. package/testeranto/index.html +4 -4
  201. package/testeranto/reports/mothership/config.json +25 -0
  202. package/testeranto/reports/{redux → mothership}/index.html +8 -8
  203. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/console_log.txt +0 -0
  204. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/index.html +20 -0
  205. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/lint_errors.json +1564 -0
  206. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/log.txt +0 -0
  207. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/prompt.txt +22 -0
  208. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/type_errors.txt +35 -0
  209. package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/index.html +20 -0
  210. package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/lint_errors.json +80 -0
  211. package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/prompt.txt +12 -0
  212. package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/type_errors.txt +26 -0
  213. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/bdd_errors.txt +1 -0
  214. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/console_log.txt +0 -0
  215. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/index.html +20 -0
  216. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/lint_errors.json +1564 -0
  217. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/log.txt +0 -0
  218. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/prompt.txt +22 -0
  219. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/tests.json +56 -0
  220. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/type_errors.txt +29 -0
  221. package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/index.html +20 -0
  222. package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/lint_errors.json +80 -0
  223. package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/prompt.txt +12 -0
  224. package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/type_errors.txt +26 -0
  225. package/testeranto/reports/mothership/src/mothership/test/node/bdd_errors.txt +1 -0
  226. package/testeranto/reports/mothership/src/mothership/test/node/console_log.txt +4 -0
  227. package/testeranto/reports/mothership/src/mothership/test/node/index.html +20 -0
  228. package/testeranto/reports/mothership/src/mothership/test/node/lint_errors.json +1 -0
  229. package/testeranto/reports/mothership/src/mothership/test/node/log.txt +0 -0
  230. package/testeranto/reports/mothership/src/mothership/test/node/prompt.txt +12 -0
  231. package/testeranto/reports/mothership/src/mothership/test/node/tests.json +24 -0
  232. package/testeranto/reports/mothership/src/mothership/test/node/type_errors.txt +18 -0
  233. package/testeranto/reports/mothership/summary.json +9 -0
  234. package/testeranto.config.ts +82 -44
  235. package/tsc.log +78 -81
  236. package/dist/common/src/SubPackages/react/component/index.js +0 -20
  237. package/dist/common/src/SubPackages/react/component/node.js +0 -10
  238. package/dist/common/src/SubPackages/react/component/pure.js +0 -10
  239. package/dist/common/src/SubPackages/react/component/web.js +0 -10
  240. package/dist/common/src/SubPackages/react/jsx/index.js +0 -64
  241. package/dist/common/src/SubPackages/react/jsx/node.js +0 -10
  242. package/dist/common/src/SubPackages/react/jsx/pure.js +0 -10
  243. package/dist/common/src/SubPackages/react/jsx/web.js +0 -10
  244. package/dist/common/src/SubPackages/react-dom/component/dynamic.js +0 -61
  245. package/dist/common/src/SubPackages/react-dom/component/node.js +0 -10
  246. package/dist/common/src/SubPackages/react-dom/component/pure.js +0 -10
  247. package/dist/common/src/SubPackages/react-dom/component/static.js +0 -26
  248. package/dist/common/src/SubPackages/react-dom/component/web.js +0 -16
  249. package/dist/common/src/SubPackages/react-dom/jsx/dynamic.js +0 -31
  250. package/dist/common/src/SubPackages/react-dom/jsx/node.js +0 -10
  251. package/dist/common/src/SubPackages/react-dom/jsx/pure.js +0 -10
  252. package/dist/common/src/SubPackages/react-dom/jsx/static.js +0 -59
  253. package/dist/common/src/SubPackages/react-dom/jsx/web.js +0 -16
  254. package/dist/common/src/SubPackages/react-test-renderer/MemoExoticComponent/node.js +0 -54
  255. package/dist/common/src/SubPackages/react-test-renderer/component/index.js +0 -15
  256. package/dist/common/src/SubPackages/react-test-renderer/component/interface.js +0 -70
  257. package/dist/common/src/SubPackages/react-test-renderer/component/node.js +0 -8
  258. package/dist/common/src/SubPackages/react-test-renderer/component/pure.js +0 -8
  259. package/dist/common/src/SubPackages/react-test-renderer/component/test/implementation.js +0 -57
  260. package/dist/common/src/SubPackages/react-test-renderer/component/test/node.js +0 -10
  261. package/dist/common/src/SubPackages/react-test-renderer/component/test/pure.js +0 -10
  262. package/dist/common/src/SubPackages/react-test-renderer/component/test/web.js +0 -10
  263. package/dist/common/src/SubPackages/react-test-renderer/component/web.js +0 -8
  264. package/dist/common/src/SubPackages/react-test-renderer/fc/node.js +0 -60
  265. package/dist/common/src/SubPackages/react-test-renderer/fc/web.js +0 -60
  266. package/dist/common/src/SubPackages/react-test-renderer/jsx/index.js +0 -67
  267. package/dist/common/src/SubPackages/react-test-renderer/jsx/node.js +0 -10
  268. package/dist/common/src/SubPackages/react-test-renderer/jsx/pure.js +0 -10
  269. package/dist/common/src/SubPackages/react-test-renderer/jsx/web.js +0 -10
  270. package/dist/common/src/SubPackages/react-test-renderer/jsx-promised/index.js +0 -52
  271. package/dist/common/src/SubPackages/react-test-renderer/jsx-promised/node.js +0 -10
  272. package/dist/common/src/SubPackages/react-test-renderer/jsx-promised/web.js +0 -10
  273. package/dist/common/src/examples/react/component/index.js +0 -33
  274. package/dist/common/src/examples/react/component/test.js +0 -36
  275. package/dist/module/src/SubPackages/react/component/index.js +0 -13
  276. package/dist/module/src/SubPackages/react/component/node.js +0 -5
  277. package/dist/module/src/SubPackages/react/component/pure.js +0 -5
  278. package/dist/module/src/SubPackages/react/component/web.js +0 -5
  279. package/dist/module/src/SubPackages/react/jsx/index.js +0 -58
  280. package/dist/module/src/SubPackages/react/jsx/node.js +0 -5
  281. package/dist/module/src/SubPackages/react/jsx/pure.js +0 -5
  282. package/dist/module/src/SubPackages/react/jsx/web.js +0 -5
  283. package/dist/module/src/SubPackages/react-dom/component/dynamic.js +0 -54
  284. package/dist/module/src/SubPackages/react-dom/component/node.js +0 -5
  285. package/dist/module/src/SubPackages/react-dom/component/pure.js +0 -5
  286. package/dist/module/src/SubPackages/react-dom/component/static.js +0 -22
  287. package/dist/module/src/SubPackages/react-dom/component/web.js +0 -11
  288. package/dist/module/src/SubPackages/react-dom/jsx/dynamic.js +0 -27
  289. package/dist/module/src/SubPackages/react-dom/jsx/node.js +0 -5
  290. package/dist/module/src/SubPackages/react-dom/jsx/pure.js +0 -5
  291. package/dist/module/src/SubPackages/react-dom/jsx/static.js +0 -53
  292. package/dist/module/src/SubPackages/react-dom/jsx/web.js +0 -11
  293. package/dist/module/src/SubPackages/react-test-renderer/MemoExoticComponent/node.js +0 -16
  294. package/dist/module/src/SubPackages/react-test-renderer/component/index.js +0 -14
  295. package/dist/module/src/SubPackages/react-test-renderer/component/interface.js +0 -31
  296. package/dist/module/src/SubPackages/react-test-renderer/component/node.js +0 -3
  297. package/dist/module/src/SubPackages/react-test-renderer/component/pure.js +0 -3
  298. package/dist/module/src/SubPackages/react-test-renderer/component/test/implementation.js +0 -54
  299. package/dist/module/src/SubPackages/react-test-renderer/component/test/node.js +0 -5
  300. package/dist/module/src/SubPackages/react-test-renderer/component/test/pure.js +0 -5
  301. package/dist/module/src/SubPackages/react-test-renderer/component/test/web.js +0 -5
  302. package/dist/module/src/SubPackages/react-test-renderer/component/web.js +0 -3
  303. package/dist/module/src/SubPackages/react-test-renderer/fc/node.js +0 -22
  304. package/dist/module/src/SubPackages/react-test-renderer/fc/web.js +0 -22
  305. package/dist/module/src/SubPackages/react-test-renderer/jsx/index.js +0 -28
  306. package/dist/module/src/SubPackages/react-test-renderer/jsx/node.js +0 -5
  307. package/dist/module/src/SubPackages/react-test-renderer/jsx/pure.js +0 -5
  308. package/dist/module/src/SubPackages/react-test-renderer/jsx/web.js +0 -5
  309. package/dist/module/src/SubPackages/react-test-renderer/jsx-promised/index.js +0 -16
  310. package/dist/module/src/SubPackages/react-test-renderer/jsx-promised/node.js +0 -5
  311. package/dist/module/src/SubPackages/react-test-renderer/jsx-promised/web.js +0 -5
  312. package/dist/module/src/examples/react/component/index.js +0 -26
  313. package/dist/module/src/examples/react/component/test.js +0 -32
  314. package/dist/prebuild/ReportClient.css +0 -11342
  315. package/dist/tsconfig.tsbuildinfo +0 -1
  316. package/dist/types/src/SubPackages/react/component/index.d.ts +0 -4
  317. package/dist/types/src/SubPackages/react/component/node.d.ts +0 -4
  318. package/dist/types/src/SubPackages/react/component/pure.d.ts +0 -4
  319. package/dist/types/src/SubPackages/react/component/web.d.ts +0 -4
  320. package/dist/types/src/SubPackages/react/jsx/index.d.ts +0 -5
  321. package/dist/types/src/SubPackages/react/jsx/node.d.ts +0 -4
  322. package/dist/types/src/SubPackages/react/jsx/pure.d.ts +0 -4
  323. package/dist/types/src/SubPackages/react/jsx/web.d.ts +0 -4
  324. package/dist/types/src/SubPackages/react-dom/component/dynamic.d.ts +0 -20
  325. package/dist/types/src/SubPackages/react-dom/component/node.d.ts +0 -4
  326. package/dist/types/src/SubPackages/react-dom/component/pure.d.ts +0 -4
  327. package/dist/types/src/SubPackages/react-dom/component/static.d.ts +0 -9
  328. package/dist/types/src/SubPackages/react-dom/component/web.d.ts +0 -4
  329. package/dist/types/src/SubPackages/react-dom/jsx/dynamic.d.ts +0 -5
  330. package/dist/types/src/SubPackages/react-dom/jsx/index.d.ts +0 -6
  331. package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +0 -4
  332. package/dist/types/src/SubPackages/react-dom/jsx/pure.d.ts +0 -4
  333. package/dist/types/src/SubPackages/react-dom/jsx/static.d.ts +0 -5
  334. package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +0 -5
  335. package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +0 -6
  336. package/dist/types/src/SubPackages/react-test-renderer/component/index.d.ts +0 -5
  337. package/dist/types/src/SubPackages/react-test-renderer/component/interface.d.ts +0 -3
  338. package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +0 -4
  339. package/dist/types/src/SubPackages/react-test-renderer/component/pure.d.ts +0 -4
  340. package/dist/types/src/SubPackages/react-test-renderer/component/test/implementation.d.ts +0 -4
  341. package/dist/types/src/SubPackages/react-test-renderer/component/test/node.d.ts +0 -3
  342. package/dist/types/src/SubPackages/react-test-renderer/component/test/pure.d.ts +0 -4
  343. package/dist/types/src/SubPackages/react-test-renderer/component/test/web.d.ts +0 -3
  344. package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +0 -4
  345. package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +0 -8
  346. package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +0 -9
  347. package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +0 -11
  348. package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +0 -4
  349. package/dist/types/src/SubPackages/react-test-renderer/jsx/pure.d.ts +0 -4
  350. package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +0 -4
  351. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/index.d.ts +0 -15
  352. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +0 -5
  353. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +0 -5
  354. package/dist/types/src/examples/react/component/index.d.ts +0 -13
  355. package/dist/types/src/examples/react/component/test.d.ts +0 -17
  356. package/src/SubPackages/react/component/index.ts +0 -28
  357. package/src/SubPackages/react/component/node.ts +0 -17
  358. package/src/SubPackages/react/component/pure.ts +0 -17
  359. package/src/SubPackages/react/component/web.ts +0 -17
  360. package/src/SubPackages/react/jsx/index.ts +0 -75
  361. package/src/SubPackages/react/jsx/node.ts +0 -23
  362. package/src/SubPackages/react/jsx/pure.ts +0 -23
  363. package/src/SubPackages/react/jsx/web.ts +0 -24
  364. package/src/SubPackages/react-dom/component/dynamic.ts +0 -107
  365. package/src/SubPackages/react-dom/component/node.ts +0 -17
  366. package/src/SubPackages/react-dom/component/pure.ts +0 -17
  367. package/src/SubPackages/react-dom/component/static.ts +0 -41
  368. package/src/SubPackages/react-dom/component/web.ts +0 -32
  369. package/src/SubPackages/react-dom/jsx/dynamic.ts +0 -46
  370. package/src/SubPackages/react-dom/jsx/index.ts +0 -6
  371. package/src/SubPackages/react-dom/jsx/node.ts +0 -18
  372. package/src/SubPackages/react-dom/jsx/pure.ts +0 -18
  373. package/src/SubPackages/react-dom/jsx/static.ts +0 -87
  374. package/src/SubPackages/react-dom/jsx/web.ts +0 -26
  375. package/src/SubPackages/react-test-renderer/MemoExoticComponent/node.ts +0 -54
  376. package/src/SubPackages/react-test-renderer/component/index.ts +0 -32
  377. package/src/SubPackages/react-test-renderer/component/interface.ts +0 -43
  378. package/src/SubPackages/react-test-renderer/component/node.ts +0 -18
  379. package/src/SubPackages/react-test-renderer/component/pure.ts +0 -18
  380. package/src/SubPackages/react-test-renderer/component/test/implementation.ts +0 -63
  381. package/src/SubPackages/react-test-renderer/component/test/node.ts +0 -14
  382. package/src/SubPackages/react-test-renderer/component/test/pure.ts +0 -14
  383. package/src/SubPackages/react-test-renderer/component/test/web.ts +0 -14
  384. package/src/SubPackages/react-test-renderer/component/web.ts +0 -18
  385. package/src/SubPackages/react-test-renderer/fc/node.ts +0 -83
  386. package/src/SubPackages/react-test-renderer/fc/web.ts +0 -80
  387. package/src/SubPackages/react-test-renderer/jsx/index.ts +0 -61
  388. package/src/SubPackages/react-test-renderer/jsx/node.ts +0 -31
  389. package/src/SubPackages/react-test-renderer/jsx/pure.ts +0 -31
  390. package/src/SubPackages/react-test-renderer/jsx/web.ts +0 -32
  391. package/src/SubPackages/react-test-renderer/jsx-promised/index.ts +0 -73
  392. package/src/SubPackages/react-test-renderer/jsx-promised/node.ts +0 -36
  393. package/src/SubPackages/react-test-renderer/jsx-promised/web.ts +0 -36
  394. package/src/examples/react/component/index.tsx +0 -35
  395. package/src/examples/react/component/test.ts +0 -83
  396. package/testeranto/bundles/node/redux/metafile.json +0 -559
  397. package/testeranto/bundles/pure/redux/metafile.json +0 -554
  398. package/testeranto/bundles/web/redux/metafile.json +0 -504
  399. package/testeranto/bundles/web/redux/test/web.html +0 -19
  400. package/testeranto/reports/redux/config.json +0 -38
  401. package/testeranto/reports/redux/summary.json +0 -20
  402. /package/dist/common/src/{SubPackages/react-dom/jsx/index.js → CoreTypes.js} +0 -0
  403. /package/dist/module/src/{SubPackages/react-dom/jsx/index.js → CoreTypes.js} +0 -0
package/docs/index.md ADDED
@@ -0,0 +1,277 @@
1
+ ## Core Concepts
2
+
3
+ Testeranto's type system provides a rigorous framework for Behavior-Driven Development (BDD) testing. Let's break down the key components using a Rectangle class example.
4
+
5
+ ### The Test Subject
6
+
7
+ First, define the class you want to test:
8
+
9
+ ```typescript
10
+ class Rectangle {
11
+ constructor(public width: number, public height: number) {}
12
+
13
+ setWidth(w: number) {
14
+ this.width = w;
15
+ }
16
+ setHeight(h: number) {
17
+ this.height = h;
18
+ }
19
+ getArea() {
20
+ return this.width * this.height;
21
+ }
22
+ }
23
+ ```
24
+
25
+ ### Teseranto's 3 main functions
26
+
27
+ For each of testeranto's runtime, there is a specific Testeranto main function. Each is it's own import but all 3 are called in the same way.
28
+
29
+ #### Node
30
+
31
+ ```ts
32
+ import Testeranto from "testeranto/src/Node";
33
+
34
+ import { RectangleTesterantoBaseTestImplementation } from "./Rectangle.test.implementation";
35
+ import { RectangleTesterantoBaseTestSpecification } from "./Rectangle.test.specification";
36
+ import { RectangleTesterantoBaseInterface } from "./Rectangle.test.interface";
37
+
38
+ export default Testeranto(
39
+ null,
40
+ RectangleTesterantoBaseTestSpecification,
41
+ RectangleTesterantoBaseTestImplementation,
42
+ RectangleTesterantoBaseInterface
43
+ );
44
+ ```
45
+
46
+ #### Web
47
+
48
+ ```ts
49
+ import Testeranto from "testeranto/src/Web";
50
+
51
+ import { RectangleTesterantoBaseTestImplementation } from "./Rectangle.test.implementation";
52
+ import { RectangleTesterantoBaseTestSpecification } from "./Rectangle.test.specification";
53
+ import { RectangleTesterantoBaseInterface } from "./Rectangle.test.interface";
54
+
55
+ export default Testeranto(
56
+ null,
57
+ RectangleTesterantoBaseTestSpecification,
58
+ RectangleTesterantoBaseTestImplementation,
59
+ RectangleTesterantoBaseInterface
60
+ );
61
+ ```
62
+
63
+ #### Pure
64
+
65
+ ```ts
66
+ import Testeranto from "testeranto/src/Pure";
67
+
68
+ import { RectangleTesterantoBaseTestImplementation } from "./Rectangle.test.implementation";
69
+ import { RectangleTesterantoBaseTestSpecification } from "./Rectangle.test.specification";
70
+ import { RectangleTesterantoBaseInterface } from "./Rectangle.test.interface";
71
+
72
+ export default Testeranto(
73
+ null,
74
+ RectangleTesterantoBaseTestSpecification,
75
+ RectangleTesterantoBaseTestImplementation,
76
+ RectangleTesterantoBaseInterface
77
+ );
78
+ ```
79
+
80
+ ### Testeranto functions and types
81
+
82
+ Every testeranto test has 4-5 components:
83
+
84
+ 1. ITestSpecification
85
+ 2. ITestImplementation
86
+ 3. ITestInterface
87
+ 4. Ibdd_in
88
+ 5. Ibdd_out
89
+ 6. the "modifier" type
90
+
91
+ #### The Specification aka ITestSpecification
92
+
93
+ The Specification defines the business logic of your tests, divorced from implementation details.
94
+
95
+ ```typescript
96
+ export const RectangleTesterantoBaseTestSpecification: ITestSpecification<
97
+ I,
98
+ O
99
+ > = (Suite, Given, When, Then, Check) => {
100
+ return [
101
+ Suite.Default(
102
+ "Testing the Rectangle class",
103
+ {
104
+ test0: Given.Default(
105
+ ["https://api.github.com/repos/adamwong246/testeranto/issues/8"],
106
+ [],
107
+ [Then.getWidth(2)]
108
+ ),
109
+ test1: Given.Default(
110
+ [`Rectangles have width and height.`],
111
+ [When.setWidth(4), When.setHeight(5)],
112
+ [Then.getWidth(4), Then.getHeight(5), Then.area(20)]
113
+ ),
114
+ },
115
+
116
+ []
117
+ ),
118
+ ];
119
+ };
120
+ ```
121
+
122
+ #### The Implementation aka ITestImplementation
123
+
124
+ The Implementation defines the hooks that the Specification will call.
125
+
126
+ ```ts
127
+ export const RectangleTesterantoBaseTestImplementation: ITestImplementation<
128
+ I,
129
+ O,
130
+ M
131
+ > = {
132
+ suites: {
133
+ Default: "a default suite",
134
+ },
135
+
136
+ givens: {
137
+ Default: () => new Rectangle(2, 2),
138
+ WidthAndHeightOf: (width, height) => new Rectangle(width, height),
139
+ },
140
+
141
+ whens: {
142
+ setWidth: (width: number) => (rectangle) => {
143
+ rectangle.setWidth(width);
144
+ return rectangle;
145
+ },
146
+ setHeight: (height: number) => (rectangle) => {
147
+ rectangle.setHeight(height);
148
+ return rectangle;
149
+ },
150
+ },
151
+
152
+ thens: {
153
+ getWidth: (expectedWidth) => (rectangle) => {
154
+ assert.equal(rectangle.getWidth(), expectedWidth);
155
+ return rectangle;
156
+ },
157
+ getHeight: (expectedHeight) => (rectangle) => {
158
+ assert.equal(rectangle.getHeight(), expectedHeight);
159
+ return rectangle;
160
+ },
161
+ area: (area) => (rectangle) => {
162
+ assert.equal(rectangle.area(), area);
163
+ return rectangle;
164
+ },
165
+ circumference: (circumference: number) => (rectangle: Rectangle) => {
166
+ assert.equal(rectangle.circumference(), circumference);
167
+ return rectangle;
168
+ },
169
+ },
170
+
171
+ checks: {
172
+ Default: () => new Rectangle(2, 2),
173
+ },
174
+ };
175
+ ```
176
+
177
+ #### The Interface aka ITestInterface
178
+
179
+ The test interface is code which is NOT BDD . The interface adapts your test subject so that the BDD hooks can be applied. The interface implements "before all", "after all", "before each", and "after each", all of which are optional.
180
+
181
+ ```ts
182
+ export const RectangleTesterantoBaseInterface: ITestInterface<I> = {
183
+ beforeEach: async (subject, i) => {
184
+ return i();
185
+ },
186
+ andWhen: async function (s, whenCB, tr, utils) {
187
+ return whenCB(s, utils);
188
+ },
189
+ butThen: async (s, t, tr, pm) => {
190
+ return t(s, pm);
191
+ },
192
+ afterEach: (z) => {
193
+ return z;
194
+ },
195
+ afterAll: () => {},
196
+ assertThis: (x: any, y) => {},
197
+ };
198
+ ```
199
+
200
+ #### type I aka Ibdd_in
201
+
202
+ this type describes the "inner" shape of your BDD tests.
203
+
204
+ ```ts
205
+ export type I = Ibdd_in<
206
+ null,
207
+ null,
208
+ Rectangle,
209
+ Rectangle,
210
+ Rectangle,
211
+ (...x) => (rectangle: Rectangle, utils: IPM) => Rectangle,
212
+ (rectangle: Rectangle, utils: IPM) => Rectangle
213
+ >;
214
+ ```
215
+
216
+ #### type O aka Ibdd_out
217
+
218
+ this type describes the "outer" shape of your BDD tests.
219
+
220
+ ```ts
221
+ export type O = Ibdd_out<
222
+ // Suite
223
+ {
224
+ Default: [string];
225
+ },
226
+ // "Given" are initial states
227
+ {
228
+ Default;
229
+ WidthOfOneAndHeightOfOne;
230
+ WidthAndHeightOf: [number, number];
231
+ },
232
+ // "Whens" are steps which change the state of the test subject
233
+ {
234
+ HeightIsPubliclySetTo: [number];
235
+ WidthIsPubliclySetTo: [number];
236
+ setWidth: [number];
237
+ setHeight: [number];
238
+ },
239
+ // "Thens" are steps which make assertions of the test subject
240
+ {
241
+ AreaPlusCircumference: [number];
242
+ circumference: [number];
243
+ getWidth: [number];
244
+ getHeight: [number];
245
+ area: [number];
246
+ prototype: [];
247
+ },
248
+ // "Checks" are similar to "Givens"
249
+ {
250
+ Default;
251
+ WidthOfOneAndHeightOfOne;
252
+ WidthAndHeightOf: [number, number];
253
+ }
254
+ >;
255
+ ```
256
+
257
+ #### type M (optional)
258
+
259
+ this type describes the modifications to the shape of the "specification". It can be used to make your BDD tests DRYer but is not necessary
260
+
261
+ ```ts
262
+ export type M = {
263
+ givens: {
264
+ [K in keyof O["givens"]]: (...Iw: O["givens"][K]) => Rectangle;
265
+ };
266
+ whens: {
267
+ [K in keyof O["whens"]]: (
268
+ ...Iw: O["whens"][K]
269
+ ) => (rectangle: Rectangle, utils: PM) => Rectangle;
270
+ };
271
+ thens: {
272
+ [K in keyof O["thens"]]: (
273
+ ...Iw: O["thens"][K]
274
+ ) => (rectangle: Rectangle, utils: PM) => Rectangle;
275
+ };
276
+ };
277
+ ```
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.129.0",
4
+ "version": "0.135.0",
5
5
  "engines": {
6
6
  "node": "18.18.0"
7
7
  },
@@ -17,113 +17,29 @@
17
17
  "import": "./dist/cjs-shim.js",
18
18
  "require": "./dist/cjs-shim.js"
19
19
  },
20
- "./src/SubPackages/**/*": {
21
- "import": "./dist/module/SubPackages/",
22
- "require": "./dist/common/SubPackages/"
20
+ "./src/lib": {
21
+ "import": "./src/lib/index.ts",
22
+ "require": "./src/lib/index.ts"
23
23
  },
24
- "./src/SubPackages/react/jsx/index": {
25
- "import": "./src/SubPackages/react/jsx/index.ts",
26
- "require": "./src/SubPackages/react/jsx/index.ts"
27
- },
28
- "./src/SubPackages/react/jsx/web": {
29
- "import": "./src/SubPackages/react/jsx/web.ts",
30
- "require": "./src/SubPackages/react/jsx/web.ts"
31
- },
32
- "./src/SubPackages/react/jsx/node": {
33
- "import": "./src/SubPackages/react/jsx/node.ts",
34
- "require": "./src/SubPackages/react/jsx/node.ts"
35
- },
36
- "./src/SubPackages/react/jsx/pure": {
37
- "import": "./src/SubPackages/react/jsx/pure.ts",
38
- "require": "./src/SubPackages/react/jsx/pure.ts"
39
- },
40
- "./src/SubPackages/react/component/index": {
41
- "import": "./dist/module/SubPackages/react/component/index.js",
42
- "require": "./dist/common/SubPackages/react/component/index.js"
43
- },
44
- "./src/SubPackages/react/component/web": {
45
- "import": "./dist/module/SubPackages/react/component/web.js",
46
- "require": "./dist/common/SubPackages/react/component/web.js"
47
- },
48
- "./src/SubPackages/react/component/node": {
49
- "import": "./dist/module/SubPackages/react/component/node.js",
50
- "require": "./dist/common/SubPackages/react/component/node.js"
51
- },
52
- "./src/SubPackages/react-test-renderer/component/index.ts": {
53
- "import": "./SubPackages/react-test-renderer/component/index.ts",
54
- "require": "./SubPackages/react-test-renderer/component/index.ts"
55
- },
56
- "./src/SubPackages/react-test-renderer/component/index": {
57
- "import": "./SubPackages/react-test-renderer/component/index.ts",
58
- "require": "./SubPackages/react-test-renderer/component/index.ts"
59
- },
60
- "./src/SubPackages/react-test-renderer/component/web": {
61
- "import": "./dist/module/SubPackages/react-test-renderer/component/web.js",
62
- "require": "./dist/common/SubPackages/react-test-renderer/component/web.js"
63
- },
64
- "./src/SubPackages/react-test-renderer/component/node": {
65
- "import": "./dist/module/SubPackages/react-test-renderer/component/node.js",
66
- "require": "./dist/common/SubPackages/react-test-renderer/component/node.js"
67
- },
68
- "./src/SubPackages/react-test-renderer/jsx/index.js": {
69
- "import": "./dist/module/SubPackages/react-test-renderer/jsx/index.js",
70
- "require": "./dist/common/SubPackages/react-test-renderer/jsx/index.js"
71
- },
72
- "./src/SubPackages/react-test-renderer/jsx/web.js": {
73
- "import": "./dist/module/SubPackages/react-test-renderer/jsx/web.js",
74
- "require": "./dist/common/SubPackages/react-test-renderer/jsx/web.js"
75
- },
76
- "./src/SubPackages/react-test-renderer/jsx/node.js": {
77
- "import": "./dist/module/SubPackages/react-test-renderer/jsx/node.js",
78
- "require": "./dist/common/SubPackages/react-test-renderer/jsx/node.js"
79
- },
80
- "./src/SubPackages/react-test-renderer/jsx/pure.js": {
81
- "import": "./dist/module/SubPackages/react-test-renderer/jsx/pure.js",
82
- "require": "./dist/common/SubPackages/react-test-renderer/jsx/pure.js"
83
- },
84
- "./src/SubPackages/react-test-renderer/jsx-promised/index": {
85
- "import": "./dist/module/SubPackages/react-test-renderer/jsx-promised/index.js",
86
- "require": "./dist/common/SubPackages/react-test-renderer/jsx-promised/index.js"
87
- },
88
- "./src/SubPackages/react-test-renderer/jsx-promised/web": {
89
- "import": "./dist/module/SubPackages/react-test-renderer/jsx-promised/web.js",
90
- "require": "./dist/common/SubPackages/react-test-renderer/jsx-promised/web.js"
91
- },
92
- "./src/SubPackages/react-test-renderer/jsx-promised/node": {
93
- "import": "./dist/module/SubPackages/react-test-renderer/jsx-promised/node.js",
94
- "require": "./dist/common/SubPackages/react-test-renderer/jsx-promised/node.js"
95
- },
96
- "./src/SubPackages/react-test-renderer/fc/node": {
97
- "import": "./dist/module/SubPackages/react-test-renderer/fc/node.js",
98
- "require": "./dist/common/SubPackages/react-test-renderer/fc/node.js"
99
- },
100
- "./src/SubPackages/react-test-renderer/MemoExoticComponent/node": {
101
- "import": "./dist/module/SubPackages/react-test-renderer/MemoExoticComponent/node.js",
102
- "require": "./dist/common/SubPackages/react-test-renderer/MemoExoticComponent/node.js"
103
- },
104
- "./src/SubPackages/react-dom/jsx/web": {
105
- "import": "./dist/module/SubPackages/react-dom/jsx/web.js",
106
- "require": "./dist/common/SubPackages/react-dom/jsx/web.js"
107
- },
108
- "./src/SubPackages/react-dom/jsx/node": {
109
- "import": "./dist/module/SubPackages/react-dom/jsx/node.js",
110
- "require": "./dist/common/SubPackages/react-dom/jsx/node.js"
24
+ "./src/lib/abstractBase": {
25
+ "import": "./src/lib/abstractBase.ts",
26
+ "require": "./src/lib/abstractBase.ts"
111
27
  },
112
- "./src/SubPackages/react-dom/jsx/index": {
113
- "import": "./dist/module/SubPackages/react-dom/jsx/index.js",
114
- "require": "./dist/common/SubPackages/react-dom/jsx/index.js"
28
+ "./src/lib/Sidecar": {
29
+ "import": "./src/lib/Sidecar.ts",
30
+ "require": "./src/lib/Sidecar.ts"
115
31
  },
116
- "./src/SubPackages/react-dom/component/web": {
117
- "import": "./dist/module/SubPackages/react-dom/component/web.js",
118
- "require": "./dist/common/SubPackages/react-dom/component/web.js"
32
+ "./src/PureSidecar": {
33
+ "import": "./src/PureSidecar.ts",
34
+ "require": "./src/PureSidecar.ts"
119
35
  },
120
- "./src/SubPackages/react-dom/component/node": {
121
- "import": "./dist/module/SubPackages/react-dom/component/node.js",
122
- "require": "./dist/common/SubPackages/react-dom/component/node.js"
36
+ "./src/NodeSidecar": {
37
+ "import": "./src/NodeSidecar.ts",
38
+ "require": "./src/NodeSidecar.ts"
123
39
  },
124
- "./src/lib/abstractBase": {
125
- "import": "./src/lib/abstractBase.ts",
126
- "require": "./src/lib/abstractBase.ts"
40
+ "./src/WebSidecar": {
41
+ "import": "./src/WebSidecar.ts",
42
+ "require": "./src/WebSidecar.ts"
127
43
  },
128
44
  "./src/Types": {
129
45
  "import": "./src/Types.ts",
@@ -205,7 +121,7 @@
205
121
  "build-hard": "rm -rf dist/** && yarn bundle && yarn build && yarn type-check",
206
122
  "doit": "rm -rf node_modules && yarn install && yarn build",
207
123
  "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",
208
- "dev": "cp ./src/cjs-shim.js ./dist/cjs-shim.js && tsc -p tsconfig.module.json --watch & tsc -p tsconfig.common.json --watch & tsc -p tsconfig.types.json --watch ",
124
+ "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 ",
209
125
  "bundle": "node bundle.js",
210
126
  "build-module": "tsc -p tsconfig.module.json",
211
127
  "build-common": "tsc -p tsconfig.common.json",
@@ -249,6 +165,7 @@
249
165
  "dependencies": {
250
166
  "@bscotch/debounce-watch": "^1.1.0",
251
167
  "@humanwhocodes/config-array": "^0.13.0",
168
+ "@jest/globals": "^30.0.4",
252
169
  "@types/eslint": "^9.6.1",
253
170
  "@types/node-static": "^0.7.11",
254
171
  "@ungap/structured-clone": "^1.3.0",
@@ -262,7 +179,9 @@
262
179
  "esbuild-plugin-external-package": "^1.0.0",
263
180
  "esbuild-plugin-import-map": "^2.1.0",
264
181
  "esbuild-plugin-markdown": "^0.0.3",
182
+ "esbuild-plugin-polyfill-node": "^0.3.0",
265
183
  "eslint": "^9.23.0",
184
+ "eslint-formatter-compact": "^8.40.0",
266
185
  "eslint-plugin-import": "^2.31.0",
267
186
  "eslint-plugin-react": "^7.31.11",
268
187
  "eslint-plugin-react-hooks": "^5.1.0",
@@ -0,0 +1,171 @@
1
+ import { ITTestResourceConfiguration } from "./lib";
2
+
3
+ import { IPM, ITestCheckCallback } from "./lib/types";
4
+ import {
5
+ GivenSpecification,
6
+ WhenSpecification,
7
+ ThenSpecification,
8
+ TestWhenImplementation,
9
+ Modify,
10
+ TestSuiteImplementation,
11
+ TestGivenImplementation,
12
+ TestThenImplementation,
13
+ TestCheckImplementation,
14
+ TestSuiteShape,
15
+ TestGivenShape,
16
+ TestWhenShape,
17
+ TestThenShape,
18
+ TestCheckShape,
19
+ SuiteSpecification,
20
+ } from "./Types";
21
+
22
+ /////////////////////////////////////////////////////////////////////////////////////////
23
+
24
+ export type ITestInterface<
25
+ I extends Ibdd_in<
26
+ unknown,
27
+ unknown,
28
+ unknown,
29
+ unknown,
30
+ unknown,
31
+ unknown,
32
+ unknown
33
+ >
34
+ > = {
35
+ assertThis: (x: I["then"]) => any;
36
+ andWhen: (
37
+ store: I["istore"],
38
+ whenCB: I["when"],
39
+ testResource: ITTestResourceConfiguration,
40
+ pm: IPM
41
+ ) => Promise<I["istore"]>;
42
+ butThen: (
43
+ store: I["istore"],
44
+ thenCB: I["then"],
45
+ testResource: ITTestResourceConfiguration,
46
+ pm: IPM
47
+ ) => Promise<I["iselection"]>;
48
+ afterAll: (store: I["istore"], pm: IPM) => any;
49
+ afterEach: (store: I["istore"], key: string, pm: IPM) => Promise<unknown>;
50
+ beforeAll: (
51
+ input: I["iinput"],
52
+ testResource: ITTestResourceConfiguration,
53
+ pm: IPM
54
+ ) => Promise<I["isubject"]>;
55
+ beforeEach: (
56
+ subject: I["isubject"],
57
+ initializer: (c?) => I["given"],
58
+ testResource: ITTestResourceConfiguration,
59
+ initialValues,
60
+ pm: IPM
61
+ ) => Promise<I["istore"]>;
62
+ };
63
+
64
+ /////////////////////////////////////////////////////////////////////////////////////////
65
+
66
+ export type ITestSpecification<
67
+ I extends Ibdd_in<
68
+ unknown,
69
+ unknown,
70
+ unknown,
71
+ unknown,
72
+ unknown,
73
+ unknown,
74
+ unknown
75
+ >,
76
+ O extends Ibdd_out<
77
+ TestSuiteShape,
78
+ TestGivenShape,
79
+ TestWhenShape,
80
+ TestThenShape,
81
+ TestCheckShape
82
+ >
83
+ > = (
84
+ Suite: SuiteSpecification<I, O>,
85
+ Given: GivenSpecification<I, O>,
86
+ When: WhenSpecification<I, O>,
87
+ Then: ThenSpecification<I, O>,
88
+ Check: ITestCheckCallback<I, O>
89
+ ) => any[];
90
+
91
+ /////////////////////////////////////////////////////////////////////////////////////////
92
+
93
+ export type ITestImplementation<
94
+ I extends Ibdd_in<
95
+ unknown,
96
+ unknown,
97
+ unknown,
98
+ unknown,
99
+ unknown,
100
+ unknown,
101
+ unknown
102
+ >,
103
+ O extends Ibdd_out<
104
+ TestSuiteShape,
105
+ TestGivenShape,
106
+ TestWhenShape,
107
+ TestThenShape,
108
+ TestCheckShape
109
+ >,
110
+ modifier = {
111
+ whens: TestWhenImplementation<I, O>;
112
+ }
113
+ > = Modify<
114
+ {
115
+ suites: TestSuiteImplementation<O>;
116
+ givens: TestGivenImplementation<I, O>;
117
+ whens: TestWhenImplementation<I, O>;
118
+ thens: TestThenImplementation<I, O>;
119
+ checks: TestCheckImplementation<I, O>;
120
+ },
121
+ modifier
122
+ >;
123
+
124
+ /////////////////////////////////////////////////////////////////////////////////////////
125
+
126
+ export type Ibdd_out<
127
+ ISuites extends TestSuiteShape = TestSuiteShape,
128
+ IGivens extends TestGivenShape = TestGivenShape,
129
+ IWhens extends TestWhenShape = TestWhenShape,
130
+ IThens extends TestThenShape = TestThenShape,
131
+ IChecks extends TestCheckShape = TestCheckShape
132
+ > = {
133
+ suites: ISuites;
134
+ givens: IGivens;
135
+ whens: IWhens;
136
+ thens: IThens;
137
+ checks: IChecks;
138
+ };
139
+
140
+ /////////////////////////////////////////////////////////////////////////////////////////
141
+
142
+ export type Ibdd_in<
143
+ IInput, // Type of initial test input
144
+ ISubject, // Type of object being tested
145
+ IStore, // Type for storing test state between steps
146
+ ISelection, // Type for selecting state for assertions
147
+ IGiven, // Type for Given step functions
148
+ IWhen, // Type for When step functions
149
+ IThen // Type for Then step functions
150
+ > = {
151
+ /** Initial input required to start tests */
152
+ iinput: IInput;
153
+
154
+ /** The subject being tested (class, function, etc) */
155
+ isubject: ISubject;
156
+
157
+ /** Complete test state storage */
158
+ istore: IStore;
159
+
160
+ /** Selected portion of state for assertions */
161
+ iselection: ISelection;
162
+
163
+ /** Function type for Given steps */
164
+ given: IGiven;
165
+
166
+ /** Function type for When steps */
167
+ when: IWhen;
168
+
169
+ /** Function type for Then steps */
170
+ then: IThen;
171
+ };
package/src/Init.ts CHANGED
@@ -1,5 +1,5 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
1
2
  import fs from "fs";
2
- import esbuild from "esbuild";
3
3
 
4
4
  export default async () => {
5
5
  [
@@ -11,6 +11,7 @@ export default async () => {
11
11
  `testeranto/reports`,
12
12
  `testeranto/reports/`,
13
13
  `testeranto/features/`,
14
+ `testeranto/externalTests/`,
14
15
  ].forEach((f) => {
15
16
  try {
16
17
  fs.mkdirSync(`${process.cwd()}/${f}`);
@@ -34,10 +35,10 @@ export default async () => {
34
35
  `testeranto/Project.css`
35
36
  );
36
37
 
37
- fs.copyFileSync(
38
- `node_modules/testeranto/dist/prebuild/ReportClient.css`,
39
- `testeranto/ReportClient.css`
40
- );
38
+ // fs.copyFileSync(
39
+ // `node_modules/testeranto/dist/prebuild/ReportClient.css`,
40
+ // `testeranto/ReportClient.css`
41
+ // );
41
42
 
42
43
  fs.copyFileSync(
43
44
  `node_modules/testeranto/dist/prebuild/TestReport.js`,