testeranto 0.219.13 → 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,272 +0,0 @@
1
- import * as vscode from 'vscode';
2
- import { TestTreeItem } from '../TestTreeItem';
3
- import { TreeItemType } from '../types';
4
- export class TestTreeDataProvider {
5
- constructor() {
6
- this._onDidChangeTreeData = new vscode.EventEmitter();
7
- this.onDidChangeTreeData = this._onDidChangeTreeData.event;
8
- }
9
- refresh() {
10
- this._onDidChangeTreeData.fire();
11
- }
12
- getTreeItem(element) {
13
- return element;
14
- }
15
- getChildren(element) {
16
- var _a, _b, _c;
17
- if (!element) {
18
- return Promise.resolve(this.getRuntimeItems());
19
- }
20
- else if (element.type === TreeItemType.Runtime) {
21
- const runtime = (_a = element.data) === null || _a === void 0 ? void 0 : _a.runtime;
22
- return Promise.resolve(this.getTestItems(runtime));
23
- }
24
- else if (element.type === TreeItemType.Test) {
25
- const { runtime, testName } = element.data || {};
26
- return this.getFileTreeItems(runtime, testName);
27
- }
28
- else if (element.type === TreeItemType.File) {
29
- // Handle expanding directories
30
- const { runtime, testName, path } = element.data || {};
31
- if (path && !((_c = (_b = element.data) === null || _b === void 0 ? void 0 : _b.fileName) === null || _c === void 0 ? void 0 : _c.endsWith('.'))) { // Check if it's a directory
32
- return this.getDirectoryItems(runtime, testName, path);
33
- }
34
- }
35
- return Promise.resolve([]);
36
- }
37
- getRuntimeItems() {
38
- const runtimes = [
39
- { label: "Node", runtime: "node" },
40
- { label: "Web", runtime: "web" },
41
- { label: "Python", runtime: "python" },
42
- { label: "Golang", runtime: "golang" }
43
- ];
44
- return runtimes.map(({ label, runtime }) => new TestTreeItem(label, TreeItemType.Runtime, vscode.TreeItemCollapsibleState.Collapsed, { runtime }));
45
- }
46
- getTestItems(runtime) {
47
- if (!runtime) {
48
- return [];
49
- }
50
- let testNames = [];
51
- switch (runtime) {
52
- case "node":
53
- case "web":
54
- testNames = ["Calculator.test.ts"];
55
- break;
56
- case "python":
57
- testNames = ["Calculator.pitono.test.py"];
58
- break;
59
- case "golang":
60
- testNames = ["Calculator.golingvu.test.go"];
61
- break;
62
- default:
63
- testNames = [];
64
- }
65
- return testNames.map(testName => new TestTreeItem(testName, TreeItemType.Test, vscode.TreeItemCollapsibleState.Collapsed, { runtime, testName }));
66
- }
67
- async getFileItems(runtime, testName) {
68
- console.log("getFileItems");
69
- if (!runtime || !testName) {
70
- return [];
71
- }
72
- // Determine which JSON file to read based on runtime and testName
73
- let jsonFilePath;
74
- switch (runtime) {
75
- case "golang":
76
- jsonFilePath = "testeranto/bundles/allTests/golang/example/Calculator.test.go-inputFiles.json";
77
- break;
78
- case "python":
79
- jsonFilePath = "testeranto/bundles/allTests/python/example/Calculator.test.py-inputFiles.json";
80
- break;
81
- case "node":
82
- jsonFilePath = "testeranto/bundles/allTests/node/example/Calculator.test.mjs-inputFiles.json";
83
- break;
84
- case "web":
85
- jsonFilePath = "testeranto/bundles/allTests/web/example/Calculator.test.mjs-inputFiles.json";
86
- break;
87
- case "ruby":
88
- jsonFilePath = "testeranto/bundles/allTests/ruby/example/Calculator.test.rb-inputFiles.json";
89
- break;
90
- default:
91
- return [];
92
- }
93
- try {
94
- // Get the workspace root
95
- const workspaceFolders = vscode.workspace.workspaceFolders;
96
- if (!workspaceFolders || workspaceFolders.length === 0) {
97
- throw new Error("No workspace folder open");
98
- }
99
- const workspaceRoot = workspaceFolders[0].uri;
100
- // Build the full URI to the JSON file
101
- const jsonFileUri = vscode.Uri.joinPath(workspaceRoot, jsonFilePath);
102
- console.log(`Reading JSON from: ${jsonFileUri.fsPath}`);
103
- // Read the JSON file
104
- const fileContent = await vscode.workspace.fs.readFile(jsonFileUri);
105
- const files = JSON.parse(Buffer.from(fileContent).toString('utf-8'));
106
- console.log(`Found ${files.length} files in JSON`);
107
- // Build a tree structure
108
- const treeRoot = { name: '', children: new Map(), fullPath: '', isFile: false };
109
- for (const rawFileName of files) {
110
- // Remove leading '/' if present to make paths relative to workspace root
111
- const fileName = rawFileName.startsWith('/') ? rawFileName.substring(1) : rawFileName;
112
- const parts = fileName.split('/');
113
- let currentNode = treeRoot;
114
- for (let i = 0; i < parts.length; i++) {
115
- const part = parts[i];
116
- const isLast = i === parts.length - 1;
117
- if (!currentNode.children.has(part)) {
118
- currentNode.children.set(part, {
119
- name: part,
120
- children: new Map(),
121
- fullPath: parts.slice(0, i + 1).join('/'),
122
- isFile: isLast
123
- });
124
- }
125
- currentNode = currentNode.children.get(part);
126
- }
127
- }
128
- // Convert tree to TestTreeItems
129
- return this.buildTreeItems(treeRoot, runtime, testName, workspaceRoot);
130
- }
131
- catch (error) {
132
- console.error(`Failed to read file list from ${jsonFilePath}:`, error);
133
- vscode.window.showErrorMessage(`Could not load file list for ${testName}: ${error}`);
134
- // Return empty array to prevent tree view from crashing
135
- return [];
136
- }
137
- }
138
- async getFileTreeItems(runtime, testName) {
139
- const tree = await this.buildFileTree(runtime, testName);
140
- if (!tree) {
141
- return [];
142
- }
143
- return this.buildTreeItems(tree, runtime, testName);
144
- }
145
- async buildFileTree(runtime, testName) {
146
- // Determine which JSON file to read based on runtime and testName
147
- let jsonFilePath;
148
- switch (runtime) {
149
- case "golang":
150
- jsonFilePath = "testeranto/bundles/allTests/golang/example/Calculator.test.go-inputFiles.json";
151
- break;
152
- case "python":
153
- jsonFilePath = "testeranto/bundles/allTests/python/example/Calculator.test.py-inputFiles.json";
154
- break;
155
- case "node":
156
- jsonFilePath = "testeranto/bundles/allTests/node/example/Calculator.test.mjs-inputFiles.json";
157
- break;
158
- case "web":
159
- jsonFilePath = "testeranto/bundles/allTests/web/example/Calculator.test.mjs-inputFiles.json";
160
- break;
161
- default:
162
- return null;
163
- }
164
- try {
165
- const workspaceFolders = vscode.workspace.workspaceFolders;
166
- if (!workspaceFolders || workspaceFolders.length === 0) {
167
- throw new Error("No workspace folder open");
168
- }
169
- const workspaceRoot = workspaceFolders[0].uri;
170
- // Read files from JSON input file
171
- const jsonFileUri = vscode.Uri.joinPath(workspaceRoot, jsonFilePath);
172
- const fileContent = await vscode.workspace.fs.readFile(jsonFileUri);
173
- const files = JSON.parse(Buffer.from(fileContent).toString('utf-8'));
174
- const allFiles = new Set(files);
175
- // Add report files for this runtime
176
- try {
177
- const reportsDir = vscode.Uri.joinPath(workspaceRoot, "testeranto/reports/allTests/example");
178
- // Check if directory exists
179
- try {
180
- await vscode.workspace.fs.stat(reportsDir);
181
- // Read directory contents
182
- const entries = await vscode.workspace.fs.readDirectory(reportsDir);
183
- for (const [name, type] of entries) {
184
- if (type === vscode.FileType.File && name.endsWith('.json')) {
185
- // Check if this report file matches the current runtime
186
- // For example: python.Calculator.test.ts.json starts with "python"
187
- if (name.startsWith(runtime + '.')) {
188
- const reportFilePath = `testeranto/reports/allTests/example/${name}`;
189
- allFiles.add(reportFilePath);
190
- }
191
- }
192
- }
193
- }
194
- catch (error) {
195
- console.log(`Reports directory doesn't exist or can't be read: ${reportsDir.fsPath}`);
196
- }
197
- }
198
- catch (error) {
199
- console.error(`Failed to scan reports directory:`, error);
200
- }
201
- const treeRoot = { name: '', children: new Map(), fullPath: '', isFile: false };
202
- for (const rawFileName of Array.from(allFiles)) {
203
- const fileName = rawFileName.startsWith('/') ? rawFileName.substring(1) : rawFileName;
204
- const parts = fileName.split('/');
205
- let currentNode = treeRoot;
206
- for (let i = 0; i < parts.length; i++) {
207
- const part = parts[i];
208
- const isLast = i === parts.length - 1;
209
- if (!currentNode.children.has(part)) {
210
- currentNode.children.set(part, {
211
- name: part,
212
- children: new Map(),
213
- fullPath: parts.slice(0, i + 1).join('/'),
214
- isFile: isLast
215
- });
216
- }
217
- currentNode = currentNode.children.get(part);
218
- }
219
- }
220
- return treeRoot;
221
- }
222
- catch (error) {
223
- console.error(`Failed to build file tree:`, error);
224
- return null;
225
- }
226
- }
227
- buildTreeItems(node, runtime, testName) {
228
- const items = [];
229
- const sortedChildren = Array.from(node.children.values()).sort((a, b) => {
230
- if (a.isFile && !b.isFile)
231
- return 1;
232
- if (!a.isFile && b.isFile)
233
- return -1;
234
- return a.name.localeCompare(b.name);
235
- });
236
- for (const child of sortedChildren) {
237
- const collapsibleState = child.isFile
238
- ? vscode.TreeItemCollapsibleState.None
239
- : vscode.TreeItemCollapsibleState.Collapsed;
240
- const treeItem = new TestTreeItem(child.name, TreeItemType.File, collapsibleState, {
241
- runtime,
242
- testName,
243
- fileName: child.fullPath,
244
- path: child.fullPath
245
- }, child.isFile ? {
246
- command: "vscode.open",
247
- title: "Open File",
248
- arguments: [vscode.Uri.file(child.fullPath)]
249
- } : undefined, child.isFile ? new vscode.ThemeIcon("file") : new vscode.ThemeIcon("folder"));
250
- items.push(treeItem);
251
- }
252
- return items;
253
- }
254
- async getDirectoryItems(runtime, testName, path) {
255
- const tree = await this.buildFileTree(runtime, testName);
256
- if (!tree) {
257
- return [];
258
- }
259
- // Find the node corresponding to the path
260
- const parts = path.split('/').filter(p => p.length > 0);
261
- let currentNode = tree;
262
- for (const part of parts) {
263
- if (currentNode.children.has(part)) {
264
- currentNode = currentNode.children.get(part);
265
- }
266
- else {
267
- return [];
268
- }
269
- }
270
- return this.buildTreeItems(currentNode, runtime, testName);
271
- }
272
- }
@@ -1,6 +0,0 @@
1
- export var TreeItemType;
2
- (function (TreeItemType) {
3
- TreeItemType[TreeItemType["Runtime"] = 0] = "Runtime";
4
- TreeItemType[TreeItemType["Test"] = 1] = "Test";
5
- TreeItemType[TreeItemType["File"] = 2] = "File";
6
- })(TreeItemType || (TreeItemType = {}));
@@ -1,5 +0,0 @@
1
- // the esbuild configuration for testeranto/node
2
- export default {
3
- loaders: [],
4
- plugins: []
5
- };
@@ -1,4 +0,0 @@
1
- // the esbuild configuration for testeranto/web
2
- export default {
3
- loaders: []
4
- };
@@ -1,68 +0,0 @@
1
- const config = {
2
- featureIngestor: function (s) {
3
- throw new Error("Function not implemented.");
4
- },
5
- runtimes: {
6
- nodetests: ({
7
- runtime: "node",
8
- tests: ["example/Calculator.test.ts"],
9
- checks: [
10
- (x) => `yarn eslint`,
11
- (x) => `yarn tsc --noEmit`,
12
- ],
13
- dockerfile: `testeranto/runtimes/node/node.Dockerfile`,
14
- buildOptions: `testeranto/runtimes/node/node.ts`
15
- }),
16
- webtests: ({
17
- runtime: "web",
18
- tests: ["example/Calculator.test.ts"],
19
- checks: [
20
- (x) => `yarn eslint`,
21
- (x) => `yarn tsc --noEmit`,
22
- ],
23
- dockerfile: `testeranto/runtimes/web/web.Dockerfile`,
24
- buildOptions: `testeranto/runtimes/web/web.ts`
25
- }),
26
- pythontests: ({
27
- runtime: "python",
28
- tests: ["example/Calculator.test.py"],
29
- checks: [
30
- (x) => `yarn eslint`,
31
- (x) => `yarn tsc --noEmit`,
32
- ],
33
- dockerfile: `testeranto/runtimes/python/python.Dockerfile`,
34
- buildOptions: `testeranto/runtimes/python/python.ts`
35
- }),
36
- golangtests: ({
37
- runtime: "golang",
38
- tests: ["example/Calculator.test.go"],
39
- checks: [
40
- (x) => `yarn eslint`,
41
- (x) => `yarn tsc --noEmit`,
42
- ],
43
- dockerfile: `testeranto/runtimes/golang/golang.Dockerfile`,
44
- buildOptions: `testeranto/runtimes/golang/golang.ts`
45
- }),
46
- rusttests: ({
47
- runtime: "rust",
48
- tests: ["example/Calculator.test.rs"],
49
- checks: [
50
- (x) => `yarn eslint`,
51
- (x) => `yarn tsc --noEmit`,
52
- ],
53
- dockerfile: `testeranto/runtimes/rust/rust.Dockerfile`,
54
- buildOptions: `testeranto/runtimes/rust/rust.ts`
55
- }),
56
- rubytests: ({
57
- runtime: "ruby",
58
- tests: ["example/Calculator.test.rb"],
59
- checks: [
60
- (x) => `yarn eslint`,
61
- (x) => `yarn tsc --noEmit`,
62
- ],
63
- dockerfile: `testeranto/runtimes/ruby/ruby.Dockerfile`,
64
- buildOptions: `testeranto/runtimes/ruby/ruby.ts`
65
- }),
66
- },
67
- };
68
- export default config;