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,102 @@
1
+ import { stringifyQuery } from "ufo";
2
+ export function awsRequest(event, context) {
3
+ const method = awsEventMethod(event);
4
+ const url = awsEventURL(event);
5
+ const headers = awsEventHeaders(event);
6
+ const body = awsEventBody(event);
7
+ const req = new Request(url, { method, headers, body });
8
+ req.runtime ??= { name: "aws-lambda" };
9
+ req.runtime.aws ??= { event, context };
10
+ return new Request(url, { method, headers, body });
11
+ }
12
+ function awsEventMethod(event) {
13
+ return event.httpMethod || event.requestContext?.http?.method || "GET";
14
+ }
15
+ function awsEventURL(event) {
16
+ const hostname = event.headers.host || event.headers.Host || event.requestContext?.domainName || ".";
17
+ const path = event.path || event.rawPath;
18
+ const query = awsEventQuery(event);
19
+ const protocol = (event.headers["X-Forwarded-Proto"] || event.headers["x-forwarded-proto"]) === "http" ? "http" : "https";
20
+ return new URL(
21
+ `${path}${query ? `?${query}` : ""}`,
22
+ `${protocol}://${hostname}`
23
+ );
24
+ }
25
+ function awsEventQuery(event) {
26
+ if (typeof event.rawQueryString === "string") {
27
+ return event.rawQueryString;
28
+ }
29
+ const queryObj = {
30
+ ...event.queryStringParameters,
31
+ ...event.multiValueQueryStringParameters
32
+ };
33
+ return stringifyQuery(queryObj);
34
+ }
35
+ function awsEventHeaders(event) {
36
+ const headers = new Headers();
37
+ for (const [key, value] of Object.entries(event.headers)) {
38
+ if (value) {
39
+ headers.set(key, value);
40
+ }
41
+ }
42
+ if ("cookies" in event && event.cookies) {
43
+ for (const cookie of event.cookies) {
44
+ headers.append("cookie", cookie);
45
+ }
46
+ }
47
+ return headers;
48
+ }
49
+ function awsEventBody(event) {
50
+ if (!event.body) {
51
+ return void 0;
52
+ }
53
+ if (event.isBase64Encoded) {
54
+ return Buffer.from(event.body || "", "base64");
55
+ }
56
+ return event.body;
57
+ }
58
+ export function awsResponseHeaders(response) {
59
+ const headers = /* @__PURE__ */ Object.create(null);
60
+ for (const [key, value] of response.headers) {
61
+ if (value) {
62
+ headers[key] = Array.isArray(value) ? value.join(",") : String(value);
63
+ }
64
+ }
65
+ const cookies = response.headers.getSetCookie();
66
+ return cookies.length > 0 ? {
67
+ headers,
68
+ cookies,
69
+ // ApiGateway v2
70
+ multiValueHeaders: { "set-cookie": cookies }
71
+ // ApiGateway v1
72
+ } : { headers };
73
+ }
74
+ export async function awsResponseBody(response) {
75
+ if (!response.body) {
76
+ return { body: "" };
77
+ }
78
+ const buffer = await toBuffer(response.body);
79
+ const contentType = response.headers.get("content-type") || "";
80
+ return isTextType(contentType) ? { body: buffer.toString("utf8") } : { body: buffer.toString("base64"), isBase64Encoded: true };
81
+ }
82
+ function isTextType(contentType = "") {
83
+ return /^text\/|\/(javascript|json|xml)|utf-?8/i.test(contentType);
84
+ }
85
+ function toBuffer(data) {
86
+ return new Promise((resolve, reject) => {
87
+ const chunks = [];
88
+ data.pipeTo(
89
+ new WritableStream({
90
+ write(chunk) {
91
+ chunks.push(chunk);
92
+ },
93
+ close() {
94
+ resolve(Buffer.concat(chunks));
95
+ },
96
+ abort(reason) {
97
+ reject(reason);
98
+ }
99
+ })
100
+ ).catch(reject);
101
+ });
102
+ }
@@ -0,0 +1,3 @@
1
+ import "#nitro-internal-pollyfills";
2
+ import type { APIGatewayProxyEventV2 } from "aws-lambda";
3
+ export declare const handler: import("aws-lambda").StreamifyHandler<APIGatewayProxyEventV2, void>;
@@ -1,53 +1,33 @@
1
1
  import "#nitro-internal-pollyfills";
2
2
  import { useNitroApp } from "nitro/runtime";
3
- import {
4
- normalizeLambdaIncomingHeaders,
5
- normalizeLambdaOutgoingHeaders
6
- } from "nitro/runtime/internal";
7
- import { withQuery } from "ufo";
3
+ import { awsRequest, awsResponseHeaders } from "./_utils.mjs";
8
4
  const nitroApp = useNitroApp();
9
5
  export const handler = awslambda.streamifyResponse(
10
6
  async (event, responseStream, context) => {
11
- const query = {
12
- ...event.queryStringParameters
13
- };
14
- const url = withQuery(event.rawPath, query);
15
- const method = event.requestContext?.http?.method || "get";
16
- if ("cookies" in event && event.cookies) {
17
- event.headers.cookie = event.cookies.join(";");
18
- }
19
- const r = await nitroApp.localCall({
20
- event,
21
- url,
22
- context,
23
- headers: normalizeLambdaIncomingHeaders(event.headers),
24
- method,
25
- query,
26
- body: event.isBase64Encoded ? Buffer.from(event.body || "", "base64").toString("utf8") : event.body
27
- });
7
+ const request = awsRequest(event, context);
8
+ const response = await nitroApp.fetch(request);
9
+ response.headers.set("transfer-encoding", "chunked");
28
10
  const httpResponseMetadata = {
29
- statusCode: r.status,
30
- headers: {
31
- ...normalizeLambdaOutgoingHeaders(r.headers, true),
32
- "Transfer-Encoding": "chunked"
33
- }
11
+ statusCode: response.status,
12
+ ...awsResponseHeaders(response)
34
13
  };
35
- if (r.body) {
36
- const reader = r.body;
14
+ if (response.body) {
37
15
  const writer = awslambda.HttpResponseStream.from(
16
+ // @ts-expect-error TODO: IMPORTANT! It should be a Writable according to the aws-lambda types
38
17
  responseStream,
39
18
  httpResponseMetadata
40
19
  );
41
- await streamToNodeStream(reader.getReader(), responseStream);
20
+ const reader = response.body.getReader();
21
+ await streamToNodeStream(reader, responseStream);
42
22
  writer.end();
43
23
  }
44
24
  }
45
25
  );
46
- const streamToNodeStream = async (reader, writer) => {
26
+ async function streamToNodeStream(reader, writer) {
47
27
  let readResult = await reader.read();
48
28
  while (!readResult.done) {
49
29
  writer.write(readResult.value);
50
30
  readResult = await reader.read();
51
31
  }
52
32
  writer.end();
53
- };
33
+ }
@@ -0,0 +1,3 @@
1
+ import "#nitro-internal-pollyfills";
2
+ import type { APIGatewayProxyEvent, APIGatewayProxyEventV2, APIGatewayProxyResult, APIGatewayProxyResultV2, Context } from "aws-lambda";
3
+ export declare function handler(event: APIGatewayProxyEvent | APIGatewayProxyEventV2, context: Context): Promise<APIGatewayProxyResult | APIGatewayProxyResultV2>;
@@ -1,45 +1,13 @@
1
1
  import "#nitro-internal-pollyfills";
2
2
  import { useNitroApp } from "nitro/runtime";
3
- import {
4
- normalizeCookieHeader,
5
- normalizeLambdaIncomingHeaders,
6
- normalizeLambdaOutgoingBody,
7
- normalizeLambdaOutgoingHeaders
8
- } from "nitro/runtime/internal";
9
- import { withQuery } from "ufo";
3
+ import { awsRequest, awsResponseHeaders, awsResponseBody } from "./_utils.mjs";
10
4
  const nitroApp = useNitroApp();
11
5
  export async function handler(event, context) {
12
- const query = {
13
- ...event.queryStringParameters,
14
- ...event.multiValueQueryStringParameters
15
- };
16
- const url = withQuery(
17
- event.path || event.rawPath,
18
- query
19
- );
20
- const method = event.httpMethod || event.requestContext?.http?.method || "get";
21
- if ("cookies" in event && event.cookies) {
22
- event.headers.cookie = event.cookies.join(";");
23
- }
24
- const r = await nitroApp.localCall({
25
- event,
26
- url,
27
- context,
28
- headers: normalizeLambdaIncomingHeaders(event.headers),
29
- method,
30
- query,
31
- body: event.isBase64Encoded ? Buffer.from(event.body || "", "base64").toString("utf8") : event.body
32
- });
33
- const isApiGwV2 = "cookies" in event || "rawPath" in event;
34
- const awsBody = await normalizeLambdaOutgoingBody(r.body, r.headers);
35
- const cookies = normalizeCookieHeader(r.headers["set-cookie"]);
6
+ const request = awsRequest(event, context);
7
+ const response = await nitroApp.fetch(request);
36
8
  return {
37
- ...cookies.length > 0 && {
38
- ...isApiGwV2 ? { cookies } : { multiValueHeaders: { "set-cookie": cookies } }
39
- },
40
- statusCode: r.status,
41
- headers: normalizeLambdaOutgoingHeaders(r.headers, true),
42
- body: awsBody.body,
43
- isBase64Encoded: awsBody.type === "binary"
9
+ statusCode: response.status,
10
+ ...awsResponseHeaders(response),
11
+ ...await awsResponseBody(response)
44
12
  };
45
13
  }
@@ -1,2 +1,2 @@
1
1
  import type { Cookie } from "@azure/functions";
2
- export declare function getAzureParsedCookiesFromHeaders(headers: Record<string, number | string | string[] | undefined>): Cookie[];
2
+ export declare function getAzureParsedCookiesFromHeaders(headers: Headers): Cookie[];
@@ -1,12 +1,11 @@
1
1
  import { parse } from "cookie-es";
2
- import { splitCookiesString } from "h3";
3
2
  export function getAzureParsedCookiesFromHeaders(headers) {
4
- const setCookieHeader = headers["set-cookie"];
5
- if (!setCookieHeader || typeof setCookieHeader === "number" || setCookieHeader.length === 0) {
3
+ const setCookieHeader = headers.getSetCookie();
4
+ if (setCookieHeader.length === 0) {
6
5
  return [];
7
6
  }
8
7
  const azureCookies = [];
9
- for (const setCookieStr of splitCookiesString(setCookieHeader)) {
8
+ for (const setCookieStr of setCookieHeader) {
10
9
  const setCookie = Object.entries(parse(setCookieStr));
11
10
  if (setCookie.length === 0) {
12
11
  continue;
@@ -1,10 +1,7 @@
1
1
  import "#nitro-internal-pollyfills";
2
- import { useNitroApp } from "nitro/runtime";
3
- import {
4
- getAzureParsedCookiesFromHeaders,
5
- normalizeLambdaOutgoingHeaders
6
- } from "nitro/runtime/internal";
7
2
  import { parseURL } from "ufo";
3
+ import { useNitroApp } from "nitro/runtime";
4
+ import { getAzureParsedCookiesFromHeaders } from "./_utils.mjs";
8
5
  const nitroApp = useNitroApp();
9
6
  export async function handle(context, req) {
10
7
  let url;
@@ -14,17 +11,18 @@ export async function handle(context, req) {
14
11
  } else {
15
12
  url = "/api/" + (req.params.url || "");
16
13
  }
17
- const { body, status, headers } = await nitroApp.localCall({
18
- url,
19
- headers: req.headers,
14
+ const response = await nitroApp.fetch(url, {
20
15
  method: req.method || void 0,
16
+ // https://github.com/Azure/azure-functions-nodejs-worker/issues/294
21
17
  // https://github.com/Azure/azure-functions-host/issues/293
22
- body: req.rawBody
18
+ body: req.bufferBody ?? req.rawBody
23
19
  });
24
20
  context.res = {
25
- status,
26
- cookies: getAzureParsedCookiesFromHeaders(headers),
27
- headers: normalizeLambdaOutgoingHeaders(headers, true),
28
- body
21
+ status: response.status,
22
+ body: response.body,
23
+ cookies: getAzureParsedCookiesFromHeaders(response.headers),
24
+ headers: Object.fromEntries(
25
+ [...response.headers.entries()].filter(([key]) => key !== "set-cookie")
26
+ )
29
27
  };
30
28
  }
@@ -3,30 +3,25 @@ import { useNitroApp } from "nitro/runtime";
3
3
  import { startScheduleRunner } from "nitro/runtime/internal";
4
4
  import wsAdapter from "crossws/adapters/bun";
5
5
  const nitroApp = useNitroApp();
6
- const ws = import.meta._websocket ? wsAdapter(nitroApp.h3App.websocket) : void 0;
6
+ const ws = import.meta._websocket ? (
7
+ // @ts-expect-error
8
+ wsAdapter(nitroApp.h3App.websocket)
9
+ ) : void 0;
7
10
  const server = Bun.serve({
8
11
  port: process.env.NITRO_PORT || process.env.PORT || 3e3,
12
+ hostname: process.env.NITRO_HOST || process.env.HOST,
9
13
  websocket: import.meta._websocket ? ws.websocket : void 0,
10
- async fetch(req, server2) {
11
- if (import.meta._websocket && await ws.handleUpgrade(req, server2)) {
12
- return;
14
+ async fetch(bunReq, server2) {
15
+ const req = bunReq;
16
+ req.runtime ??= { name: "bun" };
17
+ req.runtime.bun ??= { server: server2 };
18
+ if (import.meta._websocket && req.headers.get("upgrade") === "websocket") {
19
+ return ws.handleUpgrade(req, server2);
13
20
  }
14
- const url = new URL(req.url);
15
- let body;
16
- if (req.body) {
17
- body = await req.arrayBuffer();
18
- }
19
- return nitroApp.localFetch(url.pathname + url.search, {
20
- host: url.hostname,
21
- protocol: url.protocol,
22
- headers: req.headers,
23
- method: req.method,
24
- redirect: req.redirect,
25
- body
26
- });
21
+ return nitroApp.fetch(req);
27
22
  }
28
23
  });
29
- console.log(`Listening on http://localhost:${server.port}...`);
24
+ console.log(`Listening on ${server.url}...`);
30
25
  if (import.meta._tasks) {
31
26
  startScheduleRunner();
32
27
  }
@@ -0,0 +1,13 @@
1
+ import "#nitro-internal-pollyfills";
2
+ import type * as CF from "@cloudflare/workers-types";
3
+ import type { ExportedHandler } from "@cloudflare/workers-types";
4
+ type MaybePromise<T> = T | Promise<T>;
5
+ export declare function createHandler<Env>(hooks: {
6
+ fetch: (...params: [
7
+ ...Parameters<NonNullable<ExportedHandler<Env>["fetch"]>>,
8
+ url: URL,
9
+ cfContextExtras: any
10
+ ]) => MaybePromise<Response | CF.Response | undefined>;
11
+ }): ExportedHandler<Env>;
12
+ export declare function fetchHandler(cfReq: Request | CF.Request, env: unknown, context: CF.ExecutionContext | DurableObjectState, url: URL | undefined, nitroApp: any, ctxExt: any): Promise<Response>;
13
+ export {};
@@ -0,0 +1,93 @@
1
+ import "#nitro-internal-pollyfills";
2
+ import { useNitroApp } from "nitro/runtime";
3
+ import { runCronTasks } from "nitro/runtime/internal";
4
+ export function createHandler(hooks) {
5
+ const nitroApp = useNitroApp();
6
+ return {
7
+ async fetch(request, env, context) {
8
+ const ctxExt = {};
9
+ const url = new URL(request.url);
10
+ if (hooks.fetch) {
11
+ const res = await hooks.fetch(request, env, context, url, ctxExt);
12
+ if (res) {
13
+ return res;
14
+ }
15
+ }
16
+ return fetchHandler(request, env, context, url, nitroApp, ctxExt);
17
+ },
18
+ scheduled(controller, env, context) {
19
+ globalThis.__env__ = env;
20
+ context.waitUntil(
21
+ nitroApp.hooks.callHook("cloudflare:scheduled", {
22
+ controller,
23
+ env,
24
+ context
25
+ })
26
+ );
27
+ if (import.meta._tasks) {
28
+ context.waitUntil(
29
+ runCronTasks(controller.cron, {
30
+ context: {
31
+ cloudflare: {
32
+ env,
33
+ context
34
+ }
35
+ },
36
+ payload: {}
37
+ })
38
+ );
39
+ }
40
+ },
41
+ email(message, env, context) {
42
+ globalThis.__env__ = env;
43
+ context.waitUntil(
44
+ nitroApp.hooks.callHook("cloudflare:email", {
45
+ message,
46
+ event: message,
47
+ // backward compat
48
+ env,
49
+ context
50
+ })
51
+ );
52
+ },
53
+ queue(batch, env, context) {
54
+ globalThis.__env__ = env;
55
+ context.waitUntil(
56
+ nitroApp.hooks.callHook("cloudflare:queue", {
57
+ batch,
58
+ event: batch,
59
+ env,
60
+ context
61
+ })
62
+ );
63
+ },
64
+ tail(traces, env, context) {
65
+ globalThis.__env__ = env;
66
+ context.waitUntil(
67
+ nitroApp.hooks.callHook("cloudflare:tail", {
68
+ traces,
69
+ env,
70
+ context
71
+ })
72
+ );
73
+ },
74
+ trace(traces, env, context) {
75
+ globalThis.__env__ = env;
76
+ context.waitUntil(
77
+ nitroApp.hooks.callHook("cloudflare:trace", {
78
+ traces,
79
+ env,
80
+ context
81
+ })
82
+ );
83
+ }
84
+ };
85
+ }
86
+ export async function fetchHandler(cfReq, env, context, url = new URL(cfReq.url), nitroApp = useNitroApp(), ctxExt) {
87
+ globalThis.__env__ = env;
88
+ const req = cfReq;
89
+ req.runtime ??= { name: "cloudflare" };
90
+ req.runtime.cloudflare ??= { context, env };
91
+ req.waitUntil = context.waitUntil.bind(context);
92
+ return nitroApp.fetch(req);
93
+ }
@@ -0,0 +1,19 @@
1
+ import "#nitro-internal-pollyfills";
2
+ import type * as CF from "@cloudflare/workers-types";
3
+ import { DurableObject } from "cloudflare:workers";
4
+ declare const DURABLE_BINDING = "$DurableObject";
5
+ interface Env {
6
+ ASSETS?: {
7
+ fetch: typeof CF.fetch;
8
+ };
9
+ [DURABLE_BINDING]?: CF.DurableObjectNamespace;
10
+ }
11
+ declare const _default: CF.ExportedHandler<Env, unknown, unknown>;
12
+ export default _default;
13
+ export declare class $DurableObject extends DurableObject {
14
+ constructor(state: DurableObjectState, env: Record<string, any>);
15
+ fetch(request: Request): Promise<Response>;
16
+ alarm(): void | Promise<void>;
17
+ webSocketMessage(client: WebSocket, message: ArrayBuffer | string): Promise<void>;
18
+ webSocketClose(client: WebSocket, code: number, reason: string, wasClean: boolean): Promise<void>;
19
+ }
@@ -0,0 +1,74 @@
1
+ import "#nitro-internal-pollyfills";
2
+ import { DurableObject } from "cloudflare:workers";
3
+ import wsAdapter from "crossws/adapters/cloudflare";
4
+ import { useNitroApp } from "nitro/runtime";
5
+ import { isPublicAssetURL } from "#nitro-internal-virtual/public-assets";
6
+ import { createHandler, fetchHandler } from "./_module-handler.mjs";
7
+ const DURABLE_BINDING = "$DurableObject";
8
+ const DURABLE_INSTANCE = "server";
9
+ const nitroApp = useNitroApp();
10
+ const getDurableStub = (env) => {
11
+ const binding = env[DURABLE_BINDING];
12
+ if (!binding) {
13
+ throw new Error(
14
+ `Durable Object binding "${DURABLE_BINDING}" not available.`
15
+ );
16
+ }
17
+ const id = binding.idFromName(DURABLE_INSTANCE);
18
+ return binding.get(id);
19
+ };
20
+ const ws = import.meta._websocket ? wsAdapter({
21
+ // TODO!
22
+ // ...nitroApp.h3App.websocket,
23
+ instanceName: DURABLE_INSTANCE,
24
+ bindingName: DURABLE_BINDING
25
+ }) : void 0;
26
+ export default createHandler({
27
+ fetch(request, env, context, url, ctxExt) {
28
+ if (env.ASSETS && isPublicAssetURL(url.pathname)) {
29
+ return env.ASSETS.fetch(request);
30
+ }
31
+ ctxExt.durableFetch = (req = request) => getDurableStub(env).fetch(req);
32
+ if (import.meta._websocket && request.headers.get("upgrade") === "websocket") {
33
+ return ws.handleUpgrade(request, env, context);
34
+ }
35
+ }
36
+ });
37
+ export class $DurableObject extends DurableObject {
38
+ constructor(state, env) {
39
+ super(state, env);
40
+ state.waitUntil(
41
+ nitroApp.hooks.callHook("cloudflare:durable:init", this, {
42
+ state,
43
+ env
44
+ })
45
+ );
46
+ if (import.meta._websocket) {
47
+ ws.handleDurableInit(this, state, env);
48
+ }
49
+ }
50
+ fetch(request) {
51
+ if (import.meta._websocket && request.headers.get("upgrade") === "websocket") {
52
+ return ws.handleDurableUpgrade(this, request);
53
+ }
54
+ const url = new URL(request.url);
55
+ return fetchHandler(request, this.env, this.ctx, url, nitroApp, {
56
+ durable: this
57
+ });
58
+ }
59
+ alarm() {
60
+ this.ctx.waitUntil(
61
+ nitroApp.hooks.callHook("cloudflare:durable:alarm", this)
62
+ );
63
+ }
64
+ async webSocketMessage(client, message) {
65
+ if (import.meta._websocket) {
66
+ return ws.handleDurableMessage(this, client, message);
67
+ }
68
+ }
69
+ async webSocketClose(client, code, reason, wasClean) {
70
+ if (import.meta._websocket) {
71
+ return ws.handleDurableClose(this, client, code, reason, wasClean);
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,9 @@
1
+ import "#nitro-internal-pollyfills";
2
+ import type { fetch } from "@cloudflare/workers-types";
3
+ interface Env {
4
+ ASSETS?: {
5
+ fetch: typeof fetch;
6
+ };
7
+ }
8
+ declare const _default: import("@cloudflare/workers-types").ExportedHandler<Env, unknown, unknown>;
9
+ export default _default;
@@ -1,104 +1,20 @@
1
1
  import "#nitro-internal-pollyfills";
2
- import { useNitroApp } from "nitro/runtime";
3
- import { useRuntimeConfig } from "nitro/runtime";
4
- import { runCronTasks } from "nitro/runtime/internal";
5
- import { requestHasBody } from "nitro/runtime/internal";
6
- import { getPublicAssetMeta } from "#nitro-internal-virtual/public-assets";
7
- import {
8
- getAssetFromKV,
9
- mapRequestToAsset
10
- } from "@cloudflare/kv-asset-handler";
11
2
  import wsAdapter from "crossws/adapters/cloudflare";
12
- import { withoutBase } from "ufo";
13
- import manifest from "__STATIC_CONTENT_MANIFEST";
3
+ import { useNitroApp } from "nitro/runtime";
4
+ import { isPublicAssetURL } from "#nitro-internal-virtual/public-assets";
5
+ import { createHandler } from "./_module-handler.mjs";
14
6
  const nitroApp = useNitroApp();
15
- const ws = import.meta._websocket ? wsAdapter(nitroApp.h3App.websocket) : void 0;
16
- export default {
17
- async fetch(request, env, context) {
7
+ const ws = import.meta._websocket ? (
8
+ // @ts-expect-error
9
+ wsAdapter(nitroApp.h3App.websocket)
10
+ ) : void 0;
11
+ export default createHandler({
12
+ fetch(request, env, context, url) {
13
+ if (env.ASSETS && isPublicAssetURL(url.pathname)) {
14
+ return env.ASSETS.fetch(request);
15
+ }
18
16
  if (import.meta._websocket && request.headers.get("upgrade") === "websocket") {
19
17
  return ws.handleUpgrade(request, env, context);
20
18
  }
21
- try {
22
- return await getAssetFromKV(
23
- {
24
- request,
25
- waitUntil(promise) {
26
- return context.waitUntil(promise);
27
- }
28
- },
29
- {
30
- cacheControl: assetsCacheControl,
31
- mapRequestToAsset: baseURLModifier,
32
- ASSET_NAMESPACE: env.__STATIC_CONTENT,
33
- ASSET_MANIFEST: JSON.parse(manifest)
34
- }
35
- );
36
- } catch {
37
- }
38
- const url = new URL(request.url);
39
- let body;
40
- if (requestHasBody(request)) {
41
- body = Buffer.from(await request.arrayBuffer());
42
- }
43
- globalThis.__env__ = env;
44
- return nitroApp.localFetch(url.pathname + url.search, {
45
- context: {
46
- cf: request.cf,
47
- waitUntil: (promise) => context.waitUntil(promise),
48
- cloudflare: {
49
- request,
50
- env,
51
- context
52
- }
53
- },
54
- host: url.hostname,
55
- protocol: url.protocol,
56
- method: request.method,
57
- headers: request.headers,
58
- body
59
- });
60
- },
61
- scheduled(event, env, context) {
62
- if (import.meta._tasks) {
63
- globalThis.__env__ = env;
64
- context.waitUntil(
65
- runCronTasks(event.cron, {
66
- context: {
67
- cloudflare: {
68
- env,
69
- context
70
- }
71
- },
72
- payload: {}
73
- })
74
- );
75
- }
76
- },
77
- email(event, env, context) {
78
- globalThis.__env__ = env;
79
- context.waitUntil(
80
- nitroApp.hooks.callHook("cloudflare:email", { event, env, context })
81
- );
82
- },
83
- queue(event, env, context) {
84
- globalThis.__env__ = env;
85
- context.waitUntil(
86
- nitroApp.hooks.callHook("cloudflare:queue", { event, env, context })
87
- );
88
- }
89
- };
90
- function assetsCacheControl(_request) {
91
- const url = new URL(_request.url);
92
- const meta = getPublicAssetMeta(url.pathname);
93
- if (meta.maxAge) {
94
- return {
95
- browserTTL: meta.maxAge,
96
- edgeTTL: meta.maxAge
97
- };
98
19
  }
99
- return {};
100
- }
101
- const baseURLModifier = (request) => {
102
- const url = withoutBase(request.url, useRuntimeConfig().app.baseURL);
103
- return mapRequestToAsset(new Request(url, request));
104
- };
20
+ });
@@ -14,7 +14,7 @@ interface CFPagesEnv {
14
14
  [key: string]: any;
15
15
  }
16
16
  declare const _default: {
17
- fetch(request: CFRequest, env: CFPagesEnv, context: EventContext<CFPagesEnv, string, any>): Promise<any>;
17
+ fetch(cfReq: CFRequest, env: CFPagesEnv, context: EventContext<CFPagesEnv, string, any>): Promise<any>;
18
18
  scheduled(event: any, env: CFPagesEnv, context: ExecutionContext): void;
19
19
  };
20
20
  export default _default;