@vercel/next 3.4.7 → 3.5.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.
package/dist/index.js CHANGED
@@ -40896,10 +40896,7 @@ const build = async ({ files, workPath, repoRootPath, entrypoint, config = {}, m
40896
40896
  outputDirectory,
40897
40897
  appPathRoutesManifest,
40898
40898
  });
40899
- const isApiPage = (page) => page
40900
- .replace(/\\/g, '/')
40901
- .match(/(serverless|server)\/pages\/api(\/|\.js$)/);
40902
- const canUsePreviewMode = Object.keys(pages).some(page => isApiPage(pages[page].fsPath));
40899
+ const canUsePreviewMode = Object.keys(pages).some(page => (0, utils_1.isApiPage)(pages[page].fsPath));
40903
40900
  staticPages = await (0, utils_1.filterStaticPages)(await (0, build_utils_1.glob)('**/*.html', pagesDir), dynamicPages, entryDirectory, exports.htmlContentType, prerenderManifest, routesManifest);
40904
40901
  hasStatic500 = !!staticPages[path_1.default.posix.join(entryDirectory, '500')];
40905
40902
  // this can be either 404.html in latest versions
@@ -41109,7 +41106,7 @@ const build = async ({ files, workPath, repoRootPath, entrypoint, config = {}, m
41109
41106
  const route = `/${page.replace(/\.js$/, '')}`;
41110
41107
  if (route === '/_error' && static404Page)
41111
41108
  continue;
41112
- if (isApiPage(pagePath)) {
41109
+ if ((0, utils_1.isApiPage)(pagePath)) {
41113
41110
  apiPages.push(page);
41114
41111
  }
41115
41112
  else if (!nonLambdaSsgPages.has(route)) {
@@ -41214,6 +41211,9 @@ const build = async ({ files, workPath, repoRootPath, entrypoint, config = {}, m
41214
41211
  lambdaCompressedByteLimit,
41215
41212
  internalPages: [],
41216
41213
  });
41214
+ for (const group of initialApiLambdaGroups) {
41215
+ group.isApiLambda = true;
41216
+ }
41217
41217
  (0, build_utils_1.debug)(JSON.stringify({
41218
41218
  apiLambdaGroups: initialApiLambdaGroups.map(group => ({
41219
41219
  pages: group.pages,
@@ -41250,7 +41250,7 @@ const build = async ({ files, workPath, repoRootPath, entrypoint, config = {}, m
41250
41250
  const pageFileName = path_1.default.normalize(path_1.default.relative(workPath, pages[page].fsPath));
41251
41251
  const pathname = page.replace(/\.js$/, '');
41252
41252
  const routeIsDynamic = (0, utils_1.isDynamicRoute)(pathname);
41253
- routeIsApi = isApiPage(pageFileName);
41253
+ routeIsApi = (0, utils_1.isApiPage)(pageFileName);
41254
41254
  if (routeIsDynamic) {
41255
41255
  dynamicPages.push((0, utils_1.normalizePage)(pathname));
41256
41256
  }
@@ -41366,6 +41366,10 @@ const build = async ({ files, workPath, repoRootPath, entrypoint, config = {}, m
41366
41366
  },
41367
41367
  ],
41368
41368
  handler: path_1.default.join(path_1.default.relative(baseDir, entryPath), '___next_launcher.cjs'),
41369
+ operationType: (0, utils_1.getOperationType)({
41370
+ prerenderManifest,
41371
+ pageFileName,
41372
+ }),
41369
41373
  runtime: nodeVersion.runtime,
41370
41374
  nextVersion,
41371
41375
  ...lambdaOptions,
@@ -41383,6 +41387,7 @@ const build = async ({ files, workPath, repoRootPath, entrypoint, config = {}, m
41383
41387
  },
41384
41388
  ],
41385
41389
  handler: path_1.default.join(path_1.default.relative(baseDir, entryPath), '___next_launcher.cjs'),
41390
+ operationType: (0, utils_1.getOperationType)({ pageFileName }),
41386
41391
  runtime: nodeVersion.runtime,
41387
41392
  nextVersion,
41388
41393
  ...lambdaOptions,
@@ -41521,6 +41526,10 @@ const build = async ({ files, workPath, repoRootPath, entrypoint, config = {}, m
41521
41526
  for (const page of groupPageKeys) {
41522
41527
  pageLambdaMap[page] = group.lambdaIdentifier;
41523
41528
  }
41529
+ const operationType = (0, utils_1.getOperationType)({
41530
+ group,
41531
+ prerenderManifest,
41532
+ });
41524
41533
  lambdas[group.lambdaIdentifier] =
41525
41534
  await (0, utils_1.createLambdaFromPseudoLayers)({
41526
41535
  files: {
@@ -41529,6 +41538,7 @@ const build = async ({ files, workPath, repoRootPath, entrypoint, config = {}, m
41529
41538
  },
41530
41539
  layers: [group.pseudoLayer],
41531
41540
  handler: path_1.default.join(path_1.default.relative(baseDir, entryPath), '___next_launcher.cjs'),
41541
+ operationType,
41532
41542
  runtime: nodeVersion.runtime,
41533
41543
  nextVersion,
41534
41544
  });
@@ -42788,6 +42798,9 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
42788
42798
  lambdaCompressedByteLimit,
42789
42799
  internalPages,
42790
42800
  });
42801
+ for (const group of apiLambdaGroups) {
42802
+ group.isApiLambda = true;
42803
+ }
42791
42804
  (0, build_utils_1.debug)(JSON.stringify({
42792
42805
  apiLambdaGroups: apiLambdaGroups.map(group => ({
42793
42806
  pages: group.pages,
@@ -42871,6 +42884,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
42871
42884
  });
42872
42885
  }
42873
42886
  }
42887
+ const operationType = (0, utils_1.getOperationType)({ group, prerenderManifest });
42874
42888
  const lambda = await (0, utils_1.createLambdaFromPseudoLayers)({
42875
42889
  files: {
42876
42890
  ...launcherFiles,
@@ -42878,6 +42892,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
42878
42892
  },
42879
42893
  layers: [group.pseudoLayer, groupPageFiles],
42880
42894
  handler: path_1.default.join(path_1.default.relative(baseDir, requiredServerFilesManifest.appDir || entryPath), '___next_launcher.cjs'),
42895
+ operationType,
42881
42896
  memory: group.memory,
42882
42897
  runtime: nodeVersion.runtime,
42883
42898
  maxDuration: group.maxDuration,
@@ -43635,7 +43650,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
43635
43650
  return (mod && mod.__esModule) ? mod : { "default": mod };
43636
43651
  };
43637
43652
  Object.defineProperty(exports, "__esModule", ({ value: true }));
43638
- exports.upgradeMiddlewareManifest = exports.getMiddlewareManifest = exports.getMiddlewareBundle = exports.getSourceFilePathFromPage = exports.isDynamicRoute = exports.normalizePage = exports.getImagesConfig = exports.getNextConfig = exports.normalizePackageJson = exports.validateEntrypoint = exports.excludeFiles = exports.getPrivateOutputs = exports.updateRouteSrc = exports.getNextServerPath = exports.normalizeIndexOutput = exports.getStaticFiles = exports.onPrerenderRoute = exports.onPrerenderRouteInitial = exports.detectLambdaLimitExceeding = exports.outputFunctionFileSizeInfo = exports.getPageLambdaGroups = exports.MAX_UNCOMPRESSED_LAMBDA_SIZE = exports.addLocaleOrDefault = exports.normalizeLocalePath = exports.getPrerenderManifest = exports.getRequiredServerFilesManifest = exports.getExportStatus = exports.getExportIntent = exports.createLambdaFromPseudoLayers = exports.createPseudoLayer = exports.ExperimentalTraceVersion = exports.collectTracedFiles = exports.getFilesMapFromReasons = exports.filterStaticPages = exports.getImagesManifest = exports.localizeDynamicRoutes = exports.getDynamicRoutes = exports.getRoutesManifest = exports.prettyBytes = exports.MIB = exports.KIB = void 0;
43653
+ exports.isApiPage = exports.getOperationType = exports.upgradeMiddlewareManifest = exports.getMiddlewareManifest = exports.getMiddlewareBundle = exports.getSourceFilePathFromPage = exports.isDynamicRoute = exports.normalizePage = exports.getImagesConfig = exports.getNextConfig = exports.normalizePackageJson = exports.validateEntrypoint = exports.excludeFiles = exports.getPrivateOutputs = exports.updateRouteSrc = exports.getNextServerPath = exports.normalizeIndexOutput = exports.getStaticFiles = exports.onPrerenderRoute = exports.onPrerenderRouteInitial = exports.detectLambdaLimitExceeding = exports.outputFunctionFileSizeInfo = exports.getPageLambdaGroups = exports.MAX_UNCOMPRESSED_LAMBDA_SIZE = exports.addLocaleOrDefault = exports.normalizeLocalePath = exports.getPrerenderManifest = exports.getRequiredServerFilesManifest = exports.getExportStatus = exports.getExportIntent = exports.createLambdaFromPseudoLayers = exports.createPseudoLayer = exports.ExperimentalTraceVersion = exports.collectTracedFiles = exports.getFilesMapFromReasons = exports.filterStaticPages = exports.getImagesManifest = exports.localizeDynamicRoutes = exports.getDynamicRoutes = exports.getRoutesManifest = exports.prettyBytes = exports.MIB = exports.KIB = void 0;
43639
43654
  const build_utils_1 = __webpack_require__(3445);
43640
43655
  const async_sema_1 = __webpack_require__(7905);
43641
43656
  const buffer_crc32_1 = __importDefault(__webpack_require__(2227));
@@ -44473,6 +44488,7 @@ async function getPageLambdaGroups({ entryPath, config, pages, prerenderRoutes,
44473
44488
  pages: [page],
44474
44489
  ...opts,
44475
44490
  isPrerenders: isPrerenderRoute,
44491
+ isApiLambda: !!isApiPage(page),
44476
44492
  pseudoLayerBytes: initialPseudoLayer.pseudoLayerBytes,
44477
44493
  pseudoLayerUncompressedBytes: initialPseudoLayerUncompressed,
44478
44494
  pseudoLayer: Object.assign({}, initialPseudoLayer.pseudoLayer),
@@ -45314,6 +45330,32 @@ function transformSourceMap(sourcemap) {
45314
45330
  });
45315
45331
  return { ...sourcemap, sources };
45316
45332
  }
45333
+ function getOperationType({ group, prerenderManifest, pageFileName, }) {
45334
+ if (group?.isApiLambda || isApiPage(pageFileName)) {
45335
+ return 'API';
45336
+ }
45337
+ if (group?.isPrerenders) {
45338
+ return 'ISR';
45339
+ }
45340
+ if (pageFileName && prerenderManifest) {
45341
+ const { blockingFallbackRoutes = {}, fallbackRoutes = {} } = prerenderManifest;
45342
+ if (pageFileName in blockingFallbackRoutes ||
45343
+ pageFileName in fallbackRoutes) {
45344
+ return 'ISR';
45345
+ }
45346
+ }
45347
+ return 'SSR';
45348
+ }
45349
+ exports.getOperationType = getOperationType;
45350
+ function isApiPage(page) {
45351
+ if (!page) {
45352
+ return false;
45353
+ }
45354
+ return page
45355
+ .replace(/\\/g, '/')
45356
+ .match(/(serverless|server)\/pages\/api(\/|\.js$)/);
45357
+ }
45358
+ exports.isApiPage = isApiPage;
45317
45359
 
45318
45360
 
45319
45361
  /***/ }),
@@ -412,6 +412,9 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
412
412
  lambdaCompressedByteLimit,
413
413
  internalPages,
414
414
  });
415
+ for (const group of apiLambdaGroups) {
416
+ group.isApiLambda = true;
417
+ }
415
418
  (0, build_utils_1.debug)(JSON.stringify({
416
419
  apiLambdaGroups: apiLambdaGroups.map(group => ({
417
420
  pages: group.pages,
@@ -495,6 +498,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
495
498
  });
496
499
  }
497
500
  }
501
+ const operationType = (0, utils_1.getOperationType)({ group, prerenderManifest });
498
502
  const lambda = await (0, utils_1.createLambdaFromPseudoLayers)({
499
503
  files: {
500
504
  ...launcherFiles,
@@ -502,6 +506,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
502
506
  },
503
507
  layers: [group.pseudoLayer, groupPageFiles],
504
508
  handler: path_1.default.join(path_1.default.relative(baseDir, requiredServerFilesManifest.appDir || entryPath), '___next_launcher.cjs'),
509
+ operationType,
505
510
  memory: group.memory,
506
511
  runtime: nodeVersion.runtime,
507
512
  maxDuration: group.maxDuration,
package/dist/utils.js CHANGED
@@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.upgradeMiddlewareManifest = exports.getMiddlewareManifest = exports.getMiddlewareBundle = exports.getSourceFilePathFromPage = exports.isDynamicRoute = exports.normalizePage = exports.getImagesConfig = exports.getNextConfig = exports.normalizePackageJson = exports.validateEntrypoint = exports.excludeFiles = exports.getPrivateOutputs = exports.updateRouteSrc = exports.getNextServerPath = exports.normalizeIndexOutput = exports.getStaticFiles = exports.onPrerenderRoute = exports.onPrerenderRouteInitial = exports.detectLambdaLimitExceeding = exports.outputFunctionFileSizeInfo = exports.getPageLambdaGroups = exports.MAX_UNCOMPRESSED_LAMBDA_SIZE = exports.addLocaleOrDefault = exports.normalizeLocalePath = exports.getPrerenderManifest = exports.getRequiredServerFilesManifest = exports.getExportStatus = exports.getExportIntent = exports.createLambdaFromPseudoLayers = exports.createPseudoLayer = exports.ExperimentalTraceVersion = exports.collectTracedFiles = exports.getFilesMapFromReasons = exports.filterStaticPages = exports.getImagesManifest = exports.localizeDynamicRoutes = exports.getDynamicRoutes = exports.getRoutesManifest = exports.prettyBytes = exports.MIB = exports.KIB = void 0;
25
+ exports.isApiPage = exports.getOperationType = exports.upgradeMiddlewareManifest = exports.getMiddlewareManifest = exports.getMiddlewareBundle = exports.getSourceFilePathFromPage = exports.isDynamicRoute = exports.normalizePage = exports.getImagesConfig = exports.getNextConfig = exports.normalizePackageJson = exports.validateEntrypoint = exports.excludeFiles = exports.getPrivateOutputs = exports.updateRouteSrc = exports.getNextServerPath = exports.normalizeIndexOutput = exports.getStaticFiles = exports.onPrerenderRoute = exports.onPrerenderRouteInitial = exports.detectLambdaLimitExceeding = exports.outputFunctionFileSizeInfo = exports.getPageLambdaGroups = exports.MAX_UNCOMPRESSED_LAMBDA_SIZE = exports.addLocaleOrDefault = exports.normalizeLocalePath = exports.getPrerenderManifest = exports.getRequiredServerFilesManifest = exports.getExportStatus = exports.getExportIntent = exports.createLambdaFromPseudoLayers = exports.createPseudoLayer = exports.ExperimentalTraceVersion = exports.collectTracedFiles = exports.getFilesMapFromReasons = exports.filterStaticPages = exports.getImagesManifest = exports.localizeDynamicRoutes = exports.getDynamicRoutes = exports.getRoutesManifest = exports.prettyBytes = exports.MIB = exports.KIB = void 0;
26
26
  const build_utils_1 = require("@vercel/build-utils");
27
27
  const async_sema_1 = require("async-sema");
28
28
  const buffer_crc32_1 = __importDefault(require("buffer-crc32"));
@@ -860,6 +860,7 @@ async function getPageLambdaGroups({ entryPath, config, pages, prerenderRoutes,
860
860
  pages: [page],
861
861
  ...opts,
862
862
  isPrerenders: isPrerenderRoute,
863
+ isApiLambda: !!isApiPage(page),
863
864
  pseudoLayerBytes: initialPseudoLayer.pseudoLayerBytes,
864
865
  pseudoLayerUncompressedBytes: initialPseudoLayerUncompressed,
865
866
  pseudoLayer: Object.assign({}, initialPseudoLayer.pseudoLayer),
@@ -1701,3 +1702,29 @@ function transformSourceMap(sourcemap) {
1701
1702
  });
1702
1703
  return { ...sourcemap, sources };
1703
1704
  }
1705
+ function getOperationType({ group, prerenderManifest, pageFileName, }) {
1706
+ if (group?.isApiLambda || isApiPage(pageFileName)) {
1707
+ return 'API';
1708
+ }
1709
+ if (group?.isPrerenders) {
1710
+ return 'ISR';
1711
+ }
1712
+ if (pageFileName && prerenderManifest) {
1713
+ const { blockingFallbackRoutes = {}, fallbackRoutes = {} } = prerenderManifest;
1714
+ if (pageFileName in blockingFallbackRoutes ||
1715
+ pageFileName in fallbackRoutes) {
1716
+ return 'ISR';
1717
+ }
1718
+ }
1719
+ return 'SSR';
1720
+ }
1721
+ exports.getOperationType = getOperationType;
1722
+ function isApiPage(page) {
1723
+ if (!page) {
1724
+ return false;
1725
+ }
1726
+ return page
1727
+ .replace(/\\/g, '/')
1728
+ .match(/(serverless|server)\/pages\/api(\/|\.js$)/);
1729
+ }
1730
+ exports.isApiPage = isApiPage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/next",
3
- "version": "3.4.7",
3
+ "version": "3.5.0",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index",
6
6
  "homepage": "https://vercel.com/docs/runtimes#official-runtimes/next-js",
@@ -71,5 +71,5 @@
71
71
  "typescript": "4.5.2",
72
72
  "webpack-sources": "3.2.3"
73
73
  },
74
- "gitHead": "3d98d1cdea151b7125deb082c2c8469c865027d0"
74
+ "gitHead": "70a53515bd12202f895c369504e2d5be6c9469f4"
75
75
  }