nitro-nightly 4.0.0-20251030-091344-d4418b98 → 4.0.0-20251030-122334-09c1a7a8

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 (334) hide show
  1. package/dist/_build/common.mjs +763 -0
  2. package/dist/_build/rolldown.mjs +216 -0
  3. package/dist/_build/rollup.mjs +359 -0
  4. package/dist/_build/vite.build.mjs +67 -0
  5. package/dist/_build/vite.plugin.mjs +762 -0
  6. package/dist/_chunks/B-7HiF0V.mjs +1303 -0
  7. package/dist/_chunks/B3asVbT4.mjs +151 -0
  8. package/dist/_chunks/B5ooyfLk.mjs +372 -0
  9. package/dist/_chunks/DXMHy5ca.mjs +43 -0
  10. package/dist/_dev.d.mts +12 -0
  11. package/dist/_dev.mjs +675 -0
  12. package/dist/_libs/acorn.mjs +5034 -0
  13. package/dist/_libs/c12.mjs +2798 -0
  14. package/dist/_libs/chokidar.mjs +1560 -0
  15. package/dist/_libs/citty.mjs +333 -0
  16. package/dist/_libs/commondir.mjs +22 -0
  17. package/dist/_libs/compatx.mjs +46 -0
  18. package/dist/_libs/confbox.mjs +2920 -0
  19. package/dist/_libs/debug.mjs +848 -0
  20. package/dist/_libs/deepmerge.mjs +86 -0
  21. package/dist/_libs/depd.mjs +314 -0
  22. package/dist/_libs/dot-prop.mjs +138 -0
  23. package/dist/_libs/duplexer.mjs +71 -0
  24. package/dist/_libs/ee-first.mjs +68 -0
  25. package/dist/_libs/encodeurl.mjs +49 -0
  26. package/dist/_libs/escape-html.mjs +58 -0
  27. package/dist/_libs/escape-string-regexp.mjs +8 -0
  28. package/dist/_libs/estree-walker.mjs +330 -0
  29. package/dist/_libs/etag.mjs +75 -0
  30. package/dist/{_chunks/_deps → _libs}/fdir.mjs +49 -104
  31. package/dist/_libs/fresh.mjs +85 -0
  32. package/dist/_libs/function-bind.mjs +63 -0
  33. package/dist/_libs/gen-mapping.mjs +612 -0
  34. package/dist/_libs/giget.mjs +19076 -0
  35. package/dist/_libs/gzip-size.mjs +21 -0
  36. package/dist/_libs/hasown.mjs +14 -0
  37. package/dist/_libs/http-errors.mjs +436 -0
  38. package/dist/_libs/httpxy.mjs +410 -0
  39. package/dist/_libs/is-core-module.mjs +220 -0
  40. package/dist/_libs/is-module.mjs +13 -0
  41. package/dist/_libs/is-reference.mjs +32 -0
  42. package/dist/{_chunks/_deps → _libs}/js-tokens.mjs +83 -112
  43. package/dist/_libs/klona.mjs +90 -0
  44. package/dist/_libs/knitwork.mjs +124 -0
  45. package/dist/_libs/local-pkg.mjs +1686 -0
  46. package/dist/{_chunks/_deps → _libs}/magic-string.mjs +272 -629
  47. package/dist/_libs/mime-db.mjs +7642 -0
  48. package/dist/_libs/mime-types.mjs +162 -0
  49. package/dist/_libs/mime.mjs +1391 -0
  50. package/dist/_libs/node-fetch-native.mjs +173 -0
  51. package/dist/_libs/on-finished.mjs +170 -0
  52. package/dist/_libs/parseurl.mjs +103 -0
  53. package/dist/_libs/path-parse.mjs +47 -0
  54. package/dist/_libs/pathe.mjs +41 -0
  55. package/dist/_libs/picomatch.mjs +1673 -0
  56. package/dist/_libs/plugin-alias.mjs +64 -0
  57. package/dist/_libs/plugin-commonjs.mjs +1489 -0
  58. package/dist/_libs/plugin-inject.mjs +135 -0
  59. package/dist/_libs/plugin-json.mjs +36 -0
  60. package/dist/_libs/plugin-node-resolve.mjs +1553 -0
  61. package/dist/_libs/plugin-replace.mjs +104 -0
  62. package/dist/_libs/pretty-bytes.mjs +116 -0
  63. package/dist/_libs/range-parser.mjs +102 -0
  64. package/dist/_libs/remapping.mjs +117 -0
  65. package/dist/{_chunks/_deps → _libs}/rou3.mjs +7 -22
  66. package/dist/_libs/send.mjs +857 -0
  67. package/dist/_libs/serve-static.mjs +124 -0
  68. package/dist/_libs/std-env.mjs +158 -0
  69. package/dist/_libs/strip-literal.mjs +51 -0
  70. package/dist/{_chunks/_deps → _libs}/tinyglobby.mjs +32 -33
  71. package/dist/_libs/ultrahtml.mjs +138 -0
  72. package/dist/_libs/unimport.mjs +3520 -0
  73. package/dist/_libs/untyped.mjs +271 -0
  74. package/dist/_libs/unwasm.mjs +5825 -0
  75. package/dist/{_chunks/_deps/@pi0 → _libs}/vite-plugin-fullstack.mjs +28 -42
  76. package/dist/_presets.mjs +1723 -0
  77. package/dist/builder.d.mts +37 -35
  78. package/dist/builder.mjs +45 -117
  79. package/dist/cli/_chunks/build.mjs +43 -0
  80. package/dist/cli/_chunks/common.mjs +15 -0
  81. package/dist/cli/_chunks/detect-acorn.mjs +12 -0
  82. package/dist/cli/_chunks/dev.mjs +79 -0
  83. package/dist/cli/_chunks/dist.mjs +3 -0
  84. package/dist/cli/_chunks/dist2.mjs +4 -0
  85. package/dist/cli/_chunks/esm.mjs +3 -0
  86. package/dist/cli/_chunks/json5.mjs +4 -0
  87. package/dist/cli/_chunks/jsonc.mjs +4 -0
  88. package/dist/cli/_chunks/list.mjs +27 -0
  89. package/dist/cli/_chunks/multipart-parser.mjs +6 -0
  90. package/dist/cli/_chunks/prepare.mjs +19 -0
  91. package/dist/cli/_chunks/run.mjs +55 -0
  92. package/dist/cli/_chunks/task.mjs +16 -0
  93. package/dist/cli/_chunks/toml.mjs +4 -0
  94. package/dist/cli/_chunks/yaml.mjs +4 -0
  95. package/dist/cli/index.d.mts +1 -1
  96. package/dist/cli/index.mjs +19 -18
  97. package/dist/presets/_nitro/runtime/nitro-dev.d.mts +1 -0
  98. package/dist/presets/_nitro/runtime/nitro-dev.mjs +42 -33
  99. package/dist/presets/_nitro/runtime/nitro-prerenderer.d.mts +2 -2
  100. package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +4 -8
  101. package/dist/presets/_nitro/runtime/service-worker.d.mts +1 -0
  102. package/dist/presets/_nitro/runtime/service-worker.mjs +14 -11
  103. package/dist/presets/aws-amplify/runtime/aws-amplify.d.mts +1 -0
  104. package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +6 -5
  105. package/dist/presets/aws-lambda/runtime/_utils.d.mts +8 -13
  106. package/dist/presets/aws-lambda/runtime/_utils.mjs +95 -81
  107. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.mts +1 -2
  108. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +25 -27
  109. package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +7 -7
  110. package/dist/presets/azure/runtime/_utils.mjs +43 -43
  111. package/dist/presets/azure/runtime/azure-swa.d.mts +2 -2
  112. package/dist/presets/azure/runtime/azure-swa.mjs +22 -21
  113. package/dist/presets/bun/runtime/bun.d.mts +1 -0
  114. package/dist/presets/bun/runtime/bun.mjs +18 -17
  115. package/dist/presets/cloudflare/runtime/_module-handler.d.mts +10 -7
  116. package/dist/presets/cloudflare/runtime/_module-handler.mjs +78 -87
  117. package/dist/presets/cloudflare/runtime/cloudflare-durable.d.mts +6 -14
  118. package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +53 -58
  119. package/dist/presets/cloudflare/runtime/cloudflare-module.d.mts +1 -7
  120. package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +12 -14
  121. package/dist/presets/cloudflare/runtime/cloudflare-pages.d.mts +12 -12
  122. package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +35 -39
  123. package/dist/presets/cloudflare/runtime/plugin.dev.d.mts +2 -2
  124. package/dist/presets/cloudflare/runtime/plugin.dev.mjs +86 -76
  125. package/dist/presets/deno/runtime/deno-deploy.d.mts +1 -0
  126. package/dist/presets/deno/runtime/deno-deploy.mjs +12 -11
  127. package/dist/presets/deno/runtime/deno-server.d.mts +2 -1
  128. package/dist/presets/deno/runtime/deno-server.mjs +31 -39
  129. package/dist/presets/netlify/runtime/netlify-edge.d.mts +2 -1
  130. package/dist/presets/netlify/runtime/netlify-edge.mjs +14 -11
  131. package/dist/presets/netlify/runtime/netlify.mjs +11 -17
  132. package/dist/presets/node/runtime/node-cluster.mjs +49 -48
  133. package/dist/presets/node/runtime/node-middleware.d.mts +3 -2
  134. package/dist/presets/node/runtime/node-middleware.mjs +7 -6
  135. package/dist/presets/node/runtime/node-server.mjs +33 -23
  136. package/dist/presets/standard/runtime/server.d.mts +1 -3
  137. package/dist/presets/standard/runtime/server.mjs +1 -3
  138. package/dist/presets/stormkit/runtime/stormkit.d.mts +13 -13
  139. package/dist/presets/stormkit/runtime/stormkit.mjs +20 -20
  140. package/dist/presets/vercel/runtime/vercel.d.mts +3 -3
  141. package/dist/presets/vercel/runtime/vercel.mjs +15 -14
  142. package/dist/presets/winterjs/runtime/winterjs.d.mts +2 -0
  143. package/dist/presets/winterjs/runtime/winterjs.mjs +72 -68
  144. package/dist/presets/zeabur/runtime/zeabur.d.mts +1 -1
  145. package/dist/runtime/index.d.mts +12 -1
  146. package/dist/runtime/index.mjs +12 -7
  147. package/dist/runtime/internal/app.mjs +175 -162
  148. package/dist/runtime/internal/cache.d.mts +10 -4
  149. package/dist/runtime/internal/cache.mjs +247 -216
  150. package/dist/runtime/internal/context.d.mts +9 -9
  151. package/dist/runtime/internal/context.mjs +17 -10
  152. package/dist/runtime/internal/database.mjs +8 -10
  153. package/dist/runtime/internal/error/dev.d.mts +5 -4
  154. package/dist/runtime/internal/error/dev.mjs +106 -105
  155. package/dist/runtime/internal/error/prod.d.mts +2 -2
  156. package/dist/runtime/internal/error/prod.mjs +48 -52
  157. package/dist/runtime/internal/error/utils.d.mts +4 -4
  158. package/dist/runtime/internal/error/utils.mjs +1 -1
  159. package/dist/runtime/internal/index.d.mts +2 -0
  160. package/dist/runtime/internal/index.mjs +2 -0
  161. package/dist/runtime/internal/lib/http-graceful-shutdown.d.mts +14 -14
  162. package/dist/runtime/internal/lib/http-graceful-shutdown.mjs +248 -209
  163. package/dist/runtime/internal/meta.d.mts +1 -1
  164. package/dist/runtime/internal/meta.mjs +1 -1
  165. package/dist/runtime/internal/plugin.d.mts +2 -2
  166. package/dist/runtime/internal/plugin.mjs +1 -1
  167. package/dist/runtime/internal/renderer.mjs +39 -31
  168. package/dist/runtime/internal/route-rules.d.mts +8 -8
  169. package/dist/runtime/internal/route-rules.mjs +53 -51
  170. package/dist/runtime/internal/routes/dev-tasks.d.mts +1 -30
  171. package/dist/runtime/internal/routes/dev-tasks.mjs +15 -17
  172. package/dist/runtime/internal/routes/openapi.d.mts +1 -0
  173. package/dist/runtime/internal/routes/openapi.mjs +81 -87
  174. package/dist/runtime/internal/routes/renderer-template.d.mts +1 -1
  175. package/dist/runtime/internal/routes/renderer-template.dev.d.mts +1 -2
  176. package/dist/runtime/internal/routes/renderer-template.dev.mjs +10 -17
  177. package/dist/runtime/internal/routes/renderer-template.mjs +1 -1
  178. package/dist/runtime/internal/routes/scalar.d.mts +1 -0
  179. package/dist/runtime/internal/routes/scalar.mjs +22 -23
  180. package/dist/runtime/internal/routes/swagger.d.mts +1 -0
  181. package/dist/runtime/internal/routes/swagger.mjs +9 -11
  182. package/dist/runtime/internal/runtime-config.d.mts +4 -4
  183. package/dist/runtime/internal/runtime-config.mjs +40 -35
  184. package/dist/runtime/internal/shutdown.d.mts +2 -7
  185. package/dist/runtime/internal/shutdown.mjs +30 -29
  186. package/dist/runtime/internal/static.mjs +63 -74
  187. package/dist/runtime/internal/storage.mjs +2 -2
  188. package/dist/runtime/internal/task.d.mts +6 -6
  189. package/dist/runtime/internal/task.mjs +56 -59
  190. package/dist/runtime/internal/utils.d.mts +1 -1
  191. package/dist/runtime/internal/utils.mjs +4 -10
  192. package/dist/types/index.d.mts +2566 -3851
  193. package/dist/types/index.mjs +1 -1
  194. package/dist/vite.d.mts +61 -51
  195. package/dist/vite.mjs +55 -132
  196. package/package.json +10 -10
  197. package/dist/_build/build.mjs +0 -368
  198. package/dist/_build/build2.mjs +0 -556
  199. package/dist/_build/info.mjs +0 -1002
  200. package/dist/_build/prepare.mjs +0 -1511
  201. package/dist/_build/snapshot.mjs +0 -185
  202. package/dist/_build/vite.mjs +0 -959
  203. package/dist/_build/vite2.mjs +0 -149
  204. package/dist/_chunks/_deps/@jridgewell/gen-mapping.mjs +0 -189
  205. package/dist/_chunks/_deps/@jridgewell/remapping.mjs +0 -137
  206. package/dist/_chunks/_deps/@jridgewell/resolve-uri.mjs +0 -231
  207. package/dist/_chunks/_deps/@jridgewell/sourcemap-codec.mjs +0 -173
  208. package/dist/_chunks/_deps/@jridgewell/trace-mapping.mjs +0 -170
  209. package/dist/_chunks/_deps/@rollup/plugin-alias.mjs +0 -89
  210. package/dist/_chunks/_deps/@rollup/plugin-commonjs.mjs +0 -2376
  211. package/dist/_chunks/_deps/@rollup/plugin-inject.mjs +0 -212
  212. package/dist/_chunks/_deps/@rollup/plugin-json.mjs +0 -37
  213. package/dist/_chunks/_deps/@rollup/plugin-node-resolve.mjs +0 -1386
  214. package/dist/_chunks/_deps/@rollup/plugin-replace.mjs +0 -133
  215. package/dist/_chunks/_deps/@rollup/pluginutils.mjs +0 -346
  216. package/dist/_chunks/_deps/acorn.mjs +0 -6225
  217. package/dist/_chunks/_deps/c12.mjs +0 -510
  218. package/dist/_chunks/_deps/chokidar.mjs +0 -1428
  219. package/dist/_chunks/_deps/citty.mjs +0 -460
  220. package/dist/_chunks/_deps/commondir.mjs +0 -77
  221. package/dist/_chunks/_deps/compatx.mjs +0 -76
  222. package/dist/_chunks/_deps/confbox.mjs +0 -300
  223. package/dist/_chunks/_deps/debug.mjs +0 -885
  224. package/dist/_chunks/_deps/deepmerge.mjs +0 -147
  225. package/dist/_chunks/_deps/depd.mjs +0 -550
  226. package/dist/_chunks/_deps/dot-prop.mjs +0 -282
  227. package/dist/_chunks/_deps/dotenv.mjs +0 -555
  228. package/dist/_chunks/_deps/duplexer.mjs +0 -1
  229. package/dist/_chunks/_deps/ee-first.mjs +0 -104
  230. package/dist/_chunks/_deps/encodeurl.mjs +0 -69
  231. package/dist/_chunks/_deps/escape-html.mjs +0 -87
  232. package/dist/_chunks/_deps/escape-string-regexp.mjs +0 -13
  233. package/dist/_chunks/_deps/estree-walker.mjs +0 -433
  234. package/dist/_chunks/_deps/etag.mjs +0 -147
  235. package/dist/_chunks/_deps/exsolve.mjs +0 -1416
  236. package/dist/_chunks/_deps/fresh.mjs +0 -145
  237. package/dist/_chunks/_deps/function-bind.mjs +0 -106
  238. package/dist/_chunks/_deps/giget.mjs +0 -451
  239. package/dist/_chunks/_deps/gzip-size.mjs +0 -19
  240. package/dist/_chunks/_deps/hasown.mjs +0 -19
  241. package/dist/_chunks/_deps/http-errors.mjs +0 -307
  242. package/dist/_chunks/_deps/httpxy.mjs +0 -580
  243. package/dist/_chunks/_deps/inherits.mjs +0 -57
  244. package/dist/_chunks/_deps/is-core-module.mjs +0 -596
  245. package/dist/_chunks/_deps/is-module.mjs +0 -25
  246. package/dist/_chunks/_deps/is-reference.mjs +0 -31
  247. package/dist/_chunks/_deps/klona.mjs +0 -137
  248. package/dist/_chunks/_deps/knitwork.mjs +0 -172
  249. package/dist/_chunks/_deps/local-pkg.mjs +0 -163
  250. package/dist/_chunks/_deps/mime-db.mjs +0 -11685
  251. package/dist/_chunks/_deps/mime-types.mjs +0 -287
  252. package/dist/_chunks/_deps/mime.mjs +0 -1172
  253. package/dist/_chunks/_deps/mlly.mjs +0 -2413
  254. package/dist/_chunks/_deps/ms.mjs +0 -172
  255. package/dist/_chunks/_deps/node-fetch-native.mjs +0 -3
  256. package/dist/_chunks/_deps/nypm.mjs +0 -219
  257. package/dist/_chunks/_deps/on-finished.mjs +0 -246
  258. package/dist/_chunks/_deps/parseurl.mjs +0 -168
  259. package/dist/_chunks/_deps/path-parse.mjs +0 -85
  260. package/dist/_chunks/_deps/pathe.mjs +0 -251
  261. package/dist/_chunks/_deps/perfect-debounce.mjs +0 -88
  262. package/dist/_chunks/_deps/picomatch.mjs +0 -2144
  263. package/dist/_chunks/_deps/pkg-types.mjs +0 -247
  264. package/dist/_chunks/_deps/pretty-bytes.mjs +0 -180
  265. package/dist/_chunks/_deps/quansync.mjs +0 -99
  266. package/dist/_chunks/_deps/range-parser.mjs +0 -171
  267. package/dist/_chunks/_deps/rc9.mjs +0 -219
  268. package/dist/_chunks/_deps/readdirp.mjs +0 -245
  269. package/dist/_chunks/_deps/resolve.mjs +0 -1260
  270. package/dist/_chunks/_deps/send.mjs +0 -1022
  271. package/dist/_chunks/_deps/serve-static.mjs +0 -228
  272. package/dist/_chunks/_deps/setprototypeof.mjs +0 -26
  273. package/dist/_chunks/_deps/statuses.mjs +0 -457
  274. package/dist/_chunks/_deps/std-env.mjs +0 -3
  275. package/dist/_chunks/_deps/strip-literal.mjs +0 -67
  276. package/dist/_chunks/_deps/supports-color.mjs +0 -44
  277. package/dist/_chunks/_deps/tinyexec.mjs +0 -552
  278. package/dist/_chunks/_deps/toidentifier.mjs +0 -41
  279. package/dist/_chunks/_deps/ultrahtml.mjs +0 -3
  280. package/dist/_chunks/_deps/unimport.mjs +0 -2267
  281. package/dist/_chunks/_deps/unplugin-utils.mjs +0 -65
  282. package/dist/_chunks/_deps/unplugin.mjs +0 -1294
  283. package/dist/_chunks/_deps/untyped.mjs +0 -375
  284. package/dist/_chunks/_deps/unwasm.mjs +0 -6959
  285. package/dist/_chunks/_deps/webpack-virtual-modules.mjs +0 -360
  286. package/dist/_chunks/_presets/_all.mjs +0 -59
  287. package/dist/_chunks/_presets/_nitro.mjs +0 -74
  288. package/dist/_chunks/_presets/_resolve.mjs +0 -64
  289. package/dist/_chunks/_presets/_static.mjs +0 -69
  290. package/dist/_chunks/_presets/_types.mjs +0 -3
  291. package/dist/_chunks/_presets/_utils.mjs +0 -31
  292. package/dist/_chunks/_presets/alwaysdata.mjs +0 -17
  293. package/dist/_chunks/_presets/aws-amplify.mjs +0 -111
  294. package/dist/_chunks/_presets/aws-lambda.mjs +0 -23
  295. package/dist/_chunks/_presets/azure.mjs +0 -162
  296. package/dist/_chunks/_presets/bun.mjs +0 -19
  297. package/dist/_chunks/_presets/cleavr.mjs +0 -15
  298. package/dist/_chunks/_presets/cloudflare.mjs +0 -608
  299. package/dist/_chunks/_presets/deno.mjs +0 -196
  300. package/dist/_chunks/_presets/digitalocean.mjs +0 -14
  301. package/dist/_chunks/_presets/firebase.mjs +0 -47
  302. package/dist/_chunks/_presets/flightcontrol.mjs +0 -14
  303. package/dist/_chunks/_presets/genezio.mjs +0 -13
  304. package/dist/_chunks/_presets/heroku.mjs +0 -14
  305. package/dist/_chunks/_presets/iis.mjs +0 -194
  306. package/dist/_chunks/_presets/index.mjs +0 -62
  307. package/dist/_chunks/_presets/koyeb.mjs +0 -14
  308. package/dist/_chunks/_presets/netlify.mjs +0 -241
  309. package/dist/_chunks/_presets/node.mjs +0 -54
  310. package/dist/_chunks/_presets/platform.mjs +0 -14
  311. package/dist/_chunks/_presets/render.mjs +0 -14
  312. package/dist/_chunks/_presets/standard.mjs +0 -23
  313. package/dist/_chunks/_presets/stormkit.mjs +0 -18
  314. package/dist/_chunks/_presets/vercel.mjs +0 -375
  315. package/dist/_chunks/_presets/winterjs.mjs +0 -22
  316. package/dist/_chunks/_presets/zeabur.mjs +0 -69
  317. package/dist/_chunks/_presets/zerops.mjs +0 -27
  318. package/dist/_chunks/app.mjs +0 -600
  319. package/dist/_chunks/builder.mjs +0 -648
  320. package/dist/_chunks/server.mjs +0 -256
  321. package/dist/_cli/build.mjs +0 -49
  322. package/dist/_cli/common.mjs +0 -13
  323. package/dist/_cli/dev.mjs +0 -121
  324. package/dist/_cli/index.mjs +0 -16
  325. package/dist/_cli/list.mjs +0 -33
  326. package/dist/_cli/prepare.mjs +0 -23
  327. package/dist/_cli/run.mjs +0 -59
  328. package/dist/presets/cloudflare/runtime/shims/workers.dev.d.mts +0 -21
  329. package/dist/runtime/internal/empty.d.mts +0 -0
  330. package/dist/runtime/internal/vite/dev-entry.d.mts +0 -1
  331. package/dist/runtime/internal/vite/dev-worker.d.mts +0 -1
  332. package/dist/runtime/internal/vite/prod-setup.d.mts +0 -4
  333. package/dist/runtime/internal/vite/ssr-renderer.d.mts +0 -4
  334. /package/lib/{indexd.mts → index.d.mts} +0 -0
@@ -1,179 +1,192 @@
1
1
  import { H3Core, toRequest } from "h3";
2
2
  import { HookableCore } from "hookable";
3
3
  import { nitroAsyncContext } from "./context.mjs";
4
+ // IMPORTANT: virtual imports and user code should be imported last to avoid initialization order issues
4
5
  import errorHandler from "#nitro-internal-virtual/error-handler";
5
6
  import { plugins } from "#nitro-internal-virtual/plugins";
6
- import {
7
- findRoute,
8
- findRouteRules,
9
- globalMiddleware,
10
- findRoutedMiddleware
11
- } from "#nitro-internal-virtual/routing";
12
- import {
13
- hasRouteRules,
14
- hasRoutedMiddleware,
15
- hasGlobalMiddleware,
16
- hasRoutes,
17
- hasHooks,
18
- hasPlugins
19
- } from "#nitro-internal-virtual/feature-flags";
7
+ import { findRoute, findRouteRules, globalMiddleware, findRoutedMiddleware } from "#nitro-internal-virtual/routing";
8
+ import { hasRouteRules, hasRoutedMiddleware, hasGlobalMiddleware, hasRoutes, hasHooks, hasPlugins } from "#nitro-internal-virtual/feature-flags";
20
9
  export function useNitroApp() {
21
- return useNitroApp.__instance__ ??= initNitroApp();
10
+ return useNitroApp.__instance__ ??= initNitroApp();
22
11
  }
23
12
  export function useNitroHooks() {
24
- const nitroApp = useNitroApp();
25
- const hooks = nitroApp.hooks;
26
- if (hooks) {
27
- return hooks;
28
- }
29
- return nitroApp.hooks = new HookableCore();
13
+ const nitroApp = useNitroApp();
14
+ const hooks = nitroApp.hooks;
15
+ if (hooks) {
16
+ return hooks;
17
+ }
18
+ return nitroApp.hooks = new HookableCore();
30
19
  }
31
20
  function initNitroApp() {
32
- const nitroApp = createNitroApp();
33
- if (hasPlugins) {
34
- for (const plugin of plugins) {
35
- try {
36
- plugin(nitroApp);
37
- } catch (error) {
38
- nitroApp.captureError(error, { tags: ["plugin"] });
39
- throw error;
40
- }
41
- }
42
- }
43
- return nitroApp;
21
+ const nitroApp = createNitroApp();
22
+ if (hasPlugins) {
23
+ for (const plugin of plugins) {
24
+ try {
25
+ plugin(nitroApp);
26
+ } catch (error) {
27
+ nitroApp.captureError(error, { tags: ["plugin"] });
28
+ throw error;
29
+ }
30
+ }
31
+ }
32
+ return nitroApp;
44
33
  }
45
34
  function createNitroApp() {
46
- const hooks = hasHooks ? new HookableCore() : void 0;
47
- const captureError = (error, errorCtx) => {
48
- const promise = hasHooks && hooks.callHook("error", error, errorCtx)?.catch?.((hookError) => {
49
- console.error("Error while capturing another error", hookError);
50
- });
51
- if (errorCtx?.event) {
52
- const errors = errorCtx.event.req.context?.nitro?.errors;
53
- if (errors) {
54
- errors.push({ error, context: errorCtx });
55
- }
56
- if (hasHooks && typeof errorCtx.event.req.waitUntil === "function") {
57
- errorCtx.event.req.waitUntil(promise);
58
- }
59
- }
60
- };
61
- const h3App = createH3App({
62
- onError(error, event) {
63
- hasHooks && captureError(error, { event });
64
- return errorHandler(error, event);
65
- }
66
- });
67
- if (hasHooks) {
68
- h3App.config.onRequest = (event) => {
69
- return hooks.callHook("request", event)?.catch?.((error) => {
70
- captureError(error, { event, tags: ["request"] });
71
- });
72
- };
73
- h3App.config.onResponse = (res, event) => {
74
- return hooks.callHook("response", res, event)?.catch?.((error) => {
75
- captureError(error, { event, tags: ["response"] });
76
- });
77
- };
78
- }
79
- let appHandler = (req) => {
80
- req.context ||= {};
81
- req.context.nitro = req.context.nitro || { errors: [] };
82
- return h3App.fetch(req);
83
- };
84
- if (import.meta._asyncContext) {
85
- const originalHandler = appHandler;
86
- appHandler = (req) => {
87
- const asyncCtx = { request: req };
88
- return nitroAsyncContext.callAsync(asyncCtx, () => originalHandler(req));
89
- };
90
- }
91
- const request = (input, init, context) => {
92
- const req = toRequest(input, init);
93
- req.context = { ...req.context, ...context };
94
- return Promise.resolve(appHandler(req));
95
- };
96
- const nativeFetch = globalThis.fetch;
97
- globalThis.fetch = (input, init) => {
98
- if (typeof input === "string" && input.charCodeAt(0) === 47) {
99
- return request(input, init);
100
- }
101
- input = input._request || input;
102
- return nativeFetch(input, init);
103
- };
104
- const app = {
105
- fetch: appHandler,
106
- request,
107
- h3: h3App,
108
- hooks,
109
- captureError
110
- };
111
- return app;
35
+ const hooks = hasHooks ? new HookableCore() : undefined;
36
+ const captureError = (error, errorCtx) => {
37
+ const promise = hasHooks && hooks.callHook("error", error, errorCtx)?.catch?.((hookError) => {
38
+ console.error("Error while capturing another error", hookError);
39
+ });
40
+ if (errorCtx?.event) {
41
+ const errors = errorCtx.event.req.context?.nitro?.errors;
42
+ if (errors) {
43
+ errors.push({
44
+ error,
45
+ context: errorCtx
46
+ });
47
+ }
48
+ if (hasHooks && typeof errorCtx.event.req.waitUntil === "function") {
49
+ errorCtx.event.req.waitUntil(promise);
50
+ }
51
+ }
52
+ };
53
+ const h3App = createH3App({ onError(error, event) {
54
+ hasHooks && captureError(error, { event });
55
+ return errorHandler(error, event);
56
+ } });
57
+ if (hasHooks) {
58
+ h3App.config.onRequest = (event) => {
59
+ return hooks.callHook("request", event)?.catch?.((error) => {
60
+ captureError(error, {
61
+ event,
62
+ tags: ["request"]
63
+ });
64
+ });
65
+ };
66
+ h3App.config.onResponse = (res, event) => {
67
+ return hooks.callHook("response", res, event)?.catch?.((error) => {
68
+ captureError(error, {
69
+ event,
70
+ tags: ["response"]
71
+ });
72
+ });
73
+ };
74
+ }
75
+ let appHandler = (req) => {
76
+ req.context ||= {};
77
+ req.context.nitro = req.context.nitro || { errors: [] };
78
+ return h3App.fetch(req);
79
+ };
80
+ // Experimental async context support
81
+ if (import.meta._asyncContext) {
82
+ const originalHandler = appHandler;
83
+ appHandler = (req) => {
84
+ const asyncCtx = { request: req };
85
+ return nitroAsyncContext.callAsync(asyncCtx, () => originalHandler(req));
86
+ };
87
+ }
88
+ const request = (input, init, context) => {
89
+ const req = toRequest(input, init);
90
+ req.context = {
91
+ ...req.context,
92
+ ...context
93
+ };
94
+ return Promise.resolve(appHandler(req));
95
+ };
96
+ const nativeFetch = globalThis.fetch;
97
+ globalThis.fetch = (input, init) => {
98
+ if (typeof input === "string" && input.charCodeAt(0) === 47) {
99
+ return request(input, init);
100
+ }
101
+ input = input._request || input;
102
+ return nativeFetch(input, init);
103
+ };
104
+ const app = {
105
+ fetch: appHandler,
106
+ request,
107
+ h3: h3App,
108
+ hooks,
109
+ captureError
110
+ };
111
+ return app;
112
112
  }
113
113
  function createH3App(config) {
114
- const h3App = new H3Core(config);
115
- hasRoutes && (h3App["~findRoute"] = (event) => findRoute(event.req.method, event.url.pathname));
116
- hasGlobalMiddleware && h3App["~middleware"].push(...globalMiddleware);
117
- if (hasRouteRules || hasRoutedMiddleware) {
118
- h3App["~getMiddleware"] = (event, route) => {
119
- const needsRouting = hasRouteRules || hasRoutedMiddleware;
120
- const pathname = needsRouting ? event.url.pathname : void 0;
121
- const method = needsRouting ? event.req.method : void 0;
122
- const middleware = [];
123
- if (hasRouteRules) {
124
- const routeRules = getRouteRules(method, pathname);
125
- event.context.routeRules = routeRules?.routeRules;
126
- if (routeRules?.routeRuleMiddleware.length) {
127
- middleware.push(...routeRules.routeRuleMiddleware);
128
- }
129
- }
130
- hasGlobalMiddleware && middleware.push(...h3App["~middleware"]);
131
- hasRoutedMiddleware && middleware.push(
132
- ...findRoutedMiddleware(method, pathname).map((r) => r.data)
133
- );
134
- if (hasRoutes && route?.data?.middleware?.length) {
135
- middleware.push(...route.data.middleware);
136
- }
137
- return middleware;
138
- };
139
- }
140
- return h3App;
114
+ // Create H3 app
115
+ const h3App = new H3Core(config);
116
+ // Compiled route matching
117
+ hasRoutes && (h3App["~findRoute"] = (event) => findRoute(event.req.method, event.url.pathname));
118
+ hasGlobalMiddleware && h3App["~middleware"].push(...globalMiddleware);
119
+ if (hasRouteRules || hasRoutedMiddleware) {
120
+ h3App["~getMiddleware"] = (event, route) => {
121
+ const needsRouting = hasRouteRules || hasRoutedMiddleware;
122
+ const pathname = needsRouting ? event.url.pathname : undefined;
123
+ const method = needsRouting ? event.req.method : undefined;
124
+ const middleware = [];
125
+ if (hasRouteRules) {
126
+ const routeRules = getRouteRules(method, pathname);
127
+ event.context.routeRules = routeRules?.routeRules;
128
+ if (routeRules?.routeRuleMiddleware.length) {
129
+ middleware.push(...routeRules.routeRuleMiddleware);
130
+ }
131
+ }
132
+ hasGlobalMiddleware && middleware.push(...h3App["~middleware"]);
133
+ hasRoutedMiddleware && middleware.push(...findRoutedMiddleware(method, pathname).map((r) => r.data));
134
+ if (hasRoutes && route?.data?.middleware?.length) {
135
+ middleware.push(...route.data.middleware);
136
+ }
137
+ return middleware;
138
+ };
139
+ }
140
+ return h3App;
141
141
  }
142
142
  function getRouteRules(method, pathname) {
143
- const m = findRouteRules(method, pathname);
144
- if (!m?.length) {
145
- return { routeRuleMiddleware: [] };
146
- }
147
- const routeRules = {};
148
- for (const layer of m) {
149
- for (const rule of layer.data) {
150
- const currentRule = routeRules[rule.name];
151
- if (currentRule) {
152
- if (rule.options === false) {
153
- delete routeRules[rule.name];
154
- continue;
155
- }
156
- if (typeof currentRule.options === "object" && typeof rule.options === "object") {
157
- currentRule.options = { ...currentRule.options, ...rule.options };
158
- } else {
159
- currentRule.options = rule.options;
160
- }
161
- currentRule.route = rule.route;
162
- currentRule.params = { ...currentRule.params, ...layer.params };
163
- } else if (rule.options !== false) {
164
- routeRules[rule.name] = { ...rule, params: layer.params };
165
- }
166
- }
167
- }
168
- const middleware = [];
169
- for (const rule of Object.values(routeRules)) {
170
- if (rule.options === false || !rule.handler) {
171
- continue;
172
- }
173
- middleware.push(rule.handler(rule));
174
- }
175
- return {
176
- routeRules,
177
- routeRuleMiddleware: middleware
178
- };
143
+ const m = findRouteRules(method, pathname);
144
+ if (!m?.length) {
145
+ return { routeRuleMiddleware: [] };
146
+ }
147
+ const routeRules = {};
148
+ for (const layer of m) {
149
+ for (const rule of layer.data) {
150
+ const currentRule = routeRules[rule.name];
151
+ if (currentRule) {
152
+ if (rule.options === false) {
153
+ // Remove/Reset existing rule with `false` value
154
+ delete routeRules[rule.name];
155
+ continue;
156
+ }
157
+ if (typeof currentRule.options === "object" && typeof rule.options === "object") {
158
+ // Merge nested rule objects
159
+ currentRule.options = {
160
+ ...currentRule.options,
161
+ ...rule.options
162
+ };
163
+ } else {
164
+ // Override rule if non object
165
+ currentRule.options = rule.options;
166
+ }
167
+ // Routing (route and params)
168
+ currentRule.route = rule.route;
169
+ currentRule.params = {
170
+ ...currentRule.params,
171
+ ...layer.params
172
+ };
173
+ } else if (rule.options !== false) {
174
+ routeRules[rule.name] = {
175
+ ...rule,
176
+ params: layer.params
177
+ };
178
+ }
179
+ }
180
+ }
181
+ const middleware = [];
182
+ for (const rule of Object.values(routeRules)) {
183
+ if (rule.options === false || !rule.handler) {
184
+ continue;
185
+ }
186
+ middleware.push(rule.handler(rule));
187
+ }
188
+ return {
189
+ routeRules,
190
+ routeRuleMiddleware: middleware
191
+ };
179
192
  }
@@ -1,7 +1,13 @@
1
1
  import type { EventHandler } from "h3";
2
2
  import type { CacheOptions, CachedEventHandlerOptions } from "nitro/types";
3
- export declare function defineCachedFunction<T, ArgsT extends unknown[] = any[]>(fn: (...args: ArgsT) => T | Promise<T>, opts?: CacheOptions<T, ArgsT>): (...args: ArgsT) => Promise<T>;
4
- export declare function cachedFunction<T, ArgsT extends unknown[] = any[]>(fn: (...args: ArgsT) => T | Promise<T>, opts?: CacheOptions<T>): (...args: ArgsT) => Promise<T | undefined>;
3
+ export declare function defineCachedFunction<
4
+ T,
5
+ ArgsT extends unknown[] = any[]
6
+ >(fn: (...args: ArgsT) => T | Promise<T>, opts?: CacheOptions<T, ArgsT>): (...args: ArgsT) => Promise<T>;
7
+ export declare function cachedFunction<
8
+ T,
9
+ ArgsT extends unknown[] = any[]
10
+ >(fn: (...args: ArgsT) => T | Promise<T>, opts?: CacheOptions<T>): (...args: ArgsT) => Promise<T | undefined>;
5
11
  export declare function defineCachedEventHandler(handler: EventHandler, opts?: CachedEventHandlerOptions): EventHandler;
6
- export declare const cachedEventHandler: typeof defineCachedEventHandler;
7
- export declare const defineCachedHandler: typeof defineCachedEventHandler;
12
+ export declare const cachedEventHandler: unknown;
13
+ export declare const defineCachedHandler: unknown;