nitropack-nightly 2.10.0-28638494.93d002b7 → 3.0.0-beta-28638602.1fe7b893-nitro-nightly-mirror

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 (287) hide show
  1. package/README.md +1 -1
  2. package/cli.d.ts +1 -1
  3. package/config.d.ts +1 -1
  4. package/core.d.ts +1 -1
  5. package/dist/cli/index.d.mts +1 -1
  6. package/dist/cli/index.d.ts +1 -1
  7. package/dist/cli/index.mjs +1 -18
  8. package/dist/config/index.d.mts +1 -6
  9. package/dist/config/index.d.ts +1 -6
  10. package/dist/config/index.mjs +1 -5
  11. package/dist/core/index.d.mts +1 -69
  12. package/dist/core/index.d.ts +1 -69
  13. package/dist/core/index.mjs +1 -2435
  14. package/dist/kit/index.d.mts +1 -44
  15. package/dist/kit/index.d.ts +1 -44
  16. package/dist/kit/index.mjs +1 -71
  17. package/dist/meta/index.d.mts +1 -3
  18. package/dist/meta/index.d.ts +1 -3
  19. package/dist/meta/index.mjs +1 -3
  20. package/dist/presets/index.d.mts +1 -1
  21. package/dist/presets/index.d.ts +1 -2
  22. package/dist/presets/index.mjs +1 -1
  23. package/dist/rollup/index.d.mts +1 -5
  24. package/dist/rollup/index.d.ts +1 -5
  25. package/dist/rollup/index.mjs +1 -2033
  26. package/dist/runtime/index.d.mts +1 -0
  27. package/dist/runtime/index.d.ts +1 -12
  28. package/dist/runtime/index.mjs +1 -17
  29. package/dist/types/index.d.mts +1 -260
  30. package/dist/types/index.d.ts +1 -260
  31. package/dist/types/index.mjs +1 -1
  32. package/kit.d.ts +1 -1
  33. package/meta.d.ts +1 -1
  34. package/package.json +6 -172
  35. package/presets.d.ts +1 -1
  36. package/rollup.d.ts +1 -1
  37. package/runtime-meta.d.ts +1 -4
  38. package/runtime-meta.mjs +1 -30
  39. package/runtime.d.ts +1 -1
  40. package/types.d.ts +1 -1
  41. package/dist/cli/build.mjs +0 -47
  42. package/dist/cli/common.mjs +0 -13
  43. package/dist/cli/dev.mjs +0 -63
  44. package/dist/cli/index2.mjs +0 -14
  45. package/dist/cli/list.mjs +0 -28
  46. package/dist/cli/prepare.mjs +0 -21
  47. package/dist/cli/run.mjs +0 -57
  48. package/dist/presets/_all.gen.d.ts +0 -2
  49. package/dist/presets/_all.gen.mjs +0 -52
  50. package/dist/presets/_nitro/base-worker.d.ts +0 -2
  51. package/dist/presets/_nitro/base-worker.mjs +0 -25
  52. package/dist/presets/_nitro/nitro-dev.d.ts +0 -2
  53. package/dist/presets/_nitro/nitro-dev.mjs +0 -19
  54. package/dist/presets/_nitro/nitro-prerender.d.ts +0 -2
  55. package/dist/presets/_nitro/nitro-prerender.mjs +0 -17
  56. package/dist/presets/_nitro/preset.d.ts +0 -2
  57. package/dist/presets/_nitro/preset.mjs +0 -5
  58. package/dist/presets/_nitro/runtime/nitro-dev.d.ts +0 -1
  59. package/dist/presets/_nitro/runtime/nitro-dev.mjs +0 -86
  60. package/dist/presets/_nitro/runtime/nitro-prerenderer.d.ts +0 -3
  61. package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +0 -7
  62. package/dist/presets/_nitro/runtime/service-worker.d.ts +0 -1
  63. package/dist/presets/_nitro/runtime/service-worker.mjs +0 -31
  64. package/dist/presets/_nitro/service-worker.d.ts +0 -2
  65. package/dist/presets/_nitro/service-worker.mjs +0 -110
  66. package/dist/presets/_resolve.d.ts +0 -8
  67. package/dist/presets/_resolve.mjs +0 -44
  68. package/dist/presets/_static/preset.d.ts +0 -2
  69. package/dist/presets/_static/preset.mjs +0 -69
  70. package/dist/presets/_types.gen.d.ts +0 -16
  71. package/dist/presets/_types.gen.mjs +0 -0
  72. package/dist/presets/alwaysdata/preset.d.ts +0 -2
  73. package/dist/presets/alwaysdata/preset.mjs +0 -14
  74. package/dist/presets/aws-amplify/preset.d.ts +0 -3
  75. package/dist/presets/aws-amplify/preset.mjs +0 -27
  76. package/dist/presets/aws-amplify/runtime/aws-amplify.d.ts +0 -1
  77. package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +0 -13
  78. package/dist/presets/aws-amplify/types.d.ts +0 -141
  79. package/dist/presets/aws-amplify/types.mjs +0 -0
  80. package/dist/presets/aws-amplify/utils.d.ts +0 -2
  81. package/dist/presets/aws-amplify/utils.mjs +0 -82
  82. package/dist/presets/aws-lambda/preset.d.ts +0 -2
  83. package/dist/presets/aws-lambda/preset.mjs +0 -21
  84. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.ts +0 -15
  85. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +0 -53
  86. package/dist/presets/aws-lambda/runtime/aws-lambda.d.ts +0 -4
  87. package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +0 -45
  88. package/dist/presets/azure/preset.d.ts +0 -3
  89. package/dist/presets/azure/preset.mjs +0 -44
  90. package/dist/presets/azure/runtime/azure-functions.d.ts +0 -5
  91. package/dist/presets/azure/runtime/azure-functions.mjs +0 -24
  92. package/dist/presets/azure/runtime/azure-swa.d.ts +0 -5
  93. package/dist/presets/azure/runtime/azure-swa.mjs +0 -30
  94. package/dist/presets/azure/types.d.ts +0 -13
  95. package/dist/presets/azure/types.mjs +0 -0
  96. package/dist/presets/azure/utils.d.ts +0 -3
  97. package/dist/presets/azure/utils.mjs +0 -183
  98. package/dist/presets/bun/preset.d.ts +0 -2
  99. package/dist/presets/bun/preset.mjs +0 -17
  100. package/dist/presets/bun/runtime/bun.d.ts +0 -1
  101. package/dist/presets/bun/runtime/bun.mjs +0 -32
  102. package/dist/presets/cleavr/preset.d.ts +0 -2
  103. package/dist/presets/cleavr/preset.mjs +0 -12
  104. package/dist/presets/cloudflare/preset.d.ts +0 -3
  105. package/dist/presets/cloudflare/preset.mjs +0 -145
  106. package/dist/presets/cloudflare/runtime/cloudflare-module.d.ts +0 -13
  107. package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +0 -102
  108. package/dist/presets/cloudflare/runtime/cloudflare-pages.d.ts +0 -20
  109. package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +0 -55
  110. package/dist/presets/cloudflare/runtime/cloudflare-worker.d.ts +0 -1
  111. package/dist/presets/cloudflare/runtime/cloudflare-worker.mjs +0 -63
  112. package/dist/presets/cloudflare/types.d.ts +0 -89
  113. package/dist/presets/cloudflare/types.mjs +0 -0
  114. package/dist/presets/cloudflare/types.wrangler.d.ts +0 -974
  115. package/dist/presets/cloudflare/types.wrangler.mjs +0 -0
  116. package/dist/presets/cloudflare/utils.d.ts +0 -3
  117. package/dist/presets/cloudflare/utils.mjs +0 -163
  118. package/dist/presets/deno/preset.d.ts +0 -2
  119. package/dist/presets/deno/preset.mjs +0 -148
  120. package/dist/presets/deno/runtime/_deno-env-polyfill.d.ts +0 -0
  121. package/dist/presets/deno/runtime/_deno-env-polyfill.mjs +0 -1
  122. package/dist/presets/deno/runtime/deno-deploy.d.ts +0 -2
  123. package/dist/presets/deno/runtime/deno-deploy.mjs +0 -32
  124. package/dist/presets/deno/runtime/deno-server.d.ts +0 -4
  125. package/dist/presets/deno/runtime/deno-server.mjs +0 -66
  126. package/dist/presets/digitalocean/preset.d.ts +0 -2
  127. package/dist/presets/digitalocean/preset.mjs +0 -11
  128. package/dist/presets/edgio/preset.d.ts +0 -2
  129. package/dist/presets/edgio/preset.mjs +0 -95
  130. package/dist/presets/firebase/preset.d.ts +0 -3
  131. package/dist/presets/firebase/preset.mjs +0 -51
  132. package/dist/presets/firebase/runtime/firebase-gen-1.d.ts +0 -2
  133. package/dist/presets/firebase/runtime/firebase-gen-1.mjs +0 -8
  134. package/dist/presets/firebase/runtime/firebase-gen-2.d.ts +0 -2
  135. package/dist/presets/firebase/runtime/firebase-gen-2.mjs +0 -15
  136. package/dist/presets/firebase/runtime/firebase-gen-default.d.ts +0 -1
  137. package/dist/presets/firebase/runtime/firebase-gen-default.mjs +0 -1
  138. package/dist/presets/firebase/types.d.ts +0 -37
  139. package/dist/presets/firebase/types.mjs +0 -0
  140. package/dist/presets/firebase/utils.d.ts +0 -3
  141. package/dist/presets/firebase/utils.mjs +0 -50
  142. package/dist/presets/flightcontrol/preset.d.ts +0 -2
  143. package/dist/presets/flightcontrol/preset.mjs +0 -11
  144. package/dist/presets/heroku/preset.d.ts +0 -2
  145. package/dist/presets/heroku/preset.mjs +0 -11
  146. package/dist/presets/iis/preset.d.ts +0 -2
  147. package/dist/presets/iis/preset.mjs +0 -32
  148. package/dist/presets/iis/utils.d.ts +0 -3
  149. package/dist/presets/iis/utils.mjs +0 -159
  150. package/dist/presets/koyeb/preset.d.ts +0 -2
  151. package/dist/presets/koyeb/preset.mjs +0 -11
  152. package/dist/presets/netlify/legacy/preset.d.ts +0 -2
  153. package/dist/presets/netlify/legacy/preset.mjs +0 -142
  154. package/dist/presets/netlify/legacy/runtime/_deno-env-polyfill.d.ts +0 -0
  155. package/dist/presets/netlify/legacy/runtime/_deno-env-polyfill.mjs +0 -1
  156. package/dist/presets/netlify/legacy/runtime/netlify-builder.d.ts +0 -3
  157. package/dist/presets/netlify/legacy/runtime/netlify-builder.mjs +0 -5
  158. package/dist/presets/netlify/legacy/runtime/netlify-edge.d.ts +0 -3
  159. package/dist/presets/netlify/legacy/runtime/netlify-edge.mjs +0 -26
  160. package/dist/presets/netlify/legacy/runtime/netlify-lambda.d.ts +0 -4
  161. package/dist/presets/netlify/legacy/runtime/netlify-lambda.mjs +0 -39
  162. package/dist/presets/netlify/legacy/runtime/netlify.d.ts +0 -4
  163. package/dist/presets/netlify/legacy/runtime/netlify.mjs +0 -22
  164. package/dist/presets/netlify/legacy/utils.d.ts +0 -4
  165. package/dist/presets/netlify/legacy/utils.mjs +0 -113
  166. package/dist/presets/netlify/preset.d.ts +0 -3
  167. package/dist/presets/netlify/preset.mjs +0 -127
  168. package/dist/presets/netlify/runtime/_deno-env-polyfill.d.ts +0 -0
  169. package/dist/presets/netlify/runtime/_deno-env-polyfill.mjs +0 -1
  170. package/dist/presets/netlify/runtime/netlify-edge.d.ts +0 -2
  171. package/dist/presets/netlify/runtime/netlify-edge.mjs +0 -25
  172. package/dist/presets/netlify/runtime/netlify.d.ts +0 -4
  173. package/dist/presets/netlify/runtime/netlify.mjs +0 -54
  174. package/dist/presets/netlify/types.d.ts +0 -12
  175. package/dist/presets/netlify/types.mjs +0 -0
  176. package/dist/presets/netlify/utils.d.ts +0 -5
  177. package/dist/presets/netlify/utils.mjs +0 -94
  178. package/dist/presets/node/preset.d.ts +0 -2
  179. package/dist/presets/node/preset.mjs +0 -49
  180. package/dist/presets/node/runtime/cli.d.ts +0 -1
  181. package/dist/presets/node/runtime/cli.mjs +0 -21
  182. package/dist/presets/node/runtime/cluster.d.ts +0 -1
  183. package/dist/presets/node/runtime/cluster.mjs +0 -60
  184. package/dist/presets/node/runtime/node-listener.d.ts +0 -6
  185. package/dist/presets/node/runtime/node-listener.mjs +0 -15
  186. package/dist/presets/node/runtime/node-server.d.ts +0 -3
  187. package/dist/presets/node/runtime/node-server.mjs +0 -44
  188. package/dist/presets/platform.sh/preset.d.ts +0 -2
  189. package/dist/presets/platform.sh/preset.mjs +0 -11
  190. package/dist/presets/render.com/preset.d.ts +0 -2
  191. package/dist/presets/render.com/preset.mjs +0 -11
  192. package/dist/presets/stormkit/preset.d.ts +0 -2
  193. package/dist/presets/stormkit/preset.mjs +0 -15
  194. package/dist/presets/stormkit/runtime/stormkit.d.ts +0 -21
  195. package/dist/presets/stormkit/runtime/stormkit.mjs +0 -32
  196. package/dist/presets/vercel/preset.d.ts +0 -3
  197. package/dist/presets/vercel/preset.mjs +0 -104
  198. package/dist/presets/vercel/runtime/vercel-edge.d.ts +0 -2
  199. package/dist/presets/vercel/runtime/vercel-edge.mjs +0 -22
  200. package/dist/presets/vercel/runtime/vercel.d.ts +0 -4
  201. package/dist/presets/vercel/runtime/vercel.mjs +0 -17
  202. package/dist/presets/vercel/types.d.ts +0 -78
  203. package/dist/presets/vercel/types.mjs +0 -0
  204. package/dist/presets/vercel/utils.d.ts +0 -5
  205. package/dist/presets/vercel/utils.mjs +0 -186
  206. package/dist/presets/winterjs/preset.d.ts +0 -2
  207. package/dist/presets/winterjs/preset.mjs +0 -20
  208. package/dist/presets/winterjs/runtime/winterjs.d.ts +0 -1
  209. package/dist/presets/winterjs/runtime/winterjs.mjs +0 -69
  210. package/dist/presets/zeabur/preset.d.ts +0 -2
  211. package/dist/presets/zeabur/preset.mjs +0 -70
  212. package/dist/presets/zeabur/runtime/zeabur.d.ts +0 -4
  213. package/dist/presets/zeabur/runtime/zeabur.mjs +0 -8
  214. package/dist/runtime/app.d.ts +0 -2
  215. package/dist/runtime/app.mjs +0 -1
  216. package/dist/runtime/cache.d.ts +0 -1
  217. package/dist/runtime/cache.mjs +0 -6
  218. package/dist/runtime/config.d.ts +0 -1
  219. package/dist/runtime/config.mjs +0 -1
  220. package/dist/runtime/context.d.ts +0 -1
  221. package/dist/runtime/context.mjs +0 -1
  222. package/dist/runtime/database.d.ts +0 -1
  223. package/dist/runtime/database.mjs +0 -1
  224. package/dist/runtime/error.d.ts +0 -1
  225. package/dist/runtime/error.mjs +0 -1
  226. package/dist/runtime/internal/app.d.ts +0 -3
  227. package/dist/runtime/internal/app.mjs +0 -152
  228. package/dist/runtime/internal/cache.d.ts +0 -8
  229. package/dist/runtime/internal/cache.mjs +0 -329
  230. package/dist/runtime/internal/client.d.ts +0 -1
  231. package/dist/runtime/internal/client.mjs +0 -4
  232. package/dist/runtime/internal/config.d.ts +0 -6
  233. package/dist/runtime/internal/config.mjs +0 -58
  234. package/dist/runtime/internal/context.d.ts +0 -12
  235. package/dist/runtime/internal/context.mjs +0 -17
  236. package/dist/runtime/internal/database.d.ts +0 -2
  237. package/dist/runtime/internal/database.mjs +0 -14
  238. package/dist/runtime/internal/debug.d.ts +0 -2
  239. package/dist/runtime/internal/debug.mjs +0 -5
  240. package/dist/runtime/internal/error.d.ts +0 -4
  241. package/dist/runtime/internal/error.mjs +0 -71
  242. package/dist/runtime/internal/index.d.ts +0 -6
  243. package/dist/runtime/internal/index.mjs +0 -16
  244. package/dist/runtime/internal/lib/http-graceful-shutdown.d.ts +0 -16
  245. package/dist/runtime/internal/lib/http-graceful-shutdown.mjs +0 -213
  246. package/dist/runtime/internal/meta.d.ts +0 -2
  247. package/dist/runtime/internal/meta.mjs +0 -3
  248. package/dist/runtime/internal/plugin.d.ts +0 -3
  249. package/dist/runtime/internal/plugin.mjs +0 -4
  250. package/dist/runtime/internal/renderer.d.ts +0 -2
  251. package/dist/runtime/internal/renderer.mjs +0 -38
  252. package/dist/runtime/internal/route-rules.d.ts +0 -14
  253. package/dist/runtime/internal/route-rules.mjs +0 -67
  254. package/dist/runtime/internal/routes/openapi.d.ts +0 -3
  255. package/dist/runtime/internal/routes/openapi.mjs +0 -85
  256. package/dist/runtime/internal/routes/scalar.d.ts +0 -2
  257. package/dist/runtime/internal/routes/scalar.mjs +0 -191
  258. package/dist/runtime/internal/routes/swagger.d.ts +0 -2
  259. package/dist/runtime/internal/routes/swagger.mjs +0 -39
  260. package/dist/runtime/internal/shutdown.d.ts +0 -10
  261. package/dist/runtime/internal/shutdown.mjs +0 -34
  262. package/dist/runtime/internal/static.d.ts +0 -2
  263. package/dist/runtime/internal/static.mjs +0 -89
  264. package/dist/runtime/internal/storage.d.ts +0 -2
  265. package/dist/runtime/internal/storage.mjs +0 -5
  266. package/dist/runtime/internal/task.d.ts +0 -17
  267. package/dist/runtime/internal/task.mjs +0 -73
  268. package/dist/runtime/internal/timing.d.ts +0 -2
  269. package/dist/runtime/internal/timing.mjs +0 -29
  270. package/dist/runtime/internal/utils.azure.d.ts +0 -2
  271. package/dist/runtime/internal/utils.azure.mjs +0 -51
  272. package/dist/runtime/internal/utils.d.ts +0 -23
  273. package/dist/runtime/internal/utils.env.d.ts +0 -7
  274. package/dist/runtime/internal/utils.env.mjs +0 -39
  275. package/dist/runtime/internal/utils.lambda.d.ts +0 -12
  276. package/dist/runtime/internal/utils.lambda.mjs +0 -30
  277. package/dist/runtime/internal/utils.mjs +0 -129
  278. package/dist/runtime/plugin.d.ts +0 -1
  279. package/dist/runtime/plugin.mjs +0 -1
  280. package/dist/runtime/storage.d.ts +0 -1
  281. package/dist/runtime/storage.mjs +0 -1
  282. package/dist/runtime/task.d.ts +0 -1
  283. package/dist/runtime/task.mjs +0 -1
  284. package/dist/runtime/utils.d.ts +0 -1
  285. package/dist/runtime/utils.mjs +0 -1
  286. package/dist/shared/nitro.DkCt8MDS.d.mts +0 -588
  287. package/dist/shared/nitro.DkCt8MDS.d.ts +0 -588
@@ -1,70 +0,0 @@
1
- import fsp from "node:fs/promises";
2
- import { dirname, relative, resolve } from "pathe";
3
- import { writeFile } from "nitropack/kit";
4
- import { defineNitroPreset } from "nitropack/kit";
5
- const zeabur = defineNitroPreset(
6
- {
7
- extends: "node",
8
- entry: "./runtime/zeabur",
9
- output: {
10
- dir: "{{ rootDir }}/.zeabur/output",
11
- serverDir: "{{ output.dir }}/functions/__nitro.func",
12
- publicDir: "{{ output.dir }}/static"
13
- },
14
- hooks: {
15
- async compiled(nitro) {
16
- const buildConfigPath = resolve(
17
- nitro.options.output.dir,
18
- "config.json"
19
- );
20
- const cfg = {
21
- containerized: false,
22
- routes: [{ src: ".*", dest: "/__nitro" }]
23
- };
24
- await writeFile(buildConfigPath, JSON.stringify(cfg, null, 2));
25
- for (const [key, value] of Object.entries(nitro.options.routeRules)) {
26
- if (!value.isr) {
27
- continue;
28
- }
29
- const funcPrefix = resolve(
30
- nitro.options.output.serverDir,
31
- ".." + key
32
- );
33
- await fsp.mkdir(dirname(funcPrefix), { recursive: true });
34
- await fsp.symlink(
35
- "./" + relative(dirname(funcPrefix), nitro.options.output.serverDir),
36
- funcPrefix + ".func",
37
- "junction"
38
- );
39
- await writeFile(
40
- funcPrefix + ".prerender-config.json",
41
- JSON.stringify({ type: "Prerender" })
42
- );
43
- }
44
- }
45
- }
46
- },
47
- {
48
- name: "zeabur",
49
- stdName: "zeabur",
50
- url: import.meta.url
51
- }
52
- );
53
- const zeaburStatic = defineNitroPreset(
54
- {
55
- extends: "static",
56
- output: {
57
- dir: "{{ rootDir }}/.zeabur/output",
58
- publicDir: "{{ output.dir }}/static"
59
- },
60
- commands: {
61
- preview: "npx serve ./static"
62
- }
63
- },
64
- {
65
- name: "zeabur-static",
66
- url: import.meta.url,
67
- static: true
68
- }
69
- );
70
- export default [zeabur, zeaburStatic];
@@ -1,4 +0,0 @@
1
- import "#nitro-internal-pollyfills";
2
- import { NodeListener } from "h3";
3
- declare const listener: NodeListener;
4
- export default listener;
@@ -1,8 +0,0 @@
1
- import "#nitro-internal-pollyfills";
2
- import { useNitroApp } from "nitropack/runtime";
3
- import { toNodeListener } from "h3";
4
- const handler = toNodeListener(useNitroApp().h3App);
5
- const listener = function(req, res) {
6
- return handler(req, res);
7
- };
8
- export default listener;
@@ -1,2 +0,0 @@
1
- export { useNitroApp } from "./internal/app";
2
- export type { NitroApp } from "nitropack/types";
@@ -1 +0,0 @@
1
- export { useNitroApp } from "./internal/app.mjs";
@@ -1 +0,0 @@
1
- export { cachedEventHandler, cachedFunction, defineCachedEventHandler, defineCachedFunction, } from "./internal/cache";
@@ -1,6 +0,0 @@
1
- export {
2
- cachedEventHandler,
3
- cachedFunction,
4
- defineCachedEventHandler,
5
- defineCachedFunction
6
- } from "./internal/cache.mjs";
@@ -1 +0,0 @@
1
- export { useAppConfig, useRuntimeConfig } from "./internal/config";
@@ -1 +0,0 @@
1
- export { useAppConfig, useRuntimeConfig } from "./internal/config.mjs";
@@ -1 +0,0 @@
1
- export { useEvent } from "./internal/context";
@@ -1 +0,0 @@
1
- export { useEvent } from "./internal/context.mjs";
@@ -1 +0,0 @@
1
- export { useDatabase } from "./internal/database";
@@ -1 +0,0 @@
1
- export { useDatabase } from "./internal/database.mjs";
@@ -1 +0,0 @@
1
- export { default } from "./internal/error";
@@ -1 +0,0 @@
1
- export { default } from "./internal/error.mjs";
@@ -1,3 +0,0 @@
1
- import type { NitroApp } from "nitropack/types";
2
- export declare const nitroApp: NitroApp;
3
- export declare const useNitroApp: () => NitroApp;
@@ -1,152 +0,0 @@
1
- import {
2
- createApp,
3
- createRouter,
4
- eventHandler,
5
- lazyEventHandler,
6
- toNodeListener,
7
- fetchWithEvent,
8
- isEvent
9
- } from "h3";
10
- import { createFetch, Headers } from "ofetch";
11
- import destr from "destr";
12
- import {
13
- createCall,
14
- createFetch as createLocalFetch
15
- } from "unenv/runtime/fetch/index";
16
- import { createHooks } from "hookable";
17
- import { useRuntimeConfig } from "./config.mjs";
18
- import { cachedEventHandler } from "./cache.mjs";
19
- import { normalizeFetchResponse } from "./utils.mjs";
20
- import { createRouteRulesHandler, getRouteRulesForPath } from "./route-rules.mjs";
21
- import { nitroAsyncContext } from "./context.mjs";
22
- import { plugins } from "#nitro-internal-virtual/plugins";
23
- import errorHandler from "#nitro-internal-virtual/error-handler";
24
- import { handlers } from "#nitro-internal-virtual/server-handlers";
25
- function createNitroApp() {
26
- const config = useRuntimeConfig();
27
- const hooks = createHooks();
28
- const captureError = (error, context = {}) => {
29
- const promise = hooks.callHookParallel("error", error, context).catch((error_) => {
30
- console.error("Error while capturing another error", error_);
31
- });
32
- if (context.event && isEvent(context.event)) {
33
- const errors = context.event.context.nitro?.errors;
34
- if (errors) {
35
- errors.push({ error, context });
36
- }
37
- if (context.event.waitUntil) {
38
- context.event.waitUntil(promise);
39
- }
40
- }
41
- };
42
- const h3App = createApp({
43
- debug: destr(process.env.DEBUG),
44
- onError: (error, event) => {
45
- captureError(error, { event, tags: ["request"] });
46
- return errorHandler(error, event);
47
- },
48
- onRequest: async (event) => {
49
- await nitroApp.hooks.callHook("request", event).catch((error) => {
50
- captureError(error, { event, tags: ["request"] });
51
- });
52
- },
53
- onBeforeResponse: async (event, response) => {
54
- await nitroApp.hooks.callHook("beforeResponse", event, response).catch((error) => {
55
- captureError(error, { event, tags: ["request", "response"] });
56
- });
57
- },
58
- onAfterResponse: async (event, response) => {
59
- await nitroApp.hooks.callHook("afterResponse", event, response).catch((error) => {
60
- captureError(error, { event, tags: ["request", "response"] });
61
- });
62
- }
63
- });
64
- const router = createRouter({
65
- preemptive: true
66
- });
67
- const localCall = createCall(toNodeListener(h3App));
68
- const _localFetch = createLocalFetch(localCall, globalThis.fetch);
69
- const localFetch = (input, init) => _localFetch(input, init).then(
70
- (response) => normalizeFetchResponse(response)
71
- );
72
- const $fetch = createFetch({
73
- fetch: localFetch,
74
- Headers,
75
- defaults: { baseURL: config.app.baseURL }
76
- });
77
- globalThis.$fetch = $fetch;
78
- h3App.use(createRouteRulesHandler({ localFetch }));
79
- h3App.use(
80
- eventHandler((event) => {
81
- event.context.nitro = event.context.nitro || { errors: [] };
82
- const envContext = event.node.req?.__unenv__;
83
- if (envContext) {
84
- Object.assign(event.context, envContext);
85
- }
86
- event.fetch = (req, init) => fetchWithEvent(event, req, init, { fetch: localFetch });
87
- event.$fetch = (req, init) => fetchWithEvent(event, req, init, {
88
- fetch: $fetch
89
- });
90
- event.waitUntil = (promise) => {
91
- if (!event.context.nitro._waitUntilPromises) {
92
- event.context.nitro._waitUntilPromises = [];
93
- }
94
- event.context.nitro._waitUntilPromises.push(promise);
95
- if (envContext?.waitUntil) {
96
- envContext.waitUntil(promise);
97
- }
98
- };
99
- event.captureError = (error, context) => {
100
- captureError(error, { event, ...context });
101
- };
102
- })
103
- );
104
- for (const h of handlers) {
105
- let handler = h.lazy ? lazyEventHandler(h.handler) : h.handler;
106
- if (h.middleware || !h.route) {
107
- const middlewareBase = (config.app.baseURL + (h.route || "/")).replace(
108
- /\/+/g,
109
- "/"
110
- );
111
- h3App.use(middlewareBase, handler);
112
- } else {
113
- const routeRules = getRouteRulesForPath(
114
- h.route.replace(/:\w+|\*\*/g, "_")
115
- );
116
- if (routeRules.cache) {
117
- handler = cachedEventHandler(handler, {
118
- group: "nitro/routes",
119
- ...routeRules.cache
120
- });
121
- }
122
- router.use(h.route, handler, h.method);
123
- }
124
- }
125
- h3App.use(config.app.baseURL, router.handler);
126
- if (import.meta._asyncContext) {
127
- const _handler = h3App.handler;
128
- h3App.handler = (event) => {
129
- const ctx = { event };
130
- return nitroAsyncContext.callAsync(ctx, () => _handler(event));
131
- };
132
- }
133
- const app = {
134
- hooks,
135
- h3App,
136
- router,
137
- localCall,
138
- localFetch,
139
- captureError
140
- };
141
- for (const plugin of plugins) {
142
- try {
143
- plugin(app);
144
- } catch (error) {
145
- captureError(error, { tags: ["plugin"] });
146
- throw error;
147
- }
148
- }
149
- return app;
150
- }
151
- export const nitroApp = createNitroApp();
152
- export const useNitroApp = () => nitroApp;
@@ -1,8 +0,0 @@
1
- import { EventHandler } from "h3";
2
- import type { EventHandlerRequest, EventHandlerResponse } from "h3";
3
- import type { CacheOptions, CachedEventHandlerOptions } from "nitropack/types";
4
- export declare function defineCachedFunction<T, ArgsT extends unknown[] = any[]>(fn: (...args: ArgsT) => T | Promise<T>, opts?: CacheOptions<T>): (...args: ArgsT) => Promise<T | undefined>;
5
- export declare const cachedFunction: typeof defineCachedFunction;
6
- export declare function defineCachedEventHandler<Request extends EventHandlerRequest = EventHandlerRequest, Response = EventHandlerResponse>(handler: EventHandler<Request, Response>, opts?: CachedEventHandlerOptions<Response>): EventHandler<Omit<Request, "body">, Response>;
7
- export declare function defineCachedEventHandler<Request = Omit<EventHandlerRequest, "body">, Response = EventHandlerResponse>(handler: EventHandler<Request extends EventHandlerRequest ? Request : EventHandlerRequest, Request extends EventHandlerRequest ? Response : Request>, opts?: CachedEventHandlerOptions<Request extends EventHandlerRequest ? Response : Request>): EventHandler<Request extends EventHandlerRequest ? Request : EventHandlerRequest, Request extends EventHandlerRequest ? Response : Request>;
8
- export declare const cachedEventHandler: typeof defineCachedEventHandler;
@@ -1,329 +0,0 @@
1
- import { hash } from "ohash";
2
- import {
3
- handleCacheHeaders,
4
- defineEventHandler,
5
- createEvent,
6
- isEvent,
7
- splitCookiesString,
8
- fetchWithEvent
9
- } from "h3";
10
- import { parseURL } from "ufo";
11
- import { useStorage } from "./storage.mjs";
12
- import { useNitroApp } from "./app.mjs";
13
- const defaultCacheOptions = {
14
- name: "_",
15
- base: "/cache",
16
- swr: true,
17
- maxAge: 1
18
- };
19
- export function defineCachedFunction(fn, opts = {}) {
20
- opts = { ...defaultCacheOptions, ...opts };
21
- const pending = {};
22
- const group = opts.group || "nitro/functions";
23
- const name = opts.name || fn.name || "_";
24
- const integrity = opts.integrity || hash([fn, opts]);
25
- const validate = opts.validate || ((entry) => entry.value !== void 0);
26
- async function get(key, resolver, shouldInvalidateCache, event) {
27
- const cacheKey = [opts.base, group, name, key + ".json"].filter(Boolean).join(":").replace(/:\/$/, ":index");
28
- let entry = await useStorage().getItem(cacheKey) || {};
29
- if (typeof entry !== "object") {
30
- entry = {};
31
- const error = new Error("Malformed data read from cache.");
32
- console.error("[nitro] [cache]", error);
33
- useNitroApp().captureError(error, { event, tags: ["cache"] });
34
- }
35
- const ttl = (opts.maxAge ?? opts.maxAge ?? 0) * 1e3;
36
- if (ttl) {
37
- entry.expires = Date.now() + ttl;
38
- }
39
- const expired = shouldInvalidateCache || entry.integrity !== integrity || ttl && Date.now() - (entry.mtime || 0) > ttl || validate(entry) === false;
40
- const _resolve = async () => {
41
- const isPending = pending[key];
42
- if (!isPending) {
43
- if (entry.value !== void 0 && (opts.staleMaxAge || 0) >= 0 && opts.swr === false) {
44
- entry.value = void 0;
45
- entry.integrity = void 0;
46
- entry.mtime = void 0;
47
- entry.expires = void 0;
48
- }
49
- pending[key] = Promise.resolve(resolver());
50
- }
51
- try {
52
- entry.value = await pending[key];
53
- } catch (error) {
54
- if (!isPending) {
55
- delete pending[key];
56
- }
57
- throw error;
58
- }
59
- if (!isPending) {
60
- entry.mtime = Date.now();
61
- entry.integrity = integrity;
62
- delete pending[key];
63
- if (validate(entry) !== false) {
64
- const promise = useStorage().setItem(cacheKey, entry).catch((error) => {
65
- console.error(`[nitro] [cache] Cache write error.`, error);
66
- useNitroApp().captureError(error, { event, tags: ["cache"] });
67
- });
68
- if (event && event.waitUntil) {
69
- event.waitUntil(promise);
70
- }
71
- }
72
- }
73
- };
74
- const _resolvePromise = expired ? _resolve() : Promise.resolve();
75
- if (entry.value === void 0) {
76
- await _resolvePromise;
77
- } else if (expired && event && event.waitUntil) {
78
- event.waitUntil(_resolvePromise);
79
- }
80
- if (opts.swr && validate(entry) !== false) {
81
- _resolvePromise.catch((error) => {
82
- console.error(`[nitro] [cache] SWR handler error.`, error);
83
- useNitroApp().captureError(error, { event, tags: ["cache"] });
84
- });
85
- return entry;
86
- }
87
- return _resolvePromise.then(() => entry);
88
- }
89
- return async (...args) => {
90
- const shouldBypassCache = await opts.shouldBypassCache?.(...args);
91
- if (shouldBypassCache) {
92
- return fn(...args);
93
- }
94
- const key = await (opts.getKey || getKey)(...args);
95
- const shouldInvalidateCache = await opts.shouldInvalidateCache?.(...args);
96
- const entry = await get(
97
- key,
98
- () => fn(...args),
99
- shouldInvalidateCache,
100
- args[0] && isEvent(args[0]) ? args[0] : void 0
101
- );
102
- let value = entry.value;
103
- if (opts.transform) {
104
- value = await opts.transform(entry, ...args) || value;
105
- }
106
- return value;
107
- };
108
- }
109
- export const cachedFunction = defineCachedFunction;
110
- function getKey(...args) {
111
- return args.length > 0 ? hash(args, {}) : "";
112
- }
113
- function escapeKey(key) {
114
- return String(key).replace(/\W/g, "");
115
- }
116
- export function defineCachedEventHandler(handler, opts = defaultCacheOptions) {
117
- const variableHeaderNames = (opts.varies || []).filter(Boolean).map((h) => h.toLowerCase()).sort();
118
- const _opts = {
119
- ...opts,
120
- getKey: async (event) => {
121
- const customKey = await opts.getKey?.(event);
122
- if (customKey) {
123
- return escapeKey(customKey);
124
- }
125
- const _path = event.node.req.originalUrl || event.node.req.url || event.path;
126
- const _pathname = escapeKey(decodeURI(parseURL(_path).pathname)).slice(0, 16) || "index";
127
- const _hashedPath = `${_pathname}.${hash(_path)}`;
128
- const _headers = variableHeaderNames.map((header) => [header, event.node.req.headers[header]]).map(([name, value]) => `${escapeKey(name)}.${hash(value)}`);
129
- return [_hashedPath, ..._headers].join(":");
130
- },
131
- validate: (entry) => {
132
- if (!entry.value) {
133
- return false;
134
- }
135
- if (entry.value.code >= 400) {
136
- return false;
137
- }
138
- if (entry.value.body === void 0) {
139
- return false;
140
- }
141
- if (entry.value.headers.etag === "undefined" || entry.value.headers["last-modified"] === "undefined") {
142
- return false;
143
- }
144
- return true;
145
- },
146
- group: opts.group || "nitro/handlers",
147
- integrity: opts.integrity || hash([handler, opts])
148
- };
149
- const _cachedHandler = cachedFunction(
150
- async (incomingEvent) => {
151
- const variableHeaders = {};
152
- for (const header of variableHeaderNames) {
153
- const value = incomingEvent.node.req.headers[header];
154
- if (value !== void 0) {
155
- variableHeaders[header] = value;
156
- }
157
- }
158
- const reqProxy = cloneWithProxy(incomingEvent.node.req, {
159
- headers: variableHeaders
160
- });
161
- const resHeaders = {};
162
- let _resSendBody;
163
- const resProxy = cloneWithProxy(incomingEvent.node.res, {
164
- statusCode: 200,
165
- writableEnded: false,
166
- writableFinished: false,
167
- headersSent: false,
168
- closed: false,
169
- getHeader(name) {
170
- return resHeaders[name];
171
- },
172
- setHeader(name, value) {
173
- resHeaders[name] = value;
174
- return this;
175
- },
176
- getHeaderNames() {
177
- return Object.keys(resHeaders);
178
- },
179
- hasHeader(name) {
180
- return name in resHeaders;
181
- },
182
- removeHeader(name) {
183
- delete resHeaders[name];
184
- },
185
- getHeaders() {
186
- return resHeaders;
187
- },
188
- end(chunk, arg2, arg3) {
189
- if (typeof chunk === "string") {
190
- _resSendBody = chunk;
191
- }
192
- if (typeof arg2 === "function") {
193
- arg2();
194
- }
195
- if (typeof arg3 === "function") {
196
- arg3();
197
- }
198
- return this;
199
- },
200
- write(chunk, arg2, arg3) {
201
- if (typeof chunk === "string") {
202
- _resSendBody = chunk;
203
- }
204
- if (typeof arg2 === "function") {
205
- arg2(void 0);
206
- }
207
- if (typeof arg3 === "function") {
208
- arg3();
209
- }
210
- return true;
211
- },
212
- writeHead(statusCode, headers2) {
213
- this.statusCode = statusCode;
214
- if (headers2) {
215
- if (Array.isArray(headers2) || typeof headers2 === "string") {
216
- throw new TypeError("Raw headers is not supported.");
217
- }
218
- for (const header in headers2) {
219
- const value = headers2[header];
220
- if (value !== void 0) {
221
- this.setHeader(
222
- header,
223
- value
224
- );
225
- }
226
- }
227
- }
228
- return this;
229
- }
230
- });
231
- const event = createEvent(reqProxy, resProxy);
232
- event.fetch = (url, fetchOptions) => fetchWithEvent(event, url, fetchOptions, {
233
- fetch: useNitroApp().localFetch
234
- });
235
- event.$fetch = (url, fetchOptions) => fetchWithEvent(event, url, fetchOptions, {
236
- fetch: globalThis.$fetch
237
- });
238
- event.context = incomingEvent.context;
239
- event.context.cache = {
240
- options: _opts
241
- };
242
- const body = await handler(event) || _resSendBody;
243
- const headers = event.node.res.getHeaders();
244
- headers.etag = String(
245
- headers.Etag || headers.etag || `W/"${hash(body)}"`
246
- );
247
- headers["last-modified"] = String(
248
- headers["Last-Modified"] || headers["last-modified"] || (/* @__PURE__ */ new Date()).toUTCString()
249
- );
250
- const cacheControl = [];
251
- if (opts.swr) {
252
- if (opts.maxAge) {
253
- cacheControl.push(`s-maxage=${opts.maxAge}`);
254
- }
255
- if (opts.staleMaxAge) {
256
- cacheControl.push(`stale-while-revalidate=${opts.staleMaxAge}`);
257
- } else {
258
- cacheControl.push("stale-while-revalidate");
259
- }
260
- } else if (opts.maxAge) {
261
- cacheControl.push(`max-age=${opts.maxAge}`);
262
- }
263
- if (cacheControl.length > 0) {
264
- headers["cache-control"] = cacheControl.join(", ");
265
- }
266
- const cacheEntry = {
267
- code: event.node.res.statusCode,
268
- headers,
269
- body
270
- };
271
- return cacheEntry;
272
- },
273
- _opts
274
- );
275
- return defineEventHandler(async (event) => {
276
- if (opts.headersOnly) {
277
- if (handleCacheHeaders(event, { maxAge: opts.maxAge })) {
278
- return;
279
- }
280
- return handler(event);
281
- }
282
- const response = await _cachedHandler(
283
- event
284
- );
285
- if (event.node.res.headersSent || event.node.res.writableEnded) {
286
- return response.body;
287
- }
288
- if (handleCacheHeaders(event, {
289
- modifiedTime: new Date(response.headers["last-modified"]),
290
- etag: response.headers.etag,
291
- maxAge: opts.maxAge
292
- })) {
293
- return;
294
- }
295
- event.node.res.statusCode = response.code;
296
- for (const name in response.headers) {
297
- const value = response.headers[name];
298
- if (name === "set-cookie") {
299
- event.node.res.appendHeader(
300
- name,
301
- splitCookiesString(value)
302
- );
303
- } else {
304
- if (value !== void 0) {
305
- event.node.res.setHeader(name, value);
306
- }
307
- }
308
- }
309
- return response.body;
310
- });
311
- }
312
- function cloneWithProxy(obj, overrides) {
313
- return new Proxy(obj, {
314
- get(target, property, receiver) {
315
- if (property in overrides) {
316
- return overrides[property];
317
- }
318
- return Reflect.get(target, property, receiver);
319
- },
320
- set(target, property, value, receiver) {
321
- if (property in overrides) {
322
- overrides[property] = value;
323
- return true;
324
- }
325
- return Reflect.set(target, property, value, receiver);
326
- }
327
- });
328
- }
329
- export const cachedEventHandler = defineCachedEventHandler;
@@ -1 +0,0 @@
1
- export {};
@@ -1,4 +0,0 @@
1
- import { $fetch } from "ofetch";
2
- if (!globalThis.$fetch) {
3
- globalThis.$fetch = $fetch;
4
- }
@@ -1,6 +0,0 @@
1
- import { H3Event } from "h3";
2
- import type { NitroRuntimeConfig } from "nitropack/types";
3
- export declare function useRuntimeConfig<T extends NitroRuntimeConfig = NitroRuntimeConfig>(event?: H3Event): T;
4
- export declare function useAppConfig(event?: H3Event): any;
5
- declare const _default: any;
6
- export default _default;