@vercel/node 5.3.26 → 5.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/dev-server.mjs +22 -7
  2. package/dist/index.js +55049 -13435
  3. package/package.json +3 -3
@@ -1118,20 +1118,23 @@ async function createServerlessServer(userCode) {
1118
1118
  async function compileUserCode2(entrypointPath, awaiter, options) {
1119
1119
  const id = isAbsolute(entrypointPath) ? pathToFileURL(entrypointPath).href : entrypointPath;
1120
1120
  let server = null;
1121
+ let serverFound = () => {
1122
+ };
1121
1123
  const originalListen = http.Server.prototype.listen;
1122
1124
  http.Server.prototype.listen = function() {
1123
1125
  server = this;
1124
1126
  http.Server.prototype.listen = originalListen;
1127
+ serverFound();
1125
1128
  return this;
1126
1129
  };
1127
1130
  let listener = await import(id);
1128
- http.Server.prototype.listen = originalListen;
1129
1131
  for (let i = 0; i < 5; i++) {
1130
1132
  if (listener.default)
1131
1133
  listener = listener.default;
1132
1134
  }
1133
1135
  const shouldUseWebHandlers = options.isMiddleware || HTTP_METHODS.some((method) => typeof listener[method] === "function") || typeof listener.fetch === "function";
1134
1136
  if (shouldUseWebHandlers) {
1137
+ http.Server.prototype.listen = originalListen;
1135
1138
  const { createWebExportsHandler: createWebExportsHandler2 } = await Promise.resolve().then(() => (init_helpers_web(), helpers_web_exports));
1136
1139
  const getWebExportsHandler = createWebExportsHandler2(awaiter);
1137
1140
  let handler = listener;
@@ -1155,15 +1158,27 @@ async function compileUserCode2(entrypointPath, awaiter, options) {
1155
1158
  }
1156
1159
  return getWebExportsHandler(handler, HTTP_METHODS);
1157
1160
  }
1161
+ if (typeof listener === "function") {
1162
+ http.Server.prototype.listen = originalListen;
1163
+ return async (req, res) => {
1164
+ if (options.shouldAddHelpers && typeof listener.listen !== "function") {
1165
+ await addHelpers(req, res);
1166
+ }
1167
+ return listener(req, res);
1168
+ };
1169
+ }
1170
+ if (!server) {
1171
+ await new Promise((resolve) => {
1172
+ serverFound = resolve;
1173
+ const maxTimeToWaitForServer = 1e3;
1174
+ setTimeout(resolve, maxTimeToWaitForServer);
1175
+ });
1176
+ }
1177
+ http.Server.prototype.listen = originalListen;
1158
1178
  if (server) {
1159
1179
  return server;
1160
1180
  }
1161
- return async (req, res) => {
1162
- if (options.shouldAddHelpers && typeof listener.listen !== "function") {
1163
- await addHelpers(req, res);
1164
- }
1165
- return listener(req, res);
1166
- };
1181
+ throw new Error("Can't detect way to handle request");
1167
1182
  }
1168
1183
  async function createServerlessEventHandler(entrypointPath, options, maxDuration = WAIT_UNTIL_TIMEOUT) {
1169
1184
  const awaiter = new Awaiter();