testeranto 0.49.10 → 0.70.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 (250) hide show
  1. package/.nvmrc +1 -0
  2. package/README.md +92 -9
  3. package/dist/cjs-shim.js +12 -0
  4. package/dist/common/Features.js +2 -3
  5. package/dist/common/Node.js +37 -62
  6. package/dist/common/NodeWriter.js +7 -9
  7. package/dist/common/Project.js +130 -627
  8. package/dist/common/SubPackages/puppeteer.js +19 -0
  9. package/dist/common/{subPackages → SubPackages}/react/component/node.js +4 -4
  10. package/dist/common/{subPackages → SubPackages}/react/component/web.js +4 -4
  11. package/dist/common/SubPackages/react/jsx/index.js +13 -0
  12. package/dist/common/SubPackages/react/jsx/node.js +10 -0
  13. package/dist/common/SubPackages/react/jsx/web.js +10 -0
  14. package/dist/common/{subPackages → SubPackages}/react-dom/component/node.js +6 -6
  15. package/dist/common/{subPackages → SubPackages}/react-dom/component/web.js +11 -12
  16. package/dist/common/SubPackages/react-dom/jsx/node.js +39 -0
  17. package/dist/common/{subPackages → SubPackages}/react-dom/jsx/web.js +19 -20
  18. package/dist/common/{subPackages → SubPackages}/react-test-renderer/MemoExoticComponent/node.js +3 -3
  19. package/dist/common/{subPackages → SubPackages}/react-test-renderer/component/index.js +25 -15
  20. package/dist/common/{subPackages/react-test-renderer/jsx → SubPackages/react-test-renderer/component}/node.js +3 -5
  21. package/dist/common/{subPackages/react-test-renderer/jsx → SubPackages/react-test-renderer/component}/web.js +3 -5
  22. package/dist/common/{subPackages → SubPackages}/react-test-renderer/fc/node.js +4 -4
  23. package/dist/common/{subPackages → SubPackages}/react-test-renderer/fc/web.js +4 -4
  24. package/dist/common/{subPackages → SubPackages}/react-test-renderer/jsx/index.js +8 -3
  25. package/dist/common/{subPackages/react-test-renderer/jsx-promised → SubPackages/react-test-renderer/jsx}/node.js +4 -4
  26. package/dist/common/{subPackages/react → SubPackages/react-test-renderer}/jsx/web.js +4 -4
  27. package/dist/common/{subPackages → SubPackages}/react-test-renderer/jsx-promised/index.js +3 -3
  28. package/dist/common/{subPackages/react/jsx → SubPackages/react-test-renderer/jsx-promised}/node.js +2 -2
  29. package/dist/common/Types.js +2 -0
  30. package/dist/common/Web.js +49 -113
  31. package/dist/common/electron.js +256 -42
  32. package/dist/common/esbuildConfigs/features.js +14 -0
  33. package/dist/common/esbuildConfigs/index.js +20 -0
  34. package/dist/common/esbuildConfigs/node.js +37 -0
  35. package/dist/common/esbuildConfigs/report.js +13 -0
  36. package/dist/common/esbuildConfigs/tests.js +13 -0
  37. package/dist/common/esbuildConfigs/web.js +53 -0
  38. package/dist/common/lib/abstractBase.js +200 -0
  39. package/dist/common/lib/basebuilder.js +86 -0
  40. package/dist/common/lib/classBuilder.js +40 -0
  41. package/dist/common/lib/core.js +81 -0
  42. package/dist/common/lib/index.js +21 -0
  43. package/dist/common/lib/types.js +2 -0
  44. package/dist/common/preload.js +15 -24
  45. package/dist/common/puppeteerConfiger.js +24 -0
  46. package/dist/common/report.html.js +31 -0
  47. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  48. package/dist/common/web.html.js +22 -0
  49. package/dist/module/Features.js +2 -3
  50. package/dist/module/Node.js +37 -62
  51. package/dist/module/NodeWriter.js +7 -9
  52. package/dist/module/Project.js +131 -605
  53. package/dist/module/SubPackages/puppeteer.js +14 -0
  54. package/dist/module/{subPackages → SubPackages}/react/component/node.js +3 -3
  55. package/dist/module/{subPackages → SubPackages}/react/component/web.js +3 -3
  56. package/dist/module/SubPackages/react/jsx/index.js +10 -0
  57. package/dist/module/SubPackages/react/jsx/node.js +5 -0
  58. package/dist/module/SubPackages/react/jsx/web.js +5 -0
  59. package/dist/module/{subPackages → SubPackages}/react-dom/component/node.js +7 -7
  60. package/dist/module/{subPackages → SubPackages}/react-dom/component/web.js +10 -11
  61. package/dist/module/SubPackages/react-dom/jsx/node.js +31 -0
  62. package/dist/module/{subPackages → SubPackages}/react-dom/jsx/web.js +20 -21
  63. package/dist/module/{subPackages → SubPackages}/react-test-renderer/MemoExoticComponent/node.js +3 -3
  64. package/dist/module/{subPackages → SubPackages}/react-test-renderer/component/index.js +22 -15
  65. package/dist/module/{subPackages → SubPackages}/react-test-renderer/component/node.js +2 -2
  66. package/dist/module/{subPackages → SubPackages}/react-test-renderer/component/web.js +2 -2
  67. package/dist/module/{subPackages → SubPackages}/react-test-renderer/fc/node.js +3 -3
  68. package/dist/module/{subPackages → SubPackages}/react-test-renderer/fc/web.js +3 -3
  69. package/dist/module/{subPackages → SubPackages}/react-test-renderer/jsx/index.js +8 -3
  70. package/dist/module/SubPackages/react-test-renderer/jsx/node.js +5 -0
  71. package/dist/module/SubPackages/react-test-renderer/jsx/web.js +5 -0
  72. package/dist/module/{subPackages → SubPackages}/react-test-renderer/jsx-promised/index.js +3 -3
  73. package/dist/module/{subPackages/react-test-renderer/jsx → SubPackages/react-test-renderer/jsx-promised}/node.js +1 -1
  74. package/dist/module/Types.js +2 -0
  75. package/dist/module/Web.js +49 -113
  76. package/dist/module/electron.js +257 -43
  77. package/dist/module/esbuildConfigs/features.js +12 -0
  78. package/dist/module/esbuildConfigs/index.js +18 -0
  79. package/dist/module/esbuildConfigs/node.js +32 -0
  80. package/dist/module/esbuildConfigs/report.js +11 -0
  81. package/dist/module/esbuildConfigs/tests.js +11 -0
  82. package/dist/module/esbuildConfigs/web.js +48 -0
  83. package/dist/module/lib/abstractBase.js +192 -0
  84. package/dist/module/lib/basebuilder.js +82 -0
  85. package/dist/module/lib/classBuilder.js +36 -0
  86. package/dist/module/lib/core.js +78 -0
  87. package/dist/module/lib/index.js +17 -0
  88. package/dist/module/lib/types.js +1 -0
  89. package/dist/module/preload.js +12 -24
  90. package/dist/module/puppeteerConfiger.js +19 -0
  91. package/dist/module/report.html.js +29 -0
  92. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  93. package/dist/module/web.html.js +20 -0
  94. package/dist/prebuild/Report.css +10326 -0
  95. package/dist/prebuild/Report.js +37456 -0
  96. package/dist/types/Features.d.ts +5 -5
  97. package/dist/types/Node.d.ts +5 -11
  98. package/dist/types/NodeWriter.d.ts +1 -1
  99. package/dist/types/Project.d.ts +2 -28
  100. package/dist/types/SubPackages/puppeteer.d.ts +6 -0
  101. package/dist/types/SubPackages/react/component/node.d.ts +7 -0
  102. package/dist/types/SubPackages/react/component/web.d.ts +7 -0
  103. package/dist/types/SubPackages/react/jsx/index.d.ts +15 -0
  104. package/dist/types/SubPackages/react/jsx/node.d.ts +4 -0
  105. package/dist/types/SubPackages/react/jsx/web.d.ts +4 -0
  106. package/dist/types/SubPackages/react-dom/component/node.d.ts +12 -0
  107. package/dist/types/SubPackages/react-dom/component/web.d.ts +5 -0
  108. package/dist/types/SubPackages/react-dom/jsx/node.d.ts +6 -0
  109. package/dist/types/SubPackages/react-dom/jsx/web.d.ts +5 -0
  110. package/dist/types/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +5 -0
  111. package/dist/types/{subPackages → SubPackages}/react-test-renderer/component/index.d.ts +6 -6
  112. package/dist/types/{subPackages → SubPackages}/react-test-renderer/component/node.d.ts +4 -4
  113. package/dist/types/SubPackages/react-test-renderer/component/web.d.ts +4 -0
  114. package/dist/types/SubPackages/react-test-renderer/fc/node.d.ts +8 -0
  115. package/dist/types/SubPackages/react-test-renderer/fc/web.d.ts +8 -0
  116. package/dist/types/{subPackages → SubPackages}/react-test-renderer/jsx/index.d.ts +5 -4
  117. package/dist/types/SubPackages/react-test-renderer/jsx/node.d.ts +9 -0
  118. package/dist/types/SubPackages/react-test-renderer/jsx/web.d.ts +9 -0
  119. package/dist/types/{subPackages → SubPackages}/react-test-renderer/jsx-promised/index.d.ts +4 -4
  120. package/dist/types/SubPackages/react-test-renderer/jsx-promised/node.d.ts +5 -0
  121. package/dist/types/SubPackages/react-test-renderer/jsx-promised/web.d.ts +5 -0
  122. package/dist/types/Types.d.ts +49 -17
  123. package/dist/types/Web.d.ts +5 -11
  124. package/dist/types/esbuildConfigs/features.d.ts +4 -0
  125. package/dist/types/esbuildConfigs/index.d.ts +4 -0
  126. package/dist/types/esbuildConfigs/node.d.ts +4 -0
  127. package/dist/types/esbuildConfigs/report.d.ts +4 -0
  128. package/dist/types/esbuildConfigs/tests.d.ts +4 -0
  129. package/dist/types/esbuildConfigs/web.d.ts +4 -0
  130. package/dist/types/lib/abstractBase.d.ts +103 -0
  131. package/dist/types/lib/basebuilder.d.ts +25 -0
  132. package/dist/types/lib/classBuilder.d.ts +7 -0
  133. package/dist/types/lib/core.d.ts +8 -0
  134. package/dist/types/lib/index.d.ts +58 -0
  135. package/dist/types/lib/types.d.ts +70 -0
  136. package/dist/types/puppeteerConfiger.d.ts +4 -0
  137. package/dist/types/report.html.d.ts +2 -0
  138. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  139. package/dist/types/web.html.d.ts +2 -0
  140. package/electronBuild.ts +32 -0
  141. package/index.html +30 -0
  142. package/package.json +123 -87
  143. package/src/Features.ts +2 -4
  144. package/src/Node.ts +79 -155
  145. package/src/NodeWriter.ts +22 -22
  146. package/src/Project.ts +185 -783
  147. package/src/Report.tsx +30 -15
  148. package/src/SubPackages/puppeteer.ts +51 -0
  149. package/src/SubPackages/react/component/node.ts +43 -0
  150. package/src/SubPackages/react/component/web.ts +43 -0
  151. package/src/SubPackages/react/jsx/index.ts +32 -0
  152. package/src/SubPackages/react/jsx/node.ts +29 -0
  153. package/src/SubPackages/react/jsx/web.ts +30 -0
  154. package/src/{subPackages → SubPackages}/react-dom/component/node.ts +24 -44
  155. package/src/SubPackages/react-dom/component/web.ts +104 -0
  156. package/src/{subPackages → SubPackages}/react-dom/jsx/index.ts +0 -1
  157. package/src/SubPackages/react-dom/jsx/node.ts +68 -0
  158. package/src/SubPackages/react-dom/jsx/web.ts +102 -0
  159. package/src/SubPackages/react-test-renderer/MemoExoticComponent/node.ts +38 -0
  160. package/src/{subPackages → SubPackages}/react-test-renderer/component/index.ts +37 -49
  161. package/src/SubPackages/react-test-renderer/component/node.ts +16 -0
  162. package/src/SubPackages/react-test-renderer/component/web.ts +16 -0
  163. package/src/SubPackages/react-test-renderer/fc/node.ts +49 -0
  164. package/src/SubPackages/react-test-renderer/fc/web.ts +48 -0
  165. package/src/SubPackages/react-test-renderer/jsx/index.ts +49 -0
  166. package/src/SubPackages/react-test-renderer/jsx/node.ts +20 -0
  167. package/src/SubPackages/react-test-renderer/jsx/web.ts +20 -0
  168. package/src/{subPackages → SubPackages}/react-test-renderer/jsx-promised/index.ts +15 -26
  169. package/src/SubPackages/react-test-renderer/jsx-promised/node.ts +19 -0
  170. package/src/SubPackages/react-test-renderer/jsx-promised/web.ts +22 -0
  171. package/src/Types.ts +114 -17
  172. package/src/Web.ts +100 -225
  173. package/src/cjs-shim.js +12 -0
  174. package/src/electron.ts +303 -45
  175. package/src/esbuildConfigs/features.ts +17 -0
  176. package/src/esbuildConfigs/index.ts +22 -0
  177. package/src/esbuildConfigs/node.ts +60 -0
  178. package/src/esbuildConfigs/report.ts +15 -0
  179. package/src/esbuildConfigs/tests.ts +14 -0
  180. package/src/esbuildConfigs/web.ts +73 -0
  181. package/src/lib/abstractBase.ts +412 -0
  182. package/src/lib/basebuilder.ts +228 -0
  183. package/src/lib/classBuilder.ts +118 -0
  184. package/src/lib/core.ts +214 -0
  185. package/src/lib/index.ts +117 -0
  186. package/src/lib/types.ts +206 -0
  187. package/src/preload.ts +13 -27
  188. package/src/puppeteerConfiger.ts +26 -0
  189. package/src/report.html.ts +29 -0
  190. package/src/web.html.ts +20 -0
  191. package/tests/Rectangle.test.ts +189 -0
  192. package/tsconfig.json +19 -6
  193. package/tsconfig.module.json +15 -4
  194. package/tsconfig.types.json +14 -4
  195. package/yarn-error.log +3144 -0
  196. package/dist/common/core.js +0 -397
  197. package/dist/common/subPackages/react/jsx/index.js +0 -26
  198. package/dist/common/subPackages/react-dom/jsx/node.js +0 -95
  199. package/dist/common/subPackages/react-test-renderer/component/node.js +0 -8
  200. package/dist/common/subPackages/react-test-renderer/component/web.js +0 -8
  201. package/dist/module/Report.js +0 -186
  202. package/dist/module/core.js +0 -388
  203. package/dist/module/subPackages/react/jsx/index.js +0 -22
  204. package/dist/module/subPackages/react/jsx/node.js +0 -5
  205. package/dist/module/subPackages/react/jsx/web.js +0 -5
  206. package/dist/module/subPackages/react-dom/jsx/node.js +0 -87
  207. package/dist/module/subPackages/react-test-renderer/jsx/web.js +0 -5
  208. package/dist/module/subPackages/react-test-renderer/jsx-promised/node.js +0 -5
  209. package/dist/types/core.d.ts +0 -220
  210. package/dist/types/subPackages/react/component/node.d.ts +0 -12
  211. package/dist/types/subPackages/react/component/web.d.ts +0 -12
  212. package/dist/types/subPackages/react/jsx/index.d.ts +0 -15
  213. package/dist/types/subPackages/react/jsx/node.d.ts +0 -4
  214. package/dist/types/subPackages/react/jsx/web.d.ts +0 -4
  215. package/dist/types/subPackages/react-dom/component/node.d.ts +0 -14
  216. package/dist/types/subPackages/react-dom/component/web.d.ts +0 -19
  217. package/dist/types/subPackages/react-dom/jsx/node.d.ts +0 -8
  218. package/dist/types/subPackages/react-dom/jsx/web.d.ts +0 -5
  219. package/dist/types/subPackages/react-test-renderer/MemoExoticComponent/node.d.ts +0 -8
  220. package/dist/types/subPackages/react-test-renderer/component/web.d.ts +0 -9
  221. package/dist/types/subPackages/react-test-renderer/fc/node.d.ts +0 -9
  222. package/dist/types/subPackages/react-test-renderer/fc/web.d.ts +0 -9
  223. package/dist/types/subPackages/react-test-renderer/jsx/node.d.ts +0 -4
  224. package/dist/types/subPackages/react-test-renderer/jsx/web.d.ts +0 -4
  225. package/dist/types/subPackages/react-test-renderer/jsx-promised/node.d.ts +0 -4
  226. package/dist/types/subPackages/react-test-renderer/jsx-promised/web.d.ts +0 -4
  227. package/src/core.ts +0 -1399
  228. package/src/subPackages/react/component/node.ts +0 -75
  229. package/src/subPackages/react/component/web.ts +0 -80
  230. package/src/subPackages/react/jsx/index.ts +0 -64
  231. package/src/subPackages/react/jsx/node.ts +0 -29
  232. package/src/subPackages/react/jsx/web.ts +0 -29
  233. package/src/subPackages/react-dom/component/web.ts +0 -129
  234. package/src/subPackages/react-dom/jsx/node.ts +0 -145
  235. package/src/subPackages/react-dom/jsx/web.ts +0 -145
  236. package/src/subPackages/react-test-renderer/MemoExoticComponent/node.ts +0 -67
  237. package/src/subPackages/react-test-renderer/component/node.ts +0 -30
  238. package/src/subPackages/react-test-renderer/component/web.ts +0 -30
  239. package/src/subPackages/react-test-renderer/fc/node.ts +0 -77
  240. package/src/subPackages/react-test-renderer/fc/web.ts +0 -77
  241. package/src/subPackages/react-test-renderer/jsx/index.ts +0 -51
  242. package/src/subPackages/react-test-renderer/jsx/node.ts +0 -31
  243. package/src/subPackages/react-test-renderer/jsx/web.ts +0 -31
  244. package/src/subPackages/react-test-renderer/jsx-promised/node.ts +0 -31
  245. package/src/subPackages/react-test-renderer/jsx-promised/web.ts +0 -31
  246. /package/dist/common/{subPackages → SubPackages}/react-dom/jsx/index.js +0 -0
  247. /package/dist/common/{subPackages → SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  248. /package/dist/module/{subPackages → SubPackages}/react-dom/jsx/index.js +0 -0
  249. /package/dist/module/{subPackages → SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  250. /package/dist/types/{subPackages → SubPackages}/react-dom/jsx/index.d.ts +0 -0
@@ -0,0 +1,2 @@
1
+ declare const _default: (jsfilePath: string, htmlFilePath: string) => string;
2
+ export default _default;
@@ -0,0 +1,32 @@
1
+ import * as esbuild from 'esbuild'
2
+
3
+ let result = await esbuild.build({
4
+ entryPoints: ['src/electron.ts'],
5
+ bundle: true,
6
+ outfile: 'dist/prebuild/electron.js',
7
+ external: [
8
+ "assert",
9
+ "child_process",
10
+ "constants",
11
+ "crypto",
12
+ "fs",
13
+ "http",
14
+ "https",
15
+ "net",
16
+ "os",
17
+ "path",
18
+ "readline",
19
+ "stream",
20
+ "tls",
21
+ "util",
22
+ "zlib",
23
+ "node:module",
24
+ "node:url",
25
+ "node:path",
26
+ ],
27
+ banner: {
28
+ js: `import { createRequire } from 'module';const require = createRequire(import.meta.url);`
29
+ },
30
+ // inject: [`./src/cjs-shim.js`],
31
+ })
32
+ // yarn esbuild src / electron.ts--outfile = dist / prebuild / electron.js--bundle--external: path--external: http--external: fs--external: net--external: os--external: util--external: https--external: stream--external: tls--external: readline--external: child_process--external: zlib--external: assert--external: crypto--external: constants
package/index.html ADDED
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta name="description" content="Webpage description goes here" />
6
+ <meta charset="utf-8" />
7
+ <title>kokomoBay - testeranto</title>
8
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
9
+ <meta name="author" content="" />
10
+
11
+ <link rel="stylesheet" href="/dist/testeranto.css" />
12
+ <script src="/dist/testeranto.js"></script>
13
+
14
+ <script type="importmap">
15
+ {
16
+ "imports": {
17
+ "tests.test.js": "./tests.test.js",
18
+ "features.test.js": "./features.test.js"
19
+ }
20
+ }
21
+ </script>
22
+ </head>
23
+
24
+ <body>
25
+ <div id="root">
26
+ react is loading
27
+ </div>
28
+ </body>
29
+
30
+ </html>
package/package.json CHANGED
@@ -1,102 +1,118 @@
1
1
  {
2
2
  "name": "testeranto",
3
3
  "description": "teeny tiny tightly-typed typescript tests",
4
- "version": "0.49.10",
4
+ "version": "0.70.0",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.mts",
7
7
  "module": "dist/module/index.js",
8
8
  "exports": {
9
- "./src/subPackages/react/jsx/index": {
10
- "import": "./dist/module/subPackages/react/jsx/index.js",
11
- "require": "./dist/common/subPackages/react/jsx/index.js"
9
+ "./src/cjs-shim.ts": {
10
+ "import": "./dist/cjs-shim.js",
11
+ "require": "./dist/cjs-shim.js"
12
12
  },
13
- "./src/subPackages/react/jsx/web": {
14
- "import": "./dist/module/subPackages/react/jsx/web.js",
15
- "require": "./dist/common/subPackages/react/jsx/web.js"
13
+ "./src/SubPackages/puppeteer": {
14
+ "import": "./dist/module/SubPackages/puppeteer.js",
15
+ "require": "./dist/common/SubPackages/puppeteer.js"
16
16
  },
17
- "./src/subPackages/react/jsx/node": {
18
- "import": "./dist/module/subPackages/react/jsx/node.js",
19
- "require": "./dist/common/subPackages/react/jsx/node.js"
17
+ "./src/SubPackages/react/jsx/index": {
18
+ "import": "./dist/module/SubPackages/react/jsx/index.js",
19
+ "require": "./dist/common/SubPackages/react/jsx/index.js"
20
20
  },
21
- "./src/subPackages/react/component/index": {
22
- "import": "./dist/module/subPackages/react/component/index.js",
23
- "require": "./dist/common/subPackages/react/component/index.js"
21
+ "./src/SubPackages/react/jsx/web": {
22
+ "import": "./src/SubPackages/react/jsx/web.ts",
23
+ "require": "./src/SubPackages/react/jsx/web.ts"
24
24
  },
25
- "./src/subPackages/react/component/web": {
26
- "import": "./dist/module/subPackages/react/component/web.js",
27
- "require": "./dist/common/subPackages/react/component/web.js"
25
+ "./src/SubPackages/react/jsx/node": {
26
+ "import": "./dist/module/SubPackages/react/jsx/node.js",
27
+ "require": "./dist/common/SubPackages/react/jsx/node.js"
28
28
  },
29
- "./src/subPackages/react/component/node": {
30
- "import": "./dist/module/subPackages/react/component/node.js",
31
- "require": "./dist/common/subPackages/react/component/node.js"
29
+ "./src/SubPackages/react/component/index": {
30
+ "import": "./dist/module/SubPackages/react/component/index.js",
31
+ "require": "./dist/common/SubPackages/react/component/index.js"
32
32
  },
33
- "./src/subPackages/react-test-renderer/component/index": {
34
- "import": "./dist/module/subPackages/react-test-renderer/component/index.js",
35
- "require": "./dist/common/subPackages/react-test-renderer/component/index.js"
33
+ "./src/SubPackages/react/component/web": {
34
+ "import": "./dist/module/SubPackages/react/component/web.js",
35
+ "require": "./dist/common/SubPackages/react/component/web.js"
36
36
  },
37
- "./src/subPackages/react-test-renderer/component/web": {
38
- "import": "./dist/module/subPackages/react-test-renderer/component/web.js",
39
- "require": "./dist/common/subPackages/react-test-renderer/component/web.js"
37
+ "./src/SubPackages/react/component/node": {
38
+ "import": "./dist/module/SubPackages/react/component/node.js",
39
+ "require": "./dist/common/SubPackages/react/component/node.js"
40
40
  },
41
- "./src/subPackages/react-test-renderer/component/node": {
42
- "import": "./dist/module/subPackages/react-test-renderer/component/node.js",
43
- "require": "./dist/common/subPackages/react-test-renderer/component/node.js"
41
+ "./src/SubPackages/react-test-renderer/component/index.ts": {
42
+ "import": "./src/SubPackages/react-test-renderer/component/index.ts",
43
+ "require": "./src/SubPackages/react-test-renderer/component/index.ts"
44
44
  },
45
- "./src/subPackages/react-test-renderer/jsx/index": {
46
- "import": "./dist/module/subPackages/react-test-renderer/jsx/index.js",
47
- "require": "./dist/common/subPackages/react-test-renderer/jsx/index.js"
45
+ "./src/SubPackages/react-test-renderer/component/index": {
46
+ "import": "./src/SubPackages/react-test-renderer/component/index.ts",
47
+ "require": "./src/SubPackages/react-test-renderer/component/index.ts"
48
48
  },
49
- "./src/subPackages/react-test-renderer/jsx/web": {
50
- "import": "./dist/module/subPackages/react-test-renderer/jsx/web.js",
51
- "require": "./dist/common/subPackages/react-test-renderer/jsx/web.js"
49
+ "./src/SubPackages/react-test-renderer/component/web": {
50
+ "import": "./dist/module/SubPackages/react-test-renderer/component/web.js",
51
+ "require": "./dist/common/SubPackages/react-test-renderer/component/web.js"
52
52
  },
53
- "./src/subPackages/react-test-renderer/jsx/node": {
54
- "import": "./dist/module/subPackages/react-test-renderer/jsx/node.js",
55
- "require": "./dist/common/subPackages/react-test-renderer/jsx/node.js"
53
+ "./src/SubPackages/react-test-renderer/component/node": {
54
+ "import": "./dist/module/SubPackages/react-test-renderer/component/node.js",
55
+ "require": "./dist/common/SubPackages/react-test-renderer/component/node.js"
56
56
  },
57
- "./src/subPackages/react-test-renderer/jsx-promised/index": {
58
- "import": "./dist/module/subPackages/react-test-renderer/jsx-promised/index.js",
59
- "require": "./dist/common/subPackages/react-test-renderer/jsx-promised/index.js"
57
+ "./src/SubPackages/react-test-renderer/jsx/index.js": {
58
+ "import": "./dist/module/src/SubPackages/react-test-renderer/jsx/index.js",
59
+ "require": "./dist/common/SubPackages/react-test-renderer/jsx/index.js"
60
60
  },
61
- "./src/subPackages/react-test-renderer/jsx-promised/web": {
62
- "import": "./dist/module/subPackages/react-test-renderer/jsx-promised/web.js",
63
- "require": "./dist/common/subPackages/react-test-renderer/jsx-promised/web.js"
61
+ "./src/SubPackages/react-test-renderer/jsx/web.js": {
62
+ "import": "./dist/module/SubPackages/react-test-renderer/jsx/web.js",
63
+ "require": "./dist/common/SubPackages/react-test-renderer/jsx/web.js"
64
64
  },
65
- "./src/subPackages/react-test-renderer/jsx-promised/node": {
66
- "import": "./dist/module/subPackages/react-test-renderer/jsx-promised/node.js",
67
- "require": "./dist/common/subPackages/react-test-renderer/jsx-promised/node.js"
65
+ "./src/SubPackages/react-test-renderer/jsx/node.js": {
66
+ "import": "./dist/module/SubPackages/react-test-renderer/jsx/node.js",
67
+ "require": "./dist/common/SubPackages/react-test-renderer/jsx/node.js"
68
68
  },
69
- "./src/subPackages/react-test-renderer/fc/node": {
70
- "import": "./dist/module/subPackages/react-test-renderer/fc/node.js",
71
- "require": "./dist/common/subPackages/react-test-renderer/fc/node.js"
69
+ "./src/SubPackages/react-test-renderer/jsx-promised/index": {
70
+ "import": "./dist/module/SubPackages/react-test-renderer/jsx-promised/index.js",
71
+ "require": "./dist/common/SubPackages/react-test-renderer/jsx-promised/index.js"
72
72
  },
73
- "./src/subPackages/react-test-renderer/MemoExoticComponent/node": {
74
- "import": "./dist/module/subPackages/react-test-renderer/MemoExoticComponent/node.js",
75
- "require": "./dist/common/subPackages/react-test-renderer/MemoExoticComponent/node.js"
73
+ "./src/SubPackages/react-test-renderer/jsx-promised/web": {
74
+ "import": "./dist/module/SubPackages/react-test-renderer/jsx-promised/web.js",
75
+ "require": "./dist/common/SubPackages/react-test-renderer/jsx-promised/web.js"
76
76
  },
77
- "./src/subPackages/react-dom/jsx/web": {
78
- "import": "./dist/module/subPackages/react-dom/jsx/web.js",
79
- "require": "./dist/common/subPackages/react-dom/jsx/web.js"
77
+ "./src/SubPackages/react-test-renderer/jsx-promised/node": {
78
+ "import": "./dist/module/SubPackages/react-test-renderer/jsx-promised/node.js",
79
+ "require": "./dist/common/SubPackages/react-test-renderer/jsx-promised/node.js"
80
80
  },
81
- "./src/subPackages/react-dom/jsx/node": {
82
- "import": "./dist/module/subPackages/react-dom/jsx/node.js",
83
- "require": "./dist/common/subPackages/react-dom/jsx/node.js"
81
+ "./src/SubPackages/react-test-renderer/fc/node": {
82
+ "import": "./dist/module/SubPackages/react-test-renderer/fc/node.js",
83
+ "require": "./dist/common/SubPackages/react-test-renderer/fc/node.js"
84
84
  },
85
- "./src/subPackages/react-dom/jsx/index": {
86
- "import": "./dist/module/subPackages/react-dom/jsx/index.js",
87
- "require": "./dist/common/subPackages/react-dom/jsx/index.js"
85
+ "./src/SubPackages/react-test-renderer/MemoExoticComponent/node": {
86
+ "import": "./dist/module/SubPackages/react-test-renderer/MemoExoticComponent/node.js",
87
+ "require": "./dist/common/SubPackages/react-test-renderer/MemoExoticComponent/node.js"
88
88
  },
89
- "./src/subPackages/react-dom/component/web": {
90
- "import": "./dist/module/subPackages/react-dom/component/web.js",
91
- "require": "./dist/common/subPackages/react-dom/component/web.js"
89
+ "./src/SubPackages/react-dom/jsx/web": {
90
+ "import": "./dist/module/SubPackages/react-dom/jsx/web.js",
91
+ "require": "./dist/common/SubPackages/react-dom/jsx/web.js"
92
92
  },
93
- "./src/subPackages/react-dom/component/node": {
94
- "import": "./dist/module/subPackages/react-dom/component/node.js",
95
- "require": "./dist/common/subPackages/react-dom/component/node.js"
93
+ "./src/SubPackages/react-dom/jsx/node": {
94
+ "import": "./dist/module/SubPackages/react-dom/jsx/node.js",
95
+ "require": "./dist/common/SubPackages/react-dom/jsx/node.js"
96
+ },
97
+ "./src/SubPackages/react-dom/jsx/index": {
98
+ "import": "./dist/module/SubPackages/react-dom/jsx/index.js",
99
+ "require": "./dist/common/SubPackages/react-dom/jsx/index.js"
100
+ },
101
+ "./src/SubPackages/react-dom/component/web": {
102
+ "import": "./dist/module/SubPackages/react-dom/component/web.js",
103
+ "require": "./dist/common/SubPackages/react-dom/component/web.js"
104
+ },
105
+ "./src/SubPackages/react-dom/component/node": {
106
+ "import": "./dist/module/SubPackages/react-dom/component/node.js",
107
+ "require": "./dist/common/SubPackages/react-dom/component/node.js"
96
108
  },
97
109
  "./src/Types": {
98
- "import": "./dist/module/Types.js",
99
- "require": "./dist/common/Types.js"
110
+ "import": "./src/Types.ts",
111
+ "require": "./src/Types.ts"
112
+ },
113
+ "./src/lib": {
114
+ "import": "./src/lib.ts",
115
+ "require": "./src/lib.ts"
100
116
  },
101
117
  "./src/Features": {
102
118
  "import": "./dist/module/Features.js",
@@ -111,28 +127,36 @@
111
127
  "require": "./dist/common/Project.js"
112
128
  },
113
129
  "./src/Web": {
114
- "import": "./dist/module/Web.js",
115
- "require": "./dist/common/Web.js"
130
+ "import": "./src/Web.ts",
131
+ "require": "./src/Web.ts"
116
132
  },
117
133
  "./src/Node": {
118
- "import": "./dist/module/Node.js",
119
- "require": "./dist/common/Node.js"
134
+ "import": "./src/Node.ts",
135
+ "require": "./src/Node.ts"
120
136
  },
121
137
  "./src/electron": {
122
138
  "import": "./dist/module/electron.js",
123
139
  "require": "./dist/common/electron.js"
124
140
  },
125
- "./src/core": {
126
- "import": "./dist/module/core.js",
127
- "require": "./dist/common/core.js"
128
- },
129
141
  "./src/preload": {
130
142
  "import": "./dist/module/preload.js",
131
143
  "require": "./dist/common/preload.js"
132
144
  },
133
- "./dist/module/core": {
134
- "import": "./dist/module/core.js",
135
- "require": "./dist/common/core.js"
145
+ "./dist/module/lib/core": {
146
+ "import": "./dist/module/lib/core.js",
147
+ "require": "./dist/common/lib/core.js"
148
+ },
149
+ "./dist/module/lib/abstractBase": {
150
+ "import": "./dist/module/lib/abstractBase.js",
151
+ "require": "./dist/common/lib/abstractBase.js"
152
+ },
153
+ "./dist/module/lib/baseBuilder": {
154
+ "import": "./dist/module/lib/baseBuilder.js",
155
+ "require": "./dist/common/lib/baseBuilder.js"
156
+ },
157
+ "./dist/module/lib/classBuilder": {
158
+ "import": "./dist/module/lib/classBuilder.js",
159
+ "require": "./dist/common/lib/classBuilder.js"
136
160
  },
137
161
  "./dist/module/NodeWriter": {
138
162
  "import": "./dist/module/NodeWriter.js",
@@ -150,8 +174,14 @@
150
174
  "ATDD"
151
175
  ],
152
176
  "scripts": {
153
- "build": "sh prebuild.sh; tsc -p tsconfig.module.json; tsc -p tsconfig.common.json; tsc -p tsconfig.types.json; sh postBuild.sh",
154
- "dev": "tsc -p tsconfig.module.json --watch & tsc -p tsconfig.common.json --watch & tsc -p tsconfig.types.json --watch"
177
+ "doit": "rm -rf node_modules && yarn install && yarn build",
178
+ "build": "sh prebuild.sh; cp ./src/cjs-shim.js ./dist/cjs-shim.js; tsc -p tsconfig.module.json; tsc -p tsconfig.common.json; tsc -p tsconfig.types.json; yarn esbuild src/Report.tsx --outfile=dist/prebuild/Report.js --bundle --external:testeranto.json --external:features.test.js --external:tests.json; sh postBuild.sh; ",
179
+ "commit": "yarn build; git add --all && git commit -m 'stash'",
180
+ "dev": "cp ./src/cjs-shim.js ./dist/cjs-shim.js && tsc -p tsconfig.module.json --watch & tsc -p tsconfig.common.json --watch & tsc -p tsconfig.types.json --watch & yarn esbuild src/Report.tsx --outfile=dist/prebuild/Report.js --bundle --external:testeranto.json --external:features.test.js --external:tests.json --watch",
181
+ "build-module": "tsc -p tsconfig.module.json",
182
+ "build-common": "tsc -p tsconfig.common.json",
183
+ "build-types": "tsc -p tsconfig.types.json",
184
+ "build-electron": "ts-node-esm electronBuild.ts"
155
185
  },
156
186
  "peerDependencies": {
157
187
  "@types/react": "^18.2.66",
@@ -164,7 +194,7 @@
164
194
  },
165
195
  "devDependencies": {
166
196
  "@swc/core": "^1.3.26",
167
- "@types/node": "^18.14.0",
197
+ "@types/node": "^22.7.5",
168
198
  "@types/react": "18.2.55",
169
199
  "@types/react-bootstrap": "^0.32.32",
170
200
  "@types/react-dom": "18.2.23",
@@ -178,9 +208,10 @@
178
208
  "typescript": "4.8.2"
179
209
  },
180
210
  "dependencies": {
211
+ "@electron/remote": "^2.1.2",
181
212
  "babel-loader": "^8.2.5",
182
213
  "bootstrap": "^5.2.3",
183
- "electron": "^24.2.0",
214
+ "electron": "28.0.0",
184
215
  "esbuild": "0.17.5",
185
216
  "esbuild-plugin-external-package": "^1.0.0",
186
217
  "esbuild-plugin-import-map": "^2.1.0",
@@ -194,12 +225,17 @@
194
225
  "graphology-types": "^0.24.5",
195
226
  "html": "^1.0.0",
196
227
  "ipc": "^0.0.1",
228
+ "jsonc": "^2.0.0",
197
229
  "npm-watch": "^0.11.0",
198
- "pm2": "^5.2.2",
199
- "puppeteer": "18.1.0",
230
+ "puppeteer": "19.2.2",
231
+ "puppeteer-core": "19.2.2",
232
+ "puppeteer-in-electron": "^3.0.5",
200
233
  "react-bootstrap": "^2.7.0",
201
234
  "react-sigma": "^1.2.35",
202
235
  "react-test-renderer": "18.2.0",
236
+ "selenium-webdriver": "^4.25.0",
237
+ "url": "^0.11.4",
238
+ "uuid": "^10.0.0",
203
239
  "ws": "^8.16.0"
204
240
  }
205
- }
241
+ }
package/src/Features.ts CHANGED
@@ -1,8 +1,6 @@
1
- import Graph from "graphology";
2
- import pkg from "graphology";
1
+ import Graph from "graphology/dist/graphology.umd.js";
3
2
 
4
- /* @ts-ignore:next-line */
5
- const { DirectedGraph, UndirectedGraph } = pkg;
3
+ const { DirectedGraph, UndirectedGraph } = Graph;
6
4
 
7
5
  abstract class TesterantoGraph {
8
6
  name: string;
package/src/Node.ts CHANGED
@@ -1,174 +1,98 @@
1
+ import puppeteer from "puppeteer-core";
2
+
3
+ import Testeranto from "./lib/core.js";
1
4
  import {
5
+ defaultTestResourceRequirement,
6
+ ITestJob,
2
7
  ITTestResourceConfiguration,
3
8
  ITTestResourceRequest,
4
- ITTestShape,
5
- ITestArtificer,
6
- ITestJob,
7
- ITestSpecification,
8
- defaultTestResourceRequirement,
9
- } from "./core.js";
10
- import TesterantoLevelTwo from "./core.js";
9
+ } from "./lib/index.js";
11
10
  import { NodeWriter } from "./NodeWriter.js";
11
+ import type {
12
+ IBaseTest,
13
+ ITestImplementation,
14
+ ITestSpecification,
15
+ } from "./Types.js";
16
+ import { ITestInterface, INodeTestInterface } from "./lib/types.js";
12
17
 
13
- const receiveTestResourceConfigUnscheduled = async (t, testresource) => {
14
- const {
15
- failed,
16
- artifacts,
17
- logPromise
18
- } = await t.receiveTestResourceConfig(testresource);
18
+ import puppeteerConfiger from "./puppeteerConfiger.js";
19
19
 
20
- Promise.all([...artifacts, logPromise]).then(async () => {
21
- process.exit(await failed ? 1 : 0);
22
- })
23
- }
20
+ class NodeTesteranto<
21
+ TestShape extends IBaseTest
22
+ > extends Testeranto<TestShape> {
23
+ constructor(
24
+ input: TestShape["iinput"],
25
+ testSpecification: ITestSpecification<TestShape>,
26
+ testImplementation: ITestImplementation<TestShape>,
27
+ testResourceRequirement: ITTestResourceRequest,
28
+ testInterface: Partial<ITestInterface<TestShape>>
29
+ ) {
30
+ super(
31
+ input,
32
+ testSpecification,
33
+ testImplementation,
34
+ testResourceRequirement,
35
+ NodeWriter,
36
+ testInterface
37
+ );
24
38
 
25
- const receiveTestResourceConfigScheduled = async (t, testresource) => {
26
- const {
27
- failed,
28
- artifacts,
29
- logPromise
30
- } = await t.receiveTestResourceConfig(testresource);
39
+ if (process.argv[2]) {
40
+ const testResourceArg = process.argv[2];
31
41
 
32
- /* @ts-ignore:next-line */
33
- process.send(
34
- {
35
- type: "testeranto:adios",
36
- data: {
37
- failed,
38
- testResourceConfiguration:
39
- t.test.testResourceConfiguration,
40
- results: t.toObj(),
41
- },
42
- },
43
- async (err) => {
44
- if (!err) {
45
- Promise.all([...artifacts, logPromise]).then(async () => {
46
- process.exit(await failed ? 1 : 0);
47
- })
48
- } else {
49
- console.error(err);
50
- process.exit(1);
42
+ try {
43
+ const partialTestResource = JSON.parse(
44
+ testResourceArg
45
+ ) as ITTestResourceConfiguration;
46
+
47
+ this.receiveTestResourceConfig(this.testJobs[0], partialTestResource);
48
+ } catch (e) {
49
+ console.error(e);
50
+ // process.exit(-1);
51
51
  }
52
+ } else {
53
+ // no-op
54
+ }
55
+ }
56
+
57
+ async receiveTestResourceConfig(
58
+ t: ITestJob,
59
+ partialTestResource: ITTestResourceConfiguration
60
+ ) {
61
+ const browser = await puppeteerConfiger("2999").then(async (json) => {
62
+ const b = await puppeteer.connect({
63
+ browserWSEndpoint: json.webSocketDebuggerUrl,
64
+ defaultViewport: null,
65
+ });
66
+ console.log("connected!", b.isConnected());
67
+ return b;
52
68
  });
53
- }
54
69
 
55
- export default async <
56
- TestShape extends ITTestShape,
57
- IInput,
58
- ISubject,
59
- IStore,
60
- ISelection,
61
- IWhenShape,
62
- IThenShape,
63
- IState
64
- >(
65
- input: IInput,
66
- testSpecification: ITestSpecification<
67
- TestShape,
68
- ISubject,
69
- IStore,
70
- ISelection,
71
- IThenShape
72
- >,
73
- testImplementation,
74
- testInterface: {
75
- actionHandler?: (b: (...any) => any) => any;
76
- andWhen: (
77
- store: IStore,
78
- actioner,
79
- testResource: ITTestResourceConfiguration
80
- ) => Promise<ISelection>;
81
- butThen?: (
82
- store: IStore,
83
- callback,
84
- testResource: ITTestResourceConfiguration
85
- ) => Promise<ISelection>;
86
- assertioner?: (t: IThenShape) => any;
70
+ const { failed, artifacts, logPromise } = await t.receiveTestResourceConfig(
71
+ partialTestResource,
72
+ {
73
+ browser,
74
+ ipc: process.parentPort,
75
+ }
76
+ );
87
77
 
88
- afterAll?: (store: IStore, artificer: ITestArtificer) => any;
89
- afterEach?: (
90
- store: IStore,
91
- key: string,
92
- artificer: ITestArtificer
93
- ) => Promise<unknown>;
94
- beforeAll?: (input: IInput, artificer: ITestArtificer) => Promise<ISubject>;
95
- beforeEach?: (
96
- subject: ISubject,
97
- initialValues,
98
- testResource: ITTestResourceConfiguration,
99
- artificer: ITestArtificer
100
- ) => Promise<IStore>;
101
- },
102
- testResourceRequirement: ITTestResourceRequest = defaultTestResourceRequirement,
103
- ) => {
78
+ Promise.all([...artifacts, logPromise]).then(async () => {
79
+ process.exit((await failed) ? 1 : 0);
80
+ });
81
+ }
82
+ }
104
83
 
105
- const mrt = new TesterantoLevelTwo(
84
+ export default async <ITestShape extends IBaseTest>(
85
+ input: ITestShape["iinput"],
86
+ testSpecification: ITestSpecification<ITestShape>,
87
+ testImplementation: ITestImplementation<ITestShape>,
88
+ testInterface: Partial<INodeTestInterface<ITestShape>>,
89
+ testResourceRequirement: ITTestResourceRequest = defaultTestResourceRequirement
90
+ ): Promise<Testeranto<ITestShape>> => {
91
+ return new NodeTesteranto<ITestShape>(
106
92
  input,
107
93
  testSpecification,
108
94
  testImplementation,
109
- testInterface,
110
95
  testResourceRequirement,
111
- testInterface.assertioner || (async (t) => t as any),
112
- testInterface.beforeEach || async function (subject: ISubject, initialValues: any, testResource: any) {
113
- return subject as any;
114
- },
115
- testInterface.afterEach || (async (s) => s),
116
- testInterface.afterAll || ((store: IStore) => undefined),
117
- testInterface.butThen || (async (a) => a as any),
118
- testInterface.andWhen,
119
- testInterface.actionHandler ||
120
- function (b: (...any: any[]) => any) {
121
- return b;
122
- },
123
- NodeWriter
96
+ testInterface
124
97
  );
125
-
126
- const tl2: TesterantoLevelTwo<any, any, any, any, any, any, any, any> = mrt;
127
- const t: ITestJob = tl2.testJobs[0];
128
- const testResourceArg = process.argv[2] || `{}`;
129
-
130
- try {
131
- const partialTestResource = JSON.parse(
132
- testResourceArg
133
- ) as ITTestResourceConfiguration;
134
-
135
- if (partialTestResource.scheduled) {
136
- console.log("test is scheduled", partialTestResource);
137
-
138
- console.log(
139
- "requesting test resources via IPC ...",
140
- testResourceRequirement
141
- );
142
- /* @ts-ignore:next-line */
143
- process.send({
144
- type: "testeranto:hola",
145
- data: {
146
- requirement: {
147
- ...testResourceRequirement,
148
- name: partialTestResource.name
149
- }
150
- },
151
- });
152
-
153
- console.log("awaiting test resources via IPC...");
154
- process.on(
155
- "message",
156
- async function (packet: { data: { testResourceConfiguration } }) {
157
- const resourcesFromPm2 = packet.data.testResourceConfiguration;
158
- const secondTestResource = {
159
- fs: ".",
160
- ...JSON.parse(JSON.stringify(partialTestResource)),
161
- ...JSON.parse(JSON.stringify(resourcesFromPm2)),
162
- } as ITTestResourceConfiguration;
163
- receiveTestResourceConfigScheduled(t, secondTestResource);
164
-
165
- }
166
- );
167
- } else {
168
- receiveTestResourceConfigUnscheduled(t, partialTestResource);
169
- }
170
- } catch (e) {
171
- console.error(e);
172
- process.exit(-1);
173
- }
174
98
  };