miqro 5.0.5 → 6.0.4

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 (372) hide show
  1. package/.eslintrc +15 -0
  2. package/README.md +618 -20
  3. package/bin/miqro +34 -0
  4. package/build/editor.bundle.js +61154 -0
  5. package/build/esm/editor/auth.d.ts +6 -0
  6. package/build/esm/editor/auth.js +42 -0
  7. package/build/esm/editor/auth.js.map +1 -0
  8. package/build/esm/editor/common/admin-interface.d.ts +36 -0
  9. package/build/esm/editor/common/admin-interface.js +45 -0
  10. package/build/esm/editor/common/admin-interface.js.map +1 -0
  11. package/build/esm/editor/common/constants.d.ts +4 -0
  12. package/build/esm/editor/common/constants.js +21 -0
  13. package/build/esm/editor/common/constants.js.map +1 -0
  14. package/build/esm/editor/common/constants.server.d.ts +2 -0
  15. package/build/esm/editor/common/constants.server.js +5 -0
  16. package/build/esm/editor/common/constants.server.js.map +1 -0
  17. package/build/esm/editor/common/editor-index.d.ts +2 -0
  18. package/build/esm/editor/common/editor-index.js +15 -0
  19. package/build/esm/editor/common/editor-index.js.map +1 -0
  20. package/build/esm/editor/common/html-encode.d.ts +1 -0
  21. package/build/esm/editor/common/html-encode.js +15 -0
  22. package/build/esm/editor/common/html-encode.js.map +1 -0
  23. package/build/esm/editor/common/log-socket.d.ts +13 -0
  24. package/build/esm/editor/common/log-socket.js +68 -0
  25. package/build/esm/editor/common/log-socket.js.map +1 -0
  26. package/build/esm/editor/common/templates.d.ts +11 -0
  27. package/build/esm/editor/common/templates.js +444 -0
  28. package/build/esm/editor/common/templates.js.map +1 -0
  29. package/build/esm/editor/components/api-preview.d.ts +11 -0
  30. package/build/esm/editor/components/api-preview.js +91 -0
  31. package/build/esm/editor/components/api-preview.js.map +1 -0
  32. package/build/esm/editor/components/editor.d.ts +16 -0
  33. package/build/esm/editor/components/editor.js +355 -0
  34. package/build/esm/editor/components/editor.js.map +1 -0
  35. package/build/esm/editor/components/file-browser.d.ts +37 -0
  36. package/build/esm/editor/components/file-browser.js +122 -0
  37. package/build/esm/editor/components/file-browser.js.map +1 -0
  38. package/build/esm/editor/components/file-editor-toolbar.d.ts +22 -0
  39. package/build/esm/editor/components/file-editor-toolbar.js +94 -0
  40. package/build/esm/editor/components/file-editor-toolbar.js.map +1 -0
  41. package/build/esm/editor/components/file-editor.d.ts +32 -0
  42. package/build/esm/editor/components/file-editor.js +60 -0
  43. package/build/esm/editor/components/file-editor.js.map +1 -0
  44. package/build/esm/editor/components/filter-query.d.ts +1 -0
  45. package/build/esm/editor/components/filter-query.js +23 -0
  46. package/build/esm/editor/components/filter-query.js.map +1 -0
  47. package/build/esm/editor/components/highlight-text-area.d.ts +11 -0
  48. package/build/esm/editor/components/highlight-text-area.js +139 -0
  49. package/build/esm/editor/components/highlight-text-area.js.map +1 -0
  50. package/build/esm/editor/components/log-viewer.d.ts +6 -0
  51. package/build/esm/editor/components/log-viewer.js +70 -0
  52. package/build/esm/editor/components/log-viewer.js.map +1 -0
  53. package/build/esm/editor/components/new-file.d.ts +10 -0
  54. package/build/esm/editor/components/new-file.js +118 -0
  55. package/build/esm/editor/components/new-file.js.map +1 -0
  56. package/build/esm/editor/components/scroll-query.d.ts +7 -0
  57. package/build/esm/editor/components/scroll-query.js +22 -0
  58. package/build/esm/editor/components/scroll-query.js.map +1 -0
  59. package/build/esm/editor/components/start-page.d.ts +13 -0
  60. package/build/esm/editor/components/start-page.js +31 -0
  61. package/build/esm/editor/components/start-page.js.map +1 -0
  62. package/build/esm/editor/http/admin/editor/api/fs/delete.api.d.ts +3 -0
  63. package/build/esm/editor/http/admin/editor/api/fs/delete.api.js +30 -0
  64. package/build/esm/editor/http/admin/editor/api/fs/delete.api.js.map +1 -0
  65. package/build/esm/editor/http/admin/editor/api/fs/read.api.d.ts +5 -0
  66. package/build/esm/editor/http/admin/editor/api/fs/read.api.js +50 -0
  67. package/build/esm/editor/http/admin/editor/api/fs/read.api.js.map +1 -0
  68. package/build/esm/editor/http/admin/editor/api/fs/rename.api.d.ts +4 -0
  69. package/build/esm/editor/http/admin/editor/api/fs/rename.api.js +40 -0
  70. package/build/esm/editor/http/admin/editor/api/fs/rename.api.js.map +1 -0
  71. package/build/esm/editor/http/admin/editor/api/fs/scan.api.d.ts +26 -0
  72. package/build/esm/editor/http/admin/editor/api/fs/scan.api.js +150 -0
  73. package/build/esm/editor/http/admin/editor/api/fs/scan.api.js.map +1 -0
  74. package/build/esm/editor/http/admin/editor/api/fs/write.api.d.ts +3 -0
  75. package/build/esm/editor/http/admin/editor/api/fs/write.api.js +39 -0
  76. package/build/esm/editor/http/admin/editor/api/fs/write.api.js.map +1 -0
  77. package/build/esm/editor/http/admin/editor/api/server/reload.api.d.ts +10 -0
  78. package/build/esm/editor/http/admin/editor/api/server/reload.api.js +46 -0
  79. package/build/esm/editor/http/admin/editor/api/server/reload.api.js.map +1 -0
  80. package/build/esm/editor/http/admin/editor/api/server/restart.api.d.ts +10 -0
  81. package/build/esm/editor/http/admin/editor/api/server/restart.api.js +46 -0
  82. package/build/esm/editor/http/admin/editor/api/server/restart.api.js.map +1 -0
  83. package/build/esm/editor/http/admin/editor/editor.js +8 -0
  84. package/build/esm/editor/http/admin/editor/editor.js.map +1 -0
  85. package/build/esm/editor/http/admin/editor/index.api.d.ts +3 -0
  86. package/build/esm/editor/http/admin/editor/index.api.js +22 -0
  87. package/build/esm/editor/http/admin/editor/index.api.js.map +1 -0
  88. package/build/esm/editor/server.d.ts +3 -0
  89. package/build/esm/editor/server.js +50 -0
  90. package/build/esm/editor/server.js.map +1 -0
  91. package/build/esm/editor/ws.d.ts +3 -0
  92. package/build/esm/editor/ws.js +12 -0
  93. package/build/esm/editor/ws.js.map +1 -0
  94. package/build/esm/src/bin/compile.d.ts +3 -0
  95. package/build/esm/src/bin/compile.js +31 -0
  96. package/build/esm/src/bin/compile.js.map +1 -0
  97. package/build/{utils/doc/md.d.ts → esm/src/bin/doc-md.d.ts} +2 -4
  98. package/build/{utils/doc/md.js → esm/src/bin/doc-md.js} +32 -18
  99. package/build/esm/src/bin/doc-md.js.map +1 -0
  100. package/build/esm/src/bin/generate-doc.d.ts +4 -0
  101. package/build/esm/src/bin/generate-doc.js +47 -0
  102. package/build/esm/src/bin/generate-doc.js.map +1 -0
  103. package/build/esm/src/bin/test.d.ts +3 -0
  104. package/build/esm/src/bin/test.js +68 -0
  105. package/build/esm/src/bin/test.js.map +1 -0
  106. package/build/esm/src/bin/types.d.ts +3 -0
  107. package/build/esm/src/bin/types.js +21 -0
  108. package/build/esm/src/bin/types.js.map +1 -0
  109. package/build/esm/src/cluster.js +11 -0
  110. package/build/esm/src/cluster.js.map +1 -0
  111. package/build/esm/src/common/arguments.d.ts +22 -0
  112. package/build/esm/src/common/arguments.js +310 -0
  113. package/build/esm/src/common/arguments.js.map +1 -0
  114. package/build/esm/src/common/assets.d.ts +11 -0
  115. package/build/esm/src/common/assets.js +121 -0
  116. package/build/esm/src/common/assets.js.map +1 -0
  117. package/build/esm/src/common/checksum.d.ts +19 -0
  118. package/build/esm/src/common/checksum.js +57 -0
  119. package/build/esm/src/common/checksum.js.map +1 -0
  120. package/build/esm/src/common/constants.d.ts +10 -0
  121. package/build/esm/src/common/constants.js +14 -0
  122. package/build/esm/src/common/constants.js.map +1 -0
  123. package/build/esm/src/common/content-type.d.ts +4 -0
  124. package/build/esm/src/common/content-type.js +82 -0
  125. package/build/esm/src/common/content-type.js.map +1 -0
  126. package/build/esm/src/common/esbuild.d.ts +17 -0
  127. package/build/esm/src/common/esbuild.js +79 -0
  128. package/build/esm/src/common/esbuild.js.map +1 -0
  129. package/build/esm/src/common/exit.d.ts +2 -0
  130. package/build/esm/src/common/exit.js +84 -0
  131. package/build/esm/src/common/exit.js.map +1 -0
  132. package/build/esm/src/common/fs.d.ts +8 -0
  133. package/build/esm/src/common/fs.js +17 -0
  134. package/build/esm/src/common/fs.js.map +1 -0
  135. package/build/esm/src/common/help.d.ts +3 -0
  136. package/build/esm/src/common/help.js +44 -0
  137. package/build/esm/src/common/help.js.map +1 -0
  138. package/build/esm/src/common/jsx.d.ts +52 -0
  139. package/build/esm/src/common/jsx.js +365 -0
  140. package/build/esm/src/common/jsx.js.map +1 -0
  141. package/build/esm/src/common/paths.d.ts +14 -0
  142. package/build/esm/src/common/paths.js +110 -0
  143. package/build/esm/src/common/paths.js.map +1 -0
  144. package/build/esm/src/common/watch.d.ts +3 -0
  145. package/build/esm/src/common/watch.js +74 -0
  146. package/build/esm/src/common/watch.js.map +1 -0
  147. package/build/esm/src/inflate/inflate-sea.d.ts +5 -0
  148. package/build/esm/src/inflate/inflate-sea.js +175 -0
  149. package/build/esm/src/inflate/inflate-sea.js.map +1 -0
  150. package/build/esm/src/inflate/inflate.d.ts +14 -0
  151. package/build/esm/src/inflate/inflate.js +65 -0
  152. package/build/esm/src/inflate/inflate.js.map +1 -0
  153. package/build/esm/src/inflate/md.d.ts +2 -0
  154. package/build/esm/src/inflate/md.js +19 -0
  155. package/build/esm/src/inflate/md.js.map +1 -0
  156. package/build/esm/src/inflate/setup-auth.d.ts +3 -0
  157. package/build/esm/src/inflate/setup-auth.js +38 -0
  158. package/build/esm/src/inflate/setup-auth.js.map +1 -0
  159. package/build/esm/src/inflate/setup-cors.d.ts +3 -0
  160. package/build/esm/src/inflate/setup-cors.js +38 -0
  161. package/build/esm/src/inflate/setup-cors.js.map +1 -0
  162. package/build/esm/src/inflate/setup-db.d.ts +8 -0
  163. package/build/esm/src/inflate/setup-db.js +99 -0
  164. package/build/esm/src/inflate/setup-db.js.map +1 -0
  165. package/build/esm/src/inflate/setup-http.d.ts +37 -0
  166. package/build/esm/src/inflate/setup-http.js +543 -0
  167. package/build/esm/src/inflate/setup-http.js.map +1 -0
  168. package/build/esm/src/inflate/setup-log.d.ts +7 -0
  169. package/build/esm/src/inflate/setup-log.js +37 -0
  170. package/build/esm/src/inflate/setup-log.js.map +1 -0
  171. package/build/esm/src/inflate/setup-server-config.d.ts +7 -0
  172. package/build/esm/src/inflate/setup-server-config.js +37 -0
  173. package/build/esm/src/inflate/setup-server-config.js.map +1 -0
  174. package/build/esm/src/inflate/setup-test.d.ts +2 -0
  175. package/build/esm/src/inflate/setup-test.js +22 -0
  176. package/build/esm/src/inflate/setup-test.js.map +1 -0
  177. package/build/esm/src/inflate/setup-ws.d.ts +4 -0
  178. package/build/esm/src/inflate/setup-ws.js +46 -0
  179. package/build/esm/src/inflate/setup-ws.js.map +1 -0
  180. package/build/esm/src/inflate/utils/sea-utils.d.ts +2 -0
  181. package/build/esm/src/inflate/utils/sea-utils.js +13 -0
  182. package/build/esm/src/inflate/utils/sea-utils.js.map +1 -0
  183. package/build/esm/src/lib.d.ts +13 -0
  184. package/build/esm/src/lib.js +17 -0
  185. package/build/esm/src/lib.js.map +1 -0
  186. package/build/esm/src/main.d.ts +2 -0
  187. package/build/esm/src/main.js +92 -0
  188. package/build/esm/src/main.js.map +1 -0
  189. package/build/esm/src/services/app.d.ts +88 -0
  190. package/build/esm/src/services/app.js +619 -0
  191. package/build/esm/src/services/app.js.map +1 -0
  192. package/build/esm/src/services/editor.d.ts +3 -0
  193. package/build/esm/src/services/editor.js +61 -0
  194. package/build/esm/src/services/editor.js.map +1 -0
  195. package/build/esm/src/services/globals.d.ts +3 -0
  196. package/build/esm/src/services/globals.js +139 -0
  197. package/build/esm/src/services/globals.js.map +1 -0
  198. package/build/esm/src/services/hot-reload.d.ts +1 -0
  199. package/build/esm/src/services/hot-reload.js +45 -0
  200. package/build/esm/src/services/hot-reload.js.map +1 -0
  201. package/build/esm/src/services/migrations.d.ts +4 -0
  202. package/build/esm/src/services/migrations.js +61 -0
  203. package/build/esm/src/services/migrations.js.map +1 -0
  204. package/build/esm/src/services/utils/cache.d.ts +19 -0
  205. package/build/esm/src/services/utils/cache.js +85 -0
  206. package/build/esm/src/services/utils/cache.js.map +1 -0
  207. package/build/esm/src/services/utils/cluster-cache.d.ts +20 -0
  208. package/build/esm/src/services/utils/cluster-cache.js +211 -0
  209. package/build/esm/src/services/utils/cluster-cache.js.map +1 -0
  210. package/build/esm/src/services/utils/cluster-ws.d.ts +24 -0
  211. package/build/esm/src/services/utils/cluster-ws.js +176 -0
  212. package/build/esm/src/services/utils/cluster-ws.js.map +1 -0
  213. package/build/esm/src/services/utils/db-manager.d.ts +20 -0
  214. package/build/esm/src/services/utils/db-manager.js +59 -0
  215. package/build/esm/src/services/utils/db-manager.js.map +1 -0
  216. package/build/esm/src/services/utils/get-route.d.ts +9 -0
  217. package/build/esm/src/services/utils/get-route.js +58 -0
  218. package/build/esm/src/services/utils/get-route.js.map +1 -0
  219. package/build/esm/src/services/utils/log.d.ts +17 -0
  220. package/build/esm/src/services/utils/log.js +74 -0
  221. package/build/esm/src/services/utils/log.js.map +1 -0
  222. package/build/esm/src/services/utils/server-interface.d.ts +41 -0
  223. package/build/esm/src/services/utils/server-interface.js +74 -0
  224. package/build/esm/src/services/utils/server-interface.js.map +1 -0
  225. package/build/esm/src/services/utils/websocketmanager.d.ts +23 -0
  226. package/build/esm/src/services/utils/websocketmanager.js +128 -0
  227. package/build/esm/src/services/utils/websocketmanager.js.map +1 -0
  228. package/build/esm/src/types.d.ts +166 -0
  229. package/build/esm/src/types.js +2 -0
  230. package/build/esm/src/types.js.map +1 -0
  231. package/build/jsx.dom.js +1585 -0
  232. package/build/lib.cjs +14009 -0
  233. package/build/postject.base64.cjs +1 -0
  234. package/editor/auth.ts +51 -0
  235. package/editor/common/admin-interface.ts +84 -0
  236. package/editor/common/constants.server.ts +5 -0
  237. package/editor/common/constants.ts +21 -0
  238. package/editor/common/editor-index.tsx +17 -0
  239. package/editor/common/html-encode.ts +14 -0
  240. package/editor/common/log-socket.tsx +82 -0
  241. package/editor/common/templates.ts +448 -0
  242. package/editor/components/api-preview.tsx +116 -0
  243. package/editor/components/editor.tsx +483 -0
  244. package/editor/components/file-browser.tsx +295 -0
  245. package/editor/components/file-editor-toolbar.tsx +187 -0
  246. package/editor/components/file-editor.tsx +122 -0
  247. package/editor/components/filter-query.tsx +22 -0
  248. package/editor/components/highlight-text-area.tsx +159 -0
  249. package/editor/components/log-viewer.tsx +110 -0
  250. package/editor/components/new-file.tsx +169 -0
  251. package/editor/components/scroll-query.tsx +22 -0
  252. package/editor/components/start-page.tsx +49 -0
  253. package/editor/http/admin/editor/api/fs/delete.api.tsx +32 -0
  254. package/editor/http/admin/editor/api/fs/read.api.tsx +55 -0
  255. package/editor/http/admin/editor/api/fs/rename.api.tsx +41 -0
  256. package/editor/http/admin/editor/api/fs/scan.api.tsx +181 -0
  257. package/editor/http/admin/editor/api/fs/write.api.tsx +41 -0
  258. package/editor/http/admin/editor/api/server/reload.api.ts +52 -0
  259. package/editor/http/admin/editor/api/server/restart.api.tsx +52 -0
  260. package/editor/http/admin/editor/editor.tsx +8 -0
  261. package/editor/http/admin/editor/font.ttf +0 -0
  262. package/editor/http/admin/editor/index.api.tsx +39 -0
  263. package/editor/http/admin/editor/style.css +620 -0
  264. package/editor/server.ts +57 -0
  265. package/editor/static/android-chrome-192x192.png +0 -0
  266. package/editor/static/android-chrome-512x512.png +0 -0
  267. package/editor/static/apple-touch-icon.png +0 -0
  268. package/editor/static/editor.bundle.in.mjs +20 -0
  269. package/editor/static/favicon-16x16.png +0 -0
  270. package/editor/static/favicon-32x32.png +0 -0
  271. package/editor/static/favicon.ico +0 -0
  272. package/editor/static/site.webmanifest +19 -0
  273. package/editor/ws.ts +15 -0
  274. package/package.json +43 -24
  275. package/package.json--OLD +36 -0
  276. package/sea/app.sh +33 -0
  277. package/sea/base64.js +3 -0
  278. package/sea/basic-compile.base64.sh +1 -0
  279. package/sea/basic-compile.sh +73 -0
  280. package/sea/basic-config.json +9 -0
  281. package/sea/compile.sh +124 -0
  282. package/sea/copy-types.sh +46 -0
  283. package/sea/editor-assets/editor.bundle.in.mjs +19 -0
  284. package/sea/esbuild.sh +31 -0
  285. package/sea/generate-global-types-asset-json.js +34 -0
  286. package/sea/install-esbuild.sh +53 -0
  287. package/sea/install-nodejs.sh +49 -0
  288. package/sea/main.sh +34 -0
  289. package/sea/node.sh +33 -0
  290. package/sea/node.version.tag +1 -0
  291. package/sea/precompile.sh +7 -0
  292. package/sea/release-tar.sh +5 -0
  293. package/sea/sign-add.sh +22 -0
  294. package/sea/sign-remove.sh +22 -0
  295. package/sea/tsc.sh +1 -0
  296. package/sea/types.json +1 -0
  297. package/src/bin/compile.ts +35 -0
  298. package/src/bin/doc-md.ts +210 -0
  299. package/src/bin/generate-doc.ts +55 -0
  300. package/src/bin/test.ts +92 -0
  301. package/src/bin/types.ts +22 -0
  302. package/src/cluster.ts +16 -0
  303. package/src/common/arguments.ts +366 -0
  304. package/src/common/assets.ts +124 -0
  305. package/src/common/checksum.ts +58 -0
  306. package/src/common/constants.ts +18 -0
  307. package/src/common/content-type.ts +84 -0
  308. package/src/common/esbuild.ts +94 -0
  309. package/src/common/exit.ts +91 -0
  310. package/src/common/fs.ts +17 -0
  311. package/src/common/help.ts +46 -0
  312. package/src/common/jsx.ts +414 -0
  313. package/src/common/paths.ts +117 -0
  314. package/src/common/watch.ts +80 -0
  315. package/src/inflate/inflate-sea.ts +193 -0
  316. package/src/inflate/inflate.ts +96 -0
  317. package/src/inflate/md.ts +20 -0
  318. package/src/inflate/setup-auth.ts +40 -0
  319. package/src/inflate/setup-cors.ts +40 -0
  320. package/src/inflate/setup-db.ts +113 -0
  321. package/src/inflate/setup-http.ts +643 -0
  322. package/src/inflate/setup-log.ts +44 -0
  323. package/src/inflate/setup-server-config.ts +47 -0
  324. package/src/inflate/setup-test.ts +23 -0
  325. package/src/inflate/setup-ws.ts +48 -0
  326. package/src/inflate/utils/sea-utils.ts +14 -0
  327. package/src/lib.ts +19 -0
  328. package/src/main.ts +87 -0
  329. package/src/services/app.ts +718 -0
  330. package/src/services/editor.tsx +93 -0
  331. package/src/services/globals.ts +143 -0
  332. package/src/services/hot-reload.ts +46 -0
  333. package/src/services/migrations.ts +66 -0
  334. package/src/services/utils/cache.ts +88 -0
  335. package/src/services/utils/cluster-cache.ts +225 -0
  336. package/src/services/utils/cluster-ws.ts +192 -0
  337. package/src/services/utils/db-manager.ts +79 -0
  338. package/src/services/utils/get-route.ts +70 -0
  339. package/src/services/utils/log.ts +91 -0
  340. package/src/services/utils/server-interface.ts +166 -0
  341. package/src/services/utils/websocketmanager.ts +139 -0
  342. package/src/types/@esbuild.d.ts +1 -0
  343. package/src/types/@miqro/core.d.ts +2 -0
  344. package/src/types/@miqro/jsx.d.ts +2 -0
  345. package/src/types/@miqro/parser.d.ts +2 -0
  346. package/src/types/@miqro/query.d.ts +2 -0
  347. package/src/types/@miqro/request.d.ts +2 -0
  348. package/src/types/@miqro/test.d.ts +2 -0
  349. package/src/types/@miqro.d.ts +1 -0
  350. package/src/types/@types.d.ts +1 -0
  351. package/src/types/browser.globals.d.ts +9 -0
  352. package/src/types/globals.d.ts +2 -0
  353. package/src/types/jsx.globals.d.ts +37 -0
  354. package/src/types/miqro.d.ts +109 -0
  355. package/src/types/postject.d.ts +1 -0
  356. package/src/types/server.globals.d.ts +72 -0
  357. package/src/types.ts +199 -0
  358. package/tsconfig.json +35 -0
  359. package/build/cli.js +0 -4
  360. package/build/cmd-map.d.ts +0 -90
  361. package/build/cmd-map.js +0 -460
  362. package/build/index.js +0 -2
  363. package/build/utils/doc/json.d.ts +0 -7
  364. package/build/utils/doc/json.js +0 -12
  365. package/build/utils/exec.d.ts +0 -32
  366. package/build/utils/exec.js +0 -102
  367. package/build/utils/templates.d.ts +0 -33
  368. package/build/utils/templates.js +0 -302
  369. package/build/utils/watch.d.ts +0 -1
  370. package/build/utils/watch.js +0 -35
  371. /package/build/{index.d.ts → esm/editor/http/admin/editor/editor.d.ts} +0 -0
  372. /package/build/{cli.d.ts → esm/src/cluster.d.ts} +0 -0
@@ -0,0 +1,365 @@
1
+ import { createNodeRuntime } from "@miqro/jsx-node";
2
+ import { basename, dirname, relative, resolve } from "node:path";
3
+ import { randomUUID } from "node:crypto";
4
+ import { mkdirSync, rmdirSync, unlinkSync, writeFileSync } from "node:fs";
5
+ import { Parser } from "@miqro/parser";
6
+ import { APIRouteSchema, SessionHandlerOptionsSchema } from "@miqro/core";
7
+ import { cwd } from "node:process";
8
+ import { esBuild } from "./esbuild.js";
9
+ import { assertGlobalTampered, browserJSXGlobals } from "../services/globals.js";
10
+ import { getJSXJSPath, JSX_TMP_DIR } from "./paths.js";
11
+ import { CLEAR_JSX_CACHE } from "./constants.js";
12
+ import { getAsset, initAsset, validateAsset } from "./assets.js";
13
+ import { calculateChecksumFromBuffer } from "./checksum.js";
14
+ import { RouteOptionsSchema } from "@miqro/core/build/types.js";
15
+ let jsxJSBuffer = null; // Buffer.from(getAsset("jsx.dom.js"));
16
+ let jsxJSBufferChecksumPromise = null; // calculateChecksumFromBuffer(jsxJSBuffer);
17
+ export async function initJSXJS(logger) {
18
+ jsxJSBuffer = jsxJSBuffer ? jsxJSBuffer : Buffer.from(getAsset("jsx.dom.js"));
19
+ jsxJSBufferChecksumPromise = jsxJSBufferChecksumPromise ? jsxJSBufferChecksumPromise : calculateChecksumFromBuffer(jsxJSBuffer);
20
+ return initAsset(logger, getJSXJSPath(), jsxJSBuffer, true, jsxJSBufferChecksumPromise, false);
21
+ }
22
+ export async function validateJSXJS(logger) {
23
+ const checksum = await jsxJSBufferChecksumPromise;
24
+ if (!checksum) {
25
+ throw new Error("error calculating checksum");
26
+ }
27
+ return validateAsset(logger, getJSXJSPath(), checksum);
28
+ }
29
+ const parser = new Parser();
30
+ const DEFAULT_ESOPTION = {
31
+ platform: "neutral",
32
+ bundle: true,
33
+ jsxFactory: "JSX.createElement",
34
+ jsxFragment: "JSX.Fragment"
35
+ };
36
+ export async function inflateJSX(inFile, options) {
37
+ const tmpBuildDir = resolve(JSX_TMP_DIR, String(process.pid), "build", Date.now() + "-" + randomUUID());
38
+ const inFileTmp = resolve(tmpBuildDir, basename(inFile) + ".mjs");
39
+ const jsxJSPath = getJSXJSPath(); //resolve(tmpBuildDir, "jsx.js");
40
+ const logger = options.logger; //getLogger(`${SERVER_IDENTIFIER}_JSX`);
41
+ try {
42
+ if (!options.embemedJSX) {
43
+ mkdirSync(tmpBuildDir, {
44
+ recursive: true
45
+ });
46
+ writeFileSync(inFileTmp, browserJSXGlobals(inFile, false, options.useExport));
47
+ //writeFileSync(inFileTmp, browserJSXGlobals(relative(tmpBuildDir, inFile), false));
48
+ logger?.trace("inflating [%s] from [%s]. to change the import folder set JSX_TMP", relative(cwd(), inFile), dirname(relative(JSX_TMP_DIR, inFileTmp)));
49
+ const { outputFiles: [{ contents }] } = await esBuild({
50
+ ...DEFAULT_ESOPTION,
51
+ entryPoints: [inFileTmp],
52
+ minify: options.minify
53
+ });
54
+ if (CLEAR_JSX_CACHE) {
55
+ logger?.trace("clearing cache at [%s] to change this behaivor set CLEAR_JSX_CACHE to 0", tmpBuildDir);
56
+ unlinkSync(inFileTmp);
57
+ rmdirSync(tmpBuildDir);
58
+ }
59
+ return contents;
60
+ }
61
+ else {
62
+ mkdirSync(tmpBuildDir, {
63
+ recursive: true
64
+ });
65
+ //writeFileSync(jsxJSPath, Buffer.from(getAsset("jsx-dom-bundle")));
66
+ writeFileSync(inFileTmp, browserJSXGlobals(inFile, jsxJSPath));
67
+ //writeFileSync(inFileTmp, browserJSXGlobals(relative(tmpBuildDir, inFile), relative(tmpBuildDir, jsxJSPath)));
68
+ logger?.trace("inflating [%s] from [%s] with jsx.js embedded. to change the import folder set JSX_TMP", relative(cwd(), inFile), dirname(relative(JSX_TMP_DIR, inFileTmp)));
69
+ const { outputFiles: [{ contents }] } = await esBuild({
70
+ ...DEFAULT_ESOPTION,
71
+ entryPoints: [inFileTmp],
72
+ minify: options.minify
73
+ });
74
+ if (CLEAR_JSX_CACHE) {
75
+ logger?.trace("clearing cache at [%s] to change this behaivor set CLEAR_JSX_CACHE to 0", tmpBuildDir);
76
+ unlinkSync(inFileTmp);
77
+ //unlinkSync(jsxJSPath);
78
+ rmdirSync(tmpBuildDir);
79
+ }
80
+ return contents;
81
+ }
82
+ }
83
+ catch (e) {
84
+ logger?.error("error with: " + inFile);
85
+ logger?.error(e);
86
+ if (options.embemedJSX) {
87
+ if (CLEAR_JSX_CACHE) {
88
+ logger?.trace("clearing cache at [%s] to change this behaivor set CLEAR_JSX_CACHE to 0", tmpBuildDir);
89
+ unlinkSync(inFileTmp);
90
+ //unlinkSync(jsxJSPath);
91
+ rmdirSync(tmpBuildDir);
92
+ }
93
+ else {
94
+ //console.error("errors on: " + tmpBuildDir);
95
+ logger?.error("error with: %s", inFileTmp);
96
+ logger?.trace("NOT clearing cache. to change this behaivor set CLEAR_JSX_CACHE to 1", tmpBuildDir);
97
+ }
98
+ }
99
+ throw e;
100
+ }
101
+ }
102
+ export async function importAPIRoute(inFile, logger) {
103
+ const mod = (await importJSXFile(inFile, logger)).default;
104
+ const module = typeof mod === "function" ? { handler: mod } : parser.parse(mod, APIRouteSchema, basename(inFile));
105
+ if (module !== undefined) {
106
+ return module;
107
+ }
108
+ else {
109
+ throw new Error(`error with module [${inFile}] undefined`);
110
+ }
111
+ }
112
+ export const APIOptionsSchema = {
113
+ type: "object?",
114
+ properties: {
115
+ basePath: "string?",
116
+ path: "string?|string[]?",
117
+ method: "string?|string[]?",
118
+ parser: {
119
+ type: "object?",
120
+ properties: {
121
+ parse: "function"
122
+ },
123
+ mode: "add_extra"
124
+ },
125
+ middleware: "function[]!?",
126
+ session: {
127
+ type: "object?|function?",
128
+ properties: SessionHandlerOptionsSchema.properties
129
+ },
130
+ ...RouteOptionsSchema.properties
131
+ }
132
+ };
133
+ export const HTMLModuleSchema = {
134
+ type: "object",
135
+ properties: {
136
+ default: {
137
+ type: "function|object"
138
+ },
139
+ apiOptions: APIOptionsSchema
140
+ }
141
+ };
142
+ export const JSONModuleSchema = {
143
+ type: "object",
144
+ properties: {
145
+ default: {
146
+ type: "function|object|string"
147
+ },
148
+ apiOptions: APIOptionsSchema
149
+ }
150
+ };
151
+ export const MigrationSchema = {
152
+ type: "object",
153
+ properties: {
154
+ up: "function",
155
+ down: "function"
156
+ }
157
+ };
158
+ export const CORSOptionsSchema = {
159
+ type: "object",
160
+ properties: {
161
+ origins: "string[]?|string?",
162
+ validate: "function?",
163
+ methods: "string?",
164
+ preflightContinue: "boolean?"
165
+ }
166
+ };
167
+ export const WSConfigSchema = {
168
+ type: "object",
169
+ properties: {
170
+ path: "string",
171
+ disabled: "boolean?",
172
+ maxConnections: "number?",
173
+ validate: "function?",
174
+ onConnection: "function?",
175
+ onMessage: "function?",
176
+ onDisconnect: "function?"
177
+ }
178
+ };
179
+ export const DBConfigSchema = {
180
+ type: "object",
181
+ properties: {
182
+ url: "string?",
183
+ disabled: "boolean?",
184
+ storage: "string?",
185
+ dialect: "string?",
186
+ name: "string"
187
+ }
188
+ };
189
+ export const ServerConfigSchema = {
190
+ type: "object",
191
+ properties: {
192
+ preload: "function?",
193
+ unload: "function?",
194
+ stop: "function?",
195
+ start: "function?",
196
+ load: "function?"
197
+ }
198
+ };
199
+ export const LogConfigSchema = {
200
+ type: "object",
201
+ properties: {
202
+ level: {
203
+ type: "enum?",
204
+ enumValues: ["error", "warn", "info", "debug", "trace", "none"]
205
+ },
206
+ replaceConsoleTransport: "boolean?",
207
+ replaceFileTransport: "boolean?",
208
+ write: "function"
209
+ }
210
+ };
211
+ export const AuthConfigSchema = {
212
+ type: "object",
213
+ properties: {
214
+ ...SessionHandlerOptionsSchema.properties
215
+ }
216
+ };
217
+ export async function importMigrationModule(inFile, logger) {
218
+ const module = parser.parse((await importJSXFile(inFile, logger)).default, MigrationSchema, basename(inFile));
219
+ if (module !== undefined) {
220
+ return module;
221
+ }
222
+ else {
223
+ throw new Error(`error with module [${inFile}] undefined`);
224
+ }
225
+ }
226
+ export async function importHTMLModule(inFile, logger) {
227
+ const module = parser.parse((await importJSXFile(inFile, logger)), HTMLModuleSchema, basename(inFile));
228
+ if (module !== undefined) {
229
+ return module;
230
+ }
231
+ else {
232
+ throw new Error(`error with module [${inFile}] undefined`);
233
+ }
234
+ }
235
+ export async function importJSONModule(inFile, logger) {
236
+ const module = parser.parse((await importJSXFile(inFile, logger)), JSONModuleSchema, basename(inFile));
237
+ if (module !== undefined) {
238
+ return module;
239
+ }
240
+ else {
241
+ throw new Error(`error with module [${inFile}] undefined`);
242
+ }
243
+ }
244
+ export async function importAuthModule(inFile, logger) {
245
+ const module = parser.parse((await importJSXFile(inFile, logger)).default, AuthConfigSchema, basename(inFile));
246
+ if (module !== undefined) {
247
+ return module;
248
+ }
249
+ else {
250
+ throw new Error(`error with module [${inFile}] undefined`);
251
+ }
252
+ }
253
+ export async function importCORSModule(inFile, logger) {
254
+ const module = parser.parse((await importJSXFile(inFile, logger)).default, CORSOptionsSchema, basename(inFile));
255
+ if (module !== undefined) {
256
+ return module;
257
+ }
258
+ else {
259
+ throw new Error(`error with module [${inFile}] undefined`);
260
+ }
261
+ }
262
+ export async function importWSConfigModule(inFile, logger) {
263
+ const module = parser.parse((await importJSXFile(inFile, logger)).default, WSConfigSchema, basename(inFile));
264
+ if (module !== undefined) {
265
+ return module;
266
+ }
267
+ else {
268
+ throw new Error(`error with module [${inFile}] undefined`);
269
+ }
270
+ }
271
+ export async function importDBConfigModule(inFile, logger) {
272
+ const module = parser.parse((await importJSXFile(inFile, logger)).default, DBConfigSchema, basename(inFile));
273
+ if (module !== undefined) {
274
+ return module;
275
+ }
276
+ else {
277
+ throw new Error(`error with module [${inFile}] undefined`);
278
+ }
279
+ }
280
+ export async function importLogConfigModule(inFile, logger) {
281
+ const module = parser.parse((await importJSXFile(inFile, logger)).default, LogConfigSchema, basename(inFile));
282
+ if (module !== undefined) {
283
+ return module;
284
+ }
285
+ else {
286
+ throw new Error(`error with module [${inFile}] undefined`);
287
+ }
288
+ }
289
+ export async function importServerConfigModule(inFile, logger) {
290
+ const module = parser.parse((await importJSXFile(inFile, logger)).default, ServerConfigSchema, basename(inFile));
291
+ if (module !== undefined) {
292
+ return module;
293
+ }
294
+ else {
295
+ throw new Error(`error with module [${inFile}] undefined`);
296
+ }
297
+ }
298
+ export async function importJSXFile(inFile, logger) {
299
+ const inflatedCode = await inflateJSX(inFile, {
300
+ embemedJSX: false,
301
+ minify: false,
302
+ useExport: true,
303
+ logger
304
+ });
305
+ const tmpBuildDir = resolve(JSX_TMP_DIR, String(process.pid), "import", Date.now() + "-" + randomUUID());
306
+ const inFileTmp = resolve(tmpBuildDir, basename(inFile) + ".mjs");
307
+ //const logger = getLogger(`${SERVER_IDENTIFIER}_JSX`);
308
+ mkdirSync(tmpBuildDir, {
309
+ recursive: true
310
+ });
311
+ try {
312
+ writeFileSync(inFileTmp, inflatedCode);
313
+ assertGlobalTampered();
314
+ logger?.trace("importing [%s] from [%s]. to change the import folder set JSX_TMP", relative(cwd(), inFile), dirname(relative(JSX_TMP_DIR, inFileTmp)));
315
+ logger?.debug("importing [%s]", relative(cwd(), inFile));
316
+ const module = await import(inFileTmp);
317
+ assertGlobalTampered();
318
+ if (CLEAR_JSX_CACHE) {
319
+ logger?.trace("clearing cache at [%s]. to change this behaivor set CLEAR_JSX_CACHE to 0", tmpBuildDir);
320
+ unlinkSync(inFileTmp);
321
+ rmdirSync(tmpBuildDir);
322
+ }
323
+ return module;
324
+ }
325
+ catch (e) {
326
+ logger?.error(e);
327
+ logger?.error("error with: " + inFile);
328
+ if (CLEAR_JSX_CACHE) {
329
+ logger?.trace("clearing cache at [%s] to change this behaivor set CLEAR_JSX_CACHE to 0", tmpBuildDir);
330
+ unlinkSync(inFileTmp);
331
+ rmdirSync(tmpBuildDir);
332
+ }
333
+ else {
334
+ //console.error("errors on: " + tmpBuildDir);
335
+ logger?.error("error with: %s", inFileTmp);
336
+ logger?.trace("NOT clearing cache. to change this behaivor set CLEAR_JSX_CACHE to 1", tmpBuildDir);
337
+ }
338
+ throw e;
339
+ }
340
+ }
341
+ export function jsx2HTML(out, runtime) {
342
+ runtime = runtime ? runtime : createNodeRuntime();
343
+ const element = runtime.createElement("root");
344
+ const container = runtime.createContainer(element, {
345
+ shadowInit: false, runtimeOptions: {
346
+ disableEffects: true,
347
+ disableEvents: true,
348
+ disableRefListener: true,
349
+ disableRefresh: true
350
+ }
351
+ });
352
+ container.render(out);
353
+ //console.log("jsx2HTML [%s]", element);
354
+ let HTML = "";
355
+ for (let i = 0; i < element.childNodes.length; i++) {
356
+ const child = element.childNodes[i];
357
+ //console.log("jsx2HTML child [%s]", child);
358
+ //console.log("jsx2HTML child [%s]", (child as any).toString(" ", -1));
359
+ HTML += child.toString(" ", -1);
360
+ }
361
+ container.disconnect();
362
+ //console.log("jsx2HTML [%s]", HTML);
363
+ return HTML;
364
+ }
365
+ //# sourceMappingURL=jsx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../../../src/common/jsx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export declare const JSX_TMP_DIR: string;
2
+ export declare const TEST_SOCKET: string;
3
+ export declare function getServicePath(service: string): string;
4
+ export declare function getLogConfigPath(servicePath: string): string | false;
5
+ export declare function getCORSConfigPath(servicePath: string): string | false;
6
+ export declare function getServerConfigPath(servicePath: string): string | false;
7
+ export declare function getWSConfigPath(servicePath: string): string | false;
8
+ export declare function getDBConfigPath(servicePath: string): string | false;
9
+ export declare function getStaticFilesPath(servicePath: string): string | false;
10
+ export declare function getAuthConfigPath(servicePath: string): string | false;
11
+ export declare function getHTTPRouterPath(servicePath: string): string | false;
12
+ export declare function getMigrationsPath(servicePath: string): string | false;
13
+ export declare function getESBuildBinaryPath(): string;
14
+ export declare function getJSXJSPath(): string;
@@ -0,0 +1,110 @@
1
+ import { checkEnvVariable } from "@miqro/core";
2
+ import { randomUUID } from "node:crypto";
3
+ import { existsSync, statSync } from "node:fs";
4
+ import { tmpdir } from "node:os";
5
+ import { resolve } from "node:path";
6
+ import { cwd, platform } from "node:process";
7
+ export const JSX_TMP_DIR = checkEnvVariable(`JSX_TMP`, resolve(tmpdir(), "jsx_tmp"));
8
+ export const TEST_SOCKET = resolve(JSX_TMP_DIR, `test.${randomUUID()}.sock`);
9
+ export function getServicePath(service) {
10
+ return resolve(cwd(), service);
11
+ }
12
+ export function getLogConfigPath(servicePath) {
13
+ const logConfigPath = resolve(servicePath, "log.ts");
14
+ const logConfigPathJS = resolve(servicePath, "log.js");
15
+ if (existsSync(logConfigPath) && !statSync(logConfigPath).isDirectory()) {
16
+ return logConfigPath;
17
+ }
18
+ else if (existsSync(logConfigPathJS) && !statSync(logConfigPathJS).isDirectory()) {
19
+ return logConfigPathJS;
20
+ }
21
+ return false;
22
+ }
23
+ export function getCORSConfigPath(servicePath) {
24
+ const corsPath = resolve(servicePath, "cors.ts");
25
+ const corsPathJS = resolve(servicePath, "cors.js");
26
+ if (existsSync(corsPath) && !statSync(corsPath).isDirectory()) {
27
+ return corsPath;
28
+ }
29
+ else if (existsSync(corsPathJS) && !statSync(corsPathJS).isDirectory()) {
30
+ return corsPathJS;
31
+ }
32
+ return false;
33
+ }
34
+ export function getServerConfigPath(servicePath) {
35
+ const serverPath = resolve(servicePath, "server.ts");
36
+ const serverPathJS = resolve(servicePath, "server.js");
37
+ if (existsSync(serverPath)) {
38
+ return serverPath;
39
+ }
40
+ else if (existsSync(serverPathJS)) {
41
+ return serverPathJS;
42
+ }
43
+ return false;
44
+ }
45
+ export function getWSConfigPath(servicePath) {
46
+ const wsPath = resolve(servicePath, "ws.ts");
47
+ const wsPathJS = resolve(servicePath, "ws.js");
48
+ if (existsSync(wsPath)) {
49
+ return wsPath;
50
+ }
51
+ else if (existsSync(wsPathJS)) {
52
+ return wsPathJS;
53
+ }
54
+ return false;
55
+ }
56
+ export function getDBConfigPath(servicePath) {
57
+ const dbPath = resolve(servicePath, "db.ts");
58
+ const dbPathJS = resolve(servicePath, "db.js");
59
+ if (existsSync(dbPath)) {
60
+ return dbPath;
61
+ }
62
+ else if (existsSync(dbPathJS)) {
63
+ return dbPathJS;
64
+ }
65
+ return false;
66
+ }
67
+ export function getStaticFilesPath(servicePath) {
68
+ const staticFilesPath = resolve(servicePath, "static");
69
+ if (existsSync(staticFilesPath) && statSync(staticFilesPath).isDirectory()) {
70
+ return staticFilesPath;
71
+ }
72
+ return false;
73
+ }
74
+ export function getAuthConfigPath(servicePath) {
75
+ const authPath = resolve(servicePath, "auth.ts");
76
+ const authPathJS = resolve(servicePath, "auth.js");
77
+ if (existsSync(authPath) && !statSync(authPath).isDirectory()) {
78
+ return authPath;
79
+ }
80
+ else if (existsSync(authPath) && !statSync(authPath).isDirectory()) {
81
+ return authPathJS;
82
+ }
83
+ return false;
84
+ }
85
+ export function getHTTPRouterPath(servicePath) {
86
+ const apiRouterPath = resolve(servicePath, "http");
87
+ if (existsSync(apiRouterPath) && statSync(apiRouterPath).isDirectory()) {
88
+ return apiRouterPath;
89
+ }
90
+ return false;
91
+ }
92
+ export function getMigrationsPath(servicePath) {
93
+ const migrationsFolderPath = resolve(servicePath, "migration");
94
+ if (existsSync(migrationsFolderPath) && statSync(migrationsFolderPath).isDirectory()) {
95
+ return migrationsFolderPath;
96
+ }
97
+ return false;
98
+ }
99
+ export function getESBuildBinaryPath() {
100
+ if (platform === "win32") {
101
+ return resolve(JSX_TMP_DIR, String(process.pid), "esbuild.exe");
102
+ }
103
+ else {
104
+ return resolve(JSX_TMP_DIR, String(process.pid), "esbuild");
105
+ }
106
+ }
107
+ export function getJSXJSPath() {
108
+ return resolve(JSX_TMP_DIR, String(process.pid), "jsx.js");
109
+ }
110
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../../src/common/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,UAAU,EAAE,OAAO,CAAC,CAAC;AAE7E,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACxE,OAAO,aAAa,CAAC;IACvB,CAAC;SAAM,IAAI,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACnF,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC9D,OAAO,QAAQ,CAAC;IAClB,CAAC;SAAM,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACzE,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,UAAU,CAAC;IACpB,CAAC;SAAM,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3E,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC9D,OAAO,QAAQ,CAAC;IAClB,CAAC;SAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACrE,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACvE,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,MAAM,oBAAoB,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC/D,IAAI,UAAU,CAAC,oBAAoB,CAAC,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACrF,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,IAAG,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import "../services/globals.js";
2
+ import { Miqro } from "../services/app.js";
3
+ export declare function watchAndServer(app: Miqro): Promise<void>;
@@ -0,0 +1,74 @@
1
+ import "../services/globals.js";
2
+ import { existsSync, readdirSync, statSync, watch } from "node:fs";
3
+ import { resolve } from "node:path";
4
+ export async function watchAndServer(app) {
5
+ let timeout;
6
+ const watchLogger = app.logger;
7
+ const watchers = [];
8
+ /*await start({
9
+ logger,
10
+ webSocketManager,
11
+ dbManager,
12
+ services,
13
+ editor,
14
+ inflateTests: false,
15
+ inflateDir: false,
16
+ inflateSea: false,
17
+ runOnTestPort: false
18
+ });*/
19
+ //await app.start();
20
+ function watchHandler(eventType, filename) {
21
+ stopWatch();
22
+ watchLogger?.debug(`event type is: ${eventType}`);
23
+ if (filename) {
24
+ watchLogger?.debug(`filename provided: ${filename}`);
25
+ }
26
+ else {
27
+ watchLogger?.debug('filename not provided');
28
+ }
29
+ watchLogger?.info(`${eventType} on ${filename}`);
30
+ clearTimeout(timeout);
31
+ timeout = setTimeout(async () => {
32
+ try {
33
+ stopWatch();
34
+ setTimeout(async () => {
35
+ watchLogger?.debug("closed");
36
+ await app.reload();
37
+ reWatch();
38
+ }, 500);
39
+ }
40
+ catch (e) {
41
+ watchLogger?.error(e);
42
+ }
43
+ }, 2000);
44
+ }
45
+ function watchDir(toWatch) {
46
+ const files = existsSync(toWatch) ? readdirSync(toWatch) : [];
47
+ for (const file of files) {
48
+ const filePath = resolve(toWatch, file);
49
+ if (statSync(filePath).isDirectory()) {
50
+ watchDir(filePath);
51
+ }
52
+ else {
53
+ //console.log("toWatch=" + filePath);
54
+ watchers.push(watch(filePath, watchHandler));
55
+ }
56
+ }
57
+ }
58
+ function stopWatch() {
59
+ const toClose = watchers.splice(0, watchers.length);
60
+ for (const watcher of toClose) {
61
+ watcher.close();
62
+ }
63
+ }
64
+ function reWatch() {
65
+ stopWatch();
66
+ for (const service of app.options.services) {
67
+ const toWatch = resolve(process.cwd(), service);
68
+ watchDir(toWatch);
69
+ }
70
+ }
71
+ watchLogger?.info("watching for changes on [%s]", app.options.services.join(","));
72
+ reWatch();
73
+ }
74
+ //# sourceMappingURL=watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../src/common/watch.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAa,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAU;IAC7C,IAAI,OAAY,CAAC;IACjB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC;;;;;;;;;;SAUK;IAEL,oBAAoB;IAEpB,SAAS,YAAY,CAAC,SAAc,EAAE,QAAa;QACjD,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,KAAK,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,EAAE,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,WAAW,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC9C,CAAC;QACD,WAAW,EAAE,IAAI,CAAC,GAAG,SAAS,OAAO,QAAQ,EAAE,CAAC,CAAC;QACjD,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC;gBACH,SAAS,EAAE,CAAC;gBACZ,UAAU,CAAC,KAAK,IAAI,EAAE;oBACpB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC7B,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,SAAS,QAAQ,CAAC,OAAe;QAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACxC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,qCAAqC;gBACrC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,SAAS;QAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAGD,SAAS,OAAO;QACd,SAAS,EAAE,CAAC;QACZ,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YAChD,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,WAAW,EAAE,IAAI,CAAC,8BAA8B,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClF,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Logger } from "@miqro/core";
2
+ import { RouteFileMap, StaticFileMap } from "./setup-http.js";
3
+ export declare function inflateSeaAssets(logger: Logger, inflateDir: string): Promise<void>;
4
+ export declare function inflateAppForSea(logger: Logger, inflateDir: string, services: string[]): Promise<void>;
5
+ export declare function inflateServiceForSea(logger: Logger, inflateDir: string, service: string, servicePath: string, serviceRouteFileMap: RouteFileMap, serviceStaticFileMap: StaticFileMap): Promise<void>;