next-ws 1.1.1 → 2.0.0

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.
@@ -1,38 +1,76 @@
1
- 'use strict';
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
29
 
3
- var chunkPFW3KWBF_cjs = require('../chunk-PFW3KWBF.cjs');
4
- var React = require('react');
30
+ // src/client/index.ts
31
+ var client_exports = {};
32
+ __export(client_exports, {
33
+ WebSocketConsumer: () => WebSocketConsumer,
34
+ WebSocketContext: () => WebSocketContext,
35
+ WebSocketProvider: () => WebSocketProvider,
36
+ useWebSocket: () => useWebSocket
37
+ });
38
+ module.exports = __toCommonJS(client_exports);
5
39
 
6
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
-
8
- var React__default = /*#__PURE__*/_interopDefault(React);
9
-
10
- var WebSocketContext = React.createContext(null);
40
+ // src/client/context.tsx
41
+ var import_react = __toESM(require("react"), 1);
42
+ var import_react2 = require("react");
43
+ var WebSocketContext = (0, import_react2.createContext)(null);
11
44
  WebSocketContext.displayName = "WebSocketContext";
12
45
  var WebSocketConsumer = WebSocketContext.Consumer;
13
46
  function WebSocketProvider(p) {
14
- let client = React.useMemo(() => {
15
- if (typeof window > "u") return null;
16
- let client2 = new WebSocket(p.url, p.protocols);
17
- return p.binaryType && (client2.binaryType = p.binaryType), client2;
47
+ const clientRef = (0, import_react.useRef)(null);
48
+ (0, import_react2.useEffect)(() => {
49
+ if (typeof window === "undefined") return;
50
+ if (clientRef.current) {
51
+ clientRef.current.close();
52
+ clientRef.current = null;
53
+ }
54
+ const client = new WebSocket(p.url, p.protocols);
55
+ if (p.binaryType) client.binaryType = p.binaryType;
56
+ clientRef.current = client;
57
+ return () => {
58
+ client.close();
59
+ clientRef.current = null;
60
+ };
18
61
  }, [p.url, p.protocols, p.binaryType]);
19
- return React.useEffect(() => {
20
- if (client?.readyState === WebSocket.OPEN)
21
- return () => client.close();
22
- }, [client]), /* @__PURE__ */ React__default.default.createElement(WebSocketContext.Provider, { value: client }, p.children);
62
+ return /* @__PURE__ */ import_react.default.createElement(WebSocketContext.Provider, { value: clientRef.current }, p.children);
23
63
  }
24
- chunkPFW3KWBF_cjs.__name(WebSocketProvider, "WebSocketProvider");
25
64
  function useWebSocket() {
26
- let context = React.useContext(WebSocketContext);
65
+ const context = (0, import_react2.useContext)(WebSocketContext);
27
66
  if (context === void 0)
28
67
  throw new Error("useWebSocket must be used within a WebSocketProvider");
29
68
  return context;
30
69
  }
31
- chunkPFW3KWBF_cjs.__name(useWebSocket, "useWebSocket");
32
-
33
- exports.WebSocketConsumer = WebSocketConsumer;
34
- exports.WebSocketContext = WebSocketContext;
35
- exports.WebSocketProvider = WebSocketProvider;
36
- exports.useWebSocket = useWebSocket;
37
- //# sourceMappingURL=out.js.map
38
- //# sourceMappingURL=index.cjs.map
70
+ // Annotate the CommonJS export names for ESM import in node:
71
+ 0 && (module.exports = {
72
+ WebSocketConsumer,
73
+ WebSocketContext,
74
+ WebSocketProvider,
75
+ useWebSocket
76
+ });
@@ -0,0 +1,38 @@
1
+ import "../chunk-3RG5ZIWI.js";
2
+
3
+ // src/client/context.tsx
4
+ import React, { useRef } from "react";
5
+ import { createContext, useContext, useEffect } from "react";
6
+ var WebSocketContext = createContext(null);
7
+ WebSocketContext.displayName = "WebSocketContext";
8
+ var WebSocketConsumer = WebSocketContext.Consumer;
9
+ function WebSocketProvider(p) {
10
+ const clientRef = useRef(null);
11
+ useEffect(() => {
12
+ if (typeof window === "undefined") return;
13
+ if (clientRef.current) {
14
+ clientRef.current.close();
15
+ clientRef.current = null;
16
+ }
17
+ const client = new WebSocket(p.url, p.protocols);
18
+ if (p.binaryType) client.binaryType = p.binaryType;
19
+ clientRef.current = client;
20
+ return () => {
21
+ client.close();
22
+ clientRef.current = null;
23
+ };
24
+ }, [p.url, p.protocols, p.binaryType]);
25
+ return /* @__PURE__ */ React.createElement(WebSocketContext.Provider, { value: clientRef.current }, p.children);
26
+ }
27
+ function useWebSocket() {
28
+ const context = useContext(WebSocketContext);
29
+ if (context === void 0)
30
+ throw new Error("useWebSocket must be used within a WebSocketProvider");
31
+ return context;
32
+ }
33
+ export {
34
+ WebSocketConsumer,
35
+ WebSocketContext,
36
+ WebSocketProvider,
37
+ useWebSocket
38
+ };
@@ -1,162 +1,218 @@
1
- 'use strict';
2
-
3
- var chunkPFW3KWBF_cjs = require('../chunk-PFW3KWBF.cjs');
4
- var logger3 = require('next/dist/build/output/log');
5
- var ws = require('ws');
6
-
7
- function _interopNamespace(e) {
8
- if (e && e.__esModule) return e;
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () { return e[k]; }
17
- });
18
- }
19
- });
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20
17
  }
21
- n.default = e;
22
- return Object.freeze(n);
23
- }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
29
 
25
- var logger3__namespace = /*#__PURE__*/_interopNamespace(logger3);
30
+ // src/server/index.ts
31
+ var server_exports = {};
32
+ __export(server_exports, {
33
+ getHttpServer: () => getHttpServer,
34
+ getWebSocketServer: () => getWebSocketServer,
35
+ setHttpServer: () => setHttpServer,
36
+ setWebSocketServer: () => setWebSocketServer,
37
+ setupWebSocketServer: () => setupWebSocketServer
38
+ });
39
+ module.exports = __toCommonJS(server_exports);
40
+
41
+ // src/server/setup.ts
42
+ var logger3 = __toESM(require("next/dist/build/output/log.js"), 1);
43
+ var import_ws = require("ws");
26
44
 
45
+ // src/server/helpers/persistent.ts
46
+ var logger = __toESM(require("next/dist/build/output/log.js"), 1);
27
47
  function getEnvironmentMeta() {
28
- let isCustomServer = !process.title.startsWith("next-"), isMainProcess = process.env.NEXT_WS_MAIN_PROCESS === "1", isDevelopment = process.env.NODE_ENV === "development";
48
+ const isCustomServer = !process.title.startsWith("next-");
49
+ const isMainProcess = process.env.NEXT_WS_MAIN_PROCESS === "1";
50
+ const isDevelopment = process.env.NODE_ENV === "development";
29
51
  return { isCustomServer, isMainProcess, isDevelopment };
30
52
  }
31
- chunkPFW3KWBF_cjs.__name(getEnvironmentMeta, "getEnvironmentMeta");
32
- function resolveFilename(nextServer, pathname) {
33
- let pathParts = pathname.split("/"), appRoutes = {
34
- // @ts-expect-error - appPathRoutes is protected
35
- ...nextServer.appPathRoutes,
36
- // @ts-expect-error - getAppPathRoutes is protected
37
- ...nextServer.getAppPathRoutes()
38
- };
39
- for (let [key, [path]] of Object.entries(appRoutes))
40
- if (key.includes("[") && key.includes("]")) {
41
- let keyParts = key.split("/");
42
- if (keyParts.length !== pathParts.length) continue;
43
- for (let i = 0; i < keyParts.length; i++) {
44
- let keyPart = keyParts[i], pathPart = pathParts[i];
45
- if (keyPart.includes("[") && keyPart.includes("]") && (keyParts[i] = pathPart), keyParts[i] !== pathParts[i]) break;
46
- if (i === keyParts.length - 1 && path?.endsWith("/route"))
47
- return path;
48
- }
49
- } else {
50
- if (key !== pathname) continue;
51
- return path?.endsWith("/route") ? path : null;
52
- }
53
- return null;
54
- }
55
- chunkPFW3KWBF_cjs.__name(resolveFilename, "resolveFilename");
56
- async function getPageModule(nextServer, filename) {
57
- try {
58
- "hotReloader" in nextServer ? await nextServer.hotReloader?.ensurePage({
59
- page: filename,
60
- clientOnly: !1
61
- }) : "ensurePage" in nextServer ? await nextServer.ensurePage({ page: filename, clientOnly: !1 }) : logger3__namespace.warnOnce(
62
- "[next-ws] unable to ensure page, you may need to open the route in your browser first so Next.js compiles it"
63
- );
64
- } catch {
65
- }
66
- let buildPagePath = nextServer.getPagePath(filename);
67
- return chunkPFW3KWBF_cjs.__require(buildPagePath);
68
- }
69
- chunkPFW3KWBF_cjs.__name(getPageModule, "getPageModule");
70
53
  function mainProcessOnly(fnName) {
71
54
  if (process.env.NEXT_WS_SKIP_ENVIRONMENT_CHECK === "1") return;
72
- let meta = getEnvironmentMeta();
73
- if (meta.isMainProcess)
74
- meta.isCustomServer || logger3__namespace.warnOnce(
55
+ const meta = getEnvironmentMeta();
56
+ if (!meta.isMainProcess) {
57
+ throw new Error(
58
+ `[next-ws] Attempt to invoke '${fnName}' outside the main process.
59
+ You may be attempting to interact with the WebSocket server outside of a SOCKET handler. This will fail in production, as Next.js employs a worker process for routing, which do not have access to the WebSocket server on the main process.
60
+ You can resolve this by using a custom server.`
61
+ );
62
+ } else if (!meta.isCustomServer) {
63
+ logger.warnOnce(
75
64
  `[next-ws] Caution: The function '${fnName}' was invoked without a custom server.
76
65
  This could lead to unintended behaviour, especially if you're attempting to interact with the WebSocket server outside of a SOCKET handler.
77
66
  Please note, while such configurations might function during development, they will fail in production. This is because Next.js employs a worker process for routing in production, which do not have access to the WebSocket server on the main process.
78
67
  You can resolve this by using a custom server.`
79
68
  );
80
- else throw new Error(
81
- `[next-ws] Attempt to invoke '${fnName}' outside the main process.
82
- You may be attempting to interact with the WebSocket server outside of a SOCKET handler. This will fail in production, as Next.js employs a worker process for routing, which do not have access to the WebSocket server on the main process.
83
- You can resolve this by using a custom server.`
84
- );
69
+ }
85
70
  }
86
- chunkPFW3KWBF_cjs.__name(mainProcessOnly, "mainProcessOnly");
87
71
  var NextWsHttpServer = Symbol.for("NextWs_HttpServer");
88
72
  function setHttpServer(server) {
89
73
  Reflect.set(globalThis, NextWsHttpServer, server);
90
74
  }
91
- chunkPFW3KWBF_cjs.__name(setHttpServer, "setHttpServer");
92
75
  function getHttpServer() {
93
- return mainProcessOnly("getHttpServer"), Reflect.get(globalThis, NextWsHttpServer);
76
+ mainProcessOnly("getHttpServer");
77
+ return Reflect.get(globalThis, NextWsHttpServer);
94
78
  }
95
- chunkPFW3KWBF_cjs.__name(getHttpServer, "getHttpServer");
96
79
  function useHttpServer(server) {
97
- let existing = getHttpServer();
98
- return existing || (server && setHttpServer(server), server);
80
+ const existing = getHttpServer();
81
+ if (existing) return existing;
82
+ if (server) setHttpServer(server);
83
+ return server;
99
84
  }
100
- chunkPFW3KWBF_cjs.__name(useHttpServer, "useHttpServer");
101
85
  var NextWsWebSocketServer = Symbol.for("NextWs_WebSocketServer");
102
86
  function setWebSocketServer(wsServer) {
103
87
  Reflect.set(globalThis, NextWsWebSocketServer, wsServer);
104
88
  }
105
- chunkPFW3KWBF_cjs.__name(setWebSocketServer, "setWebSocketServer");
106
89
  function getWebSocketServer() {
107
- return mainProcessOnly("getWebSocketServer"), Reflect.get(globalThis, NextWsWebSocketServer);
90
+ mainProcessOnly("getWebSocketServer");
91
+ return Reflect.get(globalThis, NextWsWebSocketServer);
108
92
  }
109
- chunkPFW3KWBF_cjs.__name(getWebSocketServer, "getWebSocketServer");
110
93
  function useWebSocketServer(wsServer) {
111
- let existing = getWebSocketServer();
112
- return existing || (wsServer && setWebSocketServer(wsServer), wsServer);
94
+ const existing = getWebSocketServer();
95
+ if (existing) return existing;
96
+ if (wsServer) setWebSocketServer(wsServer);
97
+ return wsServer;
98
+ }
99
+
100
+ // src/server/helpers/route.ts
101
+ var import_node_url = require("url");
102
+ var logger2 = __toESM(require("next/dist/build/output/log.js"), 1);
103
+ function createRouteRegex(routePattern) {
104
+ const escapedPattern = routePattern.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&");
105
+ const paramRegex = escapedPattern.replace(/\\\[([a-zA-Z0-9_]+)\\\]/g, "(?<$1>[^/]+)").replace(/\\\[(?:\\\.){3}([a-zA-Z0-9_]+)\\\]/g, "(?<rest_$1>.+)");
106
+ return new RegExp(`^${paramRegex}$`);
107
+ }
108
+ function getRouteParams(routePattern, routePath) {
109
+ const routeRegex = createRouteRegex(routePattern);
110
+ const match = routePath.match(routeRegex);
111
+ if (!match) return null;
112
+ if (!match.groups) return {};
113
+ const params = {};
114
+ for (let [k, v] of Object.entries(match.groups)) {
115
+ if (k.startsWith("rest_")) {
116
+ k = k.slice(5);
117
+ v = v.split("/");
118
+ }
119
+ Reflect.set(params, k, v);
120
+ }
121
+ return params;
122
+ }
123
+ function resolvePathToRoute(nextServer, requestPath) {
124
+ const routes = {
125
+ // @ts-expect-error - appPathRoutes is protected
126
+ ...nextServer.appPathRoutes,
127
+ // @ts-expect-error - getAppPathRoutes is protected
128
+ ...nextServer.getAppPathRoutes()
129
+ };
130
+ for (const [routePath, [filePath]] of Object.entries(routes)) {
131
+ const routeParams = getRouteParams(routePath, requestPath);
132
+ if (routeParams) return { filePath, routeParams };
133
+ }
134
+ return null;
135
+ }
136
+ async function importRouteModule(nextServer, filePath) {
137
+ try {
138
+ if ("hotReloader" in nextServer) {
139
+ await nextServer.hotReloader?.ensurePage({
140
+ page: filePath,
141
+ clientOnly: false
142
+ });
143
+ } else if ("ensurePage" in nextServer) {
144
+ await nextServer.ensurePage({ page: filePath, clientOnly: false });
145
+ } else {
146
+ logger2.warnOnce(
147
+ "[next-ws] unable to ensure page, you may need to open the route in your browser first so Next.js compiles it"
148
+ );
149
+ }
150
+ } catch {
151
+ }
152
+ const buildPagePath = nextServer.getPagePath(filePath);
153
+ return importModule(buildPagePath);
154
+ }
155
+ async function importModule(modulePath) {
156
+ const moduleUrl = (0, import_node_url.pathToFileURL)(modulePath).toString();
157
+ try {
158
+ return await import(moduleUrl).then((m) => m.default);
159
+ } catch (requireError) {
160
+ try {
161
+ return require(modulePath);
162
+ } catch (requireError2) {
163
+ console.error(`Both import and require failed for ${modulePath}`);
164
+ throw requireError2;
165
+ }
166
+ }
167
+ }
168
+ function getSocketHandler(routeModule) {
169
+ return routeModule?.routeModule?.userland?.SOCKET ?? routeModule?.handlers?.SOCKET;
113
170
  }
114
- chunkPFW3KWBF_cjs.__name(useWebSocketServer, "useWebSocketServer");
115
171
 
116
172
  // src/server/setup.ts
117
173
  function setupWebSocketServer(nextServer) {
118
- process.env.NEXT_WS_MAIN_PROCESS = String(1), process.env.NEXT_WS_SKIP_ENVIRONMENT_CHECK = String(1);
119
- let httpServer = useHttpServer(nextServer.serverOptions?.httpServer), wsServer = useWebSocketServer(new ws.WebSocketServer({ noServer: !0 }));
120
- if (delete process.env.NEXT_WS_SKIP_ENVIRONMENT_CHECK, !httpServer)
121
- return logger3__namespace.error("[next-ws] was not able to find the HTTP server");
174
+ process.env.NEXT_WS_MAIN_PROCESS = String(1);
175
+ process.env.NEXT_WS_SKIP_ENVIRONMENT_CHECK = String(1);
176
+ const httpServer = useHttpServer(nextServer.serverOptions?.httpServer);
177
+ const wsServer = useWebSocketServer(new import_ws.WebSocketServer({ noServer: true }));
178
+ process.env.NEXT_WS_SKIP_ENVIRONMENT_CHECK = String(0);
179
+ if (!httpServer)
180
+ return logger3.error("[next-ws] was not able to find the HTTP server");
122
181
  if (!wsServer)
123
- return logger3__namespace.error("[next-ws] was not able to find the WebSocket server");
124
- logger3__namespace.ready("[next-ws] has started the WebSocket server"), httpServer.on("upgrade", async (request, socket, head) => {
125
- let pathname = new URL(request.url ?? "", "ws://next").pathname;
182
+ return logger3.error("[next-ws] was not able to find the WebSocket server");
183
+ logger3.ready("[next-ws] has started the WebSocket server");
184
+ httpServer.on("upgrade", async (request, socket, head) => {
185
+ const url = new URL(request.url ?? "", "ws://next");
186
+ const pathname = url.pathname;
126
187
  if (pathname.startsWith("/_next")) return;
127
- let filename = resolveFilename(nextServer, pathname);
128
- if (!filename)
129
- return logger3__namespace.error(`[next-ws] could not find module for page ${pathname}`), socket.destroy();
130
- let pageModule = await getPageModule(nextServer, filename);
131
- if (!pageModule)
132
- return logger3__namespace.error(`[next-ws] could not find module for page ${pathname}`), socket.destroy();
133
- let socketHandler = pageModule?.routeModule?.userland?.SOCKET;
134
- return !socketHandler || typeof socketHandler != "function" ? (logger3__namespace.error(`[next-ws] ${pathname} does not export a SOCKET handler`), socket.destroy()) : wsServer.handleUpgrade(request, socket, head, (c, r) => {
135
- let dispose = socketHandler(c, r, wsServer);
136
- typeof dispose == "function" && c.once("close", () => dispose());
188
+ const routeInfo = resolvePathToRoute(nextServer, pathname);
189
+ if (!routeInfo) {
190
+ logger3.error(`[next-ws] could not find module for page ${pathname}`);
191
+ return socket.destroy();
192
+ }
193
+ const routeModule = await importRouteModule(nextServer, routeInfo.filePath);
194
+ if (!routeModule) {
195
+ logger3.error(`[next-ws] could not find module for page ${pathname}`);
196
+ return socket.destroy();
197
+ }
198
+ const socketHandler = getSocketHandler(routeModule);
199
+ if (!socketHandler || typeof socketHandler !== "function") {
200
+ logger3.error(`[next-ws] ${pathname} does not export a SOCKET handler`);
201
+ return socket.destroy();
202
+ }
203
+ return wsServer.handleUpgrade(request, socket, head, async (c, r) => {
204
+ const routeContext = { params: routeInfo.routeParams };
205
+ const handleClose = await socketHandler(c, r, wsServer, routeContext);
206
+ if (typeof handleClose === "function")
207
+ c.once("close", () => handleClose());
137
208
  });
138
209
  });
139
210
  }
140
- chunkPFW3KWBF_cjs.__name(setupWebSocketServer, "setupWebSocketServer");
141
- function hookNextNodeServer() {
142
- setupWebSocketServer(this);
143
- }
144
- chunkPFW3KWBF_cjs.__name(hookNextNodeServer, "hookNextNodeServer");
145
-
146
- // src/server/index.ts
147
- function verifyPatch() {
148
- throw new Error(
149
- "The 'verifyPatch' function has been deprecated in favour of the `npx next-ws-cli@latest verify` command."
150
- );
151
- }
152
- chunkPFW3KWBF_cjs.__name(verifyPatch, "verifyPatch");
153
-
154
- exports.getHttpServer = getHttpServer;
155
- exports.getWebSocketServer = getWebSocketServer;
156
- exports.hookNextNodeServer = hookNextNodeServer;
157
- exports.setHttpServer = setHttpServer;
158
- exports.setWebSocketServer = setWebSocketServer;
159
- exports.setupWebSocketServer = setupWebSocketServer;
160
- exports.verifyPatch = verifyPatch;
161
- //# sourceMappingURL=out.js.map
162
- //# sourceMappingURL=index.cjs.map
211
+ // Annotate the CommonJS export names for ESM import in node:
212
+ 0 && (module.exports = {
213
+ getHttpServer,
214
+ getWebSocketServer,
215
+ setHttpServer,
216
+ setWebSocketServer,
217
+ setupWebSocketServer
218
+ });
@@ -1,9 +1,8 @@
1
- import NextNodeServer from 'next/dist/server/next-server';
2
- import { WebSocketServer } from 'ws';
1
+ import NextNodeServer from 'next/dist/server/next-server.js';
3
2
  import { Server } from 'node:http';
3
+ import { WebSocketServer } from 'ws';
4
4
 
5
5
  declare function setupWebSocketServer(nextServer: NextNodeServer): void;
6
- declare function hookNextNodeServer(this: NextNodeServer): void;
7
6
 
8
7
  /**
9
8
  * Set the HTTP server that the WebSocket server should listen on, must be called before the WebSocket server is created.
@@ -30,9 +29,4 @@ declare function setWebSocketServer(wsServer: WebSocketServer): void;
30
29
  */
31
30
  declare function getWebSocketServer(): WebSocketServer;
32
31
 
33
- /**
34
- * @deprecated
35
- */
36
- declare function verifyPatch(): void;
37
-
38
- export { getHttpServer, getWebSocketServer, hookNextNodeServer, setHttpServer, setWebSocketServer, setupWebSocketServer, verifyPatch };
32
+ export { getHttpServer, getWebSocketServer, setHttpServer, setWebSocketServer, setupWebSocketServer };
@@ -1,9 +1,8 @@
1
- import NextNodeServer from 'next/dist/server/next-server';
2
- import { WebSocketServer } from 'ws';
1
+ import NextNodeServer from 'next/dist/server/next-server.js';
3
2
  import { Server } from 'node:http';
3
+ import { WebSocketServer } from 'ws';
4
4
 
5
5
  declare function setupWebSocketServer(nextServer: NextNodeServer): void;
6
- declare function hookNextNodeServer(this: NextNodeServer): void;
7
6
 
8
7
  /**
9
8
  * Set the HTTP server that the WebSocket server should listen on, must be called before the WebSocket server is created.
@@ -30,9 +29,4 @@ declare function setWebSocketServer(wsServer: WebSocketServer): void;
30
29
  */
31
30
  declare function getWebSocketServer(): WebSocketServer;
32
31
 
33
- /**
34
- * @deprecated
35
- */
36
- declare function verifyPatch(): void;
37
-
38
- export { getHttpServer, getWebSocketServer, hookNextNodeServer, setHttpServer, setWebSocketServer, setupWebSocketServer, verifyPatch };
32
+ export { getHttpServer, getWebSocketServer, setHttpServer, setWebSocketServer, setupWebSocketServer };