next 14.2.30 → 14.2.32

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 (38) hide show
  1. package/dist/bin/next +1 -1
  2. package/dist/build/index.js +1 -1
  3. package/dist/build/swc/index.js +1 -1
  4. package/dist/build/webpack-config.js +2 -2
  5. package/dist/client/app-bootstrap.js +1 -1
  6. package/dist/client/index.js +1 -1
  7. package/dist/esm/build/index.js +1 -1
  8. package/dist/esm/build/swc/index.js +1 -1
  9. package/dist/esm/build/webpack-config.js +2 -2
  10. package/dist/esm/client/app-bootstrap.js +1 -1
  11. package/dist/esm/client/index.js +1 -1
  12. package/dist/esm/server/config.js +1 -1
  13. package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
  14. package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
  15. package/dist/esm/server/image-optimizer.js +150 -34
  16. package/dist/esm/server/image-optimizer.js.map +1 -1
  17. package/dist/esm/server/lib/app-info-log.js +1 -1
  18. package/dist/esm/server/lib/router-utils/resolve-routes.js +26 -10
  19. package/dist/esm/server/lib/router-utils/resolve-routes.js.map +1 -1
  20. package/dist/esm/server/lib/start-server.js +1 -1
  21. package/dist/esm/server/serve-static.js +9 -0
  22. package/dist/esm/server/serve-static.js.map +1 -1
  23. package/dist/server/config.js +1 -1
  24. package/dist/server/dev/hot-reloader-turbopack.js +1 -1
  25. package/dist/server/dev/hot-reloader-webpack.js +1 -1
  26. package/dist/server/image-optimizer.d.ts +1 -1
  27. package/dist/server/image-optimizer.js +150 -34
  28. package/dist/server/image-optimizer.js.map +1 -1
  29. package/dist/server/lib/app-info-log.js +1 -1
  30. package/dist/server/lib/router-utils/resolve-routes.js +25 -9
  31. package/dist/server/lib/router-utils/resolve-routes.js.map +1 -1
  32. package/dist/server/lib/start-server.js +1 -1
  33. package/dist/server/serve-static.js +9 -0
  34. package/dist/server/serve-static.js.map +1 -1
  35. package/dist/telemetry/anonymous-meta.js +1 -1
  36. package/dist/telemetry/events/session-stopped.js +2 -2
  37. package/dist/telemetry/events/version.js +2 -2
  38. package/package.json +15 -15
package/dist/bin/next CHANGED
@@ -71,7 +71,7 @@ const program = new MyRootCommand();
71
71
  program.name("next").description("The Next.js CLI allows you to develop, build, start your application, and more.").configureHelp({
72
72
  formatHelp: (cmd, helper)=>(0, _formatclihelpoutput.formatCliHelpOutput)(cmd, helper),
73
73
  subcommandTerm: (cmd)=>`${cmd.name()} ${cmd.usage()}`
74
- }).helpCommand(false).helpOption("-h, --help", "Displays this message.").version(`Next.js v${"14.2.30"}`, "-v, --version", "Outputs the Next.js version.");
74
+ }).helpCommand(false).helpOption("-h, --help", "Displays this message.").version(`Next.js v${"14.2.32"}`, "-v, --version", "Outputs the Next.js version.");
75
75
  program.command("build").description("Creates an optimized production build of your application. The output displays information about each route.").argument("[directory]", `A directory on which to build the application. ${(0, _picocolors.italic)("If no directory is provided, the current directory will be used.")}`).option("-d, --debug", "Enables a more verbose build output.").option("--no-lint", "Disables linting.").option("--no-mangling", "Disables mangling.").option("--profile", "Enables production profiling for React.").option("--experimental-app-only", "Builds only App Router routes.").addOption(new _commander.Option("--experimental-turbo").hideHelp()).addOption(new _commander.Option("--experimental-build-mode [mode]", "Uses an experimental build mode.").choices([
76
76
  "compile",
77
77
  "generate"
@@ -358,7 +358,7 @@ async function build(dir, reactProductionProfiling = false, debugOutput = false,
358
358
  const nextBuildSpan = (0, _trace.trace)("next-build", undefined, {
359
359
  buildMode: experimentalBuildMode,
360
360
  isTurboBuild: String(turboNextBuild),
361
- version: "14.2.30"
361
+ version: "14.2.32"
362
362
  });
363
363
  _buildcontext.NextBuildContext.nextBuildSpan = nextBuildSpan;
364
364
  _buildcontext.NextBuildContext.dir = dir;
@@ -129,7 +129,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
129
129
  }
130
130
  return newObj;
131
131
  }
132
- const nextVersion = "14.2.30";
132
+ const nextVersion = "14.2.32";
133
133
  const ArchName = (0, _os.arch)();
134
134
  const PlatformName = (0, _os.platform)();
135
135
  const infoLog = (...args)=>{
@@ -1515,7 +1515,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1515
1515
  new _wellknownerrorsplugin.WellKnownErrorsPlugin(),
1516
1516
  isClient && new _copyfileplugin.CopyFilePlugin({
1517
1517
  filePath: require.resolve("./polyfills/polyfill-nomodule"),
1518
- cacheKey: "14.2.30",
1518
+ cacheKey: "14.2.32",
1519
1519
  name: `static/chunks/polyfills${dev ? "" : "-[hash]"}.js`,
1520
1520
  minimize: false,
1521
1521
  info: {
@@ -1743,7 +1743,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1743
1743
  // - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
1744
1744
  // - Next.js version
1745
1745
  // - next.config.js keys that affect compilation
1746
- version: `${__dirname}|${"14.2.30"}|${configVars}`,
1746
+ version: `${__dirname}|${"14.2.32"}|${configVars}`,
1747
1747
  cacheDirectory: _path.default.join(distDir, "cache", "webpack"),
1748
1748
  // For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
1749
1749
  // So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "appBootstrap", {
13
13
  return appBootstrap;
14
14
  }
15
15
  });
16
- const version = "14.2.30";
16
+ const version = "14.2.32";
17
17
  window.next = {
18
18
  version,
19
19
  appDir: true
@@ -62,7 +62,7 @@ const _hooksclientcontextsharedruntime = require("../shared/lib/hooks-client-con
62
62
  const _onrecoverableerror = /*#__PURE__*/ _interop_require_default._(require("./on-recoverable-error"));
63
63
  const _tracer = /*#__PURE__*/ _interop_require_default._(require("./tracing/tracer"));
64
64
  const _reporttosocket = /*#__PURE__*/ _interop_require_default._(require("./tracing/report-to-socket"));
65
- const version = "14.2.30";
65
+ const version = "14.2.32";
66
66
  let router;
67
67
  const emitter = (0, _mitt.default)();
68
68
  const looseToArray = (input)=>[].slice.call(input);
@@ -302,7 +302,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
302
302
  const nextBuildSpan = trace("next-build", undefined, {
303
303
  buildMode: experimentalBuildMode,
304
304
  isTurboBuild: String(turboNextBuild),
305
- version: "14.2.30"
305
+ version: "14.2.32"
306
306
  });
307
307
  NextBuildContext.nextBuildSpan = nextBuildSpan;
308
308
  NextBuildContext.dir = dir;
@@ -9,7 +9,7 @@ import { patchIncorrectLockfile } from "../../lib/patch-incorrect-lockfile";
9
9
  import { downloadNativeNextSwc, downloadWasmSwc } from "../../lib/download-swc";
10
10
  import { isDeepStrictEqual } from "util";
11
11
  import { getDefineEnv } from "../webpack/plugins/define-env-plugin";
12
- const nextVersion = "14.2.30";
12
+ const nextVersion = "14.2.32";
13
13
  const ArchName = arch();
14
14
  const PlatformName = platform();
15
15
  const infoLog = (...args)=>{
@@ -1408,7 +1408,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
1408
1408
  new WellKnownErrorsPlugin(),
1409
1409
  isClient && new CopyFilePlugin({
1410
1410
  filePath: require.resolve("./polyfills/polyfill-nomodule"),
1411
- cacheKey: "14.2.30",
1411
+ cacheKey: "14.2.32",
1412
1412
  name: `static/chunks/polyfills${dev ? "" : "-[hash]"}.js`,
1413
1413
  minimize: false,
1414
1414
  info: {
@@ -1636,7 +1636,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
1636
1636
  // - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
1637
1637
  // - Next.js version
1638
1638
  // - next.config.js keys that affect compilation
1639
- version: `${__dirname}|${"14.2.30"}|${configVars}`,
1639
+ version: `${__dirname}|${"14.2.32"}|${configVars}`,
1640
1640
  cacheDirectory: path.join(distDir, "cache", "webpack"),
1641
1641
  // For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
1642
1642
  // So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
@@ -3,7 +3,7 @@
3
3
  * sure the following scripts are executed in the correct order:
4
4
  * - Polyfills
5
5
  * - next/script with `beforeInteractive` strategy
6
- */ const version = "14.2.30";
6
+ */ const version = "14.2.32";
7
7
  window.next = {
8
8
  version,
9
9
  appDir: true
@@ -26,7 +26,7 @@ import { SearchParamsContext, PathParamsContext } from "../shared/lib/hooks-clie
26
26
  import onRecoverableError from "./on-recoverable-error";
27
27
  import tracer from "./tracing/tracer";
28
28
  import reportToSocket from "./tracing/report-to-socket";
29
- export const version = "14.2.30";
29
+ export const version = "14.2.32";
30
30
  export let router;
31
31
  export const emitter = mitt();
32
32
  const looseToArray = (input)=>[].slice.call(input);
@@ -184,7 +184,7 @@ function assignDefaults(dir, userConfig, silent) {
184
184
  ...defaultConfig,
185
185
  ...config
186
186
  };
187
- if (((_result_experimental = result.experimental) == null ? void 0 : _result_experimental.ppr) && !"14.2.30".includes("canary") && !process.env.__NEXT_TEST_MODE) {
187
+ if (((_result_experimental = result.experimental) == null ? void 0 : _result_experimental.ppr) && !"14.2.32".includes("canary") && !process.env.__NEXT_TEST_MODE) {
188
188
  throw new Error(`The experimental.ppr preview feature can only be enabled when using the latest canary version of Next.js. See more info here: https://nextjs.org/docs/messages/ppr-preview`);
189
189
  }
190
190
  if (result.output === "export") {
@@ -40,7 +40,7 @@ export async function createHotReloaderTurbopack(opts, serverFields, distDir) {
40
40
  }
41
41
  const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
42
42
  const hotReloaderSpan = trace("hot-reloader", undefined, {
43
- version: "14.2.30"
43
+ version: "14.2.32"
44
44
  });
45
45
  // Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
46
46
  // of the current `next dev` invocation.
@@ -189,7 +189,7 @@ export default class HotReloaderWebpack {
189
189
  this.previewProps = previewProps;
190
190
  this.rewrites = rewrites;
191
191
  this.hotReloaderSpan = trace("hot-reloader", undefined, {
192
- version: "14.2.30"
192
+ version: "14.2.32"
193
193
  });
194
194
  // Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
195
195
  // of the current `next dev` invocation.
@@ -20,17 +20,29 @@ const AVIF = "image/avif";
20
20
  const WEBP = "image/webp";
21
21
  const PNG = "image/png";
22
22
  const JPEG = "image/jpeg";
23
+ const JXL = "image/jxl";
24
+ const JP2 = "image/jp2";
25
+ const HEIC = "image/heic";
23
26
  const GIF = "image/gif";
24
27
  const SVG = "image/svg+xml";
25
28
  const ICO = "image/x-icon";
29
+ const ICNS = "image/x-icns";
30
+ const TIFF = "image/tiff";
31
+ const BMP = "image/bmp";
32
+ const PDF = "application/pdf";
26
33
  const CACHE_VERSION = 3;
27
34
  const ANIMATABLE_TYPES = [
28
35
  WEBP,
29
36
  PNG,
30
37
  GIF
31
38
  ];
32
- const VECTOR_TYPES = [
33
- SVG
39
+ const BYPASS_TYPES = [
40
+ SVG,
41
+ ICO,
42
+ ICNS,
43
+ BMP,
44
+ JXL,
45
+ HEIC
34
46
  ];
35
47
  const BLUR_IMG_SIZE = 8 // should match `next-image-loader`
36
48
  ;
@@ -80,7 +92,7 @@ async function writeToCacheDir(dir, extension, maxAge, expireAt, buffer, etag) {
80
92
  * Inspects the first few bytes of a buffer to determine if
81
93
  * it matches the "magic number" of known file signatures.
82
94
  * https://en.wikipedia.org/wiki/List_of_file_signatures
83
- */ export function detectContentType(buffer) {
95
+ */ export async function detectContentType(buffer) {
84
96
  if ([
85
97
  0xff,
86
98
  0xd8,
@@ -157,6 +169,117 @@ async function writeToCacheDir(dir, extension, maxAge, expireAt, buffer, etag) {
157
169
  ].every((b, i)=>buffer[i] === b)) {
158
170
  return ICO;
159
171
  }
172
+ if ([
173
+ 0x69,
174
+ 0x63,
175
+ 0x6e,
176
+ 0x73
177
+ ].every((b, i)=>buffer[i] === b)) {
178
+ return ICNS;
179
+ }
180
+ if ([
181
+ 0x49,
182
+ 0x49,
183
+ 0x2a,
184
+ 0x00
185
+ ].every((b, i)=>buffer[i] === b)) {
186
+ return TIFF;
187
+ }
188
+ if ([
189
+ 0x42,
190
+ 0x4d
191
+ ].every((b, i)=>buffer[i] === b)) {
192
+ return BMP;
193
+ }
194
+ if ([
195
+ 0xff,
196
+ 0x0a
197
+ ].every((b, i)=>buffer[i] === b)) {
198
+ return JXL;
199
+ }
200
+ if ([
201
+ 0x00,
202
+ 0x00,
203
+ 0x00,
204
+ 0x0c,
205
+ 0x4a,
206
+ 0x58,
207
+ 0x4c,
208
+ 0x20,
209
+ 0x0d,
210
+ 0x0a,
211
+ 0x87,
212
+ 0x0a
213
+ ].every((b, i)=>buffer[i] === b)) {
214
+ return JXL;
215
+ }
216
+ if ([
217
+ 0,
218
+ 0,
219
+ 0,
220
+ 0,
221
+ 0x66,
222
+ 0x74,
223
+ 0x79,
224
+ 0x70,
225
+ 0x68,
226
+ 0x65,
227
+ 0x69,
228
+ 0x63
229
+ ].every((b, i)=>!b || buffer[i] === b)) {
230
+ return HEIC;
231
+ }
232
+ if ([
233
+ 0x25,
234
+ 0x50,
235
+ 0x44,
236
+ 0x46,
237
+ 0x2d
238
+ ].every((b, i)=>buffer[i] === b)) {
239
+ return PDF;
240
+ }
241
+ if ([
242
+ 0x00,
243
+ 0x00,
244
+ 0x00,
245
+ 0x0c,
246
+ 0x6a,
247
+ 0x50,
248
+ 0x20,
249
+ 0x20,
250
+ 0x0d,
251
+ 0x0a,
252
+ 0x87,
253
+ 0x0a
254
+ ].every((b, i)=>buffer[i] === b)) {
255
+ return JP2;
256
+ }
257
+ // Fallback to sharp if available
258
+ if (sharp) {
259
+ const meta = await sharp(buffer).metadata().catch((_)=>null);
260
+ switch(meta == null ? void 0 : meta.format){
261
+ case "avif":
262
+ return AVIF;
263
+ case "webp":
264
+ return WEBP;
265
+ case "png":
266
+ return PNG;
267
+ case "jpeg":
268
+ case "jpg":
269
+ return JPEG;
270
+ case "gif":
271
+ return GIF;
272
+ case "svg":
273
+ return SVG;
274
+ case "tiff":
275
+ case "tif":
276
+ return TIFF;
277
+ case "heif":
278
+ return HEIC;
279
+ default:
280
+ return null;
281
+ }
282
+ }
160
283
  return null;
161
284
  }
162
285
  export class ImageOptimizerCache {
@@ -516,7 +639,6 @@ export async function fetchInternalImage(href, _req, _res, handleRequest) {
516
639
  const mocked = createRequestResponseMocks({
517
640
  url: href,
518
641
  method: _req.method || "GET",
519
- headers: _req.headers,
520
642
  socket: _req.socket
521
643
  });
522
644
  await handleRequest(mocked.req, mocked.res, nodeUrl.parse(href, true));
@@ -539,43 +661,37 @@ export async function fetchInternalImage(href, _req, _res, handleRequest) {
539
661
  }
540
662
  }
541
663
  export async function imageOptimizer(imageUpstream, paramsResult, nextConfig, isDev) {
542
- var _imageUpstream_contentType;
543
664
  const { href, quality, width, mimeType } = paramsResult;
544
665
  const upstreamBuffer = imageUpstream.buffer;
545
666
  const maxAge = getMaxAge(imageUpstream.cacheControl);
546
- const upstreamType = detectContentType(upstreamBuffer) || ((_imageUpstream_contentType = imageUpstream.contentType) == null ? void 0 : _imageUpstream_contentType.toLowerCase().trim());
547
- if (upstreamType) {
548
- if (upstreamType.startsWith("image/svg") && !nextConfig.images.dangerouslyAllowSVG) {
549
- Log.error(`The requested resource "${href}" has type "${upstreamType}" but dangerouslyAllowSVG is disabled`);
550
- throw new ImageError(400, '"url" parameter is valid but image type is not allowed');
551
- }
552
- if (ANIMATABLE_TYPES.includes(upstreamType) && isAnimated(upstreamBuffer)) {
553
- Log.warnOnce(`The requested resource "${href}" is an animated image so it will not be optimized. Consider adding the "unoptimized" property to the <Image>.`);
554
- return {
555
- buffer: upstreamBuffer,
556
- contentType: upstreamType,
557
- maxAge
558
- };
559
- }
560
- if (VECTOR_TYPES.includes(upstreamType)) {
561
- // We don't warn here because we already know that "dangerouslyAllowSVG"
562
- // was enabled above, therefore the user explicitly opted in.
563
- // If we add more VECTOR_TYPES besides SVG, perhaps we could warn for those.
564
- return {
565
- buffer: upstreamBuffer,
566
- contentType: upstreamType,
567
- maxAge
568
- };
569
- }
570
- if (!upstreamType.startsWith("image/") || upstreamType.includes(",")) {
571
- Log.error("The requested resource isn't a valid image for", href, "received", upstreamType);
572
- throw new ImageError(400, "The requested resource isn't a valid image.");
573
- }
667
+ const upstreamType = await detectContentType(upstreamBuffer);
668
+ if (!upstreamType || !upstreamType.startsWith("image/") || upstreamType.includes(",")) {
669
+ Log.error("The requested resource isn't a valid image for", href, "received", upstreamType);
670
+ throw new ImageError(400, "The requested resource isn't a valid image.");
671
+ }
672
+ if (upstreamType.startsWith("image/svg") && !nextConfig.images.dangerouslyAllowSVG) {
673
+ Log.error(`The requested resource "${href}" has type "${upstreamType}" but dangerouslyAllowSVG is disabled`);
674
+ throw new ImageError(400, '"url" parameter is valid but image type is not allowed');
675
+ }
676
+ if (ANIMATABLE_TYPES.includes(upstreamType) && isAnimated(upstreamBuffer)) {
677
+ Log.warnOnce(`The requested resource "${href}" is an animated image so it will not be optimized. Consider adding the "unoptimized" property to the <Image>.`);
678
+ return {
679
+ buffer: upstreamBuffer,
680
+ contentType: upstreamType,
681
+ maxAge
682
+ };
683
+ }
684
+ if (BYPASS_TYPES.includes(upstreamType)) {
685
+ return {
686
+ buffer: upstreamBuffer,
687
+ contentType: upstreamType,
688
+ maxAge
689
+ };
574
690
  }
575
691
  let contentType;
576
692
  if (mimeType) {
577
693
  contentType = mimeType;
578
- } else if ((upstreamType == null ? void 0 : upstreamType.startsWith("image/")) && getExtension(upstreamType) && upstreamType !== WEBP && upstreamType !== AVIF) {
694
+ } else if (getExtension(upstreamType) && upstreamType !== WEBP && upstreamType !== AVIF) {
579
695
  contentType = upstreamType;
580
696
  } else {
581
697
  contentType = JPEG;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/server/image-optimizer.ts"],"names":["createHash","promises","cpus","mediaType","contentDisposition","getOrientation","Orientation","imageSizeOf","isAnimated","join","nodeUrl","getImageBlurSvg","hasLocalMatch","hasRemoteMatch","createRequestResponseMocks","sendEtagResponse","getContentType","getExtension","Log","parseUrl","AVIF","WEBP","PNG","JPEG","GIF","SVG","ICO","CACHE_VERSION","ANIMATABLE_TYPES","VECTOR_TYPES","BLUR_IMG_SIZE","BLUR_QUALITY","sharp","require","process","env","NEXT_SHARP_PATH","concurrency","divisor","NODE_ENV","Math","floor","max","length","e","showSharpMissingWarning","getSupportedMimeType","options","accept","mimeType","includes","getHash","items","hash","item","update","String","digest","replace","writeToCacheDir","dir","extension","maxAge","expireAt","buffer","etag","filename","rm","recursive","force","catch","mkdir","writeFile","detectContentType","every","b","i","ImageOptimizerCache","validateParams","req","query","nextConfig","isDev","imageData","images","deviceSizes","imageSizes","domains","minimumCacheTTL","formats","remotePatterns","localPatterns","qualities","url","w","q","href","warnOnce","errorMessage","Array","isArray","startsWith","isAbsolute","test","decodeURIComponent","pathname","hrefParsed","URL","toString","_error","protocol","width","parseInt","isNaN","sizes","push","isValidSize","quality","headers","isStatic","basePath","getCacheKey","constructor","distDir","cacheDir","get","cacheKey","files","readdir","now","Date","file","maxAgeSt","expireAtSt","split","readFile","Number","value","kind","revalidateAfter","curRevalidate","isStale","_","set","revalidate","Error","err","error","ImageError","statusCode","message","parseCacheControl","str","map","Map","directive","key","trim","toLowerCase","getMaxAge","age","endsWith","slice","n","optimizeImage","contentType","height","nextConfigOutput","optimizedBuffer","transformer","sequentialRead","rotate","resize","undefined","withoutEnlargement","avif","avifQuality","chromaSubsampling","webp","png","jpeg","progressive","toBuffer","orientation","operations","RIGHT_TOP","type","numRotations","BOTTOM_RIGHT","LEFT_BOTTOM","processBuffer","fetchExternalImage","res","fetch","ok","status","Buffer","from","arrayBuffer","cacheControl","fetchInternalImage","_req","_res","handleRequest","mocked","method","socket","parse","hasStreamed","concat","buffers","getHeader","imageOptimizer","imageUpstream","paramsResult","upstreamBuffer","upstreamType","dangerouslyAllowSVG","output","getMetadata","meta","opts","blurWidth","blurHeight","blurDataURL","unescape","getFileNameWithExtension","urlWithoutQueryParams","fileNameWithExtension","pop","fileName","setResponseHeaders","xCache","imagesConfig","setHeader","finished","contentDispositionType","contentSecurityPolicy","sendResponse","result","byteLength","end","getImageSize","metadata","decodeBuffer"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/server/image-optimizer.ts"],"names":["createHash","promises","cpus","mediaType","contentDisposition","getOrientation","Orientation","imageSizeOf","isAnimated","join","nodeUrl","getImageBlurSvg","hasLocalMatch","hasRemoteMatch","createRequestResponseMocks","sendEtagResponse","getContentType","getExtension","Log","parseUrl","AVIF","WEBP","PNG","JPEG","JXL","JP2","HEIC","GIF","SVG","ICO","ICNS","TIFF","BMP","PDF","CACHE_VERSION","ANIMATABLE_TYPES","BYPASS_TYPES","BLUR_IMG_SIZE","BLUR_QUALITY","sharp","require","process","env","NEXT_SHARP_PATH","concurrency","divisor","NODE_ENV","Math","floor","max","length","e","showSharpMissingWarning","getSupportedMimeType","options","accept","mimeType","includes","getHash","items","hash","item","update","String","digest","replace","writeToCacheDir","dir","extension","maxAge","expireAt","buffer","etag","filename","rm","recursive","force","catch","mkdir","writeFile","detectContentType","every","b","i","meta","metadata","_","format","ImageOptimizerCache","validateParams","req","query","nextConfig","isDev","imageData","images","deviceSizes","imageSizes","domains","minimumCacheTTL","formats","remotePatterns","localPatterns","qualities","url","w","q","href","warnOnce","errorMessage","Array","isArray","startsWith","isAbsolute","test","decodeURIComponent","pathname","hrefParsed","URL","toString","_error","protocol","width","parseInt","isNaN","sizes","push","isValidSize","quality","headers","isStatic","basePath","getCacheKey","constructor","distDir","cacheDir","get","cacheKey","files","readdir","now","Date","file","maxAgeSt","expireAtSt","split","readFile","Number","value","kind","revalidateAfter","curRevalidate","isStale","set","revalidate","Error","err","error","ImageError","statusCode","message","parseCacheControl","str","map","Map","directive","key","trim","toLowerCase","getMaxAge","age","endsWith","slice","n","optimizeImage","contentType","height","nextConfigOutput","optimizedBuffer","transformer","sequentialRead","rotate","resize","undefined","withoutEnlargement","avif","avifQuality","chromaSubsampling","webp","png","jpeg","progressive","toBuffer","orientation","operations","RIGHT_TOP","type","numRotations","BOTTOM_RIGHT","LEFT_BOTTOM","processBuffer","fetchExternalImage","res","fetch","ok","status","Buffer","from","arrayBuffer","cacheControl","fetchInternalImage","_req","_res","handleRequest","mocked","method","socket","parse","hasStreamed","concat","buffers","getHeader","imageOptimizer","imageUpstream","paramsResult","upstreamBuffer","upstreamType","dangerouslyAllowSVG","output","getMetadata","opts","blurWidth","blurHeight","blurDataURL","unescape","getFileNameWithExtension","urlWithoutQueryParams","fileNameWithExtension","pop","fileName","setResponseHeaders","xCache","imagesConfig","setHeader","finished","contentDispositionType","contentSecurityPolicy","sendResponse","result","byteLength","end","getImageSize","decodeBuffer"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { bold, purple } from "../../lib/picocolors";
4
4
  import { PHASE_DEVELOPMENT_SERVER, PHASE_PRODUCTION_BUILD } from "../../shared/lib/constants";
5
5
  import loadConfig, { getEnabledExperimentalFeatures } from "../config";
6
6
  export function logStartInfo({ networkUrl, appUrl, envInfo, expFeatureInfo, maxExperimentalFeatures = Infinity }) {
7
- Log.bootstrap(`${bold(purple(`${Log.prefixes.ready} Next.js ${"14.2.30"}`))}${process.env.TURBOPACK ? " (turbo)" : ""}`);
7
+ Log.bootstrap(`${bold(purple(`${Log.prefixes.ready} Next.js ${"14.2.32"}`))}${process.env.TURBOPACK ? " (turbo)" : ""}`);
8
8
  if (appUrl) {
9
9
  Log.bootstrap(`- Local: ${appUrl}`);
10
10
  }
@@ -8,7 +8,7 @@ import { formatHostname } from "../format-hostname";
8
8
  import { toNodeOutgoingHttpHeaders } from "../../web/utils";
9
9
  import { isAbortError } from "../../pipe-readable";
10
10
  import { getHostname } from "../../../shared/lib/get-hostname";
11
- import { getRedirectStatus } from "../../../lib/redirect-status";
11
+ import { allowedStatusCodes, getRedirectStatus } from "../../../lib/redirect-status";
12
12
  import { normalizeRepeatedSlashes } from "../../../shared/lib/utils";
13
13
  import { relativizeURL } from "../../../shared/lib/router/utils/relativize-url";
14
14
  import { addPathPrefix } from "../../../shared/lib/router/utils/add-path-prefix";
@@ -416,15 +416,31 @@ export function getResolveRoutes(fsChecker, config, opts, renderServer, renderSe
416
416
  }
417
417
  if (middlewareHeaders["location"]) {
418
418
  const value = middlewareHeaders["location"];
419
- const rel = relativizeURL(value, initUrl);
420
- resHeaders["location"] = rel;
421
- parsedUrl = url.parse(rel, true);
422
- return {
423
- parsedUrl,
424
- resHeaders,
425
- finished: true,
426
- statusCode: middlewareRes.status
427
- };
419
+ // Only process Location header as a redirect if it has a proper redirect status
420
+ // This prevents a Location header with non-redirect status from being treated as a redirect
421
+ const isRedirectStatus = allowedStatusCodes.has(middlewareRes.status);
422
+ if (isRedirectStatus) {
423
+ // Process as redirect: update parsedUrl and convert to relative URL
424
+ const rel = relativizeURL(value, initUrl);
425
+ resHeaders["location"] = rel;
426
+ parsedUrl = url.parse(rel, true);
427
+ return {
428
+ parsedUrl,
429
+ resHeaders,
430
+ finished: true,
431
+ statusCode: middlewareRes.status
432
+ };
433
+ } else {
434
+ // Not a redirect: just pass through the Location header
435
+ resHeaders["location"] = value;
436
+ return {
437
+ parsedUrl,
438
+ resHeaders,
439
+ finished: true,
440
+ bodyStream,
441
+ statusCode: middlewareRes.status
442
+ };
443
+ }
428
444
  }
429
445
  if (middlewareHeaders["x-middleware-refresh"]) {
430
446
  return {