nitro-nightly 3.0.0-beta-28969273.f7aa9de6 → 4.0.0-20251010-091516-7cafddba

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 (417) hide show
  1. package/README.md +8 -39
  2. package/dist/_chunks/app.mjs +19797 -0
  3. package/dist/_chunks/build.mjs +84 -0
  4. package/dist/_chunks/build2.mjs +318 -0
  5. package/dist/_chunks/build3.mjs +6452 -0
  6. package/dist/_chunks/detect-acorn.mjs +503 -0
  7. package/dist/_chunks/index.mjs +22242 -0
  8. package/dist/_chunks/index2.mjs +297 -0
  9. package/dist/_chunks/index3.mjs +1058 -0
  10. package/dist/_chunks/index4.mjs +1206 -0
  11. package/dist/_chunks/info.mjs +11157 -0
  12. package/dist/_chunks/json5.mjs +68 -0
  13. package/dist/_chunks/jsonc.mjs +51 -0
  14. package/dist/_chunks/pathe.M-eThtNZ.mjs +204 -0
  15. package/dist/_chunks/plugin.mjs +960 -0
  16. package/dist/_chunks/server.mjs +254 -0
  17. package/dist/_chunks/snapshot.mjs +284 -0
  18. package/dist/_chunks/toml.mjs +259 -0
  19. package/dist/_chunks/yaml.mjs +86 -0
  20. package/dist/cli/build.mjs +10 -3
  21. package/dist/cli/dev.mjs +41 -9
  22. package/dist/cli/index.mjs +460 -1
  23. package/dist/cli/index2.mjs +4 -1
  24. package/dist/cli/list.mjs +10 -4
  25. package/dist/cli/prepare.mjs +6 -3
  26. package/dist/cli/run.mjs +7 -4
  27. package/dist/index.d.mts +52 -0
  28. package/dist/index.mjs +55 -0
  29. package/dist/node_modules/@poppinss/colors/build/index.js +169 -0
  30. package/dist/node_modules/@poppinss/colors/package.json +116 -0
  31. package/dist/node_modules/@poppinss/dumper/build/chunk-26HALFTP.js +602 -0
  32. package/dist/node_modules/@poppinss/dumper/build/formatters/console/main.js +441 -0
  33. package/dist/node_modules/@poppinss/dumper/build/formatters/html/main.js +717 -0
  34. package/dist/node_modules/@poppinss/dumper/package.json +122 -0
  35. package/dist/node_modules/@poppinss/exception/build/index.js +63 -0
  36. package/dist/node_modules/@poppinss/exception/package.json +106 -0
  37. package/dist/node_modules/@sindresorhus/is/distribution/index.js +1313 -0
  38. package/dist/node_modules/@sindresorhus/is/distribution/utilities.js +3 -0
  39. package/dist/node_modules/@sindresorhus/is/package.json +81 -0
  40. package/dist/node_modules/@speed-highlight/core/dist/index.js +4 -0
  41. package/dist/node_modules/@speed-highlight/core/dist/terminal.js +2 -0
  42. package/dist/node_modules/@speed-highlight/core/package.json +90 -0
  43. package/dist/node_modules/cookie/dist/index.js +239 -0
  44. package/dist/node_modules/cookie/package.json +42 -0
  45. package/dist/node_modules/croner/dist/croner.js +1 -0
  46. package/dist/node_modules/croner/package.json +63 -0
  47. package/dist/node_modules/defu/dist/defu.mjs +69 -0
  48. package/dist/node_modules/defu/package.json +43 -0
  49. package/dist/node_modules/destr/dist/index.mjs +72 -0
  50. package/dist/node_modules/destr/package.json +47 -0
  51. package/dist/node_modules/error-stack-parser-es/dist/index.mjs +38 -0
  52. package/dist/node_modules/error-stack-parser-es/dist/lite.mjs +167 -0
  53. package/dist/node_modules/error-stack-parser-es/package.json +83 -0
  54. package/dist/node_modules/get-port-please/dist/index.mjs +430 -0
  55. package/dist/node_modules/get-port-please/package.json +39 -0
  56. package/dist/node_modules/hookable/dist/index.mjs +290 -0
  57. package/dist/node_modules/hookable/package.json +49 -0
  58. package/dist/node_modules/kleur/index.js +110 -0
  59. package/dist/node_modules/kleur/index.mjs +110 -0
  60. package/dist/node_modules/kleur/package.json +51 -0
  61. package/dist/node_modules/klona/dist/index.mjs +81 -0
  62. package/dist/node_modules/klona/full/index.mjs +53 -0
  63. package/dist/node_modules/klona/package.json +74 -0
  64. package/dist/node_modules/scule/dist/index.mjs +80 -0
  65. package/dist/node_modules/scule/package.json +43 -0
  66. package/dist/node_modules/source-map/lib/array-set.js +100 -0
  67. package/dist/node_modules/source-map/lib/base64-vlq.js +94 -0
  68. package/dist/node_modules/source-map/lib/base64.js +19 -0
  69. package/dist/node_modules/source-map/lib/binary-search.js +113 -0
  70. package/dist/node_modules/source-map/lib/mapping-list.js +83 -0
  71. package/dist/node_modules/source-map/lib/mappings.wasm +0 -0
  72. package/dist/node_modules/source-map/lib/read-wasm.js +27 -0
  73. package/dist/node_modules/source-map/lib/source-map-consumer.js +1081 -0
  74. package/dist/node_modules/source-map/lib/source-map-generator.js +439 -0
  75. package/dist/node_modules/source-map/lib/source-node.js +430 -0
  76. package/dist/node_modules/source-map/lib/url.js +13 -0
  77. package/dist/node_modules/source-map/lib/util.js +444 -0
  78. package/dist/node_modules/source-map/lib/wasm.js +138 -0
  79. package/dist/node_modules/source-map/package.json +79 -0
  80. package/dist/node_modules/source-map/source-map.js +10 -0
  81. package/dist/node_modules/std-env/dist/index.mjs +1 -0
  82. package/dist/node_modules/std-env/package.json +46 -0
  83. package/dist/node_modules/supports-color/index.js +202 -0
  84. package/dist/node_modules/supports-color/package.json +64 -0
  85. package/dist/node_modules/ufo/dist/index.mjs +638 -0
  86. package/dist/node_modules/ufo/package.json +47 -0
  87. package/dist/node_modules/unctx/dist/index.mjs +131 -0
  88. package/dist/node_modules/unctx/package.json +67 -0
  89. package/dist/node_modules/youch/build/chunk-4L7RY2JA.js +42 -0
  90. package/dist/node_modules/youch/build/chunk-4XB2BYKC.js +85 -0
  91. package/dist/node_modules/youch/build/chunk-4YEN7HVQ.js +61 -0
  92. package/dist/node_modules/youch/build/chunk-EUJBVOYB.js +83 -0
  93. package/dist/node_modules/youch/build/chunk-HFSXRSKS.js +85 -0
  94. package/dist/node_modules/youch/build/chunk-JAN2TFI2.js +222 -0
  95. package/dist/node_modules/youch/build/chunk-OSUFJZHZ.js +6 -0
  96. package/dist/node_modules/youch/build/chunk-PINJDICN.js +72 -0
  97. package/dist/node_modules/youch/build/chunk-PUHGL6HA.js +41 -0
  98. package/dist/node_modules/youch/build/chunk-VE4LENUR.js +45 -0
  99. package/dist/node_modules/youch/build/index.js +352 -0
  100. package/dist/node_modules/youch/build/public/error_cause/style.css +5 -0
  101. package/dist/node_modules/youch/build/public/error_info/script.js +13 -0
  102. package/dist/node_modules/youch/build/public/error_info/style.css +144 -0
  103. package/dist/node_modules/youch/build/public/error_stack/script.js +74 -0
  104. package/dist/node_modules/youch/build/public/error_stack/style.css +220 -0
  105. package/dist/node_modules/youch/build/public/error_stack_source/style.css +123 -0
  106. package/dist/node_modules/youch/build/public/header/script.js +16 -0
  107. package/dist/node_modules/youch/build/public/header/style.css +56 -0
  108. package/dist/node_modules/youch/build/public/layout/script.js +20 -0
  109. package/dist/node_modules/youch/build/public/layout/style.css +431 -0
  110. package/dist/node_modules/youch/package.json +133 -0
  111. package/dist/node_modules/youch-core/build/index.js +316 -0
  112. package/dist/node_modules/youch-core/package.json +124 -0
  113. package/dist/presets/_nitro/runtime/nitro-dev.mjs +48 -73
  114. package/dist/presets/_nitro/runtime/{nitro-prerenderer.d.ts → nitro-prerenderer.d.mts} +1 -1
  115. package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +12 -1
  116. package/dist/presets/_nitro/runtime/service-worker.mjs +5 -15
  117. package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +2 -2
  118. package/dist/presets/aws-lambda/runtime/_utils.d.mts +18 -0
  119. package/dist/presets/aws-lambda/runtime/_utils.mjs +102 -0
  120. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.mts +3 -0
  121. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +12 -32
  122. package/dist/presets/aws-lambda/runtime/aws-lambda.d.mts +3 -0
  123. package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +6 -38
  124. package/dist/{runtime/internal/utils.azure.d.ts → presets/azure/runtime/_utils.d.mts} +1 -1
  125. package/dist/{runtime/internal/utils.azure.mjs → presets/azure/runtime/_utils.mjs} +3 -4
  126. package/dist/presets/azure/runtime/azure-swa.mjs +11 -13
  127. package/dist/presets/bun/runtime/bun.mjs +13 -18
  128. package/dist/presets/cloudflare/runtime/_module-handler.d.mts +13 -0
  129. package/dist/presets/cloudflare/runtime/_module-handler.mjs +93 -0
  130. package/dist/presets/cloudflare/runtime/cloudflare-durable.d.mts +19 -0
  131. package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +74 -0
  132. package/dist/presets/cloudflare/runtime/cloudflare-module.d.mts +9 -0
  133. package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +13 -97
  134. package/dist/presets/cloudflare/runtime/{cloudflare-pages.d.ts → cloudflare-pages.d.mts} +1 -1
  135. package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +19 -27
  136. package/dist/{runtime/internal/timing.d.ts → presets/cloudflare/runtime/plugin.dev.d.mts} +1 -0
  137. package/dist/presets/cloudflare/runtime/plugin.dev.mjs +89 -0
  138. package/dist/presets/deno/runtime/deno-deploy.mjs +11 -25
  139. package/dist/presets/deno/runtime/deno-server.d.mts +6 -0
  140. package/dist/presets/deno/runtime/deno-server.mjs +15 -21
  141. package/dist/presets/netlify/runtime/netlify-edge.d.mts +3 -0
  142. package/dist/presets/netlify/runtime/netlify-edge.mjs +8 -16
  143. package/dist/presets/netlify/runtime/netlify.mjs +16 -45
  144. package/dist/presets/node/runtime/{cluster.mjs → node-cluster.mjs} +1 -3
  145. package/dist/presets/node/runtime/node-middleware.d.mts +4 -0
  146. package/dist/presets/node/runtime/{node-listener.mjs → node-middleware.mjs} +3 -4
  147. package/dist/presets/node/runtime/node-server.mjs +3 -4
  148. package/dist/presets/standard/runtime/server.d.mts +5 -0
  149. package/dist/presets/standard/runtime/server.mjs +6 -0
  150. package/dist/presets/stormkit/runtime/stormkit.mjs +8 -12
  151. package/dist/presets/vercel/runtime/vercel.d.mts +8 -0
  152. package/dist/presets/vercel/runtime/vercel.mjs +11 -11
  153. package/dist/presets/winterjs/runtime/winterjs.mjs +22 -4
  154. package/dist/presets/{node/runtime/node-server.d.ts → zeabur/runtime/zeabur.d.mts} +1 -1
  155. package/dist/presets/zeabur/runtime/zeabur.mjs +2 -6
  156. package/dist/presets.mjs +2460 -0
  157. package/dist/runtime/index.d.mts +11 -0
  158. package/dist/runtime/index.mjs +8 -8
  159. package/dist/runtime/internal/app.d.mts +2 -0
  160. package/dist/runtime/internal/app.mjs +129 -128
  161. package/dist/runtime/internal/cache.d.mts +7 -0
  162. package/dist/runtime/internal/cache.mjs +82 -175
  163. package/dist/runtime/internal/{context.d.ts → context.d.mts} +3 -3
  164. package/dist/runtime/internal/context.mjs +6 -6
  165. package/dist/runtime/internal/error/dev.d.mts +9 -0
  166. package/dist/runtime/internal/error/dev.mjs +122 -0
  167. package/dist/runtime/internal/error/prod.d.mts +8 -0
  168. package/dist/runtime/internal/error/prod.mjs +62 -0
  169. package/dist/runtime/internal/error/utils.d.mts +8 -0
  170. package/dist/runtime/internal/error/utils.mjs +3 -0
  171. package/dist/runtime/internal/index.d.mts +3 -0
  172. package/dist/runtime/internal/index.mjs +1 -14
  173. package/dist/runtime/internal/renderer.d.mts +3 -0
  174. package/dist/runtime/internal/renderer.mjs +29 -33
  175. package/dist/runtime/internal/route-rules.d.mts +8 -0
  176. package/dist/runtime/internal/route-rules.mjs +58 -63
  177. package/dist/runtime/internal/routes/dev-tasks.d.mts +3 -0
  178. package/dist/runtime/internal/routes/dev-tasks.mjs +23 -0
  179. package/dist/runtime/internal/routes/openapi.d.mts +3 -0
  180. package/dist/runtime/internal/routes/openapi.mjs +24 -9
  181. package/dist/runtime/internal/routes/renderer-template.d.mts +2 -0
  182. package/dist/runtime/internal/routes/renderer-template.dev.d.mts +3 -0
  183. package/dist/runtime/internal/routes/renderer-template.dev.mjs +21 -0
  184. package/dist/runtime/internal/routes/renderer-template.mjs +4 -0
  185. package/dist/runtime/internal/routes/scalar.d.mts +3 -0
  186. package/dist/runtime/internal/routes/scalar.mjs +7 -4
  187. package/dist/runtime/internal/routes/swagger.d.mts +3 -0
  188. package/dist/runtime/internal/routes/swagger.mjs +5 -4
  189. package/dist/runtime/internal/{utils.env.d.ts → runtime-config.d.mts} +4 -2
  190. package/dist/runtime/internal/{utils.env.mjs → runtime-config.mjs} +16 -6
  191. package/dist/runtime/internal/static.d.mts +3 -0
  192. package/dist/runtime/internal/static.mjs +24 -36
  193. package/dist/runtime/internal/storage.mjs +2 -1
  194. package/dist/runtime/internal/task.mjs +6 -6
  195. package/dist/runtime/internal/utils.d.mts +1 -0
  196. package/dist/runtime/internal/utils.mjs +1 -116
  197. package/dist/runtime/internal/vite/dev-entry.d.mts +1 -0
  198. package/dist/runtime/internal/vite/dev-entry.mjs +6 -0
  199. package/dist/runtime/internal/vite/dev-worker.mjs +362 -0
  200. package/dist/runtime/internal/vite/prod-setup.d.mts +4 -0
  201. package/dist/runtime/internal/vite/prod-setup.mjs +55 -0
  202. package/dist/runtime/internal/vite/ssr-renderer.d.mts +4 -0
  203. package/dist/runtime/internal/vite/ssr-renderer.mjs +4 -0
  204. package/dist/types/index.d.mts +2688 -138
  205. package/dist/vite.d.mts +59 -0
  206. package/dist/vite.mjs +68 -0
  207. package/lib/config.d.mts +9 -0
  208. package/lib/deps/h3.d.mts +1 -0
  209. package/lib/deps/h3.mjs +1 -0
  210. package/lib/deps/ofetch.mjs +1 -0
  211. package/lib/deps/ofetch.mts +1 -0
  212. package/lib/meta.d.mts +5 -0
  213. package/lib/meta.mjs +21 -0
  214. package/{runtime-meta.d.ts → lib/runtime-meta.d.mts} +1 -0
  215. package/{runtime-meta.mjs → lib/runtime-meta.mjs} +12 -4
  216. package/package.json +142 -160
  217. package/cli.d.ts +0 -1
  218. package/config.d.ts +0 -1
  219. package/core.d.ts +0 -1
  220. package/dist/cli/index.d.ts +0 -1
  221. package/dist/config/index.d.mts +0 -6
  222. package/dist/config/index.d.ts +0 -6
  223. package/dist/core/index.d.mts +0 -30
  224. package/dist/core/index.d.ts +0 -30
  225. package/dist/core/index.mjs +0 -2456
  226. package/dist/kit/index.d.mts +0 -44
  227. package/dist/kit/index.d.ts +0 -44
  228. package/dist/kit/index.mjs +0 -71
  229. package/dist/meta/index.d.mts +0 -3
  230. package/dist/meta/index.d.ts +0 -3
  231. package/dist/meta/index.mjs +0 -3
  232. package/dist/presets/_all.gen.d.ts +0 -2
  233. package/dist/presets/_all.gen.mjs +0 -52
  234. package/dist/presets/_nitro/base-worker.d.ts +0 -2
  235. package/dist/presets/_nitro/base-worker.mjs +0 -25
  236. package/dist/presets/_nitro/nitro-dev.d.ts +0 -2
  237. package/dist/presets/_nitro/nitro-dev.mjs +0 -19
  238. package/dist/presets/_nitro/nitro-prerender.d.ts +0 -2
  239. package/dist/presets/_nitro/nitro-prerender.mjs +0 -17
  240. package/dist/presets/_nitro/preset.d.ts +0 -2
  241. package/dist/presets/_nitro/preset.mjs +0 -5
  242. package/dist/presets/_nitro/service-worker.d.ts +0 -2
  243. package/dist/presets/_nitro/service-worker.mjs +0 -110
  244. package/dist/presets/_resolve.d.ts +0 -8
  245. package/dist/presets/_resolve.mjs +0 -44
  246. package/dist/presets/_static/preset.d.ts +0 -2
  247. package/dist/presets/_static/preset.mjs +0 -69
  248. package/dist/presets/_types.gen.d.ts +0 -16
  249. package/dist/presets/alwaysdata/preset.d.ts +0 -2
  250. package/dist/presets/alwaysdata/preset.mjs +0 -14
  251. package/dist/presets/aws-amplify/preset.d.ts +0 -3
  252. package/dist/presets/aws-amplify/preset.mjs +0 -27
  253. package/dist/presets/aws-amplify/types.d.ts +0 -141
  254. package/dist/presets/aws-amplify/utils.d.ts +0 -2
  255. package/dist/presets/aws-amplify/utils.mjs +0 -82
  256. package/dist/presets/aws-lambda/preset.d.ts +0 -2
  257. package/dist/presets/aws-lambda/preset.mjs +0 -21
  258. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.ts +0 -14
  259. package/dist/presets/aws-lambda/runtime/aws-lambda.d.ts +0 -4
  260. package/dist/presets/azure/preset.d.ts +0 -3
  261. package/dist/presets/azure/preset.mjs +0 -44
  262. package/dist/presets/azure/runtime/azure-functions.mjs +0 -24
  263. package/dist/presets/azure/runtime/azure-swa.d.ts +0 -5
  264. package/dist/presets/azure/types.d.ts +0 -13
  265. package/dist/presets/azure/types.mjs +0 -0
  266. package/dist/presets/azure/utils.d.ts +0 -3
  267. package/dist/presets/azure/utils.mjs +0 -183
  268. package/dist/presets/bun/preset.d.ts +0 -2
  269. package/dist/presets/bun/preset.mjs +0 -17
  270. package/dist/presets/cleavr/preset.d.ts +0 -2
  271. package/dist/presets/cleavr/preset.mjs +0 -12
  272. package/dist/presets/cloudflare/preset.d.ts +0 -3
  273. package/dist/presets/cloudflare/preset.mjs +0 -145
  274. package/dist/presets/cloudflare/runtime/cloudflare-module.d.ts +0 -13
  275. package/dist/presets/cloudflare/runtime/cloudflare-worker.mjs +0 -64
  276. package/dist/presets/cloudflare/types.d.ts +0 -89
  277. package/dist/presets/cloudflare/types.mjs +0 -0
  278. package/dist/presets/cloudflare/types.wrangler.d.ts +0 -974
  279. package/dist/presets/cloudflare/types.wrangler.mjs +0 -0
  280. package/dist/presets/cloudflare/utils.d.ts +0 -3
  281. package/dist/presets/cloudflare/utils.mjs +0 -163
  282. package/dist/presets/deno/preset.d.ts +0 -2
  283. package/dist/presets/deno/preset.mjs +0 -148
  284. package/dist/presets/deno/runtime/_deno-env-polyfill.d.ts +0 -0
  285. package/dist/presets/deno/runtime/_deno-env-polyfill.mjs +0 -1
  286. package/dist/presets/digitalocean/preset.d.ts +0 -2
  287. package/dist/presets/digitalocean/preset.mjs +0 -11
  288. package/dist/presets/edgio/preset.d.ts +0 -2
  289. package/dist/presets/edgio/preset.mjs +0 -95
  290. package/dist/presets/firebase/preset.d.ts +0 -3
  291. package/dist/presets/firebase/preset.mjs +0 -50
  292. package/dist/presets/firebase/runtime/firebase-gen-1.d.ts +0 -2
  293. package/dist/presets/firebase/runtime/firebase-gen-1.mjs +0 -7
  294. package/dist/presets/firebase/runtime/firebase-gen-2.d.ts +0 -2
  295. package/dist/presets/firebase/runtime/firebase-gen-2.mjs +0 -14
  296. package/dist/presets/firebase/runtime/firebase-gen-default.d.ts +0 -1
  297. package/dist/presets/firebase/runtime/firebase-gen-default.mjs +0 -1
  298. package/dist/presets/firebase/types.d.ts +0 -38
  299. package/dist/presets/firebase/types.mjs +0 -0
  300. package/dist/presets/firebase/utils.d.ts +0 -3
  301. package/dist/presets/firebase/utils.mjs +0 -50
  302. package/dist/presets/flightcontrol/preset.d.ts +0 -2
  303. package/dist/presets/flightcontrol/preset.mjs +0 -11
  304. package/dist/presets/heroku/preset.d.ts +0 -2
  305. package/dist/presets/heroku/preset.mjs +0 -11
  306. package/dist/presets/iis/preset.d.ts +0 -2
  307. package/dist/presets/iis/preset.mjs +0 -32
  308. package/dist/presets/iis/utils.d.ts +0 -3
  309. package/dist/presets/iis/utils.mjs +0 -161
  310. package/dist/presets/index.d.mts +0 -1
  311. package/dist/presets/index.d.ts +0 -2
  312. package/dist/presets/index.mjs +0 -1
  313. package/dist/presets/koyeb/preset.d.ts +0 -2
  314. package/dist/presets/koyeb/preset.mjs +0 -11
  315. package/dist/presets/netlify/legacy/preset.d.ts +0 -2
  316. package/dist/presets/netlify/legacy/preset.mjs +0 -143
  317. package/dist/presets/netlify/legacy/runtime/_deno-env-polyfill.d.ts +0 -0
  318. package/dist/presets/netlify/legacy/runtime/_deno-env-polyfill.mjs +0 -1
  319. package/dist/presets/netlify/legacy/runtime/netlify-builder.d.ts +0 -3
  320. package/dist/presets/netlify/legacy/runtime/netlify-builder.mjs +0 -5
  321. package/dist/presets/netlify/legacy/runtime/netlify-edge.d.ts +0 -2
  322. package/dist/presets/netlify/legacy/runtime/netlify-edge.mjs +0 -25
  323. package/dist/presets/netlify/legacy/runtime/netlify-lambda.d.ts +0 -3
  324. package/dist/presets/netlify/legacy/runtime/netlify-lambda.mjs +0 -38
  325. package/dist/presets/netlify/legacy/runtime/netlify.d.ts +0 -4
  326. package/dist/presets/netlify/legacy/runtime/netlify.mjs +0 -22
  327. package/dist/presets/netlify/legacy/utils.d.ts +0 -4
  328. package/dist/presets/netlify/legacy/utils.mjs +0 -113
  329. package/dist/presets/netlify/preset.d.ts +0 -3
  330. package/dist/presets/netlify/preset.mjs +0 -128
  331. package/dist/presets/netlify/runtime/_deno-env-polyfill.d.ts +0 -0
  332. package/dist/presets/netlify/runtime/_deno-env-polyfill.mjs +0 -1
  333. package/dist/presets/netlify/runtime/netlify-edge.d.ts +0 -2
  334. package/dist/presets/netlify/types.d.ts +0 -12
  335. package/dist/presets/netlify/types.mjs +0 -0
  336. package/dist/presets/netlify/utils.d.ts +0 -5
  337. package/dist/presets/netlify/utils.mjs +0 -94
  338. package/dist/presets/node/preset.d.ts +0 -2
  339. package/dist/presets/node/preset.mjs +0 -49
  340. package/dist/presets/node/runtime/cli.d.ts +0 -1
  341. package/dist/presets/node/runtime/cli.mjs +0 -22
  342. package/dist/presets/node/runtime/node-listener.d.ts +0 -6
  343. package/dist/presets/platform.sh/preset.d.ts +0 -2
  344. package/dist/presets/platform.sh/preset.mjs +0 -11
  345. package/dist/presets/render.com/preset.d.ts +0 -2
  346. package/dist/presets/render.com/preset.mjs +0 -11
  347. package/dist/presets/stormkit/preset.d.ts +0 -2
  348. package/dist/presets/stormkit/preset.mjs +0 -15
  349. package/dist/presets/vercel/preset.d.ts +0 -3
  350. package/dist/presets/vercel/preset.mjs +0 -104
  351. package/dist/presets/vercel/runtime/vercel-edge.d.ts +0 -2
  352. package/dist/presets/vercel/runtime/vercel-edge.mjs +0 -22
  353. package/dist/presets/vercel/runtime/vercel.d.ts +0 -4
  354. package/dist/presets/vercel/types.d.ts +0 -78
  355. package/dist/presets/vercel/types.mjs +0 -0
  356. package/dist/presets/vercel/utils.d.ts +0 -5
  357. package/dist/presets/vercel/utils.mjs +0 -186
  358. package/dist/presets/winterjs/preset.d.ts +0 -2
  359. package/dist/presets/winterjs/preset.mjs +0 -20
  360. package/dist/presets/winterjs/runtime/winterjs.d.ts +0 -1
  361. package/dist/presets/zeabur/preset.d.ts +0 -2
  362. package/dist/presets/zeabur/preset.mjs +0 -70
  363. package/dist/presets/zeabur/runtime/zeabur.d.ts +0 -4
  364. package/dist/rollup/index.d.mts +0 -5
  365. package/dist/rollup/index.d.ts +0 -5
  366. package/dist/rollup/index.mjs +0 -1673
  367. package/dist/runtime/index.d.ts +0 -12
  368. package/dist/runtime/internal/app.d.ts +0 -3
  369. package/dist/runtime/internal/cache.d.ts +0 -8
  370. package/dist/runtime/internal/client.mjs +0 -4
  371. package/dist/runtime/internal/config.d.ts +0 -5
  372. package/dist/runtime/internal/config.mjs +0 -45
  373. package/dist/runtime/internal/error.d.ts +0 -4
  374. package/dist/runtime/internal/error.mjs +0 -73
  375. package/dist/runtime/internal/index.d.ts +0 -6
  376. package/dist/runtime/internal/renderer.d.ts +0 -2
  377. package/dist/runtime/internal/route-rules.d.ts +0 -14
  378. package/dist/runtime/internal/routes/openapi.d.ts +0 -3
  379. package/dist/runtime/internal/routes/scalar.d.ts +0 -2
  380. package/dist/runtime/internal/routes/swagger.d.ts +0 -2
  381. package/dist/runtime/internal/static.d.ts +0 -2
  382. package/dist/runtime/internal/timing.mjs +0 -29
  383. package/dist/runtime/internal/utils.d.ts +0 -21
  384. package/dist/runtime/internal/utils.lambda.d.ts +0 -10
  385. package/dist/runtime/internal/utils.lambda.mjs +0 -30
  386. package/dist/shared/nitro.bra5i6ER.d.mts +0 -620
  387. package/dist/shared/nitro.bra5i6ER.d.ts +0 -620
  388. package/dist/types/index.d.ts +0 -260
  389. package/kit.d.ts +0 -1
  390. package/meta.d.ts +0 -1
  391. package/presets.d.ts +0 -1
  392. package/rollup.d.ts +0 -1
  393. package/runtime.d.ts +0 -1
  394. package/types.d.ts +0 -1
  395. /package/dist/presets/_nitro/runtime/{nitro-dev.d.ts → nitro-dev.d.mts} +0 -0
  396. /package/dist/presets/_nitro/runtime/{service-worker.d.ts → service-worker.d.mts} +0 -0
  397. /package/dist/presets/aws-amplify/runtime/{aws-amplify.d.ts → aws-amplify.d.mts} +0 -0
  398. /package/dist/presets/azure/runtime/{azure-functions.d.ts → azure-swa.d.mts} +0 -0
  399. /package/dist/presets/bun/runtime/{bun.d.ts → bun.d.mts} +0 -0
  400. /package/dist/presets/{cloudflare/runtime/cloudflare-worker.d.ts → deno/runtime/deno-deploy.d.mts} +0 -0
  401. /package/dist/presets/netlify/runtime/{netlify.d.ts → netlify.d.mts} +0 -0
  402. /package/dist/presets/node/runtime/{cluster.d.ts → node-cluster.d.mts} +0 -0
  403. /package/dist/presets/{deno/runtime/deno-server.d.ts → node/runtime/node-server.d.mts} +0 -0
  404. /package/dist/presets/stormkit/runtime/{stormkit.d.ts → stormkit.d.mts} +0 -0
  405. /package/dist/presets/{deno/runtime/deno-deploy.d.ts → winterjs/runtime/winterjs.d.mts} +0 -0
  406. /package/dist/runtime/internal/{database.d.ts → database.d.mts} +0 -0
  407. /package/dist/runtime/internal/{debug.d.ts → debug.d.mts} +0 -0
  408. /package/dist/{presets/_types.gen.mjs → runtime/internal/empty.d.mts} +0 -0
  409. /package/dist/{presets/aws-amplify/types.mjs → runtime/internal/empty.mjs} +0 -0
  410. /package/dist/runtime/internal/lib/{http-graceful-shutdown.d.ts → http-graceful-shutdown.d.mts} +0 -0
  411. /package/dist/runtime/internal/{meta.d.ts → meta.d.mts} +0 -0
  412. /package/dist/runtime/internal/{plugin.d.ts → plugin.d.mts} +0 -0
  413. /package/dist/runtime/internal/{shutdown.d.ts → shutdown.d.mts} +0 -0
  414. /package/dist/runtime/internal/{storage.d.ts → storage.d.mts} +0 -0
  415. /package/dist/runtime/internal/{task.d.ts → task.d.mts} +0 -0
  416. /package/dist/runtime/internal/{client.d.ts → vite/dev-worker.d.mts} +0 -0
  417. /package/{dist/config/index.mjs → lib/config.mjs} +0 -0
@@ -0,0 +1,352 @@
1
+ import {
2
+ Layout
3
+ } from "./chunk-VE4LENUR.js";
4
+ import {
5
+ ErrorCause
6
+ } from "./chunk-PINJDICN.js";
7
+ import {
8
+ ErrorInfo
9
+ } from "./chunk-EUJBVOYB.js";
10
+ import {
11
+ ErrorMetadata
12
+ } from "./chunk-HFSXRSKS.js";
13
+ import {
14
+ ErrorStack
15
+ } from "./chunk-JAN2TFI2.js";
16
+ import {
17
+ ErrorStackSource
18
+ } from "./chunk-4XB2BYKC.js";
19
+ import "./chunk-4L7RY2JA.js";
20
+ import {
21
+ Header
22
+ } from "./chunk-PUHGL6HA.js";
23
+ import "./chunk-OSUFJZHZ.js";
24
+ import {
25
+ BaseComponent
26
+ } from "./chunk-4YEN7HVQ.js";
27
+
28
+ // src/youch.ts
29
+ import cookie from "cookie";
30
+ import { ErrorParser } from "youch-core";
31
+
32
+ // src/metadata.ts
33
+ var Metadata = class {
34
+ #groups = {};
35
+ /**
36
+ * Converts value to an array (if not an array already)
37
+ */
38
+ #toArray(value) {
39
+ return Array.isArray(value) ? value : [value];
40
+ }
41
+ /**
42
+ * Define a group, its sections and their rows. In case of
43
+ * existing groups/sections, the new data will be merged
44
+ * with the existing data
45
+ */
46
+ group(name, sections) {
47
+ this.#groups[name] = this.#groups[name] ?? {};
48
+ Object.keys(sections).forEach((section) => {
49
+ if (!this.#groups[name][section]) {
50
+ this.#groups[name][section] = sections[section];
51
+ } else {
52
+ this.#groups[name][section] = this.#toArray(this.#groups[name][section]);
53
+ this.#groups[name][section].push(...this.#toArray(sections[section]));
54
+ }
55
+ });
56
+ return this;
57
+ }
58
+ /**
59
+ * Returns the existing metadata groups, sections and
60
+ * rows.
61
+ */
62
+ toJSON() {
63
+ return this.#groups;
64
+ }
65
+ };
66
+
67
+ // src/templates.ts
68
+ import { createScript, createStyleSheet } from "@poppinss/dumper/html";
69
+ var Templates = class {
70
+ constructor(devMode) {
71
+ this.devMode = devMode;
72
+ this.#knownTemplates = {
73
+ layout: new Layout(devMode),
74
+ header: new Header(devMode),
75
+ errorInfo: new ErrorInfo(devMode),
76
+ errorStack: new ErrorStack(devMode),
77
+ errorStackSource: new ErrorStackSource(devMode),
78
+ errorCause: new ErrorCause(devMode),
79
+ errorMetadata: new ErrorMetadata(devMode)
80
+ };
81
+ }
82
+ #knownTemplates;
83
+ #styles = /* @__PURE__ */ new Map([["global", createStyleSheet()]]);
84
+ #scripts = /* @__PURE__ */ new Map([["global", createScript()]]);
85
+ /**
86
+ * Returns a collection of style and script tags to dump
87
+ * inside the document HEAD.
88
+ */
89
+ #getStylesAndScripts(cspNonce) {
90
+ let customInjectedStyles = "";
91
+ const styles = [];
92
+ const scripts = [];
93
+ const cspNonceAttr = cspNonce ? ` nonce="${cspNonce}"` : "";
94
+ this.#styles.forEach((bucket, name) => {
95
+ if (name === "injected") {
96
+ customInjectedStyles = `<style id="${name}-styles"${cspNonceAttr}>${bucket}</style>`;
97
+ } else {
98
+ styles.push(`<style id="${name}-styles"${cspNonceAttr}>${bucket}</style>`);
99
+ }
100
+ });
101
+ this.#scripts.forEach((bucket, name) => {
102
+ scripts.push(`<script id="${name}-script"${cspNonceAttr}>${bucket}</script>`);
103
+ });
104
+ return { styles: `${styles.join("\n")}
105
+ ${customInjectedStyles}`, scripts: scripts.join("\n") };
106
+ }
107
+ /**
108
+ * Collects styles and scripts for components as we render
109
+ * them.
110
+ */
111
+ async #collectStylesAndScripts(templateName) {
112
+ if (!this.#styles.has(templateName)) {
113
+ const styles = await this.#knownTemplates[templateName].getStyles();
114
+ if (styles) {
115
+ this.#styles.set(templateName, styles);
116
+ }
117
+ }
118
+ if (!this.#scripts.has(templateName)) {
119
+ const script = await this.#knownTemplates[templateName].getScript();
120
+ if (script) {
121
+ this.#scripts.set(templateName, script);
122
+ }
123
+ }
124
+ }
125
+ /**
126
+ * Returns the HTML for a given template
127
+ */
128
+ async #tmplToHTML(templateName, props) {
129
+ const component = this.#knownTemplates[templateName];
130
+ if (!component) {
131
+ throw new Error(`Invalid template "${templateName}"`);
132
+ }
133
+ await this.#collectStylesAndScripts(templateName);
134
+ return component.toHTML(props);
135
+ }
136
+ /**
137
+ * Returns the ANSI output for a given template
138
+ */
139
+ async #tmplToANSI(templateName, props) {
140
+ const component = this.#knownTemplates[templateName];
141
+ if (!component) {
142
+ throw new Error(`Invalid template "${templateName}"`);
143
+ }
144
+ return component.toANSI(props);
145
+ }
146
+ /**
147
+ * Define a custom component to be used in place of the default component.
148
+ * Overriding components allows you control the HTML layout, styles and
149
+ * the frontend scripts of an HTML fragment.
150
+ */
151
+ use(templateName, component) {
152
+ this.#knownTemplates[templateName] = component;
153
+ return this;
154
+ }
155
+ /**
156
+ * Inject custom styles to the document. Injected styles are
157
+ * always placed after the global and the components style
158
+ * tags.
159
+ */
160
+ injectStyles(cssFragment) {
161
+ let injectedStyles = this.#styles.get("injected") ?? "";
162
+ injectedStyles += `
163
+ ${cssFragment}`;
164
+ this.#styles.set("injected", injectedStyles);
165
+ return this;
166
+ }
167
+ /**
168
+ * Returns the HTML output for the given parsed error
169
+ */
170
+ async toHTML(props) {
171
+ const html = await this.#tmplToHTML("layout", {
172
+ title: props.title,
173
+ ide: props.ide,
174
+ cspNonce: props.cspNonce,
175
+ children: async () => {
176
+ const header = await this.#tmplToHTML("header", props);
177
+ const info = await this.#tmplToHTML("errorInfo", props);
178
+ const stackTrace = await this.#tmplToHTML("errorStack", {
179
+ ide: process.env.EDITOR ?? "vscode",
180
+ sourceCodeRenderer: (error, frame) => {
181
+ return this.#tmplToHTML("errorStackSource", {
182
+ error,
183
+ frame,
184
+ ide: props.ide,
185
+ cspNonce: props.cspNonce
186
+ });
187
+ },
188
+ ...props
189
+ });
190
+ const cause = await this.#tmplToHTML("errorCause", props);
191
+ const metadata = await this.#tmplToHTML("errorMetadata", props);
192
+ return `${header}${info}${stackTrace}${cause}${metadata}`;
193
+ }
194
+ });
195
+ const { scripts, styles } = this.#getStylesAndScripts(props.cspNonce);
196
+ return html.replace("<!-- STYLES -->", styles).replace("<!-- SCRIPTS -->", scripts);
197
+ }
198
+ /**
199
+ * Returns the ANSI output to be printed on the terminal
200
+ */
201
+ async toANSI(props) {
202
+ const ansiOutput = await this.#tmplToANSI("layout", {
203
+ title: props.title,
204
+ children: async () => {
205
+ const header = await this.#tmplToANSI("header", {});
206
+ const info = await this.#tmplToANSI("errorInfo", props);
207
+ const stackTrace = await this.#tmplToANSI("errorStack", {
208
+ ide: process.env.EDITOR ?? "vscode",
209
+ sourceCodeRenderer: (error, frame) => {
210
+ return this.#tmplToANSI("errorStackSource", {
211
+ error,
212
+ frame
213
+ });
214
+ },
215
+ ...props
216
+ });
217
+ const cause = await this.#tmplToANSI("errorCause", props);
218
+ const metadata = await this.#tmplToANSI("errorMetadata", props);
219
+ return `${header}${info}${stackTrace}${cause}${metadata}`;
220
+ }
221
+ });
222
+ return ansiOutput;
223
+ }
224
+ };
225
+
226
+ // src/youch.ts
227
+ var Youch = class {
228
+ /**
229
+ * Properties to be shared with the Error parser
230
+ */
231
+ #sourceLoader;
232
+ #parsers = [];
233
+ #transformers = [];
234
+ /**
235
+ * Manage templates used for converting error to the HTML
236
+ * output
237
+ */
238
+ templates = new Templates(false);
239
+ /**
240
+ * Define metadata to be displayed alongside the error output
241
+ */
242
+ metadata = new Metadata();
243
+ /**
244
+ * Creates an instance of the ErrorParser and applies the
245
+ * source loader, parsers and transformers on it
246
+ */
247
+ #createErrorParser(options) {
248
+ const errorParser = new ErrorParser(options);
249
+ if (this.#sourceLoader) {
250
+ errorParser.defineSourceLoader(this.#sourceLoader);
251
+ }
252
+ this.#parsers.forEach((parser) => errorParser.useParser(parser));
253
+ this.#transformers.forEach((transformer) => errorParser.useTransformer(transformer));
254
+ return errorParser;
255
+ }
256
+ /**
257
+ * Defines the request properties as a metadata group
258
+ */
259
+ #defineRequestMetadataGroup(request) {
260
+ if (!request || Object.keys(request).length === 0) {
261
+ return;
262
+ }
263
+ this.metadata.group("Request", {
264
+ ...request.url ? {
265
+ url: {
266
+ key: "URL",
267
+ value: request.url
268
+ }
269
+ } : {},
270
+ ...request.method ? {
271
+ method: {
272
+ key: "Method",
273
+ value: request.method
274
+ }
275
+ } : {},
276
+ ...request.headers ? {
277
+ headers: Object.keys(request.headers).map((key) => {
278
+ const value = request.headers[key];
279
+ return {
280
+ key,
281
+ value: key === "cookie" ? { ...cookie.parse(value) } : value
282
+ };
283
+ })
284
+ } : {}
285
+ });
286
+ }
287
+ /**
288
+ * Define custom implementation for loading the source code
289
+ * of a stack frame.
290
+ */
291
+ defineSourceLoader(loader) {
292
+ this.#sourceLoader = loader;
293
+ return this;
294
+ }
295
+ /**
296
+ * Define a custom parser. Parsers are executed before the
297
+ * error gets parsed and provides you with an option to
298
+ * modify the error
299
+ */
300
+ useParser(parser) {
301
+ this.#parsers.push(parser);
302
+ return this;
303
+ }
304
+ /**
305
+ * Define a custom transformer. Transformers are executed
306
+ * after the error has been parsed and can mutate the
307
+ * properties of the parsed error.
308
+ */
309
+ useTransformer(transformer) {
310
+ this.#transformers.push(transformer);
311
+ return this;
312
+ }
313
+ /**
314
+ * Parses error to JSON
315
+ */
316
+ async toJSON(error, options) {
317
+ options = { ...options };
318
+ return this.#createErrorParser({ offset: options.offset }).parse(error);
319
+ }
320
+ /**
321
+ * Render error to HTML
322
+ */
323
+ async toHTML(error, options) {
324
+ options = { ...options };
325
+ this.#defineRequestMetadataGroup(options.request);
326
+ const parsedError = await this.#createErrorParser({ offset: options.offset }).parse(error);
327
+ return this.templates.toHTML({
328
+ title: options.title ?? "An error has occurred",
329
+ ide: options.ide ?? process.env.IDE ?? "vscode",
330
+ cspNonce: options.cspNonce,
331
+ error: parsedError,
332
+ metadata: this.metadata
333
+ });
334
+ }
335
+ /**
336
+ * Render error to ANSI output
337
+ */
338
+ async toANSI(error, options) {
339
+ options = { ...options };
340
+ const parsedError = await this.#createErrorParser({ offset: options.offset }).parse(error);
341
+ return this.templates.toANSI({
342
+ title: "",
343
+ error: parsedError,
344
+ metadata: this.metadata
345
+ });
346
+ }
347
+ };
348
+ export {
349
+ BaseComponent,
350
+ Metadata,
351
+ Youch
352
+ };
@@ -0,0 +1,5 @@
1
+ #error-cause {
2
+ border: 1px solid var(--border);
3
+ border-radius: var(--radius);
4
+ --pre-bg-color: transparent;
5
+ }
@@ -0,0 +1,13 @@
1
+ function copyErrorMessage(button) {
2
+ const errorText = button.dataset.errorText;
3
+
4
+ navigator.clipboard.writeText(errorText)
5
+ .then(() => {
6
+ button.classList.add('copied');
7
+ setTimeout(() => button.classList.remove('copied'), 2000);
8
+ })
9
+ .catch(() => {
10
+ button.classList.add('copied');
11
+ setTimeout(() => button.classList.remove('copied'), 2000);
12
+ });
13
+ }
@@ -0,0 +1,144 @@
1
+ :root {
2
+ --copy-button-active-bg: var(--slate-a4);
3
+ --copy-button-border: var(--slate-7);
4
+ --copy-button-success-bg: var(--green-5);
5
+ --copy-button-success-border: var(--green-7);
6
+ --copy-button-success-fg: var(--green-12);
7
+ }
8
+ html.dark {
9
+ --copy-button-active-bg: var(--slate-a4);
10
+ --copy-button-border: var(--slate-7);
11
+ --copy-button-success-bg: var(--green-3);
12
+ --copy-button-success-border: var(--green-4);
13
+ --copy-button-success-fg: var(--green-11);
14
+ }
15
+
16
+ #error-name {
17
+ color: var(--danger-fg);
18
+ font-size: 16px;
19
+ -webkit-font-smoothing: antialiased;
20
+ -moz-osx-font-smoothing: grayscale;
21
+ }
22
+
23
+ #error-title {
24
+ color: var(--title-fg);
25
+ font-size: 32px;
26
+ -webkit-font-smoothing: antialiased;
27
+ -moz-osx-font-smoothing: grayscale;
28
+ }
29
+
30
+ #error-message {
31
+ color: var(--danger-fg);
32
+ font-size: 22px;
33
+ font-weight: 700;
34
+ display: flex;
35
+ align-items: center;
36
+ align-items: flex-start;
37
+ gap: 12px;
38
+ -webkit-font-smoothing: antialiased;
39
+ -moz-osx-font-smoothing: grayscale;
40
+ position: relative;
41
+ }
42
+ #error-message svg {
43
+ margin-top: 1.5px;
44
+ }
45
+
46
+ #error-hint {
47
+ border-top: 1px solid var(--border);
48
+ padding-top: 15px;
49
+ margin-top: 15px;
50
+ font-size: 15px;
51
+ font-style: italic;
52
+ display: flex;
53
+ gap: 12px;
54
+ align-items: flex-start;
55
+ padding-left: 1px;
56
+ }
57
+ #error-hint svg {
58
+ margin-bottom: -2px;
59
+ }
60
+ #error-hint strong {
61
+ color: var(--title-fg);
62
+ }
63
+ #error-hint a {
64
+ color: var(--links-fg);
65
+ }
66
+
67
+ #copy-error-btn {
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ margin-left: auto;
72
+ position: relative;
73
+ cursor: pointer;
74
+
75
+ background: transparent;
76
+ border: 1px solid var(--copy-button-border);
77
+
78
+ font-size: 13px;
79
+ font-family: inherit;
80
+ font-weight: 500;
81
+ padding: 4px 8px 6px 8px;
82
+ border-radius: var(--radius);
83
+ color: var(--surface-fg);
84
+ transition: all 0.2s ease;
85
+ }
86
+
87
+ #copy-error-btn svg {
88
+ width: 18px;
89
+ height: 18px;
90
+ }
91
+
92
+ #copy-error-btn:hover {
93
+ background: var(--copy-button-active-bg);
94
+ color: var(--title-fg);
95
+ }
96
+
97
+ #copy-error-btn:active {
98
+ transform: scale(0.95);
99
+ }
100
+
101
+ #copy-error-btn.copied::after {
102
+ content: 'Copied';
103
+ position: absolute;
104
+ top: -30px;
105
+ left: 50%;
106
+ transform: translateX(-50%);
107
+ background: var(--copy-button-success-bg);
108
+ color: var(--copy-button-success-fg);
109
+ border: 1px solid var(--copy-button-success-border);
110
+ border-radius: 20px;
111
+ font-size: 13px;
112
+ font-family: inherit;
113
+ font-weight: 500;
114
+ padding: 2px 8px 4px 8px;
115
+ letter-spacing: 0.3px;
116
+ white-space: nowrap;
117
+ opacity: 0;
118
+ animation: copyFeedback 2s ease-in-out forwards;
119
+ }
120
+
121
+ @keyframes copyFeedback {
122
+ 0% {
123
+ opacity: 0;
124
+ transform: translateX(-50%) translateY(5px);
125
+ }
126
+ 10% {
127
+ opacity: 1;
128
+ transform: translateX(-50%) translateY(0);
129
+ }
130
+ 90% {
131
+ opacity: 1;
132
+ transform: translateX(-50%) translateY(0);
133
+ }
134
+ 100% {
135
+ opacity: 0;
136
+ transform: translateX(-50%) translateY(-5px);
137
+ }
138
+ }
139
+
140
+ @media (min-width: 1024px) {
141
+ #error-hint {
142
+ align-items: center;
143
+ }
144
+ }
@@ -0,0 +1,74 @@
1
+ function showFormattedFrames(button) {
2
+ document.querySelector('#all-frames-toggle input[type="checkbox"]').disabled = false
3
+ const parent = button.closest('section')
4
+
5
+ const formattedFrames = parent.querySelector('#stack-frames-formatted')
6
+ formattedFrames.classList.add('visible')
7
+
8
+ const rawFrames = parent.querySelector('#stack-frames-raw')
9
+ rawFrames.classList.remove('visible')
10
+
11
+ button.parentElement.querySelectorAll('button').forEach((btn) => btn.classList.remove('active'))
12
+ button.classList.add('active')
13
+ }
14
+
15
+ function showRawFrames(button) {
16
+ document.querySelector('#all-frames-toggle input[type="checkbox"]').disabled = true
17
+ const parent = button.closest('section')
18
+
19
+ const formattedFrames = parent.querySelector('#stack-frames-formatted')
20
+ formattedFrames.classList.remove('visible')
21
+
22
+ const rawFrames = parent.querySelector('#stack-frames-raw')
23
+ rawFrames.classList.add('visible')
24
+
25
+ button.parentElement.querySelectorAll('button').forEach((btn) => btn.classList.remove('active'))
26
+ button.classList.add('active')
27
+ }
28
+
29
+ function toggleFrameSource(parent) {
30
+ if (parent.classList.contains('expanded')) {
31
+ parent.classList.remove('expanded')
32
+ } else {
33
+ parent.classList.add('expanded')
34
+ }
35
+ }
36
+
37
+ function toggleAllFrames() {
38
+ const wrapper = document.querySelector('#stack-frames-wrapper')
39
+ const indicator = document.querySelector('#all-frames-toggle input[type="checkbox"]')
40
+ if (indicator.checked) {
41
+ wrapper.classList.add('display-all')
42
+ } else {
43
+ wrapper.classList.remove('display-all')
44
+ }
45
+ }
46
+
47
+ onContentLoaded(() => {
48
+ document.querySelector('#formatted-frames-toggle').addEventListener('click', function () {
49
+ showFormattedFrames(this)
50
+ })
51
+ document.querySelector('#raw-frames-toggle').addEventListener('click', function () {
52
+ showRawFrames(this)
53
+ })
54
+ document
55
+ .querySelector('#all-frames-toggle input[type="checkbox"]')
56
+ .addEventListener('change', function () {
57
+ toggleAllFrames()
58
+ })
59
+
60
+ document.querySelectorAll('button[class="stack-frame-location"]').forEach((sfl) => {
61
+ sfl.addEventListener('click', function (e) {
62
+ if (e.target.tagName === 'A') {
63
+ return
64
+ }
65
+ toggleFrameSource(e.target.closest('li'))
66
+ })
67
+ })
68
+
69
+ document.querySelectorAll('button[class="stack-frame-toggle-indicator"]').forEach((sfl) => {
70
+ sfl.addEventListener('click', function (e) {
71
+ toggleFrameSource(e.target.closest('li'))
72
+ })
73
+ })
74
+ })