miqro 6.0.14 → 6.1.1

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 (322) hide show
  1. package/README.md +12 -0
  2. package/build/editor.bundle.js +37 -50409
  3. package/build/esm/src/cluster.js +0 -1
  4. package/build/esm/src/common/arguments.d.ts +12 -0
  5. package/build/esm/src/common/arguments.js +111 -10
  6. package/build/esm/src/common/assets.js +2 -3
  7. package/build/esm/src/common/checksum.js +0 -1
  8. package/build/esm/src/common/constants.js +0 -1
  9. package/build/esm/src/common/content-type.js +0 -1
  10. package/build/esm/src/common/esbuild.js +0 -1
  11. package/build/esm/src/common/exit.js +0 -1
  12. package/build/esm/src/common/fs.js +0 -1
  13. package/build/esm/src/common/help.d.ts +1 -1
  14. package/build/esm/src/common/help.js +4 -1
  15. package/build/esm/src/common/jsx.d.ts +8 -1
  16. package/build/esm/src/common/jsx.js +84 -2
  17. package/build/esm/src/common/paths.d.ts +4 -0
  18. package/build/esm/src/common/paths.js +41 -2
  19. package/build/esm/src/common/watch.js +0 -1
  20. package/build/esm/src/inflate/inflate-sea.js +27 -16
  21. package/build/esm/src/inflate/inflate.js +2 -1
  22. package/build/esm/src/inflate/md.d.ts +1 -0
  23. package/build/esm/src/inflate/md.js +9 -6
  24. package/build/esm/src/inflate/setup-auth.js +0 -1
  25. package/build/esm/src/inflate/setup-cors.js +0 -1
  26. package/build/esm/src/inflate/setup-db.js +0 -1
  27. package/build/esm/src/inflate/setup-error.d.ts +3 -0
  28. package/build/esm/src/inflate/setup-error.js +40 -0
  29. package/build/esm/src/inflate/setup-http.js +13 -4
  30. package/build/esm/src/inflate/setup-log.js +0 -1
  31. package/build/esm/src/inflate/setup-middleware.d.ts +4 -0
  32. package/build/esm/src/inflate/setup-middleware.js +42 -0
  33. package/build/esm/src/inflate/setup-server-config.js +0 -1
  34. package/build/esm/src/inflate/setup-test.js +0 -1
  35. package/build/esm/src/inflate/setup-ws.js +0 -1
  36. package/build/esm/src/inflate/setup.doc.d.ts +4 -0
  37. package/build/esm/src/inflate/setup.doc.js +62 -0
  38. package/build/esm/src/inflate/utils/sea-utils.js +0 -1
  39. package/build/esm/src/lib.js +0 -1
  40. package/build/esm/src/main.js +3 -4
  41. package/build/esm/src/services/app.d.ts +1 -0
  42. package/build/esm/src/services/app.js +18 -2
  43. package/build/esm/src/services/editor.js +0 -1
  44. package/build/esm/src/services/globals.js +0 -1
  45. package/build/esm/src/services/hot-reload.js +0 -1
  46. package/build/esm/src/services/migrations.js +0 -1
  47. package/build/esm/src/services/utils/admin-interface.js +0 -1
  48. package/build/esm/src/services/utils/cache.js +0 -1
  49. package/build/esm/src/services/utils/cluster-cache.js +0 -1
  50. package/build/esm/src/services/utils/cluster-ws.js +0 -1
  51. package/build/esm/src/services/utils/db-manager.js +0 -1
  52. package/build/esm/src/services/utils/get-route.js +0 -1
  53. package/build/esm/src/services/utils/log-transport.js +0 -1
  54. package/build/esm/src/services/utils/log.js +2 -2
  55. package/build/esm/src/services/utils/server-interface.js +0 -1
  56. package/build/esm/src/services/utils/websocketmanager.js +0 -1
  57. package/build/esm/src/types.d.ts +16 -1
  58. package/build/esm/src/types.js +0 -1
  59. package/build/lib.cjs +890 -322
  60. package/package.json +4 -2
  61. package/sea/types.json +1 -1
  62. package/tsconfig.json +1 -1
  63. package/bin/miqro +0 -34
  64. package/build/esm/editor/auth.d.ts +0 -6
  65. package/build/esm/editor/auth.js +0 -42
  66. package/build/esm/editor/auth.js.map +0 -1
  67. package/build/esm/editor/common/admin-interface.d.ts +0 -36
  68. package/build/esm/editor/common/admin-interface.js +0 -45
  69. package/build/esm/editor/common/admin-interface.js.map +0 -1
  70. package/build/esm/editor/common/constants.d.ts +0 -4
  71. package/build/esm/editor/common/constants.js +0 -21
  72. package/build/esm/editor/common/constants.js.map +0 -1
  73. package/build/esm/editor/common/constants.server.d.ts +0 -2
  74. package/build/esm/editor/common/constants.server.js +0 -5
  75. package/build/esm/editor/common/constants.server.js.map +0 -1
  76. package/build/esm/editor/common/editor-index.d.ts +0 -2
  77. package/build/esm/editor/common/editor-index.js +0 -15
  78. package/build/esm/editor/common/editor-index.js.map +0 -1
  79. package/build/esm/editor/common/html-encode.d.ts +0 -1
  80. package/build/esm/editor/common/html-encode.js +0 -15
  81. package/build/esm/editor/common/html-encode.js.map +0 -1
  82. package/build/esm/editor/common/log-socket.d.ts +0 -15
  83. package/build/esm/editor/common/log-socket.js +0 -71
  84. package/build/esm/editor/common/log-socket.js.map +0 -1
  85. package/build/esm/editor/common/templates.d.ts +0 -11
  86. package/build/esm/editor/common/templates.js +0 -444
  87. package/build/esm/editor/common/templates.js.map +0 -1
  88. package/build/esm/editor/components/api-preview.d.ts +0 -11
  89. package/build/esm/editor/components/api-preview.js +0 -91
  90. package/build/esm/editor/components/api-preview.js.map +0 -1
  91. package/build/esm/editor/components/editor.d.ts +0 -16
  92. package/build/esm/editor/components/editor.js +0 -358
  93. package/build/esm/editor/components/editor.js.map +0 -1
  94. package/build/esm/editor/components/file-browser.d.ts +0 -37
  95. package/build/esm/editor/components/file-browser.js +0 -127
  96. package/build/esm/editor/components/file-browser.js.map +0 -1
  97. package/build/esm/editor/components/file-editor-toolbar.d.ts +0 -22
  98. package/build/esm/editor/components/file-editor-toolbar.js +0 -94
  99. package/build/esm/editor/components/file-editor-toolbar.js.map +0 -1
  100. package/build/esm/editor/components/file-editor.d.ts +0 -32
  101. package/build/esm/editor/components/file-editor.js +0 -60
  102. package/build/esm/editor/components/file-editor.js.map +0 -1
  103. package/build/esm/editor/components/filter-query.d.ts +0 -1
  104. package/build/esm/editor/components/filter-query.js +0 -23
  105. package/build/esm/editor/components/filter-query.js.map +0 -1
  106. package/build/esm/editor/components/highlight-text-area.d.ts +0 -11
  107. package/build/esm/editor/components/highlight-text-area.js +0 -139
  108. package/build/esm/editor/components/highlight-text-area.js.map +0 -1
  109. package/build/esm/editor/components/log-viewer.d.ts +0 -6
  110. package/build/esm/editor/components/log-viewer.js +0 -70
  111. package/build/esm/editor/components/log-viewer.js.map +0 -1
  112. package/build/esm/editor/components/new-file.d.ts +0 -10
  113. package/build/esm/editor/components/new-file.js +0 -118
  114. package/build/esm/editor/components/new-file.js.map +0 -1
  115. package/build/esm/editor/components/scroll-query.d.ts +0 -7
  116. package/build/esm/editor/components/scroll-query.js +0 -22
  117. package/build/esm/editor/components/scroll-query.js.map +0 -1
  118. package/build/esm/editor/components/start-page.d.ts +0 -13
  119. package/build/esm/editor/components/start-page.js +0 -31
  120. package/build/esm/editor/components/start-page.js.map +0 -1
  121. package/build/esm/editor/http/admin/editor/api/fs/delete.api.d.ts +0 -3
  122. package/build/esm/editor/http/admin/editor/api/fs/delete.api.js +0 -30
  123. package/build/esm/editor/http/admin/editor/api/fs/delete.api.js.map +0 -1
  124. package/build/esm/editor/http/admin/editor/api/fs/read.api.d.ts +0 -5
  125. package/build/esm/editor/http/admin/editor/api/fs/read.api.js +0 -50
  126. package/build/esm/editor/http/admin/editor/api/fs/read.api.js.map +0 -1
  127. package/build/esm/editor/http/admin/editor/api/fs/rename.api.d.ts +0 -4
  128. package/build/esm/editor/http/admin/editor/api/fs/rename.api.js +0 -40
  129. package/build/esm/editor/http/admin/editor/api/fs/rename.api.js.map +0 -1
  130. package/build/esm/editor/http/admin/editor/api/fs/scan.api.d.ts +0 -26
  131. package/build/esm/editor/http/admin/editor/api/fs/scan.api.js +0 -150
  132. package/build/esm/editor/http/admin/editor/api/fs/scan.api.js.map +0 -1
  133. package/build/esm/editor/http/admin/editor/api/fs/write.api.d.ts +0 -3
  134. package/build/esm/editor/http/admin/editor/api/fs/write.api.js +0 -39
  135. package/build/esm/editor/http/admin/editor/api/fs/write.api.js.map +0 -1
  136. package/build/esm/editor/http/admin/editor/api/server/reload.api.d.ts +0 -10
  137. package/build/esm/editor/http/admin/editor/api/server/reload.api.js +0 -47
  138. package/build/esm/editor/http/admin/editor/api/server/reload.api.js.map +0 -1
  139. package/build/esm/editor/http/admin/editor/api/server/restart.api.d.ts +0 -10
  140. package/build/esm/editor/http/admin/editor/api/server/restart.api.js +0 -46
  141. package/build/esm/editor/http/admin/editor/api/server/restart.api.js.map +0 -1
  142. package/build/esm/editor/http/admin/editor/editor.d.ts +0 -1
  143. package/build/esm/editor/http/admin/editor/editor.js +0 -8
  144. package/build/esm/editor/http/admin/editor/editor.js.map +0 -1
  145. package/build/esm/editor/http/admin/editor/index.api.d.ts +0 -3
  146. package/build/esm/editor/http/admin/editor/index.api.js +0 -22
  147. package/build/esm/editor/http/admin/editor/index.api.js.map +0 -1
  148. package/build/esm/editor/server.d.ts +0 -3
  149. package/build/esm/editor/server.js +0 -50
  150. package/build/esm/editor/server.js.map +0 -1
  151. package/build/esm/editor/ws.d.ts +0 -3
  152. package/build/esm/editor/ws.js +0 -12
  153. package/build/esm/editor/ws.js.map +0 -1
  154. package/build/esm/src/bin/compile.d.ts +0 -3
  155. package/build/esm/src/bin/compile.js +0 -31
  156. package/build/esm/src/bin/compile.js.map +0 -1
  157. package/build/esm/src/bin/doc-md.d.ts +0 -17
  158. package/build/esm/src/bin/doc-md.js +0 -187
  159. package/build/esm/src/bin/doc-md.js.map +0 -1
  160. package/build/esm/src/bin/generate-doc.d.ts +0 -4
  161. package/build/esm/src/bin/generate-doc.js +0 -49
  162. package/build/esm/src/bin/generate-doc.js.map +0 -1
  163. package/build/esm/src/bin/test.d.ts +0 -3
  164. package/build/esm/src/bin/test.js +0 -68
  165. package/build/esm/src/bin/test.js.map +0 -1
  166. package/build/esm/src/bin/types.d.ts +0 -3
  167. package/build/esm/src/bin/types.js +0 -21
  168. package/build/esm/src/bin/types.js.map +0 -1
  169. package/build/esm/src/cluster.js.map +0 -1
  170. package/build/esm/src/common/arguments.js.map +0 -1
  171. package/build/esm/src/common/assets.js.map +0 -1
  172. package/build/esm/src/common/checksum.js.map +0 -1
  173. package/build/esm/src/common/constants.js.map +0 -1
  174. package/build/esm/src/common/content-type.js.map +0 -1
  175. package/build/esm/src/common/esbuild.js.map +0 -1
  176. package/build/esm/src/common/exit.js.map +0 -1
  177. package/build/esm/src/common/fs.js.map +0 -1
  178. package/build/esm/src/common/help.js.map +0 -1
  179. package/build/esm/src/common/jsx.js.map +0 -1
  180. package/build/esm/src/common/paths.js.map +0 -1
  181. package/build/esm/src/common/watch.js.map +0 -1
  182. package/build/esm/src/inflate/inflate-sea.js.map +0 -1
  183. package/build/esm/src/inflate/inflate.js.map +0 -1
  184. package/build/esm/src/inflate/md.js.map +0 -1
  185. package/build/esm/src/inflate/setup-auth.js.map +0 -1
  186. package/build/esm/src/inflate/setup-cors.js.map +0 -1
  187. package/build/esm/src/inflate/setup-db.js.map +0 -1
  188. package/build/esm/src/inflate/setup-http.js.map +0 -1
  189. package/build/esm/src/inflate/setup-log.js.map +0 -1
  190. package/build/esm/src/inflate/setup-server-config.js.map +0 -1
  191. package/build/esm/src/inflate/setup-test.js.map +0 -1
  192. package/build/esm/src/inflate/setup-ws.js.map +0 -1
  193. package/build/esm/src/inflate/utils/sea-utils.js.map +0 -1
  194. package/build/esm/src/lib.js.map +0 -1
  195. package/build/esm/src/main.js.map +0 -1
  196. package/build/esm/src/services/app.js.map +0 -1
  197. package/build/esm/src/services/editor.js.map +0 -1
  198. package/build/esm/src/services/globals.js.map +0 -1
  199. package/build/esm/src/services/hot-reload.js.map +0 -1
  200. package/build/esm/src/services/migrations.js.map +0 -1
  201. package/build/esm/src/services/utils/admin-interface.js.map +0 -1
  202. package/build/esm/src/services/utils/cache.js.map +0 -1
  203. package/build/esm/src/services/utils/cluster-cache.js.map +0 -1
  204. package/build/esm/src/services/utils/cluster-ws.js.map +0 -1
  205. package/build/esm/src/services/utils/db-manager.js.map +0 -1
  206. package/build/esm/src/services/utils/get-route.js.map +0 -1
  207. package/build/esm/src/services/utils/log-transport.js.map +0 -1
  208. package/build/esm/src/services/utils/log.js.map +0 -1
  209. package/build/esm/src/services/utils/server-interface.js.map +0 -1
  210. package/build/esm/src/services/utils/websocketmanager.js.map +0 -1
  211. package/build/esm/src/types.js.map +0 -1
  212. package/editor/auth.ts +0 -51
  213. package/editor/common/admin-interface.ts +0 -84
  214. package/editor/common/constants.server.ts +0 -5
  215. package/editor/common/constants.ts +0 -21
  216. package/editor/common/editor-index.tsx +0 -17
  217. package/editor/common/html-encode.ts +0 -14
  218. package/editor/common/log-socket.tsx +0 -85
  219. package/editor/common/templates.ts +0 -448
  220. package/editor/components/api-preview.tsx +0 -116
  221. package/editor/components/editor.tsx +0 -486
  222. package/editor/components/file-browser.tsx +0 -308
  223. package/editor/components/file-editor-toolbar.tsx +0 -191
  224. package/editor/components/file-editor.tsx +0 -122
  225. package/editor/components/filter-query.tsx +0 -22
  226. package/editor/components/highlight-text-area.tsx +0 -159
  227. package/editor/components/log-viewer.tsx +0 -110
  228. package/editor/components/new-file.tsx +0 -169
  229. package/editor/components/scroll-query.tsx +0 -22
  230. package/editor/components/start-page.tsx +0 -49
  231. package/editor/http/admin/editor/api/fs/delete.api.tsx +0 -32
  232. package/editor/http/admin/editor/api/fs/read.api.tsx +0 -55
  233. package/editor/http/admin/editor/api/fs/rename.api.tsx +0 -41
  234. package/editor/http/admin/editor/api/fs/scan.api.tsx +0 -181
  235. package/editor/http/admin/editor/api/fs/write.api.tsx +0 -41
  236. package/editor/http/admin/editor/api/server/reload.api.ts +0 -53
  237. package/editor/http/admin/editor/api/server/restart.api.tsx +0 -52
  238. package/editor/http/admin/editor/editor.tsx +0 -8
  239. package/editor/http/admin/editor/index.api.tsx +0 -39
  240. package/editor/server.ts +0 -57
  241. package/editor/static/android-chrome-192x192.png +0 -0
  242. package/editor/static/android-chrome-512x512.png +0 -0
  243. package/editor/static/apple-touch-icon.png +0 -0
  244. package/editor/static/editor.bundle.in.mjs +0 -20
  245. package/editor/static/favicon-16x16.png +0 -0
  246. package/editor/static/favicon-32x32.png +0 -0
  247. package/editor/static/favicon.ico +0 -0
  248. package/editor/static/site.webmanifest +0 -19
  249. package/editor/ws.ts +0 -15
  250. package/sea/base64.js +0 -3
  251. package/sea/compile.sh +0 -127
  252. package/sea/copy-types.sh +0 -46
  253. package/sea/editor-assets/editor.bundle.in.mjs +0 -19
  254. package/sea/generate-global-types-asset-json.js +0 -34
  255. package/sea/release-tar.sh +0 -5
  256. package/sea/tsc.sh +0 -1
  257. package/sea/version.tag.js +0 -11
  258. package/src/bin/compile.ts +0 -35
  259. package/src/bin/doc-md.ts +0 -210
  260. package/src/bin/generate-doc.ts +0 -58
  261. package/src/bin/test.ts +0 -92
  262. package/src/bin/types.ts +0 -22
  263. package/src/cluster.ts +0 -27
  264. package/src/common/arguments.ts +0 -382
  265. package/src/common/assets.ts +0 -128
  266. package/src/common/checksum.ts +0 -58
  267. package/src/common/constants.ts +0 -18
  268. package/src/common/content-type.ts +0 -84
  269. package/src/common/esbuild.ts +0 -94
  270. package/src/common/exit.ts +0 -91
  271. package/src/common/fs.ts +0 -17
  272. package/src/common/help.ts +0 -47
  273. package/src/common/jsx.ts +0 -426
  274. package/src/common/paths.ts +0 -117
  275. package/src/common/watch.ts +0 -85
  276. package/src/inflate/inflate-sea.ts +0 -194
  277. package/src/inflate/inflate.ts +0 -96
  278. package/src/inflate/md.ts +0 -20
  279. package/src/inflate/setup-auth.ts +0 -40
  280. package/src/inflate/setup-cors.ts +0 -40
  281. package/src/inflate/setup-db.ts +0 -113
  282. package/src/inflate/setup-http.ts +0 -643
  283. package/src/inflate/setup-log.ts +0 -44
  284. package/src/inflate/setup-server-config.ts +0 -47
  285. package/src/inflate/setup-test.ts +0 -23
  286. package/src/inflate/setup-ws.ts +0 -48
  287. package/src/inflate/utils/sea-utils.ts +0 -14
  288. package/src/lib.ts +0 -19
  289. package/src/main.ts +0 -87
  290. package/src/services/app.ts +0 -640
  291. package/src/services/editor.tsx +0 -101
  292. package/src/services/globals.ts +0 -143
  293. package/src/services/hot-reload.ts +0 -48
  294. package/src/services/migrations.ts +0 -66
  295. package/src/services/utils/admin-interface.ts +0 -37
  296. package/src/services/utils/cache.ts +0 -88
  297. package/src/services/utils/cluster-cache.ts +0 -230
  298. package/src/services/utils/cluster-ws.ts +0 -197
  299. package/src/services/utils/db-manager.ts +0 -92
  300. package/src/services/utils/get-route.ts +0 -70
  301. package/src/services/utils/log-transport.ts +0 -75
  302. package/src/services/utils/log.ts +0 -91
  303. package/src/services/utils/server-interface.ts +0 -172
  304. package/src/services/utils/websocketmanager.ts +0 -149
  305. package/src/types/@esbuild.d.ts +0 -1
  306. package/src/types/@miqro/core.d.ts +0 -2
  307. package/src/types/@miqro/jsx.d.ts +0 -2
  308. package/src/types/@miqro/parser.d.ts +0 -2
  309. package/src/types/@miqro/query.d.ts +0 -2
  310. package/src/types/@miqro/request.d.ts +0 -2
  311. package/src/types/@miqro/test.d.ts +0 -2
  312. package/src/types/@miqro.d.ts +0 -1
  313. package/src/types/@types.d.ts +0 -1
  314. package/src/types/browser.globals.d.ts +0 -9
  315. package/src/types/globals.d.ts +0 -2
  316. package/src/types/jsx.globals.d.ts +0 -37
  317. package/src/types/miqro.d.ts +0 -111
  318. package/src/types/postject.d.ts +0 -1
  319. package/src/types/server.globals.d.ts +0 -72
  320. package/src/types.ts +0 -204
  321. /package/{editor/http/admin/editor → build}/font.ttf +0 -0
  322. /package/{editor/http/admin/editor → build}/style.css +0 -0
@@ -1,101 +0,0 @@
1
- import { APIRoute, Handler, HandlerWithOptions, Router, RouterHandlerOptions, SessionHandler } from "@miqro/core";
2
- import { getAsset } from "../common/assets.js";
3
-
4
- import { BASEEDITOR_PATH } from "../../editor/common/constants.js";
5
- import EDITOR_AUTH from "../../editor/auth.js";
6
-
7
- /*import writeAPI from "../../editor/http/admin/editor/api/fs/write.api.js";
8
- import renameAPI from "../../editor/http/admin/editor/api/fs/rename.api.js";
9
- import deleteAPI from "../../editor/http/admin/editor/api/fs/delete.api.js";
10
- import readAPI from "../../editor/http/admin/editor/api/fs/read.api.js";
11
- import scanAPI from "../../editor/http/admin/editor/api/fs/scan.api.js";
12
- import restartAPI from "../../editor/http/admin/editor/api/server/restart.api.js";
13
- import reloadAPI from "../../editor/http/admin/editor/api/server/reload.api.js";*/
14
-
15
- import { AdminRequest, EditorAdminInterface } from "../../editor/common/admin-interface.js";
16
- import { CONTENT_TYPE_MAP } from "../common/content-type.js";
17
-
18
- export async function createEditorRouter(adminInterface: EditorAdminInterface): Promise<Router> {
19
- const router = new Router();
20
- const innerRouter = new Router();
21
-
22
- innerRouter.use(async (req: AdminRequest, res) => {
23
- res.setHeader("x-uuid", req.uuid);
24
- req.editor = adminInterface;
25
- });
26
-
27
- const editorFont = Buffer.from(getAsset("editor-assets/font.ttf"));
28
- const editorJS = Buffer.from(getAsset("editor-assets/editor.bundle.js")).toString().trim();
29
- const editorCSS = Buffer.from(getAsset("editor-assets/style.css")).toString().trim().split("\n").map(l => l.trim()).filter(l => l).join("");
30
-
31
- const writeAPI = (await import("../../editor/http/admin/editor/api/fs/write.api.js")).default;
32
- const renameAPI = (await import("../../editor/http/admin/editor/api/fs/rename.api.js")).default;
33
- const deleteAPI = (await import("../../editor/http/admin/editor/api/fs/delete.api.js")).default;
34
- const readAPI = (await import("../../editor/http/admin/editor/api/fs/read.api.js")).default;
35
- const scanAPI = (await import("../../editor/http/admin/editor/api/fs/scan.api.js")).default;
36
- const restartAPI = (await import("../../editor/http/admin/editor/api/server/restart.api.js")).default;
37
- const reloadAPI = (await import("../../editor/http/admin/editor/api/server/reload.api.js")).default;
38
-
39
- const authHandler = SessionHandler(EDITOR_AUTH);
40
-
41
- const { EditorIndex } = await import("../../editor/common/editor-index.js");
42
-
43
- innerRouter.use(authHandler);
44
-
45
- innerRouter.post(`/api/fs/write`, getHandler(/*authHandler, */writeAPI));
46
-
47
- innerRouter.post(`/api/fs/rename`, getHandler(/*authHandler, */renameAPI));
48
-
49
- innerRouter.post(`/api/fs/read`, getHandler(/*authHandler, */readAPI));
50
-
51
- innerRouter.post(`/api/fs/delete`, getHandler(/*authHandler, */deleteAPI));
52
-
53
- innerRouter.get(`/api/fs/scan`, getHandler(/*authHandler, */scanAPI));
54
-
55
- innerRouter.post(`/api/server/restart`, getHandler(/*authHandler, */restartAPI));
56
-
57
- innerRouter.post(`/api/server/reload`, getHandler(/*authHandler, */reloadAPI));
58
-
59
- innerRouter.get(`/font.ttf`, async (_req, res) => {
60
- return await res.asyncEnd({
61
- status: 200,
62
- headers: {
63
- ["Content-Type"]: CONTENT_TYPE_MAP[".ttf"]
64
- },
65
- body: editorFont
66
- })
67
- });
68
-
69
- innerRouter.get("/", EditorIndex(editorCSS, editorJS, false));
70
-
71
-
72
-
73
- innerRouter.use(async (req: AdminRequest, res) => {
74
- delete req.editor;
75
- });
76
-
77
- router.use(innerRouter, BASEEDITOR_PATH);
78
-
79
- return router;
80
- }
81
-
82
- function getHandlerOptions(router: APIRoute): RouterHandlerOptions {
83
- return {
84
- description: router.description,
85
- //handler: router,
86
- middleware: router.middleware,
87
- request: router.request,
88
- response: router.response,
89
- };
90
- }
91
-
92
- function getHandler(/*auth: Handler, */router: APIRoute): HandlerWithOptions {
93
- /*const ret = new Router();
94
- ret.use(auth);
95
- ret.use(router.handler, undefined, undefined, getHandlerOptions(router));
96
- return ret;*/
97
- return {
98
- ...getHandlerOptions(router),
99
- handler: router.handler as Handler
100
- }
101
- }
@@ -1,143 +0,0 @@
1
- //@ts-ignore
2
- import { ReadBuffer, URLEncodedParser, JSONParser, TextParser, CORS, SessionHandler } from "@miqro/core";
3
- import { strictEqual } from "node:assert";
4
- import { HTMLEncode } from "@miqro/jsx-node";
5
- import { createElement as realCreateElement, enableDebugLog, useRuntime, Link, Router, usePathname, Fragment, useEffect, useRef, useState, useQuery, useRefresh, useElement, createContext, useContext, Component, Props } from "@miqro/jsx";
6
-
7
- import { jsx2HTML } from "../common/jsx.js";
8
- import { inflateMD2HTML } from "../inflate/md.js";
9
- import { EXIT_CODES } from "../common/constants.js";
10
- import { ServerGlobal } from "../lib.js";
11
-
12
- /*const globaljsx: any = Object.freeze({
13
- useContext,
14
- useRuntime,
15
- createContext,
16
- useState,
17
- useEffect,
18
- useQuery,
19
- useRef,
20
- useElement,
21
- useRefresh,
22
- Link,
23
- Router,
24
- usePathname
25
- });*/
26
- const globalJSX: any = Object.freeze({
27
- createElement: (...args: [tag: string | Component | typeof Fragment, attributes: Props | null | undefined, ...children: Array<any>]) => {
28
- const ret = realCreateElement(...args);
29
- ret.toString = () => jsx2HTML(ret)
30
- return ret;
31
- },
32
- Fragment,
33
- enableDebugLog
34
- });
35
- const globaljsx: any = Object.freeze({
36
- useContext,
37
- useRuntime,
38
- createContext,
39
- useState,
40
- useEffect,
41
- useQuery,
42
- useRef,
43
- useElement,
44
- useRefresh,
45
- Link,
46
- Router,
47
- usePathname,
48
- define: function define() {
49
- /*const callSites = getCallSite();
50
- const caller = callSites[2];
51
- if (CLEAR_JSX_CACHE) {
52
- const scriptName = basename(caller.scriptName);
53
- const originalName = scriptName.substring(0, scriptName.length - ".mjs".length);
54
- //server.logger.debug("browser.define not available server side!");
55
- //server.logger.trace("browser.define not available server side! %s", originalName);
56
- } else {
57
- //server.logger.debug("browser.define not available server side!");
58
- //server.logger.trace("browser.define not available server side! %s:%s:%s", caller.scriptName, caller.lineNumber, caller.column);
59
- }*/
60
- }
61
- });
62
- const globalWindow: any = Object.freeze({
63
- addEventListener: function define() {
64
- /*const callSites = getCallSite();
65
- const caller = callSites[2];
66
- if (CLEAR_JSX_CACHE) {
67
- const scriptName = basename(caller.scriptName);
68
- //server.logger.debug("window.addEventListener not available server side!");
69
- server.logger.trace("window.addEventListener not available server side! %s", scriptName.substring(0, scriptName.length - ".mjs".length));
70
- } else {
71
- //server.logger.debug("window.addEventListener not available server side!");
72
- server.logger.trace("window.addEventListener not available server side! %s:%s:%s", caller.scriptName, caller.lineNumber, caller.column);
73
- }*/
74
- }
75
- });
76
- const globalServer: ServerGlobal = Object.freeze<ServerGlobal>({
77
- middleware: Object.freeze({
78
- buffer: ReadBuffer,
79
- url: URLEncodedParser,
80
- json: JSONParser,
81
- text: TextParser,
82
- cors: CORS,
83
- session: SessionHandler
84
- }),
85
- encodeHTML: HTMLEncode,
86
- inflateMDtoHTML: inflateMD2HTML
87
- }) as ServerGlobal;
88
-
89
- export function browserJSXGlobals(inFile: string, jsxPath: string | false = false, useExport = true): string {
90
- const PRE = `import { enableDebugLog, useRuntime, Link, usePathname, createContext, useContext, useElement, useRefresh, useQuery, define, Router, useState, useEffect, useRef, createElement, Fragment } from "${jsxPath}";
91
- globalThis.JSX = Object.freeze({
92
- createElement,
93
- Fragment,
94
- enableDebugLog
95
- });
96
-
97
- globalThis.newParser = () => new Parser();
98
- globalThis.jsx = Object.freeze({
99
- define,
100
- useRuntime,
101
- createContext,
102
- useContext,
103
- useState,
104
- useEffect,
105
- useQuery,
106
- useRef,
107
- useElement,
108
- useRefresh,
109
- usePathname,
110
- Link,
111
- Router
112
- });`;
113
- return `${jsxPath ? PRE : ""}\n${useExport ? `export * from "${inFile}";import * as lib from "${inFile}";export default lib.default;` : `import * as lib from "${inFile}"`}`;
114
- }
115
-
116
- export function initGlobals() {//webSocketManager: WebSocketManager, dbManager: DBManager) {
117
- //const logger = getLogger(SERVER_IDENTIFIER);
118
- globalThis.server = globalServer;
119
- //globalThis.jsx = globaljsx;
120
- /*for (const key of Object.keys(globaljsx)) {
121
- globalThis[key] = globaljsx[key];
122
- }*/
123
- globalThis.JSX = globalJSX;
124
- globalThis.jsx = globaljsx;
125
- globalThis.window = globalWindow;
126
- }
127
-
128
- export function assertGlobalTampered() {
129
- try {
130
- //strictEqual(globalThis.utils, globalUtils, "globalThis.utils tamperered");
131
- strictEqual(globalThis.JSX, globalJSX, "globalThis.JSX tamperered");
132
- //strictEqual(globalThis.jsx, globaljsx, "globalThis.jsx tamperered");
133
- /*for (const key of Object.keys(globaljsx)) {
134
- strictEqual(globalThis[key], globaljsx[key], "globalThis.jsx tamperered");
135
- }*/
136
- strictEqual(globalThis.server, globalServer, "globalThis.server tamperered");
137
- strictEqual(globalThis.jsx, globaljsx, "globalThis.jsx tamperered");
138
- strictEqual(globalThis.window, globalWindow, "globalThis.window tamperered");
139
- } catch (e) {
140
- console.error(e);
141
- process.exit(EXIT_CODES.GLOBALS_ALTERED);
142
- }
143
- }
@@ -1,48 +0,0 @@
1
- //import { checkEnvVariable } from "@miqro/core";
2
-
3
- import { HOT_RELOAD_PATH } from "../common/constants.js";
4
-
5
- export function getHotReloadScript() {
6
- const HOT_RELOAD_JS_SCRIPT = `
7
- // Create WebSocket connection.
8
-
9
- function getSocket() {
10
- return new WebSocket("${HOT_RELOAD_PATH}");
11
- }
12
-
13
- const socket = getSocket();
14
-
15
- let timeout;
16
-
17
- function tryConnection() {
18
- try {
19
- const newSocket = getSocket();
20
- newSocket.addEventListener("open", (event) => {
21
- console.log("reloading");
22
- window.location.reload();
23
- });
24
- newSocket.addEventListener("error", (err) => {
25
- console.error(err);
26
- timeout = setTimeout(tryConnection, 500);
27
- });
28
- } catch (e) {
29
- console.error(e);
30
- timeout = setTimeout(tryConnection, 500);
31
- }
32
- }
33
-
34
- // Connection closed
35
- socket.addEventListener("close", (event) => {
36
- clearTimeout(timeout);
37
- timeout = setTimeout(tryConnection, 500);
38
- });
39
-
40
- socket.addEventListener("error", (err) => {
41
- console.error(err);
42
- });`;
43
- return `<script>${HOT_RELOAD_JS_SCRIPT}</script>`;
44
- }
45
-
46
- /*export function isHotReloadEnabled() {
47
- return checkEnvVariable("HOT_RELOAD", "0") === "1";
48
- }*/
@@ -1,66 +0,0 @@
1
- import { Logger } from "@miqro/core";
2
- import { Database, DatabaseLogger, migration } from "@miqro/query";
3
- import { dirname, extname, relative, resolve } from "node:path";
4
- import { mkdirSync, writeFileSync } from "node:fs";
5
- import { cwd } from "node:process";
6
-
7
- import { getMigrationsPath } from "../common/paths.js";
8
- import { importJSXFile, inflateJSX } from "../common/jsx.js";
9
-
10
- export async function runMigrations(logger: Logger | undefined, db: Database | null, servicePath: string, service: string, inflateDir: string | undefined | false, migrations: string[]) {
11
- const migrationsFolderPath = getMigrationsPath(servicePath);
12
- if (migrationsFolderPath) {
13
- logger?.debug("running migrations from [%s]", service);
14
- if (!db) {
15
- throw new Error("cannot run migrations with the database disabled!");
16
- }
17
- const serviceMigrations = await migration.up.folder(db as any, migrationsFolderPath, logger as DatabaseLogger, (inFile: string) => importJSXFile(inFile, logger));
18
- migrations.push(...serviceMigrations);
19
-
20
- if (inflateDir) {
21
- for (const migration of serviceMigrations) {
22
- const inflatePath = resolve(inflateDir, service, "migration", migration.substring(0, migration.length - extname(migration).length) + ".js");
23
- mkdirSync(dirname(inflatePath), {
24
- recursive: true
25
- });
26
- logger?.log("writing [%s]", relative(cwd(), inflatePath));
27
- writeFileSync(inflatePath, await inflateJSX(resolve(migrationsFolderPath, migration), {
28
- embemedJSX: false,
29
- minify: false,
30
- useExport: true,
31
- logger
32
- }));
33
- }
34
- }
35
- }
36
- return migrations;
37
- }
38
-
39
- export async function runMigrationsDown(logger: Logger | Console | undefined, db: Database | null, servicePath: string, service: string, inflateDir: string | undefined, migrations: string[]) {
40
- const migrationsFolderPath = getMigrationsPath(servicePath)
41
- if (migrationsFolderPath) {
42
- logger?.debug("running migrations from [%s]", service);
43
- if (!db) {
44
- throw new Error("cannot run migrations with the database disabled!");
45
- }
46
- const serviceMigrations = await migration.down.folder(db as any, migrationsFolderPath, logger as DatabaseLogger, (inFile: string) => importJSXFile(inFile, logger));
47
- migrations.push(...serviceMigrations);
48
-
49
- if (inflateDir) {
50
- for (const migration of serviceMigrations) {
51
- const inflatePath = resolve(inflateDir, service, "migration", migration.substring(0, migration.length - extname(migration).length) + ".js");
52
- mkdirSync(dirname(inflatePath), {
53
- recursive: true
54
- });
55
- logger?.log("writing [%s]", relative(cwd(), inflatePath));
56
- writeFileSync(inflatePath, await inflateJSX(resolve(migrationsFolderPath, migration), {
57
- embemedJSX: false,
58
- minify: false,
59
- useExport: true,
60
- logger
61
- }));
62
- }
63
- }
64
- }
65
- return migrations;
66
- }
@@ -1,37 +0,0 @@
1
- import { EditorAdminInterface } from "../../../editor/common/admin-interface.js";
2
- import { MigrationModule } from "../../inflate/setup-db.js";
3
- import { Miqro } from "../app.js";
4
- import { getHotReloadScript } from "../hot-reload.js";
5
- import { ClusterCache } from "./cluster-cache.js";
6
-
7
- export function createAdminInterface(app: Miqro): EditorAdminInterface {
8
- const adminCache = new ClusterCache("EditorCache[" + app.options.name + "]");
9
- return {
10
- getCache: () => adminCache,
11
- stop: () => app.stop(),
12
- restart: () => app.restart(),
13
- reload: () => app.reload(),
14
- getHotReloadHTML: getHotReloadScript,
15
- getMigrations: () => {
16
- if (app.inflated) {
17
- const ret: MigrationModule[] = [];
18
- for (const db of app.inflated.dbList) {
19
- for (const m of db.migrations) {
20
- ret.push(m);
21
- }
22
- }
23
- return ret;
24
- }
25
- return [];
26
- },
27
- getServices: () => {
28
- return app.options.services;
29
- },
30
- getRouteFileMap: () => {
31
- return app.inflated ? app.inflated.fileMap : {};
32
- },
33
- getInflateErrors: () => {
34
- return app.inflated ? app.inflated.errors : [];
35
- }
36
- }
37
- }
@@ -1,88 +0,0 @@
1
- import { Logger } from "@miqro/core";
2
- import { CacheInterface } from "../../types.js";
3
-
4
- export class LocalCache implements CacheInterface {
5
- private localCache = new Map<string, unknown>();
6
-
7
- constructor(public name: string, public logger?: Logger) {
8
- }
9
-
10
- dispose() {
11
-
12
- }
13
-
14
- get<T = any>(key: string): T | undefined {
15
- this.logger?.trace("get(%s)", key);
16
- return this.localCache.get(key) as T;
17
- }
18
- set(key: string, value: unknown): void {
19
- this.localCache.set(key, value);
20
- this.logger?.trace("set(%s, ...)", key);
21
- }
22
- unset(key: string): void {
23
- this.logger?.trace("unset(%s)", key);
24
- this.localCache.delete(key);
25
- }
26
- has(key: string): boolean {
27
- this.logger?.trace("has(%s)", key);
28
- return this.localCache.has(key);
29
- }
30
-
31
- set_add(key: string, value: unknown): void {
32
- this.logger?.trace("set_add(%s)", key);
33
- const list = this.localCache.has(key) ? this.localCache.get(key) : new Set<string>();
34
- if (!(list instanceof Set)) {
35
- throw new Error("cannot apply on non Set");
36
- }
37
- if (list.has(value)) {
38
- list.add(value);
39
- }
40
- this.localCache.set(key, list);
41
- }
42
- set_delete(key: string, value: unknown): void {
43
- this.logger?.trace("set_delete(%s)", key);
44
- const list = this.localCache.has(key) ? this.localCache.get(key) : new Set<string>();
45
- if (!(list instanceof Set)) {
46
- throw new Error("cannot apply on non Set");
47
- }
48
- if (list.has(value)) {
49
- list.delete(value);
50
- }
51
- this.localCache.set(key, list);
52
- }
53
- set_has(key: string, value: unknown): boolean {
54
- this.logger?.trace("set_has(%s)", key);
55
- const list = this.localCache.has(key) ? this.localCache.get(key) : new Set<string>();
56
- if (!(list instanceof Set)) {
57
- throw new Error("cannot apply on non Set");
58
- }
59
- const ret = list.has(value);
60
- this.localCache.set(key, list);
61
- return ret;
62
- }
63
- set_clear(key: string): void {
64
- this.logger?.trace("set_clear(%s)", key);
65
- const list = this.localCache.has(key) ? this.localCache.get(key) : new Set<string>();
66
- if (!(list instanceof Set)) {
67
- throw new Error("cannot apply on non Set");
68
- }
69
- list.clear();
70
- this.localCache.set(key, list);
71
- }
72
- array_push(key: string, value: unknown): void {
73
- this.logger?.trace("array_push(%s)", key);
74
- const list = this.localCache.has(key) ? this.localCache.get(key) : [];
75
- if (!(list instanceof Array)) {
76
- throw new Error("cannot apply on non Array");
77
- }
78
- list.push(value);
79
- this.localCache.set(key, list);
80
- }
81
- array_clear(key: string): void {
82
- this.logger?.trace("array_clear(%s)", key);
83
- if (this.localCache.has(key) && !(this.localCache.get(key) instanceof Array)) {
84
- throw new Error("cannot apply on non Array");
85
- }
86
- this.localCache.set(key, []);
87
- }
88
- }