@vercel/next 4.3.21 → 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
@@ -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
 
@@ -13520,7 +13520,7 @@ async function serverBuild({
13520
13520
  "utf8"
13521
13521
  );
13522
13522
  let launcher = launcherData.replace(
13523
- "const conf = __NEXT_CONFIG__",
13523
+ /(?:var|const) conf = __NEXT_CONFIG__/,
13524
13524
  `const conf = ${JSON.stringify({
13525
13525
  ...requiredServerFilesManifest.config,
13526
13526
  distDir: import_path4.default.relative(
@@ -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.21",
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",