testeranto 0.47.34 → 0.47.52

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 (309) hide show
  1. package/.nvmrc +1 -0
  2. package/Bundle.Dockerfile +45 -0
  3. package/README.md +86 -11
  4. package/Report.Dockerfile +43 -0
  5. package/dist/cjs-shim.js +12 -0
  6. package/dist/common/Features.js +3 -37
  7. package/dist/common/Init.js +30 -0
  8. package/dist/common/Node.js +15 -66
  9. package/dist/common/PM/index.js +7 -0
  10. package/dist/common/PM/main.js +641 -0
  11. package/dist/common/PM/node.js +88 -0
  12. package/dist/common/PM/web.js +132 -0
  13. package/dist/common/Project.js +109 -637
  14. package/dist/common/Puppeteer.js +103 -0
  15. package/dist/common/Reporter.js +112 -0
  16. package/dist/common/Scheduler.js +1 -0
  17. package/dist/common/SubPackages/puppeteer.js +21 -0
  18. package/dist/common/{subPackages → SubPackages}/react/component/node.js +4 -4
  19. package/dist/common/{subPackages → SubPackages}/react/component/web.js +4 -4
  20. package/dist/common/SubPackages/react/jsx/index.js +25 -0
  21. package/dist/common/SubPackages/react/jsx/node.js +10 -0
  22. package/dist/common/SubPackages/react/jsx/web.js +10 -0
  23. package/dist/common/{subPackages/react-dom/jsx → SubPackages/react-dom/component}/node.js +6 -6
  24. package/dist/common/SubPackages/react-dom/component/web.js +93 -0
  25. package/dist/common/SubPackages/react-dom/jsx/index.js +2 -0
  26. package/dist/common/SubPackages/react-dom/jsx/node.js +39 -0
  27. package/dist/common/SubPackages/react-dom/jsx/web.js +118 -0
  28. package/dist/common/SubPackages/react-test-renderer/MemoExoticComponent/node.js +44 -0
  29. package/dist/common/SubPackages/react-test-renderer/component/index.js +2 -0
  30. package/dist/common/{subPackages/react-test-renderer/component/index.js → SubPackages/react-test-renderer/component/interface.js} +23 -33
  31. package/dist/common/{subPackages/react-test-renderer/jsx → SubPackages/react-test-renderer/component}/node.js +3 -5
  32. package/dist/common/{subPackages/react/jsx → SubPackages/react-test-renderer/component}/web.js +3 -5
  33. package/dist/common/SubPackages/react-test-renderer/fc/node.js +50 -0
  34. package/dist/common/SubPackages/react-test-renderer/fc/web.js +50 -0
  35. package/dist/common/{subPackages → SubPackages}/react-test-renderer/jsx/index.js +7 -3
  36. package/dist/common/SubPackages/react-test-renderer/jsx/node.js +10 -0
  37. package/dist/common/SubPackages/react-test-renderer/jsx/web.js +10 -0
  38. package/dist/common/SubPackages/react-test-renderer/jsx-promised/index.js +42 -0
  39. package/dist/common/{subPackages/react/jsx → SubPackages/react-test-renderer/jsx-promised}/node.js +2 -2
  40. package/dist/common/TaskManBackEnd.js +174 -0
  41. package/dist/common/Web.js +31 -108
  42. package/dist/common/esbuildConfigs/features.js +14 -0
  43. package/dist/common/esbuildConfigs/index.js +21 -0
  44. package/dist/common/esbuildConfigs/inputFilesPlugin.js +49 -0
  45. package/dist/common/esbuildConfigs/node.js +39 -0
  46. package/dist/common/esbuildConfigs/report.js +14 -0
  47. package/dist/common/esbuildConfigs/tests.js +13 -0
  48. package/dist/common/esbuildConfigs/web.js +57 -0
  49. package/dist/common/lib/abstractBase.js +553 -0
  50. package/dist/common/lib/basebuilder.js +79 -0
  51. package/dist/common/lib/classBuilder.js +42 -0
  52. package/dist/common/lib/core.js +75 -0
  53. package/dist/common/lib/index.js +22 -0
  54. package/dist/common/lib/types.js +2 -0
  55. package/dist/common/mongooseSchemas.js +56 -0
  56. package/dist/common/preload.js +14 -27
  57. package/dist/common/puppeteerConfiger.js +24 -0
  58. package/dist/common/report.html.js +31 -0
  59. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  60. package/dist/common/utils.js +16 -0
  61. package/dist/common/web.html.js +22 -0
  62. package/dist/module/ExampleTab.js +112 -0
  63. package/dist/module/Features.js +2 -35
  64. package/dist/module/Init.js +25 -0
  65. package/dist/module/Node.js +15 -66
  66. package/dist/module/PM/index.js +3 -0
  67. package/dist/module/PM/main.js +611 -0
  68. package/dist/module/PM/node.js +81 -0
  69. package/dist/module/PM/web.js +125 -0
  70. package/dist/module/Project.js +110 -615
  71. package/dist/module/Puppeteer.js +98 -0
  72. package/dist/module/Reporter.js +107 -0
  73. package/dist/module/Scheduler.js +1 -0
  74. package/dist/module/SubPackages/puppeteer.js +16 -0
  75. package/dist/module/{subPackages → SubPackages}/react/component/node.js +3 -3
  76. package/dist/module/{subPackages → SubPackages}/react/component/web.js +3 -3
  77. package/dist/module/SubPackages/react/jsx/index.js +19 -0
  78. package/dist/module/SubPackages/react/jsx/node.js +5 -0
  79. package/dist/module/SubPackages/react/jsx/web.js +5 -0
  80. package/dist/module/{subPackages → SubPackages}/react-dom/component/node.js +7 -7
  81. package/dist/module/SubPackages/react-dom/component/web.js +88 -0
  82. package/dist/module/SubPackages/react-dom/jsx/node.js +31 -0
  83. package/dist/module/SubPackages/react-dom/jsx/web.js +90 -0
  84. package/dist/module/SubPackages/react-test-renderer/MemoExoticComponent/node.js +16 -0
  85. package/dist/module/SubPackages/react-test-renderer/component/index.js +1 -0
  86. package/dist/module/SubPackages/react-test-renderer/component/interface.js +39 -0
  87. package/dist/module/{subPackages → SubPackages}/react-test-renderer/component/node.js +2 -2
  88. package/dist/module/{subPackages → SubPackages}/react-test-renderer/component/web.js +2 -2
  89. package/dist/module/{subPackages → SubPackages}/react-test-renderer/fc/node.js +3 -3
  90. package/dist/module/SubPackages/react-test-renderer/fc/web.js +22 -0
  91. package/dist/module/{subPackages → SubPackages}/react-test-renderer/jsx/index.js +7 -3
  92. package/dist/module/SubPackages/react-test-renderer/jsx/node.js +5 -0
  93. package/dist/module/SubPackages/react-test-renderer/jsx/web.js +5 -0
  94. package/dist/module/SubPackages/react-test-renderer/jsx-promised/index.js +16 -0
  95. package/dist/module/{subPackages/react-test-renderer/jsx → SubPackages/react-test-renderer/jsx-promised}/node.js +1 -1
  96. package/dist/module/TaskManBackEnd.js +169 -0
  97. package/dist/module/TaskManFrontEnd.js +600 -0
  98. package/dist/module/Web.js +31 -108
  99. package/dist/module/esbuildConfigs/features.js +12 -0
  100. package/dist/module/esbuildConfigs/index.js +19 -0
  101. package/dist/module/esbuildConfigs/inputFilesPlugin.js +44 -0
  102. package/dist/module/esbuildConfigs/node.js +34 -0
  103. package/dist/module/esbuildConfigs/report.js +14 -0
  104. package/dist/module/esbuildConfigs/tests.js +11 -0
  105. package/dist/module/esbuildConfigs/web.js +52 -0
  106. package/dist/module/lib/abstractBase.js +545 -0
  107. package/dist/module/lib/basebuilder.js +75 -0
  108. package/dist/module/lib/classBuilder.js +38 -0
  109. package/dist/module/lib/core.js +72 -0
  110. package/dist/module/lib/index.js +18 -0
  111. package/dist/module/lib/types.js +1 -0
  112. package/dist/module/mongooseSchemas.js +50 -0
  113. package/dist/module/preload.js +15 -26
  114. package/dist/module/puppeteerConfiger.js +19 -0
  115. package/dist/module/report.html.js +29 -0
  116. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  117. package/dist/module/utils.js +9 -0
  118. package/dist/module/web.html.js +20 -0
  119. package/dist/prebuild/TaskManBackEnd.mjs +174 -0
  120. package/dist/prebuild/TaskManFrontEnd.css +12301 -0
  121. package/dist/prebuild/TaskManFrontEnd.js +81264 -0
  122. package/dist/types/Features.d.ts +1 -34
  123. package/dist/types/Init.d.ts +2 -0
  124. package/dist/types/Node.d.ts +5 -11
  125. package/dist/types/PM/index.d.ts +20 -0
  126. package/dist/types/PM/main.d.ts +31 -0
  127. package/dist/types/PM/node.d.ts +27 -0
  128. package/dist/types/PM/web.d.ts +25 -0
  129. package/dist/types/Project.d.ts +3 -29
  130. package/dist/types/Puppeteer.d.ts +2 -0
  131. package/dist/types/Reporter.d.ts +1 -0
  132. package/dist/types/Scheduler.d.ts +0 -0
  133. package/dist/types/SubPackages/puppeteer.d.ts +6 -0
  134. package/dist/types/SubPackages/react/component/node.d.ts +7 -0
  135. package/dist/types/SubPackages/react/component/web.d.ts +7 -0
  136. package/dist/types/SubPackages/react/jsx/index.d.ts +12 -0
  137. package/dist/types/SubPackages/react/jsx/node.d.ts +4 -0
  138. package/dist/types/SubPackages/react/jsx/web.d.ts +4 -0
  139. package/dist/types/SubPackages/react-dom/component/node.d.ts +12 -0
  140. package/dist/types/SubPackages/react-dom/component/web.d.ts +11 -0
  141. package/dist/types/SubPackages/react-dom/jsx/index.d.ts +6 -0
  142. package/dist/types/SubPackages/react-dom/jsx/node.d.ts +6 -0
  143. package/dist/types/SubPackages/react-dom/jsx/web.d.ts +5 -0
  144. package/dist/types/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +5 -0
  145. package/dist/types/SubPackages/react-test-renderer/component/index.d.ts +13 -0
  146. package/dist/types/SubPackages/react-test-renderer/component/interface.d.ts +9 -0
  147. package/dist/types/SubPackages/react-test-renderer/component/node.d.ts +8 -0
  148. package/dist/types/SubPackages/react-test-renderer/component/web.d.ts +3 -0
  149. package/dist/types/SubPackages/react-test-renderer/fc/node.d.ts +8 -0
  150. package/dist/types/SubPackages/react-test-renderer/fc/web.d.ts +8 -0
  151. package/dist/types/{subPackages → SubPackages}/react-test-renderer/jsx/index.d.ts +5 -4
  152. package/dist/types/SubPackages/react-test-renderer/jsx/node.d.ts +8 -0
  153. package/dist/types/SubPackages/react-test-renderer/jsx/web.d.ts +8 -0
  154. package/dist/types/SubPackages/react-test-renderer/jsx-promised/index.d.ts +15 -0
  155. package/dist/types/SubPackages/react-test-renderer/jsx-promised/node.d.ts +4 -0
  156. package/dist/types/SubPackages/react-test-renderer/jsx-promised/web.d.ts +4 -0
  157. package/dist/types/TaskManBackEnd.d.ts +3 -0
  158. package/dist/types/Types.d.ts +49 -16
  159. package/dist/types/Web.d.ts +5 -11
  160. package/dist/types/esbuildConfigs/features.d.ts +4 -0
  161. package/dist/types/esbuildConfigs/index.d.ts +4 -0
  162. package/dist/types/esbuildConfigs/inputFilesPlugin.d.ts +5 -0
  163. package/dist/types/esbuildConfigs/node.d.ts +4 -0
  164. package/dist/types/esbuildConfigs/report.d.ts +0 -0
  165. package/dist/types/esbuildConfigs/tests.d.ts +4 -0
  166. package/dist/types/esbuildConfigs/web.d.ts +4 -0
  167. package/dist/types/lib/abstractBase.d.ts +104 -0
  168. package/dist/types/lib/basebuilder.d.ts +27 -0
  169. package/dist/types/lib/classBuilder.d.ts +7 -0
  170. package/dist/types/lib/core.d.ts +8 -0
  171. package/dist/types/lib/index.d.ts +59 -0
  172. package/dist/types/lib/types.d.ts +62 -0
  173. package/dist/types/mongooseSchemas.d.ts +124 -0
  174. package/dist/types/preload.d.ts +0 -1
  175. package/dist/types/puppeteerConfiger.d.ts +4 -0
  176. package/dist/types/report.html.d.ts +2 -0
  177. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  178. package/dist/types/utils.d.ts +2 -0
  179. package/dist/types/web.html.d.ts +2 -0
  180. package/index.html +30 -0
  181. package/package.json +151 -79
  182. package/src/ExampleTab.tsx +219 -0
  183. package/src/Features.ts +2 -58
  184. package/src/Init.ts +51 -0
  185. package/src/Node.ts +71 -157
  186. package/src/PM/index.ts +25 -0
  187. package/src/PM/main.ts +830 -0
  188. package/src/PM/node.ts +128 -0
  189. package/src/PM/web.ts +166 -0
  190. package/src/Project.ts +158 -797
  191. package/src/Puppeteer.ts +141 -0
  192. package/src/Reporter.ts +126 -0
  193. package/src/Scheduler.ts +0 -0
  194. package/src/SubPackages/puppeteer.ts +51 -0
  195. package/src/SubPackages/react/component/node.ts +43 -0
  196. package/src/SubPackages/react/component/web.ts +43 -0
  197. package/src/SubPackages/react/jsx/index.ts +42 -0
  198. package/src/SubPackages/react/jsx/node.ts +26 -0
  199. package/src/SubPackages/react/jsx/web.ts +30 -0
  200. package/src/{subPackages → SubPackages}/react-dom/component/node.ts +24 -44
  201. package/src/SubPackages/react-dom/component/web.ts +143 -0
  202. package/src/SubPackages/react-dom/jsx/index.ts +6 -0
  203. package/src/SubPackages/react-dom/jsx/node.ts +68 -0
  204. package/src/SubPackages/react-dom/jsx/web.ts +139 -0
  205. package/src/SubPackages/react-test-renderer/MemoExoticComponent/node.ts +38 -0
  206. package/src/SubPackages/react-test-renderer/component/index.ts +23 -0
  207. package/src/SubPackages/react-test-renderer/component/interface.ts +48 -0
  208. package/src/SubPackages/react-test-renderer/component/node.ts +17 -0
  209. package/src/SubPackages/react-test-renderer/component/web.ts +17 -0
  210. package/src/SubPackages/react-test-renderer/fc/node.ts +49 -0
  211. package/src/SubPackages/react-test-renderer/fc/web.ts +48 -0
  212. package/src/SubPackages/react-test-renderer/jsx/index.ts +48 -0
  213. package/src/SubPackages/react-test-renderer/jsx/node.ts +20 -0
  214. package/src/SubPackages/react-test-renderer/jsx/web.ts +20 -0
  215. package/src/SubPackages/react-test-renderer/jsx-promised/index.ts +40 -0
  216. package/src/SubPackages/react-test-renderer/jsx-promised/node.ts +19 -0
  217. package/src/SubPackages/react-test-renderer/jsx-promised/web.ts +22 -0
  218. package/src/TaskManBackEnd.ts +228 -0
  219. package/src/TaskManFrontEnd.tsx +1222 -0
  220. package/src/Types.ts +222 -17
  221. package/src/Web.ts +86 -217
  222. package/src/cjs-shim.js +12 -0
  223. package/src/esbuildConfigs/features.ts +17 -0
  224. package/src/esbuildConfigs/index.ts +23 -0
  225. package/src/esbuildConfigs/inputFilesPlugin.ts +65 -0
  226. package/src/esbuildConfigs/node.ts +62 -0
  227. package/src/esbuildConfigs/report.ts +15 -0
  228. package/src/esbuildConfigs/tests.ts +14 -0
  229. package/src/esbuildConfigs/web.ts +79 -0
  230. package/src/lib/abstractBase.ts +910 -0
  231. package/src/lib/basebuilder.ts +214 -0
  232. package/src/lib/classBuilder.ts +131 -0
  233. package/src/lib/core.ts +224 -0
  234. package/src/lib/index.ts +226 -0
  235. package/src/lib/types.ts +303 -0
  236. package/src/mongooseSchemas.ts +105 -0
  237. package/src/preload.ts +14 -28
  238. package/src/puppeteerConfiger.ts +26 -0
  239. package/src/report.html.ts +29 -0
  240. package/src/utils.ts +15 -0
  241. package/src/web.html.ts +20 -0
  242. package/tests/Rectangle.test.ts +189 -0
  243. package/trash/TaskMan.Dockerfile +23 -0
  244. package/trash/TaskMan1.Dockerfile +43 -0
  245. package/trash/devBot.dockerfile +12 -0
  246. package/trash/docker-compose-dev.yml +9 -0
  247. package/trash/docker-compose-prod.yml +18 -0
  248. package/trash/electronBuild.ts +32 -0
  249. package/tsconfig.json +18 -6
  250. package/tsconfig.module.json +14 -4
  251. package/tsconfig.types.json +13 -4
  252. package/dist/common/NodeWriter.js +0 -56
  253. package/dist/common/core.js +0 -396
  254. package/dist/common/electron.js +0 -52
  255. package/dist/common/subPackages/react/jsx/index.js +0 -26
  256. package/dist/common/subPackages/react-dom/component/node.js +0 -101
  257. package/dist/common/subPackages/react-dom/component/web.js +0 -61
  258. package/dist/common/subPackages/react-dom/jsx/web.js +0 -76
  259. package/dist/common/subPackages/react-test-renderer/component/node.js +0 -8
  260. package/dist/common/subPackages/react-test-renderer/component/web.js +0 -8
  261. package/dist/module/NodeWriter.js +0 -50
  262. package/dist/module/Report.js +0 -186
  263. package/dist/module/core.js +0 -387
  264. package/dist/module/electron.js +0 -47
  265. package/dist/module/subPackages/react/jsx/index.js +0 -22
  266. package/dist/module/subPackages/react/jsx/node.js +0 -5
  267. package/dist/module/subPackages/react/jsx/web.js +0 -5
  268. package/dist/module/subPackages/react-dom/component/web.js +0 -56
  269. package/dist/module/subPackages/react-dom/jsx/node.js +0 -93
  270. package/dist/module/subPackages/react-dom/jsx/web.js +0 -48
  271. package/dist/module/subPackages/react-test-renderer/component/index.js +0 -52
  272. package/dist/types/NodeWriter.d.ts +0 -2
  273. package/dist/types/core.d.ts +0 -220
  274. package/dist/types/subPackages/react/component/node.d.ts +0 -12
  275. package/dist/types/subPackages/react/component/web.d.ts +0 -12
  276. package/dist/types/subPackages/react/jsx/index.d.ts +0 -15
  277. package/dist/types/subPackages/react/jsx/node.d.ts +0 -4
  278. package/dist/types/subPackages/react/jsx/web.d.ts +0 -4
  279. package/dist/types/subPackages/react-dom/component/node.d.ts +0 -14
  280. package/dist/types/subPackages/react-dom/component/web.d.ts +0 -19
  281. package/dist/types/subPackages/react-dom/jsx/node.d.ts +0 -14
  282. package/dist/types/subPackages/react-dom/jsx/web.d.ts +0 -15
  283. package/dist/types/subPackages/react-test-renderer/component/index.d.ts +0 -20
  284. package/dist/types/subPackages/react-test-renderer/component/node.d.ts +0 -9
  285. package/dist/types/subPackages/react-test-renderer/component/web.d.ts +0 -9
  286. package/dist/types/subPackages/react-test-renderer/jsx/node.d.ts +0 -4
  287. package/dist/types/subPackages/react-test-renderer/jsx/web.d.ts +0 -4
  288. package/src/NodeWriter.ts +0 -72
  289. package/src/Report.tsx +0 -392
  290. package/src/core.ts +0 -1396
  291. package/src/electron.ts +0 -59
  292. package/src/subPackages/react/component/node.ts +0 -75
  293. package/src/subPackages/react/component/web.ts +0 -80
  294. package/src/subPackages/react/jsx/index.ts +0 -64
  295. package/src/subPackages/react/jsx/node.ts +0 -29
  296. package/src/subPackages/react/jsx/web.ts +0 -29
  297. package/src/subPackages/react-dom/component/web.ts +0 -129
  298. package/src/subPackages/react-dom/jsx/node.ts +0 -150
  299. package/src/subPackages/react-dom/jsx/web.ts +0 -117
  300. package/src/subPackages/react-test-renderer/component/index.ts +0 -101
  301. package/src/subPackages/react-test-renderer/component/node.ts +0 -30
  302. package/src/subPackages/react-test-renderer/component/web.ts +0 -30
  303. package/src/subPackages/react-test-renderer/fc/node.tsx +0 -77
  304. package/src/subPackages/react-test-renderer/jsx/index.ts +0 -51
  305. package/src/subPackages/react-test-renderer/jsx/node.ts +0 -31
  306. package/src/subPackages/react-test-renderer/jsx/web.ts +0 -31
  307. /package/dist/common/{subPackages/react-test-renderer/jsx → SubPackages/react-test-renderer/jsx-promised}/web.js +0 -0
  308. /package/dist/{types/electron.d.ts → module/SubPackages/react-dom/jsx/index.js} +0 -0
  309. /package/dist/module/{subPackages/react-test-renderer/jsx → SubPackages/react-test-renderer/jsx-promised}/web.js +0 -0
@@ -0,0 +1,40 @@
1
+ import renderer, { act } from "react-test-renderer";
2
+
3
+ import {
4
+ IBaseTest,
5
+ ITestImplementation,
6
+ ITestSpecification,
7
+ } from "../../../Types";
8
+
9
+ export type IWhenShape = any;
10
+ export type IThenShape = any;
11
+ export type InitialState = unknown;
12
+ export type IInput = Promise<JSX.Element>;
13
+ export type ISelection = renderer.ReactTestRenderer;
14
+ export type IStore = renderer.ReactTestRenderer;
15
+ export type ISubject = renderer.ReactTestRenderer;
16
+
17
+ export type ITestImpl<ITestShape extends IBaseTest> =
18
+ ITestImplementation<ITestShape>;
19
+
20
+ export type ITestSpec<ITestShape extends IBaseTest> =
21
+ ITestSpecification<ITestShape>;
22
+
23
+ export const testInterface = {
24
+ beforeEach: async (CComponent): Promise<renderer.ReactTestRenderer> => {
25
+ return new Promise((res, rej) => {
26
+ let component;
27
+ act(async () => {
28
+ component = renderer.create(CComponent);
29
+ });
30
+ res(component);
31
+ });
32
+ },
33
+ andWhen: async function (
34
+ renderer: renderer.ReactTestRenderer,
35
+ whenCB: () => (any) => any
36
+ ): Promise<renderer.ReactTestRenderer> {
37
+ await act(() => whenCB()(renderer));
38
+ return renderer;
39
+ },
40
+ };
@@ -0,0 +1,19 @@
1
+ import { IInput, testInterface } from ".";
2
+ import test from "../../../Node";
3
+ import { IBaseTest } from "../../../Types";
4
+ import { ITestImpl, ITestSpec } from "../../react/jsx";
5
+
6
+ export default <ITestShape extends IBaseTest>(
7
+ testImplementations: ITestImpl<ITestShape>,
8
+ testSpecifications: ITestSpec<ITestShape>,
9
+ testInput: IInput
10
+ ) => {
11
+ return test<
12
+ ITestShape
13
+ >(
14
+ testInput,
15
+ testSpecifications,
16
+ testImplementations,
17
+ testInterface,
18
+ )
19
+ };
@@ -0,0 +1,22 @@
1
+ import { IBaseTest } from "../../../Types";
2
+ import test from "../../../Web";
3
+ import { ITestImpl, ITestSpec } from "../../react/jsx";
4
+
5
+ import {
6
+ testInterface, IInput
7
+ } from "./index";
8
+
9
+ export default <ITestShape extends IBaseTest>(
10
+ testImplementations: ITestImpl<ITestShape>,
11
+ testSpecifications: ITestSpec<ITestShape>,
12
+ testInput: IInput
13
+ ) => {
14
+ return test<
15
+ ITestShape
16
+ >(
17
+ testInput,
18
+ testSpecifications,
19
+ testImplementations,
20
+ testInterface,
21
+ )
22
+ };
@@ -0,0 +1,228 @@
1
+ import express from "express";
2
+ import { MongoClient } from "mongodb";
3
+ import mongoose from "mongoose";
4
+ import path from "path";
5
+ import fs from "fs";
6
+ import {
7
+ ganttSchema,
8
+ IKanban,
9
+ IUser,
10
+ kanbanSchema,
11
+ userSchema,
12
+ featuresSchema,
13
+ IGantt,
14
+ RoomSchema,
15
+ HuddleSchema,
16
+ IChatChannel,
17
+ channelsFeature,
18
+ chatCatMessageSchema,
19
+ } from "./mongooseSchemas";
20
+
21
+ import { IBaseConfig } from "./lib/types";
22
+
23
+ console.log("hello TaskMan Backend", process.env);
24
+
25
+ const port = 3000;
26
+
27
+ function findTextFiles(dir: string, fileList: string[] = []) {
28
+ const files = fs.readdirSync(dir);
29
+
30
+ for (const file of files) {
31
+ const filePath = path.join(dir, file);
32
+ const fileStat = fs.statSync(filePath);
33
+
34
+ if (fileStat.isDirectory() && file !== "node_modules") {
35
+ findTextFiles(filePath, fileList); // Recursive call for subdirectories
36
+ } else if (path.extname(file) === ".txt") {
37
+ fileList.push(filePath);
38
+ } else if (path.extname(file) === ".md") {
39
+ fileList.push(filePath);
40
+ }
41
+ }
42
+ return fileList;
43
+ }
44
+
45
+ function listToTree(fileList) {
46
+ const root: { name: string; children: any[] } = {
47
+ name: "root",
48
+ children: [],
49
+ };
50
+ for (const path of fileList) {
51
+ const parts = path.split("/");
52
+ let current = root;
53
+ for (let i = 0; i < parts.length; i++) {
54
+ const part = parts[i];
55
+ if (!part) continue; // Skip empty parts (e.g., from leading '/')
56
+ let child = current.children.find((c) => c.name === part);
57
+ if (!child) {
58
+ child = { name: part, children: [] };
59
+ current.children.push(child);
60
+ }
61
+ current = child;
62
+ }
63
+ }
64
+ return root.children;
65
+ }
66
+
67
+ export default (partialConfig: IBaseConfig) => {
68
+ const config = {
69
+ ...partialConfig,
70
+ buildDir: process.cwd() + "/" + partialConfig.outdir,
71
+ };
72
+
73
+ fs.writeFileSync(
74
+ `${config.outdir}/testeranto.json`,
75
+ JSON.stringify(config, null, 2)
76
+ );
77
+
78
+ const app = express();
79
+
80
+ new MongoClient(`mongodb://${process.env.MONGO_HOST || "127.0.0.1"}:27017`)
81
+ .connect()
82
+ .then(async (conn) => {
83
+ const db = conn.db("taskman");
84
+ await mongoose.connect(
85
+ `mongodb://${process.env.MONGO_HOST || "127.0.0.1"}:27017/taskman`
86
+ );
87
+
88
+ const usersModel = mongoose.model<IUser>("User", userSchema);
89
+ const kanbanModel = mongoose.model<IKanban>("Kanban", kanbanSchema);
90
+ const ganttModel = mongoose.model<IGantt>("Gantt", ganttSchema);
91
+ const featuresModel = mongoose.model<any>("Features", featuresSchema);
92
+ // const roomsModel = mongoose.model<any>("Rooms", RoomSchema);
93
+ // const huddleModdle = mongoose.model<any>("Huddles", HuddleSchema);
94
+
95
+ const MessagesModel = mongoose.model<any>(
96
+ "Messages",
97
+ chatCatMessageSchema
98
+ );
99
+
100
+ const ChatChannel = mongoose.model("ChatChannel", channelsFeature);
101
+ const huddleModdle = ChatChannel.discriminator("Huddle", HuddleSchema);
102
+ const roomsModel = ChatChannel.discriminator("Room", RoomSchema);
103
+
104
+ app.get("/TaskManFrontend.js", (req, res) => {
105
+ res.sendFile(`${process.cwd()}/docs/TaskManFrontEnd.js`);
106
+ });
107
+
108
+ app.get("/TaskManFrontEnd.css", (req, res) => {
109
+ res.sendFile(`${process.cwd()}/docs/TaskManFrontEnd.css`);
110
+ });
111
+
112
+ // app.get(`/preMergeCheck`, async (req, res) => {
113
+ // const commit = req.params["commit"];
114
+ // // res.json(await keyedModels[key].find({}));
115
+ // });
116
+
117
+ // app.get("/TaskManFrontend.js", (req, res) => {
118
+ // res.sendFile(
119
+ // `${process.cwd()}/node_modules/testeranto/dist/prebuild/TaskManFrontEnd.js`
120
+ // );
121
+ // });
122
+
123
+ // app.get("/TaskManFrontEnd.css", (req, res) => {
124
+ // res.sendFile(
125
+ // `${process.cwd()}/node_modules/testeranto/dist/prebuild/TaskManFrontEnd.css`
126
+ // );
127
+ // });
128
+
129
+ // app.get("/testeranto.json", (req, res) => {
130
+ // // res.sendFile(`${process.cwd()}/docs/testeranto.json`);
131
+ // res.json(config);
132
+ // });
133
+
134
+ // app.get("/", (req, res) => {
135
+ // res.send(`<!DOCTYPE html>
136
+ // <html lang="en">
137
+
138
+ // <head>
139
+ // <meta name="description" content="Webpage description goes here" />
140
+ // <meta charset="utf-8" />
141
+ // <meta name="viewport" content="width=device-width, initial-scale=1" />
142
+ // <meta name="author" content="" />
143
+
144
+ // <title>TaskMan</title>
145
+
146
+ // <link rel="stylesheet" href="/TaskManFrontEnd.css" />
147
+ // <script type="module" src="/TaskManFrontEnd.js"></script>
148
+ // </head>
149
+
150
+ // <body><div id="root">react is loading</div></body>
151
+
152
+ // </html>`);
153
+ // });
154
+
155
+ app.listen(port, () => {
156
+ console.log(`Example app listening on port ${port}`);
157
+ });
158
+
159
+ ///////////////////////////////////////////////
160
+
161
+ const keyedModels = {
162
+ users: usersModel,
163
+ kanbans: kanbanModel,
164
+ features: featuresModel,
165
+ gantts: ganttModel,
166
+ rooms: roomsModel,
167
+ huddles: huddleModdle,
168
+ messages: MessagesModel,
169
+ };
170
+
171
+ Object.keys(keyedModels).forEach((key) => {
172
+ app.get(`/${key}.json`, async (req, res) => {
173
+ console.log("GET", key, keyedModels[key]);
174
+ res.json(await keyedModels[key].find({}));
175
+ });
176
+
177
+ app.get(`/${key}/:id.json`, async (req, res) => {
178
+ res.json(
179
+ await keyedModels[key]
180
+ .find({ id: { $eq: req.params["id"] } })
181
+ .toArray()
182
+ );
183
+ });
184
+
185
+ app.post(`/${key}/:id.json`, async (req, res) => {
186
+ res.json(
187
+ await keyedModels[key]
188
+ .find({ id: { $eq: req.params["id"] } })
189
+ .toArray()
190
+ );
191
+ });
192
+
193
+ app.post(`/${key}.json`, async (req, res) => {
194
+ res.json(
195
+ await keyedModels[key]
196
+ .find({ id: { $eq: req.params["id"] } })
197
+ .toArray()
198
+ );
199
+ });
200
+ });
201
+
202
+ app.use("/", express.static(path.join(process.cwd())));
203
+
204
+ app.get("/docGal/fs.json", (req, res) => {
205
+ const directoryPath = "./"; // Replace with the desired directory path
206
+ // const textFiles = findTextFiles(directoryPath);
207
+ res.json(listToTree(findTextFiles(directoryPath)));
208
+ // res.send(`<!DOCTYPE html>
209
+ // <html lang="en">
210
+
211
+ // <head>
212
+ // <meta name="description" content="Webpage description goes here" />
213
+ // <meta charset="utf-8" />
214
+ // <meta name="viewport" content="width=device-width, initial-scale=1" />
215
+ // <meta name="author" content="" />
216
+
217
+ // <title>TaskMan</title>
218
+
219
+ // <link rel="stylesheet" href="/TaskManFrontEnd.css" />
220
+ // <script type="module" src="/TaskManFrontEnd.js"></script>
221
+ // </head>
222
+
223
+ // <body><div id="root">react is loading</div></body>
224
+
225
+ // </html>`);
226
+ });
227
+ });
228
+ };