@vercel/next 4.3.20 → 4.4.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 +1 @@
1
- module.exports = "var d=Object.defineProperty;var m=e=>d(e,\"__esModule\",{value:!0});var y=(e,r)=>{m(e);for(var t in r)d(e,t,{get:r[t],enumerable:!0})};y(exports,{default:()=>x});function h(e){let r={};return e&&e.forEach((t,i)=>{r[i]=t,i.toLowerCase()===\"set-cookie\"&&(r[i]=C(t))}),r}function C(e){let r=[],t=0,i,a,p,n,s;function c(){for(;t<e.length&&/\\s/.test(e.charAt(t));)t+=1;return t<e.length}function o(){return a=e.charAt(t),a!==\"=\"&&a!==\";\"&&a!==\",\"}for(;t<e.length;){for(i=t,s=!1;c();)if(a=e.charAt(t),a===\",\"){for(p=t,t+=1,c(),n=t;t<e.length&&o();)t+=1;t<e.length&&e.charAt(t)===\"=\"?(s=!0,t=n,r.push(e.substring(i,p)),i=t):t=p+1}else t+=1;(!s||t>=e.length)&&r.push(e.substring(i,e.length))}return r}function x(e){let r=e.staticRoutes.map(i=>({regexp:new RegExp(i.namedRegex),page:i.page})),t=e.dynamicRoutes?.map(i=>({regexp:new RegExp(i.namedRegex),page:i.page}))||[];return async function(a,p){let n=new URL(a.url).pathname,s={};if(e.nextConfig?.basePath&&n.startsWith(e.nextConfig.basePath)&&(n=n.replace(e.nextConfig.basePath,\"\")||\"/\"),e.nextConfig?.i18n)for(let o of e.nextConfig.i18n.locales){let g=new RegExp(`^/${o}($|/)`,\"i\");if(n.match(g)){n=n.replace(g,\"/\")||\"/\";break}}for(let o of r)if(o.regexp.exec(n)){s.name=o.page;break}if(!s.name){let o=R(n);for(let g of t||[]){if(o&&!R(g.page))continue;let f=g.regexp.exec(n);if(f){s={name:g.page,params:f.groups};break}}}let c=await _ENTRIES[`middleware_${e.name}`].default.call({},{request:{url:a.url,method:a.method,headers:h(a.headers),ip:u(a.headers,l.Ip),geo:{city:u(a.headers,l.City,!0),country:u(a.headers,l.Country,!0),latitude:u(a.headers,l.Latitude),longitude:u(a.headers,l.Longitude),region:u(a.headers,l.Region,!0)},nextConfig:e.nextConfig,page:s,body:a.body}});return p.waitUntil(c.waitUntil),c.response}}function u(e,r,t=!1){let i=e.get(r)||void 0;return t&&i?decodeURIComponent(i):i}function R(e){return e===\"/api\"||e.startsWith(\"/api/\")}var l;(function(n){n.City=\"x-vercel-ip-city\",n.Country=\"x-vercel-ip-country\",n.Ip=\"x-real-ip\",n.Latitude=\"x-vercel-ip-latitude\",n.Longitude=\"x-vercel-ip-longitude\",n.Region=\"x-vercel-ip-country-region\"})(l||(l={}));\n"
1
+ module.exports = "var b=Object.create;var p=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var h=e=>p(e,\"__esModule\",{value:!0});var _=(e,n)=>{h(e);for(var t in n)p(e,t,{get:n[t],enumerable:!0})},U=(e,n,t)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let i of T(n))!L.call(e,i)&&i!==\"default\"&&p(e,i,{get:()=>n[i],enumerable:!(t=w(n,i))||t.enumerable});return e},A=e=>U(h(p(e!=null?b(P(e)):{},\"default\",e&&e.__esModule&&\"default\"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);_(exports,{default:()=>N});var R=A(require(\"async_hooks\")),S=\"@next/request-context\",f=Symbol.for(S),C=Symbol.for(\"internal.storage\");function O(){let e=globalThis;if(!e[f]){let n=new R.AsyncLocalStorage,t={get:()=>n.getStore(),[C]:n};e[f]=t}return e[f]}var q=O();function m(e,n){return q[C].run(e,n)}function y(e){let n={};return e&&e.forEach((t,i)=>{n[i]=t,i.toLowerCase()===\"set-cookie\"&&(n[i]=M(t))}),n}function M(e){let n=[],t=0,i,a,g,o,r;function x(){for(;t<e.length&&/\\s/.test(e.charAt(t));)t+=1;return t<e.length}function s(){return a=e.charAt(t),a!==\"=\"&&a!==\";\"&&a!==\",\"}for(;t<e.length;){for(i=t,r=!1;x();)if(a=e.charAt(t),a===\",\"){for(g=t,t+=1,x(),o=t;t<e.length&&s();)t+=1;t<e.length&&e.charAt(t)===\"=\"?(r=!0,t=o,n.push(e.substring(i,g)),i=t):t=g+1}else t+=1;(!r||t>=e.length)&&n.push(e.substring(i,e.length))}return n}function N(e){let n=e.staticRoutes.map(i=>({regexp:new RegExp(i.namedRegex),page:i.page})),t=e.dynamicRoutes?.map(i=>({regexp:new RegExp(i.namedRegex),page:i.page}))||[];return async function(a,g){let o=new URL(a.url).pathname,r={};if(e.nextConfig?.basePath&&o.startsWith(e.nextConfig.basePath)&&(o=o.replace(e.nextConfig.basePath,\"\")||\"/\"),e.nextConfig?.i18n)for(let s of e.nextConfig.i18n.locales){let u=new RegExp(`^/${s}($|/)`,\"i\");if(o.match(u)){o=o.replace(u,\"/\")||\"/\";break}}for(let s of n)if(s.regexp.exec(o)){r.name=s.page;break}if(!r.name){let s=E(o);for(let u of t||[]){if(s&&!E(u.page))continue;let d=u.regexp.exec(o);if(d){r={name:u.page,params:d.groups};break}}}let x=await m({waitUntil:g.waitUntil},()=>_ENTRIES[`middleware_${e.name}`].default.call({},{request:{url:a.url,method:a.method,headers:y(a.headers),ip:c(a.headers,l.Ip),geo:{city:c(a.headers,l.City,!0),country:c(a.headers,l.Country,!0),latitude:c(a.headers,l.Latitude),longitude:c(a.headers,l.Longitude),region:c(a.headers,l.Region,!0)},nextConfig:e.nextConfig,page:r,body:a.body}}));return x.waitUntil&&g.waitUntil(x.waitUntil),x.response}}function c(e,n,t=!1){let i=e.get(n)||void 0;return t&&i?decodeURIComponent(i):i}function E(e){return e===\"/api\"||e.startsWith(\"/api/\")}var l;(function(o){o.City=\"x-vercel-ip-city\",o.Country=\"x-vercel-ip-country\",o.Ip=\"x-real-ip\",o.Latitude=\"x-vercel-ip-latitude\",o.Longitude=\"x-vercel-ip-longitude\",o.Region=\"x-vercel-ip-country-region\"})(l||(l={}));\n"
package/dist/index.js CHANGED
@@ -426,7 +426,7 @@ var require_superstatic = __commonJS({
426
426
  collectHasSegments: () => collectHasSegments,
427
427
  convertCleanUrls: () => convertCleanUrls,
428
428
  convertHeaders: () => convertHeaders2,
429
- convertRedirects: () => convertRedirects3,
429
+ convertRedirects: () => convertRedirects2,
430
430
  convertRewrites: () => convertRewrites2,
431
431
  convertTrailingSlash: () => convertTrailingSlash,
432
432
  getCleanUrls: () => getCleanUrls,
@@ -460,7 +460,7 @@ var require_superstatic = __commonJS({
460
460
  }
461
461
  return routes;
462
462
  }
463
- function convertRedirects3(redirects, defaultStatus = 308) {
463
+ function convertRedirects2(redirects, defaultStatus = 308) {
464
464
  return redirects.map((r) => {
465
465
  const { src, segments } = sourceToRegex(r.source);
466
466
  const hasSegments = collectHasSegments(r.has);
@@ -10244,7 +10244,7 @@ var require_bytes = __commonJS({
10244
10244
  var require_get_nextjs_edge_function = __commonJS({
10245
10245
  "dist/___get-nextjs-edge-function.js"(exports, module2) {
10246
10246
  "use strict";
10247
- module2.exports = 'var d=Object.defineProperty;var m=e=>d(e,"__esModule",{value:!0});var y=(e,r)=>{m(e);for(var t in r)d(e,t,{get:r[t],enumerable:!0})};y(exports,{default:()=>x});function h(e){let r={};return e&&e.forEach((t,i)=>{r[i]=t,i.toLowerCase()==="set-cookie"&&(r[i]=C(t))}),r}function C(e){let r=[],t=0,i,a,p,n,s;function c(){for(;t<e.length&&/\\s/.test(e.charAt(t));)t+=1;return t<e.length}function o(){return a=e.charAt(t),a!=="="&&a!==";"&&a!==","}for(;t<e.length;){for(i=t,s=!1;c();)if(a=e.charAt(t),a===","){for(p=t,t+=1,c(),n=t;t<e.length&&o();)t+=1;t<e.length&&e.charAt(t)==="="?(s=!0,t=n,r.push(e.substring(i,p)),i=t):t=p+1}else t+=1;(!s||t>=e.length)&&r.push(e.substring(i,e.length))}return r}function x(e){let r=e.staticRoutes.map(i=>({regexp:new RegExp(i.namedRegex),page:i.page})),t=e.dynamicRoutes?.map(i=>({regexp:new RegExp(i.namedRegex),page:i.page}))||[];return async function(a,p){let n=new URL(a.url).pathname,s={};if(e.nextConfig?.basePath&&n.startsWith(e.nextConfig.basePath)&&(n=n.replace(e.nextConfig.basePath,"")||"/"),e.nextConfig?.i18n)for(let o of e.nextConfig.i18n.locales){let g=new RegExp(`^/${o}($|/)`,"i");if(n.match(g)){n=n.replace(g,"/")||"/";break}}for(let o of r)if(o.regexp.exec(n)){s.name=o.page;break}if(!s.name){let o=R(n);for(let g of t||[]){if(o&&!R(g.page))continue;let f=g.regexp.exec(n);if(f){s={name:g.page,params:f.groups};break}}}let c=await _ENTRIES[`middleware_${e.name}`].default.call({},{request:{url:a.url,method:a.method,headers:h(a.headers),ip:u(a.headers,l.Ip),geo:{city:u(a.headers,l.City,!0),country:u(a.headers,l.Country,!0),latitude:u(a.headers,l.Latitude),longitude:u(a.headers,l.Longitude),region:u(a.headers,l.Region,!0)},nextConfig:e.nextConfig,page:s,body:a.body}});return p.waitUntil(c.waitUntil),c.response}}function u(e,r,t=!1){let i=e.get(r)||void 0;return t&&i?decodeURIComponent(i):i}function R(e){return e==="/api"||e.startsWith("/api/")}var l;(function(n){n.City="x-vercel-ip-city",n.Country="x-vercel-ip-country",n.Ip="x-real-ip",n.Latitude="x-vercel-ip-latitude",n.Longitude="x-vercel-ip-longitude",n.Region="x-vercel-ip-country-region"})(l||(l={}));\n';
10247
+ module2.exports = 'var b=Object.create;var p=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var h=e=>p(e,"__esModule",{value:!0});var _=(e,n)=>{h(e);for(var t in n)p(e,t,{get:n[t],enumerable:!0})},U=(e,n,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of T(n))!L.call(e,i)&&i!=="default"&&p(e,i,{get:()=>n[i],enumerable:!(t=w(n,i))||t.enumerable});return e},A=e=>U(h(p(e!=null?b(P(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);_(exports,{default:()=>N});var R=A(require("async_hooks")),S="@next/request-context",f=Symbol.for(S),C=Symbol.for("internal.storage");function O(){let e=globalThis;if(!e[f]){let n=new R.AsyncLocalStorage,t={get:()=>n.getStore(),[C]:n};e[f]=t}return e[f]}var q=O();function m(e,n){return q[C].run(e,n)}function y(e){let n={};return e&&e.forEach((t,i)=>{n[i]=t,i.toLowerCase()==="set-cookie"&&(n[i]=M(t))}),n}function M(e){let n=[],t=0,i,a,g,o,r;function x(){for(;t<e.length&&/\\s/.test(e.charAt(t));)t+=1;return t<e.length}function s(){return a=e.charAt(t),a!=="="&&a!==";"&&a!==","}for(;t<e.length;){for(i=t,r=!1;x();)if(a=e.charAt(t),a===","){for(g=t,t+=1,x(),o=t;t<e.length&&s();)t+=1;t<e.length&&e.charAt(t)==="="?(r=!0,t=o,n.push(e.substring(i,g)),i=t):t=g+1}else t+=1;(!r||t>=e.length)&&n.push(e.substring(i,e.length))}return n}function N(e){let n=e.staticRoutes.map(i=>({regexp:new RegExp(i.namedRegex),page:i.page})),t=e.dynamicRoutes?.map(i=>({regexp:new RegExp(i.namedRegex),page:i.page}))||[];return async function(a,g){let o=new URL(a.url).pathname,r={};if(e.nextConfig?.basePath&&o.startsWith(e.nextConfig.basePath)&&(o=o.replace(e.nextConfig.basePath,"")||"/"),e.nextConfig?.i18n)for(let s of e.nextConfig.i18n.locales){let u=new RegExp(`^/${s}($|/)`,"i");if(o.match(u)){o=o.replace(u,"/")||"/";break}}for(let s of n)if(s.regexp.exec(o)){r.name=s.page;break}if(!r.name){let s=E(o);for(let u of t||[]){if(s&&!E(u.page))continue;let d=u.regexp.exec(o);if(d){r={name:u.page,params:d.groups};break}}}let x=await m({waitUntil:g.waitUntil},()=>_ENTRIES[`middleware_${e.name}`].default.call({},{request:{url:a.url,method:a.method,headers:y(a.headers),ip:c(a.headers,l.Ip),geo:{city:c(a.headers,l.City,!0),country:c(a.headers,l.Country,!0),latitude:c(a.headers,l.Latitude),longitude:c(a.headers,l.Longitude),region:c(a.headers,l.Region,!0)},nextConfig:e.nextConfig,page:r,body:a.body}}));return x.waitUntil&&g.waitUntil(x.waitUntil),x.response}}function c(e,n,t=!1){let i=e.get(n)||void 0;return t&&i?decodeURIComponent(i):i}function E(e){return e==="/api"||e.startsWith("/api/")}var l;(function(o){o.City="x-vercel-ip-city",o.Country="x-vercel-ip-country",o.Ip="x-real-ip",o.Latitude="x-vercel-ip-latitude",o.Longitude="x-vercel-ip-longitude",o.Region="x-vercel-ip-country-region"})(l||(l={}));\n';
10248
10248
  }
10249
10249
  });
10250
10250
 
@@ -10367,7 +10367,7 @@ __export(src_exports, {
10367
10367
  });
10368
10368
  module.exports = __toCommonJS(src_exports);
10369
10369
  var import_build_utils3 = require("@vercel/build-utils");
10370
- var import_superstatic2 = __toESM(require_superstatic());
10370
+ var import_superstatic = __toESM(require_superstatic());
10371
10371
  var import_nft2 = require("@vercel/nft");
10372
10372
  var import_async_sema3 = __toESM(require_lib());
10373
10373
  var import_escape_string_regexp3 = __toESM(require_escape_string_regexp());
@@ -13083,7 +13083,6 @@ var import_resolve_from = __toESM(require_resolve_from());
13083
13083
  var import_fs_extra5 = __toESM(require_lib2());
13084
13084
  var import_escape_string_regexp2 = __toESM(require_escape_string_regexp());
13085
13085
  var import_pretty_bytes3 = __toESM(require_pretty_bytes());
13086
- var import_superstatic = __toESM(require_superstatic());
13087
13086
  var CORRECT_NOT_FOUND_ROUTES_VERSION = "v12.0.1";
13088
13087
  var CORRECT_MIDDLEWARE_ORDER_VERSION = "v12.1.7-canary.29";
13089
13088
  var NEXT_DATA_MIDDLEWARE_RESOLVING_VERSION = "v12.1.7-canary.33";
@@ -13127,6 +13126,7 @@ async function serverBuild({
13127
13126
  dynamicPrefix,
13128
13127
  entryDirectory,
13129
13128
  outputDirectory,
13129
+ redirects,
13130
13130
  beforeFilesRewrites,
13131
13131
  afterFilesRewrites,
13132
13132
  fallbackRewrites,
@@ -13147,6 +13147,7 @@ async function serverBuild({
13147
13147
  prerenderManifest,
13148
13148
  appPathRoutesManifest,
13149
13149
  omittedPrerenderRoutes,
13150
+ trailingSlashRedirects,
13150
13151
  isCorrectLocaleAPIRoutes,
13151
13152
  requiredServerFilesManifest,
13152
13153
  variantsManifest,
@@ -13519,7 +13520,7 @@ async function serverBuild({
13519
13520
  "utf8"
13520
13521
  );
13521
13522
  let launcher = launcherData.replace(
13522
- "const conf = __NEXT_CONFIG__",
13523
+ /(?:var|const) conf = __NEXT_CONFIG__/,
13523
13524
  `const conf = ${JSON.stringify({
13524
13525
  ...requiredServerFilesManifest.config,
13525
13526
  distDir: import_path4.default.relative(
@@ -14288,22 +14289,6 @@ ${JSON.stringify(
14288
14289
  lambdas[dataPathname] = lambdas[srcPathname];
14289
14290
  }
14290
14291
  }
14291
- const internalRedirects = [];
14292
- const userRedirects = [];
14293
- for (const redirect of routesManifest.redirects || []) {
14294
- if (redirect.internal) {
14295
- internalRedirects.push(redirect);
14296
- } else {
14297
- userRedirects.push(redirect);
14298
- }
14299
- }
14300
- const internalRedirectRoutes = (0, import_superstatic.convertRedirects)(internalRedirects).map(
14301
- (item) => {
14302
- item.continue = true;
14303
- return item;
14304
- }
14305
- );
14306
- const userRedirectRoutes = (0, import_superstatic.convertRedirects)(userRedirects);
14307
14292
  return {
14308
14293
  wildcard: wildcardConfig,
14309
14294
  images: getImagesConfig(imagesManifest),
@@ -14337,7 +14322,7 @@ ${JSON.stringify(
14337
14322
  // force trailingSlashRedirect to the very top so it doesn't
14338
14323
  // conflict with i18n routes that don't have or don't have the
14339
14324
  // trailing slash
14340
- ...internalRedirectRoutes,
14325
+ ...trailingSlashRedirects,
14341
14326
  ...privateOutputs.routes,
14342
14327
  // normalize _next/data URL before processing redirects
14343
14328
  ...normalizeNextDataRoute(true),
@@ -14442,7 +14427,7 @@ ${JSON.stringify(
14442
14427
  }
14443
14428
  ] : [],
14444
14429
  ...headers,
14445
- ...userRedirectRoutes,
14430
+ ...redirects,
14446
14431
  // middleware comes directly after redirects but before
14447
14432
  // beforeFiles rewrites as middleware is not a "file" route
14448
14433
  ...routesManifest?.skipMiddlewareUrlNormalize ? denormalizeNextDataRoute(true) : [],
@@ -15279,17 +15264,17 @@ More info: http://err.sh/vercel/vercel/next-functions-config-optimized-lambdas`
15279
15264
  case 2:
15280
15265
  case 3:
15281
15266
  case 4: {
15282
- redirects.push(...(0, import_superstatic2.convertRedirects)(routesManifest.redirects));
15267
+ redirects.push(...(0, import_superstatic.convertRedirects)(routesManifest.redirects));
15283
15268
  if (Array.isArray(routesManifest.rewrites)) {
15284
15269
  afterFilesRewrites.push(
15285
- ...(0, import_superstatic2.convertRewrites)(
15270
+ ...(0, import_superstatic.convertRewrites)(
15286
15271
  routesManifest.rewrites,
15287
15272
  routesManifest.i18n ? ["nextInternalLocale"] : void 0
15288
15273
  )
15289
15274
  );
15290
15275
  } else {
15291
15276
  beforeFilesRewrites.push(
15292
- ...(0, import_superstatic2.convertRewrites)(routesManifest.rewrites.beforeFiles).map((r) => {
15277
+ ...(0, import_superstatic.convertRewrites)(routesManifest.rewrites.beforeFiles).map((r) => {
15293
15278
  if ("check" in r) {
15294
15279
  if (beforeFilesShouldContinue) {
15295
15280
  delete r.check;
@@ -15301,14 +15286,14 @@ More info: http://err.sh/vercel/vercel/next-functions-config-optimized-lambdas`
15301
15286
  })
15302
15287
  );
15303
15288
  afterFilesRewrites.push(
15304
- ...(0, import_superstatic2.convertRewrites)(routesManifest.rewrites.afterFiles)
15289
+ ...(0, import_superstatic.convertRewrites)(routesManifest.rewrites.afterFiles)
15305
15290
  );
15306
15291
  fallbackRewrites.push(
15307
- ...(0, import_superstatic2.convertRewrites)(routesManifest.rewrites.fallback)
15292
+ ...(0, import_superstatic.convertRewrites)(routesManifest.rewrites.fallback)
15308
15293
  );
15309
15294
  }
15310
15295
  if (routesManifest.headers) {
15311
- headers.push(...(0, import_superstatic2.convertHeaders)(routesManifest.headers));
15296
+ headers.push(...(0, import_superstatic.convertHeaders)(routesManifest.headers));
15312
15297
  }
15313
15298
  if (import_semver4.default.gte(nextVersion, REDIRECTS_NO_STATIC_NEXT_VERSION)) {
15314
15299
  redirects.forEach(
@@ -15858,6 +15843,7 @@ More info: http://err.sh/vercel/vercel/next-functions-config-optimized-lambdas`
15858
15843
  afterFilesRewrites,
15859
15844
  fallbackRewrites,
15860
15845
  workPath,
15846
+ redirects,
15861
15847
  nodeVersion,
15862
15848
  dynamicPrefix,
15863
15849
  routesManifest,
@@ -15871,6 +15857,7 @@ More info: http://err.sh/vercel/vercel/next-functions-config-optimized-lambdas`
15871
15857
  buildId,
15872
15858
  escapedBuildId,
15873
15859
  outputDirectory,
15860
+ trailingSlashRedirects,
15874
15861
  requiredServerFilesManifest,
15875
15862
  privateOutputs,
15876
15863
  hasIsr404Page,
@@ -1,6 +1,38 @@
1
1
  "use strict";
2
+
3
+ // src/vercel-request-context.ts
4
+ var SYMBOL_FOR_REQ_CONTEXT = Symbol.for("@vercel/request-context");
5
+ function getContext() {
6
+ const fromSymbol = globalThis;
7
+ return fromSymbol[SYMBOL_FOR_REQ_CONTEXT]?.get?.() ?? {};
8
+ }
9
+
10
+ // src/next-request-context.ts
11
+ var import_async_hooks = require("async_hooks");
12
+ var name = "@next/request-context";
13
+ var NEXT_REQUEST_CONTEXT_SYMBOL = Symbol.for(name);
14
+ var INTERNAL_STORAGE_FIELD_SYMBOL = Symbol.for("internal.storage");
15
+ function getOrCreateContextSingleton() {
16
+ const _globalThis = globalThis;
17
+ if (!_globalThis[NEXT_REQUEST_CONTEXT_SYMBOL]) {
18
+ const storage = new import_async_hooks.AsyncLocalStorage();
19
+ const Context = {
20
+ get: () => storage.getStore(),
21
+ [INTERNAL_STORAGE_FIELD_SYMBOL]: storage
22
+ };
23
+ _globalThis[NEXT_REQUEST_CONTEXT_SYMBOL] = Context;
24
+ }
25
+ return _globalThis[NEXT_REQUEST_CONTEXT_SYMBOL];
26
+ }
27
+ var NextRequestContext = getOrCreateContextSingleton();
28
+ function withNextRequestContext(value, callback) {
29
+ const storage = NextRequestContext[INTERNAL_STORAGE_FIELD_SYMBOL];
30
+ return storage.run(value, callback);
31
+ }
32
+
33
+ // src/server-launcher.ts
2
34
  process.chdir(__dirname);
3
- const region = process.env.VERCEL_REGION || process.env.NOW_REGION;
35
+ var region = process.env.VERCEL_REGION || process.env.NOW_REGION;
4
36
  if (!process.env.NODE_ENV) {
5
37
  process.env.NODE_ENV = region === "dev1" ? "development" : "production";
6
38
  }
@@ -11,19 +43,25 @@ if (process.env.NODE_ENV !== "production" && region !== "dev1") {
11
43
  process.env.NODE_ENV = "production";
12
44
  }
13
45
  // @preserve pre-next-server-target
14
- const NextServer = require("__NEXT_SERVER_PATH__").default;
46
+ var NextServer = require("__NEXT_SERVER_PATH__").default;
15
47
  // @preserve next-server-preload-target
16
- const conf = __NEXT_CONFIG__;
17
- const nextServer = new NextServer({
48
+ var conf = __NEXT_CONFIG__;
49
+ var nextServer = new NextServer({
18
50
  conf,
19
51
  dir: ".",
20
52
  minimalMode: true,
21
53
  customServer: false
22
54
  });
23
- const serve = (handler) => async (req, res) => {
55
+ var serve = (handler) => async (req, res) => {
24
56
  try {
25
- // @preserve entryDirectory handler
26
- await handler(req, res);
57
+ const vercelContext = getContext();
58
+ await withNextRequestContext(
59
+ { waitUntil: vercelContext.waitUntil },
60
+ () => {
61
+ // @preserve entryDirectory handler
62
+ return handler(req, res);
63
+ }
64
+ );
27
65
  } catch (err) {
28
66
  console.error(err);
29
67
  process.exit(1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/next",
3
- "version": "4.3.20",
3
+ "version": "4.4.0",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/index",
6
6
  "homepage": "https://vercel.com/docs/runtimes#official-runtimes/next-js",
@@ -30,7 +30,7 @@
30
30
  "@types/semver": "6.0.0",
31
31
  "@types/text-table": "0.2.1",
32
32
  "@types/webpack-sources": "3.2.0",
33
- "@vercel/build-utils": "8.4.12",
33
+ "@vercel/build-utils": "8.6.0",
34
34
  "@vercel/routing-utils": "3.1.0",
35
35
  "async-sema": "3.0.1",
36
36
  "buffer-crc32": "0.2.13",