nitro-nightly 3.0.1-20260121-180512-722efdcf → 3.0.1-20260121-183047-b2b37883
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/dist/_build/common.mjs +4 -4
- package/dist/presets/_nitro/runtime/nitro-dev.mjs +1 -2
- package/dist/presets/bun/runtime/bun.mjs +3 -4
- package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +6 -7
- package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +2 -3
- package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +2 -3
- package/dist/presets/deno/runtime/deno-deploy.mjs +2 -3
- package/dist/presets/deno/runtime/deno-server.mjs +1 -2
- package/dist/presets/node/runtime/node-cluster.mjs +1 -2
- package/dist/presets/node/runtime/node-middleware.mjs +1 -2
- package/dist/presets/node/runtime/node-server.mjs +1 -2
- package/dist/runtime/internal/vite/dev-entry.mjs +1 -2
- package/dist/runtime/virtual/feature-flags.d.mts +0 -1
- package/dist/runtime/virtual/feature-flags.mjs +0 -1
- package/dist/types/index.d.mts +1 -0
- package/package.json +1 -1
package/dist/_build/common.mjs
CHANGED
|
@@ -17408,7 +17408,8 @@ function baseBuildConfig(nitro) {
|
|
|
17408
17408
|
client: false,
|
|
17409
17409
|
baseURL: nitro.options.baseURL,
|
|
17410
17410
|
_asyncContext: nitro.options.experimental.asyncContext,
|
|
17411
|
-
_tasks: nitro.options.experimental.tasks
|
|
17411
|
+
_tasks: nitro.options.experimental.tasks,
|
|
17412
|
+
_websocket: nitro.options.features.websocket ?? nitro.options.experimental.websocket
|
|
17412
17413
|
};
|
|
17413
17414
|
const replacements = {
|
|
17414
17415
|
...Object.fromEntries(Object.entries(importMetaInjections).map(([key, val]) => [`import.meta.${key}`, JSON.stringify(val)])),
|
|
@@ -17469,7 +17470,7 @@ function libChunkName(id) {
|
|
|
17469
17470
|
}
|
|
17470
17471
|
function getChunkName(chunk, nitro) {
|
|
17471
17472
|
if (chunk.name === "rolldown-runtime") return "_runtime.mjs";
|
|
17472
|
-
if (chunk.moduleIds.every((id) => id
|
|
17473
|
+
if (chunk.moduleIds.every((id) => /node_modules[/\\]\w/.test(id))) {
|
|
17473
17474
|
const pkgNames = [...new Set(chunk.moduleIds.map((id) => id.match(/.*[/\\]node_modules[/\\](?<package>@[^/\\]+[/\\][^/\\]+|[^/\\]+)/)?.groups?.package).filter(Boolean).map((name) => name.split(/[/\\]/).pop()).filter(Boolean))].sort((a$1, b$2) => a$1.length - b$2.length);
|
|
17474
17475
|
let chunkName = "";
|
|
17475
17476
|
for (const name of pkgNames) {
|
|
@@ -17571,8 +17572,7 @@ function featureFlags(nitro) {
|
|
|
17571
17572
|
hasRoutedMiddleware: nitro.routing.routedMiddleware.hasRoutes(),
|
|
17572
17573
|
hasGlobalMiddleware: nitro.routing.globalMiddleware.length > 0,
|
|
17573
17574
|
hasPlugins: nitro.options.plugins.length > 0,
|
|
17574
|
-
hasHooks: nitro.options.features?.runtimeHooks ?? nitro.options.plugins.length > 0
|
|
17575
|
-
hasWebSocket: nitro.options.features?.websocket ?? nitro.options.experimental.websocket ?? false
|
|
17575
|
+
hasHooks: nitro.options.features?.runtimeHooks ?? nitro.options.plugins.length > 0
|
|
17576
17576
|
};
|
|
17577
17577
|
return Object.entries(featureFlags).map(([key, value]) => `export const ${key} = ${Boolean(value)};`).join("\n");
|
|
17578
17578
|
}
|
|
@@ -8,7 +8,6 @@ import { useNitroApp, useNitroHooks } from "nitro/app";
|
|
|
8
8
|
import { startScheduleRunner } from "#nitro/runtime/task";
|
|
9
9
|
import { trapUnhandledErrors } from "#nitro/runtime/error/hooks";
|
|
10
10
|
import { resolveWebsocketHooks } from "#nitro/runtime/app";
|
|
11
|
-
import { hasWebSocket } from "#nitro/virtual/feature-flags";
|
|
12
11
|
// Listen for shutdown signal from runner
|
|
13
12
|
parentPort?.on("message", (msg) => {
|
|
14
13
|
if (msg && msg.event === "shutdown") {
|
|
@@ -25,7 +24,7 @@ listen().catch((error) => {
|
|
|
25
24
|
return shutdown();
|
|
26
25
|
});
|
|
27
26
|
// https://crossws.unjs.io/adapters/node
|
|
28
|
-
if (
|
|
27
|
+
if (import.meta._websocket) {
|
|
29
28
|
const { handleUpgrade } = wsAdapter({ resolve: resolveWebsocketHooks });
|
|
30
29
|
server.on("upgrade", handleUpgrade);
|
|
31
30
|
}
|
|
@@ -5,7 +5,6 @@ import { useNitroApp } from "nitro/app";
|
|
|
5
5
|
import { startScheduleRunner } from "#nitro/runtime/task";
|
|
6
6
|
import { trapUnhandledErrors } from "#nitro/runtime/error/hooks";
|
|
7
7
|
import { resolveWebsocketHooks } from "#nitro/runtime/app";
|
|
8
|
-
import { hasWebSocket } from "#nitro/virtual/feature-flags";
|
|
9
8
|
const port = Number.parseInt(process.env.NITRO_PORT || process.env.PORT || "") || 3e3;
|
|
10
9
|
const host = process.env.NITRO_HOST || process.env.HOST;
|
|
11
10
|
const cert = process.env.NITRO_SSL_CERT;
|
|
@@ -13,8 +12,8 @@ const key = process.env.NITRO_SSL_KEY;
|
|
|
13
12
|
// const socketPath = process.env.NITRO_UNIX_SOCKET; // TODO
|
|
14
13
|
const nitroApp = useNitroApp();
|
|
15
14
|
let _fetch = nitroApp.fetch;
|
|
16
|
-
const ws =
|
|
17
|
-
if (
|
|
15
|
+
const ws = import.meta._websocket ? wsAdapter({ resolve: resolveWebsocketHooks }) : undefined;
|
|
16
|
+
if (import.meta._websocket) {
|
|
18
17
|
_fetch = (req) => {
|
|
19
18
|
if (req.headers.get("upgrade") === "websocket") {
|
|
20
19
|
return ws.handleUpgrade(req, req.runtime.bun.server);
|
|
@@ -30,7 +29,7 @@ serve({
|
|
|
30
29
|
key
|
|
31
30
|
} : undefined,
|
|
32
31
|
fetch: _fetch,
|
|
33
|
-
bun: { websocket:
|
|
32
|
+
bun: { websocket: import.meta._websocket ? ws?.websocket : undefined }
|
|
34
33
|
});
|
|
35
34
|
trapUnhandledErrors();
|
|
36
35
|
// Scheduled tasks
|
|
@@ -5,7 +5,6 @@ import { createHandler, augmentReq } from "./_module-handler.mjs";
|
|
|
5
5
|
import { useNitroApp, useNitroHooks } from "nitro/app";
|
|
6
6
|
import { isPublicAssetURL } from "#nitro/virtual/public-assets";
|
|
7
7
|
import { resolveWebsocketHooks } from "#nitro/runtime/app";
|
|
8
|
-
import { hasWebSocket } from "#nitro/virtual/feature-flags";
|
|
9
8
|
const DURABLE_BINDING = "$DurableObject";
|
|
10
9
|
const DURABLE_INSTANCE = "server";
|
|
11
10
|
const nitroApp = useNitroApp();
|
|
@@ -18,7 +17,7 @@ const getDurableStub = (env) => {
|
|
|
18
17
|
const id = binding.idFromName(DURABLE_INSTANCE);
|
|
19
18
|
return binding.get(id);
|
|
20
19
|
};
|
|
21
|
-
const ws =
|
|
20
|
+
const ws = import.meta._websocket ? wsAdapter({
|
|
22
21
|
resolve: resolveWebsocketHooks,
|
|
23
22
|
instanceName: DURABLE_INSTANCE,
|
|
24
23
|
bindingName: DURABLE_BINDING
|
|
@@ -32,7 +31,7 @@ export default createHandler({ fetch(request, env, context, url, ctxExt) {
|
|
|
32
31
|
ctxExt.durableFetch = (req = request) => getDurableStub(env).fetch(req);
|
|
33
32
|
// Websocket upgrade
|
|
34
33
|
// https://crossws.unjs.io/adapters/cloudflare#durable-objects
|
|
35
|
-
if (
|
|
34
|
+
if (import.meta._websocket && request.headers.get("upgrade") === "websocket") {
|
|
36
35
|
return ws.handleUpgrade(request, env, context);
|
|
37
36
|
}
|
|
38
37
|
} });
|
|
@@ -43,7 +42,7 @@ export class $DurableObject extends DurableObject {
|
|
|
43
42
|
state,
|
|
44
43
|
env
|
|
45
44
|
}) || Promise.resolve());
|
|
46
|
-
if (
|
|
45
|
+
if (import.meta._websocket) {
|
|
47
46
|
ws.handleDurableInit(this, state, env);
|
|
48
47
|
}
|
|
49
48
|
}
|
|
@@ -52,7 +51,7 @@ export class $DurableObject extends DurableObject {
|
|
|
52
51
|
env: this.env,
|
|
53
52
|
context: this.ctx
|
|
54
53
|
});
|
|
55
|
-
if (
|
|
54
|
+
if (import.meta._websocket && request.headers.get("upgrade") === "websocket") {
|
|
56
55
|
return ws.handleDurableUpgrade(this, request);
|
|
57
56
|
}
|
|
58
57
|
return nitroApp.fetch(request);
|
|
@@ -61,12 +60,12 @@ export class $DurableObject extends DurableObject {
|
|
|
61
60
|
this.ctx.waitUntil(nitroHooks.callHook("cloudflare:durable:alarm", this) || Promise.resolve());
|
|
62
61
|
}
|
|
63
62
|
async webSocketMessage(client, message) {
|
|
64
|
-
if (
|
|
63
|
+
if (import.meta._websocket) {
|
|
65
64
|
return ws.handleDurableMessage(this, client, message);
|
|
66
65
|
}
|
|
67
66
|
}
|
|
68
67
|
async webSocketClose(client, code, reason, wasClean) {
|
|
69
|
-
if (
|
|
68
|
+
if (import.meta._websocket) {
|
|
70
69
|
return ws.handleDurableClose(this, client, code, reason, wasClean);
|
|
71
70
|
}
|
|
72
71
|
}
|
|
@@ -3,8 +3,7 @@ import wsAdapter from "crossws/adapters/cloudflare";
|
|
|
3
3
|
import { isPublicAssetURL } from "#nitro/virtual/public-assets";
|
|
4
4
|
import { createHandler } from "./_module-handler.mjs";
|
|
5
5
|
import { resolveWebsocketHooks } from "#nitro/runtime/app";
|
|
6
|
-
import {
|
|
7
|
-
const ws = hasWebSocket ? wsAdapter({ resolve: resolveWebsocketHooks }) : undefined;
|
|
6
|
+
const ws = import.meta._websocket ? wsAdapter({ resolve: resolveWebsocketHooks }) : undefined;
|
|
8
7
|
export default createHandler({ fetch(cfRequest, env, context, url) {
|
|
9
8
|
// Static assets fallback (optional binding)
|
|
10
9
|
if (env.ASSETS && isPublicAssetURL(url.pathname)) {
|
|
@@ -12,7 +11,7 @@ export default createHandler({ fetch(cfRequest, env, context, url) {
|
|
|
12
11
|
}
|
|
13
12
|
// Websocket upgrade
|
|
14
13
|
// https://crossws.unjs.io/adapters/cloudflare
|
|
15
|
-
if (
|
|
14
|
+
if (import.meta._websocket && cfRequest.headers.get("upgrade") === "websocket") {
|
|
16
15
|
return ws.handleUpgrade(cfRequest, env, context);
|
|
17
16
|
}
|
|
18
17
|
} });
|
|
@@ -4,10 +4,9 @@ import { useNitroApp } from "nitro/app";
|
|
|
4
4
|
import { isPublicAssetURL } from "#nitro/virtual/public-assets";
|
|
5
5
|
import { runCronTasks } from "#nitro/runtime/task";
|
|
6
6
|
import { resolveWebsocketHooks } from "#nitro/runtime/app";
|
|
7
|
-
import { hasWebSocket } from "#nitro/virtual/feature-flags";
|
|
8
7
|
import { augmentReq } from "./_module-handler.mjs";
|
|
9
8
|
const nitroApp = useNitroApp();
|
|
10
|
-
const ws =
|
|
9
|
+
const ws = import.meta._websocket ? wsAdapter({ resolve: resolveWebsocketHooks }) : undefined;
|
|
11
10
|
export default {
|
|
12
11
|
async fetch(cfReq, env, context) {
|
|
13
12
|
augmentReq(cfReq, {
|
|
@@ -16,7 +15,7 @@ export default {
|
|
|
16
15
|
});
|
|
17
16
|
// Websocket upgrade
|
|
18
17
|
// https://crossws.unjs.io/adapters/cloudflare
|
|
19
|
-
if (
|
|
18
|
+
if (import.meta._websocket && cfReq.headers.get("upgrade") === "websocket") {
|
|
20
19
|
return ws.handleUpgrade(cfReq, env, context);
|
|
21
20
|
}
|
|
22
21
|
const url = new URL(cfReq.url);
|
|
@@ -2,9 +2,8 @@ import "#nitro/virtual/polyfills";
|
|
|
2
2
|
import wsAdapter from "crossws/adapters/deno";
|
|
3
3
|
import { useNitroApp } from "nitro/app";
|
|
4
4
|
import { resolveWebsocketHooks } from "#nitro/runtime/app";
|
|
5
|
-
import { hasWebSocket } from "#nitro/virtual/feature-flags";
|
|
6
5
|
const nitroApp = useNitroApp();
|
|
7
|
-
const ws =
|
|
6
|
+
const ws = import.meta._websocket ? wsAdapter({ resolve: resolveWebsocketHooks }) : undefined;
|
|
8
7
|
// TODO: Migrate to srvx to provide request IP
|
|
9
8
|
Deno.serve((denoReq, info) => {
|
|
10
9
|
// srvx compatibility
|
|
@@ -13,7 +12,7 @@ Deno.serve((denoReq, info) => {
|
|
|
13
12
|
req.runtime.deno ??= { info };
|
|
14
13
|
// TODO: Support remoteAddr
|
|
15
14
|
// https://crossws.unjs.io/adapters/deno
|
|
16
|
-
if (
|
|
15
|
+
if (import.meta._websocket && req.headers.get("upgrade") === "websocket") {
|
|
17
16
|
return ws.handleUpgrade(req, info);
|
|
18
17
|
}
|
|
19
18
|
return nitroApp.fetch(req);
|
|
@@ -5,7 +5,6 @@ import { useNitroApp } from "nitro/app";
|
|
|
5
5
|
import { startScheduleRunner } from "#nitro/runtime/task";
|
|
6
6
|
import { trapUnhandledErrors } from "#nitro/runtime/error/hooks";
|
|
7
7
|
import { resolveWebsocketHooks } from "#nitro/runtime/app";
|
|
8
|
-
import { hasWebSocket } from "#nitro/virtual/feature-flags";
|
|
9
8
|
const port = Number.parseInt(process.env.NITRO_PORT || process.env.PORT || "") || 3e3;
|
|
10
9
|
const host = process.env.NITRO_HOST || process.env.HOST;
|
|
11
10
|
const cert = process.env.NITRO_SSL_CERT;
|
|
@@ -13,7 +12,7 @@ const key = process.env.NITRO_SSL_KEY;
|
|
|
13
12
|
// const socketPath = process.env.NITRO_UNIX_SOCKET; // TODO
|
|
14
13
|
const nitroApp = useNitroApp();
|
|
15
14
|
let _fetch = nitroApp.fetch;
|
|
16
|
-
if (
|
|
15
|
+
if (import.meta._websocket) {
|
|
17
16
|
const { handleUpgrade } = wsAdapter({ resolve: resolveWebsocketHooks });
|
|
18
17
|
_fetch = (req) => {
|
|
19
18
|
if (req.headers.get("upgrade") === "websocket") {
|
|
@@ -6,7 +6,6 @@ import { useNitroApp } from "nitro/app";
|
|
|
6
6
|
import { startScheduleRunner } from "#nitro/runtime/task";
|
|
7
7
|
import { trapUnhandledErrors } from "#nitro/runtime/error/hooks";
|
|
8
8
|
import { resolveWebsocketHooks } from "#nitro/runtime/app";
|
|
9
|
-
import { hasWebSocket } from "#nitro/virtual/feature-flags";
|
|
10
9
|
const port = Number.parseInt(process.env.NITRO_PORT || process.env.PORT || "") || 3e3;
|
|
11
10
|
const host = process.env.NITRO_HOST || process.env.HOST;
|
|
12
11
|
const cert = process.env.NITRO_SSL_CERT;
|
|
@@ -28,7 +27,7 @@ const server = serve({
|
|
|
28
27
|
silent: clusterId ? clusterId !== "1" : undefined,
|
|
29
28
|
fetch: nitroApp.fetch
|
|
30
29
|
});
|
|
31
|
-
if (
|
|
30
|
+
if (import.meta._websocket) {
|
|
32
31
|
const { handleUpgrade } = wsAdapter({ resolve: resolveWebsocketHooks });
|
|
33
32
|
server.node.server.on("upgrade", (req, socket, head) => {
|
|
34
33
|
handleUpgrade(
|
|
@@ -4,10 +4,9 @@ import wsAdapter from "crossws/adapters/node";
|
|
|
4
4
|
import { useNitroApp } from "nitro/app";
|
|
5
5
|
import { startScheduleRunner } from "#nitro/runtime/task";
|
|
6
6
|
import { resolveWebsocketHooks } from "#nitro/runtime/app";
|
|
7
|
-
import { hasWebSocket } from "#nitro/virtual/feature-flags";
|
|
8
7
|
const nitroApp = useNitroApp();
|
|
9
8
|
export const middleware = toNodeHandler(nitroApp.fetch);
|
|
10
|
-
const ws =
|
|
9
|
+
const ws = import.meta._websocket ? wsAdapter({ resolve: resolveWebsocketHooks }) : undefined;
|
|
11
10
|
export const handleUpgrade = ws?.handleUpgrade;
|
|
12
11
|
// Scheduled tasks
|
|
13
12
|
if (import.meta._tasks) {
|
|
@@ -5,7 +5,6 @@ import { useNitroApp } from "nitro/app";
|
|
|
5
5
|
import { startScheduleRunner } from "#nitro/runtime/task";
|
|
6
6
|
import { trapUnhandledErrors } from "#nitro/runtime/error/hooks";
|
|
7
7
|
import { resolveWebsocketHooks } from "#nitro/runtime/app";
|
|
8
|
-
import { hasWebSocket } from "#nitro/virtual/feature-flags";
|
|
9
8
|
const port = Number.parseInt(process.env.NITRO_PORT || process.env.PORT || "") || 3e3;
|
|
10
9
|
const host = process.env.NITRO_HOST || process.env.HOST;
|
|
11
10
|
const cert = process.env.NITRO_SSL_CERT;
|
|
@@ -21,7 +20,7 @@ const server = serve({
|
|
|
21
20
|
} : undefined,
|
|
22
21
|
fetch: nitroApp.fetch
|
|
23
22
|
});
|
|
24
|
-
if (
|
|
23
|
+
if (import.meta._websocket) {
|
|
25
24
|
const { handleUpgrade } = wsAdapter({ resolve: resolveWebsocketHooks });
|
|
26
25
|
server.node.server.on("upgrade", (req, socket, head) => {
|
|
27
26
|
handleUpgrade(
|
|
@@ -3,13 +3,12 @@ import wsAdapter from "crossws/adapters/node";
|
|
|
3
3
|
|
|
4
4
|
import { useNitroApp } from "nitro/app";
|
|
5
5
|
import { resolveWebsocketHooks } from "#nitro/runtime/app";
|
|
6
|
-
import { hasWebSocket } from "#nitro/virtual/feature-flags";
|
|
7
6
|
|
|
8
7
|
const nitroApp = useNitroApp();
|
|
9
8
|
|
|
10
9
|
export const fetch = nitroApp.fetch;
|
|
11
10
|
|
|
12
|
-
const ws =
|
|
11
|
+
const ws = import.meta._websocket
|
|
13
12
|
? wsAdapter({ resolve: resolveWebsocketHooks })
|
|
14
13
|
: undefined;
|
|
15
14
|
|
package/dist/types/index.d.mts
CHANGED