testeranto 0.74.0 → 0.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/.eslintrc.js +5 -2
  2. package/Bundle.Dockerfile +52 -0
  3. package/README.md +25 -24
  4. package/build-tests.ts +16 -0
  5. package/dist/common/build-tests.js +38 -0
  6. package/dist/common/init-docs.js +8 -0
  7. package/dist/common/run-tests.js +34 -0
  8. package/dist/common/src/Aider.js +96 -0
  9. package/dist/common/src/Init.js +10 -0
  10. package/dist/common/{Node.js → src/Node.js} +1 -0
  11. package/dist/common/src/PM/index.js +7 -0
  12. package/dist/common/{PM → src/PM}/main.js +287 -10
  13. package/dist/common/{PM → src/PM}/node.js +4 -0
  14. package/dist/common/{PM → src/PM}/web.js +3 -0
  15. package/dist/common/{Project.js → src/Project.js} +15 -57
  16. package/dist/common/{Puppeteer.js → src/Puppeteer.js} +65 -26
  17. package/dist/common/{SubPackages → src/SubPackages}/react-dom/component/web.js +5 -25
  18. package/dist/common/src/SubPackages/react-dom/jsx/web.js +117 -0
  19. package/dist/common/{SubPackages/react-test-renderer/component/index.js → src/SubPackages/react-test-renderer/component/interface.js} +0 -20
  20. package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/component/node.js +2 -2
  21. package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/component/web.js +2 -2
  22. package/dist/common/{Types.js → src/Types.js} +0 -2
  23. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/index.js +1 -0
  24. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +52 -0
  25. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/node.js +5 -1
  26. package/dist/common/src/esbuildConfigs/report.js +14 -0
  27. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/web.js +3 -1
  28. package/dist/common/src/lib/abstractBase.js +581 -0
  29. package/dist/common/{lib → src/lib}/basebuilder.js +12 -38
  30. package/dist/common/{lib → src/lib}/classBuilder.js +1 -3
  31. package/dist/common/{lib → src/lib}/core.js +3 -5
  32. package/dist/common/src/lib/types.js +2 -0
  33. package/dist/common/src/utils.js +16 -0
  34. package/dist/common/testeranto.js +15 -0
  35. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  36. package/dist/module/build-tests.js +10 -0
  37. package/dist/module/init-docs.js +3 -0
  38. package/dist/module/run-tests.js +6 -0
  39. package/dist/module/src/Aider.js +89 -0
  40. package/dist/module/src/Init.js +5 -0
  41. package/dist/module/{Node.js → src/Node.js} +1 -0
  42. package/dist/module/src/PM/index.js +3 -0
  43. package/dist/module/src/PM/main.js +617 -0
  44. package/dist/module/{PM → src/PM}/node.js +4 -0
  45. package/dist/module/{PM → src/PM}/web.js +3 -0
  46. package/dist/module/{Project.js → src/Project.js} +15 -57
  47. package/dist/module/{Puppeteer.js → src/Puppeteer.js} +65 -26
  48. package/dist/module/{SubPackages → src/SubPackages}/react-dom/component/web.js +5 -25
  49. package/dist/module/src/SubPackages/react-dom/jsx/web.js +89 -0
  50. package/dist/module/{SubPackages/react-test-renderer/component/index.js → src/SubPackages/react-test-renderer/component/interface.js} +0 -20
  51. package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/component/node.js +1 -1
  52. package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/component/web.js +1 -1
  53. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/index.js +1 -0
  54. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +47 -0
  55. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/node.js +5 -1
  56. package/dist/module/src/esbuildConfigs/report.js +14 -0
  57. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/web.js +3 -1
  58. package/dist/module/src/lib/abstractBase.js +573 -0
  59. package/dist/module/{lib → src/lib}/basebuilder.js +12 -38
  60. package/dist/module/{lib → src/lib}/classBuilder.js +1 -3
  61. package/dist/module/{lib → src/lib}/core.js +3 -5
  62. package/dist/module/src/utils.js +9 -0
  63. package/dist/module/testeranto.js +13 -0
  64. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  65. package/dist/types/build-tests.d.ts +3 -0
  66. package/dist/types/init-docs.d.ts +2 -0
  67. package/dist/types/run-tests.d.ts +2 -0
  68. package/dist/types/src/Aider.d.ts +1 -0
  69. package/dist/types/src/Init.d.ts +2 -0
  70. package/dist/types/src/Node.d.ts +6 -0
  71. package/dist/types/{PM → src/PM}/index.d.ts +3 -2
  72. package/dist/types/{PM → src/PM}/main.d.ts +8 -3
  73. package/dist/types/{PM → src/PM}/node.d.ts +2 -0
  74. package/dist/types/{PM → src/PM}/web.d.ts +1 -0
  75. package/dist/types/{Project.d.ts → src/Project.d.ts} +1 -1
  76. package/dist/types/src/Puppeteer.d.ts +2 -0
  77. package/dist/types/src/SubPackages/puppeteer.d.ts +6 -0
  78. package/dist/types/{SubPackages → src/SubPackages}/react/component/node.d.ts +1 -1
  79. package/dist/types/{SubPackages → src/SubPackages}/react/component/web.d.ts +1 -1
  80. package/dist/types/src/SubPackages/react/jsx/node.d.ts +4 -0
  81. package/dist/types/src/SubPackages/react/jsx/web.d.ts +4 -0
  82. package/dist/types/{SubPackages → src/SubPackages}/react-dom/component/node.d.ts +2 -2
  83. package/dist/types/src/SubPackages/react-dom/component/web.d.ts +11 -0
  84. package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +6 -0
  85. package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +5 -0
  86. package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +5 -0
  87. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/component/index.d.ts +0 -7
  88. package/dist/types/src/SubPackages/react-test-renderer/component/interface.d.ts +9 -0
  89. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/component/node.d.ts +1 -2
  90. package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +3 -0
  91. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/fc/node.d.ts +1 -1
  92. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/fc/web.d.ts +1 -1
  93. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx/node.d.ts +1 -2
  94. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx/web.d.ts +1 -2
  95. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +4 -0
  96. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +4 -0
  97. package/dist/types/src/Types.d.ts +51 -0
  98. package/dist/types/src/Web.d.ts +6 -0
  99. package/dist/types/src/esbuildConfigs/inputFilesPlugin.d.ts +5 -0
  100. package/dist/types/{lib → src/lib}/abstractBase.d.ts +8 -8
  101. package/dist/types/{lib → src/lib}/basebuilder.d.ts +1 -1
  102. package/dist/types/{lib → src/lib}/classBuilder.d.ts +1 -1
  103. package/dist/types/{lib → src/lib}/core.d.ts +1 -1
  104. package/dist/types/{lib → src/lib}/index.d.ts +5 -5
  105. package/dist/types/{lib → src/lib}/types.d.ts +15 -15
  106. package/dist/types/src/utils.d.ts +2 -0
  107. package/dist/types/testeranto.d.ts +16 -0
  108. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  109. package/docker-compose.yml +37 -0
  110. package/init-docs.ts +5 -0
  111. package/package.json +72 -25
  112. package/run-tests.ts +9 -0
  113. package/src/Aider.ts +125 -0
  114. package/src/Init.ts +20 -0
  115. package/src/Node.ts +31 -2
  116. package/src/PM/index.ts +7 -84
  117. package/src/PM/main.ts +400 -16
  118. package/src/PM/node.ts +6 -0
  119. package/src/PM/web.ts +4 -0
  120. package/src/Project.ts +33 -84
  121. package/src/Puppeteer.ts +115 -62
  122. package/src/SubPackages/react-dom/component/web.ts +10 -30
  123. package/src/SubPackages/react-dom/jsx/web.ts +110 -76
  124. package/src/SubPackages/react-test-renderer/component/index.ts +0 -66
  125. package/src/SubPackages/react-test-renderer/component/interface.ts +48 -0
  126. package/src/SubPackages/react-test-renderer/component/node.ts +2 -1
  127. package/src/SubPackages/react-test-renderer/component/web.ts +2 -1
  128. package/src/Types.ts +138 -29
  129. package/src/Web.ts +32 -2
  130. package/src/esbuildConfigs/index.ts +1 -0
  131. package/src/esbuildConfigs/inputFilesPlugin.ts +67 -0
  132. package/src/esbuildConfigs/node.ts +4 -2
  133. package/src/esbuildConfigs/report.ts +13 -13
  134. package/src/esbuildConfigs/web.ts +4 -0
  135. package/src/lib/abstractBase.ts +366 -36
  136. package/src/lib/basebuilder.ts +26 -52
  137. package/src/lib/classBuilder.ts +14 -2
  138. package/src/lib/core.ts +18 -7
  139. package/src/lib/index.ts +115 -7
  140. package/src/lib/types.ts +143 -37
  141. package/src/utils.ts +15 -0
  142. package/testeranto.ts +13 -0
  143. package/tsconfig.common.json +12 -4
  144. package/tsconfig.json +9 -3
  145. package/tsconfig.module.json +2 -3
  146. package/tsconfig.types.json +1 -2
  147. package/dist/common/Features.js +0 -84
  148. package/dist/common/PM/index.js +0 -71
  149. package/dist/common/Reporter.js +0 -119
  150. package/dist/common/Scheduler.js +0 -1
  151. package/dist/common/SubPackages/react-dom/jsx/web.js +0 -93
  152. package/dist/common/esbuildConfigs/report.js +0 -13
  153. package/dist/common/lib/abstractBase.js +0 -348
  154. package/dist/common/preload.js +0 -15
  155. package/dist/common/report.html.js +0 -31
  156. package/dist/module/Features.js +0 -73
  157. package/dist/module/PM/index.js +0 -67
  158. package/dist/module/PM/main.js +0 -340
  159. package/dist/module/Reporter.js +0 -114
  160. package/dist/module/Scheduler.js +0 -1
  161. package/dist/module/SubPackages/react-dom/jsx/web.js +0 -65
  162. package/dist/module/Types.js +0 -3
  163. package/dist/module/esbuildConfigs/report.js +0 -11
  164. package/dist/module/lib/abstractBase.js +0 -340
  165. package/dist/module/preload.js +0 -15
  166. package/dist/module/report.html.js +0 -29
  167. package/dist/prebuild/Report.css +0 -11358
  168. package/dist/prebuild/Report.js +0 -37585
  169. package/dist/types/Features.d.ts +0 -68
  170. package/dist/types/Node.d.ts +0 -6
  171. package/dist/types/SubPackages/puppeteer.d.ts +0 -6
  172. package/dist/types/SubPackages/react/jsx/node.d.ts +0 -4
  173. package/dist/types/SubPackages/react/jsx/web.d.ts +0 -4
  174. package/dist/types/SubPackages/react-dom/component/web.d.ts +0 -5
  175. package/dist/types/SubPackages/react-dom/jsx/node.d.ts +0 -6
  176. package/dist/types/SubPackages/react-dom/jsx/web.d.ts +0 -5
  177. package/dist/types/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +0 -5
  178. package/dist/types/SubPackages/react-test-renderer/component/web.d.ts +0 -4
  179. package/dist/types/SubPackages/react-test-renderer/jsx-promised/node.d.ts +0 -5
  180. package/dist/types/SubPackages/react-test-renderer/jsx-promised/web.d.ts +0 -5
  181. package/dist/types/Types.d.ts +0 -50
  182. package/dist/types/Web.d.ts +0 -6
  183. package/dist/types/esbuildConfigs/report.d.ts +0 -4
  184. package/dist/types/preload.d.ts +0 -0
  185. package/dist/types/report.html.d.ts +0 -2
  186. package/electronBuild.ts +0 -32
  187. package/src/Features.ts +0 -118
  188. package/src/Report.tsx +0 -521
  189. package/src/Reporter.ts +0 -134
  190. package/src/Scheduler.ts +0 -0
  191. package/src/preload.ts +0 -17
  192. package/src/report.html.ts +0 -29
  193. package/tests/Rectangle.test.ts +0 -189
  194. /package/dist/common/{SubPackages → src/SubPackages}/puppeteer.js +0 -0
  195. /package/dist/common/{SubPackages → src/SubPackages}/react/component/node.js +0 -0
  196. /package/dist/common/{SubPackages → src/SubPackages}/react/component/web.js +0 -0
  197. /package/dist/common/{SubPackages → src/SubPackages}/react/jsx/index.js +0 -0
  198. /package/dist/common/{SubPackages → src/SubPackages}/react/jsx/node.js +0 -0
  199. /package/dist/common/{SubPackages → src/SubPackages}/react/jsx/web.js +0 -0
  200. /package/dist/common/{SubPackages → src/SubPackages}/react-dom/component/node.js +0 -0
  201. /package/dist/common/{SubPackages → src/SubPackages}/react-dom/jsx/index.js +0 -0
  202. /package/dist/common/{SubPackages → src/SubPackages}/react-dom/jsx/node.js +0 -0
  203. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/MemoExoticComponent/node.js +0 -0
  204. /package/dist/common/{lib/types.js → src/SubPackages/react-test-renderer/component/index.js} +0 -0
  205. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/fc/node.js +0 -0
  206. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/fc/web.js +0 -0
  207. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx/index.js +0 -0
  208. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx/node.js +0 -0
  209. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx/web.js +0 -0
  210. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/index.js +0 -0
  211. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/node.js +0 -0
  212. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  213. /package/dist/common/{Web.js → src/Web.js} +0 -0
  214. /package/dist/common/{esbuildConfigs → src/esbuildConfigs}/features.js +0 -0
  215. /package/dist/common/{esbuildConfigs → src/esbuildConfigs}/tests.js +0 -0
  216. /package/dist/common/{lib → src/lib}/index.js +0 -0
  217. /package/dist/common/{puppeteerConfiger.js → src/puppeteerConfiger.js} +0 -0
  218. /package/dist/common/{web.html.js → src/web.html.js} +0 -0
  219. /package/dist/module/{SubPackages → src/SubPackages}/puppeteer.js +0 -0
  220. /package/dist/module/{SubPackages → src/SubPackages}/react/component/node.js +0 -0
  221. /package/dist/module/{SubPackages → src/SubPackages}/react/component/web.js +0 -0
  222. /package/dist/module/{SubPackages → src/SubPackages}/react/jsx/index.js +0 -0
  223. /package/dist/module/{SubPackages → src/SubPackages}/react/jsx/node.js +0 -0
  224. /package/dist/module/{SubPackages → src/SubPackages}/react/jsx/web.js +0 -0
  225. /package/dist/module/{SubPackages → src/SubPackages}/react-dom/component/node.js +0 -0
  226. /package/dist/module/{SubPackages → src/SubPackages}/react-dom/jsx/index.js +0 -0
  227. /package/dist/module/{SubPackages → src/SubPackages}/react-dom/jsx/node.js +0 -0
  228. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/MemoExoticComponent/node.js +0 -0
  229. /package/dist/module/{lib/types.js → src/SubPackages/react-test-renderer/component/index.js} +0 -0
  230. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/fc/node.js +0 -0
  231. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/fc/web.js +0 -0
  232. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx/index.js +0 -0
  233. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx/node.js +0 -0
  234. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx/web.js +0 -0
  235. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/index.js +0 -0
  236. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/node.js +0 -0
  237. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  238. /package/dist/{types/Puppeteer.d.ts → module/src/Types.js} +0 -0
  239. /package/dist/module/{Web.js → src/Web.js} +0 -0
  240. /package/dist/module/{esbuildConfigs → src/esbuildConfigs}/features.js +0 -0
  241. /package/dist/module/{esbuildConfigs → src/esbuildConfigs}/tests.js +0 -0
  242. /package/dist/module/{lib → src/lib}/index.js +0 -0
  243. /package/dist/{types/Reporter.d.ts → module/src/lib/types.js} +0 -0
  244. /package/dist/module/{puppeteerConfiger.js → src/puppeteerConfiger.js} +0 -0
  245. /package/dist/module/{web.html.js → src/web.html.js} +0 -0
  246. /package/dist/types/{SubPackages → src/SubPackages}/react/jsx/index.d.ts +0 -0
  247. /package/dist/types/{SubPackages → src/SubPackages}/react-dom/jsx/index.d.ts +0 -0
  248. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx/index.d.ts +0 -0
  249. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/index.d.ts +0 -0
  250. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/features.d.ts +0 -0
  251. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/index.d.ts +0 -0
  252. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/node.d.ts +0 -0
  253. /package/dist/types/{Scheduler.d.ts → src/esbuildConfigs/report.d.ts} +0 -0
  254. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/tests.d.ts +0 -0
  255. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/web.d.ts +0 -0
  256. /package/dist/types/{puppeteerConfiger.d.ts → src/puppeteerConfiger.d.ts} +0 -0
  257. /package/dist/types/{web.html.d.ts → src/web.html.d.ts} +0 -0
@@ -5,9 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const readline_1 = __importDefault(require("readline"));
7
7
  const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const jsonc_1 = require("jsonc");
8
+ const recursive_watch_1 = __importDefault(require("recursive-watch"));
10
9
  const main_js_1 = require("./PM/main.js");
10
+ const utils_js_1 = require("./utils.js");
11
11
  var mode = process.argv[2] === "-dev" ? "DEV" : "PROD";
12
12
  const node2web = {};
13
13
  const web2node = {};
@@ -15,31 +15,39 @@ const childProcesses = {};
15
15
  readline_1.default.emitKeypressEvents(process.stdin);
16
16
  if (process.stdin.isTTY)
17
17
  process.stdin.setRawMode(true);
18
+ // console.log("hello Puppeteer", process.env);
18
19
  console.log("\n Puppeteer is running. Press 'q' to quit\n");
19
20
  process.stdin.on("keypress", (str, key) => {
20
21
  if (key.name === "q") {
21
22
  process.exit();
22
23
  }
23
24
  });
24
- const main = async () => {
25
- const configs = jsonc_1.jsonc.parse((await fs_1.default.readFileSync("./docs/testeranto.json")).toString());
26
- const pm = new main_js_1.PM_Main(configs);
25
+ exports.default = async (partialConfig) => {
26
+ const config = Object.assign(Object.assign({}, partialConfig), { buildDir: process.cwd() + "/" + partialConfig.outdir });
27
+ fs_1.default.writeFileSync(`${config.outdir}/testeranto.json`, JSON.stringify(Object.assign(Object.assign({}, config), { buildDir: process.cwd() + "/" + config.outdir }), null, 2));
28
+ const pm = new main_js_1.PM_Main(config);
27
29
  await pm.startPuppeteer({
30
+ // timeout: 1,
28
31
  waitForInitialPage: false,
29
- executablePath: "/opt/homebrew/bin/chromium",
32
+ executablePath:
33
+ // process.env.CHROMIUM_PATH || "/opt/homebrew/bin/chromium",
34
+ "/opt/homebrew/bin/chromium",
30
35
  headless: true,
31
36
  dumpio: true,
37
+ // timeout: 0,
32
38
  args: [
39
+ // "--auto-open-devtools-for-tabs",
40
+ "--disable-features=IsolateOrigins,site-per-process",
41
+ "--disable-site-isolation-trials",
42
+ "--allow-insecure-localhost",
33
43
  "--allow-file-access-from-files",
34
44
  "--allow-running-insecure-content",
35
- "--auto-open-devtools-for-tabs",
36
45
  "--disable-dev-shm-usage",
37
46
  "--disable-extensions",
38
47
  "--disable-gpu",
39
48
  "--disable-setuid-sandbox",
40
49
  "--disable-site-isolation-trials",
41
50
  "--disable-web-security",
42
- "--disable-web-security",
43
51
  "--no-first-run",
44
52
  "--no-sandbox",
45
53
  "--no-startup-window",
@@ -58,30 +66,21 @@ const main = async () => {
58
66
  // "--start-maximized",
59
67
  ],
60
68
  }, ".");
61
- const destinationOfRuntime = (f, r) => {
62
- return path_1.default
63
- .normalize(`${configs.buildDir}/${r}/${f}`)
64
- .split(".")
65
- .slice(0, -1)
66
- .join(".");
67
- };
68
- configs.tests.forEach(([test, runtime, secondaryArtifacts]) => {
69
+ config.tests.forEach(([test, runtime, tr, sidecars]) => {
69
70
  if (runtime === "node") {
70
- pm.launchNode(test, destinationOfRuntime(test, "node"));
71
+ pm.launchNode(test, (0, utils_js_1.destinationOfRuntime)(test, "node", config));
71
72
  }
72
73
  else if (runtime === "web") {
73
- pm.launchWeb(test, destinationOfRuntime(test, "web"));
74
+ pm.launchWeb(test, (0, utils_js_1.destinationOfRuntime)(test, "web", config), sidecars);
74
75
  }
75
76
  else {
76
77
  console.error("runtime makes no sense", runtime);
77
78
  }
78
79
  });
79
- console.log("ready and watching for changes...", configs.buildDir);
80
- fs_1.default.watch(configs.buildDir, {
81
- recursive: true,
82
- }, (eventType, changedFile) => {
80
+ console.log("ready and watching for changes...", config.buildDir);
81
+ (0, recursive_watch_1.default)(config.buildDir, (eventType, changedFile) => {
83
82
  if (changedFile) {
84
- configs.tests.forEach(([test, runtime, secondaryArtifacts]) => {
83
+ config.tests.forEach(([test, runtime, tr, sidecars]) => {
85
84
  if (eventType === "change" || eventType === "rename") {
86
85
  if (changedFile ===
87
86
  test
@@ -90,7 +89,7 @@ const main = async () => {
90
89
  .slice(0, -1)
91
90
  .concat("mjs")
92
91
  .join(".")) {
93
- pm.launchNode(test, destinationOfRuntime(test, "node"));
92
+ pm.launchNode(test, (0, utils_js_1.destinationOfRuntime)(test, "node", config));
94
93
  }
95
94
  if (changedFile ===
96
95
  test
@@ -99,11 +98,51 @@ const main = async () => {
99
98
  .slice(0, -1)
100
99
  .concat("mjs")
101
100
  .join(".")) {
102
- pm.launchWeb(test, destinationOfRuntime(test, "web"));
101
+ pm.launchWeb(test, (0, utils_js_1.destinationOfRuntime)(test, "web", config), sidecars);
103
102
  }
104
103
  }
105
104
  });
106
105
  }
107
106
  });
107
+ // does not work on linux
108
+ // fs.watch(
109
+ // config.buildDir,
110
+ // {
111
+ // recursive: true,
112
+ // },
113
+ // (eventType, changedFile) => {
114
+ // if (changedFile) {
115
+ // config.tests.forEach(([test, runtime, tr, sidecars]) => {
116
+ // if (eventType === "change" || eventType === "rename") {
117
+ // if (
118
+ // changedFile ===
119
+ // test
120
+ // .replace("./", "node/")
121
+ // .split(".")
122
+ // .slice(0, -1)
123
+ // .concat("mjs")
124
+ // .join(".")
125
+ // ) {
126
+ // pm.launchNode(test, destinationOfRuntime(test, "node", config));
127
+ // }
128
+ // if (
129
+ // changedFile ===
130
+ // test
131
+ // .replace("./", "web/")
132
+ // .split(".")
133
+ // .slice(0, -1)
134
+ // .concat("mjs")
135
+ // .join(".")
136
+ // ) {
137
+ // pm.launchWeb(
138
+ // test,
139
+ // destinationOfRuntime(test, "web", config),
140
+ // sidecars
141
+ // );
142
+ // }
143
+ // }
144
+ // });
145
+ // }
146
+ // }
147
+ // );
108
148
  };
109
- main();
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = require("react");
7
7
  const client_1 = __importDefault(require("react-dom/client"));
8
8
  const Web_js_1 = __importDefault(require("../../../Web.js"));
9
- exports.default = (testInput, testSpecifications, testImplementations) => {
9
+ exports.default = (testInput, testSpecifications, testImplementations, testInterface) => {
10
10
  class TesterantoComponent extends testInput {
11
11
  constructor(props) {
12
12
  super(props);
@@ -19,7 +19,6 @@ exports.default = (testInput, testSpecifications, testImplementations) => {
19
19
  }
20
20
  const t = (0, Web_js_1.default)(testInput, testSpecifications, testImplementations, {
21
21
  beforeAll: async (initialProps, artificer) => {
22
- console.log("mark5", initialProps);
23
22
  return await new Promise((resolve, rej) => {
24
23
  const htmlElement = document.getElementById("root");
25
24
  if (htmlElement) {
@@ -71,29 +70,10 @@ exports.default = (testInput, testSpecifications, testImplementations) => {
71
70
  butThen: async function (s, thenCB) {
72
71
  return thenCB(s);
73
72
  },
74
- afterEach: async function (store, ndx, artificer, utils) {
75
- console.log("afterEach", store);
76
- utils.writeFileSync("aftereachlog", store.toString());
77
- const page = (await utils.browser.pages()).filter((x) => {
78
- const parsedUrl = new URL(x.url());
79
- parsedUrl.search = "";
80
- const strippedUrl = parsedUrl.toString();
81
- return (strippedUrl ===
82
- "file:///Users/adam/Code/kokomoBay/docs/web/src/ClassicalComponent/react-dom/client.web.test.html");
83
- // return true;
84
- })[0];
85
- const x = await page.screenshot({
86
- path: "afterEachLog.jpg",
87
- });
88
- console.log("x", x);
89
- // debugger;
90
- // const div_root = document.getElementById("root");
91
- // store.domRoot && store.domRoot.unmount(); //React 18
92
- // store.remove();
93
- // store.htmlElement.remove();
94
- // store.htmlElement = document.createElement("root");
95
- return store;
96
- },
73
+ afterEach: (testInterface === null || testInterface === void 0 ? void 0 : testInterface.afterEach) ||
74
+ async function (store, ndx, artificer, utils) {
75
+ return store;
76
+ },
97
77
  afterAll: async (store, artificer, utils) => {
98
78
  // setTimeout(() => {
99
79
  // console.log("This will run after 1 second");
@@ -0,0 +1,117 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const react_1 = __importStar(require("react"));
30
+ const react_2 = require("react");
31
+ const client_1 = __importDefault(require("react-dom/client"));
32
+ const Web_js_1 = __importDefault(require("../../../Web.js"));
33
+ const TesterantoComponent = ({ done, innerComp, }) => {
34
+ const myContainer = (0, react_1.useRef)(null);
35
+ (0, react_1.useEffect)(() => {
36
+ console.log("useEffect called!", myContainer.current);
37
+ done(myContainer.current);
38
+ }, []);
39
+ return react_1.default.createElement("div", { ref: myContainer }, innerComp());
40
+ };
41
+ exports.default = (testImplementations, testSpecifications, testInput) => {
42
+ const t = (0, Web_js_1.default)(testInput, testSpecifications, testImplementations, {
43
+ beforeAll: async (reactElement, itr) => {
44
+ return await new Promise((resolve, rej) => {
45
+ const htmlElement = document.getElementById("root");
46
+ if (htmlElement) {
47
+ const domRoot = client_1.default.createRoot(htmlElement);
48
+ domRoot.render((0, react_2.createElement)(TesterantoComponent, {
49
+ // ...initialProps,
50
+ innerComp: reactElement,
51
+ done: (reactElement) => {
52
+ resolve({
53
+ htmlElement,
54
+ reactElement,
55
+ domRoot,
56
+ });
57
+ },
58
+ }, []));
59
+ // resolve({ htmlElement });
60
+ }
61
+ });
62
+ },
63
+ beforeEach: async (subject, initializer, artificer, testResource, pm) => {
64
+ return new Promise((resolve, rej) => {
65
+ resolve(subject);
66
+ // const tc = TesterantoComponent({
67
+ // innerComp: () =>
68
+ // testInput({
69
+ // port: 3003,
70
+ // address: "some-address",
71
+ // secretKey: "someSecretKey",
72
+ // abi: "foo",
73
+ // }),
74
+ // done: (reactElement: any) => {
75
+ // console.log("mark9");
76
+ // resolve(reactElement);
77
+ // // process.nextTick(() => {
78
+ // // resolve(reactElement);
79
+ // // });
80
+ // },
81
+ // });
82
+ // console.log("mark9", tc);
83
+ // createPortal(tc, subject.domRoot);
84
+ });
85
+ },
86
+ andWhen: function (s, whenCB, tr, utils) {
87
+ return new Promise((resolve, rej) => {
88
+ console.log("mark9", s, whenCB);
89
+ resolve(whenCB(s, utils));
90
+ // process.nextTick(() => {
91
+ // resolve(whenCB()(s));
92
+ // });
93
+ });
94
+ },
95
+ butThen: async function (s, thenCB) {
96
+ return new Promise((resolve, rej) => {
97
+ resolve(thenCB(s));
98
+ });
99
+ },
100
+ afterEach: async function (store, ndx, artificer) {
101
+ return new Promise((resolve, rej) => {
102
+ resolve({});
103
+ });
104
+ },
105
+ afterAll: (store, artificer) => {
106
+ return new Promise((resolve, rej) => {
107
+ resolve({});
108
+ });
109
+ },
110
+ });
111
+ document.addEventListener("DOMContentLoaded", function () {
112
+ const rootElement = document.getElementById("root");
113
+ if (rootElement) {
114
+ }
115
+ });
116
+ return t;
117
+ };
@@ -29,26 +29,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.testInterface = void 0;
30
30
  const react_1 = __importDefault(require("react"));
31
31
  const react_test_renderer_1 = __importStar(require("react-test-renderer"));
32
- // export const testInterface = {
33
- // beforeEach: function (CComponent, props): Promise<renderer.ReactTestRenderer> {
34
- // return new Promise((res, rej) => {
35
- // let component: renderer.ReactTestRenderer;
36
- // act(() => {
37
- // component = renderer.create(
38
- // CComponent(props)
39
- // );
40
- // res(component);
41
- // });
42
- // });
43
- // },
44
- // andWhen: async function (
45
- // renderer: renderer.ReactTestRenderer,
46
- // whenCB: () => (any) => any
47
- // ): Promise<renderer.ReactTestRenderer> {
48
- // await act(() => whenCB()(renderer));
49
- // return renderer
50
- // }
51
- // }
52
32
  exports.testInterface = {
53
33
  beforeEach: function (CComponent, propsAndChildren) {
54
34
  function Link(props) {
@@ -4,5 +4,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Node_js_1 = __importDefault(require("../../../Node.js"));
7
- const index_js_1 = require("./index.js");
8
- exports.default = (testImplementations, testSpecifications, testInput) => (0, Node_js_1.default)(testInput, testSpecifications, testImplementations, index_js_1.testInterface);
7
+ const interface_js_1 = require("./interface.js");
8
+ exports.default = (testImplementations, testSpecifications, testInput) => (0, Node_js_1.default)(testInput, testSpecifications, testImplementations, interface_js_1.testInterface);
@@ -4,5 +4,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Web_js_1 = __importDefault(require("../../../Web.js"));
7
- const index_js_1 = require("./index.js");
8
- exports.default = (testImplementations, testSpecifications, testInput) => (0, Web_js_1.default)(testInput, testSpecifications, testImplementations, index_js_1.testInterface);
7
+ const interface_1 = require("./interface");
8
+ exports.default = (testImplementations, testSpecifications, testInput) => (0, Web_js_1.default)(testInput, testSpecifications, testImplementations, interface_1.testInterface);
@@ -1,4 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // export type ITTestShape = {
4
- // };
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = (config) => {
4
4
  return {
5
+ // packages: "external",
5
6
  target: "esnext",
6
7
  format: "esm",
7
8
  splitting: true,
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const path_1 = __importDefault(require("path"));
8
+ exports.default = (platform, entryPoints) => {
9
+ console.log("mark3", platform);
10
+ return {
11
+ name: "metafileWriter",
12
+ setup(build) {
13
+ build.onEnd((result) => {
14
+ if (result.errors.length === 0) {
15
+ entryPoints.forEach((entryPoint) => {
16
+ console.log("mark1", entryPoint);
17
+ const filePath = path_1.default.join("./docs/", platform, entryPoint.split(".").slice(0, -1).join("."), `inputFiles.json`);
18
+ const dirName = path_1.default.dirname(filePath);
19
+ if (!fs_1.default.existsSync(dirName)) {
20
+ fs_1.default.mkdirSync(dirName, { recursive: true });
21
+ }
22
+ const jsonContent = JSON.stringify(Object.keys(Object.keys(result.metafile.outputs)
23
+ .filter((s) => {
24
+ if (!result.metafile.outputs[s].entryPoint) {
25
+ return false;
26
+ }
27
+ return (path_1.default.resolve(result.metafile.outputs[s].entryPoint) ===
28
+ path_1.default.resolve(entryPoint));
29
+ })
30
+ .reduce((mm, el) => {
31
+ mm.push(result.metafile.outputs[el].inputs);
32
+ return mm;
33
+ }, [])[0])
34
+ .filter((f) => {
35
+ const regex = /^src\/.*/g;
36
+ const matches = f.match(regex);
37
+ const passes = (matches === null || matches === void 0 ? void 0 : matches.length) === 1;
38
+ return passes;
39
+ })
40
+ .filter((f) => {
41
+ const regex = /.*\.test\..*/g;
42
+ const matches = f.match(regex);
43
+ const passes = (matches === null || matches === void 0 ? void 0 : matches.length) === 1;
44
+ return !passes;
45
+ }));
46
+ fs_1.default.writeFileSync(filePath, jsonContent);
47
+ });
48
+ }
49
+ });
50
+ },
51
+ };
52
+ };
@@ -4,8 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const index_js_1 = __importDefault(require("./index.js"));
7
+ const inputFilesPlugin_js_1 = __importDefault(require("./inputFilesPlugin.js"));
7
8
  exports.default = (config, entryPoints) => {
8
- return Object.assign(Object.assign({}, (0, index_js_1.default)(config)), { splitting: true, outdir: config.outdir + "/node", inject: [`./node_modules/testeranto/dist/cjs-shim.js`], supported: {
9
+ return Object.assign(Object.assign({}, (0, index_js_1.default)(config)), { splitting: true, outdir: config.outdir + "/node",
10
+ // inject: [`./node_modules/testeranto/dist/cjs-shim.js`],
11
+ metafile: true, supported: {
9
12
  "dynamic-import": true,
10
13
  }, define: {
11
14
  "process.env.FLUENTFFMPEG_COV": "0",
@@ -20,6 +23,7 @@ exports.default = (config, entryPoints) => {
20
23
  ...config.externals,
21
24
  ], entryPoints: [...entryPoints], plugins: [
22
25
  ...(config.nodePlugins || []),
26
+ (0, inputFilesPlugin_js_1.default)("node", entryPoints),
23
27
  {
24
28
  name: "rebuild-notify",
25
29
  setup(build) {
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ // import { BuildOptions } from "esbuild";
3
+ // import { IBaseConfig } from "../lib/types";
4
+ // export default (config: IBaseConfig): BuildOptions => {
5
+ // return {
6
+ // bundle: true,
7
+ // entryPoints: ["./node_modules/testeranto/dist/module/report.js"],
8
+ // minify: config.minify === true,
9
+ // outbase: config.outbase,
10
+ // write: true,
11
+ // outfile: `${config.outdir}/report.js`,
12
+ // external: ["tests.json", "features.test.js"],
13
+ // };
14
+ // };
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const path_1 = __importDefault(require("path"));
7
7
  const index_js_1 = __importDefault(require("./index.js"));
8
+ const inputFilesPlugin_js_1 = __importDefault(require("./inputFilesPlugin.js"));
8
9
  exports.default = (config, entryPoints) => {
9
10
  return Object.assign(Object.assign({}, (0, index_js_1.default)(config)), {
10
11
  // inject: ["./node_modules/testeranto/dist/cjs-shim.js"],
@@ -14,7 +15,7 @@ exports.default = (config, entryPoints) => {
14
15
  // splitting: true,
15
16
  outdir: config.outdir + "/web", alias: {
16
17
  react: path_1.default.resolve("./node_modules/react"),
17
- }, external: [
18
+ }, metafile: true, external: [
18
19
  "testeranto.json",
19
20
  "features.test.ts",
20
21
  // "url",
@@ -38,6 +39,7 @@ exports.default = (config, entryPoints) => {
38
39
  "dns",
39
40
  ], platform: "browser", entryPoints: [...entryPoints], plugins: [
40
41
  ...(config.webPlugins || []),
42
+ (0, inputFilesPlugin_js_1.default)("web", entryPoints),
41
43
  {
42
44
  name: "rebuild-notify",
43
45
  setup(build) {