nitropack-nightly 2.10.0-28638494.93d002b7 → 3.0.0-beta-28638629.b32e0831-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,113 +0,0 @@
|
|
|
1
|
-
import { existsSync, promises as fsp } from "node:fs";
|
|
2
|
-
import { join } from "pathe";
|
|
3
|
-
export async function writeRedirects(nitro) {
|
|
4
|
-
const redirectsPath = join(nitro.options.output.publicDir, "_redirects");
|
|
5
|
-
const staticFallback = existsSync(
|
|
6
|
-
join(nitro.options.output.publicDir, "404.html")
|
|
7
|
-
) ? "/* /404.html 404" : "";
|
|
8
|
-
let contents = nitro.options.static ? staticFallback : "/* /.netlify/functions/server 200";
|
|
9
|
-
const rules = Object.entries(nitro.options.routeRules).sort(
|
|
10
|
-
(a, b) => a[0].split(/\/(?!\*)/).length - b[0].split(/\/(?!\*)/).length
|
|
11
|
-
);
|
|
12
|
-
if (!nitro.options.static) {
|
|
13
|
-
for (const [key, value] of rules.filter(
|
|
14
|
-
([_, value2]) => value2.isr !== void 0
|
|
15
|
-
)) {
|
|
16
|
-
contents = value.isr ? `${key.replace("/**", "/*")} /.netlify/builders/server 200
|
|
17
|
-
` + contents : `${key.replace("/**", "/*")} /.netlify/functions/server 200
|
|
18
|
-
` + contents;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
for (const [key, routeRules] of rules.filter(
|
|
22
|
-
([_, routeRules2]) => routeRules2.redirect
|
|
23
|
-
)) {
|
|
24
|
-
let code = routeRules.redirect.statusCode;
|
|
25
|
-
if (code === 307) {
|
|
26
|
-
code = 302;
|
|
27
|
-
}
|
|
28
|
-
if (code === 308) {
|
|
29
|
-
code = 301;
|
|
30
|
-
}
|
|
31
|
-
contents = `${key.replace("/**", "/*")} ${routeRules.redirect.to.replace(
|
|
32
|
-
"/**",
|
|
33
|
-
"/:splat"
|
|
34
|
-
)} ${code}
|
|
35
|
-
` + contents;
|
|
36
|
-
}
|
|
37
|
-
if (existsSync(redirectsPath)) {
|
|
38
|
-
const currentRedirects = await fsp.readFile(redirectsPath, "utf8");
|
|
39
|
-
if (/^\/\* /m.test(currentRedirects)) {
|
|
40
|
-
nitro.logger.info(
|
|
41
|
-
"Not adding Nitro fallback to `_redirects` (as an existing fallback was found)."
|
|
42
|
-
);
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
nitro.logger.info(
|
|
46
|
-
"Adding Nitro fallback to `_redirects` to handle all unmatched routes."
|
|
47
|
-
);
|
|
48
|
-
contents = currentRedirects + "\n" + contents;
|
|
49
|
-
}
|
|
50
|
-
await fsp.writeFile(redirectsPath, contents);
|
|
51
|
-
}
|
|
52
|
-
export async function writeHeaders(nitro) {
|
|
53
|
-
const headersPath = join(nitro.options.output.publicDir, "_headers");
|
|
54
|
-
let contents = "";
|
|
55
|
-
const rules = Object.entries(nitro.options.routeRules).sort(
|
|
56
|
-
(a, b) => b[0].split(/\/(?!\*)/).length - a[0].split(/\/(?!\*)/).length
|
|
57
|
-
);
|
|
58
|
-
for (const [path, routeRules] of rules.filter(
|
|
59
|
-
([_, routeRules2]) => routeRules2.headers
|
|
60
|
-
)) {
|
|
61
|
-
const headers = [
|
|
62
|
-
path.replace("/**", "/*"),
|
|
63
|
-
...Object.entries({ ...routeRules.headers }).map(
|
|
64
|
-
([header, value]) => ` ${header}: ${value}`
|
|
65
|
-
)
|
|
66
|
-
].join("\n");
|
|
67
|
-
contents += headers + "\n";
|
|
68
|
-
}
|
|
69
|
-
if (existsSync(headersPath)) {
|
|
70
|
-
const currentHeaders = await fsp.readFile(headersPath, "utf8");
|
|
71
|
-
if (/^\/\* /m.test(currentHeaders)) {
|
|
72
|
-
nitro.logger.info(
|
|
73
|
-
"Not adding Nitro fallback to `_headers` (as an existing fallback was found)."
|
|
74
|
-
);
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
nitro.logger.info(
|
|
78
|
-
"Adding Nitro fallback to `_headers` to handle all unmatched routes."
|
|
79
|
-
);
|
|
80
|
-
contents = currentHeaders + "\n" + contents;
|
|
81
|
-
}
|
|
82
|
-
await fsp.writeFile(headersPath, contents);
|
|
83
|
-
}
|
|
84
|
-
export function deprecateSWR(nitro) {
|
|
85
|
-
if (nitro.options.future.nativeSWR) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
let hasLegacyOptions = false;
|
|
89
|
-
for (const [key, value] of Object.entries(nitro.options.routeRules)) {
|
|
90
|
-
if (_hasProp(value, "isr")) {
|
|
91
|
-
continue;
|
|
92
|
-
}
|
|
93
|
-
if (value.cache === false) {
|
|
94
|
-
value.isr = false;
|
|
95
|
-
}
|
|
96
|
-
if (_hasProp(value, "static")) {
|
|
97
|
-
value.isr = !value.static;
|
|
98
|
-
hasLegacyOptions = true;
|
|
99
|
-
}
|
|
100
|
-
if (value && value.cache && _hasProp(value.cache, "swr")) {
|
|
101
|
-
value.isr = value.cache.swr;
|
|
102
|
-
hasLegacyOptions = true;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
if (hasLegacyOptions) {
|
|
106
|
-
console.warn(
|
|
107
|
-
"[nitro] Nitro now uses `isr` option to configure ISR behavior on Netlify. Backwards-compatible support for `static` and `swr` support with Builder Functions will be removed in the future versions. Set `future.nativeSWR: true` nitro config disable this warning."
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
function _hasProp(obj, prop) {
|
|
112
|
-
return obj && typeof obj === "object" && prop in obj;
|
|
113
|
-
}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { promises as fsp } from "node:fs";
|
|
2
|
-
import { join, dirname } from "pathe";
|
|
3
|
-
import { defineNitroPreset } from "nitropack/kit";
|
|
4
|
-
import {
|
|
5
|
-
generateNetlifyFunction,
|
|
6
|
-
getGeneratorString,
|
|
7
|
-
writeHeaders,
|
|
8
|
-
writeRedirects
|
|
9
|
-
} from "./utils.mjs";
|
|
10
|
-
import netlifyLegacyPresets from "./legacy/preset.mjs";
|
|
11
|
-
const netlify = defineNitroPreset(
|
|
12
|
-
{
|
|
13
|
-
entry: "./runtime/netlify",
|
|
14
|
-
output: {
|
|
15
|
-
dir: "{{ rootDir }}/.netlify/functions-internal",
|
|
16
|
-
publicDir: "{{ rootDir }}/dist"
|
|
17
|
-
},
|
|
18
|
-
rollupConfig: {
|
|
19
|
-
output: {
|
|
20
|
-
entryFileNames: "main.mjs"
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
hooks: {
|
|
24
|
-
async compiled(nitro) {
|
|
25
|
-
await writeHeaders(nitro);
|
|
26
|
-
await writeRedirects(nitro);
|
|
27
|
-
await fsp.writeFile(
|
|
28
|
-
join(nitro.options.output.dir, "server", "server.mjs"),
|
|
29
|
-
generateNetlifyFunction(nitro)
|
|
30
|
-
);
|
|
31
|
-
if (nitro.options.netlify) {
|
|
32
|
-
const configPath = join(
|
|
33
|
-
nitro.options.output.dir,
|
|
34
|
-
"../deploy/v1/config.json"
|
|
35
|
-
);
|
|
36
|
-
await fsp.mkdir(dirname(configPath), { recursive: true });
|
|
37
|
-
await fsp.writeFile(
|
|
38
|
-
configPath,
|
|
39
|
-
JSON.stringify(nitro.options.netlify),
|
|
40
|
-
"utf8"
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
name: "netlify",
|
|
48
|
-
stdName: "netlify",
|
|
49
|
-
url: import.meta.url,
|
|
50
|
-
compatibilityDate: "2024-05-07"
|
|
51
|
-
}
|
|
52
|
-
);
|
|
53
|
-
const netlifyEdge = defineNitroPreset(
|
|
54
|
-
{
|
|
55
|
-
extends: "base-worker",
|
|
56
|
-
entry: "./runtime/netlify-edge",
|
|
57
|
-
exportConditions: ["netlify"],
|
|
58
|
-
output: {
|
|
59
|
-
serverDir: "{{ rootDir }}/.netlify/edge-functions/server",
|
|
60
|
-
publicDir: "{{ rootDir }}/dist"
|
|
61
|
-
},
|
|
62
|
-
rollupConfig: {
|
|
63
|
-
output: {
|
|
64
|
-
entryFileNames: "server.js",
|
|
65
|
-
format: "esm"
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
hooks: {
|
|
69
|
-
async compiled(nitro) {
|
|
70
|
-
await writeHeaders(nitro);
|
|
71
|
-
await writeRedirects(nitro);
|
|
72
|
-
const manifest = {
|
|
73
|
-
version: 1,
|
|
74
|
-
functions: [
|
|
75
|
-
{
|
|
76
|
-
path: "/*",
|
|
77
|
-
name: "edge server handler",
|
|
78
|
-
function: "server",
|
|
79
|
-
generator: getGeneratorString(nitro)
|
|
80
|
-
}
|
|
81
|
-
]
|
|
82
|
-
};
|
|
83
|
-
const manifestPath = join(
|
|
84
|
-
nitro.options.rootDir,
|
|
85
|
-
".netlify/edge-functions/manifest.json"
|
|
86
|
-
);
|
|
87
|
-
await fsp.mkdir(dirname(manifestPath), { recursive: true });
|
|
88
|
-
await fsp.writeFile(manifestPath, JSON.stringify(manifest, null, 2));
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
name: "netlify-edge",
|
|
94
|
-
url: import.meta.url,
|
|
95
|
-
compatibilityDate: "2024-05-07"
|
|
96
|
-
}
|
|
97
|
-
);
|
|
98
|
-
const netlifyStatic = defineNitroPreset(
|
|
99
|
-
{
|
|
100
|
-
extends: "static",
|
|
101
|
-
output: {
|
|
102
|
-
publicDir: "{{ rootDir }}/dist"
|
|
103
|
-
},
|
|
104
|
-
commands: {
|
|
105
|
-
preview: "npx serve ./static"
|
|
106
|
-
},
|
|
107
|
-
hooks: {
|
|
108
|
-
async compiled(nitro) {
|
|
109
|
-
await writeHeaders(nitro);
|
|
110
|
-
await writeRedirects(nitro);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
name: "netlify-static",
|
|
116
|
-
stdName: "netlify",
|
|
117
|
-
static: true,
|
|
118
|
-
url: import.meta.url,
|
|
119
|
-
compatibilityDate: "2024-05-07"
|
|
120
|
-
}
|
|
121
|
-
);
|
|
122
|
-
export default [
|
|
123
|
-
...netlifyLegacyPresets,
|
|
124
|
-
netlify,
|
|
125
|
-
netlifyEdge,
|
|
126
|
-
netlifyStatic
|
|
127
|
-
];
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.assign(process.env, Deno.env.toObject());
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import "#nitro-internal-pollyfills";
|
|
2
|
-
import { useNitroApp } from "nitropack/runtime";
|
|
3
|
-
import { isPublicAssetURL } from "#nitro-internal-virtual/public-assets";
|
|
4
|
-
const nitroApp = useNitroApp();
|
|
5
|
-
export default async function netlifyEdge(request, _context) {
|
|
6
|
-
const url = new URL(request.url);
|
|
7
|
-
if (isPublicAssetURL(url.pathname)) {
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
if (!request.headers.has("x-forwarded-proto") && url.protocol === "https:") {
|
|
11
|
-
request.headers.set("x-forwarded-proto", "https");
|
|
12
|
-
}
|
|
13
|
-
let body;
|
|
14
|
-
if (request.body) {
|
|
15
|
-
body = await request.arrayBuffer();
|
|
16
|
-
}
|
|
17
|
-
return nitroApp.localFetch(url.pathname + url.search, {
|
|
18
|
-
host: url.hostname,
|
|
19
|
-
protocol: url.protocol,
|
|
20
|
-
headers: request.headers,
|
|
21
|
-
method: request.method,
|
|
22
|
-
redirect: request.redirect,
|
|
23
|
-
body
|
|
24
|
-
});
|
|
25
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import "#nitro-internal-pollyfills";
|
|
2
|
-
import "./_deno-env-polyfill";
|
|
3
|
-
import { useNitroApp } from "nitropack/runtime";
|
|
4
|
-
import {
|
|
5
|
-
getRouteRulesForPath,
|
|
6
|
-
joinHeaders,
|
|
7
|
-
normalizeCookieHeader
|
|
8
|
-
} from "nitropack/runtime/internal";
|
|
9
|
-
const nitroApp = useNitroApp();
|
|
10
|
-
const handler = async (req) => {
|
|
11
|
-
const url = new URL(req.url);
|
|
12
|
-
const relativeUrl = `${url.pathname}${url.search}`;
|
|
13
|
-
const r = await nitroApp.localCall({
|
|
14
|
-
url: relativeUrl,
|
|
15
|
-
headers: req.headers,
|
|
16
|
-
method: req.method,
|
|
17
|
-
body: req.body
|
|
18
|
-
});
|
|
19
|
-
const headers = normalizeResponseHeaders({
|
|
20
|
-
...getCacheHeaders(url.pathname),
|
|
21
|
-
...r.headers
|
|
22
|
-
});
|
|
23
|
-
return new Response(r.body, {
|
|
24
|
-
status: r.status,
|
|
25
|
-
headers
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
export default handler;
|
|
29
|
-
const ONE_YEAR_IN_SECONDS = 365 * 24 * 60 * 60;
|
|
30
|
-
function normalizeResponseHeaders(headers) {
|
|
31
|
-
const outgoingHeaders = new Headers();
|
|
32
|
-
for (const [name, header] of Object.entries(headers)) {
|
|
33
|
-
if (name === "set-cookie") {
|
|
34
|
-
for (const cookie of normalizeCookieHeader(header)) {
|
|
35
|
-
outgoingHeaders.append("set-cookie", cookie);
|
|
36
|
-
}
|
|
37
|
-
} else if (header !== void 0) {
|
|
38
|
-
outgoingHeaders.set(name, joinHeaders(header));
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return outgoingHeaders;
|
|
42
|
-
}
|
|
43
|
-
function getCacheHeaders(url) {
|
|
44
|
-
const { isr } = getRouteRulesForPath(url);
|
|
45
|
-
if (isr) {
|
|
46
|
-
const maxAge = typeof isr === "number" ? isr : ONE_YEAR_IN_SECONDS;
|
|
47
|
-
const revalidateDirective = typeof isr === "number" ? `stale-while-revalidate=${ONE_YEAR_IN_SECONDS}` : "must-revalidate";
|
|
48
|
-
return {
|
|
49
|
-
"Cache-Control": "public, max-age=0, must-revalidate",
|
|
50
|
-
"Netlify-CDN-Cache-Control": `public, max-age=${maxAge}, ${revalidateDirective}`
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
return {};
|
|
54
|
-
}
|
|
File without changes
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Nitro } from "nitropack/types";
|
|
2
|
-
export declare function writeRedirects(nitro: Nitro): Promise<void>;
|
|
3
|
-
export declare function writeHeaders(nitro: Nitro): Promise<void>;
|
|
4
|
-
export declare function generateNetlifyFunction(nitro: Nitro): string;
|
|
5
|
-
export declare function getGeneratorString(nitro: Nitro): string;
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { existsSync, promises as fsp } from "node:fs";
|
|
2
|
-
import { join } from "pathe";
|
|
3
|
-
export async function writeRedirects(nitro) {
|
|
4
|
-
const redirectsPath = join(nitro.options.output.publicDir, "_redirects");
|
|
5
|
-
let contents = "";
|
|
6
|
-
if (nitro.options.static) {
|
|
7
|
-
const staticFallback = existsSync(
|
|
8
|
-
join(nitro.options.output.publicDir, "404.html")
|
|
9
|
-
) ? "/* /404.html 404" : "";
|
|
10
|
-
contents += staticFallback;
|
|
11
|
-
}
|
|
12
|
-
const rules = Object.entries(nitro.options.routeRules).sort(
|
|
13
|
-
(a, b) => a[0].split(/\/(?!\*)/).length - b[0].split(/\/(?!\*)/).length
|
|
14
|
-
);
|
|
15
|
-
for (const [key, routeRules] of rules.filter(
|
|
16
|
-
([_, routeRules2]) => routeRules2.redirect
|
|
17
|
-
)) {
|
|
18
|
-
let code = routeRules.redirect.statusCode;
|
|
19
|
-
if (code === 307) {
|
|
20
|
-
code = 302;
|
|
21
|
-
}
|
|
22
|
-
if (code === 308) {
|
|
23
|
-
code = 301;
|
|
24
|
-
}
|
|
25
|
-
contents = `${key.replace("/**", "/*")} ${routeRules.redirect.to.replace(
|
|
26
|
-
"/**",
|
|
27
|
-
"/:splat"
|
|
28
|
-
)} ${code}
|
|
29
|
-
` + contents;
|
|
30
|
-
}
|
|
31
|
-
if (existsSync(redirectsPath)) {
|
|
32
|
-
const currentRedirects = await fsp.readFile(redirectsPath, "utf8");
|
|
33
|
-
if (/^\/\* /m.test(currentRedirects)) {
|
|
34
|
-
nitro.logger.info(
|
|
35
|
-
"Not adding Nitro fallback to `_redirects` (as an existing fallback was found)."
|
|
36
|
-
);
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
nitro.logger.info(
|
|
40
|
-
"Adding Nitro fallback to `_redirects` to handle all unmatched routes."
|
|
41
|
-
);
|
|
42
|
-
contents = currentRedirects + "\n" + contents;
|
|
43
|
-
}
|
|
44
|
-
await fsp.writeFile(redirectsPath, contents);
|
|
45
|
-
}
|
|
46
|
-
export async function writeHeaders(nitro) {
|
|
47
|
-
const headersPath = join(nitro.options.output.publicDir, "_headers");
|
|
48
|
-
let contents = "";
|
|
49
|
-
const rules = Object.entries(nitro.options.routeRules).sort(
|
|
50
|
-
(a, b) => b[0].split(/\/(?!\*)/).length - a[0].split(/\/(?!\*)/).length
|
|
51
|
-
);
|
|
52
|
-
for (const [path, routeRules] of rules.filter(
|
|
53
|
-
([_, routeRules2]) => routeRules2.headers
|
|
54
|
-
)) {
|
|
55
|
-
const headers = [
|
|
56
|
-
path.replace("/**", "/*"),
|
|
57
|
-
...Object.entries({ ...routeRules.headers }).map(
|
|
58
|
-
([header, value]) => ` ${header}: ${value}`
|
|
59
|
-
)
|
|
60
|
-
].join("\n");
|
|
61
|
-
contents += headers + "\n";
|
|
62
|
-
}
|
|
63
|
-
if (existsSync(headersPath)) {
|
|
64
|
-
const currentHeaders = await fsp.readFile(headersPath, "utf8");
|
|
65
|
-
if (/^\/\* /m.test(currentHeaders)) {
|
|
66
|
-
nitro.logger.info(
|
|
67
|
-
"Not adding Nitro fallback to `_headers` (as an existing fallback was found)."
|
|
68
|
-
);
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
nitro.logger.info(
|
|
72
|
-
"Adding Nitro fallback to `_headers` to handle all unmatched routes."
|
|
73
|
-
);
|
|
74
|
-
contents = currentHeaders + "\n" + contents;
|
|
75
|
-
}
|
|
76
|
-
await fsp.writeFile(headersPath, contents);
|
|
77
|
-
}
|
|
78
|
-
export function generateNetlifyFunction(nitro) {
|
|
79
|
-
return (
|
|
80
|
-
/* js */
|
|
81
|
-
`
|
|
82
|
-
export { default } from "./main.mjs";
|
|
83
|
-
export const config = {
|
|
84
|
-
name: "server handler",
|
|
85
|
-
generator: "${getGeneratorString(nitro)}",
|
|
86
|
-
path: "/*",
|
|
87
|
-
preferStatic: true,
|
|
88
|
-
};
|
|
89
|
-
`.trim()
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
export function getGeneratorString(nitro) {
|
|
93
|
-
return `${nitro.options.framework.name}@${nitro.options.framework.version}`;
|
|
94
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { defineNitroPreset } from "nitropack/kit";
|
|
2
|
-
const node = defineNitroPreset(
|
|
3
|
-
{
|
|
4
|
-
entry: "./runtime/node-listener"
|
|
5
|
-
},
|
|
6
|
-
{
|
|
7
|
-
name: "node-listener",
|
|
8
|
-
aliases: ["node"],
|
|
9
|
-
url: import.meta.url
|
|
10
|
-
}
|
|
11
|
-
);
|
|
12
|
-
const nodeServer = defineNitroPreset(
|
|
13
|
-
{
|
|
14
|
-
extends: "node",
|
|
15
|
-
entry: "./runtime/node-server",
|
|
16
|
-
serveStatic: true,
|
|
17
|
-
commands: {
|
|
18
|
-
preview: "node ./server/index.mjs"
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
name: "node-server",
|
|
23
|
-
url: import.meta.url
|
|
24
|
-
}
|
|
25
|
-
);
|
|
26
|
-
const nodeCluster = defineNitroPreset(
|
|
27
|
-
{
|
|
28
|
-
extends: "node-server",
|
|
29
|
-
entry: "./runtime/node-cluster"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
name: "node-cluster",
|
|
33
|
-
url: import.meta.url
|
|
34
|
-
}
|
|
35
|
-
);
|
|
36
|
-
const cli = defineNitroPreset(
|
|
37
|
-
{
|
|
38
|
-
extends: "node",
|
|
39
|
-
entry: "./runtime/cli",
|
|
40
|
-
commands: {
|
|
41
|
-
preview: "Run with node ./server/index.mjs [route]"
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
name: "cli",
|
|
46
|
-
url: import.meta.url
|
|
47
|
-
}
|
|
48
|
-
);
|
|
49
|
-
export default [node, nodeServer, nodeCluster, cli];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "#nitro-internal-pollyfills";
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import "#nitro-internal-pollyfills";
|
|
2
|
-
import { useNitroApp } from "nitropack/runtime";
|
|
3
|
-
const nitroApp = useNitroApp();
|
|
4
|
-
async function cli() {
|
|
5
|
-
const url = process.argv[2] || "/";
|
|
6
|
-
const debug = (label, ...args) => console.debug(`> ${label}:`, ...args);
|
|
7
|
-
const r = await nitroApp.localCall({ url });
|
|
8
|
-
debug("URL", url);
|
|
9
|
-
debug("StatusCode", r.status);
|
|
10
|
-
debug("StatusMessage", r.statusText);
|
|
11
|
-
for (const header of r.headers.entries()) {
|
|
12
|
-
debug(header[0], header[1]);
|
|
13
|
-
}
|
|
14
|
-
console.log("\n", r.body?.toString());
|
|
15
|
-
}
|
|
16
|
-
if (require.main === module) {
|
|
17
|
-
cli().catch((error) => {
|
|
18
|
-
console.error(error);
|
|
19
|
-
process.exit(1);
|
|
20
|
-
});
|
|
21
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import os from "node:os";
|
|
2
|
-
import cluster from "node:cluster";
|
|
3
|
-
import {
|
|
4
|
-
trapUnhandledNodeErrors,
|
|
5
|
-
getGracefulShutdownConfig
|
|
6
|
-
} from "nitropack/runtime/internal";
|
|
7
|
-
function runMaster() {
|
|
8
|
-
const numberOfWorkers = Number.parseInt(process.env.NITRO_CLUSTER_WORKERS || "") || (os.cpus().length > 0 ? os.cpus().length : 1);
|
|
9
|
-
for (let i = 0; i < numberOfWorkers; i++) {
|
|
10
|
-
cluster.fork();
|
|
11
|
-
}
|
|
12
|
-
let isShuttingDown = false;
|
|
13
|
-
cluster.on("exit", () => {
|
|
14
|
-
if (!isShuttingDown) {
|
|
15
|
-
cluster.fork();
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
const shutdownConfig = getGracefulShutdownConfig();
|
|
19
|
-
if (!shutdownConfig.disabled) {
|
|
20
|
-
async function onShutdown() {
|
|
21
|
-
if (isShuttingDown) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
isShuttingDown = true;
|
|
25
|
-
await new Promise((resolve) => {
|
|
26
|
-
const timeout = setTimeout(() => {
|
|
27
|
-
console.warn(
|
|
28
|
-
"[nitro] [cluster] Timeout reached for graceful shutdown. Forcing exit."
|
|
29
|
-
);
|
|
30
|
-
resolve();
|
|
31
|
-
}, shutdownConfig.timeout);
|
|
32
|
-
cluster.on("exit", () => {
|
|
33
|
-
if (Object.values(cluster.workers || {}).every((w) => !w || w.isDead())) {
|
|
34
|
-
clearTimeout(timeout);
|
|
35
|
-
resolve();
|
|
36
|
-
} else {
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
if (shutdownConfig.forceExit) {
|
|
41
|
-
process.exit(0);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
for (const signal of shutdownConfig.signals) {
|
|
45
|
-
process.once(signal, onShutdown);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
function runWorker() {
|
|
50
|
-
import("./node-server.mjs").catch((error) => {
|
|
51
|
-
console.error(error);
|
|
52
|
-
process.exit(1);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
trapUnhandledNodeErrors();
|
|
56
|
-
if (cluster.isPrimary) {
|
|
57
|
-
runMaster();
|
|
58
|
-
} else {
|
|
59
|
-
runWorker();
|
|
60
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import "#nitro-internal-pollyfills";
|
|
2
|
-
export declare const listener: import("h3").NodeListener;
|
|
3
|
-
/** @experimental */
|
|
4
|
-
export declare const websocket: any;
|
|
5
|
-
/** @deprecated use new `listener` export instead */
|
|
6
|
-
export declare const handler: import("h3").NodeListener;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import "#nitro-internal-pollyfills";
|
|
2
|
-
import { toNodeListener } from "h3";
|
|
3
|
-
import { useNitroApp } from "nitropack/runtime";
|
|
4
|
-
import {
|
|
5
|
-
startScheduleRunner,
|
|
6
|
-
trapUnhandledNodeErrors
|
|
7
|
-
} from "nitropack/runtime/internal";
|
|
8
|
-
const nitroApp = useNitroApp();
|
|
9
|
-
export const listener = toNodeListener(nitroApp.h3App);
|
|
10
|
-
export const websocket = import.meta._websocket ? nitroApp.h3App.websocket : void 0;
|
|
11
|
-
export const handler = listener;
|
|
12
|
-
trapUnhandledNodeErrors();
|
|
13
|
-
if (import.meta._tasks) {
|
|
14
|
-
startScheduleRunner();
|
|
15
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import "#nitro-internal-pollyfills";
|
|
2
|
-
import { Server as HttpServer } from "node:http";
|
|
3
|
-
import { Server as HttpsServer } from "node:https";
|
|
4
|
-
import destr from "destr";
|
|
5
|
-
import { toNodeListener } from "h3";
|
|
6
|
-
import wsAdapter from "crossws/adapters/node";
|
|
7
|
-
import { useNitroApp, useRuntimeConfig } from "nitropack/runtime";
|
|
8
|
-
import {
|
|
9
|
-
setupGracefulShutdown,
|
|
10
|
-
startScheduleRunner,
|
|
11
|
-
trapUnhandledNodeErrors
|
|
12
|
-
} from "nitropack/runtime/internal";
|
|
13
|
-
const cert = process.env.NITRO_SSL_CERT;
|
|
14
|
-
const key = process.env.NITRO_SSL_KEY;
|
|
15
|
-
const nitroApp = useNitroApp();
|
|
16
|
-
const server = cert && key ? new HttpsServer({ key, cert }, toNodeListener(nitroApp.h3App)) : new HttpServer(toNodeListener(nitroApp.h3App));
|
|
17
|
-
const port = destr(process.env.NITRO_PORT || process.env.PORT) || 3e3;
|
|
18
|
-
const host = process.env.NITRO_HOST || process.env.HOST;
|
|
19
|
-
const path = process.env.NITRO_UNIX_SOCKET;
|
|
20
|
-
const listener = server.listen(path ? { path } : { port, host }, (err) => {
|
|
21
|
-
if (err) {
|
|
22
|
-
console.error(err);
|
|
23
|
-
process.exit(1);
|
|
24
|
-
}
|
|
25
|
-
const protocol = cert && key ? "https" : "http";
|
|
26
|
-
const addressInfo = listener.address();
|
|
27
|
-
if (typeof addressInfo === "string") {
|
|
28
|
-
console.log(`Listening on unix socket ${addressInfo}`);
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const baseURL = (useRuntimeConfig().app.baseURL || "").replace(/\/$/, "");
|
|
32
|
-
const url = `${protocol}://${addressInfo.family === "IPv6" ? `[${addressInfo.address}]` : addressInfo.address}:${addressInfo.port}${baseURL}`;
|
|
33
|
-
console.log(`Listening on ${url}`);
|
|
34
|
-
});
|
|
35
|
-
trapUnhandledNodeErrors();
|
|
36
|
-
setupGracefulShutdown(listener, nitroApp);
|
|
37
|
-
if (import.meta._websocket) {
|
|
38
|
-
const { handleUpgrade } = wsAdapter(nitroApp.h3App.websocket);
|
|
39
|
-
server.on("upgrade", handleUpgrade);
|
|
40
|
-
}
|
|
41
|
-
if (import.meta._tasks) {
|
|
42
|
-
startScheduleRunner();
|
|
43
|
-
}
|
|
44
|
-
export default {};
|