testeranto 0.219.14 → 0.219.15

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 (237) hide show
  1. package/package.json +1 -1
  2. package/src/testeranto.ts +1 -1
  3. package/dist/common/allTestsUtils.js +0 -17
  4. package/dist/common/package.json +0 -3
  5. package/dist/common/scripts/build-example.js +0 -105
  6. package/dist/common/src/Init.js +0 -38
  7. package/dist/common/src/Types.js +0 -63
  8. package/dist/common/src/esbuildConfigs/consoleDetectorPlugin.js +0 -38
  9. package/dist/common/src/esbuildConfigs/eslint-formatter-testeranto.js +0 -21
  10. package/dist/common/src/esbuildConfigs/featuresPlugin.js +0 -39
  11. package/dist/common/src/esbuildConfigs/index.js +0 -22
  12. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +0 -30
  13. package/dist/common/src/esbuildConfigs/nativeImportDetectorPlugin.js +0 -24
  14. package/dist/common/src/esbuildConfigs/rebuildPlugin.js +0 -19
  15. package/dist/common/src/init-docs.js +0 -9
  16. package/dist/common/src/lib/tiposkripto/BaseGiven.js +0 -96
  17. package/dist/common/src/lib/tiposkripto/BaseSuite.js +0 -134
  18. package/dist/common/src/lib/tiposkripto/BaseThen.js +0 -65
  19. package/dist/common/src/lib/tiposkripto/BaseTiposkripto.js +0 -193
  20. package/dist/common/src/lib/tiposkripto/BaseWhen.js +0 -46
  21. package/dist/common/src/lib/tiposkripto/CoreTypes.js +0 -2
  22. package/dist/common/src/lib/tiposkripto/Node.js +0 -40
  23. package/dist/common/src/lib/tiposkripto/Tiposkripto.js +0 -49
  24. package/dist/common/src/lib/tiposkripto/Types.js +0 -2
  25. package/dist/common/src/lib/tiposkripto/Web.js +0 -70
  26. package/dist/common/src/lib/tiposkripto/abstractBase.test/MockGiven.js +0 -22
  27. package/dist/common/src/lib/tiposkripto/abstractBase.test/MockThen.js +0 -16
  28. package/dist/common/src/lib/tiposkripto/abstractBase.test/MockWhen.js +0 -18
  29. package/dist/common/src/lib/tiposkripto/abstractBase.test/adapter.js +0 -24
  30. package/dist/common/src/lib/tiposkripto/abstractBase.test/implementation.js +0 -38
  31. package/dist/common/src/lib/tiposkripto/abstractBase.test/index.js +0 -17
  32. package/dist/common/src/lib/tiposkripto/abstractBase.test/specification.js +0 -19
  33. package/dist/common/src/lib/tiposkripto/abstractBase.test/types.js +0 -2
  34. package/dist/common/src/lib/tiposkripto/index.js +0 -29
  35. package/dist/common/src/runtimes.js +0 -4
  36. package/dist/common/src/server/aider/configParser.js +0 -124
  37. package/dist/common/src/server/aider/docker.js +0 -30
  38. package/dist/common/src/server/getRunnables.js +0 -36
  39. package/dist/common/src/server/htmlTemplate.js +0 -44
  40. package/dist/common/src/server/nodeVersion.js +0 -5
  41. package/dist/common/src/server/runtimes/common.js +0 -136
  42. package/dist/common/src/server/runtimes/golang/docker.js +0 -62
  43. package/dist/common/src/server/runtimes/java/docker.js +0 -46
  44. package/dist/common/src/server/runtimes/node/docker.js +0 -42
  45. package/dist/common/src/server/runtimes/node/esbuild.js +0 -40
  46. package/dist/common/src/server/runtimes/node/node.js +0 -75
  47. package/dist/common/src/server/runtimes/python/docker.js +0 -31
  48. package/dist/common/src/server/runtimes/ruby/docker.js +0 -34
  49. package/dist/common/src/server/runtimes/rust/docker.js +0 -35
  50. package/dist/common/src/server/runtimes/web/docker.js +0 -42
  51. package/dist/common/src/server/runtimes/web/esbuild.js +0 -29
  52. package/dist/common/src/server/runtimes/web/hoist.js +0 -16
  53. package/dist/common/src/server/runtimes/web/web.js +0 -157
  54. package/dist/common/src/server/serverClasees/Server.js +0 -47
  55. package/dist/common/src/server/serverClasees/Server_Base.js +0 -18
  56. package/dist/common/src/server/serverClasees/Server_Docker.js +0 -904
  57. package/dist/common/src/server/serverClasees/Server_FS.js +0 -119
  58. package/dist/common/src/server/serverClasees/Server_HTTP.js +0 -189
  59. package/dist/common/src/server/serverClasees/Server_WS.js +0 -262
  60. package/dist/common/src/server/serverManagers/DockerManager.js +0 -28
  61. package/dist/common/src/server/serverManagers/HttpManager.js +0 -114
  62. package/dist/common/src/server/serverManagers/WsManager.js +0 -230
  63. package/dist/common/src/server/serverManagers/fs.js +0 -32
  64. package/dist/common/src/server/serverManagers/tcp.js +0 -51
  65. package/dist/common/src/server/types.js +0 -2
  66. package/dist/common/src/testeranto.js +0 -75
  67. package/dist/common/src/vscode/TerminalManager.js +0 -129
  68. package/dist/common/src/vscode/TestTreeItem.js +0 -77
  69. package/dist/common/src/vscode/extension.js +0 -185
  70. package/dist/common/src/vscode/providers/FeaturesTreeDataProvider.js +0 -445
  71. package/dist/common/src/vscode/providers/FileTreeDataProvider.js +0 -190
  72. package/dist/common/src/vscode/providers/ProcessesTreeDataProvider.js +0 -270
  73. package/dist/common/src/vscode/providers/ResultsTreeDataProvider.js +0 -87
  74. package/dist/common/src/vscode/providers/TestTreeDataProvider.js +0 -309
  75. package/dist/common/src/vscode/types.js +0 -9
  76. package/dist/common/testeranto/runtimes/node/node.js +0 -7
  77. package/dist/common/testeranto/runtimes/web/web.js +0 -6
  78. package/dist/common/testeranto/testeranto.js +0 -70
  79. package/dist/common/tsconfig.common.tsbuildinfo +0 -1
  80. package/dist/module/allTestsUtils.js +0 -13
  81. package/dist/module/package.json +0 -3
  82. package/dist/module/scripts/build-example.js +0 -100
  83. package/dist/module/src/Init.js +0 -33
  84. package/dist/module/src/Types.js +0 -62
  85. package/dist/module/src/esbuildConfigs/consoleDetectorPlugin.js +0 -32
  86. package/dist/module/src/esbuildConfigs/eslint-formatter-testeranto.js +0 -18
  87. package/dist/module/src/esbuildConfigs/featuresPlugin.js +0 -34
  88. package/dist/module/src/esbuildConfigs/index.js +0 -20
  89. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +0 -25
  90. package/dist/module/src/esbuildConfigs/nativeImportDetectorPlugin.js +0 -21
  91. package/dist/module/src/esbuildConfigs/rebuildPlugin.js +0 -14
  92. package/dist/module/src/init-docs.js +0 -4
  93. package/dist/module/src/lib/tiposkripto/BaseGiven.js +0 -92
  94. package/dist/module/src/lib/tiposkripto/BaseSuite.js +0 -130
  95. package/dist/module/src/lib/tiposkripto/BaseThen.js +0 -61
  96. package/dist/module/src/lib/tiposkripto/BaseTiposkripto.js +0 -190
  97. package/dist/module/src/lib/tiposkripto/BaseWhen.js +0 -42
  98. package/dist/module/src/lib/tiposkripto/CoreTypes.js +0 -1
  99. package/dist/module/src/lib/tiposkripto/Node.js +0 -33
  100. package/dist/module/src/lib/tiposkripto/Tiposkripto.js +0 -14
  101. package/dist/module/src/lib/tiposkripto/Types.js +0 -1
  102. package/dist/module/src/lib/tiposkripto/Web.js +0 -63
  103. package/dist/module/src/lib/tiposkripto/abstractBase.test/MockGiven.js +0 -18
  104. package/dist/module/src/lib/tiposkripto/abstractBase.test/MockThen.js +0 -12
  105. package/dist/module/src/lib/tiposkripto/abstractBase.test/MockWhen.js +0 -14
  106. package/dist/module/src/lib/tiposkripto/abstractBase.test/adapter.js +0 -21
  107. package/dist/module/src/lib/tiposkripto/abstractBase.test/implementation.js +0 -35
  108. package/dist/module/src/lib/tiposkripto/abstractBase.test/index.js +0 -12
  109. package/dist/module/src/lib/tiposkripto/abstractBase.test/specification.js +0 -15
  110. package/dist/module/src/lib/tiposkripto/abstractBase.test/types.js +0 -1
  111. package/dist/module/src/lib/tiposkripto/index.js +0 -24
  112. package/dist/module/src/runtimes.js +0 -1
  113. package/dist/module/src/server/aider/configParser.js +0 -116
  114. package/dist/module/src/server/aider/docker.js +0 -28
  115. package/dist/module/src/server/getRunnables.js +0 -29
  116. package/dist/module/src/server/htmlTemplate.js +0 -40
  117. package/dist/module/src/server/nodeVersion.js +0 -2
  118. package/dist/module/src/server/runtimes/common.js +0 -127
  119. package/dist/module/src/server/runtimes/golang/docker.js +0 -55
  120. package/dist/module/src/server/runtimes/java/docker.js +0 -40
  121. package/dist/module/src/server/runtimes/node/docker.js +0 -36
  122. package/dist/module/src/server/runtimes/node/esbuild.js +0 -35
  123. package/dist/module/src/server/runtimes/node/node.js +0 -37
  124. package/dist/module/src/server/runtimes/python/docker.js +0 -25
  125. package/dist/module/src/server/runtimes/ruby/docker.js +0 -28
  126. package/dist/module/src/server/runtimes/rust/docker.js +0 -29
  127. package/dist/module/src/server/runtimes/web/docker.js +0 -36
  128. package/dist/module/src/server/runtimes/web/esbuild.js +0 -24
  129. package/dist/module/src/server/runtimes/web/hoist.js +0 -11
  130. package/dist/module/src/server/runtimes/web/web.js +0 -119
  131. package/dist/module/src/server/serverClasees/Server.js +0 -40
  132. package/dist/module/src/server/serverClasees/Server_Base.js +0 -14
  133. package/dist/module/src/server/serverClasees/Server_Docker.js +0 -897
  134. package/dist/module/src/server/serverClasees/Server_FS.js +0 -119
  135. package/dist/module/src/server/serverClasees/Server_HTTP.js +0 -182
  136. package/dist/module/src/server/serverClasees/Server_WS.js +0 -258
  137. package/dist/module/src/server/serverManagers/DockerManager.js +0 -28
  138. package/dist/module/src/server/serverManagers/HttpManager.js +0 -110
  139. package/dist/module/src/server/serverManagers/WsManager.js +0 -226
  140. package/dist/module/src/server/serverManagers/fs.js +0 -32
  141. package/dist/module/src/server/serverManagers/tcp.js +0 -47
  142. package/dist/module/src/server/types.js +0 -1
  143. package/dist/module/src/testeranto.js +0 -40
  144. package/dist/module/src/vscode/TerminalManager.js +0 -92
  145. package/dist/module/src/vscode/TestTreeItem.js +0 -40
  146. package/dist/module/src/vscode/extension.js +0 -148
  147. package/dist/module/src/vscode/providers/FeaturesTreeDataProvider.js +0 -408
  148. package/dist/module/src/vscode/providers/FileTreeDataProvider.js +0 -153
  149. package/dist/module/src/vscode/providers/ProcessesTreeDataProvider.js +0 -233
  150. package/dist/module/src/vscode/providers/ResultsTreeDataProvider.js +0 -50
  151. package/dist/module/src/vscode/providers/TestTreeDataProvider.js +0 -272
  152. package/dist/module/src/vscode/types.js +0 -6
  153. package/dist/module/testeranto/runtimes/node/node.js +0 -5
  154. package/dist/module/testeranto/runtimes/web/web.js +0 -4
  155. package/dist/module/testeranto/testeranto.js +0 -68
  156. package/dist/module/tsconfig.module.tsbuildinfo +0 -1
  157. package/dist/prebuild/chunk-QLT7PNPK.mjs +0 -162
  158. package/dist/prebuild/esbuildConfigs/eslint-formatter-testeranto.mjs +0 -20
  159. package/dist/prebuild/init-docs.mjs +0 -56
  160. package/dist/prebuild/server/runtimes/node/node.mjs +0 -80
  161. package/dist/prebuild/server/runtimes/web/hoist.mjs +0 -12
  162. package/dist/prebuild/server/runtimes/web/web.mjs +0 -162
  163. package/dist/prebuild/testeranto-6SAYRVSE.mjs +0 -72
  164. package/dist/prebuild/testeranto.mjs +0 -1692
  165. package/dist/types/src/Init.d.ts +0 -2
  166. package/dist/types/src/Types.d.ts +0 -87
  167. package/dist/types/src/esbuildConfigs/consoleDetectorPlugin.d.ts +0 -2
  168. package/dist/types/src/esbuildConfigs/eslint-formatter-testeranto.d.ts +0 -2
  169. package/dist/types/src/esbuildConfigs/featuresPlugin.d.ts +0 -5
  170. package/dist/types/src/esbuildConfigs/index.d.ts +0 -3
  171. package/dist/types/src/esbuildConfigs/inputFilesPlugin.d.ts +0 -7
  172. package/dist/types/src/esbuildConfigs/nativeImportDetectorPlugin.d.ts +0 -2
  173. package/dist/types/src/esbuildConfigs/rebuildPlugin.d.ts +0 -6
  174. package/dist/types/src/init-docs.d.ts +0 -1
  175. package/dist/types/src/lib/tiposkripto/BaseGiven.d.ts +0 -42
  176. package/dist/types/src/lib/tiposkripto/BaseSuite.d.ts +0 -46
  177. package/dist/types/src/lib/tiposkripto/BaseThen.d.ts +0 -28
  178. package/dist/types/src/lib/tiposkripto/BaseTiposkripto.d.ts +0 -35
  179. package/dist/types/src/lib/tiposkripto/BaseWhen.d.ts +0 -27
  180. package/dist/types/src/lib/tiposkripto/CoreTypes.d.ts +0 -51
  181. package/dist/types/src/lib/tiposkripto/Node.d.ts +0 -9
  182. package/dist/types/src/lib/tiposkripto/Tiposkripto.d.ts +0 -5
  183. package/dist/types/src/lib/tiposkripto/Types.d.ts +0 -9
  184. package/dist/types/src/lib/tiposkripto/Web.d.ts +0 -9
  185. package/dist/types/src/lib/tiposkripto/abstractBase.test/MockGiven.d.ts +0 -9
  186. package/dist/types/src/lib/tiposkripto/abstractBase.test/MockThen.d.ts +0 -6
  187. package/dist/types/src/lib/tiposkripto/abstractBase.test/MockWhen.d.ts +0 -6
  188. package/dist/types/src/lib/tiposkripto/abstractBase.test/adapter.d.ts +0 -3
  189. package/dist/types/src/lib/tiposkripto/abstractBase.test/implementation.d.ts +0 -3
  190. package/dist/types/src/lib/tiposkripto/abstractBase.test/index.d.ts +0 -28
  191. package/dist/types/src/lib/tiposkripto/abstractBase.test/specification.d.ts +0 -3
  192. package/dist/types/src/lib/tiposkripto/abstractBase.test/types.d.ts +0 -39
  193. package/dist/types/src/lib/tiposkripto/index.d.ts +0 -56
  194. package/dist/types/src/runtimes.d.ts +0 -2
  195. package/dist/types/src/server/aider/configParser.d.ts +0 -11
  196. package/dist/types/src/server/aider/docker.d.ts +0 -2
  197. package/dist/types/src/server/getRunnables.d.ts +0 -3
  198. package/dist/types/src/server/htmlTemplate.d.ts +0 -2
  199. package/dist/types/src/server/nodeVersion.d.ts +0 -2
  200. package/dist/types/src/server/runtimes/common.d.ts +0 -12
  201. package/dist/types/src/server/runtimes/golang/docker.d.ts +0 -5
  202. package/dist/types/src/server/runtimes/java/docker.d.ts +0 -14
  203. package/dist/types/src/server/runtimes/node/docker.d.ts +0 -14
  204. package/dist/types/src/server/runtimes/node/esbuild.d.ts +0 -4
  205. package/dist/types/src/server/runtimes/node/node.d.ts +0 -1
  206. package/dist/types/src/server/runtimes/python/docker.d.ts +0 -14
  207. package/dist/types/src/server/runtimes/ruby/docker.d.ts +0 -14
  208. package/dist/types/src/server/runtimes/rust/docker.d.ts +0 -14
  209. package/dist/types/src/server/runtimes/web/docker.d.ts +0 -15
  210. package/dist/types/src/server/runtimes/web/esbuild.d.ts +0 -4
  211. package/dist/types/src/server/runtimes/web/hoist.d.ts +0 -1
  212. package/dist/types/src/server/runtimes/web/web.d.ts +0 -1
  213. package/dist/types/src/server/serverClasees/Server.d.ts +0 -8
  214. package/dist/types/src/server/serverClasees/Server_Base.d.ts +0 -9
  215. package/dist/types/src/server/serverClasees/Server_Docker.d.ts +0 -81
  216. package/dist/types/src/server/serverClasees/Server_FS.d.ts +0 -0
  217. package/dist/types/src/server/serverClasees/Server_HTTP.d.ts +0 -20
  218. package/dist/types/src/server/serverClasees/Server_WS.d.ts +0 -23
  219. package/dist/types/src/server/serverManagers/DockerManager.d.ts +0 -0
  220. package/dist/types/src/server/serverManagers/HttpManager.d.ts +0 -9
  221. package/dist/types/src/server/serverManagers/WsManager.d.ts +0 -10
  222. package/dist/types/src/server/serverManagers/fs.d.ts +0 -0
  223. package/dist/types/src/server/serverManagers/tcp.d.ts +0 -27
  224. package/dist/types/src/server/types.d.ts +0 -68
  225. package/dist/types/src/testeranto.d.ts +0 -1
  226. package/dist/types/src/vscode/TerminalManager.d.ts +0 -18
  227. package/dist/types/src/vscode/TestTreeItem.d.ts +0 -13
  228. package/dist/types/src/vscode/extension.d.ts +0 -3
  229. package/dist/types/src/vscode/providers/FeaturesTreeDataProvider.d.ts +0 -17
  230. package/dist/types/src/vscode/providers/FileTreeDataProvider.d.ts +0 -13
  231. package/dist/types/src/vscode/providers/ProcessesTreeDataProvider.d.ts +0 -23
  232. package/dist/types/src/vscode/providers/ResultsTreeDataProvider.d.ts +0 -10
  233. package/dist/types/src/vscode/providers/TestTreeDataProvider.d.ts +0 -16
  234. package/dist/types/src/vscode/types.d.ts +0 -14
  235. package/dist/types/testeranto/testeranto.d.ts +0 -3
  236. package/dist/types/tsconfig.types.tsbuildinfo +0 -1
  237. package/dist/vscode/extension.mjs +0 -5116
@@ -1,119 +0,0 @@
1
- "use strict";
2
- // import fs from "fs";
3
- // import path from "path";
4
- // import { IMode } from "../types";
5
- // import { IBuiltConfig, IRunTime, ISummary } from "../../Types";
6
- // import { makeHtmlTestFiles } from "../../makeHtmlTestFiles";
7
- // import { makeHtmlReportFile } from "../../makeHtmlReportFile";
8
- // import { Server_WS } from "./Server_WS";
9
- // import { getRunnables } from "../getRunnables";
10
- // import { IndexHtml } from "../serverManagers/fs";
11
- // export class Server_FS extends Server_WS {
12
- // summary: ISummary = {};
13
- // currentBuildResolve: (() => void) | null = null;
14
- // currentBuildReject: ((error: any) => void) | null = null;
15
- // constructor(configs: IBuiltConfig, testName: string, mode: IMode, routes) {
16
- // super(configs, testName, mode, routes);
17
- // fs.writeFileSync(
18
- // path.join(process.cwd(), "testeranto", `${testName}.json`),
19
- // JSON.stringify(configs, null, 2)
20
- // );
21
- // if (!fs.existsSync(`testeranto/reports/${testName}`)) {
22
- // fs.mkdirSync(`testeranto/reports/${testName}`);
23
- // }
24
- // fs.writeFileSync(
25
- // `testeranto/reports/${testName}/config.json`,
26
- // JSON.stringify(configs, null, 2)
27
- // );
28
- // makeHtmlTestFiles(testName);
29
- // makeHtmlReportFile(testName, configs);
30
- // const {
31
- // nodeEntryPoints,
32
- // webEntryPoints,
33
- // pythonEntryPoints,
34
- // golangEntryPoints,
35
- // } = getRunnables(configs, testName);
36
- // // create the necessary folders for all tests
37
- // [
38
- // ["node", Object.keys(nodeEntryPoints)],
39
- // ["web", Object.keys(webEntryPoints)],
40
- // ["python", Object.keys(pythonEntryPoints)],
41
- // ["golang", Object.keys(golangEntryPoints)],
42
- // ].forEach(async ([runtime, keys]: [IRunTime, string[]]) => {
43
- // keys.forEach(async (k) => {
44
- // fs.mkdirSync(
45
- // `testeranto/reports/${testName}/${k
46
- // .split(".")
47
- // .slice(0, -1)
48
- // .join(".")}/${runtime}`,
49
- // { recursive: true }
50
- // );
51
- // });
52
- // });
53
- // setupFileSystem(configs, testName);
54
- // if (!fs.existsSync(`testeranto/reports/${this.projectName}`)) {
55
- // fs.mkdirSync(`testeranto/reports/${this.projectName}`);
56
- // }
57
- // }
58
- // ensureSummaryEntry(src: string, isSidecar = false) {
59
- // if (!this.summary[src]) {
60
- // this.summary[src] = {
61
- // runTimeTests: undefined,
62
- // runTimeErrors: undefined,
63
- // typeErrors: undefined,
64
- // staticErrors: undefined,
65
- // prompt: undefined,
66
- // failingFeatures: undefined,
67
- // };
68
- // }
69
- // return this.summary[src];
70
- // }
71
- // getSummary() {
72
- // return this.summary;
73
- // }
74
- // setSummary(summary: ISummary) {
75
- // this.summary = summary;
76
- // }
77
- // updateSummaryEntry(
78
- // src: string,
79
- // updates: Partial<{
80
- // typeErrors: number | "?" | undefined;
81
- // staticErrors: number | "?" | undefined;
82
- // runTimeErrors: number | "?" | undefined;
83
- // prompt: string | "?" | undefined;
84
- // failingFeatures: object | undefined;
85
- // }>
86
- // ) {
87
- // if (!this.summary[src]) {
88
- // this.ensureSummaryEntry(src);
89
- // }
90
- // this.summary[src] = { ...this.summary[src], ...updates };
91
- // }
92
- // writeBigBoard = () => {
93
- // const summaryPath = `./testeranto/reports/${this.projectName}/summary.json`;
94
- // const summaryData = JSON.stringify(this.summary, null, 2);
95
- // fs.writeFileSync(summaryPath, summaryData);
96
- // // Broadcast the update if WebSocket is available
97
- // // if (this.webSocketBroadcastMessage) {
98
- // // this.webSocketBroadcastMessage({
99
- // // type: "summaryUpdate",
100
- // // data: this.summary,
101
- // // });
102
- // // }
103
- // };
104
- // async stop() {
105
- // await super.stop();
106
- // }
107
- // }
108
- // function setupFileSystem(config: IBuiltConfig, testsName: string) {
109
- // fs.writeFileSync(`${process.cwd()}/testeranto/index.html`, IndexHtml());
110
- // // Create reports directory
111
- // if (!fs.existsSync(`testeranto/reports/${testsName}`)) {
112
- // fs.mkdirSync(`testeranto/reports/${testsName}`, { recursive: true });
113
- // }
114
- // // Write config to reports
115
- // fs.writeFileSync(
116
- // `testeranto/reports/${testsName}/config.json`,
117
- // JSON.stringify(config, null, 2)
118
- // );
119
- // }
@@ -1,189 +0,0 @@
1
- "use strict";
2
- // Gives the server HTTP capabilities
3
- // 1) serve static files from the project directory
4
- // 2) handle HTTP requests which are defined by child classes.
5
- //// for instance, Server_Process_Manager will define the react component.
6
- //// So we want the Server_Process_Manager class to handle the react component and logic defined by that child class
7
- //// These extra pages are routed under the ~ (tilde) to seperate the file server from the extra commands
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Server_HTTP = void 0;
13
- const fs_1 = __importDefault(require("fs"));
14
- const http_1 = __importDefault(require("http"));
15
- const path_1 = __importDefault(require("path"));
16
- const tcp_1 = require("../serverManagers/tcp");
17
- const Server_Base_1 = require("./Server_Base");
18
- class Server_HTTP extends Server_Base_1.Server_Base {
19
- constructor(configs, mode) {
20
- super(configs, mode);
21
- // this.http = new HttpManager();
22
- this.httpServer = http_1.default.createServer();
23
- this.httpServer.on("error", (error) => {
24
- console.error(`[HTTP] error:`, error);
25
- });
26
- this.httpServer.on("request", this.handleHttpRequest.bind(this));
27
- // Note: WebSocket upgrade handling will be set up by child classes if needed
28
- // Do not call setupWebSocketUpgrade() here
29
- }
30
- async start() {
31
- console.log(`[Server_HTTP] start()`);
32
- super.start();
33
- return new Promise((resolve) => {
34
- this.httpServer.on("listening", () => {
35
- const addr = this.httpServer.address();
36
- console.log(`[HTTP] HTTP server is now listening on ${addr}`);
37
- resolve();
38
- });
39
- });
40
- }
41
- async stop() {
42
- console.log(`[Server_HTTP] stop()`);
43
- this.httpServer.close(() => {
44
- console.log("[HTTP] HTTP server closed");
45
- });
46
- await super.stop();
47
- }
48
- handleHttpRequest(req, res) {
49
- console.log(`[Server_HTTP] handleHttpRequest(${req.url})`);
50
- // Check if this is a route request (starts with /~/)
51
- if (req.url && req.url.startsWith("/~/")) {
52
- this.handleRouteRequest(req, res);
53
- }
54
- else {
55
- // Otherwise serve static files
56
- this.serveStaticFile(req, res);
57
- }
58
- }
59
- handleRouteRequest(req, res) {
60
- console.log(`[Server_HTTP] handleRouteRequest(${req.url})`);
61
- const routeName = this.http.routeName(req);
62
- console.log(`[HTTP] Handling route: /~/${routeName}`);
63
- // Use HttpManager to match the route
64
- const match = this.http.matchRoute(routeName, this.routes);
65
- if (match) {
66
- // Add params to request object for handler to use
67
- req.params = match.params;
68
- try {
69
- match.handler(req, res);
70
- }
71
- catch (error) {
72
- console.error(`[HTTP] Error in route handler for /~/${routeName}:`, error);
73
- res.writeHead(500, { "Content-Type": "text/plain" });
74
- res.end(`Internal Server Error: ${error}`);
75
- }
76
- return;
77
- }
78
- // No route found
79
- res.writeHead(404, { "Content-Type": "text/plain" });
80
- res.end(`Route not found: /~/${routeName}`);
81
- }
82
- serveStaticFile(req, res) {
83
- console.log(`[Server_HTTP] serveStaticFile(${req.url})`);
84
- if (!req.url) {
85
- res.writeHead(400);
86
- res.end("Bad Request");
87
- return;
88
- }
89
- const normalizedPath = this.http.decodedPath(req);
90
- // Check for any remaining '..' components
91
- if (normalizedPath.includes("..")) {
92
- res.writeHead(403);
93
- res.end("Forbidden: Directory traversal not allowed");
94
- return;
95
- }
96
- // Start from the project root (current working directory)
97
- const projectRoot = process.cwd();
98
- const filePath = path_1.default.join(projectRoot, normalizedPath);
99
- // Ensure the file is within the project root
100
- if (!filePath.startsWith(path_1.default.resolve(projectRoot))) {
101
- res.writeHead(403);
102
- res.end("Forbidden");
103
- return;
104
- }
105
- // Check if it's a directory
106
- fs_1.default.stat(filePath, (err, stats) => {
107
- if (err) {
108
- if (err.code === "ENOENT") {
109
- res.writeHead(404);
110
- res.end(`File not found: ${normalizedPath}`);
111
- return;
112
- }
113
- else {
114
- res.writeHead(500);
115
- res.end(`Server Error: ${err.message}`);
116
- return;
117
- }
118
- }
119
- if (stats.isDirectory()) {
120
- // List directory contents
121
- fs_1.default.readdir(filePath, (readErr, files) => {
122
- if (readErr) {
123
- res.writeHead(500);
124
- res.end(`Server Error: ${readErr.message}`);
125
- return;
126
- }
127
- // Generate directory listing
128
- const items = files
129
- .map((file) => {
130
- try {
131
- const stat = fs_1.default.statSync(path_1.default.join(filePath, file));
132
- const isDir = stat.isDirectory();
133
- const slash = isDir ? "/" : "";
134
- return `<li><a href="${path_1.default.join(normalizedPath, file)}${slash}">${file}${slash}</a></li>`;
135
- }
136
- catch (_a) {
137
- // If we can't stat the file, still show it as a link without slash
138
- return `<li><a href="${path_1.default.join(normalizedPath, file)}">${file}</a></li>`;
139
- }
140
- })
141
- .join("");
142
- res.writeHead(200, { "Content-Type": "text/html" });
143
- res.end(`
144
- <!DOCTYPE html>
145
- <html>
146
- <head><title>Directory listing for ${normalizedPath}</title></head>
147
- <body>
148
- <h1>Directory listing for ${normalizedPath}</h1>
149
- <ul>
150
- ${items}
151
- </ul>
152
- </body>
153
- </html>
154
- `);
155
- });
156
- }
157
- else {
158
- this.serveFile(filePath, res);
159
- }
160
- });
161
- }
162
- serveFile(filePath, res) {
163
- console.log(`[Server_HTTP] serveFile(${filePath})`);
164
- const contentType = (0, tcp_1.getContentType)(filePath) || tcp_1.CONTENT_TYPES.OCTET_STREAM;
165
- fs_1.default.readFile(filePath, (err, data) => {
166
- if (err) {
167
- if (err.code === "ENOENT") {
168
- res.writeHead(404);
169
- res.end(`File not found: ${filePath}`);
170
- }
171
- else {
172
- res.writeHead(500);
173
- res.end(`Server Error: ${err.message}`);
174
- }
175
- return;
176
- }
177
- res.writeHead(200, { "Content-Type": contentType });
178
- res.end(data);
179
- });
180
- }
181
- // The route method is no longer abstract since we're using the routes() method
182
- // This is kept for backward compatibility
183
- router(a) {
184
- // Default implementation does nothing
185
- // Inheriting classes can override if needed
186
- return a;
187
- }
188
- }
189
- exports.Server_HTTP = Server_HTTP;
@@ -1,262 +0,0 @@
1
- "use strict";
2
- // Gives the server websocket capabilities
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Server_WS = void 0;
5
- const ws_1 = require("ws");
6
- const WsManager_1 = require("../serverManagers/WsManager");
7
- const Server_HTTP_1 = require("./Server_HTTP");
8
- class Server_WS extends Server_HTTP_1.Server_HTTP {
9
- constructor(configs, mode) {
10
- super(configs, mode);
11
- this.wsClients = new Set();
12
- this.ws = new ws_1.WebSocketServer({
13
- noServer: true,
14
- });
15
- this.wsManager = new WsManager_1.WsManager();
16
- this.setupWebSocketHandlers();
17
- }
18
- async start() {
19
- console.log(`[Server_WS] start()`);
20
- await super.start();
21
- this.attachWebSocketToHttpServer(this.httpServer);
22
- }
23
- async stop() {
24
- console.log(`[Server_WS] stop()`);
25
- this.wsClients.forEach((client) => {
26
- client.close();
27
- });
28
- this.wsClients.clear();
29
- // Close the WebSocket server
30
- this.ws.close(() => {
31
- console.log("[WebSocket] Server closed");
32
- });
33
- await super.stop();
34
- }
35
- escapeXml(unsafe) {
36
- return this.wsManager.escapeXml(unsafe);
37
- }
38
- attachWebSocketToHttpServer(httpServer) {
39
- httpServer.on("upgrade", (request, socket, head) => {
40
- const pathname = new URL(request.url || "", `http://${request.headers.host}`).pathname;
41
- // Handle WebSocket connections at /ws
42
- if (pathname === "/ws") {
43
- console.log("[WebSocket] Upgrade request for /ws");
44
- this.ws.handleUpgrade(request, socket, head, (ws) => {
45
- this.ws.emit("connection", ws, request);
46
- });
47
- }
48
- else {
49
- // Close connection for non-WebSocket paths
50
- socket.destroy();
51
- }
52
- });
53
- }
54
- broadcast(message) {
55
- const data = typeof message === "string" ? message : JSON.stringify(message);
56
- console.log(`[WebSocket] Broadcasting to ${this.wsClients.size} clients:`, message.type || message);
57
- let sentCount = 0;
58
- this.wsClients.forEach((client) => {
59
- if (client.readyState === ws_1.WebSocket.OPEN) {
60
- client.send(data);
61
- sentCount++;
62
- }
63
- else {
64
- console.log(`[WebSocket] Client not open, state: ${client.readyState}`);
65
- }
66
- });
67
- console.log(`[WebSocket] Sent to ${sentCount} clients`);
68
- }
69
- setupWebSocketHandlers() {
70
- this.ws.on("connection", (ws, request) => {
71
- console.log(`[WebSocket] New connection from ${request.socket.remoteAddress}`);
72
- this.wsClients.add(ws);
73
- // Send initial connection message
74
- ws.send(JSON.stringify({
75
- type: "connected",
76
- message: "Connected to Process Manager WebSocket",
77
- timestamp: new Date().toISOString()
78
- }));
79
- // Immediately send current processes
80
- // Note: handleGetProcesses needs to be implemented or handled differently
81
- // For now, we'll send a placeholder
82
- ws.send(JSON.stringify({
83
- type: "processes",
84
- data: this.getProcessSummary ? this.getProcessSummary() : { processes: [] },
85
- timestamp: new Date().toISOString()
86
- }));
87
- // Handle messages from clients
88
- ws.on("message", (data) => {
89
- try {
90
- const message = JSON.parse(data.toString());
91
- this.handleWebSocketMessage(ws, message);
92
- }
93
- catch (error) {
94
- console.error("[WebSocket] Error parsing message:", error);
95
- ws.send(JSON.stringify({
96
- type: "error",
97
- message: "Invalid JSON message",
98
- timestamp: new Date().toISOString()
99
- }));
100
- }
101
- });
102
- // Handle client disconnection
103
- ws.on("close", () => {
104
- console.log("[WebSocket] Client disconnected");
105
- this.wsClients.delete(ws);
106
- });
107
- // Handle errors
108
- ws.on("error", (error) => {
109
- console.error("[WebSocket] Error:", error);
110
- this.wsClients.delete(ws);
111
- });
112
- });
113
- this.ws.on("error", (error) => {
114
- console.error("[WebSocket] Server error:", error);
115
- });
116
- this.ws.on("close", () => {
117
- console.log("[WebSocket] Server closing...");
118
- this.wsClients.clear();
119
- });
120
- }
121
- handleWebSocketMessage(ws, message) {
122
- console.log("[WebSocket] Received message:", message.type);
123
- // Use WsManager to process the message
124
- const response = this.wsManager.processMessage(message.type, message.data, () => this.getProcessSummary(), (processId) => {
125
- const processManager = this;
126
- if (typeof processManager.getProcessLogs === "function") {
127
- return processManager.getProcessLogs(processId);
128
- }
129
- return [];
130
- });
131
- // Send the response
132
- ws.send(JSON.stringify(response));
133
- // For certain message types, we need to perform additional server-side actions
134
- // These are side effects that can't be handled by WsManager alone
135
- switch (message.type) {
136
- case "sourceFilesUpdated":
137
- this.handleSourceFilesUpdatedSideEffects(ws, message.data, response);
138
- break;
139
- case "getBuildListenerState":
140
- this.handleGetBuildListenerStateSideEffects(ws);
141
- break;
142
- case "getBuildEvents":
143
- this.handleGetBuildEventsSideEffects(ws);
144
- break;
145
- }
146
- }
147
- handleSourceFilesUpdatedSideEffects(ws, data, response) {
148
- const { testName, hash, files, runtime } = data || {};
149
- if (!testName || !hash || !files || !runtime) {
150
- return;
151
- }
152
- console.log(`[WebSocket] Forwarding source files update to build listener for test: ${testName} (runtime: ${runtime})`);
153
- // Check if this instance has sourceFilesUpdated method (inherited from Server_BuildListener)
154
- if (typeof this.sourceFilesUpdated === 'function') {
155
- console.log(`[WebSocket] sourceFilesUpdated method found, calling it`);
156
- try {
157
- this.sourceFilesUpdated(testName, hash, files, runtime);
158
- console.log(`[WebSocket] sourceFilesUpdated called successfully`);
159
- // Broadcast to all clients
160
- this.broadcast({
161
- type: "sourceFilesUpdated",
162
- testName,
163
- hash,
164
- files,
165
- runtime,
166
- status: "processed",
167
- timestamp: new Date().toISOString(),
168
- message: "Source files update processed successfully"
169
- });
170
- // Update the response if successful
171
- if (response.status === "success") {
172
- // Response is already sent, but we can send an additional update
173
- ws.send(JSON.stringify({
174
- type: "sourceFilesUpdated",
175
- status: "processed",
176
- testName,
177
- runtime,
178
- message: "Build update processed and broadcasted successfully",
179
- timestamp: new Date().toISOString()
180
- }));
181
- }
182
- }
183
- catch (error) {
184
- console.error("[WebSocket] Error processing source files update:", error);
185
- // Send error update
186
- ws.send(JSON.stringify({
187
- type: "sourceFilesUpdated",
188
- status: "error",
189
- testName,
190
- runtime,
191
- message: `Error processing build update: ${error}`,
192
- timestamp: new Date().toISOString()
193
- }));
194
- }
195
- }
196
- else {
197
- console.warn("[WebSocket] sourceFilesUpdated method not available on this instance");
198
- }
199
- }
200
- handleGetBuildListenerStateSideEffects(ws) {
201
- console.log("[WebSocket] Handling getBuildListenerState request");
202
- if (typeof this.getBuildListenerState === 'function') {
203
- try {
204
- const state = this.getBuildListenerState();
205
- ws.send(JSON.stringify({
206
- type: "buildListenerState",
207
- data: state,
208
- timestamp: new Date().toISOString()
209
- }));
210
- }
211
- catch (error) {
212
- console.error("[WebSocket] Error getting build listener state:", error);
213
- ws.send(JSON.stringify({
214
- type: "buildListenerState",
215
- status: "error",
216
- message: `Error getting build listener state: ${error}`,
217
- timestamp: new Date().toISOString()
218
- }));
219
- }
220
- }
221
- }
222
- handleGetBuildEventsSideEffects(ws) {
223
- console.log("[WebSocket] Handling getBuildEvents request");
224
- if (typeof this.getBuildEvents === 'function') {
225
- try {
226
- const events = this.getBuildEvents();
227
- ws.send(JSON.stringify({
228
- type: "buildEvents",
229
- events: events,
230
- timestamp: new Date().toISOString()
231
- }));
232
- }
233
- catch (error) {
234
- console.error("[WebSocket] Error getting build events:", error);
235
- ws.send(JSON.stringify({
236
- type: "buildEvents",
237
- status: "error",
238
- message: `Error getting build events: ${error}`,
239
- timestamp: new Date().toISOString()
240
- }));
241
- }
242
- }
243
- }
244
- handleGetProcesses(ws) {
245
- if (typeof this.getProcessSummary === 'function') {
246
- const summary = this.getProcessSummary();
247
- ws.send(JSON.stringify({
248
- type: "processes",
249
- data: summary,
250
- timestamp: new Date().toISOString()
251
- }));
252
- }
253
- else {
254
- ws.send(JSON.stringify({
255
- type: "processes",
256
- data: { processes: [], message: "getProcessSummary not available" },
257
- timestamp: new Date().toISOString()
258
- }));
259
- }
260
- }
261
- }
262
- exports.Server_WS = Server_WS;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- // // Do not allow imports from outside the project (fs, exec, ws, etc)
3
- // import { RUN_TIMES } from "../../runtimes";
4
- // import { IBuiltConfig, IRunTime } from "../../Types";
5
- // import { golangBddCommand, golangDockerComposeFile } from "../runtimes/golang/docker";
6
- // import { javaBddCommand, javaDockerComposeFile } from "../runtimes/java/docker";
7
- // import { nodeDockerComposeFile, nodeBddCommand } from "../runtimes/node/docker";
8
- // import { pythonBDDCommand, pythonDockerComposeFile } from "../runtimes/python/docker";
9
- // import { rubyBddCommand, rubyDockerComposeFile } from "../runtimes/ruby/docker";
10
- // import { rustBddCommand, rustDockerComposeFile } from "../runtimes/rust/docker";
11
- // import { webBddCommand, webDockerComposeFile } from "../runtimes/web/docker";
12
- // export type IService = any;
13
- // export interface IDockerComposeResult {
14
- // exitCode: number;
15
- // out: string;
16
- // err: string;
17
- // data: any;
18
- // }
19
- // export class DockerManager {
20
- // cwd: string;
21
- // composeFile: string;
22
- // projectName: string
23
- // constructor(composeFile: string, projectName: string) {
24
- // this.cwd = process.cwd();
25
- // this.composeFile = composeFile
26
- // this.projectName = projectName
27
- // }
28
- // }