@netlify/plugin-nextjs 5.13.2 → 5.13.4

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.
@@ -195,7 +195,13 @@ var copyNextDependencies = async (ctx) => {
195
195
  }
196
196
  const src = join(ctx.standaloneDir, entry);
197
197
  const dest = join(ctx.serverHandlerDir, entry);
198
- await cp(src, dest, { recursive: true, verbatimSymlinks: true, force: true });
198
+ const filter = ctx.constants.IS_LOCAL ? void 0 : nodeModulesFilter;
199
+ await cp(src, dest, {
200
+ recursive: true,
201
+ verbatimSymlinks: true,
202
+ force: true,
203
+ filter
204
+ });
199
205
  if (entry === "node_modules") {
200
206
  await recreateNodeModuleSymlinks(ctx.resolveFromSiteDir("node_modules"), dest);
201
207
  }
@@ -295,6 +301,12 @@ var verifyHandlerDirStructure = async (ctx) => {
295
301
  );
296
302
  }
297
303
  };
304
+ var nodeModulesFilter = async (sourcePath) => {
305
+ if (sourcePath.includes(".pnpm") && (sourcePath.includes("linuxmusl-x64") || sourcePath.includes("linux-x64-musl"))) {
306
+ return false;
307
+ }
308
+ return true;
309
+ };
298
310
  export {
299
311
  copyNextDependencies,
300
312
  copyNextServerCode,
@@ -405,7 +405,7 @@ var require_dist = __commonJS({
405
405
  // src/build/functions/edge.ts
406
406
  var import_fast_glob = __toESM(require_out(), 1);
407
407
  var import_path_to_regexp = __toESM(require_dist(), 1);
408
- import { cp, mkdir, readFile, rm, writeFile } from "node:fs/promises";
408
+ import { cp, mkdir, readdir, readFile, rm, stat, writeFile } from "node:fs/promises";
409
409
  import { dirname, join, relative } from "node:path/posix";
410
410
  import { EDGE_HANDLER_NAME } from "../plugin-context.js";
411
411
  function nodeMiddlewareDefinitionHasMatcher(definition) {
@@ -574,12 +574,23 @@ Check https://docs.netlify.com/build/frameworks/framework-setup-guides/nextjs/ov
574
574
  }
575
575
  const commonPrefix = relative(join(srcDir, maxParentDirectoriesPath), srcDir);
576
576
  parts.push(`const virtualModules = new Map();`);
577
+ const handleFileOrDirectory = async (fileOrDir) => {
578
+ const srcPath = join(srcDir, fileOrDir);
579
+ const stats = await stat(srcPath);
580
+ if (stats.isDirectory()) {
581
+ const filesInDir = await readdir(srcPath);
582
+ for (const fileInDir of filesInDir) {
583
+ await handleFileOrDirectory(join(fileOrDir, fileInDir));
584
+ }
585
+ } else {
586
+ const content = await readFile(srcPath, "utf8");
587
+ parts.push(
588
+ `virtualModules.set(${JSON.stringify(join(commonPrefix, fileOrDir))}, ${JSON.stringify(content)});`
589
+ );
590
+ }
591
+ };
577
592
  for (const file of files) {
578
- const srcPath = join(srcDir, file);
579
- const content = await readFile(srcPath, "utf8");
580
- parts.push(
581
- `virtualModules.set(${JSON.stringify(join(commonPrefix, file))}, ${JSON.stringify(content)});`
582
- );
593
+ await handleFileOrDirectory(file);
583
594
  }
584
595
  parts.push(`registerCJSModules(import.meta.url, virtualModules);
585
596
 
@@ -599,16 +610,11 @@ var createEdgeHandler = async (ctx, definition) => {
599
610
  };
600
611
  var getHandlerName = ({ name }) => `${EDGE_HANDLER_NAME}-${name.replace(/\W/g, "-")}`;
601
612
  var buildHandlerDefinition = (ctx, def) => {
602
- const functionHandlerName = getHandlerName({ name: def.name });
603
- const functionName = "Next.js Middleware Handler";
604
- const cache = def.name.endsWith("middleware") ? void 0 : "manual";
605
- const generator = `${ctx.pluginName}@${ctx.pluginVersion}`;
606
613
  return augmentMatchers(def.matchers, ctx).map((matcher) => ({
607
- function: functionHandlerName,
608
- name: functionName,
614
+ function: getHandlerName({ name: def.name }),
615
+ name: "Next.js Middleware Handler",
609
616
  pattern: matcher.regexp,
610
- cache,
611
- generator
617
+ generator: `${ctx.pluginName}@${ctx.pluginVersion}`
612
618
  }));
613
619
  };
614
620
  var clearStaleEdgeHandlers = async (ctx) => {
@@ -25,12 +25,12 @@ var DEFAULT_PUBLISH_DIR = ".next";
25
25
  var SERVER_HANDLER_NAME = "___netlify-server-handler";
26
26
  var EDGE_HANDLER_NAME = "___netlify-edge-handler";
27
27
  var PluginContext = class {
28
+ constants;
28
29
  featureFlags;
29
30
  netlifyConfig;
30
31
  pluginName;
31
32
  pluginVersion;
32
33
  utils;
33
- constants;
34
34
  packageJSON;
35
35
  /** Absolute path of the next runtime plugin directory */
36
36
  pluginDir = PLUGIN_DIR;
@@ -86,7 +86,7 @@ var pipeline = (0, import_util.promisify)(import_stream.pipeline);
86
86
 
87
87
  // package.json
88
88
  var name = "@netlify/plugin-nextjs";
89
- var version = "5.13.2";
89
+ var version = "5.13.4";
90
90
 
91
91
  // src/run/handlers/tags-handler.cts
92
92
  var import_storage = require("../storage/storage.cjs");
package/dist/run/next.cjs CHANGED
@@ -53,53 +53,48 @@ var require_patchFs = __commonJS({
53
53
  });
54
54
  exports2["default"] = patchFs2;
55
55
  var _lists = require_lists();
56
- function _createForOfIteratorHelper(o, allowArrayLike) {
57
- var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
58
- if (!it) {
59
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
60
- if (it) o = it;
61
- var i = 0;
62
- var F = function F2() {
56
+ function _createForOfIteratorHelper(r, e) {
57
+ var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
58
+ if (!t) {
59
+ if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
60
+ t && (r = t);
61
+ var _n = 0, F = function F2() {
63
62
  };
64
63
  return { s: F, n: function n() {
65
- if (i >= o.length) return { done: true };
66
- return { done: false, value: o[i++] };
67
- }, e: function e(_e) {
68
- throw _e;
64
+ return _n >= r.length ? { done: true } : { done: false, value: r[_n++] };
65
+ }, e: function e2(r2) {
66
+ throw r2;
69
67
  }, f: F };
70
68
  }
71
69
  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
72
70
  }
73
- var normalCompletion = true, didErr = false, err;
71
+ var o, a = true, u = false;
74
72
  return { s: function s() {
75
- it = it.call(o);
73
+ t = t.call(r);
76
74
  }, n: function n() {
77
- var step = it.next();
78
- normalCompletion = step.done;
79
- return step;
80
- }, e: function e(_e2) {
81
- didErr = true;
82
- err = _e2;
75
+ var r2 = t.next();
76
+ return a = r2.done, r2;
77
+ }, e: function e2(r2) {
78
+ u = true, o = r2;
83
79
  }, f: function f() {
84
80
  try {
85
- if (!normalCompletion && it["return"] != null) it["return"]();
81
+ a || null == t["return"] || t["return"]();
86
82
  } finally {
87
- if (didErr) throw err;
83
+ if (u) throw o;
88
84
  }
89
85
  } };
90
86
  }
91
- function _unsupportedIterableToArray(o, minLen) {
92
- if (!o) return;
93
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
94
- var n = Object.prototype.toString.call(o).slice(8, -1);
95
- if (n === "Object" && o.constructor) n = o.constructor.name;
96
- if (n === "Map" || n === "Set") return Array.from(o);
97
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
87
+ function _unsupportedIterableToArray(r, a) {
88
+ if (r) {
89
+ if ("string" == typeof r) return _arrayLikeToArray(r, a);
90
+ var t = {}.toString.call(r).slice(8, -1);
91
+ return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
92
+ }
98
93
  }
99
- function _arrayLikeToArray(arr, len) {
100
- if (len == null || len > arr.length) len = arr.length;
101
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
102
- return arr2;
94
+ function _arrayLikeToArray(r, a) {
95
+ (null == a || a > r.length) && (a = r.length);
96
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
97
+ return n;
103
98
  }
104
99
  function patchFs2(vol) {
105
100
  var fs2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : require("fs");
@@ -157,8 +152,25 @@ var require_patchFs = __commonJS({
157
152
  } finally {
158
153
  _iterator3.f();
159
154
  }
155
+ var promisesBackup;
156
+ try {
157
+ promisesBackup = fs2.promises;
158
+ Object.defineProperty(fs2, "promises", {
159
+ get: function get2() {
160
+ return vol.promises;
161
+ }
162
+ });
163
+ } catch (_unused) {
164
+ }
160
165
  return function unpatch() {
161
166
  for (var key in bkp) fs2[key] = bkp[key];
167
+ if (promisesBackup) {
168
+ Object.defineProperty(fs2, "promises", {
169
+ get: function get2() {
170
+ return promisesBackup;
171
+ }
172
+ });
173
+ }
162
174
  };
163
175
  }
164
176
  }
@@ -229,24 +241,19 @@ var require_patchRequire = __commonJS({
229
241
  });
230
242
  exports2["default"] = patchRequire;
231
243
  var path = _interopRequireWildcard(require("path"));
232
- function _getRequireWildcardCache(e) {
233
- if ("function" != typeof WeakMap) return null;
234
- var r = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new WeakMap();
235
- return (_getRequireWildcardCache = function _getRequireWildcardCache2(e2) {
236
- return e2 ? t : r;
237
- })(e);
238
- }
239
- function _interopRequireWildcard(e, r) {
240
- if (!r && e && e.__esModule) return e;
241
- if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e };
242
- var t = _getRequireWildcardCache(r);
243
- if (t && t.has(e)) return t.get(e);
244
- var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
245
- for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
246
- var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
247
- i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
248
- }
249
- return n["default"] = e, t && t.set(e, n), n;
244
+ function _interopRequireWildcard(e, t) {
245
+ if ("function" == typeof WeakMap) var r = /* @__PURE__ */ new WeakMap(), n = /* @__PURE__ */ new WeakMap();
246
+ return (_interopRequireWildcard = function _interopRequireWildcard2(e2, t2) {
247
+ if (!t2 && e2 && e2.__esModule) return e2;
248
+ var o, i, f = { __proto__: null, "default": e2 };
249
+ if (null === e2 || "object" != _typeof(e2) && "function" != typeof e2) return f;
250
+ if (o = t2 ? n : r) {
251
+ if (o.has(e2)) return o.get(e2);
252
+ o.set(e2, f);
253
+ }
254
+ for (var _t in e2) "default" !== _t && {}.hasOwnProperty.call(e2, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e2, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e2[_t]);
255
+ return f;
256
+ })(e, t);
250
257
  }
251
258
  var isWin32 = process.platform === "win32";
252
259
  var correctPath = isWin32 ? require_correctPath().correctPath : function(p) {
@@ -457,27 +464,22 @@ var require_lib = __commonJS({
457
464
  var _correctPath = require_correctPath();
458
465
  var util = _interopRequireWildcard(require_lists());
459
466
  exports2.util = util;
460
- function _getRequireWildcardCache(e) {
461
- if ("function" != typeof WeakMap) return null;
462
- var r = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new WeakMap();
463
- return (_getRequireWildcardCache = function _getRequireWildcardCache2(e2) {
464
- return e2 ? t : r;
465
- })(e);
466
- }
467
- function _interopRequireWildcard(e, r) {
468
- if (!r && e && e.__esModule) return e;
469
- if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e };
470
- var t = _getRequireWildcardCache(r);
471
- if (t && t.has(e)) return t.get(e);
472
- var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
473
- for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
474
- var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
475
- i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
476
- }
477
- return n["default"] = e, t && t.set(e, n), n;
467
+ function _interopRequireWildcard(e, t) {
468
+ if ("function" == typeof WeakMap) var r = /* @__PURE__ */ new WeakMap(), n = /* @__PURE__ */ new WeakMap();
469
+ return (_interopRequireWildcard = function _interopRequireWildcard2(e2, t2) {
470
+ if (!t2 && e2 && e2.__esModule) return e2;
471
+ var o, i, f = { __proto__: null, "default": e2 };
472
+ if (null === e2 || "object" != _typeof(e2) && "function" != typeof e2) return f;
473
+ if (o = t2 ? n : r) {
474
+ if (o.has(e2)) return o.get(e2);
475
+ o.set(e2, f);
476
+ }
477
+ for (var _t in e2) "default" !== _t && {}.hasOwnProperty.call(e2, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e2, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e2[_t]);
478
+ return f;
479
+ })(e, t);
478
480
  }
479
- function _interopRequireDefault(obj) {
480
- return obj && obj.__esModule ? obj : { "default": obj };
481
+ function _interopRequireDefault(e) {
482
+ return e && e.__esModule ? e : { "default": e };
481
483
  }
482
484
  }
483
485
  });
@@ -210,7 +210,7 @@ export const buildResponse = async ({
210
210
  logger.withFields({ redirect_url: redirect }).debug('Redirect url is same as original url')
211
211
  return
212
212
  }
213
- edgeResponse.headers.set('location', redirect)
213
+ edgeResponse.headers.set('location', relativizeURL(redirect, request.url))
214
214
  }
215
215
 
216
216
  // Data requests shouldn't automatically redirect in the browser (they might be HTML pages): they're handled by the router
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netlify/plugin-nextjs",
3
- "version": "5.13.2",
3
+ "version": "5.13.4",
4
4
  "description": "Run Next.js seamlessly on Netlify",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",