nuxt-ignis 0.5.0-rc.2 → 0.5.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 (195) hide show
  1. package/.data/content/contents.sqlite +0 -0
  2. package/.nuxt/components.d.ts +402 -208
  3. package/.nuxt/content/components.ts +201 -104
  4. package/.nuxt/dev/index.mjs +1041 -712
  5. package/.nuxt/dev/index.mjs.map +1 -1
  6. package/.nuxt/dist/server/client.manifest.mjs +1 -18
  7. package/.nuxt/dist/server/client.precomputed.mjs +1 -0
  8. package/.nuxt/eslint-typegen.d.ts +56 -2
  9. package/.nuxt/eslint.config.d.mts +2 -2
  10. package/.nuxt/eslint.config.mjs +10 -10
  11. package/.nuxt/imports.d.ts +63 -59
  12. package/.nuxt/manifest/latest.json +1 -1
  13. package/.nuxt/manifest/meta/dev.json +1 -1
  14. package/.nuxt/mdc-highlighter.mjs +4 -0
  15. package/.nuxt/mdc-image-component.mjs +1 -1
  16. package/.nuxt/module/nuxt-robots.d.ts +12 -12
  17. package/.nuxt/module/nuxt-seo-utils.d.ts +10 -10
  18. package/.nuxt/module/nuxt-site-config.d.ts +8 -8
  19. package/.nuxt/module/nuxt-sitemap.d.ts +17 -17
  20. package/.nuxt/nitro.json +4 -4
  21. package/.nuxt/nuxt.d.ts +12 -11
  22. package/.nuxt/nuxt.json +2 -2
  23. package/.nuxt/nuxt.node.d.ts +13 -10
  24. package/.nuxt/tsconfig.app.json +191 -191
  25. package/.nuxt/tsconfig.json +194 -194
  26. package/.nuxt/tsconfig.node.json +105 -105
  27. package/.nuxt/tsconfig.server.json +128 -128
  28. package/.nuxt/tsconfig.shared.json +55 -55
  29. package/.nuxt/types/build.d.ts +2 -1
  30. package/.nuxt/types/components.d.ts +402 -208
  31. package/.nuxt/types/i18n-plugin.d.ts +2 -2
  32. package/.nuxt/types/imports.d.ts +348 -342
  33. package/.nuxt/types/modules.d.ts +16 -16
  34. package/.nuxt/types/nitro-imports.d.ts +68 -68
  35. package/.nuxt/types/nitro-nuxt.d.ts +1 -0
  36. package/.nuxt/types/nitro-routes.d.ts +20 -20
  37. package/.nuxt/types/plugins.d.ts +37 -37
  38. package/.nuxt/types/ui.d.ts +3 -3
  39. package/.nuxt/ui/drawer.ts +23 -0
  40. package/.nuxt/ui/progress.ts +3 -3
  41. package/.nuxt/ui-image-component.ts +1 -1
  42. package/.output/nitro.json +3 -3
  43. package/.output/public/_nuxt/1vOq3xiE.js +1 -0
  44. package/.output/public/_nuxt/22rhGZdI.js +1 -0
  45. package/.output/public/_nuxt/9eIdSibD.js +1 -0
  46. package/.output/public/_nuxt/BBmTy930.js +35 -0
  47. package/.output/public/_nuxt/BKe83Cjx.js +1 -0
  48. package/.output/public/_nuxt/Bc5GLloR.js +1 -0
  49. package/.output/public/_nuxt/BdG3SY-u.js +1 -0
  50. package/.output/public/_nuxt/BeyOQpYA.js +1 -0
  51. package/.output/public/_nuxt/BqcXd3MY.js +94 -0
  52. package/.output/public/_nuxt/Bz55A4y1.js +1 -0
  53. package/.output/public/_nuxt/C2ybsIQ4.js +1 -0
  54. package/.output/public/_nuxt/C4U5VOMJ.js +1 -0
  55. package/.output/public/_nuxt/CAJsyjAK.js +1 -0
  56. package/.output/public/_nuxt/CD9aBAuy.js +1 -0
  57. package/.output/public/_nuxt/CHOS7x_d.js +1 -0
  58. package/.output/public/_nuxt/CXhUbdF6.js +1 -0
  59. package/.output/public/_nuxt/CZWScI5k.js +1 -0
  60. package/.output/public/_nuxt/DHd34syF.js +1 -0
  61. package/.output/public/_nuxt/DMbgtwAJ.js +1 -0
  62. package/.output/public/_nuxt/DR8jhnFO.js +1 -0
  63. package/.output/public/_nuxt/DTT0LBLY.js +1 -0
  64. package/.output/public/_nuxt/{aetvq4w9.js → DWV_uL6G.js} +9 -12
  65. package/.output/public/_nuxt/DdpTKqR-.js +1 -0
  66. package/.output/public/_nuxt/Df_NcBcC.js +1 -0
  67. package/.output/public/_nuxt/DhqOMFXQ.js +1 -0
  68. package/.output/public/_nuxt/Dnp9eFDR.js +1 -0
  69. package/.output/public/_nuxt/DnqMs_6O.js +1 -0
  70. package/.output/public/_nuxt/Dq7g_IfY.js +1 -0
  71. package/.output/public/_nuxt/DsAJWnuW.js +1 -0
  72. package/.output/public/_nuxt/DvVg7vM_.js +1 -0
  73. package/.output/public/_nuxt/DwKqLVGx.js +1 -0
  74. package/.output/public/_nuxt/DxzqnQKF.js +1 -0
  75. package/.output/public/_nuxt/Y0f1tU-r.js +1 -0
  76. package/.output/public/_nuxt/atySmcu6.js +1 -0
  77. package/.output/public/_nuxt/builds/latest.json +1 -1
  78. package/.output/public/_nuxt/builds/meta/7bab2b8f-93ee-4f44-a604-8cd2b41eac60.json +1 -0
  79. package/.output/public/_nuxt/entry.CtpkPzPO.css +1 -0
  80. package/.output/public/_nuxt/error-404.DzDu4Ean.css +1 -0
  81. package/.output/public/_nuxt/error-500.BdNqqJx7.css +1 -0
  82. package/.output/public/_nuxt/q3i45eMH.js +1 -0
  83. package/.output/public/_nuxt/vueform.CkWb7x1C.css +1 -0
  84. package/.output/server/chunks/_/error-500.mjs +1 -1
  85. package/.output/server/chunks/_/error-500.mjs.map +1 -1
  86. package/.output/server/chunks/_/nitro.mjs +468 -543
  87. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  88. package/.output/server/chunks/build/client.precomputed.mjs +4 -0
  89. package/.output/server/chunks/build/client.precomputed.mjs.map +1 -0
  90. package/.output/server/chunks/routes/renderer.mjs +10 -33
  91. package/.output/server/chunks/routes/renderer.mjs.map +1 -1
  92. package/.output/server/index.mjs.map +1 -1
  93. package/.output/server/node_modules/@babel/parser/lib/index.js +212 -145
  94. package/.output/server/node_modules/@babel/parser/package.json +3 -3
  95. package/.output/server/node_modules/@poppinss/utils/package.json +1 -1
  96. package/.output/server/node_modules/@shikijs/core/package.json +2 -2
  97. package/.output/server/node_modules/@shikijs/engine-javascript/package.json +2 -2
  98. package/.output/server/node_modules/@shikijs/engine-oniguruma/package.json +2 -2
  99. package/.output/server/node_modules/@shikijs/langs/dist/javascript.mjs +1 -1
  100. package/.output/server/node_modules/@shikijs/langs/dist/typescript.mjs +1 -1
  101. package/.output/server/node_modules/@shikijs/langs/package.json +11 -3
  102. package/.output/server/node_modules/@shikijs/themes/package.json +3 -3
  103. package/.output/server/node_modules/@shikijs/transformers/package.json +3 -3
  104. package/.output/server/node_modules/@shikijs/types/package.json +1 -1
  105. package/.output/server/node_modules/detect-libc/lib/detect-libc.js +59 -13
  106. package/.output/server/node_modules/detect-libc/lib/elf.js +39 -0
  107. package/.output/server/node_modules/detect-libc/lib/filesystem.js +18 -8
  108. package/.output/server/node_modules/detect-libc/package.json +5 -2
  109. package/.output/server/node_modules/devalue/package.json +1 -1
  110. package/.output/server/node_modules/devalue/src/parse.js +7 -1
  111. package/.output/server/node_modules/devalue/src/uneval.js +9 -8
  112. package/.output/server/node_modules/fast-xml-parser/package.json +1 -1
  113. package/.output/server/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +297 -287
  114. package/.output/server/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +3 -2
  115. package/.output/server/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +4 -4
  116. package/.output/server/node_modules/image-meta/dist/index.mjs +85 -4
  117. package/.output/server/node_modules/image-meta/package.json +12 -12
  118. package/.output/server/node_modules/is-arrayish/package.json +1 -1
  119. package/.output/server/node_modules/node-fetch-native/dist/chunks/multipart-parser.mjs +2 -2
  120. package/.output/server/node_modules/node-fetch-native/dist/node.mjs +10 -10
  121. package/.output/server/node_modules/node-fetch-native/package.json +13 -13
  122. package/.output/server/node_modules/node-mock-http/dist/index.mjs +1 -1
  123. package/.output/server/node_modules/node-mock-http/package.json +6 -6
  124. package/.output/server/node_modules/oauth4webapi/build/index.js +10 -8
  125. package/.output/server/node_modules/oauth4webapi/package.json +12 -12
  126. package/.output/server/node_modules/openid-client/build/index.js +1 -1
  127. package/.output/server/node_modules/openid-client/package.json +7 -7
  128. package/.output/server/node_modules/secure-json-parse/index.js +35 -0
  129. package/.output/server/node_modules/secure-json-parse/package.json +2 -3
  130. package/.output/server/node_modules/semver/classes/semver.js +19 -5
  131. package/.output/server/node_modules/semver/internal/identifiers.js +4 -0
  132. package/.output/server/node_modules/semver/package.json +3 -3
  133. package/.output/server/node_modules/shiki/package.json +9 -9
  134. package/.output/server/node_modules/simple-swizzle/package.json +1 -1
  135. package/.output/server/node_modules/unhead/dist/parser.mjs +508 -0
  136. package/.output/server/node_modules/unhead/dist/server.mjs +6 -513
  137. package/.output/server/node_modules/unhead/package.json +5 -1
  138. package/.output/server/node_modules/unist-util-is/lib/index.js +10 -5
  139. package/.output/server/node_modules/unist-util-is/package.json +12 -9
  140. package/.output/server/node_modules/unist-util-visit-parents/lib/index.js +8 -7
  141. package/.output/server/node_modules/unist-util-visit-parents/package.json +18 -13
  142. package/.output/server/node_modules/yaml/dist/stringify/stringifyString.js +1 -1
  143. package/.output/server/node_modules/yaml/package.json +2 -1
  144. package/.output/server/package.json +27 -27
  145. package/bin/cli.js +23 -16
  146. package/bin/set-app-vue.js +3 -1
  147. package/bin/set-css.js +3 -1
  148. package/bin/set-eslint.js +3 -1
  149. package/bin/setup.js +10 -7
  150. package/nuxt.config.ts +13 -1
  151. package/package.json +15 -12
  152. package/test/versions.test.ts +65 -0
  153. package/vitest.config.ts +5 -5
  154. package/.nuxt/dist/server/client.manifest.json +0 -18
  155. package/.output/public/_nuxt/1soVlS0z.js +0 -1
  156. package/.output/public/_nuxt/B7rsWaa2.js +0 -1
  157. package/.output/public/_nuxt/BFreiu22.js +0 -1
  158. package/.output/public/_nuxt/BLcTglbc.js +0 -1
  159. package/.output/public/_nuxt/Bhd4_yFT.js +0 -1
  160. package/.output/public/_nuxt/Bhpb4lc3.js +0 -1
  161. package/.output/public/_nuxt/Bi2eMDmd.js +0 -1
  162. package/.output/public/_nuxt/Bm30MqE0.js +0 -1
  163. package/.output/public/_nuxt/BqsN2CZp.js +0 -1
  164. package/.output/public/_nuxt/Bs3IGOdt.js +0 -1
  165. package/.output/public/_nuxt/ByaiRTkI.js +0 -1
  166. package/.output/public/_nuxt/C9ePPGPX.js +0 -94
  167. package/.output/public/_nuxt/CA578xwz.js +0 -1
  168. package/.output/public/_nuxt/CDttUXKg.js +0 -1
  169. package/.output/public/_nuxt/CQozUI2A.js +0 -1
  170. package/.output/public/_nuxt/CSN71QT8.js +0 -1
  171. package/.output/public/_nuxt/CqCaqSd2.js +0 -1
  172. package/.output/public/_nuxt/D8v-efI7.js +0 -1
  173. package/.output/public/_nuxt/DBJqMhGy.js +0 -35
  174. package/.output/public/_nuxt/DR4hWRk7.js +0 -1
  175. package/.output/public/_nuxt/DRroQ-Xq.js +0 -1
  176. package/.output/public/_nuxt/DStnBfJS.js +0 -1
  177. package/.output/public/_nuxt/DXTYyv-V.js +0 -1
  178. package/.output/public/_nuxt/DeS1g0YT.js +0 -1
  179. package/.output/public/_nuxt/Deb6R53f.js +0 -1
  180. package/.output/public/_nuxt/DiDHllLr.js +0 -1
  181. package/.output/public/_nuxt/DvwlldUy.js +0 -1
  182. package/.output/public/_nuxt/DyCICqRh.js +0 -1
  183. package/.output/public/_nuxt/DzT4wm3Y.js +0 -1
  184. package/.output/public/_nuxt/E8nje24C.js +0 -1
  185. package/.output/public/_nuxt/RbPLLy5S.js +0 -1
  186. package/.output/public/_nuxt/builds/meta/cbc9377a-971e-4db1-b4b1-01807b82ee58.json +0 -1
  187. package/.output/public/_nuxt/entry.whtwWr_z.css +0 -1
  188. package/.output/public/_nuxt/error-404.Cq535Uij.css +0 -1
  189. package/.output/public/_nuxt/error-500.BHm_N15n.css +0 -1
  190. package/.output/public/_nuxt/jpnxxCHq.js +0 -1
  191. package/.output/public/_nuxt/sHsV3x2B.js +0 -1
  192. package/.output/public/_nuxt/sQEqbbg2.js +0 -1
  193. package/.output/public/_nuxt/vueform.ChEauysg.css +0 -1
  194. package/.output/server/chunks/build/client.manifest.mjs +0 -511
  195. package/.output/server/chunks/build/client.manifest.mjs.map +0 -1
@@ -3,40 +3,41 @@ import { Server } from 'node:http';
3
3
  import { resolve as resolve$1, dirname, join } from 'node:path';
4
4
  import crypto$1 from 'node:crypto';
5
5
  import { parentPort, threadId } from 'node:worker_threads';
6
- import { defineEventHandler, handleCacheHeaders, splitCookiesString, createEvent, fetchWithEvent, isEvent, eventHandler, setHeaders, sendRedirect, proxyRequest, getRequestHeader, setResponseHeaders, setResponseStatus, send, getRequestHeaders, setResponseHeader, appendResponseHeader, getRequestURL, getResponseHeader, setCookie, getResponseStatus, createError, useSession, getRequestHost, getRequestProtocol, getQuery as getQuery$1, removeResponseHeader, handleCors, getRequestIP, readMultipartFormData, readBody, setHeader, getHeader, getRouterParam, lazyEventHandler, useBase, createApp, createRouter as createRouter$1, toNodeListener, getResponseStatusText } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/h3@1.15.4/node_modules/h3/dist/index.mjs';
6
+ import { defineEventHandler, handleCacheHeaders, splitCookiesString, createEvent, fetchWithEvent, isEvent, eventHandler, setHeaders, sendRedirect, proxyRequest, getRequestHeader, setResponseHeaders, setResponseStatus, send, getRequestHeaders, setResponseHeader, appendResponseHeader, getRequestURL, getResponseHeader, setCookie, getResponseStatus, createError, useSession, getRequestHost, getRequestProtocol, getQuery as getQuery$1, removeResponseHeader, readBody, handleCors, getRequestIP, readMultipartFormData, setHeader, getHeader, getRouterParam, lazyEventHandler, useBase, createApp, createRouter as createRouter$1, toNodeListener, getResponseStatusText } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/h3@1.15.4/node_modules/h3/dist/index.mjs';
7
7
  import { escapeHtml } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/@vue+shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.js';
8
8
  import { createRenderer, getRequestDependencies, getPreloadLinks, getPrefetchLinks } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/vue-bundle-renderer@2.2.0/node_modules/vue-bundle-renderer/dist/runtime.mjs';
9
9
  import destr, { destr as destr$1 } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/destr@2.0.5/node_modules/destr/dist/index.mjs';
10
- import { renderToString } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/vue@3.5.22_typescript@5.9.2/node_modules/vue/server-renderer/index.mjs';
10
+ import { renderToString } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/vue@3.5.22_typescript@5.9.3/node_modules/vue/server-renderer/index.mjs';
11
11
  import { klona } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/klona@2.0.6/node_modules/klona/dist/index.mjs';
12
12
  import defu, { defuFn, defu as defu$1, createDefu } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/defu@6.1.4/node_modules/defu/dist/defu.mjs';
13
13
  import { snakeCase } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/scule@1.3.0/node_modules/scule/dist/index.mjs';
14
14
  import { createHead as createHead$1, propsToString, renderSSRHead } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/unhead@2.0.19/node_modules/unhead/dist/server.mjs';
15
- import { stringify, uneval } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/devalue@5.4.1/node_modules/devalue/index.js';
16
- import { isVNode, toValue, isRef } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/vue@3.5.22_typescript@5.9.2/node_modules/vue/index.mjs';
15
+ import { stringify, uneval } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/devalue@5.4.2/node_modules/devalue/index.js';
16
+ import { toValue, isVNode, isRef } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/vue@3.5.22_typescript@5.9.3/node_modules/vue/index.mjs';
17
17
  import { createHooks } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.mjs';
18
18
  import { createFetch, Headers as Headers$1 } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/ofetch@1.4.1/node_modules/ofetch/dist/node.mjs';
19
19
  import { fetchNodeRequestHandler, callNodeRequestHandler } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/node-mock-http@1.0.3/node_modules/node-mock-http/dist/index.mjs';
20
- import { createStorage, prefixStorage } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/unstorage@1.17.1_db0@0.3.4__38023131a8b83398e5a08fff55e44e94/node_modules/unstorage/dist/index.mjs';
21
- import unstorage_47drivers_47fs from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/unstorage@1.17.1_db0@0.3.4__38023131a8b83398e5a08fff55e44e94/node_modules/unstorage/drivers/fs.mjs';
22
- import unstorage_47drivers_47lru_45cache from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/unstorage@1.17.1_db0@0.3.4__38023131a8b83398e5a08fff55e44e94/node_modules/unstorage/drivers/lru-cache.mjs';
20
+ import { createStorage, prefixStorage } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/unstorage@1.17.1_db0@0.3.4__a86534b8094dbeae67245bf21e3092f9/node_modules/unstorage/dist/index.mjs';
21
+ import unstorage_47drivers_47fs from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/unstorage@1.17.1_db0@0.3.4__a86534b8094dbeae67245bf21e3092f9/node_modules/unstorage/drivers/fs.mjs';
22
+ import unstorage_47drivers_47lru_45cache from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/unstorage@1.17.1_db0@0.3.4__a86534b8094dbeae67245bf21e3092f9/node_modules/unstorage/drivers/lru-cache.mjs';
23
23
  import { digest, hash as hash$1 } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/index.mjs';
24
24
  import { toRouteMatcher, createRouter } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/radix3@1.1.2/node_modules/radix3/dist/index.mjs';
25
25
  import { readFile } from 'node:fs/promises';
26
- import consola, { consola as consola$1, createConsola } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/index.mjs';
26
+ import consola, { createConsola, consola as consola$1 } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/index.mjs';
27
27
  import { ErrorParser } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/youch-core@0.3.3/node_modules/youch-core/build/index.js';
28
28
  import { Youch } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/youch@4.1.0-beta.11/node_modules/youch/build/index.js';
29
29
  import { SourceMapConsumer } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/source-map@0.7.6/node_modules/source-map/source-map.js';
30
- import { AsyncLocalStorage } from 'node:async_hooks';
31
- import { getContext } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/unctx@2.4.1/node_modules/unctx/dist/index.mjs';
32
- import { captureRawStackTrace, parseRawStackTrace } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/errx@0.1.0/node_modules/errx/dist/index.js';
33
30
  import devalue from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/@nuxt+devalue@2.0.2/node_modules/@nuxt/devalue/dist/devalue.mjs';
34
31
  import { createPathIndexLanguageParser, parseAcceptLanguage } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/@intlify+utils@0.13.0/node_modules/@intlify/utils/dist/index.mjs';
35
32
  import { parse } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/cookie-es@2.0.0/node_modules/cookie-es/dist/index.mjs';
36
- import { createRouterMatcher } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/vue-router@4.6.3_vue@3.5.22_typescript@5.9.2_/node_modules/vue-router/vue-router.node.mjs';
33
+ import { createRouterMatcher } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/vue-router@4.6.3_vue@3.5.22_typescript@5.9.3_/node_modules/vue-router/vue-router.node.mjs';
34
+ import { AsyncLocalStorage } from 'node:async_hooks';
35
+ import { getContext } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/unctx@2.4.1/node_modules/unctx/dist/index.mjs';
36
+ import { captureRawStackTrace, parseRawStackTrace } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/errx@0.1.0/node_modules/errx/dist/index.js';
37
37
  import fs, { promises } from 'node:fs';
38
38
  import { fileURLToPath } from 'node:url';
39
39
  import { dirname as dirname$1, resolve as resolve$2 } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/pathe@1.1.2/node_modules/pathe/dist/index.mjs';
40
+ import { walkResolver } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/unhead@2.0.19/node_modules/unhead/dist/utils.mjs';
40
41
  import { FilterXSS } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/xss@1.0.15/node_modules/xss/lib/index.js';
41
42
  import { basename, resolve as resolve$3, isAbsolute } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/index.mjs';
42
43
  import { getIcons } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/@iconify+utils@2.3.0/node_modules/@iconify/utils/lib/index.mjs';
@@ -45,10 +46,9 @@ import { neon } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/@neondata
45
46
  import SqlString from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/sqlstring@2.3.3/node_modules/sqlstring/index.js';
46
47
  import Fuse from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/fuse.js@7.1.0/node_modules/fuse.js/dist/fuse.mjs';
47
48
  import { diffLines } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/diff@8.0.2/node_modules/diff/libesm/index.js';
48
- import MagicString from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/magic-string@0.30.19/node_modules/magic-string/dist/magic-string.es.mjs';
49
- import { walkResolver } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/unhead@2.0.19/node_modules/unhead/dist/utils.mjs';
49
+ import MagicString from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.mjs';
50
50
  import localAdapter from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/db0@0.3.4_better-sqlite3@12.2.0/node_modules/db0/dist/connectors/better-sqlite3.mjs';
51
- import { ipxFSStorage, ipxHttpStorage, createIPX, createIPXH3Handler } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/ipx@2.1.1_db0@0.3.4_better-sqlite3@12.2.0__ioredis@5.8.1/node_modules/ipx/dist/index.mjs';
51
+ import { ipxFSStorage, ipxHttpStorage, createIPX, createIPXH3Handler } from 'file://C:/Git/nuxt-ignis/core/node_modules/.pnpm/ipx@2.1.1_db0@0.3.4_better-sqlite3@12.2.0__ioredis@5.8.2/node_modules/ipx/dist/index.mjs';
52
52
 
53
53
  const HASH_RE = /#/g;
54
54
  const AMPERSAND_RE = /&/g;
@@ -1288,7 +1288,7 @@ const _inlineRuntimeConfig = {
1288
1288
  }
1289
1289
  },
1290
1290
  "nuxt-scripts": {
1291
- "version": "0.11.13",
1291
+ "version": "0.13.0",
1292
1292
  "defaultScriptOptions": {
1293
1293
  "trigger": "onNuxtReady"
1294
1294
  }
@@ -1384,7 +1384,7 @@ const _inlineRuntimeConfig = {
1384
1384
  }
1385
1385
  },
1386
1386
  "nuxt-scripts": {
1387
- "version": "0.11.13"
1387
+ "version": "0.13.0"
1388
1388
  },
1389
1389
  "private": {
1390
1390
  "basicAuth": false
@@ -1883,7 +1883,7 @@ const _inlineRuntimeConfig = {
1883
1883
  "description": "A ready-to-use setup for your next application in Nuxt"
1884
1884
  }
1885
1885
  ],
1886
- "version": "3.2.10",
1886
+ "version": "3.2.11",
1887
1887
  "debug": false,
1888
1888
  "multiTenancy": []
1889
1889
  },
@@ -1922,7 +1922,7 @@ const _inlineRuntimeConfig = {
1922
1922
  "fs": {
1923
1923
  "dir": [
1924
1924
  "C:/Git/nuxt-ignis/core/public",
1925
- "C:/Git/nuxt-ignis/core/node_modules/.pnpm/nuxt-spec@0.1.12_@parcel+wa_3bccb685101fac00477e0e11574aed43/node_modules/nuxt-spec/public"
1925
+ "C:/Git/nuxt-ignis/core/node_modules/.pnpm/nuxt-spec@0.1.14_@parcel+wa_1bd0a416d5aa2d7243737211ee57c1e5/node_modules/nuxt-spec/public"
1926
1926
  ]
1927
1927
  },
1928
1928
  "http": {
@@ -2092,6 +2092,335 @@ function hasReqHeader(event, name, includes) {
2092
2092
  return value && typeof value === "string" && value.toLowerCase().includes(includes);
2093
2093
  }
2094
2094
 
2095
+ const iframeStorageBridge = (nonce) => (
2096
+ /* js */
2097
+ `
2098
+ (function() {
2099
+ const memoryStore = {};
2100
+
2101
+ const NONCE = ${JSON.stringify(nonce)}
2102
+
2103
+ const mockStorage = {
2104
+ getItem: function(key) {
2105
+ return memoryStore[key] !== undefined ? memoryStore[key] : null;
2106
+ },
2107
+ setItem: function(key, value) {
2108
+ memoryStore[key] = String(value);
2109
+ window.parent.postMessage({
2110
+ type: 'storage-set',
2111
+ key: key,
2112
+ value: String(value),
2113
+ nonce: NONCE
2114
+ }, '*');
2115
+ },
2116
+ removeItem: function(key) {
2117
+ delete memoryStore[key];
2118
+ window.parent.postMessage({
2119
+ type: 'storage-remove',
2120
+ key: key,
2121
+ nonce: NONCE
2122
+ }, '*');
2123
+ },
2124
+ clear: function() {
2125
+ for (const key in memoryStore) {
2126
+ delete memoryStore[key];
2127
+ }
2128
+ window.parent.postMessage({
2129
+ type: 'storage-clear',
2130
+ nonce: NONCE
2131
+ }, '*');
2132
+ },
2133
+ key: function(index) {
2134
+ const keys = Object.keys(memoryStore);
2135
+ return keys[index] !== undefined ? keys[index] : null;
2136
+ },
2137
+ get length() {
2138
+ return Object.keys(memoryStore).length;
2139
+ }
2140
+ };
2141
+
2142
+ try {
2143
+ Object.defineProperty(window, 'localStorage', {
2144
+ value: mockStorage,
2145
+ writable: false,
2146
+ configurable: true
2147
+ });
2148
+ } catch (e) {
2149
+ window.localStorage = mockStorage;
2150
+ }
2151
+
2152
+ window.addEventListener('message', function(event) {
2153
+ if (event.data.type === 'storage-sync-data' && event.data.nonce === NONCE) {
2154
+ const data = event.data.data;
2155
+ for (const key in data) {
2156
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
2157
+ memoryStore[key] = data[key];
2158
+ }
2159
+ }
2160
+ if (typeof window.initTheme === 'function') {
2161
+ window.initTheme();
2162
+ }
2163
+ window.dispatchEvent(new Event('storage-ready'));
2164
+ }
2165
+ });
2166
+
2167
+ window.parent.postMessage({
2168
+ type: 'storage-sync-request',
2169
+ nonce: NONCE
2170
+ }, '*');
2171
+ })();
2172
+ `
2173
+ );
2174
+ const parentStorageBridge = (nonce) => (
2175
+ /* js */
2176
+ `
2177
+ (function() {
2178
+ const host = document.querySelector('nuxt-error-overlay');
2179
+ if (!host) return;
2180
+
2181
+ // Wait for shadow root to be attached
2182
+ const checkShadow = setInterval(function() {
2183
+ if (host.shadowRoot) {
2184
+ clearInterval(checkShadow);
2185
+ const iframe = host.shadowRoot.getElementById('frame');
2186
+ if (!iframe) return;
2187
+
2188
+ const NONCE = ${JSON.stringify(nonce)}
2189
+
2190
+ window.addEventListener('message', function(event) {
2191
+ if (!event.data || event.data.nonce !== NONCE) return;
2192
+
2193
+ const data = event.data;
2194
+
2195
+ if (data.type === 'storage-set') {
2196
+ localStorage.setItem(data.key, data.value);
2197
+ } else if (data.type === 'storage-remove') {
2198
+ localStorage.removeItem(data.key);
2199
+ } else if (data.type === 'storage-clear') {
2200
+ localStorage.clear();
2201
+ } else if (data.type === 'storage-sync-request') {
2202
+ const allData = {};
2203
+ for (let i = 0; i < localStorage.length; i++) {
2204
+ const key = localStorage.key(i);
2205
+ allData[key] = localStorage.getItem(key);
2206
+ }
2207
+ iframe.contentWindow.postMessage({
2208
+ type: 'storage-sync-data',
2209
+ data: allData,
2210
+ nonce: NONCE
2211
+ }, '*');
2212
+ }
2213
+ });
2214
+ }
2215
+ }, 10);
2216
+ })();
2217
+ `
2218
+ );
2219
+ const errorCSS = (
2220
+ /* css */
2221
+ `
2222
+ :host {
2223
+ --preview-width: 240px;
2224
+ --preview-height: 180px;
2225
+ --base-width: 1200px;
2226
+ --base-height: 900px;
2227
+ --z-base: 999999998;
2228
+ all: initial;
2229
+ display: contents;
2230
+ }
2231
+ .sr-only {
2232
+ position: absolute;
2233
+ width: 1px;
2234
+ height: 1px;
2235
+ padding: 0;
2236
+ margin: -1px;
2237
+ overflow: hidden;
2238
+ clip: rect(0, 0, 0, 0);
2239
+ white-space: nowrap;
2240
+ border-width: 0;
2241
+ }
2242
+ #frame {
2243
+ position: fixed;
2244
+ left: 0;
2245
+ top: 0;
2246
+ width: 100vw;
2247
+ height: 100vh;
2248
+ z-index: var(--z-base);
2249
+ }
2250
+ #frame[inert] {
2251
+ right: 5px;
2252
+ bottom: 5px;
2253
+ left: auto;
2254
+ top: auto;
2255
+ width: var(--base-width);
2256
+ height: var(--base-height);
2257
+ transform: scale(calc(240 / 1200));
2258
+ transform-origin: bottom right;
2259
+ overflow: hidden;
2260
+ border-radius: calc(1200 * 8px / 240);
2261
+ }
2262
+ #preview {
2263
+ position: fixed;
2264
+ right: 5px;
2265
+ bottom: 5px;
2266
+ width: var(--preview-width);
2267
+ height: var(--preview-height);
2268
+ overflow: hidden;
2269
+ border-radius: 8px;
2270
+ pointer-events: none;
2271
+ z-index: var(--z-base);
2272
+ background: white;
2273
+ display: none;
2274
+ }
2275
+ #frame:not([inert]) + #preview {
2276
+ display: block;
2277
+ }
2278
+ #toggle {
2279
+ position: fixed;
2280
+ right: 5px;
2281
+ bottom: 5px;
2282
+ width: var(--preview-width);
2283
+ height: var(--preview-height);
2284
+ background: none;
2285
+ border: 3px solid #00DC82;
2286
+ border-radius: 8px;
2287
+ cursor: pointer;
2288
+ opacity: 0.8;
2289
+ transition: opacity 0.2s, box-shadow 0.2s;
2290
+ z-index: calc(var(--z-base) + 1);
2291
+ }
2292
+ #toggle:hover,
2293
+ #toggle:focus {
2294
+ opacity: 1;
2295
+ box-shadow: 0 0 20px rgba(0, 220, 130, 0.6);
2296
+ }
2297
+ #toggle:focus-visible {
2298
+ outline: 3px solid #00DC82;
2299
+ outline-offset: 3px;
2300
+ box-shadow: 0 0 24px rgba(0, 220, 130, 0.8);
2301
+ }
2302
+ @media (prefers-reduced-motion: reduce) {
2303
+ #toggle {
2304
+ transition: none;
2305
+ }
2306
+ }
2307
+ `
2308
+ );
2309
+ function webComponentScript(base64HTML) {
2310
+ return (
2311
+ /* js */
2312
+ `
2313
+ (function() {
2314
+ try {
2315
+ const host = document.querySelector('nuxt-error-overlay');
2316
+ if (!host) return;
2317
+
2318
+ const shadow = host.attachShadow({ mode: 'open' });
2319
+
2320
+ // Create elements
2321
+ const style = document.createElement('style');
2322
+ style.textContent = ${JSON.stringify(errorCSS)};
2323
+
2324
+ const iframe = document.createElement('iframe');
2325
+ iframe.id = 'frame';
2326
+ iframe.src = 'data:text/html;base64,${base64HTML}';
2327
+ iframe.title = 'Detailed error stack trace';
2328
+ iframe.setAttribute('sandbox', 'allow-scripts allow-same-origin');
2329
+
2330
+ const preview = document.createElement('div');
2331
+ preview.id = 'preview';
2332
+
2333
+ const button = document.createElement('button');
2334
+ button.id = 'toggle';
2335
+ button.setAttribute('aria-expanded', 'true');
2336
+ button.setAttribute('type', 'button');
2337
+ button.innerHTML = '<span class="sr-only">Toggle detailed error view</span>';
2338
+
2339
+ const liveRegion = document.createElement('div');
2340
+ liveRegion.setAttribute('role', 'status');
2341
+ liveRegion.setAttribute('aria-live', 'polite');
2342
+ liveRegion.className = 'sr-only';
2343
+
2344
+ // Update preview snapshot
2345
+ function updatePreview() {
2346
+ try {
2347
+ let previewIframe = preview.querySelector('iframe');
2348
+ if (!previewIframe) {
2349
+ previewIframe = document.createElement('iframe');
2350
+ previewIframe.style.cssText = 'width: 1200px; height: 900px; transform: scale(0.2); transform-origin: top left; border: none;';
2351
+ previewIframe.setAttribute('sandbox', 'allow-scripts allow-same-origin');
2352
+ preview.appendChild(previewIframe);
2353
+ }
2354
+
2355
+ const doctype = document.doctype ? '<!DOCTYPE ' + document.doctype.name + '>' : '';
2356
+ const cleanedHTML = document.documentElement.outerHTML
2357
+ .replace(/<nuxt-error-overlay[^>]*>.*?<\\/nuxt-error-overlay>/gs, '')
2358
+ .replace(/<script[^>]*>.*?<\\/script>/gs, '');
2359
+
2360
+ const iframeDoc = previewIframe.contentDocument || previewIframe.contentWindow.document;
2361
+ iframeDoc.open();
2362
+ iframeDoc.write(doctype + cleanedHTML);
2363
+ iframeDoc.close();
2364
+ } catch (error) {
2365
+ console.error('Failed to update preview:', error);
2366
+ }
2367
+ }
2368
+
2369
+ function toggleView() {
2370
+ const isMinimized = iframe.hasAttribute('inert');
2371
+
2372
+ if (isMinimized) {
2373
+ updatePreview();
2374
+ iframe.removeAttribute('inert');
2375
+ button.setAttribute('aria-expanded', 'true');
2376
+ liveRegion.textContent = 'Showing detailed error view';
2377
+ setTimeout(function() {
2378
+ try { iframe.contentWindow.focus(); } catch {}
2379
+ }, 100);
2380
+ } else {
2381
+ iframe.setAttribute('inert', '');
2382
+ button.setAttribute('aria-expanded', 'false');
2383
+ liveRegion.textContent = 'Showing error page';
2384
+ button.focus();
2385
+ }
2386
+ }
2387
+
2388
+ button.onclick = toggleView;
2389
+
2390
+ document.addEventListener('keydown', function(e) {
2391
+ if ((e.key === 'Escape' || e.key === 'Esc') && !iframe.hasAttribute('inert')) {
2392
+ toggleView();
2393
+ }
2394
+ });
2395
+
2396
+ // Append to shadow DOM
2397
+ shadow.appendChild(style);
2398
+ shadow.appendChild(liveRegion);
2399
+ shadow.appendChild(iframe);
2400
+ shadow.appendChild(preview);
2401
+ shadow.appendChild(button);
2402
+
2403
+ // Initialize preview
2404
+ setTimeout(updatePreview, 100);
2405
+
2406
+ } catch (error) {
2407
+ console.error('Failed to initialize Nuxt error overlay:', error);
2408
+ }
2409
+ })();
2410
+ `
2411
+ );
2412
+ }
2413
+ function generateErrorOverlayHTML(html) {
2414
+ const nonce = Array.from(crypto.getRandomValues(new Uint8Array(16)), (b) => b.toString(16).padStart(2, "0")).join("");
2415
+ const errorPage = html.replace("<head>", `<head><script>${iframeStorageBridge(nonce)}<\/script>`);
2416
+ const base64HTML = Buffer.from(errorPage, "utf8").toString("base64");
2417
+ return `
2418
+ <script>${parentStorageBridge(nonce)}<\/script>
2419
+ <nuxt-error-overlay></nuxt-error-overlay>
2420
+ <script>${webComponentScript(base64HTML)}<\/script>
2421
+ `;
2422
+ }
2423
+
2095
2424
  const errorHandler$0 = (async function errorhandler(error, event, { defaultHandler }) {
2096
2425
  if (event.handled || isJsonRequest(event)) {
2097
2426
  return;
@@ -2128,7 +2457,7 @@ const errorHandler$0 = (async function errorhandler(error, event, { defaultHandl
2128
2457
  return;
2129
2458
  }
2130
2459
  if (!res) {
2131
- const { template } = await Promise.resolve().then(function () { return errorDev; }) ;
2460
+ const { template } = await Promise.resolve().then(function () { return error500; });
2132
2461
  {
2133
2462
  errorObject.description = errorObject.message;
2134
2463
  }
@@ -2144,7 +2473,10 @@ const errorHandler$0 = (async function errorhandler(error, event, { defaultHandl
2144
2473
  setResponseHeader(event, header, value);
2145
2474
  }
2146
2475
  setResponseStatus(event, res.status && res.status !== 200 ? res.status : defaultRes.status, res.statusText || defaultRes.statusText);
2147
- return send(event, html);
2476
+ {
2477
+ const prettyResponse = await defaultHandler(error, event, { json: false });
2478
+ return send(event, html.replace("</body>", `${generateErrorOverlayHTML(prettyResponse.body)}</body>`));
2479
+ }
2148
2480
  });
2149
2481
 
2150
2482
  function defineNitroErrorHandler(handler) {
@@ -2298,104 +2630,12 @@ if (!window.__NUXT_DEVTOOLS_TIME_METRIC__) {
2298
2630
  window.__NUXT_DEVTOOLS_TIME_METRIC__.appInit = Date.now()
2299
2631
  `;
2300
2632
 
2301
- const _aysm5mgmxiDA_yiJqCJuBSfTyWbk_qSScSLRQzvI4 = (function(nitro) {
2633
+ const _BtrFLZJJX4guWuKOA_LeWxs2CgWrqhdN2KXJO0Oc_Y = (function(nitro) {
2302
2634
  nitro.hooks.hook("render:html", (htmlContext) => {
2303
2635
  htmlContext.head.push(`<script>${script$1}<\/script>`);
2304
2636
  });
2305
2637
  });
2306
2638
 
2307
- const rootDir = "C:/Git/nuxt-ignis/core";
2308
-
2309
- const appHead = {"link":[],"meta":[{"name":"viewport","content":"width=device-width, initial-scale=1"},{"charset":"utf-8"},{"property":"og:type","content":"website"}],"style":[],"script":[],"noscript":[],"htmlAttrs":{"lang":"en-US"},"title":"Custom Nuxt Ignis App"};
2310
-
2311
- const appRootTag = "div";
2312
-
2313
- const appRootAttrs = {"id":"__nuxt","class":"isolate"};
2314
-
2315
- const appTeleportTag = "div";
2316
-
2317
- const appTeleportAttrs = {"id":"teleports"};
2318
-
2319
- const appSpaLoaderTag = "div";
2320
-
2321
- const appSpaLoaderAttrs = {"id":"__nuxt-loader"};
2322
-
2323
- const appId = "nuxt-app";
2324
-
2325
- const devReducers = {
2326
- VNode: (data) => isVNode(data) ? { type: data.type, props: data.props } : void 0,
2327
- URL: (data) => data instanceof URL ? data.toString() : void 0
2328
- };
2329
- const asyncContext = getContext("nuxt-dev", { asyncContext: true, AsyncLocalStorage });
2330
- const _1qDHlXIVv4KytxHbZs5uh9rZwA4urM2VRAAblkjYgQ = (nitroApp) => {
2331
- const handler = nitroApp.h3App.handler;
2332
- nitroApp.h3App.handler = (event) => {
2333
- return asyncContext.callAsync({ logs: [], event }, () => handler(event));
2334
- };
2335
- onConsoleLog((_log) => {
2336
- const ctx = asyncContext.tryUse();
2337
- if (!ctx) {
2338
- return;
2339
- }
2340
- const rawStack = captureRawStackTrace();
2341
- if (!rawStack || rawStack.includes("runtime/vite-node.mjs")) {
2342
- return;
2343
- }
2344
- const trace = [];
2345
- let filename = "";
2346
- for (const entry of parseRawStackTrace(rawStack)) {
2347
- if (entry.source === globalThis._importMeta_.url) {
2348
- continue;
2349
- }
2350
- if (EXCLUDE_TRACE_RE.test(entry.source)) {
2351
- continue;
2352
- }
2353
- filename ||= entry.source.replace(withTrailingSlash(rootDir), "");
2354
- trace.push({
2355
- ...entry,
2356
- source: entry.source.startsWith("file://") ? entry.source.replace("file://", "") : entry.source
2357
- });
2358
- }
2359
- const log = {
2360
- ..._log,
2361
- // Pass along filename to allow the client to display more info about where log comes from
2362
- filename,
2363
- // Clean up file names in stack trace
2364
- stack: trace
2365
- };
2366
- ctx.logs.push(log);
2367
- });
2368
- nitroApp.hooks.hook("afterResponse", () => {
2369
- const ctx = asyncContext.tryUse();
2370
- if (!ctx) {
2371
- return;
2372
- }
2373
- return nitroApp.hooks.callHook("dev:ssr-logs", { logs: ctx.logs, path: ctx.event.path });
2374
- });
2375
- nitroApp.hooks.hook("render:html", (htmlContext) => {
2376
- const ctx = asyncContext.tryUse();
2377
- if (!ctx) {
2378
- return;
2379
- }
2380
- try {
2381
- const reducers = Object.assign(/* @__PURE__ */ Object.create(null), devReducers, ctx.event.context._payloadReducers);
2382
- htmlContext.bodyAppend.unshift(`<script type="application/json" data-nuxt-logs="${appId}">${stringify(ctx.logs, reducers)}<\/script>`);
2383
- } catch (e) {
2384
- const shortError = e instanceof Error && "toString" in e ? ` Received \`${e.toString()}\`.` : "";
2385
- console.warn(`[nuxt] Failed to stringify dev server logs.${shortError} You can define your own reducer/reviver for rich types following the instructions in https://nuxt.com/docs/4.x/api/composables/use-nuxt-app#payload.`);
2386
- }
2387
- });
2388
- };
2389
- const EXCLUDE_TRACE_RE = /\/node_modules\/(?:.*\/)?(?:nuxt|nuxt-nightly|nuxt-edge|nuxt3|consola|@vue)\/|core\/runtime\/nitro/;
2390
- function onConsoleLog(callback) {
2391
- consola$1.addReporter({
2392
- log(logObj) {
2393
- callback(logObj);
2394
- }
2395
- });
2396
- consola$1.wrapConsole();
2397
- }
2398
-
2399
2639
  const _phrzZ3NodVihtWltdnRcquocEakKXP5smwHsyvnDKGI = defineNitroPlugin((nitroApp) => {
2400
2640
  if (process.env.NUXT_OAUTH_FACEBOOK_CLIENT_ID && process.env.NUXT_OAUTH_FACEBOOK_CLIENT_SECRET || process.env.NUXT_OAUTH_INSTAGRAM_CLIENT_ID && process.env.NUXT_OAUTH_INSTAGRAM_CLIENT_SECRET) {
2401
2641
  nitroApp.hooks.hook("render:html", (html) => {
@@ -2504,7 +2744,7 @@ function getSiteConfig(e, _options) {
2504
2744
  return e.context.siteConfig.get(options);
2505
2745
  }
2506
2746
 
2507
- const _klixn4pjLwFgBJzAaM3KT2XrxnnB66LRJ0ccSjlc5U = defineNitroPlugin(async (nitroApp) => {
2747
+ const _kdGf6XFSXDve3yeB4UoLLimvhaR3WS7IOBVNHP9Q8 = defineNitroPlugin(async (nitroApp) => {
2508
2748
  nitroApp.hooks.hook("render:html", async (ctx, { event }) => {
2509
2749
  getRouteRules(event);
2510
2750
  process.env.NUXT_COMPONENT_ISLANDS && event.path.startsWith("/__nuxt_island");
@@ -2917,7 +3157,7 @@ async function resolveRobotsTxtContext(e, nitro = useNitroApp()) {
2917
3157
  return generateRobotsTxtCtx;
2918
3158
  }
2919
3159
 
2920
- const _n27Lfy3SyrgAe8IOUePDY2ZJMYF1cyfFswnXKf6uPo = defineNitroPlugin(async (nitroApp) => {
3160
+ const _TdbS07hodDvxCZZuDol6xBiLqU3edXD7OlgwtHY2s = defineNitroPlugin(async (nitroApp) => {
2921
3161
  const { isNuxtContentV2, robotsDisabledValue, botDetection } = useRuntimeConfigNuxtRobots();
2922
3162
  if (botDetection !== false) {
2923
3163
  nitroApp._robotsPatternMap = createPatternMap();
@@ -3163,6 +3403,22 @@ const setupVueI18nOptions = async (defaultLocale) => {
3163
3403
  return options;
3164
3404
  };
3165
3405
 
3406
+ const appHead = {"link":[],"meta":[{"name":"viewport","content":"width=device-width, initial-scale=1"},{"charset":"utf-8"},{"property":"og:type","content":"website"}],"style":[],"script":[],"noscript":[],"htmlAttrs":{"lang":"en-US"},"title":"Custom Nuxt Ignis App"};
3407
+
3408
+ const appRootTag = "div";
3409
+
3410
+ const appRootAttrs = {"id":"__nuxt","class":"isolate"};
3411
+
3412
+ const appTeleportTag = "div";
3413
+
3414
+ const appTeleportAttrs = {"id":"teleports"};
3415
+
3416
+ const appSpaLoaderTag = "div";
3417
+
3418
+ const appSpaLoaderAttrs = {"id":"__nuxt-loader"};
3419
+
3420
+ const appId = "nuxt-app";
3421
+
3166
3422
  function useRuntimeI18n(nuxtApp) {
3167
3423
  {
3168
3424
  return useRuntimeConfig().public.i18n;
@@ -3291,7 +3547,7 @@ function* detect(detectors, detection, path) {
3291
3547
  }
3292
3548
  yield { locale: detection.fallbackLocale, source: "fallback" };
3293
3549
  }
3294
- const _Rm0FfO0ukOxIcv10sOZlNaDksl8anFoUNVqrMRBHBLc = defineNitroPlugin(async (nitro) => {
3550
+ const _LoVVNyMOiEEEXN0qXs2724FMLdNnKMllA3Qq3f7Cis = defineNitroPlugin(async (nitro) => {
3295
3551
  const runtimeI18n = useRuntimeI18n();
3296
3552
  const rootRedirect = resolveRootRedirect(runtimeI18n.rootRedirect);
3297
3553
  const _defaultLocale = runtimeI18n.defaultLocale || "";
@@ -3363,6 +3619,9 @@ const _Rm0FfO0ukOxIcv10sOZlNaDksl8anFoUNVqrMRBHBLc = defineNitroPlugin(async (ni
3363
3619
  const options = await setupVueI18nOptions(getDefaultLocaleForDomain(getHost(event)) || _defaultLocale);
3364
3620
  const url = getRequestURL(event);
3365
3621
  const ctx = createI18nContext();
3622
+ const localeConfigs = createLocaleConfigs(options.fallbackLocale);
3623
+ ctx.vueI18nOptions = options;
3624
+ ctx.localeConfigs = localeConfigs;
3366
3625
  event.context.nuxtI18n = ctx;
3367
3626
  {
3368
3627
  const detector = useDetectors(event, detection);
@@ -3384,15 +3643,88 @@ const _Rm0FfO0ukOxIcv10sOZlNaDksl8anFoUNVqrMRBHBLc = defineNitroPlugin(async (ni
3384
3643
  return;
3385
3644
  }
3386
3645
  }
3387
- const localeConfigs = createLocaleConfigs(options.fallbackLocale);
3388
- ctx.vueI18nOptions = options;
3389
- ctx.localeConfigs = localeConfigs;
3390
3646
  });
3391
3647
  nitro.hooks.hook("render:html", (htmlContext, { event }) => {
3392
3648
  tryUseI18nContext(event);
3393
3649
  });
3394
3650
  });
3395
3651
 
3652
+ const rootDir = "C:/Git/nuxt-ignis/core";
3653
+
3654
+ const devReducers = {
3655
+ VNode: (data) => isVNode(data) ? { type: data.type, props: data.props } : void 0,
3656
+ URL: (data) => data instanceof URL ? data.toString() : void 0
3657
+ };
3658
+ const asyncContext = getContext("nuxt-dev", { asyncContext: true, AsyncLocalStorage });
3659
+ const _RUfzQNDUEpmSa5oqfVEnKCUX54f3cwFkfKdkDjSLpc = (nitroApp) => {
3660
+ const handler = nitroApp.h3App.handler;
3661
+ nitroApp.h3App.handler = (event) => {
3662
+ return asyncContext.callAsync({ logs: [], event }, () => handler(event));
3663
+ };
3664
+ onConsoleLog((_log) => {
3665
+ const ctx = asyncContext.tryUse();
3666
+ if (!ctx) {
3667
+ return;
3668
+ }
3669
+ const rawStack = captureRawStackTrace();
3670
+ if (!rawStack || rawStack.includes("runtime/vite-node.mjs")) {
3671
+ return;
3672
+ }
3673
+ const trace = [];
3674
+ let filename = "";
3675
+ for (const entry of parseRawStackTrace(rawStack)) {
3676
+ if (entry.source === globalThis._importMeta_.url) {
3677
+ continue;
3678
+ }
3679
+ if (EXCLUDE_TRACE_RE.test(entry.source)) {
3680
+ continue;
3681
+ }
3682
+ filename ||= entry.source.replace(withTrailingSlash(rootDir), "");
3683
+ trace.push({
3684
+ ...entry,
3685
+ source: entry.source.startsWith("file://") ? entry.source.replace("file://", "") : entry.source
3686
+ });
3687
+ }
3688
+ const log = {
3689
+ ..._log,
3690
+ // Pass along filename to allow the client to display more info about where log comes from
3691
+ filename,
3692
+ // Clean up file names in stack trace
3693
+ stack: trace
3694
+ };
3695
+ ctx.logs.push(log);
3696
+ });
3697
+ nitroApp.hooks.hook("afterResponse", () => {
3698
+ const ctx = asyncContext.tryUse();
3699
+ if (!ctx) {
3700
+ return;
3701
+ }
3702
+ return nitroApp.hooks.callHook("dev:ssr-logs", { logs: ctx.logs, path: ctx.event.path });
3703
+ });
3704
+ nitroApp.hooks.hook("render:html", (htmlContext) => {
3705
+ const ctx = asyncContext.tryUse();
3706
+ if (!ctx) {
3707
+ return;
3708
+ }
3709
+ try {
3710
+ const reducers = Object.assign(/* @__PURE__ */ Object.create(null), devReducers, ctx.event.context._payloadReducers);
3711
+ htmlContext.bodyAppend.unshift(`<script type="application/json" data-nuxt-logs="${appId}">${stringify(ctx.logs, reducers)}<\/script>`);
3712
+ } catch (e) {
3713
+ const shortError = e instanceof Error && "toString" in e ? ` Received \`${e.toString()}\`.` : "";
3714
+ console.warn(`[nuxt] Failed to stringify dev server logs.${shortError} You can define your own reducer/reviver for rich types following the instructions in https://nuxt.com/docs/4.x/api/composables/use-nuxt-app#payload.`);
3715
+ }
3716
+ });
3717
+ };
3718
+ const EXCLUDE_TRACE_RE = /\/node_modules\/(?:.*\/)?(?:nuxt|nuxt-nightly|nuxt-edge|nuxt3|consola|@vue)\/|core\/runtime\/nitro/;
3719
+ function onConsoleLog(callback) {
3720
+ consola$1.addReporter({
3721
+ log(logObj) {
3722
+ callback(logObj);
3723
+ }
3724
+ });
3725
+ consola$1.wrapConsole();
3726
+ }
3727
+
3396
3728
  const script = "\"use strict\";(()=>{const t=window,e=document.documentElement,c=[\"dark\",\"light\"],n=getStorageValue(\"localStorage\",\"nuxt-color-mode\")||\"system\";let i=n===\"system\"?u():n;const r=e.getAttribute(\"data-color-mode-forced\");r&&(i=r),l(i),t[\"__NUXT_COLOR_MODE__\"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=\"\"+o+\"\",a=\"\";e.classList?e.classList.add(s):e.className+=\" \"+s,a&&e.setAttribute(\"data-\"+a,o)}function d(o){const s=\"\"+o+\"\",a=\"\";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,\"g\"),\"\"),a&&e.removeAttribute(\"data-\"+a)}function f(o){return t.matchMedia(\"(prefers-color-scheme\"+o+\")\")}function u(){if(t.matchMedia&&f(\"\").media!==\"not all\"){for(const o of c)if(f(\":\"+o).matches)return o}return\"light\"}})();function getStorageValue(t,e){switch(t){case\"localStorage\":return window.localStorage.getItem(e);case\"sessionStorage\":return window.sessionStorage.getItem(e);case\"cookie\":return getCookie(e);default:return null}}function getCookie(t){const c=(\"; \"+window.document.cookie).split(\"; \"+t+\"=\");if(c.length===2)return c.pop()?.split(\";\").shift()}";
3397
3729
 
3398
3730
  const _7V99JalBsmMpJ4Im6qwrWJC2toR4GkZuF5sU0ekK6TU = (function(nitro) {
@@ -4634,7 +4966,7 @@ function backwardsCompatibleSecurity(securityHeaders) {
4634
4966
  return securityHeadersAsObject;
4635
4967
  }
4636
4968
 
4637
- const _llFHtzCNQH3gVSDjE6ON4IP734y9pGqY4SILKdls2Ug = defineNitroPlugin(async (nitroApp) => {
4969
+ const _4Vm6PaMZNaFiyqlri4J_3If2IWln0vpRDlJmQDnf2jo = defineNitroPlugin(async (nitroApp) => {
4638
4970
  const appSecurityOptions = getAppSecurityOptions();
4639
4971
  const runtimeConfig = useRuntimeConfig();
4640
4972
  for (const route in runtimeConfig.nitro.routeRules) {
@@ -4678,11 +5010,11 @@ const _llFHtzCNQH3gVSDjE6ON4IP734y9pGqY4SILKdls2Ug = defineNitroPlugin(async (ni
4678
5010
  await nitroApp.hooks.callHook("nuxt-security:ready");
4679
5011
  });
4680
5012
 
4681
- const sriHashes = {"/_nuxt/builds/meta/dev.json":"sha384-Dg1H8VYZMm5gcxDWTe5KUBFtgeTY3hWaDonjJt3UTTFJ5mlx6OYXcKWfUVw/50dX","/_nuxt/builds/latest.json":"sha384-j4AOV2hymVVaZspWSuVjGOG+lR27eToki6w3qqU3hrgmGwfhp9ZDfYF1etCG3xjr","/_fonts/aPa9az0DeE4U5rqM-Ov0Vl_obQis_d6sScLNygGkvxw-s32Y9TxBLZRr_ebRHQ3l3q1g2j_0tPT879PPSBGrj8A.woff2":"sha384-A9QxCE9lPVXbqJLKywOZu/0mfnagppo3gIkNb0hL/czBrJVkLds+u6RpiSG0NvFo","/_fonts/EP1810cmAtyahQPDHB6nvBzRkIG5RcNv4u5vTy1aYHU-Ih_Po7WkbhDymI0Y_ntmpz__bZJprHiu7_c5N_X6AAA.woff2":"sha384-+PmgyN4qjpS0OKS3tzpnBzL+tElvEVNQIl0m4fERgMbCABP2lX0btd+ZJmtW2ArI","/_fonts/JNWOTRocaYj0gq52vW_s7sHAdSMUetrRmhhggCVxyZ0-TnR4PP30hI5UWldZ0knUBrHkvIoiDWYXwn2v1NtCh80.woff2":"sha384-iUZRizg1CuPUg7n1OkqSVEIjaw34zUc6NUPJrGHoQTVQsmIF65vPx9MOTD5ONTvH","/_fonts/kgyHMsxRmhh06xcV0yKMKdTKQBsQpXGi7erqwaqgjXg-55rzD39AWoqYSkQOLHuoKZUDVcDSlXRKdaymIN2dXes.woff":"sha384-0W1DksASmFMz/uEJlqgSE9CoI0NaZE4S+FkNmGlcELBL96bPDmMQzEvaMOgKBqd1","/_fonts/XbAtjIvy1UErjg9eu_v7X3zPLS_AwsmqVsR9fG-JB6o-H99o9_8BZXq7ey5UyS99Wn9zX0V0anvpXEqAqavcJlQ.woff2":"sha384-KWAx1TYOYzHt7smA8HF6EuuKxlQjXkwztw0PEe7lPd2nXNzhGpdobMAoGJ5RXTOm","/_fonts/ZLm6CLvwhQbamZ73M80jbqz7DuOkHlT_HRyXHG7YfVs-eYLoSJPWhqR5CE0c8XPABls8kE_7Fc7F2x7Gtfsg_8M.woff2":"sha384-6OEfO361yZtm7FjffN3HFcdErLtYooL76nG9prK0CbRoC1eKwh4EPFE78Ps30v4m","/favicon.ico":"sha384-qOhXBYvwwZHHuXW10XxZvVu9Mzkpqf/fw3zEOxCGyqOoKqyHbeudntAaY6nKOTro","/nuxt-ignis.png":"sha384-0A9c4mBzqU5z5xKB2ef9Sho451aXKA/G+oarzjR3hWMQaIvKYguRW7wYg95Yfei4","/unsplash.jpg":"sha384-66n0HIHfBVzK8qdw7zVfgwJ5htcrV6EtN2DQmlyxUIu46/kEKMRMqFrWKYm8bP18","/_ignis-config.json":"sha384-OirE9KJS/YdF0Hkpt3AuMm9dq4Q6ligBbS2HMCVsRodjc4ObE44Rwj9wG0i0TuL+","/nuxt-spec.png":"sha384-lqerIwfMImy74T5uRR9ogeRAvkGehx21V4QBTVB0a6Zp+2VTFMZmjOtNAAti72LU"};
5013
+ const sriHashes = {"/_nuxt/builds/meta/dev.json":"sha384-UZpNBf+3O9GpG9xRTkrZ8mjh0EQP4zoKIGn9wZxAtBGgbPP45eEf1hgLpZXcz2L8","/_nuxt/builds/latest.json":"sha384-Iv9xDaLgQYYj9LqjHuJv0zGNv24QJhDSXlxrQgt0ZZYQWGZLXoZvUO5aOR4SM+/c","/_fonts/aPa9az0DeE4U5rqM-Ov0Vl_obQis_d6sScLNygGkvxw-s32Y9TxBLZRr_ebRHQ3l3q1g2j_0tPT879PPSBGrj8A.woff2":"sha384-A9QxCE9lPVXbqJLKywOZu/0mfnagppo3gIkNb0hL/czBrJVkLds+u6RpiSG0NvFo","/_fonts/EP1810cmAtyahQPDHB6nvBzRkIG5RcNv4u5vTy1aYHU-Ih_Po7WkbhDymI0Y_ntmpz__bZJprHiu7_c5N_X6AAA.woff2":"sha384-+PmgyN4qjpS0OKS3tzpnBzL+tElvEVNQIl0m4fERgMbCABP2lX0btd+ZJmtW2ArI","/_fonts/JNWOTRocaYj0gq52vW_s7sHAdSMUetrRmhhggCVxyZ0-TnR4PP30hI5UWldZ0knUBrHkvIoiDWYXwn2v1NtCh80.woff2":"sha384-iUZRizg1CuPUg7n1OkqSVEIjaw34zUc6NUPJrGHoQTVQsmIF65vPx9MOTD5ONTvH","/_fonts/kgyHMsxRmhh06xcV0yKMKdTKQBsQpXGi7erqwaqgjXg-55rzD39AWoqYSkQOLHuoKZUDVcDSlXRKdaymIN2dXes.woff":"sha384-0W1DksASmFMz/uEJlqgSE9CoI0NaZE4S+FkNmGlcELBL96bPDmMQzEvaMOgKBqd1","/_fonts/XbAtjIvy1UErjg9eu_v7X3zPLS_AwsmqVsR9fG-JB6o-H99o9_8BZXq7ey5UyS99Wn9zX0V0anvpXEqAqavcJlQ.woff2":"sha384-KWAx1TYOYzHt7smA8HF6EuuKxlQjXkwztw0PEe7lPd2nXNzhGpdobMAoGJ5RXTOm","/_fonts/ZLm6CLvwhQbamZ73M80jbqz7DuOkHlT_HRyXHG7YfVs-eYLoSJPWhqR5CE0c8XPABls8kE_7Fc7F2x7Gtfsg_8M.woff2":"sha384-6OEfO361yZtm7FjffN3HFcdErLtYooL76nG9prK0CbRoC1eKwh4EPFE78Ps30v4m","/favicon.ico":"sha384-qOhXBYvwwZHHuXW10XxZvVu9Mzkpqf/fw3zEOxCGyqOoKqyHbeudntAaY6nKOTro","/nuxt-ignis.png":"sha384-0A9c4mBzqU5z5xKB2ef9Sho451aXKA/G+oarzjR3hWMQaIvKYguRW7wYg95Yfei4","/unsplash.jpg":"sha384-66n0HIHfBVzK8qdw7zVfgwJ5htcrV6EtN2DQmlyxUIu46/kEKMRMqFrWKYm8bP18","/_ignis-config.json":"sha384-OirE9KJS/YdF0Hkpt3AuMm9dq4Q6ligBbS2HMCVsRodjc4ObE44Rwj9wG0i0TuL+","/nuxt-spec.png":"sha384-lqerIwfMImy74T5uRR9ogeRAvkGehx21V4QBTVB0a6Zp+2VTFMZmjOtNAAti72LU"};
4682
5014
 
4683
5015
  const SCRIPT_RE$1 = /<script((?=[^>]+\bsrc="([^"]+)")(?![^>]+\bintegrity="[^"]+")[^>]+)(?:\/>|><\/script>)/g;
4684
5016
  const LINK_RE$1 = /<link((?=[^>]+\brel="(?:stylesheet|preload|modulepreload)")(?=[^>]+\bhref="([^"]+)")(?![^>]+\bintegrity="[\w\-+/=]+")[^>]+)>/g;
4685
- const _tBHVaLmqPQzML_7rc_3xiU_QdCzlOVMMViRW0uK6a0 = defineNitroPlugin((nitroApp) => {
5017
+ const _7dOV7LP1d6k7UjPtnpR35H26iiEGkqk5GWbFJRIaFQ = defineNitroPlugin((nitroApp) => {
4686
5018
  nitroApp.hooks.hook("render:html", (html, { event }) => {
4687
5019
  const rules = resolveSecurityRules(event);
4688
5020
  if (!rules.enabled || !rules.sri) {
@@ -4725,7 +5057,7 @@ function generateRandomNonce() {
4725
5057
  return nonce;
4726
5058
  }
4727
5059
 
4728
- const _1f23R_ONkLRrFLw9EyQoSos40LMjmZgDD0rkVY = defineNitroPlugin((nitroApp) => {
5060
+ const _bcf5ErvzNaqmFXYH3amyw4lXQvxpHMitUC1M6Tloys = defineNitroPlugin((nitroApp) => {
4729
5061
  {
4730
5062
  return;
4731
5063
  }
@@ -4735,7 +5067,7 @@ const LINK_RE = /<link([^>]*?>)/gi;
4735
5067
  const NONCE_RE = /nonce="[^"]+"/i;
4736
5068
  const SCRIPT_RE = /<script([^>]*?>)/gi;
4737
5069
  const STYLE_RE = /<style([^>]*?>)/gi;
4738
- const _aqHiBZGmr3yRL6YD_7oa9aosdrpsYed20O9KBdjWc7w = defineNitroPlugin((nitroApp) => {
5070
+ const _bnDr2rawczHHxYffyrIiQQAgQ2arBj7ot1j1Q38bV74 = defineNitroPlugin((nitroApp) => {
4739
5071
  nitroApp.hooks.hook("request", (event) => {
4740
5072
  if (event.context.security?.nonce) {
4741
5073
  return;
@@ -4781,7 +5113,7 @@ const _aqHiBZGmr3yRL6YD_7oa9aosdrpsYed20O9KBdjWc7w = defineNitroPlugin((nitroApp
4781
5113
  });
4782
5114
  });
4783
5115
 
4784
- const _hPLuq4NAb9xD_gFLeKWmbZJC26H5sbttp78qtRFQHM = defineNitroPlugin((nitroApp) => {
5116
+ const _Bsob0YNmfepHfePUd2JvgJLMdWllVeL_4evfw7u1T4 = defineNitroPlugin((nitroApp) => {
4785
5117
  nitroApp.hooks.hook("render:html", (response, { event }) => {
4786
5118
  if (response.island) {
4787
5119
  return;
@@ -4829,13 +5161,13 @@ function updateCspVariables(csp, nonce, scriptHashes, styleHashes) {
4829
5161
  return generatedCsp;
4830
5162
  }
4831
5163
 
4832
- const _Rp7dbf7w95ErCLYHb6ePhQ7Yy9pAjwsT_UF4QmXP8t0 = defineNitroPlugin((nitroApp) => {
5164
+ const _MFHW7RwBYpGi7ypYpUs4noT4MkmKhWp42NED3_tFw8 = defineNitroPlugin((nitroApp) => {
4833
5165
  {
4834
5166
  return;
4835
5167
  }
4836
5168
  });
4837
5169
 
4838
- const _I2cuFHpmSSbgCq4nZIVZYTtMLdRPXoy_iqxFKgnuAI = defineNitroPlugin((nitroApp) => {
5170
+ const _WGoGltCkvjyszwqp4ncggAngTNT0LjmCJ07K9ejco = defineNitroPlugin((nitroApp) => {
4839
5171
  nitroApp.hooks.hook("render:response", (response, { event }) => {
4840
5172
  const rules = resolveSecurityRules(event);
4841
5173
  if (rules.enabled && rules.headers) {
@@ -4858,7 +5190,7 @@ const _I2cuFHpmSSbgCq4nZIVZYTtMLdRPXoy_iqxFKgnuAI = defineNitroPlugin((nitroApp)
4858
5190
  });
4859
5191
  });
4860
5192
 
4861
- const _FigXL9M8zs3Kbgf5QcOqk3Jd5aRAvmOpmlkbDDlguE = defineNitroPlugin((nitroApp) => {
5193
+ const _A415alzmzNvROQZ8AeeoPviXW2dqDT3QcR4fiPYIeD4 = defineNitroPlugin((nitroApp) => {
4862
5194
  nitroApp.hooks.hook("beforeResponse", (event) => {
4863
5195
  const rules = resolveSecurityRules(event);
4864
5196
  if (rules.enabled && rules.hidePoweredBy && !event.node.res.headersSent) {
@@ -4867,7 +5199,7 @@ const _FigXL9M8zs3Kbgf5QcOqk3Jd5aRAvmOpmlkbDDlguE = defineNitroPlugin((nitroApp)
4867
5199
  });
4868
5200
  });
4869
5201
 
4870
- const _ODVTCq3uMRBcN_5duWQ2OS4IIhXoPwcdc_OHRaH9mY = defineNitroPlugin(async (nitroApp) => {
5202
+ const _zx7ORanOQesZSIooVG7NvNwboquqxPtY8WKNATdsroM = defineNitroPlugin(async (nitroApp) => {
4871
5203
  {
4872
5204
  const prerenderedHeaders = await useStorage("assets:nuxt-security").getItem("headers.json") || {};
4873
5205
  nitroApp.hooks.hook("beforeResponse", (event) => {
@@ -4883,22 +5215,22 @@ const _ODVTCq3uMRBcN_5duWQ2OS4IIhXoPwcdc_OHRaH9mY = defineNitroPlugin(async (nit
4883
5215
  });
4884
5216
 
4885
5217
  const plugins = [
4886
- _aysm5mgmxiDA_yiJqCJuBSfTyWbk_qSScSLRQzvI4,
4887
- _1qDHlXIVv4KytxHbZs5uh9rZwA4urM2VRAAblkjYgQ,
5218
+ _BtrFLZJJX4guWuKOA_LeWxs2CgWrqhdN2KXJO0Oc_Y,
4888
5219
  _phrzZ3NodVihtWltdnRcquocEakKXP5smwHsyvnDKGI,
4889
- _klixn4pjLwFgBJzAaM3KT2XrxnnB66LRJ0ccSjlc5U,
4890
- _n27Lfy3SyrgAe8IOUePDY2ZJMYF1cyfFswnXKf6uPo,
4891
- _Rm0FfO0ukOxIcv10sOZlNaDksl8anFoUNVqrMRBHBLc,
5220
+ _kdGf6XFSXDve3yeB4UoLLimvhaR3WS7IOBVNHP9Q8,
5221
+ _TdbS07hodDvxCZZuDol6xBiLqU3edXD7OlgwtHY2s,
5222
+ _LoVVNyMOiEEEXN0qXs2724FMLdNnKMllA3Qq3f7Cis,
5223
+ _RUfzQNDUEpmSa5oqfVEnKCUX54f3cwFkfKdkDjSLpc,
4892
5224
  _7V99JalBsmMpJ4Im6qwrWJC2toR4GkZuF5sU0ekK6TU,
4893
- _llFHtzCNQH3gVSDjE6ON4IP734y9pGqY4SILKdls2Ug,
4894
- _tBHVaLmqPQzML_7rc_3xiU_QdCzlOVMMViRW0uK6a0,
4895
- _1f23R_ONkLRrFLw9EyQoSos40LMjmZgDD0rkVY,
4896
- _aqHiBZGmr3yRL6YD_7oa9aosdrpsYed20O9KBdjWc7w,
4897
- _hPLuq4NAb9xD_gFLeKWmbZJC26H5sbttp78qtRFQHM,
4898
- _Rp7dbf7w95ErCLYHb6ePhQ7Yy9pAjwsT_UF4QmXP8t0,
4899
- _I2cuFHpmSSbgCq4nZIVZYTtMLdRPXoy_iqxFKgnuAI,
4900
- _FigXL9M8zs3Kbgf5QcOqk3Jd5aRAvmOpmlkbDDlguE,
4901
- _ODVTCq3uMRBcN_5duWQ2OS4IIhXoPwcdc_OHRaH9mY
5225
+ _4Vm6PaMZNaFiyqlri4J_3If2IWln0vpRDlJmQDnf2jo,
5226
+ _7dOV7LP1d6k7UjPtnpR35H26iiEGkqk5GWbFJRIaFQ,
5227
+ _bcf5ErvzNaqmFXYH3amyw4lXQvxpHMitUC1M6Tloys,
5228
+ _bnDr2rawczHHxYffyrIiQQAgQ2arBj7ot1j1Q38bV74,
5229
+ _Bsob0YNmfepHfePUd2JvgJLMdWllVeL_4evfw7u1T4,
5230
+ _MFHW7RwBYpGi7ypYpUs4noT4MkmKhWp42NED3_tFw8,
5231
+ _WGoGltCkvjyszwqp4ncggAngTNT0LjmCJ07K9ejco,
5232
+ _A415alzmzNvROQZ8AeeoPviXW2dqDT3QcR4fiPYIeD4,
5233
+ _zx7ORanOQesZSIooVG7NvNwboquqxPtY8WKNATdsroM
4902
5234
  ];
4903
5235
 
4904
5236
  const assets = {};
@@ -4926,7 +5258,7 @@ function getAsset (id) {
4926
5258
 
4927
5259
  const METHODS = /* @__PURE__ */ new Set(["HEAD", "GET"]);
4928
5260
  const EncodingMap = { gzip: ".gz", br: ".br" };
4929
- const _DdAzi_ = eventHandler((event) => {
5261
+ const _R9eK6g = eventHandler((event) => {
4930
5262
  if (event.method && !METHODS.has(event.method)) {
4931
5263
  return;
4932
5264
  }
@@ -4990,17 +5322,326 @@ const _DdAzi_ = eventHandler((event) => {
4990
5322
  return readAsset(id);
4991
5323
  });
4992
5324
 
4993
- const defaultThrowErrorValue = { throwError: true };
4994
- const defaultSecurityConfig = (serverlUrl, strict) => {
4995
- const defaultConfig = {
4996
- strict,
4997
- headers: {
4998
- crossOriginResourcePolicy: "same-origin",
4999
- crossOriginOpenerPolicy: "same-origin",
5000
- crossOriginEmbedderPolicy: "unsafe-none" ,
5001
- contentSecurityPolicy: {
5002
- "base-uri": ["'none'"],
5003
- "font-src": ["'self'", "https:", "data:"],
5325
+ const VueResolver = (_, value) => {
5326
+ return isRef(value) ? toValue(value) : value;
5327
+ };
5328
+
5329
+ const headSymbol = "usehead";
5330
+ // @__NO_SIDE_EFFECTS__
5331
+ function vueInstall(head) {
5332
+ const plugin = {
5333
+ install(app) {
5334
+ app.config.globalProperties.$unhead = head;
5335
+ app.config.globalProperties.$head = head;
5336
+ app.provide(headSymbol, head);
5337
+ }
5338
+ };
5339
+ return plugin.install;
5340
+ }
5341
+
5342
+ // @__NO_SIDE_EFFECTS__
5343
+ function resolveUnrefHeadInput(input) {
5344
+ return walkResolver(input, VueResolver);
5345
+ }
5346
+
5347
+ // @__NO_SIDE_EFFECTS__
5348
+ function createHead(options = {}) {
5349
+ const head = createHead$1({
5350
+ ...options,
5351
+ propResolvers: [VueResolver]
5352
+ });
5353
+ head.install = vueInstall(head);
5354
+ return head;
5355
+ }
5356
+
5357
+ const unheadOptions = {
5358
+ disableDefaults: true,
5359
+ };
5360
+
5361
+ function createSSRContext(event) {
5362
+ const ssrContext = {
5363
+ url: event.path,
5364
+ event,
5365
+ runtimeConfig: useRuntimeConfig(event),
5366
+ noSSR: true,
5367
+ head: createHead(unheadOptions),
5368
+ error: false,
5369
+ nuxt: void 0,
5370
+ /* NuxtApp */
5371
+ payload: {},
5372
+ _payloadReducers: /* @__PURE__ */ Object.create(null),
5373
+ modules: /* @__PURE__ */ new Set()
5374
+ };
5375
+ return ssrContext;
5376
+ }
5377
+ function setSSRError(ssrContext, error) {
5378
+ ssrContext.error = true;
5379
+ ssrContext.payload = { error };
5380
+ ssrContext.url = error.url;
5381
+ }
5382
+
5383
+ const APP_ROOT_OPEN_TAG = `<${appRootTag}${propsToString(appRootAttrs)}>`;
5384
+ const APP_ROOT_CLOSE_TAG = `</${appRootTag}>`;
5385
+ const getServerEntry = () => Promise.resolve().then(function () { return server$1; }).then((r) => r.default || r);
5386
+ const getClientManifest = () => import('file://C:/Git/nuxt-ignis/core/.nuxt//dist/server/client.manifest.mjs').then((r) => r.default || r).then((r) => typeof r === "function" ? r() : r);
5387
+ const getSSRRenderer = lazyCachedFunction(async () => {
5388
+ const createSSRApp = await getServerEntry();
5389
+ if (!createSSRApp) {
5390
+ throw new Error("Server bundle is not available");
5391
+ }
5392
+ const precomputed = void 0 ;
5393
+ const renderer = createRenderer(createSSRApp, {
5394
+ precomputed,
5395
+ manifest: await getClientManifest() ,
5396
+ renderToString: renderToString$1,
5397
+ buildAssetsURL
5398
+ });
5399
+ async function renderToString$1(input, context) {
5400
+ const html = await renderToString(input, context);
5401
+ if (process.env.NUXT_VITE_NODE_OPTIONS) {
5402
+ renderer.rendererContext.updateManifest(await getClientManifest());
5403
+ }
5404
+ return APP_ROOT_OPEN_TAG + html + APP_ROOT_CLOSE_TAG;
5405
+ }
5406
+ return renderer;
5407
+ });
5408
+ const getSPARenderer = lazyCachedFunction(async () => {
5409
+ const precomputed = void 0 ;
5410
+ const spaTemplate = await Promise.resolve().then(function () { return _virtual__spaTemplate; }).then((r) => r.template).catch(() => "").then((r) => {
5411
+ {
5412
+ const APP_SPA_LOADER_OPEN_TAG = `<${appSpaLoaderTag}${propsToString(appSpaLoaderAttrs)}>`;
5413
+ const APP_SPA_LOADER_CLOSE_TAG = `</${appSpaLoaderTag}>`;
5414
+ const appTemplate = APP_ROOT_OPEN_TAG + APP_ROOT_CLOSE_TAG;
5415
+ const loaderTemplate = r ? APP_SPA_LOADER_OPEN_TAG + r + APP_SPA_LOADER_CLOSE_TAG : "";
5416
+ return appTemplate + loaderTemplate;
5417
+ }
5418
+ });
5419
+ const renderer = createRenderer(() => () => {
5420
+ }, {
5421
+ precomputed,
5422
+ manifest: await getClientManifest() ,
5423
+ renderToString: () => spaTemplate,
5424
+ buildAssetsURL
5425
+ });
5426
+ const result = await renderer.renderToString({});
5427
+ const renderToString = (ssrContext) => {
5428
+ const config = useRuntimeConfig(ssrContext.event);
5429
+ ssrContext.modules ||= /* @__PURE__ */ new Set();
5430
+ ssrContext.payload.serverRendered = false;
5431
+ ssrContext.config = {
5432
+ public: config.public,
5433
+ app: config.app
5434
+ };
5435
+ return Promise.resolve(result);
5436
+ };
5437
+ return {
5438
+ rendererContext: renderer.rendererContext,
5439
+ renderToString
5440
+ };
5441
+ });
5442
+ function lazyCachedFunction(fn) {
5443
+ let res = null;
5444
+ return () => {
5445
+ if (res === null) {
5446
+ res = fn().catch((err) => {
5447
+ res = null;
5448
+ throw err;
5449
+ });
5450
+ }
5451
+ return res;
5452
+ };
5453
+ }
5454
+ function getRenderer(ssrContext) {
5455
+ return getSPARenderer() ;
5456
+ }
5457
+ const getSSRStyles = lazyCachedFunction(() => Promise.resolve().then(function () { return styles$1; }).then((r) => r.default || r));
5458
+
5459
+ async function renderInlineStyles(usedModules) {
5460
+ const styleMap = await getSSRStyles();
5461
+ const inlinedStyles = /* @__PURE__ */ new Set();
5462
+ for (const mod of usedModules) {
5463
+ if (mod in styleMap && styleMap[mod]) {
5464
+ for (const style of await styleMap[mod]()) {
5465
+ inlinedStyles.add(style);
5466
+ }
5467
+ }
5468
+ }
5469
+ return Array.from(inlinedStyles).map((style) => ({ innerHTML: style }));
5470
+ }
5471
+
5472
+ const ROOT_NODE_REGEX = new RegExp(`^<${appRootTag}[^>]*>([\\s\\S]*)<\\/${appRootTag}>$`);
5473
+ function getServerComponentHTML(body) {
5474
+ const match = body.match(ROOT_NODE_REGEX);
5475
+ return match?.[1] || body;
5476
+ }
5477
+ const SSR_SLOT_TELEPORT_MARKER = /^uid=([^;]*);slot=(.*)$/;
5478
+ const SSR_CLIENT_TELEPORT_MARKER = /^uid=([^;]*);client=(.*)$/;
5479
+ const SSR_CLIENT_SLOT_MARKER = /^island-slot=([^;]*);(.*)$/;
5480
+ function getSlotIslandResponse(ssrContext) {
5481
+ if (!ssrContext.islandContext || !Object.keys(ssrContext.islandContext.slots).length) {
5482
+ return void 0;
5483
+ }
5484
+ const response = {};
5485
+ for (const [name, slot] of Object.entries(ssrContext.islandContext.slots)) {
5486
+ response[name] = {
5487
+ ...slot,
5488
+ fallback: ssrContext.teleports?.[`island-fallback=${name}`]
5489
+ };
5490
+ }
5491
+ return response;
5492
+ }
5493
+ function getClientIslandResponse(ssrContext) {
5494
+ if (!ssrContext.islandContext || !Object.keys(ssrContext.islandContext.components).length) {
5495
+ return void 0;
5496
+ }
5497
+ const response = {};
5498
+ for (const [clientUid, component] of Object.entries(ssrContext.islandContext.components)) {
5499
+ const html = ssrContext.teleports?.[clientUid]?.replaceAll("<!--teleport start anchor-->", "") || "";
5500
+ response[clientUid] = {
5501
+ ...component,
5502
+ html,
5503
+ slots: getComponentSlotTeleport(clientUid, ssrContext.teleports ?? {})
5504
+ };
5505
+ }
5506
+ return response;
5507
+ }
5508
+ function getComponentSlotTeleport(clientUid, teleports) {
5509
+ const entries = Object.entries(teleports);
5510
+ const slots = {};
5511
+ for (const [key, value] of entries) {
5512
+ const match = key.match(SSR_CLIENT_SLOT_MARKER);
5513
+ if (match) {
5514
+ const [, id, slot] = match;
5515
+ if (!slot || clientUid !== id) {
5516
+ continue;
5517
+ }
5518
+ slots[slot] = value;
5519
+ }
5520
+ }
5521
+ return slots;
5522
+ }
5523
+ function replaceIslandTeleports(ssrContext, html) {
5524
+ const { teleports, islandContext } = ssrContext;
5525
+ if (islandContext || !teleports) {
5526
+ return html;
5527
+ }
5528
+ for (const key in teleports) {
5529
+ const matchClientComp = key.match(SSR_CLIENT_TELEPORT_MARKER);
5530
+ if (matchClientComp) {
5531
+ const [, uid, clientId] = matchClientComp;
5532
+ if (!uid || !clientId) {
5533
+ continue;
5534
+ }
5535
+ html = html.replace(new RegExp(` data-island-uid="${uid}" data-island-component="${clientId}"[^>]*>`), (full) => {
5536
+ return full + teleports[key];
5537
+ });
5538
+ continue;
5539
+ }
5540
+ const matchSlot = key.match(SSR_SLOT_TELEPORT_MARKER);
5541
+ if (matchSlot) {
5542
+ const [, uid, slot] = matchSlot;
5543
+ if (!uid || !slot) {
5544
+ continue;
5545
+ }
5546
+ html = html.replace(new RegExp(` data-island-uid="${uid}" data-island-slot="${slot}"[^>]*>`), (full) => {
5547
+ return full + teleports[key];
5548
+ });
5549
+ }
5550
+ }
5551
+ return html;
5552
+ }
5553
+
5554
+ const ISLAND_SUFFIX_RE = /\.json(?:\?.*)?$/;
5555
+ const _SxA8c9 = defineEventHandler(async (event) => {
5556
+ const nitroApp = useNitroApp();
5557
+ setResponseHeaders(event, {
5558
+ "content-type": "application/json;charset=utf-8",
5559
+ "x-powered-by": "Nuxt"
5560
+ });
5561
+ const islandContext = await getIslandContext(event);
5562
+ const ssrContext = {
5563
+ ...createSSRContext(event),
5564
+ islandContext,
5565
+ noSSR: false,
5566
+ url: islandContext.url
5567
+ };
5568
+ const renderer = await getSSRRenderer();
5569
+ const renderResult = await renderer.renderToString(ssrContext).catch(async (err) => {
5570
+ await ssrContext.nuxt?.hooks.callHook("app:error", err);
5571
+ throw err;
5572
+ });
5573
+ if (ssrContext.payload?.error) {
5574
+ throw ssrContext.payload.error;
5575
+ }
5576
+ const inlinedStyles = await renderInlineStyles(ssrContext.modules ?? []);
5577
+ await ssrContext.nuxt?.hooks.callHook("app:rendered", { ssrContext, renderResult });
5578
+ if (inlinedStyles.length) {
5579
+ ssrContext.head.push({ style: inlinedStyles });
5580
+ }
5581
+ {
5582
+ const { styles } = getRequestDependencies(ssrContext, renderer.rendererContext);
5583
+ const link = [];
5584
+ for (const resource of Object.values(styles)) {
5585
+ if ("inline" in getQuery(resource.file)) {
5586
+ continue;
5587
+ }
5588
+ if (resource.file.includes("scoped") && !resource.file.includes("pages/")) {
5589
+ link.push({ rel: "stylesheet", href: renderer.rendererContext.buildAssetsURL(resource.file), crossorigin: "" });
5590
+ }
5591
+ }
5592
+ if (link.length) {
5593
+ ssrContext.head.push({ link }, { mode: "server" });
5594
+ }
5595
+ }
5596
+ const islandHead = {};
5597
+ for (const entry of ssrContext.head.entries.values()) {
5598
+ for (const [key, value] of Object.entries(resolveUnrefHeadInput(entry.input))) {
5599
+ const currentValue = islandHead[key];
5600
+ if (Array.isArray(currentValue)) {
5601
+ currentValue.push(...value);
5602
+ }
5603
+ islandHead[key] = value;
5604
+ }
5605
+ }
5606
+ const islandResponse = {
5607
+ id: islandContext.id,
5608
+ head: islandHead,
5609
+ html: getServerComponentHTML(renderResult.html),
5610
+ components: getClientIslandResponse(ssrContext),
5611
+ slots: getSlotIslandResponse(ssrContext)
5612
+ };
5613
+ await nitroApp.hooks.callHook("render:island", islandResponse, { event, islandContext });
5614
+ return islandResponse;
5615
+ });
5616
+ async function getIslandContext(event) {
5617
+ let url = event.path || "";
5618
+ const componentParts = url.substring("/__nuxt_island".length + 1).replace(ISLAND_SUFFIX_RE, "").split("_");
5619
+ const hashId = componentParts.length > 1 ? componentParts.pop() : void 0;
5620
+ const componentName = componentParts.join("_");
5621
+ const context = event.method === "GET" ? getQuery$1(event) : await readBody(event);
5622
+ const ctx = {
5623
+ url: "/",
5624
+ ...context,
5625
+ id: hashId,
5626
+ name: componentName,
5627
+ props: destr$1(context.props) || {},
5628
+ slots: {},
5629
+ components: {}
5630
+ };
5631
+ return ctx;
5632
+ }
5633
+
5634
+ const defaultThrowErrorValue = { throwError: true };
5635
+ const defaultSecurityConfig = (serverlUrl, strict) => {
5636
+ const defaultConfig = {
5637
+ strict,
5638
+ headers: {
5639
+ crossOriginResourcePolicy: "same-origin",
5640
+ crossOriginOpenerPolicy: "same-origin",
5641
+ crossOriginEmbedderPolicy: "unsafe-none" ,
5642
+ contentSecurityPolicy: {
5643
+ "base-uri": ["'none'"],
5644
+ "font-src": ["'self'", "https:", "data:"],
5004
5645
  "form-action": ["'self'"],
5005
5646
  "frame-ancestors": ["'self'"],
5006
5647
  "img-src": ["'self'", "data:"],
@@ -5083,7 +5724,7 @@ const defaultSecurityConfig = (serverlUrl, strict) => {
5083
5724
 
5084
5725
  const FILE_UPLOAD_HEADER = "multipart/form-data";
5085
5726
  const defaultSizeLimiter = defaultSecurityConfig("").requestSizeLimiter;
5086
- const _kRvyO4 = defineEventHandler((event) => {
5727
+ const _0WQsJo = defineEventHandler((event) => {
5087
5728
  const rules = resolveSecurityRules(event);
5088
5729
  if (rules.enabled && rules.requestSizeLimiter) {
5089
5730
  const requestSizeLimiter = defu(
@@ -5109,7 +5750,7 @@ const _kRvyO4 = defineEventHandler((event) => {
5109
5750
  }
5110
5751
  });
5111
5752
 
5112
- const _3NZNqH = defineEventHandler((event) => {
5753
+ const _fTCRwx = defineEventHandler((event) => {
5113
5754
  const rules = resolveSecurityRules(event);
5114
5755
  if (rules.enabled && rules.corsHandler) {
5115
5756
  const { corsHandler } = rules;
@@ -5134,7 +5775,7 @@ const _3NZNqH = defineEventHandler((event) => {
5134
5775
  }
5135
5776
  });
5136
5777
 
5137
- const _8xNHv9 = defineEventHandler((event) => {
5778
+ const _XNXCfD = defineEventHandler((event) => {
5138
5779
  const rules = resolveSecurityRules(event);
5139
5780
  if (rules.enabled && rules.allowedMethodsRestricter) {
5140
5781
  const { allowedMethodsRestricter } = rules;
@@ -5154,7 +5795,7 @@ const _8xNHv9 = defineEventHandler((event) => {
5154
5795
 
5155
5796
  const storage$1 = useStorage("#rate-limiter-storage");
5156
5797
  const defaultRateLimiter = defaultSecurityConfig("").rateLimiter;
5157
- const _F22V5U = defineEventHandler(async (event) => {
5798
+ const _MMBZXf = defineEventHandler(async (event) => {
5158
5799
  const rules = resolveSecurityRules(event);
5159
5800
  const route = resolveSecurityRoute(event);
5160
5801
  if (rules.enabled && rules.rateLimiter) {
@@ -5217,7 +5858,7 @@ function getIP(event, customIpHeader) {
5217
5858
  return ip;
5218
5859
  }
5219
5860
 
5220
- const _kNLY89 = defineEventHandler(async (event) => {
5861
+ const _6UgyB1 = defineEventHandler(async (event) => {
5221
5862
  const rules = resolveSecurityRules(event);
5222
5863
  if (rules.enabled && rules.xssValidator) {
5223
5864
  const filterOpt = {
@@ -5261,7 +5902,7 @@ const _kNLY89 = defineEventHandler(async (event) => {
5261
5902
 
5262
5903
  const warnOnceSet = /* @__PURE__ */ new Set();
5263
5904
  const DEFAULT_ENDPOINT = "https://api.iconify.design";
5264
- const _1Or3lK = defineCachedEventHandler(async (event) => {
5905
+ const _HWrzav = defineCachedEventHandler(async (event) => {
5265
5906
  const url = getRequestURL(event);
5266
5907
  if (!url)
5267
5908
  return createError({ status: 400, message: "Invalid icon request" });
@@ -5423,7 +6064,7 @@ const _DkeHIc = eventHandler(async (event) => {
5423
6064
  return data;
5424
6065
  });
5425
6066
 
5426
- const _REO309 = eventHandler(async (e) => {
6067
+ const _HNUtXX = eventHandler(async (e) => {
5427
6068
  if (e.context._initedSiteConfig)
5428
6069
  return;
5429
6070
  const runtimeConfig = useRuntimeConfig(e);
@@ -5474,7 +6115,7 @@ const _REO309 = eventHandler(async (e) => {
5474
6115
  e.context._initedSiteConfig = true;
5475
6116
  });
5476
6117
 
5477
- const _PVqCY5 = eventHandler(async (e) => {
6118
+ const _NLXa3j = eventHandler(async (e) => {
5478
6119
  const siteConfig = getSiteConfig(e);
5479
6120
  const nitroOrigin = getNitroOrigin(e);
5480
6121
  const runtimeConfig = useRuntimeConfig(e);
@@ -5488,7 +6129,7 @@ const _PVqCY5 = eventHandler(async (e) => {
5488
6129
  };
5489
6130
  });
5490
6131
 
5491
- const _kf0Wpg = defineEventHandler(async (e) => {
6132
+ const _WLd7Ho = defineEventHandler(async (e) => {
5492
6133
  const nitroApp = useNitroApp();
5493
6134
  const { indexable, hints } = getSiteRobotConfig(e);
5494
6135
  const { credits, isNuxtContentV2, cacheControl } = useRuntimeConfigNuxtRobots(e);
@@ -5547,7 +6188,7 @@ const _kf0Wpg = defineEventHandler(async (e) => {
5547
6188
  return hookCtx.robotsTxt;
5548
6189
  });
5549
6190
 
5550
- const _H_6TIO = defineEventHandler(async (e) => {
6191
+ const _mUSd9H = defineEventHandler(async (e) => {
5551
6192
  if (e.path === "/robots.txt" || e.path.startsWith("/__") || e.path.startsWith("/api") || e.path.startsWith("/_nuxt"))
5552
6193
  return;
5553
6194
  const nuxtRobotsConfig = useRuntimeConfigNuxtRobots(e);
@@ -5561,7 +6202,7 @@ const _H_6TIO = defineEventHandler(async (e) => {
5561
6202
  }
5562
6203
  });
5563
6204
 
5564
- const _Hmueqy = defineEventHandler(async (e) => {
6205
+ const _2pyPvz = defineEventHandler(async (e) => {
5565
6206
  const runtimeConfig = useRuntimeConfigNuxtRobots(e);
5566
6207
  const { indexable, hints } = getSiteRobotConfig(e);
5567
6208
  const siteConfig = useSiteConfig(e);
@@ -5581,7 +6222,7 @@ const _Hmueqy = defineEventHandler(async (e) => {
5581
6222
  };
5582
6223
  });
5583
6224
 
5584
- const _5J9DGb = defineEventHandler(async (e) => {
6225
+ const _ABgk2N = defineEventHandler(async (e) => {
5585
6226
  const query = getQuery$1(e);
5586
6227
  const path = query.path;
5587
6228
  delete query.path;
@@ -5605,7 +6246,7 @@ const _5J9DGb = defineEventHandler(async (e) => {
5605
6246
  };
5606
6247
  });
5607
6248
 
5608
- const _Ocan62 = defineEventHandler(async (e) => {
6249
+ const _kdhSXr = defineEventHandler(async (e) => {
5609
6250
  const collections = [];
5610
6251
  for (const collection in contentManifest) {
5611
6252
  if (contentManifest[collection].fields.sitemap) {
@@ -6225,7 +6866,7 @@ async function resolveSitemapSources(sources, event) {
6225
6866
  )).flat();
6226
6867
  }
6227
6868
 
6228
- const _17ObK_ = defineEventHandler(async (e) => {
6869
+ const _dK0h0J = defineEventHandler(async (e) => {
6229
6870
  const _runtimeConfig = useSitemapRuntimeConfig();
6230
6871
  const { sitemaps: _sitemaps } = _runtimeConfig;
6231
6872
  const runtimeConfig = { ..._runtimeConfig };
@@ -6247,7 +6888,7 @@ const _17ObK_ = defineEventHandler(async (e) => {
6247
6888
  };
6248
6889
  });
6249
6890
 
6250
- const _upGA94 = defineEventHandler(async (e) => {
6891
+ const _KL_OxC = defineEventHandler(async (e) => {
6251
6892
  const fixPath = createSitePathResolver(e, { absolute: false, withBase: true });
6252
6893
  const { sitemapName: fallbackSitemapName, cacheMaxAgeSeconds, version, xslColumns, xslTips } = useSitemapRuntimeConfig();
6253
6894
  setHeader(e, "Content-Type", "application/xslt+xml");
@@ -7254,7 +7895,7 @@ async function createSitemap(event, definition, runtimeConfig) {
7254
7895
  return xml;
7255
7896
  }
7256
7897
 
7257
- const _W33d6d = defineEventHandler(async (e) => {
7898
+ const _ZZjWkS = defineEventHandler(async (e) => {
7258
7899
  const runtimeConfig = useSitemapRuntimeConfig();
7259
7900
  const { sitemaps } = runtimeConfig;
7260
7901
  if ("index" in sitemaps) {
@@ -7850,7 +8491,7 @@ function isInternalRoute(path) {
7850
8491
  const lastSegment = path.split("/").pop() || path;
7851
8492
  return lastSegment.includes(".") || path.startsWith("/__") || path.startsWith("@");
7852
8493
  }
7853
- const __zXY0a = defineEventHandler(async (e) => {
8494
+ const _OhYEOR = defineEventHandler(async (e) => {
7854
8495
  const { tasks, ids, path } = await readBody(e);
7855
8496
  const runtimeConfig = useRuntimeConfig().public["nuxt-link-checker"] || {};
7856
8497
  const partialCtx = {
@@ -7896,519 +8537,207 @@ const __zXY0a = defineEventHandler(async (e) => {
7896
8537
  result.sources = (await Promise.all(filePaths.map(async (filepath) => await generateFileLinkPreviews(filepath, link)))).filter((s) => s.previews.length);
7897
8538
  result.diff = await Promise.all((result.sources || []).map(async ({ filepath }) => generateFileLinkDiff(filepath, link, result.fix)));
7898
8539
  }
7899
- return result;
7900
- })
7901
- );
7902
- });
7903
-
7904
- const contentLinkProvider = async (e) => {
7905
- const collections = [];
7906
- for (const collection in contentManifest) {
7907
- if ("path" in contentManifest[collection].fields) {
7908
- collections.push(collection);
7909
- }
7910
- }
7911
- const contentList = [];
7912
- for (const collection of collections) {
7913
- contentList.push(queryCollection(e, collection).select("id", "path", "title").where("path", "IS NOT NULL").all());
7914
- }
7915
- const results = await Promise.all(contentList);
7916
- return results.flat().map((d) => {
7917
- return {
7918
- link: d.path,
7919
- title: d.title,
7920
- file: d.id
7921
- };
7922
- });
7923
- };
7924
-
7925
- const pagePaths = [
7926
- {
7927
- "title": "",
7928
- "link": "/"
7929
- },
7930
- {
7931
- "title": "",
7932
- "link": "/_ignis-info"
7933
- },
7934
- {
7935
- "title": "",
7936
- "link": "/_ignis-config"
7937
- },
7938
- {
7939
- "title": "",
7940
- "link": "/_ignis-welcome"
7941
- }
7942
- ];
7943
-
7944
- const _MPCGZw = defineCachedEventHandler(async (e) => {
7945
- const runtimeConfig = useRuntimeConfig().public["nuxt-link-checker"] || {};
7946
- const linkDb = [
7947
- ...pagePaths
7948
- ];
7949
- if (runtimeConfig.hasSitemapModule) {
7950
- const sitemapDebug = await $fetch("/__sitemap__/debug.json");
7951
- const entries = sitemapDebug.globalSources.map((source) => source.urls).flat();
7952
- linkDb.push(...entries.map((s) => ({ path: s.loc, title: "" })));
7953
- }
7954
- if (contentLinkProvider) {
7955
- const links = await contentLinkProvider(e);
7956
- linkDb.push(...links);
7957
- }
7958
- return linkDb;
7959
- }, {
7960
- maxAge: 10
7961
- // avoid thrashing
7962
- });
7963
-
7964
- const __2LSvd = defineEventHandler(async (e) => {
7965
- return {
7966
- runtimeConfig: useRuntimeConfig(e).public["nuxt-link-checker"]
7967
- };
7968
- });
7969
-
7970
- const fileMapping = {};
7971
-
7972
- const _LsZDE3 = defineEventHandler(async (e) => {
7973
- const path = parseURL(e.path).pathname;
7974
- if (fileMapping[path]) {
7975
- if (path.endsWith(".svg"))
7976
- setHeader(e, "Content-Type", "image/svg+xml");
7977
- else if (path.endsWith(".png"))
7978
- setHeader(e, "Content-Type", "image/png");
7979
- else if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
7980
- setHeader(e, "Content-Type", "image/jpeg");
7981
- return fs.readFileSync(fileMapping[path]);
7982
- }
7983
- });
7984
-
7985
- const storage = prefixStorage(useStorage(), "i18n");
7986
- function cachedFunctionI18n(fn, opts) {
7987
- opts = { maxAge: 1, ...opts };
7988
- const pending = {};
7989
- async function get(key, resolver) {
7990
- const isPending = pending[key];
7991
- if (!isPending) {
7992
- pending[key] = Promise.resolve(resolver());
7993
- }
7994
- try {
7995
- return await pending[key];
7996
- } finally {
7997
- delete pending[key];
7998
- }
7999
- }
8000
- return async (...args) => {
8001
- const key = [opts.name, opts.getKey(...args)].join(":").replace(/:\/$/, ":index");
8002
- const maxAge = opts.maxAge ?? 1;
8003
- const isCacheable = !opts.shouldBypassCache(...args) && maxAge >= 0;
8004
- const cache = isCacheable && await storage.getItemRaw(key);
8005
- if (!cache || cache.ttl < Date.now()) {
8006
- pending[key] = Promise.resolve(fn(...args));
8007
- const value = await get(key, () => fn(...args));
8008
- if (isCacheable) {
8009
- await storage.setItemRaw(key, { ttl: Date.now() + maxAge * 1e3, value, mtime: Date.now() });
8010
- }
8011
- return value;
8012
- }
8013
- return cache.value;
8014
- };
8015
- }
8016
-
8017
- const _getMessages = async (locale) => {
8018
- return { [locale]: await getLocaleMessagesMerged(locale, localeLoaders[locale]) };
8019
- };
8020
- cachedFunctionI18n(_getMessages, {
8021
- name: "messages",
8022
- maxAge: -1 ,
8023
- getKey: (locale) => locale,
8024
- shouldBypassCache: (locale) => !isLocaleCacheable(locale)
8025
- });
8026
- const getMessages = _getMessages ;
8027
- const _getMergedMessages = async (locale, fallbackLocales) => {
8028
- const merged = {};
8029
- try {
8030
- if (fallbackLocales.length > 0) {
8031
- const messages = await Promise.all(fallbackLocales.map(getMessages));
8032
- for (const message2 of messages) {
8033
- deepCopy(message2, merged);
8034
- }
8035
- }
8036
- const message = await getMessages(locale);
8037
- deepCopy(message, merged);
8038
- return merged;
8039
- } catch (e) {
8040
- throw new Error("Failed to merge messages: " + e.message);
8041
- }
8042
- };
8043
- const getMergedMessages = cachedFunctionI18n(_getMergedMessages, {
8044
- name: "merged-single",
8045
- maxAge: -1 ,
8046
- getKey: (locale, fallbackLocales) => `${locale}-[${[...new Set(fallbackLocales)].sort().join("-")}]`,
8047
- shouldBypassCache: (locale, fallbackLocales) => !isLocaleWithFallbacksCacheable(locale, fallbackLocales)
8048
- });
8049
- const _getAllMergedMessages = async (locales) => {
8050
- const merged = {};
8051
- try {
8052
- const messages = await Promise.all(locales.map(getMessages));
8053
- for (const message of messages) {
8054
- deepCopy(message, merged);
8055
- }
8056
- return merged;
8057
- } catch (e) {
8058
- throw new Error("Failed to merge messages: " + e.message);
8059
- }
8060
- };
8061
- cachedFunctionI18n(_getAllMergedMessages, {
8062
- name: "merged-all",
8063
- maxAge: -1 ,
8064
- getKey: (locales) => locales.join("-"),
8065
- shouldBypassCache: (locales) => !locales.every((locale) => isLocaleCacheable(locale))
8540
+ return result;
8541
+ })
8542
+ );
8066
8543
  });
8067
8544
 
8068
- const _messagesHandler = defineEventHandler(async (event) => {
8069
- const locale = getRouterParam(event, "locale");
8070
- if (!locale) {
8071
- throw createError({ status: 400, message: "Locale not specified." });
8072
- }
8073
- const ctx = useI18nContext(event);
8074
- if (ctx.localeConfigs && locale in ctx.localeConfigs === false) {
8075
- throw createError({ status: 404, message: `Locale '${locale}' not found.` });
8545
+ const contentLinkProvider = async (e) => {
8546
+ const collections = [];
8547
+ for (const collection in contentManifest) {
8548
+ if ("path" in contentManifest[collection].fields) {
8549
+ collections.push(collection);
8550
+ }
8076
8551
  }
8077
- const messages = await getMergedMessages(locale, ctx.localeConfigs?.[locale]?.fallbacks ?? []);
8078
- deepCopy(messages, ctx.messages);
8079
- return ctx.messages;
8080
- });
8081
- const _cachedMessageLoader = defineCachedFunction(_messagesHandler, {
8082
- name: "i18n:messages-internal",
8083
- maxAge: -1 ,
8084
- getKey: (event) => [getRouterParam(event, "locale") ?? "null", getRouterParam(event, "hash") ?? "null"].join("-"),
8085
- shouldBypassCache(event) {
8086
- const locale = getRouterParam(event, "locale");
8087
- if (locale == null) return false;
8088
- return !useI18nContext(event).localeConfigs?.[locale]?.cacheable;
8552
+ const contentList = [];
8553
+ for (const collection of collections) {
8554
+ contentList.push(queryCollection(e, collection).select("id", "path", "title").where("path", "IS NOT NULL").all());
8089
8555
  }
8090
- });
8091
- defineCachedEventHandler(_cachedMessageLoader, {
8092
- name: "i18n:messages",
8093
- maxAge: -1 ,
8094
- swr: false,
8095
- getKey: (event) => [getRouterParam(event, "locale") ?? "null", getRouterParam(event, "hash") ?? "null"].join("-")
8096
- });
8097
- const _JgNSSf = _messagesHandler ;
8098
-
8099
- const VueResolver = (_, value) => {
8100
- return isRef(value) ? toValue(value) : value;
8101
- };
8102
-
8103
- const headSymbol = "usehead";
8104
- // @__NO_SIDE_EFFECTS__
8105
- function vueInstall(head) {
8106
- const plugin = {
8107
- install(app) {
8108
- app.config.globalProperties.$unhead = head;
8109
- app.config.globalProperties.$head = head;
8110
- app.provide(headSymbol, head);
8111
- }
8112
- };
8113
- return plugin.install;
8114
- }
8115
-
8116
- // @__NO_SIDE_EFFECTS__
8117
- function resolveUnrefHeadInput(input) {
8118
- return walkResolver(input, VueResolver);
8119
- }
8120
-
8121
- // @__NO_SIDE_EFFECTS__
8122
- function createHead(options = {}) {
8123
- const head = createHead$1({
8124
- ...options,
8125
- propResolvers: [VueResolver]
8556
+ const results = await Promise.all(contentList);
8557
+ return results.flat().map((d) => {
8558
+ return {
8559
+ link: d.path,
8560
+ title: d.title,
8561
+ file: d.id
8562
+ };
8126
8563
  });
8127
- head.install = vueInstall(head);
8128
- return head;
8129
- }
8130
-
8131
- const unheadOptions = {
8132
- disableDefaults: true,
8133
8564
  };
8134
8565
 
8135
- function createSSRContext(event) {
8136
- const ssrContext = {
8137
- url: event.path,
8138
- event,
8139
- runtimeConfig: useRuntimeConfig(event),
8140
- noSSR: true,
8141
- head: createHead(unheadOptions),
8142
- error: false,
8143
- nuxt: void 0,
8144
- /* NuxtApp */
8145
- payload: {},
8146
- _payloadReducers: /* @__PURE__ */ Object.create(null),
8147
- modules: /* @__PURE__ */ new Set()
8148
- };
8149
- return ssrContext;
8150
- }
8151
- function setSSRError(ssrContext, error) {
8152
- ssrContext.error = true;
8153
- ssrContext.payload = { error };
8154
- ssrContext.url = error.url;
8155
- }
8156
-
8157
- const APP_ROOT_OPEN_TAG = `<${appRootTag}${propsToString(appRootAttrs)}>`;
8158
- const APP_ROOT_CLOSE_TAG = `</${appRootTag}>`;
8159
- const getServerEntry = () => Promise.resolve().then(function () { return server$1; }).then((r) => r.default || r);
8160
- const getClientManifest = () => import('file://C:/Git/nuxt-ignis/core/.nuxt//dist/server/client.manifest.mjs').then((r) => r.default || r).then((r) => typeof r === "function" ? r() : r);
8161
- const getSSRRenderer = lazyCachedFunction(async () => {
8162
- const manifest = await getClientManifest();
8163
- if (!manifest) {
8164
- throw new Error("client.manifest is not available");
8566
+ const pagePaths = [
8567
+ {
8568
+ "title": "",
8569
+ "link": "/"
8570
+ },
8571
+ {
8572
+ "title": "",
8573
+ "link": "/_ignis-info"
8574
+ },
8575
+ {
8576
+ "title": "",
8577
+ "link": "/_ignis-config"
8578
+ },
8579
+ {
8580
+ "title": "",
8581
+ "link": "/_ignis-welcome"
8165
8582
  }
8166
- const createSSRApp = await getServerEntry();
8167
- if (!createSSRApp) {
8168
- throw new Error("Server bundle is not available");
8583
+ ];
8584
+
8585
+ const _rTmegy = defineCachedEventHandler(async (e) => {
8586
+ const runtimeConfig = useRuntimeConfig().public["nuxt-link-checker"] || {};
8587
+ const linkDb = [
8588
+ ...pagePaths
8589
+ ];
8590
+ if (runtimeConfig.hasSitemapModule) {
8591
+ const sitemapDebug = await $fetch("/__sitemap__/debug.json");
8592
+ const entries = sitemapDebug.globalSources.map((source) => source.urls).flat();
8593
+ linkDb.push(...entries.map((s) => ({ path: s.loc, title: "" })));
8169
8594
  }
8170
- const options = {
8171
- manifest,
8172
- renderToString: renderToString$1,
8173
- buildAssetsURL
8174
- };
8175
- const renderer = createRenderer(createSSRApp, options);
8176
- async function renderToString$1(input, context) {
8177
- const html = await renderToString(input, context);
8178
- if (process.env.NUXT_VITE_NODE_OPTIONS) {
8179
- renderer.rendererContext.updateManifest(await getClientManifest());
8180
- }
8181
- return APP_ROOT_OPEN_TAG + html + APP_ROOT_CLOSE_TAG;
8595
+ if (contentLinkProvider) {
8596
+ const links = await contentLinkProvider(e);
8597
+ linkDb.push(...links);
8182
8598
  }
8183
- return renderer;
8599
+ return linkDb;
8600
+ }, {
8601
+ maxAge: 10
8602
+ // avoid thrashing
8184
8603
  });
8185
- const getSPARenderer = lazyCachedFunction(async () => {
8186
- const manifest = await getClientManifest();
8187
- const spaTemplate = await Promise.resolve().then(function () { return _virtual__spaTemplate; }).then((r) => r.template).catch(() => "").then((r) => {
8188
- {
8189
- const APP_SPA_LOADER_OPEN_TAG = `<${appSpaLoaderTag}${propsToString(appSpaLoaderAttrs)}>`;
8190
- const APP_SPA_LOADER_CLOSE_TAG = `</${appSpaLoaderTag}>`;
8191
- const appTemplate = APP_ROOT_OPEN_TAG + APP_ROOT_CLOSE_TAG;
8192
- const loaderTemplate = r ? APP_SPA_LOADER_OPEN_TAG + r + APP_SPA_LOADER_CLOSE_TAG : "";
8193
- return appTemplate + loaderTemplate;
8194
- }
8195
- });
8196
- const options = {
8197
- manifest,
8198
- renderToString: () => spaTemplate,
8199
- buildAssetsURL
8200
- };
8201
- const renderer = createRenderer(() => () => {
8202
- }, options);
8203
- const result = await renderer.renderToString({});
8204
- const renderToString = (ssrContext) => {
8205
- const config = useRuntimeConfig(ssrContext.event);
8206
- ssrContext.modules ||= /* @__PURE__ */ new Set();
8207
- ssrContext.payload.serverRendered = false;
8208
- ssrContext.config = {
8209
- public: config.public,
8210
- app: config.app
8211
- };
8212
- return Promise.resolve(result);
8213
- };
8604
+
8605
+ const _NU4oGC = defineEventHandler(async (e) => {
8214
8606
  return {
8215
- rendererContext: renderer.rendererContext,
8216
- renderToString
8607
+ runtimeConfig: useRuntimeConfig(e).public["nuxt-link-checker"]
8217
8608
  };
8218
8609
  });
8219
- function lazyCachedFunction(fn) {
8220
- let res = null;
8221
- return () => {
8222
- if (res === null) {
8223
- res = fn().catch((err) => {
8224
- res = null;
8225
- throw err;
8226
- });
8227
- }
8228
- return res;
8229
- };
8230
- }
8231
- function getRenderer(ssrContext) {
8232
- return getSPARenderer() ;
8233
- }
8234
- const getSSRStyles = lazyCachedFunction(() => Promise.resolve().then(function () { return styles$1; }).then((r) => r.default || r));
8235
8610
 
8236
- async function renderInlineStyles(usedModules) {
8237
- const styleMap = await getSSRStyles();
8238
- const inlinedStyles = /* @__PURE__ */ new Set();
8239
- for (const mod of usedModules) {
8240
- if (mod in styleMap && styleMap[mod]) {
8241
- for (const style of await styleMap[mod]()) {
8242
- inlinedStyles.add(style);
8243
- }
8244
- }
8245
- }
8246
- return Array.from(inlinedStyles).map((style) => ({ innerHTML: style }));
8247
- }
8611
+ const fileMapping = {};
8248
8612
 
8249
- const ROOT_NODE_REGEX = new RegExp(`^<${appRootTag}[^>]*>([\\s\\S]*)<\\/${appRootTag}>$`);
8250
- function getServerComponentHTML(body) {
8251
- const match = body.match(ROOT_NODE_REGEX);
8252
- return match?.[1] || body;
8253
- }
8254
- const SSR_SLOT_TELEPORT_MARKER = /^uid=([^;]*);slot=(.*)$/;
8255
- const SSR_CLIENT_TELEPORT_MARKER = /^uid=([^;]*);client=(.*)$/;
8256
- const SSR_CLIENT_SLOT_MARKER = /^island-slot=([^;]*);(.*)$/;
8257
- function getSlotIslandResponse(ssrContext) {
8258
- if (!ssrContext.islandContext || !Object.keys(ssrContext.islandContext.slots).length) {
8259
- return void 0;
8260
- }
8261
- const response = {};
8262
- for (const [name, slot] of Object.entries(ssrContext.islandContext.slots)) {
8263
- response[name] = {
8264
- ...slot,
8265
- fallback: ssrContext.teleports?.[`island-fallback=${name}`]
8266
- };
8267
- }
8268
- return response;
8269
- }
8270
- function getClientIslandResponse(ssrContext) {
8271
- if (!ssrContext.islandContext || !Object.keys(ssrContext.islandContext.components).length) {
8272
- return void 0;
8613
+ const _s5gHA6 = defineEventHandler(async (e) => {
8614
+ const path = parseURL(e.path).pathname;
8615
+ if (fileMapping[path]) {
8616
+ if (path.endsWith(".svg"))
8617
+ setHeader(e, "Content-Type", "image/svg+xml");
8618
+ else if (path.endsWith(".png"))
8619
+ setHeader(e, "Content-Type", "image/png");
8620
+ else if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
8621
+ setHeader(e, "Content-Type", "image/jpeg");
8622
+ return fs.readFileSync(fileMapping[path]);
8273
8623
  }
8274
- const response = {};
8275
- for (const [clientUid, component] of Object.entries(ssrContext.islandContext.components)) {
8276
- const html = ssrContext.teleports?.[clientUid]?.replaceAll("<!--teleport start anchor-->", "") || "";
8277
- response[clientUid] = {
8278
- ...component,
8279
- html,
8280
- slots: getComponentSlotTeleport(clientUid, ssrContext.teleports ?? {})
8281
- };
8624
+ });
8625
+
8626
+ const storage = prefixStorage(useStorage(), "i18n");
8627
+ function cachedFunctionI18n(fn, opts) {
8628
+ opts = { maxAge: 1, ...opts };
8629
+ const pending = {};
8630
+ async function get(key, resolver) {
8631
+ const isPending = pending[key];
8632
+ if (!isPending) {
8633
+ pending[key] = Promise.resolve(resolver());
8634
+ }
8635
+ try {
8636
+ return await pending[key];
8637
+ } finally {
8638
+ delete pending[key];
8639
+ }
8282
8640
  }
8283
- return response;
8284
- }
8285
- function getComponentSlotTeleport(clientUid, teleports) {
8286
- const entries = Object.entries(teleports);
8287
- const slots = {};
8288
- for (const [key, value] of entries) {
8289
- const match = key.match(SSR_CLIENT_SLOT_MARKER);
8290
- if (match) {
8291
- const [, id, slot] = match;
8292
- if (!slot || clientUid !== id) {
8293
- continue;
8641
+ return async (...args) => {
8642
+ const key = [opts.name, opts.getKey(...args)].join(":").replace(/:\/$/, ":index");
8643
+ const maxAge = opts.maxAge ?? 1;
8644
+ const isCacheable = !opts.shouldBypassCache(...args) && maxAge >= 0;
8645
+ const cache = isCacheable && await storage.getItemRaw(key);
8646
+ if (!cache || cache.ttl < Date.now()) {
8647
+ pending[key] = Promise.resolve(fn(...args));
8648
+ const value = await get(key, () => fn(...args));
8649
+ if (isCacheable) {
8650
+ await storage.setItemRaw(key, { ttl: Date.now() + maxAge * 1e3, value, mtime: Date.now() });
8294
8651
  }
8295
- slots[slot] = value;
8652
+ return value;
8296
8653
  }
8297
- }
8298
- return slots;
8654
+ return cache.value;
8655
+ };
8299
8656
  }
8300
- function replaceIslandTeleports(ssrContext, html) {
8301
- const { teleports, islandContext } = ssrContext;
8302
- if (islandContext || !teleports) {
8303
- return html;
8304
- }
8305
- for (const key in teleports) {
8306
- const matchClientComp = key.match(SSR_CLIENT_TELEPORT_MARKER);
8307
- if (matchClientComp) {
8308
- const [, uid, clientId] = matchClientComp;
8309
- if (!uid || !clientId) {
8310
- continue;
8657
+
8658
+ const _getMessages = async (locale) => {
8659
+ return { [locale]: await getLocaleMessagesMerged(locale, localeLoaders[locale]) };
8660
+ };
8661
+ cachedFunctionI18n(_getMessages, {
8662
+ name: "messages",
8663
+ maxAge: -1 ,
8664
+ getKey: (locale) => locale,
8665
+ shouldBypassCache: (locale) => !isLocaleCacheable(locale)
8666
+ });
8667
+ const getMessages = _getMessages ;
8668
+ const _getMergedMessages = async (locale, fallbackLocales) => {
8669
+ const merged = {};
8670
+ try {
8671
+ if (fallbackLocales.length > 0) {
8672
+ const messages = await Promise.all(fallbackLocales.map(getMessages));
8673
+ for (const message2 of messages) {
8674
+ deepCopy(message2, merged);
8311
8675
  }
8312
- html = html.replace(new RegExp(` data-island-uid="${uid}" data-island-component="${clientId}"[^>]*>`), (full) => {
8313
- return full + teleports[key];
8314
- });
8315
- continue;
8316
8676
  }
8317
- const matchSlot = key.match(SSR_SLOT_TELEPORT_MARKER);
8318
- if (matchSlot) {
8319
- const [, uid, slot] = matchSlot;
8320
- if (!uid || !slot) {
8321
- continue;
8322
- }
8323
- html = html.replace(new RegExp(` data-island-uid="${uid}" data-island-slot="${slot}"[^>]*>`), (full) => {
8324
- return full + teleports[key];
8325
- });
8677
+ const message = await getMessages(locale);
8678
+ deepCopy(message, merged);
8679
+ return merged;
8680
+ } catch (e) {
8681
+ throw new Error("Failed to merge messages: " + e.message);
8682
+ }
8683
+ };
8684
+ const getMergedMessages = cachedFunctionI18n(_getMergedMessages, {
8685
+ name: "merged-single",
8686
+ maxAge: -1 ,
8687
+ getKey: (locale, fallbackLocales) => `${locale}-[${[...new Set(fallbackLocales)].sort().join("-")}]`,
8688
+ shouldBypassCache: (locale, fallbackLocales) => !isLocaleWithFallbacksCacheable(locale, fallbackLocales)
8689
+ });
8690
+ const _getAllMergedMessages = async (locales) => {
8691
+ const merged = {};
8692
+ try {
8693
+ const messages = await Promise.all(locales.map(getMessages));
8694
+ for (const message of messages) {
8695
+ deepCopy(message, merged);
8326
8696
  }
8697
+ return merged;
8698
+ } catch (e) {
8699
+ throw new Error("Failed to merge messages: " + e.message);
8327
8700
  }
8328
- return html;
8329
- }
8701
+ };
8702
+ cachedFunctionI18n(_getAllMergedMessages, {
8703
+ name: "merged-all",
8704
+ maxAge: -1 ,
8705
+ getKey: (locales) => locales.join("-"),
8706
+ shouldBypassCache: (locales) => !locales.every((locale) => isLocaleCacheable(locale))
8707
+ });
8330
8708
 
8331
- const ISLAND_SUFFIX_RE = /\.json(?:\?.*)?$/;
8332
- const _SxA8c9 = defineEventHandler(async (event) => {
8333
- const nitroApp = useNitroApp();
8334
- setResponseHeaders(event, {
8335
- "content-type": "application/json;charset=utf-8",
8336
- "x-powered-by": "Nuxt"
8337
- });
8338
- const islandContext = await getIslandContext(event);
8339
- const ssrContext = {
8340
- ...createSSRContext(event),
8341
- islandContext,
8342
- noSSR: false,
8343
- url: islandContext.url
8344
- };
8345
- const renderer = await getSSRRenderer();
8346
- const renderResult = await renderer.renderToString(ssrContext).catch(async (err) => {
8347
- await ssrContext.nuxt?.hooks.callHook("app:error", err);
8348
- throw err;
8349
- });
8350
- if (ssrContext.payload?.error) {
8351
- throw ssrContext.payload.error;
8352
- }
8353
- const inlinedStyles = await renderInlineStyles(ssrContext.modules ?? []);
8354
- await ssrContext.nuxt?.hooks.callHook("app:rendered", { ssrContext, renderResult });
8355
- if (inlinedStyles.length) {
8356
- ssrContext.head.push({ style: inlinedStyles });
8709
+ const _messagesHandler = defineEventHandler(async (event) => {
8710
+ const locale = getRouterParam(event, "locale");
8711
+ if (!locale) {
8712
+ throw createError({ status: 400, message: "Locale not specified." });
8357
8713
  }
8358
- {
8359
- const { styles } = getRequestDependencies(ssrContext, renderer.rendererContext);
8360
- const link = [];
8361
- for (const resource of Object.values(styles)) {
8362
- if ("inline" in getQuery(resource.file)) {
8363
- continue;
8364
- }
8365
- if (resource.file.includes("scoped") && !resource.file.includes("pages/")) {
8366
- link.push({ rel: "stylesheet", href: renderer.rendererContext.buildAssetsURL(resource.file), crossorigin: "" });
8367
- }
8368
- }
8369
- if (link.length) {
8370
- ssrContext.head.push({ link }, { mode: "server" });
8371
- }
8714
+ const ctx = useI18nContext(event);
8715
+ if (ctx.localeConfigs && locale in ctx.localeConfigs === false) {
8716
+ throw createError({ status: 404, message: `Locale '${locale}' not found.` });
8372
8717
  }
8373
- const islandHead = {};
8374
- for (const entry of ssrContext.head.entries.values()) {
8375
- for (const [key, value] of Object.entries(resolveUnrefHeadInput(entry.input))) {
8376
- const currentValue = islandHead[key];
8377
- if (Array.isArray(currentValue)) {
8378
- currentValue.push(...value);
8379
- }
8380
- islandHead[key] = value;
8381
- }
8718
+ const messages = await getMergedMessages(locale, ctx.localeConfigs?.[locale]?.fallbacks ?? []);
8719
+ deepCopy(messages, ctx.messages);
8720
+ return ctx.messages;
8721
+ });
8722
+ const _cachedMessageLoader = defineCachedFunction(_messagesHandler, {
8723
+ name: "i18n:messages-internal",
8724
+ maxAge: -1 ,
8725
+ getKey: (event) => [getRouterParam(event, "locale") ?? "null", getRouterParam(event, "hash") ?? "null"].join("-"),
8726
+ shouldBypassCache(event) {
8727
+ const locale = getRouterParam(event, "locale");
8728
+ if (locale == null) return false;
8729
+ return !useI18nContext(event).localeConfigs?.[locale]?.cacheable;
8382
8730
  }
8383
- const islandResponse = {
8384
- id: islandContext.id,
8385
- head: islandHead,
8386
- html: getServerComponentHTML(renderResult.html),
8387
- components: getClientIslandResponse(ssrContext),
8388
- slots: getSlotIslandResponse(ssrContext)
8389
- };
8390
- await nitroApp.hooks.callHook("render:island", islandResponse, { event, islandContext });
8391
- return islandResponse;
8392
8731
  });
8393
- async function getIslandContext(event) {
8394
- let url = event.path || "";
8395
- const componentParts = url.substring("/__nuxt_island".length + 1).replace(ISLAND_SUFFIX_RE, "").split("_");
8396
- const hashId = componentParts.length > 1 ? componentParts.pop() : void 0;
8397
- const componentName = componentParts.join("_");
8398
- const context = event.method === "GET" ? getQuery$1(event) : await readBody(event);
8399
- const ctx = {
8400
- url: "/",
8401
- ...context,
8402
- id: hashId,
8403
- name: componentName,
8404
- props: destr$1(context.props) || {},
8405
- slots: {},
8406
- components: {}
8407
- };
8408
- return ctx;
8409
- }
8732
+ defineCachedEventHandler(_cachedMessageLoader, {
8733
+ name: "i18n:messages",
8734
+ maxAge: -1 ,
8735
+ swr: false,
8736
+ getKey: (event) => [getRouterParam(event, "locale") ?? "null", getRouterParam(event, "hash") ?? "null"].join("-")
8737
+ });
8738
+ const _NNSCLT = _messagesHandler ;
8410
8739
 
8411
- const _sNpFQR = eventHandler(async (event) => {
8740
+ const _Q1fkYk = eventHandler(async (event) => {
8412
8741
  const collection = getRouterParam(event, "collection");
8413
8742
  setHeader(event, "Content-Type", "text/plain");
8414
8743
  const data = await useStorage().getItem(`build:content:database.compressed.mjs`) || "";
@@ -8690,7 +9019,7 @@ function cleanupQuery(query, options = { removeString: false }) {
8690
9019
  return result;
8691
9020
  }
8692
9021
 
8693
- const _tqzIw4 = eventHandler(async (event) => {
9022
+ const _5WVRB1 = eventHandler(async (event) => {
8694
9023
  const { sql } = await readBody(event);
8695
9024
  const collection = getRouterParam(event, "collection");
8696
9025
  assertSafeQuery(sql, collection);
@@ -8701,7 +9030,7 @@ const _tqzIw4 = eventHandler(async (event) => {
8701
9030
  return loadDatabaseAdapter(conf).all(sql);
8702
9031
  });
8703
9032
 
8704
- const _dueWzj = lazyEventHandler(() => {
9033
+ const _6_zlrq = lazyEventHandler(() => {
8705
9034
  const opts = useRuntimeConfig().ipx || {};
8706
9035
  const fsDir = opts?.fs?.dir ? (Array.isArray(opts.fs.dir) ? opts.fs.dir : [opts.fs.dir]).map((dir) => isAbsolute(dir) ? dir : fileURLToPath(new URL(dir, globalThis._importMeta_.url))) : void 0;
8707
9036
  const fsStorage = opts.fs?.dir ? ipxFSStorage({ ...opts.fs, dir: fsDir }) : void 0;
@@ -8720,18 +9049,19 @@ const _dueWzj = lazyEventHandler(() => {
8720
9049
  });
8721
9050
 
8722
9051
  const _lazy_u5Dhoc = () => Promise.resolve().then(function () { return neonTest$1; });
8723
- const _lazy_7kc4SV = () => Promise.resolve().then(function () { return renderer$1; });
9052
+ const _lazy_xpKmMm = () => Promise.resolve().then(function () { return renderer$1; });
8724
9053
 
8725
9054
  const handlers = [
8726
- { route: '', handler: _DdAzi_, lazy: false, middleware: true, method: undefined },
9055
+ { route: '', handler: _R9eK6g, lazy: false, middleware: true, method: undefined },
8727
9056
  { route: '/api/neonTest', handler: _lazy_u5Dhoc, lazy: true, middleware: false, method: undefined },
8728
- { route: '/__nuxt_error', handler: _lazy_7kc4SV, lazy: true, middleware: false, method: undefined },
8729
- { route: '', handler: _kRvyO4, lazy: false, middleware: false, method: undefined },
8730
- { route: '', handler: _3NZNqH, lazy: false, middleware: false, method: undefined },
8731
- { route: '', handler: _8xNHv9, lazy: false, middleware: false, method: undefined },
8732
- { route: '', handler: _F22V5U, lazy: false, middleware: false, method: undefined },
8733
- { route: '', handler: _kNLY89, lazy: false, middleware: false, method: undefined },
8734
- { route: '/api/_nuxt_icon/:collection', handler: _1Or3lK, lazy: false, middleware: false, method: undefined },
9057
+ { route: '/__nuxt_error', handler: _lazy_xpKmMm, lazy: true, middleware: false, method: undefined },
9058
+ { route: '/__nuxt_island/**', handler: _SxA8c9, lazy: false, middleware: false, method: undefined },
9059
+ { route: '', handler: _0WQsJo, lazy: false, middleware: false, method: undefined },
9060
+ { route: '', handler: _fTCRwx, lazy: false, middleware: false, method: undefined },
9061
+ { route: '', handler: _XNXCfD, lazy: false, middleware: false, method: undefined },
9062
+ { route: '', handler: _MMBZXf, lazy: false, middleware: false, method: undefined },
9063
+ { route: '', handler: _6UgyB1, lazy: false, middleware: false, method: undefined },
9064
+ { route: '/api/_nuxt_icon/:collection', handler: _HWrzav, lazy: false, middleware: false, method: undefined },
8735
9065
  { route: '/api/_neon/raw', handler: _TMe9Qo, lazy: false, middleware: false, method: undefined },
8736
9066
  { route: '/api/_neon/count', handler: _8GcqiV, lazy: false, middleware: false, method: undefined },
8737
9067
  { route: '/api/_neon/select', handler: _bdtZK_, lazy: false, middleware: false, method: undefined },
@@ -8740,28 +9070,27 @@ const handlers = [
8740
9070
  { route: '/api/_neon/delete', handler: _e8NFRG, lazy: false, middleware: false, method: undefined },
8741
9071
  { route: '/api/_auth/session', handler: _VVR0b3, lazy: false, middleware: false, method: "delete" },
8742
9072
  { route: '/api/_auth/session', handler: _DkeHIc, lazy: false, middleware: false, method: "get" },
8743
- { route: '', handler: _REO309, lazy: false, middleware: true, method: undefined },
8744
- { route: '/__site-config__/debug.json', handler: _PVqCY5, lazy: false, middleware: false, method: undefined },
8745
- { route: '/robots.txt', handler: _kf0Wpg, lazy: false, middleware: false, method: undefined },
8746
- { route: '', handler: _H_6TIO, lazy: false, middleware: true, method: undefined },
8747
- { route: '/__robots__/debug.json', handler: _Hmueqy, lazy: false, middleware: false, method: undefined },
8748
- { route: '/__robots__/debug-path.json', handler: _5J9DGb, lazy: false, middleware: false, method: undefined },
8749
- { route: '/__sitemap__/nuxt-content-urls.json', handler: _Ocan62, lazy: false, middleware: false, method: undefined },
8750
- { route: '/__sitemap__/debug.json', handler: _17ObK_, lazy: false, middleware: false, method: undefined },
8751
- { route: '/__sitemap__/style.xsl', handler: _upGA94, lazy: false, middleware: false, method: undefined },
8752
- { route: '/sitemap.xml', handler: _W33d6d, lazy: false, middleware: false, method: undefined },
8753
- { route: '/__link-checker__/inspect', handler: __zXY0a, lazy: false, middleware: false, method: undefined },
8754
- { route: '/__link-checker__/links', handler: _MPCGZw, lazy: false, middleware: false, method: undefined },
8755
- { route: '/__link-checker__/debug.json', handler: __2LSvd, lazy: false, middleware: false, method: undefined },
8756
- { route: '', handler: _LsZDE3, lazy: false, middleware: true, method: undefined },
8757
- { route: '/_i18n/:hash/:locale/messages.json', handler: _JgNSSf, lazy: false, middleware: false, method: undefined },
8758
- { route: '/__nuxt_island/**', handler: _SxA8c9, lazy: false, middleware: false, method: undefined },
8759
- { route: '/__nuxt_content/:collection/sql_dump.txt', handler: _sNpFQR, lazy: false, middleware: false, method: undefined },
8760
- { route: '/__nuxt_content/:collection/query', handler: _tqzIw4, lazy: false, middleware: false, method: undefined },
8761
- { route: '/_ipx/**', handler: _dueWzj, lazy: false, middleware: false, method: undefined },
8762
- { route: '/_fonts/**', handler: _lazy_7kc4SV, lazy: true, middleware: false, method: undefined },
8763
- { route: '/_scripts/**', handler: _lazy_7kc4SV, lazy: true, middleware: false, method: undefined },
8764
- { route: '/**', handler: _lazy_7kc4SV, lazy: true, middleware: false, method: undefined }
9073
+ { route: '', handler: _HNUtXX, lazy: false, middleware: true, method: undefined },
9074
+ { route: '/__site-config__/debug.json', handler: _NLXa3j, lazy: false, middleware: false, method: undefined },
9075
+ { route: '/robots.txt', handler: _WLd7Ho, lazy: false, middleware: false, method: undefined },
9076
+ { route: '', handler: _mUSd9H, lazy: false, middleware: true, method: undefined },
9077
+ { route: '/__robots__/debug.json', handler: _2pyPvz, lazy: false, middleware: false, method: undefined },
9078
+ { route: '/__robots__/debug-path.json', handler: _ABgk2N, lazy: false, middleware: false, method: undefined },
9079
+ { route: '/__sitemap__/nuxt-content-urls.json', handler: _kdhSXr, lazy: false, middleware: false, method: undefined },
9080
+ { route: '/__sitemap__/debug.json', handler: _dK0h0J, lazy: false, middleware: false, method: undefined },
9081
+ { route: '/__sitemap__/style.xsl', handler: _KL_OxC, lazy: false, middleware: false, method: undefined },
9082
+ { route: '/sitemap.xml', handler: _ZZjWkS, lazy: false, middleware: false, method: undefined },
9083
+ { route: '/__link-checker__/inspect', handler: _OhYEOR, lazy: false, middleware: false, method: undefined },
9084
+ { route: '/__link-checker__/links', handler: _rTmegy, lazy: false, middleware: false, method: undefined },
9085
+ { route: '/__link-checker__/debug.json', handler: _NU4oGC, lazy: false, middleware: false, method: undefined },
9086
+ { route: '', handler: _s5gHA6, lazy: false, middleware: true, method: undefined },
9087
+ { route: '/_i18n/:hash/:locale/messages.json', handler: _NNSCLT, lazy: false, middleware: false, method: undefined },
9088
+ { route: '/__nuxt_content/:collection/sql_dump.txt', handler: _Q1fkYk, lazy: false, middleware: false, method: undefined },
9089
+ { route: '/__nuxt_content/:collection/query', handler: _5WVRB1, lazy: false, middleware: false, method: undefined },
9090
+ { route: '/_ipx/**', handler: _6_zlrq, lazy: false, middleware: false, method: undefined },
9091
+ { route: '/_fonts/**', handler: _lazy_xpKmMm, lazy: true, middleware: false, method: undefined },
9092
+ { route: '/_scripts/**', handler: _lazy_xpKmMm, lazy: true, middleware: false, method: undefined },
9093
+ { route: '/**', handler: _lazy_xpKmMm, lazy: true, middleware: false, method: undefined }
8765
9094
  ];
8766
9095
 
8767
9096
  function createNitroApp() {
@@ -8991,13 +9320,13 @@ async function shutdown() {
8991
9320
  parentPort?.postMessage({ event: "exit" });
8992
9321
  }
8993
9322
 
8994
- const _messages = { "appName": "Nuxt", "statusCode": 500, "statusMessage": "Server error", "description": "An error occurred in the application and the page could not be served.", "stack": "" };
9323
+ const _messages = { "appName": "Nuxt", "statusCode": 500, "statusMessage": "Internal server error", "description": "This page is temporarily unavailable.", "refresh": "Refresh this page" };
8995
9324
  const template$1 = (messages) => {
8996
9325
  messages = { ..._messages, ...messages };
8997
- return '<!DOCTYPE html><html lang="en"><head><title>' + escapeHtml(messages.statusCode) + " - " + escapeHtml(messages.statusMessage || "Internal Server Error") + `</title><meta charset="utf-8"><meta content="width=device-width,initial-scale=1.0,minimum-scale=1.0" name="viewport"><script>!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();<\/script><style>*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.absolute{position:absolute}.top-6{top:1.5rem}.z-10{z-index:10}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.inline-block{display:inline-block}.h-auto{height:auto}.min-h-screen{min-height:100vh}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.overflow-y-auto{overflow-y:auto}.border{border-width:1px}.border-b-0{border-bottom-width:0}.border-black\\/5{border-color:#0000000d}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.bg-gray-50\\/50{background-color:#f5f5f580}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.p-8{padding:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.pt-12{padding-top:3rem}.text-6xl{font-size:3.75rem;line-height:1}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-black{--un-text-opacity:1;color:rgb(0 0 0/var(--un-text-opacity))}.hover\\:text-\\[\\#00DC82\\]:hover{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.font-light{font-weight:300}.font-medium{font-weight:500}.leading-tight{line-height:1.25}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.hover\\:underline:hover{text-decoration-line:underline}.underline-offset-3{text-underline-offset:3px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\\:border-white\\/10{border-color:#ffffff1a}.dark\\:bg-\\[\\#020420\\]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\\:bg-white\\/5{background-color:#ffffff0d}.dark\\:text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (min-width:640px){.sm\\:right-6{right:1.5rem}.sm\\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\\:text-8xl{font-size:6rem;line-height:1}}</style></head><body class="antialiased bg-white dark:bg-[#020420] dark:text-white flex flex-col font-sans min-h-screen pt-12 px-10 text-black"><h1 class="font-medium mb-4 sm:text-8xl text-6xl">` + escapeHtml(messages.statusCode) + '</h1><p class="font-light leading-tight mb-8 sm:text-2xl text-xl">' + escapeHtml(messages.description) + '</p><a href="https://nuxt.com/docs/4.x/getting-started/error-handling?utm_source=nuxt-error-dev-page" target="_blank" class="absolute font-medium hover:text-[#00DC82] hover:underline inline-block mx-auto sm:right-6 text-sm top-6 underline-offset-3">Customize this page</a><div class="bg-gray-50/50 border border-b-0 border-black/5 dark:bg-white/5 dark:border-white/10 flex-1 h-auto overflow-y-auto rounded-t-md"><div class="font-light leading-tight p-8 text-xl z-10">' + escapeHtml(messages.stack) + "</div></div></body></html>";
9326
+ return '<!DOCTYPE html><html lang="en"><head><title>' + escapeHtml(messages.statusCode) + " - " + escapeHtml(messages.statusMessage) + " | " + escapeHtml(messages.appName) + `</title><meta charset="utf-8"><meta content="width=device-width,initial-scale=1.0,minimum-scale=1.0" name="viewport"><script>!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();<\/script><style>*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.grid{display:grid}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.max-w-520px{max-width:520px}.min-h-screen{min-height:100vh}.place-content-center{place-content:center}.overflow-hidden{overflow:hidden}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2{padding-left:.5rem;padding-right:.5rem}.text-center{text-align:center}.text-\\[80px\\]{font-size:80px}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\\[\\#020420\\]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\\[\\#64748B\\]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\\:bg-\\[\\#020420\\]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\\:text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\\:text-\\[110px\\]{font-size:110px}.sm\\:text-3xl{font-size:1.875rem;line-height:2.25rem}}</style></head><body class="antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"><div class="max-w-520px text-center"><h1 class="font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]">` + escapeHtml(messages.statusCode) + '</h1><h2 class="font-semibold mb-2 sm:text-3xl text-2xl">' + escapeHtml(messages.statusMessage) + '</h2><p class="mb-4 px-2 text-[#64748B] text-md">' + escapeHtml(messages.description) + "</p></div></body></html>";
8998
9327
  };
8999
9328
 
9000
- const errorDev = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
9329
+ const error500 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
9001
9330
  __proto__: null,
9002
9331
  template: template$1
9003
9332
  }, Symbol.toStringTag, { value: 'Module' }));
@@ -9044,6 +9373,27 @@ const i18n_config$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.definePrope
9044
9373
  default: i18n_config
9045
9374
  }, Symbol.toStringTag, { value: 'Module' }));
9046
9375
 
9376
+ const server = () => {};
9377
+
9378
+ const server$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
9379
+ __proto__: null,
9380
+ default: server
9381
+ }, Symbol.toStringTag, { value: 'Module' }));
9382
+
9383
+ const template = "";
9384
+
9385
+ const _virtual__spaTemplate = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
9386
+ __proto__: null,
9387
+ template: template
9388
+ }, Symbol.toStringTag, { value: 'Module' }));
9389
+
9390
+ const styles = {};
9391
+
9392
+ const styles$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
9393
+ __proto__: null,
9394
+ default: styles
9395
+ }, Symbol.toStringTag, { value: 'Module' }));
9396
+
9047
9397
  const sources$1 = [
9048
9398
  {
9049
9399
  "context": {
@@ -9102,27 +9452,6 @@ const childSources = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProper
9102
9452
  sources: sources
9103
9453
  }, Symbol.toStringTag, { value: 'Module' }));
9104
9454
 
9105
- const server = () => {};
9106
-
9107
- const server$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
9108
- __proto__: null,
9109
- default: server
9110
- }, Symbol.toStringTag, { value: 'Module' }));
9111
-
9112
- const template = "";
9113
-
9114
- const _virtual__spaTemplate = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
9115
- __proto__: null,
9116
- template: template
9117
- }, Symbol.toStringTag, { value: 'Module' }));
9118
-
9119
- const styles = {};
9120
-
9121
- const styles$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
9122
- __proto__: null,
9123
- default: styles
9124
- }, Symbol.toStringTag, { value: 'Module' }));
9125
-
9126
9455
  const neonTest = defineEventHandler(async () => {
9127
9456
  const config = useRuntimeConfig().public.ignis;
9128
9457
  if (config.preset.db === "neon" || config.neon === true) {