miqro 6.0.14 → 6.1.2

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 (318) hide show
  1. package/README.md +12 -0
  2. package/build/editor.bundle.js +37 -50409
  3. package/build/esm/src/bin/compile.js +0 -1
  4. package/build/esm/src/bin/doc-md.js +0 -1
  5. package/build/esm/src/bin/generate-doc.d.ts +3 -1
  6. package/build/esm/src/bin/generate-doc.js +16 -12
  7. package/build/esm/src/bin/test.js +0 -1
  8. package/build/esm/src/bin/types.js +0 -1
  9. package/build/esm/src/cluster.js +0 -1
  10. package/build/esm/src/common/arguments.d.ts +12 -0
  11. package/build/esm/src/common/arguments.js +111 -10
  12. package/build/esm/src/common/assets.js +2 -3
  13. package/build/esm/src/common/checksum.js +0 -1
  14. package/build/esm/src/common/constants.js +0 -1
  15. package/build/esm/src/common/content-type.js +0 -1
  16. package/build/esm/src/common/esbuild.js +0 -1
  17. package/build/esm/src/common/exit.js +0 -1
  18. package/build/esm/src/common/fs.js +0 -1
  19. package/build/esm/src/common/help.d.ts +1 -1
  20. package/build/esm/src/common/help.js +4 -1
  21. package/build/esm/src/common/jsx.d.ts +8 -1
  22. package/build/esm/src/common/jsx.js +84 -2
  23. package/build/esm/src/common/paths.d.ts +4 -0
  24. package/build/esm/src/common/paths.js +41 -2
  25. package/build/esm/src/common/watch.js +0 -1
  26. package/build/esm/src/inflate/inflate-sea.js +27 -16
  27. package/build/esm/src/inflate/inflate.js +2 -1
  28. package/build/esm/src/inflate/md.d.ts +1 -0
  29. package/build/esm/src/inflate/md.js +9 -6
  30. package/build/esm/src/inflate/setup-auth.js +0 -1
  31. package/build/esm/src/inflate/setup-cors.js +0 -1
  32. package/build/esm/src/inflate/setup-db.js +0 -1
  33. package/build/esm/src/inflate/setup-error.d.ts +3 -0
  34. package/build/esm/src/inflate/setup-error.js +40 -0
  35. package/build/esm/src/inflate/setup-http.js +13 -4
  36. package/build/esm/src/inflate/setup-log.js +0 -1
  37. package/build/esm/src/inflate/setup-middleware.d.ts +4 -0
  38. package/build/esm/src/inflate/setup-middleware.js +42 -0
  39. package/build/esm/src/inflate/setup-server-config.js +0 -1
  40. package/build/esm/src/inflate/setup-test.js +0 -1
  41. package/build/esm/src/inflate/setup-ws.js +0 -1
  42. package/build/esm/src/inflate/setup.doc.d.ts +4 -0
  43. package/build/esm/src/inflate/setup.doc.js +62 -0
  44. package/build/esm/src/inflate/utils/sea-utils.js +0 -1
  45. package/build/esm/src/lib.js +0 -1
  46. package/build/esm/src/main.js +3 -4
  47. package/build/esm/src/services/app.d.ts +1 -0
  48. package/build/esm/src/services/app.js +18 -2
  49. package/build/esm/src/services/editor.js +0 -1
  50. package/build/esm/src/services/globals.js +0 -1
  51. package/build/esm/src/services/hot-reload.js +0 -1
  52. package/build/esm/src/services/migrations.js +0 -1
  53. package/build/esm/src/services/utils/admin-interface.js +0 -1
  54. package/build/esm/src/services/utils/cache.js +0 -1
  55. package/build/esm/src/services/utils/cluster-cache.js +0 -1
  56. package/build/esm/src/services/utils/cluster-ws.js +0 -1
  57. package/build/esm/src/services/utils/db-manager.js +0 -1
  58. package/build/esm/src/services/utils/get-route.js +0 -1
  59. package/build/esm/src/services/utils/log-transport.js +0 -1
  60. package/build/esm/src/services/utils/log.js +2 -2
  61. package/build/esm/src/services/utils/server-interface.js +0 -1
  62. package/build/esm/src/services/utils/websocketmanager.js +0 -1
  63. package/build/esm/src/types.d.ts +16 -1
  64. package/build/esm/src/types.js +0 -1
  65. package/build/lib.cjs +890 -322
  66. package/package.json +4 -2
  67. package/sea/types.json +1 -1
  68. package/tsconfig.json +1 -1
  69. package/bin/miqro +0 -34
  70. package/build/esm/editor/auth.d.ts +0 -6
  71. package/build/esm/editor/auth.js +0 -42
  72. package/build/esm/editor/auth.js.map +0 -1
  73. package/build/esm/editor/common/admin-interface.d.ts +0 -36
  74. package/build/esm/editor/common/admin-interface.js +0 -45
  75. package/build/esm/editor/common/admin-interface.js.map +0 -1
  76. package/build/esm/editor/common/constants.d.ts +0 -4
  77. package/build/esm/editor/common/constants.js +0 -21
  78. package/build/esm/editor/common/constants.js.map +0 -1
  79. package/build/esm/editor/common/constants.server.d.ts +0 -2
  80. package/build/esm/editor/common/constants.server.js +0 -5
  81. package/build/esm/editor/common/constants.server.js.map +0 -1
  82. package/build/esm/editor/common/editor-index.d.ts +0 -2
  83. package/build/esm/editor/common/editor-index.js +0 -15
  84. package/build/esm/editor/common/editor-index.js.map +0 -1
  85. package/build/esm/editor/common/html-encode.d.ts +0 -1
  86. package/build/esm/editor/common/html-encode.js +0 -15
  87. package/build/esm/editor/common/html-encode.js.map +0 -1
  88. package/build/esm/editor/common/log-socket.d.ts +0 -15
  89. package/build/esm/editor/common/log-socket.js +0 -71
  90. package/build/esm/editor/common/log-socket.js.map +0 -1
  91. package/build/esm/editor/common/templates.d.ts +0 -11
  92. package/build/esm/editor/common/templates.js +0 -444
  93. package/build/esm/editor/common/templates.js.map +0 -1
  94. package/build/esm/editor/components/api-preview.d.ts +0 -11
  95. package/build/esm/editor/components/api-preview.js +0 -91
  96. package/build/esm/editor/components/api-preview.js.map +0 -1
  97. package/build/esm/editor/components/editor.d.ts +0 -16
  98. package/build/esm/editor/components/editor.js +0 -358
  99. package/build/esm/editor/components/editor.js.map +0 -1
  100. package/build/esm/editor/components/file-browser.d.ts +0 -37
  101. package/build/esm/editor/components/file-browser.js +0 -127
  102. package/build/esm/editor/components/file-browser.js.map +0 -1
  103. package/build/esm/editor/components/file-editor-toolbar.d.ts +0 -22
  104. package/build/esm/editor/components/file-editor-toolbar.js +0 -94
  105. package/build/esm/editor/components/file-editor-toolbar.js.map +0 -1
  106. package/build/esm/editor/components/file-editor.d.ts +0 -32
  107. package/build/esm/editor/components/file-editor.js +0 -60
  108. package/build/esm/editor/components/file-editor.js.map +0 -1
  109. package/build/esm/editor/components/filter-query.d.ts +0 -1
  110. package/build/esm/editor/components/filter-query.js +0 -23
  111. package/build/esm/editor/components/filter-query.js.map +0 -1
  112. package/build/esm/editor/components/highlight-text-area.d.ts +0 -11
  113. package/build/esm/editor/components/highlight-text-area.js +0 -139
  114. package/build/esm/editor/components/highlight-text-area.js.map +0 -1
  115. package/build/esm/editor/components/log-viewer.d.ts +0 -6
  116. package/build/esm/editor/components/log-viewer.js +0 -70
  117. package/build/esm/editor/components/log-viewer.js.map +0 -1
  118. package/build/esm/editor/components/new-file.d.ts +0 -10
  119. package/build/esm/editor/components/new-file.js +0 -118
  120. package/build/esm/editor/components/new-file.js.map +0 -1
  121. package/build/esm/editor/components/scroll-query.d.ts +0 -7
  122. package/build/esm/editor/components/scroll-query.js +0 -22
  123. package/build/esm/editor/components/scroll-query.js.map +0 -1
  124. package/build/esm/editor/components/start-page.d.ts +0 -13
  125. package/build/esm/editor/components/start-page.js +0 -31
  126. package/build/esm/editor/components/start-page.js.map +0 -1
  127. package/build/esm/editor/http/admin/editor/api/fs/delete.api.d.ts +0 -3
  128. package/build/esm/editor/http/admin/editor/api/fs/delete.api.js +0 -30
  129. package/build/esm/editor/http/admin/editor/api/fs/delete.api.js.map +0 -1
  130. package/build/esm/editor/http/admin/editor/api/fs/read.api.d.ts +0 -5
  131. package/build/esm/editor/http/admin/editor/api/fs/read.api.js +0 -50
  132. package/build/esm/editor/http/admin/editor/api/fs/read.api.js.map +0 -1
  133. package/build/esm/editor/http/admin/editor/api/fs/rename.api.d.ts +0 -4
  134. package/build/esm/editor/http/admin/editor/api/fs/rename.api.js +0 -40
  135. package/build/esm/editor/http/admin/editor/api/fs/rename.api.js.map +0 -1
  136. package/build/esm/editor/http/admin/editor/api/fs/scan.api.d.ts +0 -26
  137. package/build/esm/editor/http/admin/editor/api/fs/scan.api.js +0 -150
  138. package/build/esm/editor/http/admin/editor/api/fs/scan.api.js.map +0 -1
  139. package/build/esm/editor/http/admin/editor/api/fs/write.api.d.ts +0 -3
  140. package/build/esm/editor/http/admin/editor/api/fs/write.api.js +0 -39
  141. package/build/esm/editor/http/admin/editor/api/fs/write.api.js.map +0 -1
  142. package/build/esm/editor/http/admin/editor/api/server/reload.api.d.ts +0 -10
  143. package/build/esm/editor/http/admin/editor/api/server/reload.api.js +0 -47
  144. package/build/esm/editor/http/admin/editor/api/server/reload.api.js.map +0 -1
  145. package/build/esm/editor/http/admin/editor/api/server/restart.api.d.ts +0 -10
  146. package/build/esm/editor/http/admin/editor/api/server/restart.api.js +0 -46
  147. package/build/esm/editor/http/admin/editor/api/server/restart.api.js.map +0 -1
  148. package/build/esm/editor/http/admin/editor/editor.d.ts +0 -1
  149. package/build/esm/editor/http/admin/editor/editor.js +0 -8
  150. package/build/esm/editor/http/admin/editor/editor.js.map +0 -1
  151. package/build/esm/editor/http/admin/editor/index.api.d.ts +0 -3
  152. package/build/esm/editor/http/admin/editor/index.api.js +0 -22
  153. package/build/esm/editor/http/admin/editor/index.api.js.map +0 -1
  154. package/build/esm/editor/server.d.ts +0 -3
  155. package/build/esm/editor/server.js +0 -50
  156. package/build/esm/editor/server.js.map +0 -1
  157. package/build/esm/editor/ws.d.ts +0 -3
  158. package/build/esm/editor/ws.js +0 -12
  159. package/build/esm/editor/ws.js.map +0 -1
  160. package/build/esm/src/bin/compile.js.map +0 -1
  161. package/build/esm/src/bin/doc-md.js.map +0 -1
  162. package/build/esm/src/bin/generate-doc.js.map +0 -1
  163. package/build/esm/src/bin/test.js.map +0 -1
  164. package/build/esm/src/bin/types.js.map +0 -1
  165. package/build/esm/src/cluster.js.map +0 -1
  166. package/build/esm/src/common/arguments.js.map +0 -1
  167. package/build/esm/src/common/assets.js.map +0 -1
  168. package/build/esm/src/common/checksum.js.map +0 -1
  169. package/build/esm/src/common/constants.js.map +0 -1
  170. package/build/esm/src/common/content-type.js.map +0 -1
  171. package/build/esm/src/common/esbuild.js.map +0 -1
  172. package/build/esm/src/common/exit.js.map +0 -1
  173. package/build/esm/src/common/fs.js.map +0 -1
  174. package/build/esm/src/common/help.js.map +0 -1
  175. package/build/esm/src/common/jsx.js.map +0 -1
  176. package/build/esm/src/common/paths.js.map +0 -1
  177. package/build/esm/src/common/watch.js.map +0 -1
  178. package/build/esm/src/inflate/inflate-sea.js.map +0 -1
  179. package/build/esm/src/inflate/inflate.js.map +0 -1
  180. package/build/esm/src/inflate/md.js.map +0 -1
  181. package/build/esm/src/inflate/setup-auth.js.map +0 -1
  182. package/build/esm/src/inflate/setup-cors.js.map +0 -1
  183. package/build/esm/src/inflate/setup-db.js.map +0 -1
  184. package/build/esm/src/inflate/setup-http.js.map +0 -1
  185. package/build/esm/src/inflate/setup-log.js.map +0 -1
  186. package/build/esm/src/inflate/setup-server-config.js.map +0 -1
  187. package/build/esm/src/inflate/setup-test.js.map +0 -1
  188. package/build/esm/src/inflate/setup-ws.js.map +0 -1
  189. package/build/esm/src/inflate/utils/sea-utils.js.map +0 -1
  190. package/build/esm/src/lib.js.map +0 -1
  191. package/build/esm/src/main.js.map +0 -1
  192. package/build/esm/src/services/app.js.map +0 -1
  193. package/build/esm/src/services/editor.js.map +0 -1
  194. package/build/esm/src/services/globals.js.map +0 -1
  195. package/build/esm/src/services/hot-reload.js.map +0 -1
  196. package/build/esm/src/services/migrations.js.map +0 -1
  197. package/build/esm/src/services/utils/admin-interface.js.map +0 -1
  198. package/build/esm/src/services/utils/cache.js.map +0 -1
  199. package/build/esm/src/services/utils/cluster-cache.js.map +0 -1
  200. package/build/esm/src/services/utils/cluster-ws.js.map +0 -1
  201. package/build/esm/src/services/utils/db-manager.js.map +0 -1
  202. package/build/esm/src/services/utils/get-route.js.map +0 -1
  203. package/build/esm/src/services/utils/log-transport.js.map +0 -1
  204. package/build/esm/src/services/utils/log.js.map +0 -1
  205. package/build/esm/src/services/utils/server-interface.js.map +0 -1
  206. package/build/esm/src/services/utils/websocketmanager.js.map +0 -1
  207. package/build/esm/src/types.js.map +0 -1
  208. package/editor/auth.ts +0 -51
  209. package/editor/common/admin-interface.ts +0 -84
  210. package/editor/common/constants.server.ts +0 -5
  211. package/editor/common/constants.ts +0 -21
  212. package/editor/common/editor-index.tsx +0 -17
  213. package/editor/common/html-encode.ts +0 -14
  214. package/editor/common/log-socket.tsx +0 -85
  215. package/editor/common/templates.ts +0 -448
  216. package/editor/components/api-preview.tsx +0 -116
  217. package/editor/components/editor.tsx +0 -486
  218. package/editor/components/file-browser.tsx +0 -308
  219. package/editor/components/file-editor-toolbar.tsx +0 -191
  220. package/editor/components/file-editor.tsx +0 -122
  221. package/editor/components/filter-query.tsx +0 -22
  222. package/editor/components/highlight-text-area.tsx +0 -159
  223. package/editor/components/log-viewer.tsx +0 -110
  224. package/editor/components/new-file.tsx +0 -169
  225. package/editor/components/scroll-query.tsx +0 -22
  226. package/editor/components/start-page.tsx +0 -49
  227. package/editor/http/admin/editor/api/fs/delete.api.tsx +0 -32
  228. package/editor/http/admin/editor/api/fs/read.api.tsx +0 -55
  229. package/editor/http/admin/editor/api/fs/rename.api.tsx +0 -41
  230. package/editor/http/admin/editor/api/fs/scan.api.tsx +0 -181
  231. package/editor/http/admin/editor/api/fs/write.api.tsx +0 -41
  232. package/editor/http/admin/editor/api/server/reload.api.ts +0 -53
  233. package/editor/http/admin/editor/api/server/restart.api.tsx +0 -52
  234. package/editor/http/admin/editor/editor.tsx +0 -8
  235. package/editor/http/admin/editor/index.api.tsx +0 -39
  236. package/editor/server.ts +0 -57
  237. package/editor/static/android-chrome-192x192.png +0 -0
  238. package/editor/static/android-chrome-512x512.png +0 -0
  239. package/editor/static/apple-touch-icon.png +0 -0
  240. package/editor/static/editor.bundle.in.mjs +0 -20
  241. package/editor/static/favicon-16x16.png +0 -0
  242. package/editor/static/favicon-32x32.png +0 -0
  243. package/editor/static/favicon.ico +0 -0
  244. package/editor/static/site.webmanifest +0 -19
  245. package/editor/ws.ts +0 -15
  246. package/sea/base64.js +0 -3
  247. package/sea/compile.sh +0 -127
  248. package/sea/copy-types.sh +0 -46
  249. package/sea/editor-assets/editor.bundle.in.mjs +0 -19
  250. package/sea/generate-global-types-asset-json.js +0 -34
  251. package/sea/release-tar.sh +0 -5
  252. package/sea/tsc.sh +0 -1
  253. package/sea/version.tag.js +0 -11
  254. package/src/bin/compile.ts +0 -35
  255. package/src/bin/doc-md.ts +0 -210
  256. package/src/bin/generate-doc.ts +0 -58
  257. package/src/bin/test.ts +0 -92
  258. package/src/bin/types.ts +0 -22
  259. package/src/cluster.ts +0 -27
  260. package/src/common/arguments.ts +0 -382
  261. package/src/common/assets.ts +0 -128
  262. package/src/common/checksum.ts +0 -58
  263. package/src/common/constants.ts +0 -18
  264. package/src/common/content-type.ts +0 -84
  265. package/src/common/esbuild.ts +0 -94
  266. package/src/common/exit.ts +0 -91
  267. package/src/common/fs.ts +0 -17
  268. package/src/common/help.ts +0 -47
  269. package/src/common/jsx.ts +0 -426
  270. package/src/common/paths.ts +0 -117
  271. package/src/common/watch.ts +0 -85
  272. package/src/inflate/inflate-sea.ts +0 -194
  273. package/src/inflate/inflate.ts +0 -96
  274. package/src/inflate/md.ts +0 -20
  275. package/src/inflate/setup-auth.ts +0 -40
  276. package/src/inflate/setup-cors.ts +0 -40
  277. package/src/inflate/setup-db.ts +0 -113
  278. package/src/inflate/setup-http.ts +0 -643
  279. package/src/inflate/setup-log.ts +0 -44
  280. package/src/inflate/setup-server-config.ts +0 -47
  281. package/src/inflate/setup-test.ts +0 -23
  282. package/src/inflate/setup-ws.ts +0 -48
  283. package/src/inflate/utils/sea-utils.ts +0 -14
  284. package/src/lib.ts +0 -19
  285. package/src/main.ts +0 -87
  286. package/src/services/app.ts +0 -640
  287. package/src/services/editor.tsx +0 -101
  288. package/src/services/globals.ts +0 -143
  289. package/src/services/hot-reload.ts +0 -48
  290. package/src/services/migrations.ts +0 -66
  291. package/src/services/utils/admin-interface.ts +0 -37
  292. package/src/services/utils/cache.ts +0 -88
  293. package/src/services/utils/cluster-cache.ts +0 -230
  294. package/src/services/utils/cluster-ws.ts +0 -197
  295. package/src/services/utils/db-manager.ts +0 -92
  296. package/src/services/utils/get-route.ts +0 -70
  297. package/src/services/utils/log-transport.ts +0 -75
  298. package/src/services/utils/log.ts +0 -91
  299. package/src/services/utils/server-interface.ts +0 -172
  300. package/src/services/utils/websocketmanager.ts +0 -149
  301. package/src/types/@esbuild.d.ts +0 -1
  302. package/src/types/@miqro/core.d.ts +0 -2
  303. package/src/types/@miqro/jsx.d.ts +0 -2
  304. package/src/types/@miqro/parser.d.ts +0 -2
  305. package/src/types/@miqro/query.d.ts +0 -2
  306. package/src/types/@miqro/request.d.ts +0 -2
  307. package/src/types/@miqro/test.d.ts +0 -2
  308. package/src/types/@miqro.d.ts +0 -1
  309. package/src/types/@types.d.ts +0 -1
  310. package/src/types/browser.globals.d.ts +0 -9
  311. package/src/types/globals.d.ts +0 -2
  312. package/src/types/jsx.globals.d.ts +0 -37
  313. package/src/types/miqro.d.ts +0 -111
  314. package/src/types/postject.d.ts +0 -1
  315. package/src/types/server.globals.d.ts +0 -72
  316. package/src/types.ts +0 -204
  317. /package/{editor/http/admin/editor → build}/font.ttf +0 -0
  318. /package/{editor/http/admin/editor → build}/style.css +0 -0
@@ -1,7 +1,7 @@
1
1
  import { chmodSync, constants, mkdirSync, writeFileSync } from "node:fs";
2
2
  import { dirname, extname, join, relative, resolve } from "node:path";
3
3
  import { cwd, platform } from "node:process";
4
- import { getAuthConfigPath, getCORSConfigPath, getDBConfigPath, getMigrationsPath, getServerConfigPath, getServicePath, getWSConfigPath } from "../common/paths.js";
4
+ import { getAuthConfigPath, getCORSConfigPath, getDBConfigPath, getErrorConfigPath, getMiddlewareConfigPath, getMigrationsPath, getServerConfigPath, getWSConfigPath } from "../common/paths.js";
5
5
  import { getAsset } from "../common/assets.js";
6
6
  import { migration } from "@miqro/query";
7
7
  //export const libCJSBuffer = Buffer.from(getAsset("lib.cjs"));
@@ -83,20 +83,9 @@ async function main() {
83
83
  ${SERVERCONFIGLIST ? `\n await Promise.all([${SERVERCONFIGLIST}].filter(config=>config.preload).map(config=>config.preload(serverInterface)));\n` : ""}
84
84
  app.use(ServerRequestHandler(serverInterface));
85
85
  app.use(LoggerHandler());
86
- ${services.map(service => {
87
- const servicePath = getServicePath(service);
88
- return `${getCORSConfigPath(servicePath) ? `app.use(server.middleware.cors((await import("../${service}/cors.js")).default));` : ""}`;
89
- })}
90
- ${services.map(service => {
91
- const servicePath = getServicePath(service);
92
- return `${getAuthConfigPath(servicePath) ? `app.use(server.middleware.session((await import("../${service}/auth.js")).default));` : ""}`;
93
- })}
94
- ${services.map(service => `
95
- app.use(await (await import("./${join(service, "api-router.js")}")).setupRouter());
96
- app.use(await (await import("./${join(service, "static-router.js")}")).setupRouter())`).join("\n")}
86
+ ${services.map(service => `app.use(await (await import("./${join(service, "router.js")}")).setupRouter());`).join("\n")}
97
87
  ${SERVERCONFIGLIST ? `\n await Promise.all([${SERVERCONFIGLIST}].filter(config=>config.load).map(config=>config.load(serverInterface)));\n` : ""}
98
88
 
99
-
100
89
  await app.listen(PORT);
101
90
  ${SERVERCONFIGLIST ? `\n await Promise.all([${SERVERCONFIGLIST}].filter(config=>config.start).map(config=>config.start(serverInterface)));` : ""}
102
91
  }
@@ -106,10 +95,25 @@ main().catch(e=>console.error(e));
106
95
  export async function inflateServiceForSea(logger, inflateDir, service, servicePath /*, serviceMigrations: string[]*/, serviceRouteFileMap, serviceStaticFileMap) {
107
96
  const migrationsFolderPath = getMigrationsPath(servicePath);
108
97
  const serviceMigrations = migrationsFolderPath ? migration.getSortedMigrations(migrationsFolderPath) : [];
109
- writeFile(logger, join(inflateDir, "sea", service, "api-router.js"), `import { appendAPIModule, Router } from "./../lib.cjs";\n
98
+ writeFile(logger, join(inflateDir, "sea", service, "router.js"), `import { appendAPIModule, Router } from "./../lib.cjs";\n
110
99
  export async function setupRouter() {
111
100
  const router = new Router();
112
-
101
+ ${getErrorConfigPath(servicePath) ? `
102
+ const errorConfig = (await import("../../${service}/catch.js")).default;
103
+ if(errorConfig && errorConfig.catch) {
104
+ for(const m of errorConfig.catch) {
105
+ router.catch(m);
106
+ }
107
+ }` : ""}
108
+ ${getCORSConfigPath(servicePath) ? ` router.use(server.middleware.cors((await import("../../${service}/cors.js")).default));` : ""}
109
+ ${getAuthConfigPath(servicePath) ? ` router.use(server.middleware.session((await import("../../${service}/auth.js")).default));` : ""}
110
+ ${getMiddlewareConfigPath(servicePath) ? `
111
+ const middlewareConfig = (await import("../../${service}/middleware.js")).default;
112
+ if(middlewareConfig && middlewareConfig.middleware) {
113
+ for(const m of middlewareConfig.middleware) {
114
+ router.use(m);
115
+ }
116
+ }` : ""}
113
117
  ${Object.keys(serviceRouteFileMap)
114
118
  .map(filePath => serviceRouteFileMap[filePath])
115
119
  .filter(data => data.previewMethod === "api")
@@ -124,7 +128,15 @@ ${Object.keys(serviceRouteFileMap)
124
128
  }
125
129
  }).filter(l => l)[0])
126
130
  .join("\n")}
131
+ router.use(await (await import("./static-router.js")).setupRouter())
127
132
 
133
+ ${getMiddlewareConfigPath(servicePath) ? `
134
+ if(middlewareConfig && middlewareConfig.post) {
135
+ for(const m of middlewareConfig.post) {
136
+ router.use(m);
137
+ }
138
+ }` : ""}
139
+
128
140
  return router;
129
141
  }`);
130
142
  writeFile(logger, join(inflateDir, "sea", service, "migration-up.js"), `import { migration } from "./../lib.cjs";\n
@@ -173,4 +185,3 @@ function writeFile(logger, path, buffer) {
173
185
  });
174
186
  writeFileSync(path, buffer);
175
187
  }
176
- //# sourceMappingURL=inflate-sea.js.map
@@ -7,6 +7,7 @@ import { getServicePath } from "../common/paths.js";
7
7
  import { inflateWSConfig } from "./setup-ws.js";
8
8
  import { inflateAppForSea, inflateServiceForSea } from "./inflate-sea.js";
9
9
  import { setupLogConfig } from "./setup-log.js";
10
+ import { setupDoc } from "./setup.doc.js";
10
11
  export async function inflateApp({ serverInterface, logger, hotreload, services /*, dbManager*/, inflateDir, inflateSea /*, editor, inflateTests*/ }) {
11
12
  logger.trace("inflateApp");
12
13
  const errors = [];
@@ -47,6 +48,7 @@ export async function inflateApp({ serverInterface, logger, hotreload, services
47
48
  ...routeFileMap,
48
49
  ...serviceRouteFileMap
49
50
  };
51
+ await setupDoc(logger, servicePath, service, router, routeFileMap, inflateDir, errors);
50
52
  await inflateWSConfig(logger, servicePath, service, wsConfigList, inflateSea ? inflateDir : undefined, errors);
51
53
  //await setupServerConfig(logger, servicePath, service, serverConfigMap, inflateSea ? inflateDir : undefined, errors);
52
54
  if (inflateDir && inflateSea) {
@@ -62,4 +64,3 @@ export async function inflateApp({ serverInterface, logger, hotreload, services
62
64
  router.use(assertGlobalTampered);
63
65
  return errors.length === 0 ? [router, null, routeFileMap /*, migrations*/, wsConfigList /*, serverConfigMap*/, logConfigMap] : [router, errors, routeFileMap /*, migrations*/, wsConfigList /*, serverConfigMap*/, logConfigMap];
64
66
  }
65
- //# sourceMappingURL=inflate.js.map
@@ -1,2 +1,3 @@
1
1
  import { Logger } from "@miqro/core";
2
2
  export declare function inflateMD2HTML(inFile: string, logger?: Logger): string;
3
+ export declare function inflateMDString2HTML(text: string, logger?: Logger): string;
@@ -2,12 +2,8 @@ import * as showdown from "showdown";
2
2
  import { readFileSync } from "node:fs";
3
3
  export function inflateMD2HTML(inFile, logger) {
4
4
  try {
5
- const converter = new showdown.default.Converter();
6
- converter.setFlavor('github');
7
- /*converter.setOption("tables", true);
8
- converter.setOption("rawHeaderId", true);*/
9
5
  const text = readFileSync(inFile).toString();
10
- const html = converter.makeHtml(text);
6
+ const html = inflateMDString2HTML(text);
11
7
  return html;
12
8
  }
13
9
  catch (e) {
@@ -16,4 +12,11 @@ export function inflateMD2HTML(inFile, logger) {
16
12
  throw e;
17
13
  }
18
14
  }
19
- //# sourceMappingURL=md.js.map
15
+ export function inflateMDString2HTML(text, logger) {
16
+ const converter = new showdown.default.Converter();
17
+ converter.setFlavor('github');
18
+ /*converter.setOption("tables", true);
19
+ converter.setOption("rawHeaderId", true);*/
20
+ const html = converter.makeHtml(text);
21
+ return html;
22
+ }
@@ -35,4 +35,3 @@ export async function setupAUTH(logger, servicePath, service, mainRouter, inflat
35
35
  }
36
36
  }
37
37
  }
38
- //# sourceMappingURL=setup-auth.js.map
@@ -35,4 +35,3 @@ export async function setupCORS(logger, servicePath, service, mainRouter, inflat
35
35
  }
36
36
  }
37
37
  }
38
- //# sourceMappingURL=setup-cors.js.map
@@ -96,4 +96,3 @@ export async function inflateDBMigrations(logger, service, dbName, inflateDir, e
96
96
  }
97
97
  return false;
98
98
  }
99
- //# sourceMappingURL=setup-db.js.map
@@ -0,0 +1,3 @@
1
+ import { Logger, Router } from "@miqro/core";
2
+ import { InflateError } from "../common/jsx.js";
3
+ export declare function setupError(logger: Logger, servicePath: string, service: string, mainRouter: Router, inflateDir: string | undefined | false, inflateSea: boolean, errors: InflateError[]): Promise<void>;
@@ -0,0 +1,40 @@
1
+ import { importErrorConfigModule, inflateJSX } from "../common/jsx.js";
2
+ import { getErrorConfigPath } from "../common/paths.js";
3
+ import { basename, dirname, join, relative, resolve } from "node:path";
4
+ import { mkdirSync, writeFileSync } from "node:fs";
5
+ import { cwd } from "node:process";
6
+ export async function setupError(logger, servicePath, service, mainRouter, inflateDir, inflateSea, errors) {
7
+ const errorPath = getErrorConfigPath(servicePath); //resolve(process.cwd(), service, "auth.ts");
8
+ if (errorPath) {
9
+ try {
10
+ const errorModule = await importErrorConfigModule(errorPath, logger);
11
+ logger.debug("setting up error handling from [%s]", join(service, basename(errorPath)));
12
+ if (errorModule && errorModule.catch) {
13
+ for (const m of errorModule.catch) {
14
+ mainRouter.catch(m);
15
+ }
16
+ }
17
+ if (inflateDir && inflateSea) {
18
+ const inflatePath = resolve(inflateDir, service, "catch.js");
19
+ mkdirSync(dirname(inflatePath), {
20
+ recursive: true
21
+ });
22
+ logger.log("writing [%s]", relative(cwd(), inflatePath));
23
+ writeFileSync(inflatePath, await inflateJSX(errorPath, {
24
+ embemedJSX: false,
25
+ minify: false,
26
+ useExport: true,
27
+ logger
28
+ }));
29
+ }
30
+ }
31
+ catch (e) {
32
+ errors.push({
33
+ filePath: errorPath,
34
+ error: e
35
+ });
36
+ logger.error("error with " + errorPath);
37
+ logger.error(e);
38
+ }
39
+ }
40
+ }
@@ -13,12 +13,17 @@ import { setupAUTH } from "./setup-auth.js";
13
13
  import { getRoutes } from "../services/utils/get-route.js";
14
14
  import { describeFilePath } from "../common/fs.js";
15
15
  import { inflateMD2HTML } from "./md.js";
16
+ import { setupMiddleware } from "./setup-middleware.js";
17
+ import { setupError } from "./setup-error.js";
16
18
  export async function setupHTTPRouter(server, logger, hotreload, servicePath, service, routeFileMap, staticFileMap, inflateDir, inflateSea, errors) {
17
19
  const mainRouter = new Router();
18
20
  const apiRouterPath = getHTTPRouterPath(servicePath); //resolve(process.cwd(), service, "http");
21
+ let middlewareConfig = null;
22
+ await setupError(logger, servicePath, service, mainRouter, inflateDir, inflateSea, errors);
23
+ await setupCORS(logger, servicePath, service, mainRouter, inflateDir, inflateSea, errors);
24
+ await setupAUTH(logger, servicePath, service, mainRouter, inflateDir, inflateSea, errors);
25
+ middlewareConfig = await setupMiddleware(logger, servicePath, service, mainRouter, inflateDir, inflateSea, errors);
19
26
  if (apiRouterPath) {
20
- await setupCORS(logger, servicePath, service, mainRouter, inflateDir, inflateSea, errors);
21
- await setupAUTH(logger, servicePath, service, mainRouter, inflateDir, inflateSea, errors);
22
27
  logger.trace("setting up http routes from [%s]", service);
23
28
  const { router: httpRouter } = await createRouterFromDirectory(server, hotreload, service, logger, apiRouterPath, errors, routeFileMap, staticFileMap, inflateDir, inflateSea);
24
29
  mainRouter.use(httpRouter);
@@ -29,6 +34,11 @@ export async function setupHTTPRouter(server, logger, hotreload, servicePath, se
29
34
  const staticRouter = createStaticRouterFromDirectory(service, logger, staticFilesPath, inflateDir, routeFileMap, staticFileMap);
30
35
  mainRouter.use(staticRouter);
31
36
  }
37
+ if (middlewareConfig && middlewareConfig.post) {
38
+ for (const m of middlewareConfig.post) {
39
+ mainRouter.use(m);
40
+ }
41
+ }
32
42
  return mainRouter;
33
43
  }
34
44
  function createStaticRoute(service, logger, router, dir, file, inflateDir, routeFileMap, staticFileMap) {
@@ -508,7 +518,7 @@ async function createRouterFromDirectory(server, hotreload, service, logger, dir
508
518
  };
509
519
  }
510
520
  export function scanFiles(path, ret = []) {
511
- const files = readdirSync(path);
521
+ const files = readdirSync(path).sort();
512
522
  for (const file of files) {
513
523
  const filePath = pathResolve(path, file);
514
524
  if (statSync(filePath).isDirectory()) {
@@ -540,4 +550,3 @@ async function getJSON(req, res, url, basePath, out) {
540
550
  const toRender = await (typeof out === "function" ? out(req, res) : out);
541
551
  return JSON.stringify(toRender, undefined, 2);
542
552
  }
543
- //# sourceMappingURL=setup-http.js.map
@@ -34,4 +34,3 @@ export async function setupLogConfig(logger, servicePath, service, logConfigMap,
34
34
  }
35
35
  }
36
36
  }
37
- //# sourceMappingURL=setup-log.js.map
@@ -0,0 +1,4 @@
1
+ import { Logger, Router } from "@miqro/core";
2
+ import { InflateError } from "../common/jsx.js";
3
+ import { MiddlewareConfig } from "../types.js";
4
+ export declare function setupMiddleware(logger: Logger, servicePath: string, service: string, mainRouter: Router, inflateDir: string | undefined | false, inflateSea: boolean, errors: InflateError[]): Promise<MiddlewareConfig | null>;
@@ -0,0 +1,42 @@
1
+ import { importMiddlewareConfigModule, inflateJSX } from "../common/jsx.js";
2
+ import { getMiddlewareConfigPath } from "../common/paths.js";
3
+ import { basename, dirname, join, relative, resolve } from "node:path";
4
+ import { mkdirSync, writeFileSync } from "node:fs";
5
+ import { cwd } from "node:process";
6
+ export async function setupMiddleware(logger, servicePath, service, mainRouter, inflateDir, inflateSea, errors) {
7
+ const middlewarePath = getMiddlewareConfigPath(servicePath); //resolve(process.cwd(), service, "auth.ts");
8
+ if (middlewarePath) {
9
+ try {
10
+ const middewareModule = await importMiddlewareConfigModule(middlewarePath, logger);
11
+ logger.debug("setting up middleware from [%s]", join(service, basename(middlewarePath)));
12
+ if (middewareModule && middewareModule.middleware) {
13
+ for (const m of middewareModule.middleware) {
14
+ mainRouter.use(m);
15
+ }
16
+ }
17
+ if (inflateDir && inflateSea) {
18
+ const inflatePath = resolve(inflateDir, service, "middleware.js");
19
+ mkdirSync(dirname(inflatePath), {
20
+ recursive: true
21
+ });
22
+ logger.log("writing [%s]", relative(cwd(), inflatePath));
23
+ writeFileSync(inflatePath, await inflateJSX(middlewarePath, {
24
+ embemedJSX: false,
25
+ minify: false,
26
+ useExport: true,
27
+ logger
28
+ }));
29
+ }
30
+ return middewareModule;
31
+ }
32
+ catch (e) {
33
+ errors.push({
34
+ filePath: middlewarePath,
35
+ error: e
36
+ });
37
+ logger.error("error with " + middlewarePath);
38
+ logger.error(e);
39
+ }
40
+ }
41
+ return null;
42
+ }
@@ -34,4 +34,3 @@ export async function setupServerConfig(logger, servicePath, service, serverConf
34
34
  }
35
35
  }
36
36
  }
37
- //# sourceMappingURL=setup-server-config.js.map
@@ -19,4 +19,3 @@ export async function setupTests(logger, servicePath) {
19
19
  return Promise.resolve();
20
20
  }));
21
21
  }
22
- //# sourceMappingURL=setup-test.js.map
@@ -43,4 +43,3 @@ export async function inflateWSConfig(logger, servicePath, service, wsConfigList
43
43
  }
44
44
  }
45
45
  }
46
- //# sourceMappingURL=setup-ws.js.map
@@ -0,0 +1,4 @@
1
+ import { Logger, Router } from "@miqro/core";
2
+ import { InflateError } from "../common/jsx.js";
3
+ import { RouteFileMap } from "./setup-http.js";
4
+ export declare function setupDoc(logger: Logger, servicePath: string, service: string, mainRouter: Router, fileMap: RouteFileMap, inflateDir: string | undefined | false, errors: InflateError[]): Promise<any>;
@@ -0,0 +1,62 @@
1
+ import { importDocConfigModule } from "../common/jsx.js";
2
+ import { getDocConfigPath } from "../common/paths.js";
3
+ import { basename, dirname, join, relative } from "node:path";
4
+ import { mkdirSync, writeFileSync } from "node:fs";
5
+ import { cwd } from "node:process";
6
+ import { getDocOutput } from "../bin/generate-doc.js";
7
+ import { CONTENT_TYPE_MAP } from "../common/content-type.js";
8
+ export async function setupDoc(logger, servicePath, service, mainRouter, fileMap, inflateDir, errors) {
9
+ const docPath = getDocConfigPath(servicePath); //resolve(process.cwd(), service, "auth.ts");
10
+ if (docPath) {
11
+ try {
12
+ const docModule = await importDocConfigModule(docPath, logger);
13
+ logger.debug("setting up error handling from [%s]", join(service, basename(docPath)));
14
+ if (docModule && docModule.publish) {
15
+ const paths = Object.keys(docModule.publish);
16
+ for (const path of paths) {
17
+ const config = docModule.publish[path];
18
+ const body = await getDocOutput(mainRouter, fileMap, config.all, config.type);
19
+ mainRouter.get(path, async (_, res) => {
20
+ switch (config.type) {
21
+ case "MD": {
22
+ const contentType = CONTENT_TYPE_MAP[".md"];
23
+ return await res.asyncEnd({
24
+ headers: {
25
+ "content-type": contentType
26
+ },
27
+ status: 200,
28
+ body
29
+ });
30
+ }
31
+ case "JSON": {
32
+ return await res.json(body);
33
+ }
34
+ case "HTML": {
35
+ return await res.html(body);
36
+ }
37
+ default:
38
+ return true;
39
+ }
40
+ });
41
+ if (inflateDir) {
42
+ const inflatePath = join(inflateDir, service, "static", path);
43
+ mkdirSync(dirname(inflatePath), {
44
+ recursive: true
45
+ });
46
+ logger.log("writing [%s]", relative(cwd(), inflatePath));
47
+ writeFileSync(inflatePath, body);
48
+ }
49
+ }
50
+ }
51
+ }
52
+ catch (e) {
53
+ errors.push({
54
+ filePath: docPath,
55
+ error: e
56
+ });
57
+ logger.error("error with " + docPath);
58
+ logger.error(e);
59
+ }
60
+ }
61
+ return null;
62
+ }
@@ -10,4 +10,3 @@ export async function appendAPIModule(router, dir, filePath, module) {
10
10
  router.use(module.handler, r.path, r.method, r.options);
11
11
  }
12
12
  }
13
- //# sourceMappingURL=sea-utils.js.map
@@ -14,4 +14,3 @@ export { appendAPIModule } from "./inflate/utils/sea-utils.js";
14
14
  export { ServerInterfaceImpl } from "./services/utils/server-interface.js";
15
15
  export { App, LoggerHandler, Router } from "@miqro/core";
16
16
  export { migration } from "@miqro/query";
17
- //# sourceMappingURL=lib.js.map
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { getPORT, parseArguments } from "./common/arguments.js";
2
+ import { parseArguments } from "./common/arguments.js";
3
3
  import { EXIT_CODES } from "./common/constants.js";
4
4
  import { testMain } from "./bin/test.js";
5
5
  import { compileSH } from "./bin/compile.js";
@@ -16,8 +16,8 @@ async function main(args) {
16
16
  else {
17
17
  const app = new Miqro({
18
18
  editor: args.editor,
19
- name: "server",
20
- port: args.test ? TEST_SOCKET : getPORT(),
19
+ name: args.name ? args.name : undefined,
20
+ port: args.test ? TEST_SOCKET : args.port,
21
21
  services: args.services,
22
22
  hotreload: args.test ? false : args.hotreload
23
23
  });
@@ -89,4 +89,3 @@ catch (e) {
89
89
  console.error(e.message);
90
90
  process.exit(EXIT_CODES.ABNORMAL);
91
91
  }
92
- //# sourceMappingURL=main.js.map
@@ -64,6 +64,7 @@ export declare class Miqro {
64
64
  stopWatch: () => void;
65
65
  };
66
66
  constructor(options?: Partial<MiqroOptions>);
67
+ static import(inFile: string, options?: Partial<MiqroOptions>, inflate?: Partial<InflateOptions>): Promise<Miqro>;
67
68
  connect(): void;
68
69
  disconnect(): void;
69
70
  inflateWith(inflated?: Partial<InflatedResult>): Promise<void>;
@@ -20,9 +20,11 @@ import { setupExitHandlers } from "../common/exit.js";
20
20
  import { inflateDBConfig, inflateDBMigrations } from "../inflate/setup-db.js";
21
21
  import { getServicePath } from "../common/paths.js";
22
22
  import { ServerInterfaceImpl } from "./utils/server-interface.js";
23
- import { getPORT } from "../common/arguments.js";
23
+ import { getPORT, importMiqroJSON } from "../common/arguments.js";
24
24
  import { createLogProviderOptions } from "./utils/log-transport.js";
25
25
  import { createAdminInterface } from "./utils/admin-interface.js";
26
+ import { dirname, join, relative, resolve } from "node:path";
27
+ import { cwd } from "node:process";
26
28
  export const MiqroApplicationMessageType = "$$$MiqroApplicationMessageType$$$";
27
29
  export class Miqro {
28
30
  status = "stopped";
@@ -112,6 +114,21 @@ export class Miqro {
112
114
  this.adminInterface = createAdminInterface(this);
113
115
  setupExitHandlers(this);
114
116
  }
117
+ static async import(inFile, options, inflate) {
118
+ const miqroJSON = importMiqroJSON(resolve(inFile));
119
+ const miqroJSONDir = dirname(resolve(inFile));
120
+ const app = new Miqro({
121
+ name: miqroJSON.name ? miqroJSON.name : undefined,
122
+ port: miqroJSON.port ? String(miqroJSON.port) : undefined,
123
+ services: miqroJSON.services ? miqroJSON.services.map(s => join(relative(cwd(), miqroJSONDir), s)) : undefined,
124
+ ...(options ? options : {}),
125
+ });
126
+ await app.inflate({
127
+ inflateDir: miqroJSON.inflateDir ? String(miqroJSON.inflateDir) : undefined,
128
+ ...(inflate ? inflate : {}),
129
+ });
130
+ return app;
131
+ }
115
132
  connect() {
116
133
  if (process.send) {
117
134
  process.removeListener("message", this.listener);
@@ -535,4 +552,3 @@ export function notifiyServerConfigSync(app, method) {
535
552
  });
536
553
  }
537
554
  }
538
- //# sourceMappingURL=app.js.map
@@ -65,4 +65,3 @@ function getHandler(/*auth: Handler, */ router) {
65
65
  handler: router.handler
66
66
  };
67
67
  }
68
- //# sourceMappingURL=editor.js.map
@@ -136,4 +136,3 @@ export function assertGlobalTampered() {
136
136
  process.exit(EXIT_CODES.GLOBALS_ALTERED);
137
137
  }
138
138
  }
139
- //# sourceMappingURL=globals.js.map
@@ -43,4 +43,3 @@ socket.addEventListener("error", (err) => {
43
43
  /*export function isHotReloadEnabled() {
44
44
  return checkEnvVariable("HOT_RELOAD", "0") === "1";
45
45
  }*/
46
- //# sourceMappingURL=hot-reload.js.map
@@ -58,4 +58,3 @@ export async function runMigrationsDown(logger, db, servicePath, service, inflat
58
58
  }
59
59
  return migrations;
60
60
  }
61
- //# sourceMappingURL=migrations.js.map
@@ -31,4 +31,3 @@ export function createAdminInterface(app) {
31
31
  }
32
32
  };
33
33
  }
34
- //# sourceMappingURL=admin-interface.js.map
@@ -82,4 +82,3 @@ export class LocalCache {
82
82
  this.localCache.set(key, []);
83
83
  }
84
84
  }
85
- //# sourceMappingURL=cache.js.map
@@ -212,4 +212,3 @@ export class ClusterCache {
212
212
  this.localCache.set(key, []);
213
213
  }
214
214
  }
215
- //# sourceMappingURL=cluster-cache.js.map
@@ -177,4 +177,3 @@ export class ClusterWebSocketServer2 extends WebSocketServer {
177
177
  return !this.clients.has(uuid) && !this.remoteClients.has(uuid);
178
178
  }
179
179
  }
180
- //# sourceMappingURL=cluster-ws.js.map
@@ -68,4 +68,3 @@ export class DBManager {
68
68
  this.map.set(name, db);
69
69
  }
70
70
  }
71
- //# sourceMappingURL=db-manager.js.map
@@ -55,4 +55,3 @@ export function getRoutes(prePath, defaultPath, apiOptions) {
55
55
  }
56
56
  return ret;
57
57
  }
58
- //# sourceMappingURL=get-route.js.map
@@ -72,4 +72,3 @@ export function createLogProviderOptions(app) {
72
72
  ...(app.options.logProviderOptions ? app.options.logProviderOptions : {})
73
73
  };
74
74
  }
75
- //# sourceMappingURL=log-transport.js.map
@@ -10,7 +10,8 @@ export class LogProvider {
10
10
  constructor(options) {
11
11
  this.options = {
12
12
  formatter: options && options.formatter ? options.formatter : DEFAULT_FORMATTER,
13
- transports: options && options.transports ? options.transports : [ConsoleTransport()]
13
+ transports: options && options.transports ? options.transports : [ConsoleTransport()],
14
+ name: options?.name
14
15
  };
15
16
  this.requestLoggerFactory = this.requestLoggerFactory.bind(this);
16
17
  }
@@ -71,4 +72,3 @@ export class LogProvider {
71
72
  return logger;
72
73
  }
73
74
  }
74
- //# sourceMappingURL=log.js.map
@@ -77,4 +77,3 @@ export class ServerInterfaceImpl {
77
77
  return this.loggerProvider?.getLogger(identifier, options);
78
78
  }
79
79
  }
80
- //# sourceMappingURL=server-interface.js.map
@@ -133,4 +133,3 @@ export class WebSocketManager {
133
133
  options: WSConfig;
134
134
  } | undefined;
135
135
  }*/
136
- //# sourceMappingURL=websocketmanager.js.map
@@ -1,5 +1,5 @@
1
1
  import { Database } from "@miqro/query";
2
- import { WebSocketServerOptions, SessionHandlerOptions, Logger, WebSocketServer, ReadBuffer, URLEncodedParser, JSONParser, TextParser, CORS, SessionHandler, RouteOptions, Handler, Request, Response, LogLevel, LoggerTransportWriteArgs, CORSOptions } from "@miqro/core";
2
+ import { WebSocketServerOptions, SessionHandlerOptions, Logger, WebSocketServer, ReadBuffer, URLEncodedParser, JSONParser, TextParser, CORS, SessionHandler, RouteOptions, Handler, Request, Response, LogLevel, LoggerTransportWriteArgs, CORSOptions, HandlerWithOptions, ErrorHandler } from "@miqro/core";
3
3
  import { request } from "@miqro/request";
4
4
  import { ParserInterface } from "@miqro/parser";
5
5
  import { RuntimeHTMLElement, Runtime, RuntimeContainer, RuntimeURL, RuntimeOptions, RuntimeShadowRootInit } from "@miqro/jsx";
@@ -140,6 +140,21 @@ declare global {
140
140
  }
141
141
  export interface AuthConfig extends SessionHandlerOptions {
142
142
  }
143
+ export interface MiddlewareConfig {
144
+ middleware?: Array<HandlerWithOptions | Handler>;
145
+ post?: Array<HandlerWithOptions | Handler>;
146
+ }
147
+ export interface ErrorConfig {
148
+ catch?: Array<ErrorHandler>;
149
+ }
150
+ export interface DocConfig {
151
+ publish: {
152
+ [path: string]: {
153
+ type?: "HTML" | "MD" | "JSON";
154
+ all?: boolean;
155
+ };
156
+ };
157
+ }
143
158
  export interface WSConfig extends WebSocketServerOptions {
144
159
  path: string;
145
160
  disabled?: boolean;
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map