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,270 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.ProcessesTreeDataProvider = void 0;
37
- const vscode = __importStar(require("vscode"));
38
- const TestTreeItem_1 = require("../TestTreeItem");
39
- const types_1 = require("../types");
40
- class ProcessesTreeDataProvider {
41
- constructor() {
42
- this._onDidChangeTreeData = new vscode.EventEmitter();
43
- this.onDidChangeTreeData = this._onDidChangeTreeData.event;
44
- this.processes = [];
45
- this.refreshInterval = null;
46
- this.ws = null;
47
- this.isConnected = false;
48
- this.connectionAttempts = 0;
49
- this.maxConnectionAttempts = 5;
50
- // Start WebSocket connection
51
- this.connectWebSocket();
52
- // Start periodic refresh
53
- this.startRefreshing();
54
- }
55
- refresh() {
56
- // Trigger a fresh fetch from the WebSocket server
57
- this.fetchProcesses();
58
- // Also fire the event to update the view
59
- this._onDidChangeTreeData.fire();
60
- }
61
- getTreeItem(element) {
62
- return element;
63
- }
64
- getChildren(element) {
65
- if (!element) {
66
- return Promise.resolve(this.getProcessItems());
67
- }
68
- return Promise.resolve([]);
69
- }
70
- getProcessItems() {
71
- // If not connected, show connection status with retry option
72
- if (!this.isConnected) {
73
- const items = [];
74
- // Check if we've exceeded max connection attempts
75
- if (this.connectionAttempts >= this.maxConnectionAttempts) {
76
- items.push(new TestTreeItem_1.TestTreeItem("❌ Failed to connect to Docker process server", types_1.TreeItemType.File, vscode.TreeItemCollapsibleState.None, {
77
- description: "Make sure the Testeranto server is running on port 3456",
78
- connectionFailed: true
79
- }, {
80
- command: "testeranto.retryConnection",
81
- title: "Retry Connection",
82
- arguments: [this]
83
- }, new vscode.ThemeIcon("error", new vscode.ThemeColor("testing.iconFailed"))));
84
- // Add a retry button
85
- items.push(new TestTreeItem_1.TestTreeItem("Click to retry connection", types_1.TreeItemType.File, vscode.TreeItemCollapsibleState.None, {
86
- description: "Or run the Testeranto server first",
87
- retry: true
88
- }, {
89
- command: "testeranto.retryConnection",
90
- title: "Retry Connection",
91
- arguments: [this]
92
- }, new vscode.ThemeIcon("refresh", new vscode.ThemeColor("testing.iconQueued"))));
93
- // Show how to start the server
94
- items.push(new TestTreeItem_1.TestTreeItem("To start the server, run:", types_1.TreeItemType.File, vscode.TreeItemCollapsibleState.None, {
95
- description: "npm start in the project root",
96
- info: true
97
- }, undefined, new vscode.ThemeIcon("info", new vscode.ThemeColor("testing.iconUnset"))));
98
- }
99
- else {
100
- items.push(new TestTreeItem_1.TestTreeItem("Connecting to Docker process server...", types_1.TreeItemType.File, vscode.TreeItemCollapsibleState.None, {
101
- description: `Attempt ${this.connectionAttempts + 1}/${this.maxConnectionAttempts} to WebSocket server on port 3456`,
102
- connecting: true
103
- }, undefined, new vscode.ThemeIcon("sync", new vscode.ThemeColor("testing.iconQueued"))));
104
- // Add a manual refresh option
105
- items.push(new TestTreeItem_1.TestTreeItem("Click to manually refresh", types_1.TreeItemType.File, vscode.TreeItemCollapsibleState.None, {
106
- description: "Try to reconnect immediately",
107
- manualRefresh: true
108
- }, {
109
- command: "testeranto.refresh",
110
- title: "Refresh",
111
- arguments: []
112
- }, new vscode.ThemeIcon("refresh", new vscode.ThemeColor("testing.iconQueued"))));
113
- }
114
- return items;
115
- }
116
- // Connected but no processes
117
- if (this.processes.length === 0) {
118
- return [
119
- new TestTreeItem_1.TestTreeItem("No Docker processes found", types_1.TreeItemType.File, vscode.TreeItemCollapsibleState.None, {
120
- description: "Waiting for Docker containers to start",
121
- noProcesses: true
122
- }, undefined, new vscode.ThemeIcon("info", new vscode.ThemeColor("testing.iconUnset"))),
123
- new TestTreeItem_1.TestTreeItem("Click to refresh", types_1.TreeItemType.File, vscode.TreeItemCollapsibleState.None, {
124
- description: "Check for new Docker containers",
125
- refresh: true
126
- }, {
127
- command: "testeranto.refresh",
128
- title: "Refresh",
129
- arguments: []
130
- }, new vscode.ThemeIcon("refresh", new vscode.ThemeColor("testing.iconQueued")))
131
- ];
132
- }
133
- // Show connected status and processes
134
- const items = [
135
- new TestTreeItem_1.TestTreeItem(`✅ Connected to Docker process server`, types_1.TreeItemType.File, vscode.TreeItemCollapsibleState.None, {
136
- description: `Found ${this.processes.length} container(s)`,
137
- connected: true
138
- }, undefined, new vscode.ThemeIcon("check", new vscode.ThemeColor("testing.iconPassed"))),
139
- new TestTreeItem_1.TestTreeItem("Click to refresh", types_1.TreeItemType.File, vscode.TreeItemCollapsibleState.None, {
140
- description: "Update Docker container list",
141
- refresh: true
142
- }, {
143
- command: "testeranto.refresh",
144
- title: "Refresh",
145
- arguments: []
146
- }, new vscode.ThemeIcon("refresh", new vscode.ThemeColor("testing.iconQueued")))
147
- ];
148
- // Add all processes
149
- items.push(...this.processes.map(process => {
150
- let icon;
151
- const status = process.status || '';
152
- if (status.toLowerCase().includes('up') || status.toLowerCase().includes('running')) {
153
- icon = new vscode.ThemeIcon("check", new vscode.ThemeColor("testing.iconPassed"));
154
- }
155
- else if (status.toLowerCase().includes('exited') || status.toLowerCase().includes('stopped')) {
156
- icon = new vscode.ThemeIcon("error", new vscode.ThemeColor("testing.iconFailed"));
157
- }
158
- else {
159
- icon = new vscode.ThemeIcon("circle-outline", new vscode.ThemeColor("testing.iconUnset"));
160
- }
161
- const label = `${process.processId || process.name || 'Unknown'} - ${status || 'unknown'}`;
162
- const description = process.command || process.image || 'No command';
163
- return new TestTreeItem_1.TestTreeItem(label, types_1.TreeItemType.File, vscode.TreeItemCollapsibleState.None, {
164
- description: description,
165
- status: status,
166
- processId: process.processId,
167
- runtime: process.runtime,
168
- ports: process.ports
169
- }, undefined, icon);
170
- }));
171
- return items;
172
- }
173
- connectWebSocket() {
174
- if (this.connectionAttempts >= this.maxConnectionAttempts) {
175
- console.error('Max WebSocket connection attempts reached');
176
- return;
177
- }
178
- this.connectionAttempts++;
179
- try {
180
- // Use the ws library for Node.js environment
181
- const WS = require('ws');
182
- // The WebSocket server runs on port 3456
183
- this.ws = new WS('ws://localhost:3456/ws');
184
- this.ws.on('open', () => {
185
- console.log('WebSocket connected to process server');
186
- this.isConnected = true;
187
- this.connectionAttempts = 0;
188
- // Request initial processes
189
- this.requestProcesses();
190
- });
191
- this.ws.on('message', (data) => {
192
- try {
193
- const message = JSON.parse(data.toString());
194
- this.handleWebSocketMessage(message);
195
- }
196
- catch (error) {
197
- console.error('Error parsing WebSocket message:', error);
198
- }
199
- });
200
- this.ws.on('error', (error) => {
201
- console.error('WebSocket error:', error);
202
- this.isConnected = false;
203
- });
204
- this.ws.on('close', () => {
205
- console.log('WebSocket disconnected');
206
- this.isConnected = false;
207
- // Attempt to reconnect after 5 seconds
208
- setTimeout(() => {
209
- this.connectWebSocket();
210
- }, 5000);
211
- });
212
- }
213
- catch (error) {
214
- console.error('Failed to create WebSocket:', error);
215
- this.isConnected = false;
216
- }
217
- }
218
- handleWebSocketMessage(message) {
219
- if (message.type === 'processes') {
220
- if (message.data && message.data.processes) {
221
- this.processes = message.data.processes;
222
- this._onDidChangeTreeData.fire();
223
- }
224
- }
225
- else if (message.type === 'connected') {
226
- console.log('Connected to process server:', message.message);
227
- this.isConnected = true;
228
- // Request processes after connection
229
- this.requestProcesses();
230
- }
231
- }
232
- requestProcesses() {
233
- if (this.ws && this.ws.readyState === 1) { // 1 = OPEN
234
- this.ws.send(JSON.stringify({
235
- type: 'getProcesses'
236
- }));
237
- }
238
- else {
239
- console.warn('WebSocket not ready, cannot request processes');
240
- }
241
- }
242
- async fetchProcesses() {
243
- if (this.isConnected) {
244
- this.requestProcesses();
245
- }
246
- else {
247
- // Try to reconnect if not connected
248
- this.connectWebSocket();
249
- }
250
- }
251
- startRefreshing() {
252
- // Fetch immediately
253
- this.fetchProcesses();
254
- // Set up periodic refresh every 10 seconds
255
- this.refreshInterval = setInterval(() => {
256
- this.fetchProcesses();
257
- }, 10000);
258
- }
259
- dispose() {
260
- if (this.refreshInterval) {
261
- clearInterval(this.refreshInterval);
262
- this.refreshInterval = null;
263
- }
264
- if (this.ws) {
265
- this.ws.close();
266
- this.ws = null;
267
- }
268
- }
269
- }
270
- exports.ProcessesTreeDataProvider = ProcessesTreeDataProvider;
@@ -1,87 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.ResultsTreeDataProvider = void 0;
37
- const vscode = __importStar(require("vscode"));
38
- const TestTreeItem_1 = require("../TestTreeItem");
39
- const types_1 = require("../types");
40
- class ResultsTreeDataProvider {
41
- constructor() {
42
- this._onDidChangeTreeData = new vscode.EventEmitter();
43
- this.onDidChangeTreeData = this._onDidChangeTreeData.event;
44
- }
45
- refresh() {
46
- this._onDidChangeTreeData.fire();
47
- }
48
- getTreeItem(element) {
49
- return element;
50
- }
51
- getChildren(element) {
52
- if (!element) {
53
- return Promise.resolve(this.getResultItems());
54
- }
55
- return Promise.resolve([]);
56
- }
57
- getResultItems() {
58
- const results = [
59
- {
60
- label: "Calculator.test.ts - ✓ Passed",
61
- test: "Calculator.test.ts",
62
- status: "passed",
63
- icon: new vscode.ThemeIcon("check", new vscode.ThemeColor("testing.iconPassed"))
64
- },
65
- {
66
- label: "Calculator.pitono.test.py - ⏳ Running",
67
- test: "Calculator.pitono.test.py",
68
- status: "running",
69
- icon: new vscode.ThemeIcon("sync", new vscode.ThemeColor("testing.iconQueued"))
70
- },
71
- {
72
- label: "Calculator.golingvu.test.go - ✗ Failed",
73
- test: "Calculator.golingvu.test.go",
74
- status: "failed",
75
- icon: new vscode.ThemeIcon("error", new vscode.ThemeColor("testing.iconFailed"))
76
- },
77
- {
78
- label: "Calculator.test.ts (web) - ✓ Passed",
79
- test: "Calculator.test.ts (web)",
80
- status: "passed",
81
- icon: new vscode.ThemeIcon("check", new vscode.ThemeColor("testing.iconPassed"))
82
- }
83
- ];
84
- return results.map(result => new TestTreeItem_1.TestTreeItem(result.label, types_1.TreeItemType.Test, vscode.TreeItemCollapsibleState.None, { test: result.test, status: result.status }, undefined, result.icon));
85
- }
86
- }
87
- exports.ResultsTreeDataProvider = ResultsTreeDataProvider;
@@ -1,309 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.TestTreeDataProvider = void 0;
37
- const vscode = __importStar(require("vscode"));
38
- const TestTreeItem_1 = require("../TestTreeItem");
39
- const types_1 = require("../types");
40
- class TestTreeDataProvider {
41
- constructor() {
42
- this._onDidChangeTreeData = new vscode.EventEmitter();
43
- this.onDidChangeTreeData = this._onDidChangeTreeData.event;
44
- }
45
- refresh() {
46
- this._onDidChangeTreeData.fire();
47
- }
48
- getTreeItem(element) {
49
- return element;
50
- }
51
- getChildren(element) {
52
- var _a, _b, _c;
53
- if (!element) {
54
- return Promise.resolve(this.getRuntimeItems());
55
- }
56
- else if (element.type === types_1.TreeItemType.Runtime) {
57
- const runtime = (_a = element.data) === null || _a === void 0 ? void 0 : _a.runtime;
58
- return Promise.resolve(this.getTestItems(runtime));
59
- }
60
- else if (element.type === types_1.TreeItemType.Test) {
61
- const { runtime, testName } = element.data || {};
62
- return this.getFileTreeItems(runtime, testName);
63
- }
64
- else if (element.type === types_1.TreeItemType.File) {
65
- // Handle expanding directories
66
- const { runtime, testName, path } = element.data || {};
67
- 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
68
- return this.getDirectoryItems(runtime, testName, path);
69
- }
70
- }
71
- return Promise.resolve([]);
72
- }
73
- getRuntimeItems() {
74
- const runtimes = [
75
- { label: "Node", runtime: "node" },
76
- { label: "Web", runtime: "web" },
77
- { label: "Python", runtime: "python" },
78
- { label: "Golang", runtime: "golang" }
79
- ];
80
- return runtimes.map(({ label, runtime }) => new TestTreeItem_1.TestTreeItem(label, types_1.TreeItemType.Runtime, vscode.TreeItemCollapsibleState.Collapsed, { runtime }));
81
- }
82
- getTestItems(runtime) {
83
- if (!runtime) {
84
- return [];
85
- }
86
- let testNames = [];
87
- switch (runtime) {
88
- case "node":
89
- case "web":
90
- testNames = ["Calculator.test.ts"];
91
- break;
92
- case "python":
93
- testNames = ["Calculator.pitono.test.py"];
94
- break;
95
- case "golang":
96
- testNames = ["Calculator.golingvu.test.go"];
97
- break;
98
- default:
99
- testNames = [];
100
- }
101
- return testNames.map(testName => new TestTreeItem_1.TestTreeItem(testName, types_1.TreeItemType.Test, vscode.TreeItemCollapsibleState.Collapsed, { runtime, testName }));
102
- }
103
- async getFileItems(runtime, testName) {
104
- console.log("getFileItems");
105
- if (!runtime || !testName) {
106
- return [];
107
- }
108
- // Determine which JSON file to read based on runtime and testName
109
- let jsonFilePath;
110
- switch (runtime) {
111
- case "golang":
112
- jsonFilePath = "testeranto/bundles/allTests/golang/example/Calculator.test.go-inputFiles.json";
113
- break;
114
- case "python":
115
- jsonFilePath = "testeranto/bundles/allTests/python/example/Calculator.test.py-inputFiles.json";
116
- break;
117
- case "node":
118
- jsonFilePath = "testeranto/bundles/allTests/node/example/Calculator.test.mjs-inputFiles.json";
119
- break;
120
- case "web":
121
- jsonFilePath = "testeranto/bundles/allTests/web/example/Calculator.test.mjs-inputFiles.json";
122
- break;
123
- case "ruby":
124
- jsonFilePath = "testeranto/bundles/allTests/ruby/example/Calculator.test.rb-inputFiles.json";
125
- break;
126
- default:
127
- return [];
128
- }
129
- try {
130
- // Get the workspace root
131
- const workspaceFolders = vscode.workspace.workspaceFolders;
132
- if (!workspaceFolders || workspaceFolders.length === 0) {
133
- throw new Error("No workspace folder open");
134
- }
135
- const workspaceRoot = workspaceFolders[0].uri;
136
- // Build the full URI to the JSON file
137
- const jsonFileUri = vscode.Uri.joinPath(workspaceRoot, jsonFilePath);
138
- console.log(`Reading JSON from: ${jsonFileUri.fsPath}`);
139
- // Read the JSON file
140
- const fileContent = await vscode.workspace.fs.readFile(jsonFileUri);
141
- const files = JSON.parse(Buffer.from(fileContent).toString('utf-8'));
142
- console.log(`Found ${files.length} files in JSON`);
143
- // Build a tree structure
144
- const treeRoot = { name: '', children: new Map(), fullPath: '', isFile: false };
145
- for (const rawFileName of files) {
146
- // Remove leading '/' if present to make paths relative to workspace root
147
- const fileName = rawFileName.startsWith('/') ? rawFileName.substring(1) : rawFileName;
148
- const parts = fileName.split('/');
149
- let currentNode = treeRoot;
150
- for (let i = 0; i < parts.length; i++) {
151
- const part = parts[i];
152
- const isLast = i === parts.length - 1;
153
- if (!currentNode.children.has(part)) {
154
- currentNode.children.set(part, {
155
- name: part,
156
- children: new Map(),
157
- fullPath: parts.slice(0, i + 1).join('/'),
158
- isFile: isLast
159
- });
160
- }
161
- currentNode = currentNode.children.get(part);
162
- }
163
- }
164
- // Convert tree to TestTreeItems
165
- return this.buildTreeItems(treeRoot, runtime, testName, workspaceRoot);
166
- }
167
- catch (error) {
168
- console.error(`Failed to read file list from ${jsonFilePath}:`, error);
169
- vscode.window.showErrorMessage(`Could not load file list for ${testName}: ${error}`);
170
- // Return empty array to prevent tree view from crashing
171
- return [];
172
- }
173
- }
174
- async getFileTreeItems(runtime, testName) {
175
- const tree = await this.buildFileTree(runtime, testName);
176
- if (!tree) {
177
- return [];
178
- }
179
- return this.buildTreeItems(tree, runtime, testName);
180
- }
181
- async buildFileTree(runtime, testName) {
182
- // Determine which JSON file to read based on runtime and testName
183
- let jsonFilePath;
184
- switch (runtime) {
185
- case "golang":
186
- jsonFilePath = "testeranto/bundles/allTests/golang/example/Calculator.test.go-inputFiles.json";
187
- break;
188
- case "python":
189
- jsonFilePath = "testeranto/bundles/allTests/python/example/Calculator.test.py-inputFiles.json";
190
- break;
191
- case "node":
192
- jsonFilePath = "testeranto/bundles/allTests/node/example/Calculator.test.mjs-inputFiles.json";
193
- break;
194
- case "web":
195
- jsonFilePath = "testeranto/bundles/allTests/web/example/Calculator.test.mjs-inputFiles.json";
196
- break;
197
- default:
198
- return null;
199
- }
200
- try {
201
- const workspaceFolders = vscode.workspace.workspaceFolders;
202
- if (!workspaceFolders || workspaceFolders.length === 0) {
203
- throw new Error("No workspace folder open");
204
- }
205
- const workspaceRoot = workspaceFolders[0].uri;
206
- // Read files from JSON input file
207
- const jsonFileUri = vscode.Uri.joinPath(workspaceRoot, jsonFilePath);
208
- const fileContent = await vscode.workspace.fs.readFile(jsonFileUri);
209
- const files = JSON.parse(Buffer.from(fileContent).toString('utf-8'));
210
- const allFiles = new Set(files);
211
- // Add report files for this runtime
212
- try {
213
- const reportsDir = vscode.Uri.joinPath(workspaceRoot, "testeranto/reports/allTests/example");
214
- // Check if directory exists
215
- try {
216
- await vscode.workspace.fs.stat(reportsDir);
217
- // Read directory contents
218
- const entries = await vscode.workspace.fs.readDirectory(reportsDir);
219
- for (const [name, type] of entries) {
220
- if (type === vscode.FileType.File && name.endsWith('.json')) {
221
- // Check if this report file matches the current runtime
222
- // For example: python.Calculator.test.ts.json starts with "python"
223
- if (name.startsWith(runtime + '.')) {
224
- const reportFilePath = `testeranto/reports/allTests/example/${name}`;
225
- allFiles.add(reportFilePath);
226
- }
227
- }
228
- }
229
- }
230
- catch (error) {
231
- console.log(`Reports directory doesn't exist or can't be read: ${reportsDir.fsPath}`);
232
- }
233
- }
234
- catch (error) {
235
- console.error(`Failed to scan reports directory:`, error);
236
- }
237
- const treeRoot = { name: '', children: new Map(), fullPath: '', isFile: false };
238
- for (const rawFileName of Array.from(allFiles)) {
239
- const fileName = rawFileName.startsWith('/') ? rawFileName.substring(1) : rawFileName;
240
- const parts = fileName.split('/');
241
- let currentNode = treeRoot;
242
- for (let i = 0; i < parts.length; i++) {
243
- const part = parts[i];
244
- const isLast = i === parts.length - 1;
245
- if (!currentNode.children.has(part)) {
246
- currentNode.children.set(part, {
247
- name: part,
248
- children: new Map(),
249
- fullPath: parts.slice(0, i + 1).join('/'),
250
- isFile: isLast
251
- });
252
- }
253
- currentNode = currentNode.children.get(part);
254
- }
255
- }
256
- return treeRoot;
257
- }
258
- catch (error) {
259
- console.error(`Failed to build file tree:`, error);
260
- return null;
261
- }
262
- }
263
- buildTreeItems(node, runtime, testName) {
264
- const items = [];
265
- const sortedChildren = Array.from(node.children.values()).sort((a, b) => {
266
- if (a.isFile && !b.isFile)
267
- return 1;
268
- if (!a.isFile && b.isFile)
269
- return -1;
270
- return a.name.localeCompare(b.name);
271
- });
272
- for (const child of sortedChildren) {
273
- const collapsibleState = child.isFile
274
- ? vscode.TreeItemCollapsibleState.None
275
- : vscode.TreeItemCollapsibleState.Collapsed;
276
- const treeItem = new TestTreeItem_1.TestTreeItem(child.name, types_1.TreeItemType.File, collapsibleState, {
277
- runtime,
278
- testName,
279
- fileName: child.fullPath,
280
- path: child.fullPath
281
- }, child.isFile ? {
282
- command: "vscode.open",
283
- title: "Open File",
284
- arguments: [vscode.Uri.file(child.fullPath)]
285
- } : undefined, child.isFile ? new vscode.ThemeIcon("file") : new vscode.ThemeIcon("folder"));
286
- items.push(treeItem);
287
- }
288
- return items;
289
- }
290
- async getDirectoryItems(runtime, testName, path) {
291
- const tree = await this.buildFileTree(runtime, testName);
292
- if (!tree) {
293
- return [];
294
- }
295
- // Find the node corresponding to the path
296
- const parts = path.split('/').filter(p => p.length > 0);
297
- let currentNode = tree;
298
- for (const part of parts) {
299
- if (currentNode.children.has(part)) {
300
- currentNode = currentNode.children.get(part);
301
- }
302
- else {
303
- return [];
304
- }
305
- }
306
- return this.buildTreeItems(currentNode, runtime, testName);
307
- }
308
- }
309
- exports.TestTreeDataProvider = TestTreeDataProvider;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TreeItemType = void 0;
4
- var TreeItemType;
5
- (function (TreeItemType) {
6
- TreeItemType[TreeItemType["Runtime"] = 0] = "Runtime";
7
- TreeItemType[TreeItemType["Test"] = 1] = "Test";
8
- TreeItemType[TreeItemType["File"] = 2] = "File";
9
- })(TreeItemType || (exports.TreeItemType = TreeItemType = {}));
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- // the esbuild configuration for testeranto/node
4
- exports.default = {
5
- loaders: [],
6
- plugins: []
7
- };