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
@@ -29,7 +29,7 @@ export declare abstract class PM {
29
29
  abstract typeInto(selector: string, value: string): any;
30
30
  abstract waitForSelector(p: any, sel: string): any;
31
31
  abstract write(uid: number, contents: string): Promise<boolean>;
32
- abstract writeFileSync(f: string, c: string, t: string): Promise<boolean>;
32
+ abstract writeFileSync(f: string, c: string): Promise<boolean>;
33
33
  abstract launchSideCar(n: number): Promise<[number, ITTestResourceConfiguration]>;
34
34
  abstract stopSideCar(n: number): Promise<any>;
35
35
  }
@@ -1,10 +1,10 @@
1
1
  import net from "net";
2
- import { ITTestResourceConfiguration } from "../lib";
2
+ import { ITLog, ITTestResourceConfiguration } from "../lib";
3
3
  import { PM_sidecar } from "./sidecar";
4
+ import { PassThrough } from "stream";
4
5
  export declare class PM_Node_Sidecar extends PM_sidecar {
5
6
  testResourceConfiguration: ITTestResourceConfiguration;
6
7
  client: net.Socket;
7
- mockListener?: jest.Mock;
8
8
  constructor(t: ITTestResourceConfiguration);
9
9
  start(stopper: () => any): Promise<void>;
10
10
  stop(): Promise<void>;
@@ -1,9 +1,9 @@
1
+ import { Ibdd_in_any, Ibdd_out, ITestImplementation, ITestInterface, ITestSpecification } from "./CoreTypes.js";
1
2
  import Testeranto from "./lib/core.js";
2
3
  import { ITTestResourceRequest } from "./lib/index.js";
3
- import type { INodeTestInterface, IT, ITestImplementation, ITestInterface, ITestSpecification, OT } from "./Types.js";
4
- export declare class PureTesteranto<I extends IT, O extends OT, M> extends Testeranto<I, O, M> {
4
+ export declare class PureTesteranto<I extends Ibdd_in_any, O extends Ibdd_out, M> extends Testeranto<I, O, M> {
5
5
  constructor(input: I["iinput"], testSpecification: ITestSpecification<I, O>, testImplementation: ITestImplementation<I, O, M>, testResourceRequirement: ITTestResourceRequest, testInterface: Partial<ITestInterface<I>>);
6
6
  receiveTestResourceConfig(partialTestResource: string): Promise<import("./lib/index.js").IFinalResults>;
7
7
  }
8
- declare const _default: <I extends IT, O extends OT, M>(input: I["iinput"], testSpecification: ITestSpecification<I, O>, testImplementation: ITestImplementation<I, O, M>, testInterface: Partial<INodeTestInterface<I>>, testResourceRequirement?: ITTestResourceRequest) => Promise<Testeranto<I, O, M>>;
8
+ declare const _default: <I extends Ibdd_in_any, O extends Ibdd_out, M>(input: I["iinput"], testSpecification: ITestSpecification<I, O>, testImplementation: ITestImplementation<I, O, M>, testInterface: Partial<INodeTestInterface<I>>, testResourceRequirement?: ITTestResourceRequest) => Promise<Testeranto<I, O, M>>;
9
9
  export default _default;
@@ -1,9 +1,18 @@
1
1
  import { Plugin } from "esbuild";
2
2
  import { ITTestResourceConfiguration } from "./lib/index.js";
3
3
  import { PM } from "./PM/index.js";
4
- import { IT, OT } from "../dist/types/src/Types.js";
5
- import { IGivens, BaseCheck, BaseSuite, BaseWhen, BaseThen, BaseGiven } from "./lib/abstractBase.js";
6
- import { ITestCheckCallback } from "./lib/types.js";
4
+ import { BaseWhen, BaseThen, BaseGiven, BaseCheck, BaseSuite, IGivens } from "./lib/abstractBase.js";
5
+ import { Ibdd_in_any, Ibdd_out_any } from "./CoreTypes.js";
6
+ export type ISummary = Record<string, {
7
+ runTimeError: string;
8
+ typeErrors: number;
9
+ staticErrors: number;
10
+ prompt: string;
11
+ failingFeatures: object;
12
+ }>;
13
+ export type SuiteSpecification<I extends Ibdd_in_any, O extends Ibdd_out_any> = {
14
+ [K in keyof O["suites"]]: (name: string, givens: IGivens<I>, checks: BaseCheck<I>[]) => BaseSuite<I, O>;
15
+ };
7
16
  export type TestSummary = {
8
17
  testName: string;
9
18
  errors?: {
@@ -49,82 +58,36 @@ export type ProjectConfig = {
49
58
  minify?: boolean;
50
59
  debug?: boolean;
51
60
  };
52
- export type SuiteSpecification<I extends IT, O extends OT> = {
53
- [K in keyof O["suites"]]: (name: string, givens: IGivens<I>, checks: BaseCheck<I>[]) => BaseSuite<I, O>;
54
- };
55
- export type GivenSpecification<I extends IT, O extends OT> = {
61
+ export type GivenSpecification<I extends Ibdd_in_any, O extends Ibdd_out_any> = {
56
62
  [K in keyof O["givens"]]: (features: string[], whens: BaseWhen<I>[], thens: BaseThen<I>[], ...xtrasB: O["givens"][K]) => BaseGiven<I>;
57
63
  };
58
- export type WhenSpecification<I extends IT, O extends OT> = {
64
+ export type WhenSpecification<I extends Ibdd_in_any, O extends Ibdd_out_any> = {
59
65
  [K in keyof O["whens"]]: (...xtrasC: O["whens"][K]) => BaseWhen<I>;
60
66
  };
61
- export type ThenSpecification<I extends IT, O extends OT> = {
67
+ export type ThenSpecification<I extends Ibdd_in_any, O extends Ibdd_out_any> = {
62
68
  [K in keyof O["thens"]]: (...xtrasD: O["thens"][K]) => BaseThen<I>;
63
69
  };
64
- export type ITestSpecification<I extends IT, O extends OT> = (Suite: SuiteSpecification<I, O>, Given: GivenSpecification<I, O>, When: WhenSpecification<I, O>, Then: ThenSpecification<I, O>, Check: ITestCheckCallback<I, O>) => any[];
65
- export type TestSuiteImplementation<O extends OT> = {
70
+ export type TestSuiteImplementation<O extends Ibdd_out_any> = {
66
71
  [K in keyof O["suites"]]: string;
67
72
  };
68
- export type TestGivenImplementation<I extends IT, O extends OT> = {
73
+ export type TestGivenImplementation<I extends Ibdd_in_any, O extends Ibdd_out_any> = {
69
74
  [K in keyof O["givens"]]: (...Ig: O["givens"][K]) => I["given"];
70
75
  };
71
- export type TestWhenImplementation<I extends IT, O extends OT> = {
76
+ export type TestWhenImplementation<I extends Ibdd_in_any, O extends Ibdd_out_any> = {
72
77
  [K in keyof O["whens"]]: (...Iw: O["whens"][K]) => (zel: I["iselection"], tr: ITTestResourceConfiguration, utils: PM) => Promise<I["when"]>;
73
78
  };
74
- export type TestThenImplementation<I extends IT, O extends OT> = {
79
+ export type TestThenImplementation<I extends Ibdd_in_any, O extends Ibdd_out_any> = {
75
80
  [K in keyof O["thens"]]: (...It: O["thens"][K]) => (ssel: I["iselection"], utils: PM) => I["then"];
76
81
  };
77
- export type TestCheckImplementation<I extends IT, O extends OT> = {
82
+ export type TestCheckImplementation<I extends Ibdd_in_any, O extends Ibdd_out_any> = {
78
83
  [K in keyof O["checks"]]: (...Ic: O["checks"][K]) => I["given"];
79
84
  };
80
- export type ITestImplementation<I extends IT, O extends OT, modifier = {
81
- whens: TestWhenImplementation<I, O>;
82
- }> = Modify<{
83
- suites: TestSuiteImplementation<O>;
84
- givens: TestGivenImplementation<I, O>;
85
- whens: TestWhenImplementation<I, O>;
86
- thens: TestThenImplementation<I, O>;
87
- checks: TestCheckImplementation<I, O>;
88
- }, modifier>;
89
85
  export type Modify<T, R> = Omit<T, keyof R> & R;
90
86
  export type TestSuiteShape = Record<string, any>;
91
87
  export type TestGivenShape = Record<string, any>;
92
88
  export type TestWhenShape = Record<string, any>;
93
89
  export type TestThenShape = Record<string, any>;
94
90
  export type TestCheckShape = Record<string, any>;
95
- export type Ibdd_out<ISuites extends TestSuiteShape = TestSuiteShape, IGivens extends TestGivenShape = TestGivenShape, IWhens extends TestWhenShape = TestWhenShape, IThens extends TestThenShape = TestThenShape, IChecks extends TestCheckShape = TestCheckShape> = {
96
- suites: ISuites;
97
- givens: IGivens;
98
- whens: IWhens;
99
- thens: IThens;
100
- checks: IChecks;
101
- };
102
- /**
103
- * Defines the input shape for BDD test definitions.
104
- * This is the core type that structures all test operations.
105
- */
106
- export type Ibdd_in<IInput, // Type of initial test input
107
- ISubject, // Type of object being tested
108
- IStore, // Type for storing test state between steps
109
- ISelection, // Type for selecting state for assertions
110
- IGiven, // Type for Given step functions
111
- IWhen, // Type for When step functions
112
- IThen> = {
113
- /** Initial input required to start tests */
114
- iinput: IInput;
115
- /** The subject being tested (class, function, etc) */
116
- isubject: ISubject;
117
- /** Complete test state storage */
118
- istore: IStore;
119
- /** Selected portion of state for assertions */
120
- iselection: ISelection;
121
- /** Function type for Given steps */
122
- given: IGiven;
123
- /** Function type for When steps */
124
- when: IWhen;
125
- /** Function type for Then steps */
126
- then: IThen;
127
- };
128
91
  export type IPluginFactory = (register?: (entrypoint: string, sources: string[]) => any, entrypoints?: string[]) => Plugin;
129
92
  export type IRunTime = `node` | `web` | "pure" | `spawn`;
130
93
  export type ITestTypes = [string, IRunTime, {
@@ -134,10 +97,6 @@ export type ITestconfig = {
134
97
  clearScreen: boolean;
135
98
  debugger: boolean;
136
99
  externals: string[];
137
- externalTests: Record<string, {
138
- watch: string[];
139
- exec: string;
140
- }>;
141
100
  featureIngestor: (s: string) => Promise<string>;
142
101
  importPlugins: IPluginFactory[];
143
102
  minify: boolean;
@@ -152,4 +111,5 @@ export type IBuiltConfig = {
152
111
  } & ITestconfig;
153
112
  export type IProject = {
154
113
  projects: Record<string, ITestconfig>;
114
+ reportDomain: string;
155
115
  };
@@ -1,9 +1,9 @@
1
- import type { IT, ITestImplementation, ITestInterface, ITestSpecification, IWebTestInterface, OT } from "./Types";
1
+ import { ITestSpecification, ITestImplementation, ITestInterface, Ibdd_in_any, Ibdd_out } from "./CoreTypes";
2
2
  import Testeranto from "./lib/core.js";
3
3
  import { ITTestResourceRequest } from "./lib/index.js";
4
- export declare class WebTesteranto<I extends IT, O extends OT, M> extends Testeranto<I, O, M> {
4
+ export declare class WebTesteranto<I extends Ibdd_in_any, O extends Ibdd_out, M> extends Testeranto<I, O, M> {
5
5
  constructor(input: I["iinput"], testSpecification: ITestSpecification<I, O>, testImplementation: ITestImplementation<I, O, M>, testResourceRequirement: ITTestResourceRequest, testInterface: Partial<ITestInterface<I>>);
6
6
  receiveTestResourceConfig(partialTestResource: any): Promise<import("./lib/index.js").IFinalResults>;
7
7
  }
8
- declare const _default: <I extends IT, O extends OT, M>(input: I["iinput"], testSpecification: ITestSpecification<I, O>, testImplementation: ITestImplementation<I, O, M>, testInterface: Partial<IWebTestInterface<I>>, testResourceRequirement?: ITTestResourceRequest) => Promise<Testeranto<I, O, M>>;
8
+ declare const _default: <I extends Ibdd_in_any, O extends Ibdd_out, M>(input: I["iinput"], testSpecification: ITestSpecification<I, O>, testImplementation: ITestImplementation<I, O, M>, testInterface: Partial<IWebTestInterface<I>>, testResourceRequirement?: ITTestResourceRequest) => Promise<Testeranto<I, O, M>>;
9
9
  export default _default;
@@ -0,0 +1,6 @@
1
+ import { IRunTime } from "../lib";
2
+ declare const _default: (r: IRunTime) => {
3
+ name: string;
4
+ setup: (build: any) => void;
5
+ };
6
+ export default _default;
@@ -1,8 +1,8 @@
1
- import type { IT, OT } from "../Types.js";
2
- import { ITTestResourceConfiguration, ITestArtifactory, ITLog } from ".";
1
+ import { ITestArtifactory, ITLog, ITTestResourceConfiguration } from ".";
3
2
  import { IPM } from "./types.js";
4
- export type IGivens<I extends IT> = Record<string, BaseGiven<I>>;
5
- export declare abstract class BaseSuite<I extends IT = IT, O extends OT = OT> {
3
+ import type { Ibdd_in_any, Ibdd_out_any } from "../CoreTypes";
4
+ export type IGivens<I extends Ibdd_in_any> = Record<string, BaseGiven<I>>;
5
+ export declare abstract class BaseSuite<I extends Ibdd_in_any, O extends Ibdd_out_any> {
6
6
  name: string;
7
7
  givens: IGivens<I>;
8
8
  checks: BaseCheck<I>[];
@@ -18,10 +18,7 @@ export declare abstract class BaseSuite<I extends IT = IT, O extends OT = OT> {
18
18
  givens: {
19
19
  key: string;
20
20
  name: string;
21
- whens: {
22
- name: string;
23
- error: string;
24
- }[];
21
+ whens: {}[];
25
22
  thens: {
26
23
  name: string;
27
24
  error: boolean;
@@ -40,7 +37,7 @@ export declare abstract class BaseSuite<I extends IT = IT, O extends OT = OT> {
40
37
  afterAll(store: I["istore"], artifactory: ITestArtifactory, pm: IPM): I["istore"];
41
38
  run(input: I["iinput"], testResourceConfiguration: ITTestResourceConfiguration, artifactory: (fPath: string, value: unknown) => void, tLog: (...string: any[]) => void, pm: IPM): Promise<BaseSuite<I, O>>;
42
39
  }
43
- export declare abstract class BaseGiven<I extends IT = IT> {
40
+ export declare abstract class BaseGiven<I extends Ibdd_in_any> {
44
41
  name: string;
45
42
  features: string[];
46
43
  whens: BaseWhen<I>[];
@@ -58,10 +55,7 @@ export declare abstract class BaseGiven<I extends IT = IT> {
58
55
  toObj(): {
59
56
  key: string;
60
57
  name: string;
61
- whens: {
62
- name: string;
63
- error: string;
64
- }[];
58
+ whens: {}[];
65
59
  thens: {
66
60
  name: string;
67
61
  error: boolean;
@@ -75,7 +69,7 @@ export declare abstract class BaseGiven<I extends IT = IT> {
75
69
  abstract uberCatcher(e: any): any;
76
70
  give(subject: I["isubject"], key: string, testResourceConfiguration: ITTestResourceConfiguration, tester: (t: Awaited<I["then"]> | undefined) => boolean, artifactory: ITestArtifactory, tLog: ITLog, pm: IPM, suiteNdx: number): Promise<I["istore"]>;
77
71
  }
78
- export declare abstract class BaseWhen<I extends IT> {
72
+ export declare abstract class BaseWhen<I extends Ibdd_in_any> {
79
73
  name: string;
80
74
  whenCB: (x: I["iselection"]) => I["then"];
81
75
  error: Error;
@@ -87,7 +81,7 @@ export declare abstract class BaseWhen<I extends IT> {
87
81
  };
88
82
  test(store: I["istore"], testResourceConfiguration: any, tLog: ITLog, pm: IPM, filepath: string): Promise<any>;
89
83
  }
90
- export declare abstract class BaseThen<I extends IT> {
84
+ export declare abstract class BaseThen<I extends Ibdd_in_any> {
91
85
  name: string;
92
86
  thenCB: (storeState: I["iselection"]) => Promise<I["then"]>;
93
87
  error: boolean;
@@ -100,7 +94,7 @@ export declare abstract class BaseThen<I extends IT> {
100
94
  test(store: I["istore"], testResourceConfiguration: any, tLog: ITLog, pm: IPM, filepath: string): Promise<I["then"] | undefined>;
101
95
  check(): void;
102
96
  }
103
- export declare abstract class BaseCheck<I extends IT = IT> {
97
+ export declare abstract class BaseCheck<I extends Ibdd_in_any> {
104
98
  key: string;
105
99
  name: string;
106
100
  features: string[];
@@ -1,8 +1,8 @@
1
- import { IT, ITestSpecification, OT } from "../Types.js";
2
- import { ITTestResourceRequest, ITestJob } from ".";
1
+ import type { Ibdd_in_any, Ibdd_out_any, ITestSpecification } from "../CoreTypes";
2
+ import { ITestJob, ITTestResourceRequest } from ".";
3
3
  import { ISuiteKlasser, IGivenKlasser, IWhenKlasser, IThenKlasser, ICheckKlasser, IPM } from "./types.js";
4
4
  import { BaseCheck, BaseWhen, BaseThen, BaseGiven } from "./abstractBase.js";
5
- export declare abstract class BaseBuilder<I extends IT, O extends OT, SuiteExtensions, GivenExtensions, WhenExtensions, ThenExtensions, CheckExtensions> {
5
+ export declare abstract class BaseBuilder<I extends Ibdd_in_any, O extends Ibdd_out_any, SuiteExtensions, GivenExtensions, WhenExtensions, ThenExtensions, CheckExtensions> {
6
6
  specs: any;
7
7
  assertThis: (t: I["then"]) => {};
8
8
  testResourceRequirement: ITTestResourceRequest;
@@ -1,9 +1,9 @@
1
- import { IT, ITestImplementation, ITestSpecification, OT } from "../Types.js";
1
+ import type { Ibdd_in_any, Ibdd_out_any, ITestImplementation, ITestSpecification } from "../CoreTypes";
2
2
  import { BaseBuilder } from "./basebuilder.js";
3
3
  import { ISuiteKlasser, IGivenKlasser, IWhenKlasser, IThenKlasser, ICheckKlasser } from "./types.js";
4
4
  import { ITTestResourceRequest } from "./index.js";
5
5
  type IExtenstions = Record<string, unknown>;
6
- export declare abstract class ClassBuilder<I extends IT = IT, O extends OT = OT, M = unknown> extends BaseBuilder<I, O, IExtenstions, IExtenstions, IExtenstions, IExtenstions, IExtenstions> {
6
+ export declare abstract class ClassBuilder<I extends Ibdd_in_any = Ibdd_in_any, O extends Ibdd_out_any = Ibdd_out_any, M = unknown> extends BaseBuilder<I, O, IExtenstions, IExtenstions, IExtenstions, IExtenstions, IExtenstions> {
7
7
  constructor(testImplementation: ITestImplementation<I, O, M> & {
8
8
  suites: Record<string, any>;
9
9
  givens: Record<string, any>;
@@ -1,7 +1,7 @@
1
- import { ITestSpecification, ITestImplementation, ITestInterface, IT, OT } from "../Types.js";
2
1
  import { IFinalResults, ITTestResourceRequest } from "./index.js";
3
2
  import { ClassBuilder } from "./classBuilder.js";
4
- export default abstract class Testeranto<I extends IT, O extends OT, M> extends ClassBuilder<I, O, M> {
3
+ import type { Ibdd_in_any, Ibdd_out_any, ITestImplementation, ITestInterface, ITestSpecification } from "../CoreTypes";
4
+ export default abstract class Testeranto<I extends Ibdd_in_any, O extends Ibdd_out_any, M> extends ClassBuilder<I, O, M> {
5
5
  constructor(input: I["iinput"], testSpecification: ITestSpecification<I, O>, testImplementation: ITestImplementation<I, O, M> & {
6
6
  suites: Record<string, any>;
7
7
  givens: Record<string, any>;
@@ -1,10 +1,11 @@
1
1
  import { PM_Pure } from "../PM/pure.js";
2
2
  import { PM_Node } from "../PM/node.js";
3
3
  import { PM_Web } from "../PM/web.js";
4
- import { Ibdd_in, ITestInterface, ITestconfig, IBuiltConfig, IRunTime, ITestTypes, IT, OT } from "../Types.js";
4
+ import { ITestconfig, IBuiltConfig, IRunTime, ITestTypes } from "../Types.js";
5
5
  import { IGivens, BaseCheck, BaseSuite } from "./abstractBase.js";
6
- export declare const BaseTestInterface: <T extends IT>() => ITestInterface<T>;
7
- export declare const DefaultTestInterface: <T extends IT>(p: Partial<ITestInterface<T>>) => ITestInterface<T>;
6
+ import type { ITestInterface, Ibdd_in_any, Ibdd_out_any } from "../CoreTypes.js";
7
+ export declare const BaseTestInterface: <T extends Ibdd_in_any>() => ITestInterface<T>;
8
+ export declare const DefaultTestInterface: <T extends Ibdd_in_any>(p: Partial<ITestInterface<T>>) => ITestInterface<T>;
8
9
  export type ITTestResourceConfiguration = {
9
10
  name: string;
10
11
  fs: string;
@@ -33,14 +34,14 @@ export type ITestArtificer = (key: string, data: any) => void;
33
34
  type ITest = {
34
35
  toObj(): object;
35
36
  name: string;
36
- givens: IGivens<Ibdd_in<unknown, unknown, unknown, unknown, unknown, unknown, unknown>>;
37
- checks: BaseCheck<IT>[];
37
+ givens: IGivens<Ibdd_in_any>;
38
+ checks: BaseCheck<Ibdd_in_any>[];
38
39
  testResourceConfiguration: ITTestResourceConfiguration;
39
40
  };
40
41
  export type ITestJob = {
41
42
  toObj(): object;
42
43
  test: ITest;
43
- runner: (x: ITTestResourceConfiguration, t: ITLog) => Promise<BaseSuite<IT, OT>>;
44
+ runner: (x: ITTestResourceConfiguration, t: ITLog) => Promise<BaseSuite<Ibdd_in_any, Ibdd_out_any>>;
44
45
  testResourceRequirement: ITTestResourceRequirement;
45
46
  receiveTestResourceConfig: (pm: PM_Node | PM_Web | PM_Pure) => IFinalResults;
46
47
  };
@@ -1,10 +1,10 @@
1
+ import type { Ibdd_in_any, Ibdd_out_any } from "../CoreTypes";
1
2
  import { PM_Node } from "../PM/node";
2
3
  import { PM_Pure } from "../PM/pure";
3
4
  import { PM_Web } from "../PM/web";
4
- import type { IT, OT } from "../Types";
5
5
  import { IGivens, BaseCheck, BaseSuite, BaseGiven, BaseWhen, BaseThen } from "./abstractBase";
6
6
  export type IPM = PM_Node | PM_Web | PM_Pure;
7
- export type TestPhase = 'beforeAll' | 'beforeEach' | 'test' | 'afterEach' | 'afterAll';
7
+ export type TestPhase = "beforeAll" | "beforeEach" | "test" | "afterEach" | "afterAll";
8
8
  export type TestError = {
9
9
  phase: TestPhase;
10
10
  error: Error;
@@ -14,11 +14,11 @@ export type TestError = {
14
14
  additionalInfo?: Record<string, unknown>;
15
15
  isRetryable?: boolean;
16
16
  };
17
- export type ITestCheckCallback<I extends IT, O extends OT> = {
17
+ export type ITestCheckCallback<I extends Ibdd_in_any, O extends Ibdd_out_any> = {
18
18
  [K in keyof O["checks"]]: (name: string, features: string[], checkCallback: (store: I["istore"], pm: IPM) => Promise<O["checks"][K]>, ...xtrasA: O["checks"][K]) => BaseCheck<I>;
19
19
  };
20
- export type ISuiteKlasser<I extends IT, O extends OT> = (name: string, index: number, givens: IGivens<I>, checks: BaseCheck<I>[]) => BaseSuite<I, O>;
21
- export type IGivenKlasser<I extends IT> = (name: any, features: any, whens: any, thens: any, givenCB: any) => BaseGiven<I>;
22
- export type IWhenKlasser<I extends IT> = (s: any, o: any) => BaseWhen<I>;
23
- export type IThenKlasser<I extends IT> = (s: any, o: any) => BaseThen<I>;
24
- export type ICheckKlasser<I extends IT> = (n: any, f: any, cb: any, w: any, t: any) => BaseCheck<I>;
20
+ export type ISuiteKlasser<I extends Ibdd_in_any, O extends Ibdd_out_any> = (name: string, index: number, givens: IGivens<I>, checks: BaseCheck<I>[]) => BaseSuite<I, O>;
21
+ export type IGivenKlasser<I extends Ibdd_in_any> = (name: any, features: any, whens: any, thens: any, givenCB: any) => BaseGiven<I>;
22
+ export type IWhenKlasser<I extends Ibdd_in_any> = (s: any, o: any) => BaseWhen<I>;
23
+ export type IThenKlasser<I extends Ibdd_in_any> = (s: any, o: any) => BaseThen<I>;
24
+ export type ICheckKlasser<I extends Ibdd_in_any> = (n: any, f: any, cb: any, w: any, t: any) => BaseCheck<I>;
@@ -1,4 +1,4 @@
1
- import { Ibdd_out, Ibdd_in } from "../Types";
1
+ import { Ibdd_in, Ibdd_out, Ibdd_in_any } from "../CoreTypes";
2
2
  import type { Express } from "express";
3
3
  type I = Ibdd_in<(port: number) => Express, (port: number) => Express, any, any, any, any, any>;
4
4
  type O = Ibdd_out<{
@@ -15,7 +15,7 @@ type O = Ibdd_out<{
15
15
  }, {
16
16
  AnEmptyState: any;
17
17
  }>;
18
- declare const _default: Promise<import("../lib/core").default<IT, O, {
18
+ declare const _default: Promise<import("../lib/core").default<Ibdd_in_any, O, {
19
19
  whens: import("../Types").TestWhenImplementation<I, O>;
20
20
  }>>;
21
21
  export default _default;
@@ -0,0 +1,3 @@
1
+ export declare const testReportPage: (packageName: string, domain: string) => string;
2
+ export declare const testsReportPage: (packageName: string, domain: string, projects: any) => string;
3
+ export declare const idkPage: (testName: string, domain: string) => string;