testeranto 0.134.0 → 0.140.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 (221) hide show
  1. package/.aider.chat.history.md +14577 -0
  2. package/.aider.input.history +566 -0
  3. package/.aider.tags.cache.v3/{8d/fa/12860238755bcfab9af8a93c52ab.val → bd/91/b71f967fd074cf4b757081b429b7.val} +0 -0
  4. package/.aider.tags.cache.v3/cache.db +0 -0
  5. package/.aider.tags.cache.v3/{18/8b/7dfca822129dad10b5cacadf7728.val → fb/96/b0f91c7e75e08fc5a6907633cf99.val} +0 -0
  6. package/README.md +29 -423
  7. package/bundle.js +1 -1
  8. package/dist/common/src/CoreTypes.js +2 -0
  9. package/dist/common/src/Init.js +4 -1
  10. package/dist/common/src/Node.js +1 -1
  11. package/dist/common/src/PM/PM_WithEslintAndTsc.js +10 -8
  12. package/dist/common/src/PM/__tests__/nodeSidecar.testeranto.js +2 -2
  13. package/dist/common/src/PM/main.js +12 -7
  14. package/dist/common/src/PM/node.js +10 -3
  15. package/dist/common/src/Web.js +2 -2
  16. package/dist/common/src/build.js +7 -72
  17. package/dist/common/src/defaultConfig.js +0 -1
  18. package/dist/common/src/esbuildConfigs/eslint-formatter-testeranto.js +16 -1
  19. package/dist/common/src/esbuildConfigs/node.js +2 -16
  20. package/dist/common/src/esbuildConfigs/pure.js +2 -16
  21. package/dist/common/src/esbuildConfigs/rebuildPlugin.js +22 -0
  22. package/dist/common/src/esbuildConfigs/web.js +2 -16
  23. package/dist/common/src/lib/abstractBase.js +8 -1
  24. package/dist/common/src/lib/basebuilder.js +4 -0
  25. package/dist/common/src/lib/classBuilder.js +2 -3
  26. package/dist/common/src/lib/core.js +2 -0
  27. package/dist/common/src/run.js +1 -1
  28. package/dist/common/src/utils/buildTemplates.js +88 -0
  29. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  30. package/dist/module/src/Init.js +4 -1
  31. package/dist/module/src/Node.js +1 -1
  32. package/dist/module/src/PM/PM_WithEslintAndTsc.js +10 -8
  33. package/dist/module/src/PM/__tests__/nodeSidecar.testeranto.js +2 -2
  34. package/dist/module/src/PM/main.js +12 -7
  35. package/dist/module/src/PM/node.js +10 -3
  36. package/dist/module/src/Project.js +41 -47
  37. package/dist/module/src/TestReport.js +34 -31
  38. package/dist/module/src/Web.js +2 -2
  39. package/dist/module/src/build.js +7 -72
  40. package/dist/module/src/defaultConfig.js +0 -1
  41. package/dist/module/src/esbuildConfigs/eslint-formatter-testeranto.js +16 -1
  42. package/dist/module/src/esbuildConfigs/node.js +2 -16
  43. package/dist/module/src/esbuildConfigs/pure.js +2 -16
  44. package/dist/module/src/esbuildConfigs/rebuildPlugin.js +17 -0
  45. package/dist/module/src/esbuildConfigs/web.js +2 -16
  46. package/dist/module/src/lib/abstractBase.js +8 -1
  47. package/dist/module/src/lib/basebuilder.js +4 -0
  48. package/dist/module/src/lib/classBuilder.js +2 -3
  49. package/dist/module/src/lib/core.js +2 -0
  50. package/dist/module/src/run.js +1 -1
  51. package/dist/module/src/utils/buildTemplates.js +82 -0
  52. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  53. package/dist/prebuild/Project.js +77 -29
  54. package/dist/prebuild/TestReport.js +51 -32
  55. package/dist/prebuild/build.mjs +132 -131
  56. package/dist/prebuild/esbuildConfigs/eslint-formatter-testeranto.mjs +14 -1
  57. package/dist/prebuild/init-docs.mjs +0 -4
  58. package/dist/prebuild/run.mjs +50 -31
  59. package/dist/tsconfig.tsbuildinfo +1 -0
  60. package/dist/types/src/CoreTypes.d.ts +53 -0
  61. package/dist/types/src/Node.d.ts +3 -3
  62. package/dist/types/src/PM/__tests__/nodeSidecar.testeranto.d.ts +2 -4
  63. package/dist/types/src/PM/__tests__/pureSidecar.testeranto.d.ts +2 -4
  64. package/dist/types/src/PM/__tests__/webSidecar.testeranto.d.ts +2 -4
  65. package/dist/types/src/PM/index.d.ts +1 -1
  66. package/dist/types/src/PM/nodeSidecar.d.ts +2 -2
  67. package/dist/types/src/Pure.d.ts +3 -3
  68. package/dist/types/src/Types.d.ts +21 -61
  69. package/dist/types/src/Web.d.ts +3 -3
  70. package/dist/types/src/esbuildConfigs/rebuildPlugin.d.ts +6 -0
  71. package/dist/types/src/lib/abstractBase.d.ts +10 -16
  72. package/dist/types/src/lib/basebuilder.d.ts +3 -3
  73. package/dist/types/src/lib/classBuilder.d.ts +2 -2
  74. package/dist/types/src/lib/core.d.ts +2 -2
  75. package/dist/types/src/lib/index.d.ts +7 -6
  76. package/dist/types/src/lib/types.d.ts +8 -8
  77. package/dist/types/src/mothership/test.d.ts +2 -2
  78. package/dist/types/src/utils/buildTemplates.d.ts +3 -0
  79. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  80. package/docs/index.md +567 -0
  81. package/docs/style.md +116 -0
  82. package/docs.html +537 -0
  83. package/example.css +351 -0
  84. package/fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-Black.ttf +0 -0
  85. package/fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-Bold.ttf +0 -0
  86. package/fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-ExtraBold.ttf +0 -0
  87. package/fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-Light.ttf +0 -0
  88. package/fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-Medium.ttf +0 -0
  89. package/fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-Regular.ttf +0 -0
  90. package/fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-Thin.ttf +0 -0
  91. package/fonts/M_PLUS_Rounded_1c/OFL.txt +91 -0
  92. package/index.html +245 -24
  93. package/logo.svg +72 -0
  94. package/package.json +11 -2
  95. package/scripts/compile-docs.js +89 -0
  96. package/src/CoreTypes.ts +152 -0
  97. package/src/Init.ts +4 -4
  98. package/src/Node.ts +13 -13
  99. package/src/PM/PM_WithEslintAndTsc.ts +46 -15
  100. package/src/PM/__tests__/nodeSidecar.testeranto.ts +13 -20
  101. package/src/PM/__tests__/pureSidecar.testeranto.ts +8 -15
  102. package/src/PM/__tests__/webSidecar.testeranto.ts +8 -15
  103. package/src/PM/index.ts +1 -1
  104. package/src/PM/main.ts +17 -16
  105. package/src/PM/node.ts +10 -10
  106. package/src/PM/nodeSidecar.ts +2 -2
  107. package/src/PM/pure.ts +0 -4
  108. package/src/Project.tsx +289 -292
  109. package/src/Pure.ts +13 -14
  110. package/src/PureSidecar.ts +1 -0
  111. package/src/TestReport.tsx +179 -165
  112. package/src/Types.ts +52 -151
  113. package/src/Web.ts +15 -14
  114. package/src/build.ts +22 -72
  115. package/src/defaultConfig.ts +2 -1
  116. package/src/esbuildConfigs/eslint-formatter-testeranto.ts +17 -1
  117. package/src/esbuildConfigs/node.ts +2 -18
  118. package/src/esbuildConfigs/pure.ts +2 -18
  119. package/src/esbuildConfigs/rebuildPlugin.ts +23 -0
  120. package/src/esbuildConfigs/web.ts +2 -18
  121. package/src/lib/BaseSuite.test.ts +457 -0
  122. package/src/lib/BaseSuite.ts +155 -0
  123. package/src/lib/abstractBase.ts +13 -163
  124. package/src/lib/basebuilder.ts +11 -11
  125. package/src/lib/classBuilder.ts +13 -7
  126. package/src/lib/core.ts +13 -17
  127. package/src/lib/index.ts +21 -24
  128. package/src/lib/types.ts +23 -9
  129. package/src/mothership/test.ts +13 -10
  130. package/src/run.ts +1 -1
  131. package/src/style.css +1 -1
  132. package/src/utils/buildTemplates.ts +88 -0
  133. package/style.css +496 -0
  134. package/testeranto/bundles/node/{mothership/chunk-V2EQEXU2.mjs → allTests/chunk-4PJCC2XT.mjs} +66 -59
  135. package/testeranto/bundles/node/allTests/metafile.json +4151 -0
  136. package/testeranto/bundles/node/allTests/src/PM/__tests__/nodeSidecar.testeranto.mjs +187 -0
  137. package/testeranto/bundles/node/{mothership → allTests}/src/PM/__tests__/pureSidecar.testeranto.mjs +1 -1
  138. package/testeranto/bundles/node/{mothership → allTests}/src/PM/__tests__/webSidecar.testeranto.mjs +1 -1
  139. package/testeranto/bundles/node/allTests/src/lib/BaseSuite.test.mjs +305 -0
  140. package/testeranto/bundles/node/{mothership → allTests}/src/mothership/test.mjs +1 -1
  141. package/testeranto/dev.html +29 -0
  142. package/testeranto/index.html +28 -27
  143. package/testeranto/reports/allTests/config.json +57 -0
  144. package/testeranto/reports/{mothership/index.html → allTests/dev.html} +2 -0
  145. package/testeranto/reports/allTests/index.html +26 -0
  146. package/testeranto/reports/{mothership/src/PM/__tests__/sidecar.testeranto/node/index.html → allTests/src/PM/__tests__/nodeSidecar.testeranto/node/dev.html} +4 -3
  147. package/testeranto/reports/allTests/src/PM/__tests__/nodeSidecar.testeranto/node/index.html +21 -0
  148. package/testeranto/reports/allTests/src/PM/__tests__/nodeSidecar.testeranto/node/lint_errors.json +80 -0
  149. package/testeranto/reports/allTests/src/PM/__tests__/nodeSidecar.testeranto/node/message +1 -0
  150. package/testeranto/reports/allTests/src/PM/__tests__/nodeSidecar.testeranto/node/prompt.txt +8 -0
  151. package/testeranto/reports/allTests/src/PM/__tests__/nodeSidecar.testeranto/node/type_errors.txt +28 -0
  152. package/testeranto/reports/{mothership/src/PM/__tests__/webSidecar.testeranto/node/index.html → allTests/src/PM/__tests__/pureSidecar.testeranto/node/dev.html} +4 -3
  153. package/testeranto/reports/allTests/src/PM/__tests__/pureSidecar.testeranto/node/index.html +21 -0
  154. package/testeranto/reports/{mothership → allTests}/src/PM/__tests__/pureSidecar.testeranto/node/lint_errors.json +12 -12
  155. package/testeranto/reports/allTests/src/PM/__tests__/pureSidecar.testeranto/node/message +1 -0
  156. package/testeranto/reports/allTests/src/PM/__tests__/pureSidecar.testeranto/node/prompt.txt +8 -0
  157. package/testeranto/reports/allTests/src/PM/__tests__/pureSidecar.testeranto/node/type_errors.txt +32 -0
  158. package/testeranto/reports/{mothership/src/PM/__tests__/nodeSidecar.testeranto/node/index.html → allTests/src/PM/__tests__/webSidecar.testeranto/node/dev.html} +4 -3
  159. package/testeranto/reports/allTests/src/PM/__tests__/webSidecar.testeranto/node/index.html +21 -0
  160. package/testeranto/reports/{mothership → allTests}/src/PM/__tests__/webSidecar.testeranto/node/lint_errors.json +12 -12
  161. package/testeranto/reports/allTests/src/PM/__tests__/webSidecar.testeranto/node/message +1 -0
  162. package/testeranto/reports/allTests/src/PM/__tests__/webSidecar.testeranto/node/prompt.txt +8 -0
  163. package/testeranto/reports/allTests/src/PM/__tests__/webSidecar.testeranto/node/type_errors.txt +32 -0
  164. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/console_log.txt +35 -0
  165. package/testeranto/reports/{mothership/src/PM/__tests__/pureSidecar.testeranto/node/index.html → allTests/src/lib/BaseSuite.test/node/dev.html} +4 -3
  166. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/index.html +21 -0
  167. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/lint_errors.json +608 -0
  168. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/message +1 -0
  169. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/prompt.txt +7 -0
  170. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/type_errors.txt +68 -0
  171. package/testeranto/reports/allTests/src/mothership/test/node/dev.html +21 -0
  172. package/testeranto/reports/allTests/src/mothership/test/node/index.html +21 -0
  173. package/testeranto/reports/allTests/src/mothership/test/node/message +1 -0
  174. package/testeranto/reports/allTests/src/mothership/test/node/prompt.txt +8 -0
  175. package/testeranto/reports/allTests/src/mothership/test/node/type_errors.txt +24 -0
  176. package/testeranto/reports/allTests/summary.json +37 -0
  177. package/testeranto.config.ts +16 -26
  178. package/tsc.log +66 -69
  179. package/.aider.tags.cache.v3/cache.db-shm +0 -0
  180. package/.aider.tags.cache.v3/cache.db-wal +0 -0
  181. package/dist/common/src/SP__Polygon.test.js +0 -10
  182. package/dist/module/src/ReportClient.js +0 -132
  183. package/dist/module/src/SP__Polygon.test.js +0 -8
  184. package/dist/prebuild/ReportClient.js +0 -3
  185. package/src/ReportClient.tsx +0 -164
  186. package/src/SP__Polygon.test.ts +0 -13
  187. package/testeranto/ReportClient.css +0 -11367
  188. package/testeranto/ReportClient.js +0 -24641
  189. package/testeranto/bundles/node/mothership/metafile.json +0 -389
  190. package/testeranto/bundles/node/mothership/src/PM/__tests__/nodeSidecar.testeranto.mjs +0 -1219
  191. package/testeranto/bundles/node/mothership/src/PM/__tests__/sidecar.testeranto.mjs +0 -1199
  192. package/testeranto/reports/mothership/config.json +0 -25
  193. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/console_log.txt +0 -0
  194. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/lint_errors.json +0 -1564
  195. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/prompt.txt +0 -22
  196. package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/type_errors.txt +0 -35
  197. package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/prompt.txt +0 -12
  198. package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/type_errors.txt +0 -26
  199. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/bdd_errors.txt +0 -1
  200. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/console_log.txt +0 -0
  201. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/lint_errors.json +0 -1564
  202. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/log.txt +0 -0
  203. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/prompt.txt +0 -22
  204. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/tests.json +0 -56
  205. package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/type_errors.txt +0 -29
  206. package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/prompt.txt +0 -12
  207. package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/type_errors.txt +0 -26
  208. package/testeranto/reports/mothership/src/mothership/test/node/bdd_errors.txt +0 -1
  209. package/testeranto/reports/mothership/src/mothership/test/node/console_log.txt +0 -4
  210. package/testeranto/reports/mothership/src/mothership/test/node/index.html +0 -20
  211. package/testeranto/reports/mothership/src/mothership/test/node/log.txt +0 -0
  212. package/testeranto/reports/mothership/src/mothership/test/node/prompt.txt +0 -12
  213. package/testeranto/reports/mothership/src/mothership/test/node/tests.json +0 -24
  214. package/testeranto/reports/mothership/src/mothership/test/node/type_errors.txt +0 -18
  215. package/testeranto/reports/mothership/summary.json +0 -9
  216. /package/dist/{types/src/SP__Polygon.test.d.ts → module/src/CoreTypes.js} +0 -0
  217. /package/testeranto/bundles/node/{mothership → allTests}/chunk-PG6KUKNP.mjs +0 -0
  218. /package/testeranto/bundles/pure/{mothership → allTests}/metafile.json +0 -0
  219. /package/testeranto/bundles/web/{mothership → allTests}/metafile.json +0 -0
  220. /package/testeranto/reports/{mothership/src/PM/__tests__/nodeSidecar.testeranto → allTests/src/lib/BaseSuite.test}/node/log.txt +0 -0
  221. /package/testeranto/reports/{mothership → allTests}/src/mothership/test/node/lint_errors.json +0 -0
package/style.css ADDED
@@ -0,0 +1,496 @@
1
+ body {
2
+ font-size: 120%;
3
+ }
4
+
5
+ td {
6
+ min-width: 7rem;
7
+ }
8
+
9
+ tr:last-child td {
10
+ border-bottom: none;
11
+ }
12
+
13
+ @font-face {
14
+ font-family: "M PLUS Rounded 1c";
15
+ src: url("./fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-Thin.ttf") format("truetype");
16
+ font-weight: 100;
17
+ font-style: normal;
18
+ }
19
+
20
+ @font-face {
21
+ font-family: "M PLUS Rounded 1c";
22
+ src: url("./fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-Light.ttf") format("truetype");
23
+ font-weight: 300;
24
+ font-style: normal;
25
+ }
26
+
27
+ @font-face {
28
+ font-family: "M PLUS Rounded 1c";
29
+ src: url("./fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-Regular.ttf") format("truetype");
30
+ font-weight: 400;
31
+ font-style: normal;
32
+ }
33
+
34
+ @font-face {
35
+ font-family: "M PLUS Rounded 1c";
36
+ src: url("./fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-Medium.ttf") format("truetype");
37
+ font-weight: 500;
38
+ font-style: normal;
39
+ }
40
+
41
+ @font-face {
42
+ font-family: "M PLUS Rounded 1c";
43
+ src: url("./fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-Bold.ttf") format("truetype");
44
+ font-weight: 700;
45
+ font-style: normal;
46
+ }
47
+
48
+ @font-face {
49
+ font-family: "M PLUS Rounded 1c";
50
+ src: url("./fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-ExtraBold.ttf") format("truetype");
51
+ font-weight: 800;
52
+ font-style: normal;
53
+ }
54
+
55
+ @font-face {
56
+ font-family: "M PLUS Rounded 1c";
57
+ src: url("./fonts/M_PLUS_Rounded_1c/MPLUSRounded1c-Black.ttf") format("truetype");
58
+ font-weight: 900;
59
+ font-style: normal;
60
+ }
61
+
62
+ :root {
63
+ --primary: #ff6b6b;
64
+ /* Coral Blush */
65
+ --secondary: #4ecdc4;
66
+ /* Mint Teal */
67
+ --yellow: #e6b422;
68
+ /* Muted Gold */
69
+ --green: #00b4a0;
70
+ /* Deep Teal */
71
+ --light: #292f36;
72
+ /* Midnight Ink */
73
+ --dark: #f1faee;
74
+ /* Pearl Mist */
75
+ --content-bg: rgba(30, 42, 58, 0.7);
76
+
77
+ /* Gradient Colors */
78
+ --bg-start: #0a0f1f;
79
+ /* Deep Cosmos */
80
+ --bg-mid: #1a2b50;
81
+ /* Twilight Navy */
82
+ --bg-sunrise: rgba(176, 125, 133, 1);
83
+ /* Muted Rose */
84
+ --bg-sunrise2: #b07d85;
85
+ /* Dusty Rose */
86
+ --bg-end: #7fb3d5;
87
+ /* Sky Whisper */
88
+
89
+ --semi-trans-bg: #292f3649;
90
+ }
91
+
92
+ a {
93
+ color: var(--bg-end);
94
+ text-decoration: none;
95
+ /* border-bottom: 1px solid var(--dark); */
96
+ transition: all 0.3s ease;
97
+ }
98
+
99
+ a:visited {
100
+ color: var(--bg-sunrise2);
101
+ }
102
+
103
+ a:hover {
104
+ /* color: var(--secondary); */
105
+ /* border-bottom-style: solid; */
106
+ color: linear-gradient(90deg, var(--primary), var(--secondary));
107
+ transform: scaleX(0);
108
+ transition: transform 0.3s ease;
109
+ transform-origin: center;
110
+ }
111
+
112
+ a {
113
+ position: relative;
114
+ text-decoration: none;
115
+ }
116
+
117
+ a::after {
118
+ content: "";
119
+ position: absolute;
120
+ bottom: -3px;
121
+ left: 0;
122
+ width: 100%;
123
+ height: 3px;
124
+ background: linear-gradient(90deg, var(--primary), var(--secondary));
125
+ transform: scaleX(0);
126
+ transition: transform 0.3s ease;
127
+ transform-origin: center;
128
+ }
129
+
130
+ a:hover::after {
131
+ transform: scaleX(1);
132
+ }
133
+
134
+ p,
135
+ h1,
136
+ h2,
137
+ h3,
138
+ h4,
139
+ h5,
140
+ h6,
141
+ li {
142
+ text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.1);
143
+ }
144
+
145
+ pre.mermaid {
146
+ background-color: var(--light);
147
+ width: 95vw;
148
+ }
149
+
150
+ pre {
151
+ white-space: pre-wrap;
152
+ /* Preserve whitespace and allow wrapping */
153
+ word-wrap: break-word;
154
+ /* Break long words to wrap */
155
+ }
156
+
157
+ h1 {
158
+ font-size: 2.5rem;
159
+ margin-bottom: 1.5rem;
160
+ }
161
+
162
+ h3 {
163
+ font-size: 1rem;
164
+ }
165
+
166
+ p,
167
+ li {
168
+ max-width: 40rem;
169
+ line-height: 180%;
170
+ }
171
+
172
+ h1,
173
+ h2,
174
+ h3,
175
+ h4,
176
+ h5,
177
+ h6 {
178
+ max-width: 60rem;
179
+ margin-top: 1rem;
180
+ margin-left: 1rem;
181
+ margin-right: 1rem;
182
+ margin-bottom: 0.5rem;
183
+ text-align: center;
184
+ }
185
+
186
+ code,
187
+ pre,
188
+ p,
189
+ table {
190
+ width: 40rem;
191
+ /* min-width: 60rem; */
192
+ /* max-width: 60vw; */
193
+ }
194
+
195
+ table,
196
+ pre,
197
+ p,
198
+ pre,
199
+ #container pre[class*="language-"] {
200
+ margin-left: 2rem;
201
+ margin-right: 2rem;
202
+ margin-top: 0.5rem;
203
+ margin-bottom: 0.5rem;
204
+ }
205
+
206
+ table {
207
+ background-color: var(--semi-trans-bg);
208
+ border: 2px solid rgba(255, 255, 255, 0.352);
209
+ border-radius: 4px;
210
+ }
211
+
212
+ td {
213
+ padding: 0.5rem;
214
+ border-bottom: 2px solid rgba(255, 255, 255, 0.352);
215
+ }
216
+
217
+ body {
218
+ font-family: "M PLUS Rounded 1c", sans-serif;
219
+ color: var(--dark);
220
+ line-height: 1.6;
221
+ margin: 0;
222
+ padding: 0;
223
+ min-height: 100vh;
224
+ position: relative;
225
+ }
226
+
227
+ body::before {
228
+ content: "";
229
+ position: absolute;
230
+ top: 0;
231
+ left: 0;
232
+ right: 0;
233
+ height: 100%;
234
+ z-index: -1;
235
+ background: linear-gradient(to bottom,
236
+ var(--bg-start) 0%,
237
+ var(--bg-mid) 35%,
238
+ var(--bg-sunrise2) 50%,
239
+ var(--bg-sunrise) 75%,
240
+ var(--bg-end) 85%);
241
+ will-change: transform;
242
+ transform: translateZ(0);
243
+ backface-visibility: hidden;
244
+ perspective: 1000px;
245
+ }
246
+
247
+ body {
248
+ position: relative;
249
+ z-index: 1;
250
+ background: transparent;
251
+ }
252
+
253
+
254
+
255
+ body {
256
+ display: flex;
257
+ flex-direction: column;
258
+ align-items: center;
259
+ padding: 0 1rem;
260
+ transition: background-position 0.5s ease-out;
261
+ }
262
+
263
+ #container {
264
+ display: flex;
265
+ justify-content: center;
266
+ align-items: flex-start;
267
+ /* CHANGED */
268
+ /*align-self: center;*/
269
+ flex-direction: column;
270
+ flex-wrap: wrap;
271
+ /* max-width: 50%; */
272
+ }
273
+
274
+ h1:first-child {
275
+ margin-top: 0;
276
+ padding-top: 0.5em;
277
+ }
278
+
279
+ code {
280
+ background-color: var(--light);
281
+ padding: 0.2em 0.4em;
282
+ border-radius: 4px;
283
+ font-family: "JetBrains Mono", monospace;
284
+ }
285
+
286
+ /* Prism.js overrides using official color scheme */
287
+ pre[class*="language-"] {
288
+ background-color: var(--semi-trans-bg);
289
+ border: 2px solid rgba(255, 255, 255, 0.352);
290
+ border-radius: 8px;
291
+ margin: 1em 0;
292
+ overflow: auto;
293
+ position: relative;
294
+ }
295
+
296
+ pre code {
297
+ background-color: var(--semi-trans-bg) !important;
298
+ padding: 0 !important;
299
+ }
300
+
301
+ .token.comment,
302
+ .token.prolog,
303
+ .token.doctype,
304
+ .token.cdata {
305
+ color: var(--bg-sunrise2);
306
+ font-style: italic;
307
+ }
308
+
309
+ .token.punctuation {
310
+ color: var(--dark);
311
+ opacity: 0.7;
312
+ }
313
+
314
+ .token.property,
315
+ .token.tag,
316
+ .token.boolean,
317
+ .token.number,
318
+ .token.constant,
319
+ .token.symbol,
320
+ .token.deleted {
321
+ color: var(--yellow);
322
+ }
323
+
324
+ .token.selector,
325
+ .token.attr-name,
326
+ .token.string,
327
+ .token.char,
328
+ .token.builtin,
329
+ .token.inserted {
330
+ color: var(--green);
331
+ }
332
+
333
+ .token.operator,
334
+ .token.entity,
335
+ .token.url,
336
+ .language-css .token.string,
337
+ .style .token.string {
338
+ color: var(--bg-end);
339
+ }
340
+
341
+ .token.atrule,
342
+ .token.attr-value,
343
+ .token.keyword {
344
+ color: var(--bg-sunrise);
345
+ }
346
+
347
+ .token.function,
348
+ .token.class-name {
349
+ color: var(--bg-end);
350
+ }
351
+
352
+ .token.regex,
353
+ .token.important,
354
+ .token.variable {
355
+ color: var(--yellow);
356
+ }
357
+
358
+ /* Line numbers */
359
+ .line-numbers .line-numbers-rows {
360
+ border-right: 1px solid rgba(255, 255, 255, 0.2);
361
+ }
362
+
363
+ .line-numbers-rows>span:before {
364
+ color: var(--dark);
365
+ }
366
+
367
+ pre {
368
+ background-color: var(--dark);
369
+ color: white;
370
+ padding: 1em;
371
+ border-radius: 8px;
372
+
373
+ overflow-x: auto;
374
+ }
375
+
376
+ button,
377
+ .button {
378
+ background-color: var(--primary);
379
+ color: white;
380
+ border: none;
381
+ padding: 0.5em 1em;
382
+ border-radius: 20px;
383
+ cursor: pointer;
384
+ font-family: monospace, "Courier New";
385
+ box-shadow: 3px 3px 0px var(--dark);
386
+ transition: all 0.2s ease;
387
+ }
388
+
389
+ button:hover,
390
+ .button:hover {
391
+ transform: translate(2px, 2px);
392
+ box-shadow: 1px 1px 0px var(--dark);
393
+ }
394
+
395
+ .logo {
396
+ max-width: 150px;
397
+ filter: drop-shadow(3px 3px 0px rgba(0, 0, 0, 0.1));
398
+ transition: all 0.3s ease;
399
+ }
400
+
401
+ .logo:hover {
402
+ transform: rotate(5deg) scale(1.05);
403
+ }
404
+
405
+ @keyframes float {
406
+ 0% {
407
+ transform: translateY(0px);
408
+ }
409
+
410
+ 50% {
411
+ transform: translateY(-10px);
412
+ }
413
+
414
+ 100% {
415
+ transform: translateY(0px);
416
+ }
417
+ }
418
+
419
+ .floating {
420
+ animation: float 3s ease-in-out infinite;
421
+ }
422
+
423
+ .logo {
424
+ width: 200px;
425
+ position: fixed;
426
+ top: 10px;
427
+ right: 10px;
428
+ z-index: 100;
429
+ transition: all 0.3s ease;
430
+ filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.3));
431
+ animation: pulse 2s infinite alternate;
432
+ }
433
+
434
+ .logo:hover {
435
+ transform: scale(1.1) rotate(5deg);
436
+ filter: drop-shadow(5px 5px 8px rgba(0, 0, 0, 0.4));
437
+ }
438
+
439
+ @keyframes pulse {
440
+ 0% {
441
+ transform: scale(1);
442
+ }
443
+
444
+ 100% {
445
+ transform: scale(1.05);
446
+ }
447
+ }
448
+
449
+ .mermaid {
450
+ /* margin: 2rem 0; */
451
+ /* background: white; */
452
+ padding: 1rem;
453
+ border-radius: 8px;
454
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
455
+ }
456
+
457
+ /* Floating animation for key elements */
458
+ @keyframes float {
459
+ 0% {
460
+ transform: translateY(0px);
461
+ }
462
+
463
+ 50% {
464
+ transform: translateY(-10px);
465
+ }
466
+
467
+ 100% {
468
+ transform: translateY(0px);
469
+ }
470
+ }
471
+
472
+ h1,
473
+ h2,
474
+ h3 {
475
+ position: relative;
476
+ }
477
+
478
+ /* Glow effect for code blocks */
479
+ pre {
480
+ background-color: #292f3649;
481
+ border: 2px solid rgba(255, 255, 255, 0.352);
482
+ border-radius: 4px;
483
+ padding: 1.25em;
484
+ overflow-x: auto;
485
+ color: var(--dark);
486
+ line-height: 1.5;
487
+ /* margin: 1.5rem 0; */
488
+ /* box-shadow: 0 4px 6px rgb(255, 255, 255, 0.5); */
489
+ }
490
+
491
+ pre code {
492
+ background-color: transparent;
493
+ padding: 0;
494
+ border-radius: 0;
495
+ font-size: 0.95em;
496
+ }
@@ -32,32 +32,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
32
32
  mod
33
33
  ));
34
34
 
35
- // src/lib/index.ts
36
- var BaseTestInterface = {
37
- beforeAll: async (s) => s,
38
- beforeEach: async function(subject, initialValues, x, testResource, pm) {
39
- return subject;
40
- },
41
- afterEach: async (s) => s,
42
- afterAll: (store) => void 0,
43
- butThen: async (store, thenCb) => {
44
- return thenCb(store);
45
- },
46
- andWhen: async (store, whenCB, testResource, pm) => {
47
- await whenCB(store, testResource, pm);
48
- },
49
- assertThis: (x) => x
50
- };
51
- var DefaultTestInterface = (p) => {
52
- return {
53
- ...BaseTestInterface,
54
- ...p
55
- };
56
- };
57
- var defaultTestResourceRequirement = {
58
- ports: 0
59
- };
60
-
61
35
  // src/lib/pmProxy.ts
62
36
  var prxy = function(pm, mappings) {
63
37
  return new Proxy(pm, {
@@ -216,7 +190,7 @@ var afterAllProxy = (pm, suite) => prxy(pm, [
216
190
  ]
217
191
  ]);
218
192
 
219
- // src/lib/abstractBase.ts
193
+ // src/lib/BaseSuite.ts
220
194
  var BaseSuite = class {
221
195
  constructor(name, index, givens = {}, checks = []) {
222
196
  this.name = name;
@@ -265,21 +239,21 @@ var BaseSuite = class {
265
239
  );
266
240
  for (const [gKey, g] of Object.entries(this.givens)) {
267
241
  const giver = this.givens[gKey];
268
- try {
269
- this.store = await giver.give(
270
- subject,
271
- gKey,
272
- testResourceConfiguration,
273
- this.assertThat,
274
- suiteArtifactory,
275
- tLog,
276
- pm,
277
- sNdx
278
- );
279
- } catch (e) {
242
+ this.store = await giver.give(
243
+ subject,
244
+ gKey,
245
+ testResourceConfiguration,
246
+ this.assertThat,
247
+ suiteArtifactory,
248
+ tLog,
249
+ pm,
250
+ sNdx
251
+ ).catch((e) => {
280
252
  this.failed = true;
281
253
  this.fails = this.fails + 1;
282
- }
254
+ console.error("Given error:", e);
255
+ throw e;
256
+ });
283
257
  }
284
258
  for (const [ndx, thater] of this.checks.entries()) {
285
259
  await thater.check(
@@ -304,6 +278,8 @@ var BaseSuite = class {
304
278
  return this;
305
279
  }
306
280
  };
281
+
282
+ // src/lib/abstractBase.ts
307
283
  var BaseGiven = class {
308
284
  constructor(name, features, whens, thens, givenCB, initialValues) {
309
285
  this.name = name;
@@ -320,7 +296,12 @@ var BaseGiven = class {
320
296
  return {
321
297
  key: this.key,
322
298
  name: this.name,
323
- whens: this.whens.map((w) => w.toObj()),
299
+ whens: this.whens.map((w) => {
300
+ if (w && w.toObj)
301
+ return w.toObj();
302
+ console.error("w is not as expected!", w);
303
+ return {};
304
+ }),
324
305
  thens: this.thens.map((t) => t.toObj()),
325
306
  error: this.error ? [this.error, this.error.stack] : null,
326
307
  failed: this.failed,
@@ -374,7 +355,7 @@ var BaseGiven = class {
374
355
  pm,
375
356
  `suite-${suiteNdx}/given-${key}/then-${thenNdx}`
376
357
  );
377
- return tester(t);
358
+ tester(t);
378
359
  }
379
360
  } catch (e) {
380
361
  this.failed = true;
@@ -495,6 +476,37 @@ var BaseCheck = class {
495
476
  }
496
477
  };
497
478
 
479
+ // src/lib/index.ts
480
+ var BaseTestInterface = () => ({
481
+ beforeAll: async (s) => s,
482
+ beforeEach: async function(subject, initialValues, x, testResource, pm) {
483
+ return subject;
484
+ },
485
+ afterEach: async (s) => s,
486
+ afterAll: (store) => void 0,
487
+ butThen: async (store, thenCb) => {
488
+ return thenCb(store);
489
+ },
490
+ andWhen: async (store, whenCB, testResource, pm) => {
491
+ try {
492
+ await whenCB(store, testResource, pm);
493
+ } catch (error) {
494
+ console.error("Error in andWhen:", error);
495
+ throw error;
496
+ }
497
+ },
498
+ assertThis: (x) => x
499
+ });
500
+ var DefaultTestInterface = (p) => {
501
+ return {
502
+ ...BaseTestInterface,
503
+ ...p
504
+ };
505
+ };
506
+ var defaultTestResourceRequirement = {
507
+ ports: 0
508
+ };
509
+
498
510
  // src/lib/basebuilder.ts
499
511
  var BaseBuilder = class {
500
512
  constructor(input, suitesOverrides, givenOverides, whenOverides, thenOverides, checkOverides, testResourceRequirement, testSpecification) {
@@ -627,17 +639,19 @@ var ClassBuilder = class extends BaseBuilder {
627
639
  );
628
640
  const classyWhens = Object.entries(testImplementation.whens).reduce(
629
641
  (a, [key, whEn]) => {
630
- a[key] = (payload) => {
642
+ a[key] = (...payload) => {
631
643
  return new whenKlasser.prototype.constructor(
632
644
  `${whEn.name}: ${payload && payload.toString()}`,
633
- whEn(payload)
645
+ whEn(...payload)
634
646
  );
635
647
  };
636
648
  return a;
637
649
  },
638
650
  {}
639
651
  );
640
- const classyThens = Object.entries(testImplementation.thens).reduce(
652
+ const classyThens = Object.entries(
653
+ testImplementation.thens
654
+ ).reduce(
641
655
  (a, [key, thEn]) => {
642
656
  a[key] = (expected, ...x) => {
643
657
  return new thenKlasser.prototype.constructor(
@@ -942,17 +956,6 @@ var PM_Node = class extends PM {
942
956
  if (error) {
943
957
  console.error(`\u2757\uFE0FtestArtiFactory failed`, targetDir, error);
944
958
  }
945
- fs.writeFileSync(
946
- path.resolve(
947
- targetDir.split("/").slice(0, -1).join("/"),
948
- "manifest"
949
- ),
950
- fPaths.join(`
951
- `),
952
- {
953
- encoding: "utf-8"
954
- }
955
- );
956
959
  if (Buffer.isBuffer(value)) {
957
960
  fs.writeFileSync(fPath, value, "binary");
958
961
  res();
@@ -1014,13 +1017,12 @@ var testeranto = async (input, testSpecification, testImplementation, testInterf
1014
1017
  try {
1015
1018
  ipcfile = process.argv[3];
1016
1019
  const f = await t.receiveTestResourceConfig(process.argv[2]);
1017
- console.error("goodbye node error", f.fails);
1020
+ console.error("goodbye node with failures", f.fails);
1018
1021
  process.exit(f.fails);
1019
1022
  } catch (e) {
1020
- console.error("goodbye node error", e);
1023
+ console.error("goodbye node with caught error", e);
1021
1024
  process.exit(-1);
1022
1025
  }
1023
- return t;
1024
1026
  };
1025
1027
  var Node_default = testeranto;
1026
1028
 
@@ -1028,5 +1030,10 @@ export {
1028
1030
  __require,
1029
1031
  __commonJS,
1030
1032
  __toESM,
1033
+ BaseSuite,
1034
+ BaseGiven,
1035
+ BaseWhen,
1036
+ BaseThen,
1037
+ BaseCheck,
1031
1038
  Node_default
1032
1039
  };