@netlify/plugin-nextjs 5.0.0-rc.5 → 5.0.0-rc.7

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.
@@ -26,8 +26,10 @@ __export(request_context_exports, {
26
26
  });
27
27
  module.exports = __toCommonJS(request_context_exports);
28
28
  var import_node_async_hooks = require("node:async_hooks");
29
- function createRequestContext() {
30
- return {};
29
+ function createRequestContext(debug = false) {
30
+ return {
31
+ debug
32
+ };
31
33
  }
32
34
  var REQUEST_CONTEXT_GLOBAL_KEY = Symbol.for("nf-request-context-async-local-storage");
33
35
  var requestContextAsyncLocalStorage;
@@ -4,11 +4,6 @@
4
4
  return createRequire(import.meta.url);
5
5
  })();
6
6
 
7
- import {
8
- SpanStatusCode,
9
- init_esm,
10
- trace
11
- } from "../../esm-chunks/chunk-GQ6KIYPX.js";
12
7
  import {
13
8
  nextResponseProxy
14
9
  } from "../../esm-chunks/chunk-RL4K4CVH.js";
@@ -25,7 +20,7 @@ import {
25
20
  setCacheStatusHeader,
26
21
  setCacheTagsHeaders,
27
22
  setVaryHeaders
28
- } from "../../esm-chunks/chunk-637Y3P2U.js";
23
+ } from "../../esm-chunks/chunk-M2ZKGJAI.js";
29
24
  import "../../esm-chunks/chunk-TYCYFZ22.js";
30
25
  import {
31
26
  __commonJS,
@@ -3262,8 +3257,9 @@ function toComputeResponse(res) {
3262
3257
  }
3263
3258
 
3264
3259
  // src/run/handlers/server.ts
3265
- init_esm();
3266
- import { createRequestContext, runWithRequestContext } from "./request-context.cjs";
3260
+ import { createRequestContext, getRequestContext } from "./request-context.cjs";
3261
+ import { getTracer } from "./tracer.cjs";
3262
+ var nextImportPromise = import("../next.cjs");
3267
3263
  var nextHandler;
3268
3264
  var nextConfig;
3269
3265
  var tagsManifest;
@@ -3281,20 +3277,23 @@ var disableFaultyTransferEncodingHandling = (res) => {
3281
3277
  };
3282
3278
  };
3283
3279
  var server_default = async (request) => {
3284
- const tracer = trace.getTracer("Next.js Runtime");
3280
+ const tracer = getTracer();
3285
3281
  if (!nextHandler) {
3286
- await tracer.startActiveSpan("initialize next server", async (span) => {
3282
+ await tracer.withActiveSpan("initialize next server", async (span) => {
3287
3283
  const { getRunConfig, setRunConfig } = await import("../config.js");
3288
3284
  nextConfig = await getRunConfig();
3289
3285
  setRunConfig(nextConfig);
3290
3286
  tagsManifest = await getTagsManifest();
3291
3287
  span.setAttributes(
3292
3288
  Object.entries(tagsManifest).reduce(
3293
- (acc, [key, value]) => ({ ...acc, [`tagsManifest.${key}`]: value }),
3289
+ (acc, [key, value]) => {
3290
+ acc[`tagsManifest.${key}`] = value;
3291
+ return acc;
3292
+ },
3294
3293
  {}
3295
3294
  )
3296
3295
  );
3297
- const { getMockedRequestHandlers } = await import("../next.cjs");
3296
+ const { getMockedRequestHandlers } = await nextImportPromise;
3298
3297
  const url = new URL(request.url);
3299
3298
  [nextHandler] = await getMockedRequestHandlers({
3300
3299
  port: Number(url.port) || 443,
@@ -3302,30 +3301,30 @@ var server_default = async (request) => {
3302
3301
  dir: process.cwd(),
3303
3302
  isDev: false
3304
3303
  });
3305
- span.end();
3306
3304
  });
3307
3305
  }
3308
- return await tracer.startActiveSpan("generate response", async (span) => {
3306
+ return await tracer.withActiveSpan("generate response", async (span) => {
3309
3307
  const { req, res } = toReqRes(request);
3310
- const requestContext = createRequestContext();
3308
+ Object.defineProperty(req, "connection", {
3309
+ get() {
3310
+ return {};
3311
+ }
3312
+ });
3313
+ Object.defineProperty(req, "socket", {
3314
+ get() {
3315
+ return {};
3316
+ }
3317
+ });
3311
3318
  disableFaultyTransferEncodingHandling(res);
3319
+ const requestContext = getRequestContext() ?? createRequestContext();
3312
3320
  const resProxy = nextResponseProxy(res, requestContext);
3313
- const nextHandlerPromise = runWithRequestContext(
3314
- requestContext,
3315
- () => nextHandler(req, resProxy).catch((error) => {
3316
- import_internal.systemLogger.withError(error).error("next handler error");
3317
- console.error(error);
3318
- resProxy.statusCode = 500;
3319
- span.recordException(error);
3320
- span.setAttribute("http.status_code", 500);
3321
- span.setStatus({
3322
- code: SpanStatusCode.ERROR,
3323
- message: error instanceof Error ? error.message : String(error)
3324
- });
3325
- span.end();
3326
- resProxy.end("Internal Server Error");
3327
- })
3328
- );
3321
+ const nextHandlerPromise = nextHandler(req, resProxy).catch((error) => {
3322
+ import_internal.systemLogger.withError(error).error("next handler error");
3323
+ console.error(error);
3324
+ resProxy.statusCode = 500;
3325
+ span.setAttribute("http.status_code", 500);
3326
+ resProxy.end("Internal Server Error");
3327
+ });
3329
3328
  const response = await toComputeResponse(resProxy);
3330
3329
  if (requestContext.responseCacheKey) {
3331
3330
  span.setAttribute("responseCacheKey", requestContext.responseCacheKey);
@@ -3337,14 +3336,11 @@ var server_default = async (request) => {
3337
3336
  setCacheStatusHeader(response.headers);
3338
3337
  if (response.status > 300 && response.status < 400 || response.status >= 500) {
3339
3338
  const body = await response.text();
3340
- span.end();
3341
3339
  return new Response(body || null, response);
3342
3340
  }
3343
3341
  const keepOpenUntilNextFullyRendered = new TransformStream({
3344
3342
  flush() {
3345
- return nextHandlerPromise.then(() => {
3346
- span.end();
3347
- });
3343
+ return nextHandlerPromise;
3348
3344
  }
3349
3345
  });
3350
3346
  return new Response(response.body?.pipeThrough(keepOpenUntilNextFullyRendered), response);