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.
- package/README.md +1 -1
- package/cli.d.ts +1 -1
- package/config.d.ts +1 -1
- package/core.d.ts +1 -1
- package/dist/cli/index.d.mts +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.mjs +1 -18
- package/dist/config/index.d.mts +1 -6
- package/dist/config/index.d.ts +1 -6
- package/dist/config/index.mjs +1 -5
- package/dist/core/index.d.mts +1 -69
- package/dist/core/index.d.ts +1 -69
- package/dist/core/index.mjs +1 -2435
- package/dist/kit/index.d.mts +1 -44
- package/dist/kit/index.d.ts +1 -44
- package/dist/kit/index.mjs +1 -71
- package/dist/meta/index.d.mts +1 -3
- package/dist/meta/index.d.ts +1 -3
- package/dist/meta/index.mjs +1 -3
- package/dist/presets/index.d.mts +1 -1
- package/dist/presets/index.d.ts +1 -2
- package/dist/presets/index.mjs +1 -1
- package/dist/rollup/index.d.mts +1 -5
- package/dist/rollup/index.d.ts +1 -5
- package/dist/rollup/index.mjs +1 -2033
- package/dist/runtime/index.d.mts +1 -0
- package/dist/runtime/index.d.ts +1 -12
- package/dist/runtime/index.mjs +1 -17
- package/dist/types/index.d.mts +1 -260
- package/dist/types/index.d.ts +1 -260
- package/dist/types/index.mjs +1 -1
- package/kit.d.ts +1 -1
- package/meta.d.ts +1 -1
- package/package.json +6 -172
- package/presets.d.ts +1 -1
- package/rollup.d.ts +1 -1
- package/runtime-meta.d.ts +1 -4
- package/runtime-meta.mjs +1 -30
- package/runtime.d.ts +1 -1
- package/types.d.ts +1 -1
- package/dist/cli/build.mjs +0 -47
- package/dist/cli/common.mjs +0 -13
- package/dist/cli/dev.mjs +0 -63
- package/dist/cli/index2.mjs +0 -14
- package/dist/cli/list.mjs +0 -28
- package/dist/cli/prepare.mjs +0 -21
- package/dist/cli/run.mjs +0 -57
- package/dist/presets/_all.gen.d.ts +0 -2
- package/dist/presets/_all.gen.mjs +0 -52
- package/dist/presets/_nitro/base-worker.d.ts +0 -2
- package/dist/presets/_nitro/base-worker.mjs +0 -25
- package/dist/presets/_nitro/nitro-dev.d.ts +0 -2
- package/dist/presets/_nitro/nitro-dev.mjs +0 -19
- package/dist/presets/_nitro/nitro-prerender.d.ts +0 -2
- package/dist/presets/_nitro/nitro-prerender.mjs +0 -17
- package/dist/presets/_nitro/preset.d.ts +0 -2
- package/dist/presets/_nitro/preset.mjs +0 -5
- package/dist/presets/_nitro/runtime/nitro-dev.d.ts +0 -1
- package/dist/presets/_nitro/runtime/nitro-dev.mjs +0 -86
- package/dist/presets/_nitro/runtime/nitro-prerenderer.d.ts +0 -3
- package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +0 -7
- package/dist/presets/_nitro/runtime/service-worker.d.ts +0 -1
- package/dist/presets/_nitro/runtime/service-worker.mjs +0 -31
- package/dist/presets/_nitro/service-worker.d.ts +0 -2
- package/dist/presets/_nitro/service-worker.mjs +0 -110
- package/dist/presets/_resolve.d.ts +0 -8
- package/dist/presets/_resolve.mjs +0 -44
- package/dist/presets/_static/preset.d.ts +0 -2
- package/dist/presets/_static/preset.mjs +0 -69
- package/dist/presets/_types.gen.d.ts +0 -16
- package/dist/presets/_types.gen.mjs +0 -0
- package/dist/presets/alwaysdata/preset.d.ts +0 -2
- package/dist/presets/alwaysdata/preset.mjs +0 -14
- package/dist/presets/aws-amplify/preset.d.ts +0 -3
- package/dist/presets/aws-amplify/preset.mjs +0 -27
- package/dist/presets/aws-amplify/runtime/aws-amplify.d.ts +0 -1
- package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +0 -13
- package/dist/presets/aws-amplify/types.d.ts +0 -141
- package/dist/presets/aws-amplify/types.mjs +0 -0
- package/dist/presets/aws-amplify/utils.d.ts +0 -2
- package/dist/presets/aws-amplify/utils.mjs +0 -82
- package/dist/presets/aws-lambda/preset.d.ts +0 -2
- package/dist/presets/aws-lambda/preset.mjs +0 -21
- package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.ts +0 -15
- package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +0 -53
- package/dist/presets/aws-lambda/runtime/aws-lambda.d.ts +0 -4
- package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +0 -45
- package/dist/presets/azure/preset.d.ts +0 -3
- package/dist/presets/azure/preset.mjs +0 -44
- package/dist/presets/azure/runtime/azure-functions.d.ts +0 -5
- package/dist/presets/azure/runtime/azure-functions.mjs +0 -24
- package/dist/presets/azure/runtime/azure-swa.d.ts +0 -5
- package/dist/presets/azure/runtime/azure-swa.mjs +0 -30
- package/dist/presets/azure/types.d.ts +0 -13
- package/dist/presets/azure/types.mjs +0 -0
- package/dist/presets/azure/utils.d.ts +0 -3
- package/dist/presets/azure/utils.mjs +0 -183
- package/dist/presets/bun/preset.d.ts +0 -2
- package/dist/presets/bun/preset.mjs +0 -17
- package/dist/presets/bun/runtime/bun.d.ts +0 -1
- package/dist/presets/bun/runtime/bun.mjs +0 -32
- package/dist/presets/cleavr/preset.d.ts +0 -2
- package/dist/presets/cleavr/preset.mjs +0 -12
- package/dist/presets/cloudflare/preset.d.ts +0 -3
- package/dist/presets/cloudflare/preset.mjs +0 -145
- package/dist/presets/cloudflare/runtime/cloudflare-module.d.ts +0 -13
- package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +0 -102
- package/dist/presets/cloudflare/runtime/cloudflare-pages.d.ts +0 -20
- package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +0 -55
- package/dist/presets/cloudflare/runtime/cloudflare-worker.d.ts +0 -1
- package/dist/presets/cloudflare/runtime/cloudflare-worker.mjs +0 -63
- package/dist/presets/cloudflare/types.d.ts +0 -89
- package/dist/presets/cloudflare/types.mjs +0 -0
- package/dist/presets/cloudflare/types.wrangler.d.ts +0 -974
- package/dist/presets/cloudflare/types.wrangler.mjs +0 -0
- package/dist/presets/cloudflare/utils.d.ts +0 -3
- package/dist/presets/cloudflare/utils.mjs +0 -163
- package/dist/presets/deno/preset.d.ts +0 -2
- package/dist/presets/deno/preset.mjs +0 -148
- package/dist/presets/deno/runtime/_deno-env-polyfill.d.ts +0 -0
- package/dist/presets/deno/runtime/_deno-env-polyfill.mjs +0 -1
- package/dist/presets/deno/runtime/deno-deploy.d.ts +0 -2
- package/dist/presets/deno/runtime/deno-deploy.mjs +0 -32
- package/dist/presets/deno/runtime/deno-server.d.ts +0 -4
- package/dist/presets/deno/runtime/deno-server.mjs +0 -66
- package/dist/presets/digitalocean/preset.d.ts +0 -2
- package/dist/presets/digitalocean/preset.mjs +0 -11
- package/dist/presets/edgio/preset.d.ts +0 -2
- package/dist/presets/edgio/preset.mjs +0 -95
- package/dist/presets/firebase/preset.d.ts +0 -3
- package/dist/presets/firebase/preset.mjs +0 -51
- package/dist/presets/firebase/runtime/firebase-gen-1.d.ts +0 -2
- package/dist/presets/firebase/runtime/firebase-gen-1.mjs +0 -8
- package/dist/presets/firebase/runtime/firebase-gen-2.d.ts +0 -2
- package/dist/presets/firebase/runtime/firebase-gen-2.mjs +0 -15
- package/dist/presets/firebase/runtime/firebase-gen-default.d.ts +0 -1
- package/dist/presets/firebase/runtime/firebase-gen-default.mjs +0 -1
- package/dist/presets/firebase/types.d.ts +0 -37
- package/dist/presets/firebase/types.mjs +0 -0
- package/dist/presets/firebase/utils.d.ts +0 -3
- package/dist/presets/firebase/utils.mjs +0 -50
- package/dist/presets/flightcontrol/preset.d.ts +0 -2
- package/dist/presets/flightcontrol/preset.mjs +0 -11
- package/dist/presets/heroku/preset.d.ts +0 -2
- package/dist/presets/heroku/preset.mjs +0 -11
- package/dist/presets/iis/preset.d.ts +0 -2
- package/dist/presets/iis/preset.mjs +0 -32
- package/dist/presets/iis/utils.d.ts +0 -3
- package/dist/presets/iis/utils.mjs +0 -159
- package/dist/presets/koyeb/preset.d.ts +0 -2
- package/dist/presets/koyeb/preset.mjs +0 -11
- package/dist/presets/netlify/legacy/preset.d.ts +0 -2
- package/dist/presets/netlify/legacy/preset.mjs +0 -142
- package/dist/presets/netlify/legacy/runtime/_deno-env-polyfill.d.ts +0 -0
- package/dist/presets/netlify/legacy/runtime/_deno-env-polyfill.mjs +0 -1
- package/dist/presets/netlify/legacy/runtime/netlify-builder.d.ts +0 -3
- package/dist/presets/netlify/legacy/runtime/netlify-builder.mjs +0 -5
- package/dist/presets/netlify/legacy/runtime/netlify-edge.d.ts +0 -3
- package/dist/presets/netlify/legacy/runtime/netlify-edge.mjs +0 -26
- package/dist/presets/netlify/legacy/runtime/netlify-lambda.d.ts +0 -4
- package/dist/presets/netlify/legacy/runtime/netlify-lambda.mjs +0 -39
- package/dist/presets/netlify/legacy/runtime/netlify.d.ts +0 -4
- package/dist/presets/netlify/legacy/runtime/netlify.mjs +0 -22
- package/dist/presets/netlify/legacy/utils.d.ts +0 -4
- package/dist/presets/netlify/legacy/utils.mjs +0 -113
- package/dist/presets/netlify/preset.d.ts +0 -3
- package/dist/presets/netlify/preset.mjs +0 -127
- package/dist/presets/netlify/runtime/_deno-env-polyfill.d.ts +0 -0
- package/dist/presets/netlify/runtime/_deno-env-polyfill.mjs +0 -1
- package/dist/presets/netlify/runtime/netlify-edge.d.ts +0 -2
- package/dist/presets/netlify/runtime/netlify-edge.mjs +0 -25
- package/dist/presets/netlify/runtime/netlify.d.ts +0 -4
- package/dist/presets/netlify/runtime/netlify.mjs +0 -54
- package/dist/presets/netlify/types.d.ts +0 -12
- package/dist/presets/netlify/types.mjs +0 -0
- package/dist/presets/netlify/utils.d.ts +0 -5
- package/dist/presets/netlify/utils.mjs +0 -94
- package/dist/presets/node/preset.d.ts +0 -2
- package/dist/presets/node/preset.mjs +0 -49
- package/dist/presets/node/runtime/cli.d.ts +0 -1
- package/dist/presets/node/runtime/cli.mjs +0 -21
- package/dist/presets/node/runtime/cluster.d.ts +0 -1
- package/dist/presets/node/runtime/cluster.mjs +0 -60
- package/dist/presets/node/runtime/node-listener.d.ts +0 -6
- package/dist/presets/node/runtime/node-listener.mjs +0 -15
- package/dist/presets/node/runtime/node-server.d.ts +0 -3
- package/dist/presets/node/runtime/node-server.mjs +0 -44
- package/dist/presets/platform.sh/preset.d.ts +0 -2
- package/dist/presets/platform.sh/preset.mjs +0 -11
- package/dist/presets/render.com/preset.d.ts +0 -2
- package/dist/presets/render.com/preset.mjs +0 -11
- package/dist/presets/stormkit/preset.d.ts +0 -2
- package/dist/presets/stormkit/preset.mjs +0 -15
- package/dist/presets/stormkit/runtime/stormkit.d.ts +0 -21
- package/dist/presets/stormkit/runtime/stormkit.mjs +0 -32
- package/dist/presets/vercel/preset.d.ts +0 -3
- package/dist/presets/vercel/preset.mjs +0 -104
- package/dist/presets/vercel/runtime/vercel-edge.d.ts +0 -2
- package/dist/presets/vercel/runtime/vercel-edge.mjs +0 -22
- package/dist/presets/vercel/runtime/vercel.d.ts +0 -4
- package/dist/presets/vercel/runtime/vercel.mjs +0 -17
- package/dist/presets/vercel/types.d.ts +0 -78
- package/dist/presets/vercel/types.mjs +0 -0
- package/dist/presets/vercel/utils.d.ts +0 -5
- package/dist/presets/vercel/utils.mjs +0 -186
- package/dist/presets/winterjs/preset.d.ts +0 -2
- package/dist/presets/winterjs/preset.mjs +0 -20
- package/dist/presets/winterjs/runtime/winterjs.d.ts +0 -1
- package/dist/presets/winterjs/runtime/winterjs.mjs +0 -69
- package/dist/presets/zeabur/preset.d.ts +0 -2
- package/dist/presets/zeabur/preset.mjs +0 -70
- package/dist/presets/zeabur/runtime/zeabur.d.ts +0 -4
- package/dist/presets/zeabur/runtime/zeabur.mjs +0 -8
- package/dist/runtime/app.d.ts +0 -2
- package/dist/runtime/app.mjs +0 -1
- package/dist/runtime/cache.d.ts +0 -1
- package/dist/runtime/cache.mjs +0 -6
- package/dist/runtime/config.d.ts +0 -1
- package/dist/runtime/config.mjs +0 -1
- package/dist/runtime/context.d.ts +0 -1
- package/dist/runtime/context.mjs +0 -1
- package/dist/runtime/database.d.ts +0 -1
- package/dist/runtime/database.mjs +0 -1
- package/dist/runtime/error.d.ts +0 -1
- package/dist/runtime/error.mjs +0 -1
- package/dist/runtime/internal/app.d.ts +0 -3
- package/dist/runtime/internal/app.mjs +0 -152
- package/dist/runtime/internal/cache.d.ts +0 -8
- package/dist/runtime/internal/cache.mjs +0 -329
- package/dist/runtime/internal/client.d.ts +0 -1
- package/dist/runtime/internal/client.mjs +0 -4
- package/dist/runtime/internal/config.d.ts +0 -6
- package/dist/runtime/internal/config.mjs +0 -58
- package/dist/runtime/internal/context.d.ts +0 -12
- package/dist/runtime/internal/context.mjs +0 -17
- package/dist/runtime/internal/database.d.ts +0 -2
- package/dist/runtime/internal/database.mjs +0 -14
- package/dist/runtime/internal/debug.d.ts +0 -2
- package/dist/runtime/internal/debug.mjs +0 -5
- package/dist/runtime/internal/error.d.ts +0 -4
- package/dist/runtime/internal/error.mjs +0 -71
- package/dist/runtime/internal/index.d.ts +0 -6
- package/dist/runtime/internal/index.mjs +0 -16
- package/dist/runtime/internal/lib/http-graceful-shutdown.d.ts +0 -16
- package/dist/runtime/internal/lib/http-graceful-shutdown.mjs +0 -213
- package/dist/runtime/internal/meta.d.ts +0 -2
- package/dist/runtime/internal/meta.mjs +0 -3
- package/dist/runtime/internal/plugin.d.ts +0 -3
- package/dist/runtime/internal/plugin.mjs +0 -4
- package/dist/runtime/internal/renderer.d.ts +0 -2
- package/dist/runtime/internal/renderer.mjs +0 -38
- package/dist/runtime/internal/route-rules.d.ts +0 -14
- package/dist/runtime/internal/route-rules.mjs +0 -67
- package/dist/runtime/internal/routes/openapi.d.ts +0 -3
- package/dist/runtime/internal/routes/openapi.mjs +0 -85
- package/dist/runtime/internal/routes/scalar.d.ts +0 -2
- package/dist/runtime/internal/routes/scalar.mjs +0 -191
- package/dist/runtime/internal/routes/swagger.d.ts +0 -2
- package/dist/runtime/internal/routes/swagger.mjs +0 -39
- package/dist/runtime/internal/shutdown.d.ts +0 -10
- package/dist/runtime/internal/shutdown.mjs +0 -34
- package/dist/runtime/internal/static.d.ts +0 -2
- package/dist/runtime/internal/static.mjs +0 -89
- package/dist/runtime/internal/storage.d.ts +0 -2
- package/dist/runtime/internal/storage.mjs +0 -5
- package/dist/runtime/internal/task.d.ts +0 -17
- package/dist/runtime/internal/task.mjs +0 -73
- package/dist/runtime/internal/timing.d.ts +0 -2
- package/dist/runtime/internal/timing.mjs +0 -29
- package/dist/runtime/internal/utils.azure.d.ts +0 -2
- package/dist/runtime/internal/utils.azure.mjs +0 -51
- package/dist/runtime/internal/utils.d.ts +0 -23
- package/dist/runtime/internal/utils.env.d.ts +0 -7
- package/dist/runtime/internal/utils.env.mjs +0 -39
- package/dist/runtime/internal/utils.lambda.d.ts +0 -12
- package/dist/runtime/internal/utils.lambda.mjs +0 -30
- package/dist/runtime/internal/utils.mjs +0 -129
- package/dist/runtime/plugin.d.ts +0 -1
- package/dist/runtime/plugin.mjs +0 -1
- package/dist/runtime/storage.d.ts +0 -1
- package/dist/runtime/storage.mjs +0 -1
- package/dist/runtime/task.d.ts +0 -1
- package/dist/runtime/task.mjs +0 -1
- package/dist/runtime/utils.d.ts +0 -1
- package/dist/runtime/utils.mjs +0 -1
- package/dist/shared/nitro.DkCt8MDS.d.mts +0 -588
- 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,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;
|
package/dist/runtime/app.d.ts
DELETED
package/dist/runtime/app.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useNitroApp } from "./internal/app.mjs";
|
package/dist/runtime/cache.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { cachedEventHandler, cachedFunction, defineCachedEventHandler, defineCachedFunction, } from "./internal/cache";
|
package/dist/runtime/cache.mjs
DELETED
package/dist/runtime/config.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useAppConfig, useRuntimeConfig } from "./internal/config";
|
package/dist/runtime/config.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useAppConfig, useRuntimeConfig } from "./internal/config.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useEvent } from "./internal/context";
|
package/dist/runtime/context.mjs
DELETED
|
@@ -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";
|
package/dist/runtime/error.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default } from "./internal/error";
|
package/dist/runtime/error.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default } from "./internal/error.mjs";
|
|
@@ -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,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;
|