testeranto 0.219.11 → 0.219.13

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 (126) hide show
  1. package/dist/common/src/Types.js +61 -0
  2. package/dist/common/src/esbuildConfigs/index.js +2 -1
  3. package/dist/common/src/server/runtimes/node/docker.js +7 -6
  4. package/dist/common/src/server/runtimes/node/esbuild.js +18 -18
  5. package/dist/common/src/server/runtimes/node/node.js +12 -8
  6. package/dist/common/src/server/serverClasees/Server_Base.js +2 -1
  7. package/dist/common/src/server/serverClasees/Server_Docker.js +81 -99
  8. package/dist/common/src/testeranto.js +29 -31
  9. package/dist/common/testeranto/runtimes/node/node.js +2 -1
  10. package/dist/common/testeranto/testeranto.js +70 -0
  11. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  12. package/dist/module/src/Types.js +61 -0
  13. package/dist/module/src/esbuildConfigs/index.js +2 -1
  14. package/dist/module/src/server/runtimes/node/docker.js +7 -6
  15. package/dist/module/src/server/runtimes/node/esbuild.js +18 -18
  16. package/dist/module/src/server/runtimes/node/node.js +12 -8
  17. package/dist/module/src/server/serverClasees/Server_Base.js +2 -1
  18. package/dist/module/src/server/serverClasees/Server_Docker.js +81 -99
  19. package/dist/module/src/testeranto.js +29 -28
  20. package/dist/module/testeranto/runtimes/node/node.js +2 -1
  21. package/dist/module/testeranto/testeranto.js +68 -0
  22. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  23. package/dist/prebuild/{chunk-MU5PJQAO.mjs → chunk-QLT7PNPK.mjs} +3 -3
  24. package/dist/prebuild/server/runtimes/node/node.mjs +20 -21
  25. package/dist/prebuild/server/runtimes/web/web.mjs +1 -1
  26. package/dist/prebuild/testeranto-6SAYRVSE.mjs +72 -0
  27. package/dist/prebuild/testeranto.mjs +75 -108
  28. package/dist/types/{Types.d.ts → src/Types.d.ts} +14 -79
  29. package/dist/types/src/esbuildConfigs/index.d.ts +3 -0
  30. package/dist/types/{server → src/server}/runtimes/golang/docker.d.ts +2 -2
  31. package/dist/types/src/server/runtimes/node/docker.d.ts +14 -0
  32. package/dist/types/src/server/runtimes/node/esbuild.d.ts +4 -0
  33. package/dist/types/{server → src/server}/serverClasees/Server.d.ts +2 -2
  34. package/dist/types/{server → src/server}/serverClasees/Server_Base.d.ts +3 -3
  35. package/dist/types/{server → src/server}/serverClasees/Server_Docker.d.ts +2 -2
  36. package/dist/types/{server → src/server}/serverClasees/Server_HTTP.d.ts +2 -2
  37. package/dist/types/{server → src/server}/serverClasees/Server_WS.d.ts +2 -2
  38. package/dist/types/testeranto/testeranto.d.ts +3 -0
  39. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  40. package/package.json +1 -1
  41. package/src/Types.ts +132 -69
  42. package/src/esbuildConfigs/index.ts +4 -3
  43. package/src/lib/pitono/pyproject.toml +1 -1
  44. package/src/server/runtimes/golang/docker.ts +2 -2
  45. package/src/server/runtimes/node/docker.ts +10 -7
  46. package/src/server/runtimes/node/esbuild.ts +21 -19
  47. package/src/server/runtimes/node/node.ts +14 -9
  48. package/src/server/serverClasees/Server.ts +3 -2
  49. package/src/server/serverClasees/Server_Base.ts +7 -6
  50. package/src/server/serverClasees/Server_Docker.ts +105 -111
  51. package/src/server/serverClasees/Server_HTTP.ts +2 -2
  52. package/src/server/serverClasees/Server_WS.ts +2 -2
  53. package/src/testeranto.ts +37 -32
  54. package/testeranto/bundles/allTests/node/{Node-JOOBJDHW.mjs → Node-MSIIDKGC.mjs} +64 -28
  55. package/testeranto/docker-compose.yml +34 -74
  56. package/testeranto/runtimes/node/node.Dockerfile +0 -1
  57. package/testeranto/runtimes/node/node.ts +2 -1
  58. package/testeranto/testeranto.ts +90 -0
  59. package/tsconfig.json +1 -1
  60. package/allTests.ts +0 -52
  61. package/dist/common/allTests.js +0 -39
  62. package/dist/module/allTests.js +0 -37
  63. package/dist/types/esbuildConfigs/index.d.ts +0 -4
  64. package/dist/types/server/runtimes/node/docker.d.ts +0 -14
  65. package/dist/types/server/runtimes/node/esbuild.d.ts +0 -4
  66. /package/dist/types/{Init.d.ts → src/Init.d.ts} +0 -0
  67. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/consoleDetectorPlugin.d.ts +0 -0
  68. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/eslint-formatter-testeranto.d.ts +0 -0
  69. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/featuresPlugin.d.ts +0 -0
  70. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/inputFilesPlugin.d.ts +0 -0
  71. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/nativeImportDetectorPlugin.d.ts +0 -0
  72. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/rebuildPlugin.d.ts +0 -0
  73. /package/dist/types/{init-docs.d.ts → src/init-docs.d.ts} +0 -0
  74. /package/dist/types/{lib → src/lib}/tiposkripto/BaseGiven.d.ts +0 -0
  75. /package/dist/types/{lib → src/lib}/tiposkripto/BaseSuite.d.ts +0 -0
  76. /package/dist/types/{lib → src/lib}/tiposkripto/BaseThen.d.ts +0 -0
  77. /package/dist/types/{lib → src/lib}/tiposkripto/BaseTiposkripto.d.ts +0 -0
  78. /package/dist/types/{lib → src/lib}/tiposkripto/BaseWhen.d.ts +0 -0
  79. /package/dist/types/{lib → src/lib}/tiposkripto/CoreTypes.d.ts +0 -0
  80. /package/dist/types/{lib → src/lib}/tiposkripto/Node.d.ts +0 -0
  81. /package/dist/types/{lib → src/lib}/tiposkripto/Tiposkripto.d.ts +0 -0
  82. /package/dist/types/{lib → src/lib}/tiposkripto/Types.d.ts +0 -0
  83. /package/dist/types/{lib → src/lib}/tiposkripto/Web.d.ts +0 -0
  84. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/MockGiven.d.ts +0 -0
  85. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/MockThen.d.ts +0 -0
  86. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/MockWhen.d.ts +0 -0
  87. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/adapter.d.ts +0 -0
  88. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/implementation.d.ts +0 -0
  89. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/index.d.ts +0 -0
  90. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/specification.d.ts +0 -0
  91. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/types.d.ts +0 -0
  92. /package/dist/types/{lib → src/lib}/tiposkripto/index.d.ts +0 -0
  93. /package/dist/types/{runtimes.d.ts → src/runtimes.d.ts} +0 -0
  94. /package/dist/types/{server → src/server}/aider/configParser.d.ts +0 -0
  95. /package/dist/types/{server → src/server}/aider/docker.d.ts +0 -0
  96. /package/dist/types/{server → src/server}/getRunnables.d.ts +0 -0
  97. /package/dist/types/{server → src/server}/htmlTemplate.d.ts +0 -0
  98. /package/dist/types/{server → src/server}/nodeVersion.d.ts +0 -0
  99. /package/dist/types/{server → src/server}/runtimes/common.d.ts +0 -0
  100. /package/dist/types/{server → src/server}/runtimes/java/docker.d.ts +0 -0
  101. /package/dist/types/{server → src/server}/runtimes/node/node.d.ts +0 -0
  102. /package/dist/types/{server → src/server}/runtimes/python/docker.d.ts +0 -0
  103. /package/dist/types/{server → src/server}/runtimes/ruby/docker.d.ts +0 -0
  104. /package/dist/types/{server → src/server}/runtimes/rust/docker.d.ts +0 -0
  105. /package/dist/types/{server → src/server}/runtimes/web/docker.d.ts +0 -0
  106. /package/dist/types/{server → src/server}/runtimes/web/esbuild.d.ts +0 -0
  107. /package/dist/types/{server → src/server}/runtimes/web/hoist.d.ts +0 -0
  108. /package/dist/types/{server → src/server}/runtimes/web/web.d.ts +0 -0
  109. /package/dist/types/{server → src/server}/serverClasees/Server_FS.d.ts +0 -0
  110. /package/dist/types/{server → src/server}/serverManagers/DockerManager.d.ts +0 -0
  111. /package/dist/types/{server → src/server}/serverManagers/HttpManager.d.ts +0 -0
  112. /package/dist/types/{server → src/server}/serverManagers/WsManager.d.ts +0 -0
  113. /package/dist/types/{server → src/server}/serverManagers/fs.d.ts +0 -0
  114. /package/dist/types/{server → src/server}/serverManagers/tcp.d.ts +0 -0
  115. /package/dist/types/{server → src/server}/types.d.ts +0 -0
  116. /package/dist/types/{testeranto.d.ts → src/testeranto.d.ts} +0 -0
  117. /package/dist/types/{vscode → src/vscode}/TerminalManager.d.ts +0 -0
  118. /package/dist/types/{vscode → src/vscode}/TestTreeItem.d.ts +0 -0
  119. /package/dist/types/{vscode → src/vscode}/extension.d.ts +0 -0
  120. /package/dist/types/{vscode → src/vscode}/providers/FeaturesTreeDataProvider.d.ts +0 -0
  121. /package/dist/types/{vscode → src/vscode}/providers/FileTreeDataProvider.d.ts +0 -0
  122. /package/dist/types/{vscode → src/vscode}/providers/ProcessesTreeDataProvider.d.ts +0 -0
  123. /package/dist/types/{vscode → src/vscode}/providers/ResultsTreeDataProvider.d.ts +0 -0
  124. /package/dist/types/{vscode → src/vscode}/providers/TestTreeDataProvider.d.ts +0 -0
  125. /package/dist/types/{vscode → src/vscode}/types.d.ts +0 -0
  126. /package/testeranto/{testeranto.yml → testeranto-deprecateed.yml} +0 -0
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "testeranto",
3
3
  "displayName": "Testeranto",
4
4
  "description": "the Dockerized, AI powered, BDD test framework for polyglot projects",
5
- "version": "0.219.11",
5
+ "version": "0.219.13",
6
6
  "engines": {
7
7
  "node": ">=20.19.0",
8
8
  "vscode": "^1.60.0"
package/src/Types.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { Ibdd_in_any, Ibdd_out_any } from "./CoreTypes";
2
1
  import { ITestResourceConfiguration } from "./lib/tiposkripto";
3
- import { IGivens, BaseGiven } from "./lib/tiposkripto/BaseGiven";
2
+ import { BaseGiven, IGivens } from "./lib/tiposkripto/BaseGiven";
4
3
  import { BaseSuite } from "./lib/tiposkripto/BaseSuite";
5
4
  import { BaseThen } from "./lib/tiposkripto/BaseThen";
6
5
  import { BaseWhen } from "./lib/tiposkripto/BaseWhen";
6
+ import { Ibdd_in_any, Ibdd_out_any } from "./lib/tiposkripto/CoreTypes";
7
7
 
8
8
  export type IChecks = ((x: any) => string)[];
9
9
 
@@ -175,76 +175,139 @@ export type ITestTypes = [string, IRunTime, { ports: number }, ITestTypes[]];
175
175
 
176
176
  export type IDockerSteps = "RUN" | "WORKDIR" | "COPY";
177
177
 
178
- export type ITestconfig = {
179
- httpPort: number;
178
+ export type IBaseTestConfig = {
179
+ runtime: string;
180
+ tests: string[];
181
+ dockerfile: string;
182
+ buildOptions: string,
183
+ checks: IChecks;
184
+ }
180
185
 
181
- featureIngestor: (s: string) => Promise<string>;
182
- importPlugins: IPluginFactory[];
183
- ports: string[];
184
- src: string;
185
- check: string;
186
-
187
-
188
- java: {
189
- plugins: any[];
190
- tests: Record<string, { ports: number }>;
191
- loaders: Record<string, string>;
192
- checks: IChecks;
193
- dockerfile: string;
194
- };
195
-
196
-
197
- rust: {
198
- plugins: any[];
199
- tests: Record<string, { ports: number }>;
200
- loaders: Record<string, string>;
201
- checks: IChecks;
202
- dockerfile: string;
203
- };
204
-
205
- ruby: {
206
- plugins: any[];
207
- tests: Record<string, { ports: number }>;
208
- loaders: Record<string, string>;
209
- checks: IChecks;
210
- dockerfile: string;
211
- };
212
-
213
- golang: {
214
- plugins: any[];
215
- tests: Record<string, { ports: number }>;
216
- loaders: Record<string, string>;
217
- checks: IChecks;
218
- dockerfile: string;
219
- };
220
-
221
- python: {
222
- plugins: any[];
223
- tests: Record<string, { ports: number }>;
224
- loaders: Record<string, string>;
225
- checks: IChecks;
226
- dockerfile: string;
227
- };
186
+ export type ITestconfigV2Node = IBaseTestConfig & { plugins: any[] }
228
187
 
229
- node: {
230
- plugins: any[];
231
- tests: Record<string, { ports: number }>;
232
- loaders: Record<string, string>;
233
- externals: string[];
234
- checks: IChecks;
235
- dockerfile: string;
236
- };
188
+ export type ITestconfigV2 = {
189
+ featureIngestor: (s: string) => Promise<string>;
237
190
 
238
- web: {
239
- plugins: any[];
240
- tests: Record<string, { ports: number }>;
241
- loaders: Record<string, string>;
242
- externals: string[];
243
- checks: IChecks;
244
- dockerfile: string;
245
- };
191
+ runtimes: Record<string, IBaseTestConfig>
192
+
193
+ // java?: IBaseTestConfig;
194
+
195
+
196
+ // rust?: IBaseTestConfig;
197
+
198
+ // ruby: {
199
+ // plugins: any[];
200
+ // tests: Record<string, { ports: number }>;
201
+ // loaders: Record<string, string>;
202
+ // checks: IChecks;
203
+ // dockerfile: string;
204
+ // };
205
+
206
+ // golang: {
207
+ // plugins: any[];
208
+ // tests: Record<string, { ports: number }>;
209
+ // loaders: Record<string, string>;
210
+ // checks: IChecks;
211
+ // dockerfile: string;
212
+ // };
213
+
214
+ // python: {
215
+ // plugins: any[];
216
+ // tests: Record<string, { ports: number }>;
217
+ // loaders: Record<string, string>;
218
+ // checks: IChecks;
219
+ // dockerfile: string;
220
+ // };
221
+
222
+ // node: {
223
+ // plugins: any[];
224
+ // tests: Record<string, { ports: number }>;
225
+ // loaders: Record<string, string>;
226
+ // externals: string[];
227
+ // checks: IChecks;
228
+ // dockerfile: string;
229
+ // };
230
+
231
+ // web: {
232
+ // plugins: any[];
233
+ // tests: Record<string, { ports: number }>;
234
+ // loaders: Record<string, string>;
235
+ // externals: string[];
236
+ // checks: IChecks;
237
+ // dockerfile: string;
238
+ // };
246
239
  };
247
240
 
248
- export type IBuiltConfig = { buildDir: string } & ITestconfig;
241
+ // export type ITestconfig = {
242
+ // httpPort: number;
243
+
244
+ // featureIngestor: (s: string) => Promise<string>;
245
+ // importPlugins: IPluginFactory[];
246
+ // ports: string[];
247
+ // src: string;
248
+ // check: string;
249
+
250
+
251
+ // java: {
252
+ // plugins: any[];
253
+ // tests: Record<string, { ports: number }>;
254
+ // loaders: Record<string, string>;
255
+ // checks: IChecks;
256
+ // dockerfile: string;
257
+ // };
258
+
259
+
260
+ // rust: {
261
+ // plugins: any[];
262
+ // tests: Record<string, { ports: number }>;
263
+ // loaders: Record<string, string>;
264
+ // checks: IChecks;
265
+ // dockerfile: string;
266
+ // };
267
+
268
+ // ruby: {
269
+ // plugins: any[];
270
+ // tests: Record<string, { ports: number }>;
271
+ // loaders: Record<string, string>;
272
+ // checks: IChecks;
273
+ // dockerfile: string;
274
+ // };
275
+
276
+ // golang: {
277
+ // plugins: any[];
278
+ // tests: Record<string, { ports: number }>;
279
+ // loaders: Record<string, string>;
280
+ // checks: IChecks;
281
+ // dockerfile: string;
282
+ // };
283
+
284
+ // python: {
285
+ // plugins: any[];
286
+ // tests: Record<string, { ports: number }>;
287
+ // loaders: Record<string, string>;
288
+ // checks: IChecks;
289
+ // dockerfile: string;
290
+ // };
291
+
292
+ // node: {
293
+ // plugins: any[];
294
+ // tests: Record<string, { ports: number }>;
295
+ // loaders: Record<string, string>;
296
+ // externals: string[];
297
+ // checks: IChecks;
298
+ // dockerfile: string;
299
+ // };
300
+
301
+ // web: {
302
+ // plugins: any[];
303
+ // tests: Record<string, { ports: number }>;
304
+ // loaders: Record<string, string>;
305
+ // externals: string[];
306
+ // checks: IChecks;
307
+ // dockerfile: string;
308
+ // };
309
+ // };
310
+
311
+ // export type IBuiltConfig = { buildDir: string } & ITestconfig;
249
312
 
250
- export type IConfig = Map<string, [IRunTime, string, string, { tests: string[] }]>
313
+ // export type IConfig = Map<string, [IRunTime, string, string, { tests: string[] }]>
@@ -1,7 +1,8 @@
1
1
  import { BuildOptions } from "esbuild";
2
- import { ITestconfig } from "../Types";
2
+ import { ITestconfigV2Node } from "../Types";
3
+ // import { ITestconfig } from "../Types";
3
4
 
4
- export default (config: ITestconfig): BuildOptions => {
5
+ export default (config: object): BuildOptions => {
5
6
  return {
6
7
  // packages: "external",
7
8
  target: "esnext",
@@ -11,7 +12,7 @@ export default (config: ITestconfig): BuildOptions => {
11
12
  outbase: ".",
12
13
  jsx: "transform",
13
14
  bundle: true,
14
- minify: config.minify === true,
15
+ // minify: config.minify === true,
15
16
  write: true,
16
17
  loader: {
17
18
  ".js": "jsx",
@@ -12,7 +12,7 @@ dependencies = [
12
12
  "websockets>=12.0",
13
13
  ]
14
14
  authors = [
15
- { name = "Testeranto Team" }
15
+ { name = "ADam Wong" }
16
16
  ]
17
17
  classifiers = [
18
18
  "Development Status :: 3 - Alpha",
@@ -1,6 +1,6 @@
1
- import { IBuiltConfig, IConfig } from "../../../Types";
1
+ import { ITestconfigV2 } from "../../../Types";
2
2
 
3
- export const golangDockerComposeFile = (config: IConfig, container_name: string): object => {
3
+ export const golangDockerComposeFile = (config: ITestconfigV2, container_name: string): object => {
4
4
 
5
5
  return {
6
6
  build: {
@@ -1,6 +1,8 @@
1
- import { IConfig } from "../../../Types";
1
+ import { ITestconfigV2 } from "../../../Types";
2
2
 
3
- export const nodeDockerComposeFile = (config: IConfig, container_name: string, fpath: string) => {
3
+ export const nodeDockerComposeFile = (
4
+ config: ITestconfigV2, container_name: string, projectConfigPath: string, nodeConfigPath: string, testName: string
5
+ ) => {
4
6
  return {
5
7
  build: {
6
8
  context: process.cwd(),
@@ -18,24 +20,25 @@ export const nodeDockerComposeFile = (config: IConfig, container_name: string, f
18
20
  `${process.cwd()}/dist:/workspace/dist`,
19
21
  `${process.cwd()}/testeranto:/workspace/testeranto`,
20
22
  ],
21
- command: nodeBuildCommand(fpath),
23
+ command: nodeBuildCommand(projectConfigPath, nodeConfigPath, testName),
22
24
  }
23
25
 
24
26
  };
25
27
 
26
28
  const externalTests = true;
27
29
 
28
- export const nodeBuildCommand = (fpath: string) => {
30
+ export const nodeBuildCommand = (projectConfigPath: string, nodeConfigPath: string, testName: string) => {
29
31
 
30
32
  if (externalTests) {
31
- console.log("external tests", process.cwd())
33
+ console.log("external tests", testName)
32
34
  // return `cat node_modules/testeranto/src/server/runtimes/node/esbuild.ts`
33
- return `yarn tsx node_modules/testeranto/src/server/runtimes/node/node.ts ${fpath}`;
35
+ return `yarn tsx node_modules/testeranto/src/server/runtimes/node/node.ts /workspace/testeranto/testeranto.ts ${nodeConfigPath} ${testName}`;
34
36
  // return `cat node_modules/testeranto/src/server/runtimes/node/node.ts`
35
37
  // return ["sh", "-c", "cd /workspace && javac -cp \".:lib/*\" src/server/runtimes/java/main.java && java -cp \"src/server/runtimes/java:.\" main"]
36
38
  } else {
37
39
  console.log("not external tests")
38
- return `yarn tsx src/server/runtimes/node/node.ts /workspace/${fpath}`;
40
+ // return `yarn tsx src/server/runtimes/node/node.ts /workspace/${fpath}`;
41
+ return `yarn tsx src/server/runtimes/node/node.ts /workspace/testeranto/testeranto.ts /workspace/${nodeConfigPath} ${testName}`;
39
42
  }
40
43
 
41
44
  }
@@ -3,30 +3,32 @@ import featuresPlugin from "../../../esbuildConfigs/featuresPlugin.js";
3
3
  import baseEsBuildConfig from "../../../esbuildConfigs/index.js";
4
4
  import inputFilesPlugin from "../../../esbuildConfigs/inputFilesPlugin.js";
5
5
  import rebuildPlugin from "../../../esbuildConfigs/rebuildPlugin.js";
6
- import { ITestconfig } from "../../../Types.js";
6
+ import { ITestconfigV2, } from "../../../Types.js";
7
7
 
8
- const absoluteBundlesDir = (c: ITestconfig): string => {
8
+ const absoluteBundlesDir = (): string => {
9
9
  return "./testeranto/bundles/allTests/node/";
10
10
  };
11
11
 
12
12
  export default (
13
- projectConfig: ITestconfig,
14
- testName: string
13
+ nodeConfig: object,
14
+ testName: string,
15
+ projectConfig: ITestconfigV2
15
16
  ): BuildOptions => {
16
17
 
17
- console.log("mark77", projectConfig)
18
+ console.log("esbuild", testName, projectConfig)
18
19
 
20
+ const entryPoints = projectConfig.runtimes[testName].tests;
19
21
  // Get entry points from config, or use a default
20
- let entrypoints: string[] = [];
21
- if (projectConfig.node?.tests) {
22
- entrypoints = Object.keys(projectConfig.node.tests);
23
- } else {
24
- // console.log(projectConfig)
25
- throw "projectConfig.node.tests should exist"
26
- // Fallback to a reasonable default
27
- // entrypoints = ["./example/Calculator.test.ts"];
28
- // console.warn(`No node.tests found in config, using default entry point: ${entrypoints[0]}`);
29
- }
22
+ // let entrypoints: string[] = [];
23
+ // if (nodeConfig) {
24
+ // entrypoints = (projectConfig.tests);
25
+ // } else {
26
+ // // console.log(projectConfig)
27
+ // throw "projectConfig.node.tests should exist"
28
+ // // Fallback to a reasonable default
29
+ // // entrypoints = ["./example/Calculator.test.ts"];
30
+ // // console.warn(`No node.tests found in config, using default entry point: ${entrypoints[0]}`);
31
+ // }
30
32
 
31
33
  const { inputFilesPluginFactory, register } = inputFilesPlugin(
32
34
  "node",
@@ -34,9 +36,9 @@ export default (
34
36
  );
35
37
 
36
38
  return {
37
- ...baseEsBuildConfig(projectConfig),
39
+ ...baseEsBuildConfig(nodeConfig),
38
40
 
39
- outdir: absoluteBundlesDir(projectConfig),
41
+ outdir: absoluteBundlesDir(),
40
42
  outbase: ".", // Preserve directory structure relative to outdir
41
43
  metafile: true,
42
44
  supported: {
@@ -56,12 +58,12 @@ export default (
56
58
 
57
59
  packages: "external",
58
60
 
59
- entryPoints: entrypoints,
61
+ entryPoints,
60
62
  plugins: [
61
63
  featuresPlugin,
62
64
  inputFilesPluginFactory,
63
65
  rebuildPlugin("node"),
64
- ...(projectConfig.node?.plugins?.map((p) => p(register, entrypoints)) || []),
66
+ ...(nodeConfig.plugins?.map((p) => p(register, entryPoints)) || []),
65
67
  ],
66
68
  };
67
69
  };
@@ -1,31 +1,35 @@
1
1
 
2
2
  import esbuild from "esbuild";
3
- import { IBuiltConfig } from "../../../Types";
4
- import nodeConfiger from "./esbuild";
3
+ import { ITestconfigV2, ITestconfigV2Node } from "../../../Types";
5
4
  import {
6
5
  processMetafile
7
6
  } from "../common";
7
+ import nodeConfiger from "./esbuild";
8
8
 
9
9
  console.log(`[NODE BUILDER] hello: ${process.argv}`);
10
10
 
11
- const nodeConfigPath = process.argv[2];
12
- const testName = process.argv[3] || "allTests";
11
+ const projectConfigPath = process.argv[2];
12
+ const nodeConfigPath = process.argv[3];
13
+ const testName = process.argv[4];
13
14
 
15
+ console.log(`[NODE BUILDER] projectConfigPath: ${projectConfigPath}`);
14
16
  console.log(`[NODE BUILDER] nodeConfig: ${nodeConfigPath}`);
17
+ console.log(`[NODE BUILDER] testName: ${testName}`);
15
18
 
16
19
  // run esbuild in watch mode using esbuildConfigs. Write to fs the bundle and metafile
17
20
  async function startBundling(
18
- config: IBuiltConfig
21
+ nodeConfigs: any,
22
+ projectConfig: ITestconfigV2
19
23
  ) {
20
24
  console.log(`[NODE BUILDER] is now bundling: ${testName}`);
21
- const n = nodeConfiger(config, testName);
25
+ const n = nodeConfiger(nodeConfigs, testName, projectConfig);
22
26
 
23
27
  const buildResult = await esbuild.build(n);
24
28
 
25
29
  // const metafilesDir =
26
30
  // process.env.METAFILES_DIR || "/workspace/testeranto/metafiles/node";
27
31
  if (buildResult.metafile) {
28
- await processMetafile(config, buildResult.metafile, 'node');
32
+ await processMetafile(projectConfig, buildResult.metafile, 'node');
29
33
 
30
34
  } else {
31
35
  console.warn("No metafile generated by esbuild");
@@ -35,8 +39,9 @@ async function startBundling(
35
39
 
36
40
  async function main() {
37
41
  try {
38
- const config = (await import(nodeConfigPath)).default;
39
- await startBundling(config);
42
+ const nodeConfigs = (await import(nodeConfigPath)).default;
43
+ const projectConfigs = (await import(projectConfigPath)).default;
44
+ await startBundling(nodeConfigs, projectConfigs);
40
45
  } catch (error) {
41
46
  console.error("NODE BUILDER: Error importing config:", nodeConfigPath, error);
42
47
  console.error(error);
@@ -1,8 +1,9 @@
1
1
  import fs from "fs";
2
2
  import readline from "readline";
3
- import { IBuiltConfig, IConfig } from "../../Types";
3
+
4
4
  import { IMode } from "../types";
5
5
  import { Server_Docker } from "./Server_Docker";
6
+ import { ITestconfigV2 } from "../../Types";
6
7
 
7
8
  console.log("hello server")
8
9
 
@@ -10,7 +11,7 @@ readline.emitKeypressEvents(process.stdin);
10
11
  if (process.stdin.isTTY) process.stdin.setRawMode(true);
11
12
 
12
13
  export class Server extends Server_Docker {
13
- constructor(configs: IConfig, mode: IMode) {
14
+ constructor(configs: ITestconfigV2, mode: IMode) {
14
15
  super(configs, mode);
15
16
  console.log(("[Server] Press 'q' to initiate a graceful shutdown."));
16
17
  console.log(("[Server] Press 'CTRL + c' to quit forcefully."));
@@ -1,26 +1,27 @@
1
- import { IBuiltConfig, IConfig } from "../../Types";
1
+
2
+ import { ITestconfigV2 } from "../../Types";
2
3
  import { IMode } from "../types";
3
4
 
4
5
  export abstract class Server_Base {
5
6
  mode: IMode;
6
- configs: IConfig;
7
+ configs: ITestconfigV2;
7
8
 
8
9
 
9
- constructor(configs: IConfig, mode: IMode) {
10
+ constructor(configs: ITestconfigV2, mode: IMode) {
10
11
  this.configs = configs;
11
12
  this.mode = mode;
12
13
 
14
+ console.log(`[Base] ${this.configs}`)
15
+
13
16
  }
14
17
 
15
18
  async start() {
16
- console.log(`[Server_Base] start()`)
17
-
19
+ // console.log(`[Server_Base] start()`)
18
20
  }
19
21
 
20
22
  async stop() {
21
23
  console.log(`[Server_Base] stop()`)
22
24
  process.exit()
23
-
24
25
  }
25
26
 
26
27