nitro 3.0.0 → 3.0.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/dist/_build/common.mjs +68 -0
  2. package/dist/_build/common2.mjs +772 -0
  3. package/dist/_build/rolldown.mjs +206 -0
  4. package/dist/_build/rollup.mjs +289 -0
  5. package/dist/_build/vite.build.mjs +56 -0
  6. package/dist/_build/vite.plugin.mjs +768 -0
  7. package/dist/_chunks/ANM1K1bE.mjs +304 -0
  8. package/dist/_chunks/B-D1JOIz.mjs +1355 -0
  9. package/dist/_chunks/BX9-zVkM.mjs +59 -0
  10. package/dist/_chunks/Bqks5huO.mjs +31 -0
  11. package/dist/_chunks/C7CbzoI1.mjs +39 -0
  12. package/dist/_dev.d.mts +12 -0
  13. package/dist/_dev.mjs +705 -0
  14. package/dist/_libs/acorn.mjs +5034 -0
  15. package/dist/_libs/c12.mjs +2858 -0
  16. package/dist/_libs/chokidar.mjs +1561 -0
  17. package/dist/_libs/citty.mjs +333 -0
  18. package/dist/_libs/commondir.mjs +22 -0
  19. package/dist/_libs/compatx.mjs +46 -0
  20. package/dist/_libs/confbox.mjs +2920 -0
  21. package/dist/_libs/deepmerge.mjs +86 -0
  22. package/dist/_libs/dot-prop.mjs +138 -0
  23. package/dist/_libs/duplexer.mjs +71 -0
  24. package/dist/_libs/escape-string-regexp.mjs +8 -0
  25. package/dist/_libs/estree-walker.mjs +330 -0
  26. package/dist/_libs/etag.mjs +80 -0
  27. package/dist/_libs/fdir.mjs +514 -0
  28. package/dist/_libs/function-bind.mjs +63 -0
  29. package/dist/_libs/gen-mapping.mjs +612 -0
  30. package/dist/_libs/giget.mjs +19289 -0
  31. package/dist/_libs/gzip-size.mjs +21 -0
  32. package/dist/_libs/hasown.mjs +14 -0
  33. package/dist/_libs/httpxy.mjs +410 -0
  34. package/dist/_libs/is-core-module.mjs +220 -0
  35. package/dist/_libs/is-module.mjs +13 -0
  36. package/dist/_libs/is-reference.mjs +32 -0
  37. package/dist/_libs/js-tokens.mjs +382 -0
  38. package/dist/_libs/klona.mjs +38 -0
  39. package/dist/_libs/knitwork.mjs +124 -0
  40. package/dist/_libs/local-pkg.mjs +1686 -0
  41. package/dist/_libs/magic-string.mjs +939 -0
  42. package/dist/_libs/mime.mjs +1391 -0
  43. package/dist/_libs/node-fetch-native.mjs +173 -0
  44. package/dist/_libs/path-parse.mjs +47 -0
  45. package/dist/_libs/pathe.mjs +41 -0
  46. package/dist/_libs/picomatch.mjs +1673 -0
  47. package/dist/_libs/plugin-alias.mjs +64 -0
  48. package/dist/_libs/plugin-commonjs.mjs +1491 -0
  49. package/dist/_libs/plugin-inject.mjs +135 -0
  50. package/dist/_libs/plugin-json.mjs +36 -0
  51. package/dist/_libs/plugin-node-resolve.mjs +1553 -0
  52. package/dist/_libs/plugin-replace.mjs +104 -0
  53. package/dist/_libs/pretty-bytes.mjs +116 -0
  54. package/dist/_libs/remapping.mjs +117 -0
  55. package/dist/_libs/rou3.mjs +319 -0
  56. package/dist/_libs/std-env.mjs +158 -0
  57. package/dist/_libs/strip-literal.mjs +51 -0
  58. package/dist/_libs/tinyglobby.mjs +292 -0
  59. package/dist/_libs/tsconfck.mjs +832 -0
  60. package/dist/_libs/ultrahtml.mjs +138 -0
  61. package/dist/_libs/unimport.mjs +3520 -0
  62. package/dist/_libs/untyped.mjs +271 -0
  63. package/dist/_libs/unwasm.mjs +5836 -0
  64. package/dist/_libs/vite-plugin-fullstack.mjs +561 -0
  65. package/dist/_presets.mjs +1752 -0
  66. package/dist/builder.d.mts +63 -0
  67. package/dist/builder.mjs +33 -0
  68. package/dist/cli/_chunks/build.mjs +48 -0
  69. package/dist/cli/_chunks/common.mjs +15 -0
  70. package/dist/cli/_chunks/detect-acorn.mjs +12 -0
  71. package/dist/cli/_chunks/dev.mjs +68 -0
  72. package/dist/cli/_chunks/dist.mjs +3 -0
  73. package/dist/cli/_chunks/dist2.mjs +3 -0
  74. package/dist/cli/_chunks/dist3.mjs +3 -0
  75. package/dist/cli/_chunks/dist4.mjs +4 -0
  76. package/dist/cli/_chunks/dist5.mjs +4 -0
  77. package/dist/cli/_chunks/esm.mjs +3 -0
  78. package/dist/cli/_chunks/json5.mjs +4 -0
  79. package/dist/cli/_chunks/jsonc.mjs +4 -0
  80. package/dist/cli/_chunks/list.mjs +27 -0
  81. package/dist/cli/_chunks/multipart-parser.mjs +6 -0
  82. package/dist/cli/_chunks/prepare.mjs +19 -0
  83. package/dist/cli/_chunks/run.mjs +55 -0
  84. package/dist/cli/_chunks/task.mjs +16 -0
  85. package/dist/cli/_chunks/toml.mjs +4 -0
  86. package/dist/cli/_chunks/yaml.mjs +4 -0
  87. package/dist/cli/index.d.mts +1 -1
  88. package/dist/cli/index.mjs +20 -476
  89. package/dist/node_modules/@poppinss/dumper/build/formatters/html/main.js +1 -1
  90. package/dist/node_modules/@poppinss/dumper/package.json +1 -1
  91. package/dist/node_modules/@sindresorhus/is/distribution/index.js +1 -1
  92. package/dist/node_modules/@sindresorhus/is/package.json +1 -1
  93. package/dist/node_modules/@speed-highlight/core/dist/index.js +2 -2
  94. package/dist/node_modules/@speed-highlight/core/dist/terminal.js +2 -2
  95. package/dist/node_modules/@speed-highlight/core/package.json +7 -3
  96. package/dist/node_modules/cookie-es/dist/index.mjs +262 -0
  97. package/dist/node_modules/cookie-es/package.json +37 -0
  98. package/dist/node_modules/hookable/dist/index.mjs +243 -266
  99. package/dist/node_modules/hookable/package.json +29 -26
  100. package/dist/node_modules/rendu/dist/index.mjs +380 -0
  101. package/dist/node_modules/rendu/package.json +47 -0
  102. package/dist/node_modules/youch/build/{chunk-VE4LENUR.js → chunk-F4I6KX4R.js} +2 -1
  103. package/dist/node_modules/youch/build/{chunk-JAN2TFI2.js → chunk-YYEJ3AGB.js} +4 -1
  104. package/dist/node_modules/youch/build/index.js +16 -8
  105. package/dist/node_modules/youch/build/public/error_stack/script.js +20 -22
  106. package/dist/node_modules/youch/build/public/header/script.js +0 -2
  107. package/dist/node_modules/youch/build/public/layout/script.js +0 -8
  108. package/dist/node_modules/youch/build/public/layout/style.css +4 -0
  109. package/dist/node_modules/youch/package.json +16 -17
  110. package/dist/presets/_nitro/runtime/nitro-dev.d.mts +1 -0
  111. package/dist/presets/_nitro/runtime/nitro-dev.mjs +48 -42
  112. package/dist/presets/_nitro/runtime/nitro-prerenderer.d.mts +2 -2
  113. package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +10 -14
  114. package/dist/presets/_nitro/runtime/service-worker.d.mts +1 -0
  115. package/dist/presets/_nitro/runtime/service-worker.mjs +15 -12
  116. package/dist/presets/aws-amplify/runtime/aws-amplify.d.mts +1 -0
  117. package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +7 -6
  118. package/dist/presets/aws-lambda/runtime/_utils.d.mts +8 -13
  119. package/dist/presets/aws-lambda/runtime/_utils.mjs +95 -81
  120. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.mts +1 -2
  121. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +26 -28
  122. package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +8 -8
  123. package/dist/presets/azure/runtime/_utils.mjs +43 -43
  124. package/dist/presets/azure/runtime/azure-swa.d.mts +2 -2
  125. package/dist/presets/azure/runtime/azure-swa.mjs +24 -22
  126. package/dist/presets/bun/runtime/bun.d.mts +2 -0
  127. package/dist/presets/bun/runtime/bun.mjs +34 -21
  128. package/dist/presets/cloudflare/runtime/_module-handler.d.mts +10 -7
  129. package/dist/presets/cloudflare/runtime/_module-handler.mjs +80 -88
  130. package/dist/presets/cloudflare/runtime/cloudflare-durable.d.mts +6 -14
  131. package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +60 -63
  132. package/dist/presets/cloudflare/runtime/cloudflare-module.d.mts +1 -7
  133. package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +14 -16
  134. package/dist/presets/cloudflare/runtime/cloudflare-pages.d.mts +12 -12
  135. package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +40 -42
  136. package/dist/presets/cloudflare/runtime/plugin.dev.d.mts +2 -2
  137. package/dist/presets/cloudflare/runtime/plugin.dev.mjs +89 -82
  138. package/dist/presets/cloudflare/runtime/shims/workers.dev.mjs +27 -0
  139. package/dist/presets/deno/runtime/deno-deploy.d.mts +4 -0
  140. package/dist/presets/deno/runtime/deno-deploy.mjs +15 -12
  141. package/dist/presets/deno/runtime/deno-server.d.mts +0 -3
  142. package/dist/presets/deno/runtime/deno-server.mjs +32 -52
  143. package/dist/presets/netlify/runtime/netlify-edge.d.mts +2 -1
  144. package/dist/presets/netlify/runtime/netlify-edge.mjs +15 -12
  145. package/dist/presets/netlify/runtime/netlify.mjs +12 -18
  146. package/dist/presets/node/runtime/node-cluster.d.mts +3 -1
  147. package/dist/presets/node/runtime/node-cluster.mjs +50 -54
  148. package/dist/presets/node/runtime/node-middleware.d.mts +2 -3
  149. package/dist/presets/node/runtime/node-middleware.mjs +9 -8
  150. package/dist/presets/node/runtime/node-server.mjs +37 -34
  151. package/dist/presets/standard/runtime/server.d.mts +1 -3
  152. package/dist/presets/standard/runtime/server.mjs +2 -4
  153. package/dist/presets/stormkit/runtime/stormkit.d.mts +13 -13
  154. package/dist/presets/stormkit/runtime/stormkit.mjs +21 -21
  155. package/dist/presets/vercel/runtime/vercel.node.d.mts +3 -0
  156. package/dist/presets/vercel/runtime/vercel.node.mjs +15 -0
  157. package/dist/presets/vercel/runtime/{vercel.d.mts → vercel.web.d.mts} +3 -3
  158. package/dist/presets/vercel/runtime/vercel.web.mjs +20 -0
  159. package/dist/presets/winterjs/runtime/winterjs.d.mts +2 -0
  160. package/dist/presets/winterjs/runtime/winterjs.mjs +73 -69
  161. package/dist/presets/zeabur/runtime/zeabur.d.mts +1 -1
  162. package/dist/presets/zeabur/runtime/zeabur.mjs +1 -1
  163. package/dist/runtime/app.d.mts +1 -0
  164. package/dist/runtime/app.mjs +1 -0
  165. package/dist/runtime/cache.d.mts +1 -0
  166. package/dist/runtime/cache.mjs +1 -0
  167. package/dist/runtime/config.d.mts +3 -0
  168. package/dist/runtime/config.mjs +4 -0
  169. package/dist/runtime/context.d.mts +1 -0
  170. package/dist/runtime/context.mjs +1 -0
  171. package/dist/runtime/database.d.mts +1 -0
  172. package/dist/runtime/database.mjs +1 -0
  173. package/dist/runtime/internal/app.d.mts +11 -1
  174. package/dist/runtime/internal/app.mjs +188 -140
  175. package/dist/runtime/internal/cache.d.mts +9 -5
  176. package/dist/runtime/internal/cache.mjs +248 -219
  177. package/dist/runtime/internal/context.d.mts +9 -9
  178. package/dist/runtime/internal/context.mjs +17 -10
  179. package/dist/runtime/internal/database.mjs +8 -10
  180. package/dist/runtime/internal/error/dev.d.mts +5 -4
  181. package/dist/runtime/internal/error/dev.mjs +106 -105
  182. package/dist/runtime/internal/error/hooks.d.mts +1 -0
  183. package/dist/runtime/internal/error/hooks.mjs +9 -0
  184. package/dist/runtime/internal/error/prod.d.mts +5 -4
  185. package/dist/runtime/internal/error/prod.mjs +51 -59
  186. package/dist/runtime/internal/error/utils.d.mts +4 -4
  187. package/dist/runtime/internal/error/utils.mjs +1 -1
  188. package/dist/runtime/internal/meta.d.mts +1 -1
  189. package/dist/runtime/internal/meta.mjs +1 -1
  190. package/dist/runtime/internal/plugin.d.mts +2 -2
  191. package/dist/runtime/internal/plugin.mjs +1 -1
  192. package/dist/runtime/internal/route-rules.d.mts +8 -8
  193. package/dist/runtime/internal/route-rules.mjs +54 -52
  194. package/dist/runtime/internal/routes/dev-tasks.d.mts +1 -2
  195. package/dist/runtime/internal/routes/dev-tasks.mjs +16 -18
  196. package/dist/runtime/internal/routes/openapi.d.mts +1 -0
  197. package/dist/runtime/internal/routes/openapi.mjs +81 -87
  198. package/dist/runtime/internal/routes/renderer-template.d.mts +1 -1
  199. package/dist/runtime/internal/routes/renderer-template.dev.d.mts +1 -2
  200. package/dist/runtime/internal/routes/renderer-template.dev.mjs +15 -17
  201. package/dist/runtime/internal/routes/renderer-template.mjs +1 -1
  202. package/dist/runtime/internal/routes/scalar.d.mts +1 -0
  203. package/dist/runtime/internal/routes/scalar.mjs +22 -23
  204. package/dist/runtime/internal/routes/swagger.d.mts +1 -0
  205. package/dist/runtime/internal/routes/swagger.mjs +9 -11
  206. package/dist/runtime/internal/runtime-config.d.mts +4 -4
  207. package/dist/runtime/internal/runtime-config.mjs +40 -35
  208. package/dist/runtime/internal/static.mjs +63 -74
  209. package/dist/runtime/internal/storage.mjs +2 -2
  210. package/dist/runtime/internal/task.d.mts +6 -6
  211. package/dist/runtime/internal/task.mjs +56 -60
  212. package/dist/runtime/internal/vite/dev-entry.mjs +11 -1
  213. package/dist/runtime/internal/vite/dev-worker.mjs +9 -57
  214. package/dist/runtime/internal/vite/ssr-renderer.mjs +3 -1
  215. package/{lib/runtime-meta.d.mts → dist/runtime/meta.d.mts} +1 -1
  216. package/dist/runtime/meta.mjs +26 -0
  217. package/dist/runtime/nitro.d.mts +12 -0
  218. package/dist/runtime/nitro.mjs +32 -0
  219. package/dist/runtime/runtime-config.d.mts +1 -0
  220. package/dist/runtime/runtime-config.mjs +1 -0
  221. package/dist/runtime/storage.d.mts +1 -0
  222. package/dist/runtime/storage.mjs +1 -0
  223. package/dist/runtime/task.d.mts +1 -0
  224. package/dist/runtime/task.mjs +1 -0
  225. package/dist/runtime/vite-runtime.d.mts +8 -0
  226. package/dist/runtime/vite-runtime.mjs +9 -0
  227. package/dist/types/index.d.mts +2625 -2297
  228. package/dist/types/index.mjs +1 -1
  229. package/dist/vite.d.mts +49 -51
  230. package/dist/vite.mjs +44 -68
  231. package/lib/tsconfig.json +27 -0
  232. package/package.json +86 -76
  233. package/dist/_chunks/app.mjs +0 -19797
  234. package/dist/_chunks/build.mjs +0 -84
  235. package/dist/_chunks/build2.mjs +0 -318
  236. package/dist/_chunks/build3.mjs +0 -6452
  237. package/dist/_chunks/detect-acorn.mjs +0 -503
  238. package/dist/_chunks/index.mjs +0 -22242
  239. package/dist/_chunks/index2.mjs +0 -297
  240. package/dist/_chunks/index3.mjs +0 -1058
  241. package/dist/_chunks/index4.mjs +0 -1206
  242. package/dist/_chunks/info.mjs +0 -11157
  243. package/dist/_chunks/json5.mjs +0 -68
  244. package/dist/_chunks/jsonc.mjs +0 -51
  245. package/dist/_chunks/pathe.M-eThtNZ.mjs +0 -204
  246. package/dist/_chunks/plugin.mjs +0 -960
  247. package/dist/_chunks/server.mjs +0 -254
  248. package/dist/_chunks/snapshot.mjs +0 -284
  249. package/dist/_chunks/toml.mjs +0 -259
  250. package/dist/_chunks/yaml.mjs +0 -86
  251. package/dist/cli/build.mjs +0 -54
  252. package/dist/cli/common.mjs +0 -13
  253. package/dist/cli/dev.mjs +0 -95
  254. package/dist/cli/index2.mjs +0 -17
  255. package/dist/cli/list.mjs +0 -34
  256. package/dist/cli/prepare.mjs +0 -24
  257. package/dist/cli/run.mjs +0 -60
  258. package/dist/index.d.mts +0 -52
  259. package/dist/index.mjs +0 -55
  260. package/dist/node_modules/cookie/dist/index.js +0 -239
  261. package/dist/node_modules/cookie/package.json +0 -42
  262. package/dist/node_modules/klona/dist/index.mjs +0 -81
  263. package/dist/node_modules/klona/full/index.mjs +0 -53
  264. package/dist/node_modules/klona/package.json +0 -74
  265. package/dist/node_modules/std-env/dist/index.mjs +0 -1
  266. package/dist/node_modules/std-env/package.json +0 -46
  267. package/dist/presets/vercel/runtime/vercel.mjs +0 -17
  268. package/dist/presets.mjs +0 -2460
  269. package/dist/runtime/index.d.mts +0 -11
  270. package/dist/runtime/index.mjs +0 -17
  271. package/dist/runtime/internal/debug.d.mts +0 -2
  272. package/dist/runtime/internal/debug.mjs +0 -5
  273. package/dist/runtime/internal/empty.d.mts +0 -0
  274. package/dist/runtime/internal/index.d.mts +0 -3
  275. package/dist/runtime/internal/index.mjs +0 -3
  276. package/dist/runtime/internal/lib/http-graceful-shutdown.d.mts +0 -16
  277. package/dist/runtime/internal/lib/http-graceful-shutdown.mjs +0 -213
  278. package/dist/runtime/internal/renderer.d.mts +0 -3
  279. package/dist/runtime/internal/renderer.mjs +0 -36
  280. package/dist/runtime/internal/shutdown.d.mts +0 -9
  281. package/dist/runtime/internal/shutdown.mjs +0 -34
  282. package/dist/runtime/internal/utils.d.mts +0 -1
  283. package/dist/runtime/internal/utils.mjs +0 -15
  284. package/dist/runtime/internal/vite/dev-entry.d.mts +0 -1
  285. package/dist/runtime/internal/vite/dev-worker.d.mts +0 -1
  286. package/dist/runtime/internal/vite/prod-setup.d.mts +0 -4
  287. package/dist/runtime/internal/vite/prod-setup.mjs +0 -55
  288. package/dist/runtime/internal/vite/ssr-renderer.d.mts +0 -4
  289. package/lib/config.d.mts +0 -9
  290. package/lib/config.mjs +0 -5
  291. package/lib/meta.d.mts +0 -5
  292. package/lib/meta.mjs +0 -21
  293. package/lib/runtime-meta.mjs +0 -38
@@ -1,11 +0,0 @@
1
- export { defineNitroPlugin } from "./internal/plugin.mjs";
2
- export { defineRouteMeta } from "./internal/meta.mjs";
3
- export { defineNitroErrorHandler } from "./internal/error/utils.mjs";
4
- export { useRuntimeConfig } from "./internal/runtime-config.mjs";
5
- export { useRequest } from "./internal/context.mjs";
6
- export { defineRenderHandler } from "./internal/renderer.mjs";
7
- export { defineCachedFunction, defineCachedEventHandler, defineCachedHandler, cachedFunction, cachedEventHandler, } from "./internal/cache.mjs";
8
- export { useNitroApp } from "./internal/app.mjs";
9
- export { useStorage } from "./internal/storage.mjs";
10
- export { useDatabase } from "./internal/database.mjs";
11
- export { defineTask, runTask } from "./internal/task.mjs";
@@ -1,17 +0,0 @@
1
- export { defineNitroPlugin } from "./internal/plugin.mjs";
2
- export { defineRouteMeta } from "./internal/meta.mjs";
3
- export { defineNitroErrorHandler } from "./internal/error/utils.mjs";
4
- export { useRuntimeConfig } from "./internal/runtime-config.mjs";
5
- export { useRequest } from "./internal/context.mjs";
6
- export { defineRenderHandler } from "./internal/renderer.mjs";
7
- export {
8
- defineCachedFunction,
9
- defineCachedEventHandler,
10
- defineCachedHandler,
11
- cachedFunction,
12
- cachedEventHandler
13
- } from "./internal/cache.mjs";
14
- export { useNitroApp } from "./internal/app.mjs";
15
- export { useStorage } from "./internal/storage.mjs";
16
- export { useDatabase } from "./internal/database.mjs";
17
- export { defineTask, runTask } from "./internal/task.mjs";
@@ -1,2 +0,0 @@
1
- declare const _default: NitroAppPlugin;
2
- export default _default;
@@ -1,5 +0,0 @@
1
- import { createDebugger } from "hookable";
2
- import { defineNitroPlugin } from "./plugin.mjs";
3
- export default defineNitroPlugin((nitro) => {
4
- createDebugger(nitro.hooks, { tag: "nitro-runtime" });
5
- });
File without changes
@@ -1,3 +0,0 @@
1
- export { trapUnhandledNodeErrors } from "./utils.mjs";
2
- export { startScheduleRunner, runCronTasks } from "./task.mjs";
3
- export { getGracefulShutdownConfig, setupGracefulShutdown } from "./shutdown.mjs";
@@ -1,3 +0,0 @@
1
- export { trapUnhandledNodeErrors } from "./utils.mjs";
2
- export { startScheduleRunner, runCronTasks } from "./task.mjs";
3
- export { getGracefulShutdownConfig, setupGracefulShutdown } from "./shutdown.mjs";
@@ -1,16 +0,0 @@
1
- /**
2
- * Gracefully shuts down `server` when the process receives
3
- * the passed signals
4
- *
5
- * @param {http.Server} server
6
- * @param {object} opts
7
- * signals: string (each signal separated by SPACE)
8
- * timeout: timeout value for forceful shutdown in ms
9
- * forceExit: force process.exit() - otherwise just let event loop clear
10
- * development: boolean value (if true, no graceful shutdown to speed up development
11
- * preShutdown: optional function. Needs to return a promise. - HTTP sockets are still available and untouched
12
- * onShutdown: optional function. Needs to return a promise.
13
- * finally: optional function, handled at the end of the shutdown.
14
- */
15
- declare function GracefulShutdown(server: any, opts: any): () => any;
16
- export default GracefulShutdown;
@@ -1,213 +0,0 @@
1
- import http from "node:http";
2
- const debug = (...args) => {
3
- };
4
- function GracefulShutdown(server, opts) {
5
- opts = opts || {};
6
- const options = Object.assign(
7
- {
8
- signals: "SIGINT SIGTERM",
9
- timeout: 3e4,
10
- development: false,
11
- forceExit: true,
12
- onShutdown: (signal) => Promise.resolve(signal),
13
- preShutdown: (signal) => Promise.resolve(signal)
14
- },
15
- opts
16
- );
17
- let isShuttingDown = false;
18
- const connections = {};
19
- let connectionCounter = 0;
20
- const secureConnections = {};
21
- let secureConnectionCounter = 0;
22
- let failed = false;
23
- let finalRun = false;
24
- function onceFactory() {
25
- let called = false;
26
- return (emitter, events, callback) => {
27
- function call() {
28
- if (!called) {
29
- called = true;
30
- return Reflect.apply(callback, this, arguments);
31
- }
32
- }
33
- for (const e of events) {
34
- emitter.on(e, call);
35
- }
36
- };
37
- }
38
- const signals = options.signals.split(" ").map((s) => s.trim()).filter((s) => s.length > 0);
39
- const once = onceFactory();
40
- once(process, signals, (signal) => {
41
- debug("received shut down signal", signal);
42
- shutdown(signal).then(() => {
43
- if (options.forceExit) {
44
- process.exit(failed ? 1 : 0);
45
- }
46
- }).catch((error) => {
47
- debug("server shut down error occurred", error);
48
- process.exit(1);
49
- });
50
- });
51
- function isFunction(functionToCheck) {
52
- const getType = Object.prototype.toString.call(functionToCheck);
53
- return /^\[object\s([A-Za-z]+)?Function]$/.test(getType);
54
- }
55
- function destroy(socket, force = false) {
56
- if (socket._isIdle && isShuttingDown || force) {
57
- socket.destroy();
58
- if (socket.server instanceof http.Server) {
59
- delete connections[socket._connectionId];
60
- } else {
61
- delete secureConnections[socket._connectionId];
62
- }
63
- }
64
- }
65
- function destroyAllConnections(force = false) {
66
- debug("Destroy Connections : " + (force ? "forced close" : "close"));
67
- let counter = 0;
68
- let secureCounter = 0;
69
- for (const key of Object.keys(connections)) {
70
- const socket = connections[key];
71
- const serverResponse = socket._httpMessage;
72
- if (serverResponse && !force) {
73
- if (!serverResponse.headersSent) {
74
- serverResponse.setHeader("connection", "close");
75
- }
76
- } else {
77
- counter++;
78
- destroy(socket);
79
- }
80
- }
81
- debug("Connections destroyed : " + counter);
82
- debug("Connection Counter : " + connectionCounter);
83
- for (const key of Object.keys(secureConnections)) {
84
- const socket = secureConnections[key];
85
- const serverResponse = socket._httpMessage;
86
- if (serverResponse && !force) {
87
- if (!serverResponse.headersSent) {
88
- serverResponse.setHeader("connection", "close");
89
- }
90
- } else {
91
- secureCounter++;
92
- destroy(socket);
93
- }
94
- }
95
- debug("Secure Connections destroyed : " + secureCounter);
96
- debug("Secure Connection Counter : " + secureConnectionCounter);
97
- }
98
- server.on("request", (req, res) => {
99
- req.socket._isIdle = false;
100
- if (isShuttingDown && !res.headersSent) {
101
- res.setHeader("connection", "close");
102
- }
103
- res.on("finish", () => {
104
- req.socket._isIdle = true;
105
- destroy(req.socket);
106
- });
107
- });
108
- server.on("connection", (socket) => {
109
- if (isShuttingDown) {
110
- socket.destroy();
111
- } else {
112
- const id = connectionCounter++;
113
- socket._isIdle = true;
114
- socket._connectionId = id;
115
- connections[id] = socket;
116
- socket.once("close", () => {
117
- delete connections[socket._connectionId];
118
- });
119
- }
120
- });
121
- server.on("secureConnection", (socket) => {
122
- if (isShuttingDown) {
123
- socket.destroy();
124
- } else {
125
- const id = secureConnectionCounter++;
126
- socket._isIdle = true;
127
- socket._connectionId = id;
128
- secureConnections[id] = socket;
129
- socket.once("close", () => {
130
- delete secureConnections[socket._connectionId];
131
- });
132
- }
133
- });
134
- process.on("close", () => {
135
- debug("closed");
136
- });
137
- function shutdown(sig) {
138
- function cleanupHttp() {
139
- destroyAllConnections();
140
- debug("Close http server");
141
- return new Promise((resolve, reject) => {
142
- server.close((err) => {
143
- if (err) {
144
- return reject(err);
145
- }
146
- return resolve(true);
147
- });
148
- });
149
- }
150
- debug("shutdown signal - " + sig);
151
- if (options.development) {
152
- debug("DEV-Mode - immediate forceful shutdown");
153
- return process.exit(0);
154
- }
155
- function finalHandler() {
156
- if (!finalRun) {
157
- finalRun = true;
158
- if (options.finally && isFunction(options.finally)) {
159
- debug("executing finally()");
160
- options.finally();
161
- }
162
- }
163
- return Promise.resolve();
164
- }
165
- function waitForReadyToShutDown(totalNumInterval) {
166
- debug(`waitForReadyToShutDown... ${totalNumInterval}`);
167
- if (totalNumInterval === 0) {
168
- debug(
169
- `Could not close connections in time (${options.timeout}ms), will forcefully shut down`
170
- );
171
- return Promise.resolve(true);
172
- }
173
- const allConnectionsClosed = Object.keys(connections).length === 0 && Object.keys(secureConnections).length === 0;
174
- if (allConnectionsClosed) {
175
- debug("All connections closed. Continue to shutting down");
176
- return Promise.resolve(false);
177
- }
178
- debug("Schedule the next waitForReadyToShutdown");
179
- return new Promise((resolve) => {
180
- setTimeout(() => {
181
- resolve(waitForReadyToShutDown(totalNumInterval - 1));
182
- }, 250);
183
- });
184
- }
185
- if (isShuttingDown) {
186
- return Promise.resolve();
187
- }
188
- debug("shutting down");
189
- return options.preShutdown(sig).then(() => {
190
- isShuttingDown = true;
191
- cleanupHttp();
192
- }).then(() => {
193
- const pollIterations = options.timeout ? Math.round(options.timeout / 250) : 0;
194
- return waitForReadyToShutDown(pollIterations);
195
- }).then((force) => {
196
- debug("Do onShutdown now");
197
- if (force) {
198
- destroyAllConnections(force);
199
- }
200
- return options.onShutdown(sig);
201
- }).then(finalHandler).catch((error) => {
202
- const errString = typeof error === "string" ? error : JSON.stringify(error);
203
- debug(errString);
204
- failed = true;
205
- throw errString;
206
- });
207
- }
208
- function shutdownManual() {
209
- return shutdown("manual");
210
- }
211
- return shutdownManual;
212
- }
213
- export default GracefulShutdown;
@@ -1,3 +0,0 @@
1
- import { type EventHandler } from "h3";
2
- import type { RenderHandler } from "nitro/types";
3
- export declare function defineRenderHandler(render: RenderHandler): EventHandler;
@@ -1,36 +0,0 @@
1
- import { defineHandler } from "h3";
2
- import { useNitroApp } from "./app.mjs";
3
- import { useRuntimeConfig } from "./runtime-config.mjs";
4
- export function defineRenderHandler(render) {
5
- const runtimeConfig = useRuntimeConfig();
6
- return defineHandler(async (event) => {
7
- const nitroApp = useNitroApp();
8
- const ctx = { event, render, response: void 0 };
9
- await nitroApp.hooks.callHook("render:before", ctx);
10
- if (!ctx.response) {
11
- if (event.url.pathname === `${runtimeConfig.app.baseURL}favicon.ico`) {
12
- event.res.headers.set("Content-Type", "image/x-icon");
13
- return "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
14
- }
15
- ctx.response = await ctx.render(event);
16
- if (!ctx.response) {
17
- const _currentStatus = event.res.status;
18
- event.res.statusText = String(
19
- _currentStatus === 200 ? 500 : _currentStatus
20
- );
21
- return "No response returned from render handler: " + event.url.pathname;
22
- }
23
- }
24
- await nitroApp.hooks.callHook("render:response", ctx.response, ctx);
25
- if (ctx.response.headers) {
26
- for (const [key, value] of Object.entries(ctx.response.headers)) {
27
- event.res.headers.set(key, value);
28
- }
29
- }
30
- if (ctx.response.status || ctx.response.statusText) {
31
- event.res.status = ctx.response.status;
32
- event.res.statusText = ctx.response.statusText;
33
- }
34
- return ctx.response.body;
35
- });
36
- }
@@ -1,9 +0,0 @@
1
- import type { Server as HttpServer } from "node:http";
2
- import type { NitroApp } from "nitro/types";
3
- export declare function getGracefulShutdownConfig(): {
4
- disabled: boolean;
5
- signals: string[];
6
- timeout: number;
7
- forceExit: boolean;
8
- };
9
- export declare function setupGracefulShutdown(listener: HttpServer, nitroApp: NitroApp): void;
@@ -1,34 +0,0 @@
1
- import gracefulShutdown from "./lib/http-graceful-shutdown.mjs";
2
- export function getGracefulShutdownConfig() {
3
- return {
4
- disabled: !!process.env.NITRO_SHUTDOWN_DISABLED,
5
- signals: (process.env.NITRO_SHUTDOWN_SIGNALS || "SIGTERM SIGINT").split(" ").map((s) => s.trim()),
6
- timeout: Number.parseInt(process.env.NITRO_SHUTDOWN_TIMEOUT || "", 10) || 3e4,
7
- forceExit: !process.env.NITRO_SHUTDOWN_NO_FORCE_EXIT
8
- };
9
- }
10
- export function setupGracefulShutdown(listener, nitroApp) {
11
- const shutdownConfig = getGracefulShutdownConfig();
12
- if (shutdownConfig.disabled) {
13
- return;
14
- }
15
- gracefulShutdown(listener, {
16
- signals: shutdownConfig.signals.join(" "),
17
- timeout: shutdownConfig.timeout,
18
- forceExit: shutdownConfig.forceExit,
19
- onShutdown: async () => {
20
- await new Promise((resolve) => {
21
- const timeout = setTimeout(() => {
22
- console.warn("Graceful shutdown timeout, force exiting...");
23
- resolve();
24
- }, shutdownConfig.timeout);
25
- nitroApp.hooks.callHook("close").catch((error) => {
26
- console.error(error);
27
- }).finally(() => {
28
- clearTimeout(timeout);
29
- resolve();
30
- });
31
- });
32
- }
33
- });
34
- }
@@ -1 +0,0 @@
1
- export declare function trapUnhandledNodeErrors(): void;
@@ -1,15 +0,0 @@
1
- import { useNitroApp } from "./app.mjs";
2
- function _captureError(error, type) {
3
- console.error(`[${type}]`, error);
4
- useNitroApp().captureError(error, { tags: [type] });
5
- }
6
- export function trapUnhandledNodeErrors() {
7
- process.on(
8
- "unhandledRejection",
9
- (error) => _captureError(error, "unhandledRejection")
10
- );
11
- process.on(
12
- "uncaughtException",
13
- (error) => _captureError(error, "uncaughtException")
14
- );
15
- }
@@ -1 +0,0 @@
1
- export const fetch: any;
@@ -1 +0,0 @@
1
- export {};
@@ -1,4 +0,0 @@
1
- export function setupVite({ manifest, services }: {
2
- manifest: any;
3
- services: any;
4
- }): void;
@@ -1,55 +0,0 @@
1
- export function setupVite({ manifest, services }) {
2
- globalThis.__VITE_MANIFEST__ = manifest;
3
-
4
- const originalFetch = globalThis.fetch;
5
- globalThis.fetch = function nitroViteFetch(input, init) {
6
- // Only override if viteEnvName is specified
7
- const viteEnvName = getViteEnv(init) || getViteEnv(input);
8
- if (!viteEnvName) {
9
- return originalFetch(input, init);
10
- }
11
-
12
- // Validate viteEnv
13
- const viteEnv = services[viteEnvName];
14
- if (!viteEnv) {
15
- throw httpError(404);
16
- }
17
-
18
- // Normalize input (relative urls)
19
- if (typeof input === "string" && input[0] === "/") {
20
- input = new URL(input, "http://localhost");
21
- }
22
-
23
- // Clone headers and set viteEnv header
24
- const headers = new Headers(init?.headers || {});
25
- headers.set("x-vite-env", viteEnvName);
26
-
27
- // Normalize to Request
28
- if (
29
- !(input instanceof Request) ||
30
- (init && Object.keys(init).join("") !== "viteEnv")
31
- ) {
32
- input = new Request(input, init);
33
- }
34
-
35
- // Fetch via vite env
36
- return viteEnv.fetch(input);
37
- };
38
- }
39
-
40
- function getViteEnv(input) {
41
- if (!input || typeof input !== "object") {
42
- return;
43
- }
44
- if ("viteEnv" in input) {
45
- return input.viteEnv;
46
- }
47
- if (input.headers) {
48
- return (
49
- input.headers["x-vite-env"] ||
50
- input.headers.get?.("x-vite-env") ||
51
- (Array.isArray(input.headers) &&
52
- input.headers.find((h) => h[0].toLowerCase() === "x-vite-env")?.[1])
53
- );
54
- }
55
- }
@@ -1,4 +0,0 @@
1
- /** @param {{ req: Request }} HTTPEvent */
2
- export default function ssrRenderer({ req }: {
3
- req: Request;
4
- }): Promise<Response>;
package/lib/config.d.mts DELETED
@@ -1,9 +0,0 @@
1
- import { NitroConfig } from "nitro/types";
2
-
3
- export { NitroConfig } from "nitro/types";
4
-
5
- declare function defineNitroConfig(
6
- config: Omit<NitroConfig, "rootDir">
7
- ): Omit<NitroConfig, "rootDir">;
8
-
9
- export { defineNitroConfig };
package/lib/config.mjs DELETED
@@ -1,5 +0,0 @@
1
- function defineNitroConfig(config) {
2
- return config;
3
- }
4
-
5
- export { defineNitroConfig };
package/lib/meta.d.mts DELETED
@@ -1,5 +0,0 @@
1
- import type { CompatibilityUpdate } from "compatx";
2
-
3
- export const version: string;
4
-
5
- export const compatibilityChanges: CompatibilityUpdate[];
package/lib/meta.mjs DELETED
@@ -1,21 +0,0 @@
1
- import packageJson from "../package.json" with { type: "json" };
2
-
3
- export const version = packageJson.version;
4
-
5
- export const compatibilityChanges = [
6
- {
7
- from: "2024-05-07",
8
- platform: "netlify",
9
- description: "Netlify functions v2",
10
- },
11
- {
12
- from: "2024-09-19",
13
- platform: "cloudflare",
14
- description: "Static assets support for cloudflare-module preset",
15
- },
16
- {
17
- from: "2025-01-30",
18
- platform: "deno",
19
- description: "Deno v2 Node.js compatibility",
20
- },
21
- ];
@@ -1,38 +0,0 @@
1
- import { fileURLToPath } from "node:url";
2
-
3
- export const pkgDir = fileURLToPath(new URL("..", import.meta.url));
4
-
5
- export const runtimeDir = fileURLToPath(
6
- new URL("../dist/runtime/", import.meta.url)
7
- );
8
-
9
- export const presetsDir = fileURLToPath(
10
- new URL("../dist/presets/", import.meta.url)
11
- );
12
-
13
- export const runtimeDependencies = [
14
- "h3",
15
- "cookie-es",
16
- "defu",
17
- "destr",
18
- "hookable",
19
- "iron-webcrypto",
20
- "klona",
21
- "node-mock-http",
22
- "ofetch",
23
- "ohash",
24
- "pathe",
25
- "rou3",
26
- "srvx",
27
- "scule",
28
- "ufo",
29
- "db0",
30
- "std-env",
31
- "uncrypto",
32
- "unctx",
33
- "unenv",
34
- "unstorage",
35
- "crossws",
36
- "croner",
37
- "rendu",
38
- ];