gemi 0.40.0 → 0.40.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 (139) hide show
  1. package/dist/app/index.js +2 -272
  2. package/dist/app/index.js.map +3 -9
  3. package/dist/broadcasting/index.js +1 -1
  4. package/dist/bun/plugin.js +1 -1
  5. package/dist/bun/preload.js +1 -1
  6. package/dist/{chunk-h6mq7va4.js → chunk-0xabjqdt.js} +2 -2
  7. package/dist/{chunk-h6mq7va4.js.map → chunk-0xabjqdt.js.map} +1 -1
  8. package/dist/chunk-1wv2m67p.js +4 -0
  9. package/dist/{chunk-3vwd9m9r.js.map → chunk-1wv2m67p.js.map} +1 -1
  10. package/dist/{chunk-ptzhwayj.js → chunk-34bhbqbh.js} +2 -2
  11. package/dist/{chunk-ptzhwayj.js.map → chunk-34bhbqbh.js.map} +1 -1
  12. package/dist/{chunk-32bqjwdp.js → chunk-37qn44wf.js} +3 -3
  13. package/dist/{chunk-32bqjwdp.js.map → chunk-37qn44wf.js.map} +1 -1
  14. package/dist/{chunk-y21w70m1.js → chunk-46g7xzc3.js} +3 -3
  15. package/dist/{chunk-y21w70m1.js.map → chunk-46g7xzc3.js.map} +1 -1
  16. package/dist/{chunk-w3sw7qzr.js → chunk-55jrzaj0.js} +2 -2
  17. package/dist/{chunk-w3sw7qzr.js.map → chunk-55jrzaj0.js.map} +1 -1
  18. package/dist/{chunk-y8j3mhc5.js → chunk-5jar30t5.js} +2 -2
  19. package/dist/{chunk-y8j3mhc5.js.map → chunk-5jar30t5.js.map} +1 -1
  20. package/dist/{chunk-7n19b204.js → chunk-6nm2pt02.js} +2 -2
  21. package/dist/{chunk-7n19b204.js.map → chunk-6nm2pt02.js.map} +1 -1
  22. package/dist/{chunk-stp84phd.js → chunk-71e1rmh4.js} +5 -5
  23. package/dist/{chunk-stp84phd.js.map → chunk-71e1rmh4.js.map} +1 -1
  24. package/dist/{chunk-xn8qhpkm.js → chunk-7219pj06.js} +3 -3
  25. package/dist/{chunk-xn8qhpkm.js.map → chunk-7219pj06.js.map} +1 -1
  26. package/dist/{chunk-ewgyn3bd.js → chunk-8zrzjvj8.js} +4 -4
  27. package/dist/{chunk-ewgyn3bd.js.map → chunk-8zrzjvj8.js.map} +1 -1
  28. package/dist/{chunk-63px5syb.js → chunk-9x52jhc8.js} +2 -2
  29. package/dist/{chunk-63px5syb.js.map → chunk-9x52jhc8.js.map} +1 -1
  30. package/dist/{chunk-mbc8kxq4.js → chunk-ar3kj71m.js} +2 -2
  31. package/dist/{chunk-mbc8kxq4.js.map → chunk-ar3kj71m.js.map} +1 -1
  32. package/dist/{chunk-jz4b0r4f.js → chunk-b2f631nw.js} +2 -2
  33. package/dist/{chunk-jz4b0r4f.js.map → chunk-b2f631nw.js.map} +1 -1
  34. package/dist/{chunk-3vwd9m9r.js → chunk-cy0yet3t.js} +2 -2
  35. package/dist/{chunk-fr27jc6x.js.map → chunk-cy0yet3t.js.map} +1 -1
  36. package/dist/{chunk-c7xghmmk.js → chunk-e40j5tgj.js} +3 -3
  37. package/dist/{chunk-c7xghmmk.js.map → chunk-e40j5tgj.js.map} +1 -1
  38. package/dist/{chunk-6g504b6e.js → chunk-e43m0sz9.js} +4 -4
  39. package/dist/{chunk-6g504b6e.js.map → chunk-e43m0sz9.js.map} +1 -1
  40. package/dist/{chunk-zfb7fy42.js → chunk-e7wdb957.js} +3 -3
  41. package/dist/{chunk-zfb7fy42.js.map → chunk-e7wdb957.js.map} +1 -1
  42. package/dist/{chunk-3mdvhyh7.js → chunk-ffj2g6wn.js} +3 -3
  43. package/dist/{chunk-3mdvhyh7.js.map → chunk-ffj2g6wn.js.map} +1 -1
  44. package/dist/{chunk-1axcwesm.js → chunk-fs8zhe24.js} +2 -2
  45. package/dist/{chunk-1axcwesm.js.map → chunk-fs8zhe24.js.map} +1 -1
  46. package/dist/{chunk-9t65prt6.js → chunk-gky8x4rv.js} +2 -2
  47. package/dist/{chunk-9t65prt6.js.map → chunk-gky8x4rv.js.map} +1 -1
  48. package/dist/{chunk-90fdy2mf.js → chunk-he4nzstf.js} +2 -2
  49. package/dist/{chunk-90fdy2mf.js.map → chunk-he4nzstf.js.map} +1 -1
  50. package/dist/chunk-hq4yhfaq.js +274 -0
  51. package/dist/chunk-hq4yhfaq.js.map +15 -0
  52. package/dist/{chunk-fr27jc6x.js → chunk-j6eh0etj.js} +2 -2
  53. package/dist/{chunk-tjc2jbfx.js.map → chunk-j6eh0etj.js.map} +1 -1
  54. package/dist/{chunk-qz4m6jpd.js → chunk-jhp3h3kc.js} +3 -3
  55. package/dist/{chunk-qz4m6jpd.js.map → chunk-jhp3h3kc.js.map} +1 -1
  56. package/dist/{chunk-x3xmwhm7.js → chunk-jnbtsgrp.js} +2 -2
  57. package/dist/{chunk-x3xmwhm7.js.map → chunk-jnbtsgrp.js.map} +1 -1
  58. package/dist/chunk-k4kdssr3.js +5 -0
  59. package/dist/{chunk-36rnd542.js.map → chunk-k4kdssr3.js.map} +1 -1
  60. package/dist/{chunk-n98nb1fp.js → chunk-kk353x3p.js} +1 -1
  61. package/dist/{chunk-v0pw47bz.js → chunk-m1vjp86n.js} +3 -3
  62. package/dist/{chunk-v0pw47bz.js.map → chunk-m1vjp86n.js.map} +1 -1
  63. package/dist/{chunk-xna33s0d.js → chunk-m5nxws92.js} +3 -3
  64. package/dist/{chunk-xna33s0d.js.map → chunk-m5nxws92.js.map} +1 -1
  65. package/dist/{chunk-58by1xt1.js → chunk-pca557td.js} +2 -2
  66. package/dist/{chunk-58by1xt1.js.map → chunk-pca557td.js.map} +1 -1
  67. package/dist/chunk-py00anah.js +6 -0
  68. package/dist/chunk-py00anah.js.map +14 -0
  69. package/dist/{chunk-2xvzn1zw.js → chunk-qksh8x1f.js} +2 -2
  70. package/dist/{chunk-2xvzn1zw.js.map → chunk-qksh8x1f.js.map} +1 -1
  71. package/dist/{chunk-ferag84m.js → chunk-tgrnmmg5.js} +2 -2
  72. package/dist/{chunk-ferag84m.js.map → chunk-tgrnmmg5.js.map} +1 -1
  73. package/dist/{chunk-6ey5s3q9.js → chunk-wss9zewk.js} +4 -4
  74. package/dist/{chunk-6ey5s3q9.js.map → chunk-wss9zewk.js.map} +1 -1
  75. package/dist/{chunk-jkn3v7kp.js → chunk-ww5pp0rp.js} +3 -3
  76. package/dist/{chunk-jkn3v7kp.js.map → chunk-ww5pp0rp.js.map} +1 -1
  77. package/dist/{chunk-qtz62kb1.js → chunk-wypjxj9v.js} +3 -3
  78. package/dist/{chunk-qtz62kb1.js.map → chunk-wypjxj9v.js.map} +1 -1
  79. package/dist/{chunk-a9rab7d6.js → chunk-xdsym1c8.js} +2 -2
  80. package/dist/{chunk-a9rab7d6.js.map → chunk-xdsym1c8.js.map} +1 -1
  81. package/dist/{chunk-demk6jrq.js → chunk-xfeqd7as.js} +2 -2
  82. package/dist/{chunk-demk6jrq.js.map → chunk-xfeqd7as.js.map} +1 -1
  83. package/dist/{chunk-t4f1hd5h.js → chunk-xxdb06dz.js} +3 -3
  84. package/dist/{chunk-t4f1hd5h.js.map → chunk-xxdb06dz.js.map} +1 -1
  85. package/dist/{chunk-c0hftpkd.js → chunk-yhphtr31.js} +3 -3
  86. package/dist/{chunk-c0hftpkd.js.map → chunk-yhphtr31.js.map} +1 -1
  87. package/dist/{chunk-d70jknn3.js → chunk-z3tgcb5r.js} +2 -2
  88. package/dist/{chunk-d70jknn3.js.map → chunk-z3tgcb5r.js.map} +1 -1
  89. package/dist/chunk-zjxbe8tx.js +5 -0
  90. package/dist/chunk-zjxbe8tx.js.map +10 -0
  91. package/dist/config/index.js +1 -1
  92. package/dist/email/index.js +2 -2
  93. package/dist/email/index.js.map +2 -2
  94. package/dist/facades/index.js +2 -2
  95. package/dist/facades/index.js.map +1 -1
  96. package/dist/http/index.js +2 -2
  97. package/dist/http/index.js.map +1 -1
  98. package/dist/i18n/index.js +2 -2
  99. package/dist/i18n/index.js.map +1 -1
  100. package/dist/kernel/index.js +2 -2
  101. package/dist/kernel/index.js.map +2 -2
  102. package/dist/server/Server.d.ts.map +1 -0
  103. package/dist/server/banner.d.ts.map +1 -0
  104. package/dist/server/generateEtag.d.ts.map +1 -0
  105. package/dist/server/httpDev.d.ts.map +1 -0
  106. package/dist/server/httpProd.d.ts.map +1 -0
  107. package/dist/server/index.d.ts.map +1 -0
  108. package/dist/server/index.js +2 -57
  109. package/dist/server/index.js.map +4 -10
  110. package/dist/server/renderErrorPage.d.ts.map +1 -0
  111. package/dist/server/styles.d.ts.map +1 -0
  112. package/dist/server/types.d.ts.map +1 -0
  113. package/dist/server/watchEnv.d.ts.map +1 -0
  114. package/dist/services/index.js +2 -2
  115. package/dist/services/index.js.map +1 -1
  116. package/package.json +7 -2
  117. package/dist/chunk-36rnd542.js +0 -5
  118. package/dist/chunk-tjc2jbfx.js +0 -4
  119. package/dist/server2/Server.d.ts.map +0 -1
  120. package/dist/server2/banner.d.ts.map +0 -1
  121. package/dist/server2/generateEtag.d.ts.map +0 -1
  122. package/dist/server2/httpDev.d.ts.map +0 -1
  123. package/dist/server2/httpProd.d.ts.map +0 -1
  124. package/dist/server2/index.d.ts.map +0 -1
  125. package/dist/server2/renderErrorPage.d.ts.map +0 -1
  126. package/dist/server2/styles.d.ts.map +0 -1
  127. package/dist/server2/types.d.ts.map +0 -1
  128. package/dist/server2/watchEnv.d.ts.map +0 -1
  129. /package/dist/{chunk-n98nb1fp.js.map → chunk-kk353x3p.js.map} +0 -0
  130. /package/dist/{server2 → server}/Server.d.ts +0 -0
  131. /package/dist/{server2 → server}/banner.d.ts +0 -0
  132. /package/dist/{server2 → server}/generateEtag.d.ts +0 -0
  133. /package/dist/{server2 → server}/httpDev.d.ts +0 -0
  134. /package/dist/{server2 → server}/httpProd.d.ts +0 -0
  135. /package/dist/{server2 → server}/index.d.ts +0 -0
  136. /package/dist/{server2 → server}/renderErrorPage.d.ts +0 -0
  137. /package/dist/{server2 → server}/styles.d.ts +0 -0
  138. /package/dist/{server2 → server}/types.d.ts +0 -0
  139. /package/dist/{server2 → server}/watchEnv.d.ts +0 -0
@@ -1,16 +1,10 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../server/dev.ts", "../server/styles.tsx", "../server/renderErrorPage.ts", "../server/prod.ts", "../server/generateEtag.ts", "../../../node_modules/.bun/urlpattern-polyfill@10.1.0/node_modules/urlpattern-polyfill/index.js", "../server/dev2.ts"],
3
+ "sources": ["../server/Server.ts"],
4
4
  "sourcesContent": [
5
- "import type { Serve } from \"bun\";\nimport { join } from \"node:path\";\n\nimport type { App } from \"../app/App\";\nimport { createDevStyles } from \"./styles\";\nimport { renderErrorPage } from \"./renderErrorPage\";\n\nconst rootDir = process.cwd();\nconst appDir = join(rootDir, \"app\");\n\nexport async function startDevServer() {\n const root = process.cwd();\n\n const vite = await (await import(\"vite\")).createServer({\n root,\n logLevel: \"error\",\n server: {\n watch: {\n usePolling: true,\n interval: 100,\n // ignore paths starts with .\n ignored: [\"**/storage/**\", \"**/node_modules/**\", \"**/.**\"],\n },\n hmr: {\n clientPort: 5174,\n },\n },\n appType: \"custom\",\n resolve: {\n alias: {\n \"@/app\": appDir,\n },\n },\n });\n\n process.env.ROOT_DIR = rootDir;\n process.env.APP_DIR = appDir;\n\n async function handleDevRequests(req: Request): Promise<Response> {\n const { pathname, host, protocol } = new URL(req.url);\n if (pathname.startsWith(\"/render-error.js\")) {\n return new Response(\"window.render_error = true\", {\n headers: {\n \"Content-Type\": \"application/javascript\",\n },\n });\n }\n if (pathname.startsWith(\"/refresh.js\")) {\n return new Response(\n `\n import RefreshRuntime from \"${protocol}//${host}/@react-refresh\";\n RefreshRuntime.injectIntoGlobalHook(window);\n window.$RefreshReg$ = () => {};\n window.$RefreshSig$ = () => (type) => type;\n window.__vite_plugin_react_preamble_installed__ = true;\n `,\n {\n headers: {\n \"Content-Type\": \"application/javascript\",\n },\n },\n );\n }\n\n try {\n const res = await fetch(`http://localhost:5174${pathname}`);\n\n if (res.ok) {\n return res;\n }\n } catch (err) {\n console.log(err);\n }\n }\n\n async function getApp(): Promise<App> {\n try {\n const module = await vite.ssrLoadModule(join(appDir, \"bootstrap.ts\"), {\n fixStacktrace: true,\n });\n return module.app;\n } catch (err) {\n vite.ws.send({ type: \"error\", err: { ...err, message: \"\" } });\n console.error(err);\n }\n }\n\n async function createServe(app: App): Promise<Serve> {\n const handler = app.fetch.bind(app);\n return {\n maxRequestBodySize: 10 * 1024 * 1024 * 1024, // 10 GB\n fetch: async (req, server) => {\n if (server.upgrade(req, { data: { headers: req.headers } })) {\n return; // do not return a Response\n }\n if (!req.headers.get(\"x-forwarded-for\")) {\n const ip = server.requestIP(req);\n req.headers.set(\"x-forwarded-for\", ip.address);\n }\n\n const { pathname } = new URL(req.url);\n\n const devResponse = await handleDevRequests(req);\n if (devResponse instanceof Response) {\n return devResponse;\n }\n\n try {\n const result = await handler(req);\n if (result instanceof Response) {\n return result;\n } else {\n const viewImportMap = {};\n const ogMap = {};\n const template = (viewName: string, path: string) =>\n `\"${viewName}\": () => import(\"${path}\")`;\n const templates = [];\n\n for (const fileName of [\n \"404\",\n ...app.getFlatComponentTree.call(app),\n ]) {\n if (process.env.NODE_ENV === \"test\") {\n break;\n }\n const appDir = `${process.env.APP_DIR}`;\n const mod = await vite.ssrLoadModule(\n `${appDir}/views/${fileName}.tsx`,\n { fixStacktrace: true },\n );\n\n viewImportMap[fileName] = mod.default;\n ogMap[fileName] = mod?.OpenGraph;\n templates.push(\n template(fileName, `${appDir}/views/${fileName}.tsx`),\n );\n }\n\n const loaders = `{${templates.join(\",\")}}`;\n\n return await result({\n getStyles: async (currentViews: string[]) =>\n await createDevStyles(appDir, vite, currentViews),\n bootstrapModules: [\n \"/refresh.js\",\n \"/app/client.tsx\",\n \"/@vite/client\",\n ],\n viewImportMap,\n ogMap,\n loaders,\n cssManifest: {},\n });\n }\n } catch (err) {\n if (pathname.startsWith(\"/api\")) {\n return new Response(JSON.stringify({ error: err.message }), {\n status: 500,\n headers: { \"Content-Type\": \"application/json\" },\n });\n }\n\n return new Response(renderErrorPage(err), {\n headers: { \"Content-Type\": \"text/html\" },\n });\n }\n },\n\n idleTimeout: Number(process.env.SERVER_IDLE_TIMEOUT ?? 10),\n port: process.env.PORT || 5173,\n websocket: app.websocket,\n };\n }\n\n await vite.listen(5174);\n\n const app = await getApp();\n const serve = await createServe(app);\n const server = Bun.serve(serve);\n app.onPublish(\n (\n topic: string,\n data: string | ArrayBufferView | ArrayBuffer | SharedArrayBuffer,\n compress?: boolean,\n ) => {\n server.publish(topic, data, compress);\n },\n );\n\n console.log(`Server started on http://localhost:${process.env.PORT || 5173}`);\n\n vite.watcher.on(\"change\", async (file) => {\n const fileRelativePath = file.replace(rootDir, \"\");\n if (fileRelativePath.startsWith(\"/logs\")) {\n return;\n }\n\n if (fileRelativePath.startsWith(\"/prisma\")) {\n return;\n }\n\n if (fileRelativePath.startsWith(\"/app/views\")) {\n console.log(`[vite] ${fileRelativePath} changed. 🍜 Hot reloading...`);\n return;\n }\n\n console.log(`[vite] ${fileRelativePath} changed. Reloading...`);\n const modules = vite.moduleGraph.getModulesByFile(file) ?? [];\n for (const mod of Array.from(modules)) {\n try {\n vite.moduleGraph.invalidateModule(mod);\n } catch (err) {}\n }\n\n try {\n const app = await getApp();\n const serve = await createServe(app);\n app.onPublish(\n (\n topic: string,\n data: string | ArrayBufferView | ArrayBuffer | SharedArrayBuffer,\n compress?: boolean,\n ) => {\n server.publish(topic, data, compress);\n },\n );\n server.reload(serve);\n vite.ws.send({\n type: \"custom\",\n event: \"http-reload\",\n });\n vite.ws.send({\n type: \"update\",\n updates: [],\n });\n } catch (err) {\n console.log(\"Error on server reload\");\n console.log(vite.ssrFixStacktrace(err));\n }\n });\n\n return server;\n}\n",
6
- "import { createElement } from \"react\";\nimport { ModuleNode, type ViteDevServer } from \"vite\";\n\nfunction replaceStrings(text: string, record: Record<string, string>): string {\n const escapedKeys = Object.keys(record)\n .sort((a, b) => b.length - a.length)\n .map((key) => key.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"));\n\n // Create a single regex with all keys\n const regex = new RegExp(escapedKeys.join(\"|\"), \"g\");\n\n return text.replace(regex, (match) => record[match]);\n}\n\nexport async function createDevStyles(\n appDir: string,\n vite: ViteDevServer,\n currentViews: string[] = [],\n) {\n const views = [\n ...currentViews.map((view) => `${appDir}/views/${view}.tsx`),\n `${appDir}/views/RootLayout.tsx`,\n ];\n\n let modules = new Set<ModuleNode>();\n for (const view of views) {\n const mod = vite.moduleGraph.getModulesByFile(view);\n if (mod) {\n modules = modules.union(mod);\n }\n }\n\n const styles = [];\n const cssModules = [];\n const cssModuleContent: Record<string, string> = {};\n for (const mod of modules as any) {\n if (mod) {\n for (const imported of mod.importedModules) {\n if (imported.file.includes(\"module.css\")) {\n cssModuleContent[imported.file] = imported.ssrTransformResult.map.sourcesContent.join(\"\");\n }\n if (imported.file.includes(\".css\")) {\n cssModules.push(imported.file);\n }\n }\n }\n }\n\n for (const cssModulePath of cssModules) {\n const transform = await vite.transformRequest(cssModulePath + \"?direct\");\n\n const isCssModule = cssModulePath.includes(\"module.css\");\n\n let transformedCssModule = \"\";\n\n if (isCssModule) {\n transformedCssModule = replaceStrings(cssModuleContent[cssModulePath], transform.default);\n }\n\n styles.push({\n isDev: true,\n id: cssModulePath,\n content: isCssModule ? transformedCssModule : transform.code,\n });\n }\n\n return styles.map((style, i) => {\n return createElement(\"style\", {\n key: i,\n type: \"text/css\",\n \"data-vite-dev-id\": style.id,\n dangerouslySetInnerHTML: { __html: style.content },\n });\n });\n}\n\nexport async function createStyles(styles = []) {\n return styles.map((style, i) => {\n return createElement(\"style\", {\n key: i,\n id: style?.id,\n type: \"text/css\",\n dangerouslySetInnerHTML: { __html: style.content },\n });\n });\n}\n",
7
- "function cleanupTerminalText(text) {\n return (\n text\n // Remove ANSI escape sequences (colors, formatting)\n .replace(/\\x1b\\[[0-9;]*m/g, \"\")\n // Remove ANSI escape sequences with different format\n .replace(/\\[[0-9;]*m/g, \"\")\n // Remove excessive whitespace and normalize line breaks\n .replace(/\\n\\s*\\n/g, \"\\n\")\n // Trim each line\n .split(\"\\n\")\n .map((line) => line.trim())\n .filter((line) => line.length > 0)\n .join(\"\\n\")\n .trim()\n );\n}\n\nexport function renderErrorPage(err: any) {\n return `\n<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta\n name=\"viewport\"\n content=\"width=device-width, initial-scale=1.0\"\n />\n\n <title>Error</title>\n <style>\n body {\n font-family: Arial, sans-serif;\n padding: 20px;\n }\n h1 {\n color: red;\n }\n </style>\n </head>\n <body>\n <div id=\"overlay\"></div>\n <script type=\"module\" src=\"/refresh.js\"></script>\n <script type=\"module\" src=\"/@vite/client\"></script>\n <script>\n ${cleanupTerminalText.toString()}\n const err = ${JSON.stringify(err, Object.getOwnPropertyNames(err), 2)}\n\n window.addEventListener('load', () => {\n const container = document.getElementById('overlay')\n const ErrorOverlay = customElements.get('vite-error-overlay')\n if (ErrorOverlay) {\n const overlay = new ErrorOverlay({ ...err, message: cleanupTerminalText(err.message) });\n container.appendChild(overlay)\n }\n })\n </script>\n </body>\n</html>\n`;\n}\n",
8
- "import { join } from \"node:path\";\nimport { generateETag } from \"./generateEtag\";\nimport { URLPattern } from \"urlpattern-polyfill\";\nimport { exists } from \"node:fs/promises\";\nimport { createStyles } from \"./styles\";\n\nconst projectDir = process.env.GEMI_PROJECT_DIR ?? \"\";\nconst rootDir = join(process.cwd(), projectDir);\n\nconst appDir = join(rootDir, \"app\");\nconst distDir = join(rootDir, \"dist\");\n\nexport async function startProdServer() {\n const { app } = await import(`${distDir}/server/bootstrap.mjs`);\n const manifest = await import(`${distDir}/client/.vite/manifest.json`);\n const serverManifest = await import(`${distDir}/server/.vite/manifest.json`);\n\n process.env.ROOT_DIR = rootDir;\n process.env.APP_DIR = appDir;\n process.env.DIST_DIR = distDir;\n\n const viewImportMap = {};\n const ogMap = {};\n const cssManifest = {};\n const template = (viewName: string, path: string) =>\n `\"${viewName}\": () => import(\"${path}\")`;\n const templates = [];\n\n for (const fileName of [\"404\", ...app.getFlatComponentTree.call(app)]) {\n const serverFile = serverManifest[`app/views/${fileName}.tsx`];\n if (!serverFile?.file) {\n console.log(`Server file not found for ${fileName}`);\n console.log(serverFile);\n const files = Object.keys(serverManifest);\n const path = `app/views/${fileName}.tsx`;\n console.log(`${path} not found in server manifest`);\n console.log(files);\n }\n const mod = await import(\n `${process.env.DIST_DIR}/server/${serverFile?.file}`\n );\n viewImportMap[fileName] = mod.default;\n ogMap[fileName] = mod.OpenGraph;\n const clientFile = manifest[`app/views/${fileName}.tsx`];\n\n if (clientFile?.css && clientFile?.css.length > 0) {\n cssManifest[fileName] = clientFile?.css;\n }\n if (clientFile) {\n templates.push(template(fileName, `/${clientFile?.file}`));\n }\n }\n\n const loaders = `{${templates.join(\",\")}}`;\n\n const appCssFile = Bun.file(\n `${distDir}/client/${manifest[\"app/client.tsx\"].css}`,\n );\n const appCSSContent = await appCssFile.text();\n\n async function requestHandler(req: Request) {\n const { pathname } = new URL(req.url);\n\n const pattern = new URLPattern({\n pathname: \"/*.:filetype(png|txt|js|css|jpg|svg|jpeg|avif|webp|ico|ttf)\",\n });\n\n const isWellKnownFile = pathname.startsWith(\"/.well-known\");\n const isFileRequest = pattern.test({ pathname }) || isWellKnownFile;\n\n const isApi = pathname.startsWith(\"/api\");\n\n if (isFileRequest && !isApi) {\n const url = new URL(req.url);\n const filePath = req.url.replace(url.origin, \"\").split(\"?\")[0];\n const distPath = `${distDir}/client${filePath.replace(\"/assets/assets\", \"/assets\")}`;\n const doesExist = await exists(distPath);\n\n if (!doesExist && url.pathname.includes(\".js\")) {\n return new Response(\n `if(caches){caches?.delete(\"${distPath}\")}window.location.reload();export {}`,\n {\n headers: { \"Content-Type\": \"application/javascript\" },\n },\n );\n }\n try {\n const file = Bun.file(distPath);\n\n const etag = generateETag(file.lastModified);\n return new Response(file.stream(), {\n headers: {\n \"Content-Type\": file.type,\n \"Cache-Control\": \"public, max-age=31536000, must-revalidate\",\n \"Content-Length\": String(file.size),\n ETag: etag,\n },\n });\n } catch (error) {\n app.onException?.(error);\n return new Response(\"Not found\", { status: 404 });\n }\n }\n\n const handler = app.fetch.bind(app);\n\n try {\n const result = await handler(req);\n if (result instanceof Response) {\n return result;\n } else {\n const styles = [];\n\n styles.push({\n content: appCSSContent,\n });\n\n const getStyles = async (currentViews: string[]) => {\n if (!currentViews) {\n return createStyles([]);\n }\n for (const view of currentViews) {\n const clientFile = manifest[`app/views/${view}.tsx`];\n for (const cssFile of clientFile?.css ?? []) {\n const css = Bun.file(`${process.env.DIST_DIR}/client/${cssFile}`);\n styles.push({\n id: cssFile,\n content: await css.text(),\n });\n }\n }\n return createStyles(styles);\n };\n\n return await result({\n getStyles,\n bootstrapModules: [`/${manifest[\"app/client.tsx\"].file}`],\n loaders,\n viewImportMap,\n ogMap,\n cssManifest,\n });\n }\n } catch (err) {\n console.error(err);\n if (pathname.startsWith(\"/api\")) {\n return new Response(JSON.stringify({ error: err.message }), {\n status: 500,\n headers: { \"Content-Type\": \"application/json\" },\n });\n }\n app.onException?.(err);\n return new Response(err.stack, { status: 500 });\n }\n }\n\n const server = Bun.serve({\n maxRequestBodySize: 10 * 1024 * 1024 * 1024, // 10 GB\n fetch: async (req, server) => {\n if (!req.headers.get(\"x-forwarded-for\")) {\n const ip = server.requestIP(req);\n req.headers.set(\"x-forwarded-for\", ip.address);\n }\n return await requestHandler(req);\n },\n idleTimeout: Number(process.env.SERVER_IDLE_TIMEOUT ?? 10),\n port: process.env.PORT || 5173,\n });\n\n console.log(\"Production server running on\", server.url.href);\n\n return server;\n}\n",
9
- "export function generateETag(lastModified: number): string {\n // Assuming the last modified timestamp is in milliseconds\n const lastModifiedStr = lastModified.toString();\n\n const hasher = new Bun.CryptoHasher(\"sha1\");\n hasher.update(lastModifiedStr);\n const hash = hasher.digest(\"hex\");\n\n return hash;\n}\n",
10
- "import { URLPattern } from \"./dist/urlpattern.js\";\n\nexport { URLPattern };\n\nif (!globalThis.URLPattern) {\n globalThis.URLPattern = URLPattern;\n}\n",
11
- "import { IncomingMessage, ServerResponse } from \"node:http\";\nimport { Socket } from \"node:net\";\nimport { join } from \"node:path\";\n\nimport { createServer, type ViteDevServer } from \"vite\";\n\nimport { App } from \"../app\";\nimport { createDevStyles } from \"./styles\";\n\n// Run a Web `Request` through Vite's Connect middleware.\n// Resolves to a `Response` when Vite handles the request (module transforms,\n// assets, the HMR client, ...), or `null` when it calls `next()` — which, with\n// `appType: \"custom\"`, it does for everything it doesn't own.\nfunction viteMiddleware(vite: ViteDevServer, request: Request): Promise<Response | null> {\n const url = new URL(request.url);\n\n const req = new IncomingMessage(new Socket());\n req.url = url.pathname + url.search;\n req.method = request.method;\n req.headers = Object.fromEntries(request.headers);\n\n const res = new ServerResponse(req);\n const chunks: Buffer[] = [];\n\n return new Promise((resolve) => {\n res.write = ((chunk: any) => {\n if (chunk) chunks.push(Buffer.from(chunk));\n return true;\n }) as typeof res.write;\n\n res.end = ((chunk?: any) => {\n if (chunk && typeof chunk !== \"function\") chunks.push(Buffer.from(chunk));\n\n const headers = new Headers();\n for (const [key, value] of Object.entries(res.getHeaders())) {\n if (value == null) continue;\n for (const v of Array.isArray(value) ? value : [value]) {\n headers.append(key, String(v));\n }\n }\n\n resolve(\n new Response(chunks.length ? Buffer.concat(chunks) : null, {\n status: res.statusCode,\n headers,\n }),\n );\n return res;\n }) as typeof res.end;\n\n vite.middlewares(req, res, () => resolve(null));\n });\n}\n\nconst rootDir = process.cwd();\nconst appDir = join(rootDir, \"app\");\n\ndeclare global {\n // Created once and reused across `bun --hot` reloads (see below).\n var __gemiVite: ViteDevServer | undefined;\n}\n\nexport async function dev(app: App) {\n // `bun --hot` re-runs this module on every server-code change, so keep a\n // single Vite server on `globalThis` instead of spawning a new one (and a new\n // HMR socket) on each reload.\n const isReload = Boolean(globalThis.__gemiVite);\n const vite = (globalThis.__gemiVite ??= await createServer({\n server: { middlewareMode: true },\n appType: \"custom\",\n }));\n\n process.env.ROOT_DIR = rootDir;\n process.env.APP_DIR = appDir;\n\n const server = Bun.serve({\n port: 5173,\n fetch: async (req) => {\n const handler = app.fetch.bind(app);\n const result = (await viteMiddleware(vite, req)) ?? (await handler(req));\n const { pathname, host, protocol } = new URL(req.url);\n if (pathname.startsWith(\"/render-error.js\")) {\n return new Response(\"window.render_error = true\", {\n headers: {\n \"Content-Type\": \"application/javascript\",\n },\n });\n }\n if (pathname.startsWith(\"/refresh.js\")) {\n return new Response(\n `\n import RefreshRuntime from \"${protocol}//${host}/@react-refresh\";\n RefreshRuntime.injectIntoGlobalHook(window);\n window.$RefreshReg$ = () => {};\n window.$RefreshSig$ = () => (type) => type;\n window.__vite_plugin_react_preamble_installed__ = true;\n `,\n {\n headers: {\n \"Content-Type\": \"application/javascript\",\n },\n },\n );\n }\n if (result instanceof Response) {\n return result;\n } else {\n const viewImportMap = {};\n const ogMap = {};\n const template = (viewName: string, path: string) =>\n `\"${viewName}\": () => import(\"${path}\")`;\n const templates = [];\n\n for (const fileName of [\"404\", ...app.getFlatComponentTree.call(app)]) {\n if (process.env.NODE_ENV === \"test\") {\n break;\n }\n const appDir = `${process.env.APP_DIR}`;\n const mod = await vite.ssrLoadModule(`${appDir}/views/${fileName}.tsx`, {\n fixStacktrace: true,\n });\n\n viewImportMap[fileName] = mod.default;\n ogMap[fileName] = mod?.OpenGraph;\n templates.push(template(fileName, `${appDir}/views/${fileName}.tsx`));\n }\n\n const loaders = `{${templates.join(\",\")}}`;\n\n return await result({\n getStyles: async (currentViews: string[]) =>\n await createDevStyles(appDir, vite, currentViews),\n bootstrapModules: [\"/refresh.js\", \"/app/client.tsx\", \"/@vite/client\"],\n viewImportMap,\n ogMap,\n loaders,\n cssManifest: {},\n });\n }\n },\n });\n\n // On a reload `app` has already been rebuilt with the new code and Bun.serve\n // above has swapped in the new fetch handler, so the updated controllers are\n // live *now*. Tell the client to re-run its queries only at this point —\n // firing it from Vite's file watcher instead races Bun's reload and leaves\n // the UI one change behind.\n if (isReload) {\n vite.ws.send({ type: \"custom\", event: \"http-reload\" });\n }\n\n return server;\n}\n"
5
+ "import { App } from \"../app\";\nimport { Kernel } from \"../kernel\";\nimport { Instrumentation } from \"./types\";\nimport { watchEnv } from \"./watchEnv\";\n\nexport class Server {\n private app: App;\n private instrumentation: Instrumentation;\n\n constructor(params: { kernel: new () => Kernel; instrumentation?: Instrumentation }) {\n this.app = new App({ kernel: params.kernel });\n this.instrumentation =\n params.instrumentation ??\n ((req: Request, next: (req: Request) => Promise<Response>) => next(req));\n }\n\n async start() {\n // Dynamic import so each mode only pulls in its own code: `httpDev` drags in\n // Vite (dev-only) and `httpProd` reads the built `dist/` manifests neither\n // should load in the other environment.\n if (process.env.NODE_ENV === \"production\") {\n const { httpProd } = await import(\"./httpProd.js\");\n await httpProd(this.app, this.instrumentation.bind(this));\n } else {\n // Dev only: reload `.env` into process.env on change so config edits take\n // effect without restarting the dev server (Bun reads `.env` only at\n // startup, even under `--hot`).\n watchEnv();\n const { httpDev } = await import(\"./httpDev.js\");\n await httpDev(this.app, this.instrumentation.bind(this));\n }\n }\n}\n"
12
6
  ],
13
- "mappings": "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",
14
- "debugId": "3508ECE14185AD0C64756E2164756E21",
7
+ "mappings": ";wWAKO,CAAM,JAAO,JACV,DACA,WAER,MAAW,JAAC,HAAyE,JACnF,KAAK,IAAM,IAAI,EAAI,CAAE,OAAQ,EAAO,MAAO,CAAC,EAC5C,KAAK,gBACH,EAAO,kBACN,CAAC,EAAc,IAA8C,EAAK,CAAG,QAGpE,MAAK,EAAG,CAI+B,CACzC,IAAQ,YAAa,KAAa,gCAClC,MAAM,EAAS,KAAK,IAAK,KAAK,gBAAgB,KAAK,IAAI,CAAC,GAU9D",
8
+ "debugId": "229A28E52D20B9BB64756E2164756E21",
15
9
  "names": []
16
10
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderErrorPage.d.ts","sourceRoot":"","sources":["../../server/renderErrorPage.ts"],"names":[],"mappings":"AAkBA,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,UA0CvC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../server/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AAa3D,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,EACnB,YAAY,GAAE,MAAM,EAAO;;;;;;;mBA8D5B;AAED,wBAAsB,YAAY,CAAC,MAAM,QAAK;;;;;;;mBAS7C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../server/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,CAC5B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,KACtC,OAAO,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchEnv.d.ts","sourceRoot":"","sources":["../../server/watchEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAG1E,OAAO,CAAC,MAAM,CAAC;IAGb,IAAI,gBAAgB,EAAE,SAAS,GAAG,SAAS,CAAC;CAC7C;AA8BD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CASlD;AAgCD,wBAAgB,QAAQ,CAAC,OAAO,GAAE,MAAsB,QAmBvD"}
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Ba as z,ba as a,ca as b,da as c,ea as d,fa as e,ga as f,ha as g,ia as h,ja as i,ka as j,la as k,ma as l,na as m,oa as n,pa as o,qa as p,ra as q,sa as r,ta as s,ua as t,va as u,wa as v,xa as w,ya as x,za as y}from"../chunk-stp84phd.js";import"../chunk-y8j3mhc5.js";import"../chunk-ewgyn3bd.js";import"../chunk-6ey5s3q9.js";import"../chunk-32bqjwdp.js";import"../chunk-t4f1hd5h.js";import"../chunk-y21w70m1.js";import"../chunk-v0pw47bz.js";import"../chunk-c0hftpkd.js";import"../chunk-xna33s0d.js";import"../chunk-zfb7fy42.js";import"../chunk-xn8qhpkm.js";import"../chunk-c7xghmmk.js";import"../chunk-qz4m6jpd.js";import"../chunk-d70jknn3.js";import"../chunk-demk6jrq.js";import"../chunk-3vwd9m9r.js";export{v as XOAuthProvider,m as ViewRouterServiceProvider,z as Singleton,r as Sharp,e as S3Driver,j as ResendDriver,y as RedisServiceProvider,h as RateLimiterServiceProvider,f as RateLimiterDriver,o as QueueServiceProvider,t as OAuthProvider,n as LoggingServiceProvider,p as Job,g as InMemoryRateLimiter,s as ImageOptimizationServiceProvider,q as ImageOptimizationDriver,u as GoogleOAuthProvider,b as FileSystemDriver,c as FileStorageServiceProvider,a as FileStorageDriver,k as EmailServiceProvider,i as EmailDriver,w as CronServiceProvider,x as CronJob,l as BroadcastingServiceProvider,d as ApiRouterServiceProvider};
2
+ import{Aa as w,Ba as x,Ca as y,Ea as z,ea as a,fa as b,ga as c,ha as d,ia as e,ja as f,ka as g,la as h,ma as i,na as j,oa as k,pa as l,qa as m,ra as n,sa as o,ta as p,ua as q,va as r,wa as s,xa as t,ya as u,za as v}from"../chunk-71e1rmh4.js";import"../chunk-5jar30t5.js";import"../chunk-8zrzjvj8.js";import"../chunk-yhphtr31.js";import"../chunk-wss9zewk.js";import"../chunk-37qn44wf.js";import"../chunk-m5nxws92.js";import"../chunk-e7wdb957.js";import"../chunk-7219pj06.js";import"../chunk-xxdb06dz.js";import"../chunk-e40j5tgj.js";import"../chunk-46g7xzc3.js";import"../chunk-m1vjp86n.js";import"../chunk-jhp3h3kc.js";import"../chunk-z3tgcb5r.js";import"../chunk-xfeqd7as.js";import"../chunk-cy0yet3t.js";export{v as XOAuthProvider,m as ViewRouterServiceProvider,z as Singleton,r as Sharp,e as S3Driver,j as ResendDriver,y as RedisServiceProvider,h as RateLimiterServiceProvider,f as RateLimiterDriver,o as QueueServiceProvider,t as OAuthProvider,n as LoggingServiceProvider,p as Job,g as InMemoryRateLimiter,s as ImageOptimizationServiceProvider,q as ImageOptimizationDriver,u as GoogleOAuthProvider,b as FileSystemDriver,c as FileStorageServiceProvider,a as FileStorageDriver,k as EmailServiceProvider,i as EmailDriver,w as CronServiceProvider,x as CronJob,l as BroadcastingServiceProvider,d as ApiRouterServiceProvider};
3
3
 
4
- //# debugId=920B37B600FDC65964756E2164756E21
4
+ //# debugId=CC6036AE62B6E81B64756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "920B37B600FDC65964756E2164756E21",
7
+ "debugId": "CC6036AE62B6E81B64756E2164756E21",
8
8
  "names": []
9
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemi",
3
- "version": "0.40.0",
3
+ "version": "0.40.1",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "Enes Tufekci <enes@gemijs.dev>",
@@ -21,7 +21,12 @@
21
21
  "./runtime": "./dist/runtime/index.js",
22
22
  "./kernel": "./dist/kernel/index.js",
23
23
  "./services": "./dist/services/index.js",
24
- "./i18n": "./dist/i18n/index.js"
24
+ "./broadcasting": "./dist/broadcasting/index.js",
25
+ "./i18n": "./dist/i18n/index.js",
26
+ "./server": "./dist/server/index.js",
27
+ "./config": "./dist/config/index.js",
28
+ "./bun/preload": "./dist/bun/preload.js",
29
+ "./bun/plugin": "./dist/bun/plugin.js"
25
30
  },
26
31
  "scripts": {
27
32
  "lint": "oxlint",
@@ -1,5 +0,0 @@
1
- // @bun
2
- import{Gb as e}from"./chunk-demk6jrq.js";class r extends e{service;static _name="EmailServiceContainer";constructor(i){super();this.service=i}}
3
- export{r as _};
4
-
5
- //# debugId=9F3D4F51F23BB59264756E2164756E21
@@ -1,4 +0,0 @@
1
- // @bun
2
- import{Ca as a,Da as b,Ea as c,Fa as d,Ga as e,Ha as f,Ia as g}from"./chunk-y8j3mhc5.js";import"./chunk-t4f1hd5h.js";import"./chunk-c7xghmmk.js";import"./chunk-3vwd9m9r.js";export{g as fromEnv,c as ENV_SESSION,b as ENV_SECRET,a as ENV_KEY,d as ENV_EXPIRATION,e as ENV_CREDENTIAL_SCOPE,f as ENV_ACCOUNT_ID};
3
-
4
- //# debugId=72EF8D5A4899D66464756E2164756E21
@@ -1 +0,0 @@
1
- {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../server2/Server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,qBAAa,MAAM;IACjB,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,eAAe,CAAkB;gBAE7B,MAAM,EAAE;QAAE,MAAM,EAAE,UAAU,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,eAAe,CAAA;KAAE;IAO7E,KAAK;CAgBZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../server2/banner.ts"],"names":[],"mappings":"AA8CA,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB,QAsBA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateEtag.d.ts","sourceRoot":"","sources":["../../server2/generateEtag.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CASzD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"httpDev.d.ts","sourceRoot":"","sources":["../../server2/httpDev.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AAExD,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAoD1C,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,UAAU,EAAE,aAAa,GAAG,SAAS,CAAC;IAE1C,IAAI,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IAE3C,IAAI,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IAG3C,IAAI,qBAAqB,EAAE,OAAO,GAAG,SAAS,CAAC;CAChD;AAoBD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG;;;;;;;;;;;;;;EAoBxC;AA+BD,wBAAsB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,eAAe,kCAqLvE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"httpProd.d.ts","sourceRoot":"","sources":["../../server2/httpProd.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAa1C,wBAAsB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,eAAe,kCAoKxE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../server2/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderErrorPage.d.ts","sourceRoot":"","sources":["../../server2/renderErrorPage.ts"],"names":[],"mappings":"AAkBA,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,UA0CvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../server2/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AAa3D,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,EACnB,YAAY,GAAE,MAAM,EAAO;;;;;;;mBA8D5B;AAED,wBAAsB,YAAY,CAAC,MAAM,QAAK;;;;;;;mBAS7C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../server2/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,CAC5B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,KACtC,OAAO,CAAC,QAAQ,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"watchEnv.d.ts","sourceRoot":"","sources":["../../server2/watchEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAG1E,OAAO,CAAC,MAAM,CAAC;IAGb,IAAI,gBAAgB,EAAE,SAAS,GAAG,SAAS,CAAC;CAC7C;AA8BD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CASlD;AAgCD,wBAAgB,QAAQ,CAAC,OAAO,GAAE,MAAsB,QAmBvD"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes