vercel 23.1.3-canary.62 → 23.1.3-canary.66

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 (3) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +236 -233
  3. package/package.json +5 -5
package/README.md CHANGED
@@ -34,7 +34,7 @@ Finally, [connect your Git repository to Vercel](https://vercel.com/docs/git) an
34
34
 
35
35
  ## Documentation
36
36
 
37
- For details on how to use Vercel CLI, check out our [documentation](https://vercel.com/docs).
37
+ For details on how to use Vercel CLI, check out our [documentation](https://vercel.com/docs/cli).
38
38
 
39
39
  ## Local Development
40
40
 
package/dist/index.js CHANGED
@@ -217401,16 +217401,15 @@ function convertRuntimeToPlugin(buildRuntime, packageName, ext) {
217401
217401
  }
217402
217402
  const pages = {};
217403
217403
  const pluginName = packageName.replace('vercel-plugin-', '');
217404
- const traceDir = path_1.join(workPath, `.output`, `inputs`,
217404
+ const outputPath = path_1.join(workPath, '.output');
217405
+ const traceDir = path_1.join(outputPath, `inputs`,
217405
217406
  // Legacy Runtimes can only provide API Routes, so that's
217406
217407
  // why we can use this prefix for all of them. Here, we have to
217407
217408
  // make sure to not use a cryptic hash name, because people
217408
217409
  // need to be able to easily inspect the output.
217409
217410
  `api-routes-${pluginName}`);
217410
217411
  await fs_extra_1.default.ensureDir(traceDir);
217411
- let newPathsRuntime = new Set();
217412
- const entryDir = path_1.join('.output', 'server', 'pages');
217413
- const entryRoot = path_1.join(workPath, entryDir);
217412
+ const entryRoot = path_1.join(outputPath, 'server', 'pages');
217414
217413
  for (const entrypoint of Object.keys(entrypoints)) {
217415
217414
  const { output } = await buildRuntime({
217416
217415
  files: sourceFilesPreBuild,
@@ -217424,13 +217423,6 @@ function convertRuntimeToPlugin(buildRuntime, packageName, ext) {
217424
217423
  skipDownload: true,
217425
217424
  },
217426
217425
  });
217427
- // Legacy Runtimes tend to pollute the `workPath` with compiled results,
217428
- // because the `workPath` used to be a place that was a place where they could
217429
- // just put anything, but nowadays it's the working directory of the `vercel build`
217430
- // command, which is the place where the developer keeps their source files,
217431
- // so we don't want to pollute this space unnecessarily. That means we have to clean
217432
- // up files that were created by the build, which is done further below.
217433
- const sourceFilesAfterBuild = await getSourceFiles(workPath, ignoreFilter);
217434
217426
  // @ts-ignore This symbol is a private API
217435
217427
  const lambdaFiles = output[lambda_1.FILES_SYMBOL];
217436
217428
  // When deploying, the `files` that are passed to the Legacy Runtimes already
@@ -217444,6 +217436,7 @@ function convertRuntimeToPlugin(buildRuntime, packageName, ext) {
217444
217436
  }
217445
217437
  let handlerFileBase = output.handler;
217446
217438
  let handlerFile = lambdaFiles[handlerFileBase];
217439
+ let handlerHasImport = false;
217447
217440
  const { handler } = output;
217448
217441
  const handlerMethod = handler.split('.').pop();
217449
217442
  const handlerFileName = handler.replace(`.${handlerMethod}`, '');
@@ -217455,6 +217448,7 @@ function convertRuntimeToPlugin(buildRuntime, packageName, ext) {
217455
217448
  if (!handlerFile) {
217456
217449
  handlerFileBase = handlerFileName + ext;
217457
217450
  handlerFile = lambdaFiles[handlerFileBase];
217451
+ handlerHasImport = true;
217458
217452
  }
217459
217453
  if (!handlerFile || !handlerFile.fsPath) {
217460
217454
  throw new Error(`Could not find a handler file. Please ensure that \`files\` for the returned \`Lambda\` contains an \`FileFsRef\` named "${handlerFileBase}" with a valid \`fsPath\`.`);
@@ -217463,58 +217457,65 @@ function convertRuntimeToPlugin(buildRuntime, packageName, ext) {
217463
217457
  const entryBase = path_1.basename(entrypoint).replace(ext, handlerExtName);
217464
217458
  const entryPath = path_1.join(path_1.dirname(entrypoint), entryBase);
217465
217459
  const entry = path_1.join(entryRoot, entryPath);
217466
- // We never want to link here, only copy, because the launcher
217467
- // file often has the same name for every entrypoint, which means that
217468
- // every build for every entrypoint overwrites the launcher of the previous
217469
- // one, so linking would end with a broken reference.
217460
+ // Create the parent directory of the API Route that will be created
217461
+ // for the current entrypoint inside of `.output/server/pages/api`.
217470
217462
  await fs_extra_1.default.ensureDir(path_1.dirname(entry));
217471
- await fs_extra_1.default.copy(handlerFile.fsPath, entry);
217472
- const newFilesEntrypoint = [];
217473
- const newDirectoriesEntrypoint = [];
217474
- const preBuildFiles = Object.values(sourceFilesPreBuild).map(file => {
217475
- return file.fsPath;
217476
- });
217477
- // Generate a list of directories and files that weren't present
217478
- // before the entrypoint was processed by the Legacy Runtime, so
217479
- // that we can perform a cleanup later. We need to divide into files
217480
- // and directories because only cleaning up files might leave empty
217481
- // directories, and listing directories separately also speeds up the
217482
- // build because we can just delete them, which wipes all of their nested
217483
- // paths, instead of iterating through all files that should be deleted.
217484
- for (const file in sourceFilesAfterBuild) {
217485
- if (!sourceFilesPreBuild[file]) {
217486
- const path = sourceFilesAfterBuild[file].fsPath;
217487
- const dirPath = path_1.dirname(path);
217488
- // If none of the files that were present before the entrypoint
217489
- // was processed are contained within the directory we're looking
217490
- // at right now, then we know it's a newly added directory
217491
- // and it can therefore be removed later on.
217492
- const isNewDir = !preBuildFiles.some(filePath => {
217493
- return path_1.dirname(filePath).startsWith(dirPath);
217494
- });
217495
- // Check out the list of tracked directories that were
217496
- // newly added and see if one of them contains the path
217497
- // we're looking at.
217498
- const hasParentDir = newDirectoriesEntrypoint.some(dir => {
217499
- return path.startsWith(dir);
217463
+ // For compiled languages, the launcher file will be binary and therefore
217464
+ // won't try to import a user-provided request handler (instead, it will
217465
+ // contain it). But for interpreted languages, the launcher might try to
217466
+ // load a user-provided request handler from the source file instead of bundling
217467
+ // it, so we have to adjust the import statement inside the launcher to point
217468
+ // to the respective source file. Previously, Legacy Runtimes simply expected
217469
+ // the user-provided request-handler to be copied right next to the launcher,
217470
+ // but with the new File System API, files won't be moved around unnecessarily.
217471
+ if (handlerHasImport) {
217472
+ const { fsPath } = handlerFile;
217473
+ const encoding = 'utf-8';
217474
+ // This is the true directory of the user-provided request handler in the
217475
+ // source files, so that's what we will use as an import path in the launcher.
217476
+ const locationPrefix = path_1.relative(entry, outputPath);
217477
+ let handlerContent = await fs_extra_1.default.readFile(fsPath, encoding);
217478
+ const importPaths = [
217479
+ // This is the full entrypoint path, like `./api/test.py`
217480
+ `./${entrypoint}`,
217481
+ // This is the entrypoint path without extension, like `api/test`
217482
+ entrypoint.slice(0, -ext.length),
217483
+ ];
217484
+ // Generate a list of regular expressions that we can use for
217485
+ // finding matches, but only allow matches if the import path is
217486
+ // wrapped inside single (') or double quotes (").
217487
+ const patterns = importPaths.map(path => {
217488
+ // eslint-disable-next-line no-useless-escape
217489
+ return new RegExp(`('|")(${path.replace(/\./g, '\\.')})('|")`, 'g');
217490
+ });
217491
+ let replacedMatch = null;
217492
+ for (const pattern of patterns) {
217493
+ const newContent = handlerContent.replace(pattern, (_, p1, p2, p3) => {
217494
+ return `${p1}${path_1.join(locationPrefix, p2)}${p3}`;
217500
217495
  });
217501
- // If we have already tracked a directory that was newly
217502
- // added that sits above the file or directory that we're
217503
- // looking at, we don't need to add more entries to the list
217504
- // because when the parent will get removed in the future,
217505
- // all of its children (and therefore the path we're looking at)
217506
- // will automatically get removed anyways.
217507
- if (hasParentDir) {
217508
- continue;
217509
- }
217510
- if (isNewDir) {
217511
- newDirectoriesEntrypoint.push(dirPath);
217512
- }
217513
- else {
217514
- newFilesEntrypoint.push(path);
217496
+ if (newContent !== handlerContent) {
217497
+ _1.debug(`Replaced "${pattern}" inside "${entry}" to ensure correct import of user-provided request handler`);
217498
+ handlerContent = newContent;
217499
+ replacedMatch = true;
217515
217500
  }
217516
217501
  }
217502
+ if (!replacedMatch) {
217503
+ new Error(`No replacable matches for "${importPaths[0]}" or "${importPaths[1]}" found in "${fsPath}"`);
217504
+ }
217505
+ await fs_extra_1.default.writeFile(entry, handlerContent, encoding);
217517
217506
  }
217507
+ else {
217508
+ await fs_extra_1.default.copy(handlerFile.fsPath, entry);
217509
+ }
217510
+ // Legacy Runtimes based on interpreted languages will create a new launcher file
217511
+ // for every entrypoint, but they will create each one inside `workPath`, which means that
217512
+ // the launcher for one entrypoint will overwrite the launcher provided for the previous
217513
+ // entrypoint. That's why, above, we copy the file contents into the new destination (and
217514
+ // optionally transform them along the way), instead of linking. We then also want to remove
217515
+ // the copy origin right here, so that the `workPath` doesn't contain a useless launcher file
217516
+ // once the build has finished running.
217517
+ await fs_extra_1.default.remove(handlerFile.fsPath);
217518
+ _1.debug(`Removed temporary file "${handlerFile.fsPath}"`);
217518
217519
  const nft = `${entry}.nft.json`;
217519
217520
  const json = JSON.stringify({
217520
217521
  version: 2,
@@ -217532,16 +217533,7 @@ function convertRuntimeToPlugin(buildRuntime, packageName, ext) {
217532
217533
  })
217533
217534
  .filter(Boolean),
217534
217535
  });
217535
- await fs_extra_1.default.ensureDir(path_1.dirname(nft));
217536
217536
  await fs_extra_1.default.writeFile(nft, json);
217537
- // Extend the list of directories and files that were created by the
217538
- // Legacy Runtime with the list of directories and files that were
217539
- // created for the entrypoint that was just processed above.
217540
- newPathsRuntime = new Set([
217541
- ...newPathsRuntime,
217542
- ...newFilesEntrypoint,
217543
- ...newDirectoriesEntrypoint,
217544
- ]);
217545
217537
  // Add an entry that will later on be added to the `functions-manifest.json`
217546
217538
  // file that is placed inside of the `.output` directory.
217547
217539
  pages[normalize_path_1.normalizePath(entryPath)] = {
@@ -217557,18 +217549,6 @@ function convertRuntimeToPlugin(buildRuntime, packageName, ext) {
217557
217549
  allowQuery: output.allowQuery,
217558
217550
  };
217559
217551
  }
217560
- // A list of all the files that were created by the Legacy Runtime,
217561
- // which we'd like to remove from the File System.
217562
- const toRemove = Array.from(newPathsRuntime).map(path => {
217563
- _1.debug(`Removing ${path} as part of cleanup`);
217564
- return fs_extra_1.default.remove(path);
217565
- });
217566
- // Once all the entrypoints have been processed, we'd like to
217567
- // remove all the files from `workPath` that originally weren't present
217568
- // before the Legacy Runtime began running, because the `workPath`
217569
- // is nowadays the directory in which the user keeps their source code, since
217570
- // we're no longer running separate parallel builds for every Legacy Runtime.
217571
- await Promise.all(toRemove);
217572
217552
  // Add any Serverless Functions that were exposed by the Legacy Runtime
217573
217553
  // to the `functions-manifest.json` file provided in `.output`.
217574
217554
  await updateFunctionsManifest({ workPath, pages });
@@ -217648,12 +217628,12 @@ exports.updateRoutesManifest = updateRoutesManifest;
217648
217628
  /***/ }),
217649
217629
 
217650
217630
  /***/ 1868:
217651
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_930713__) => {
217631
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_929744__) => {
217652
217632
 
217653
217633
  "use strict";
217654
217634
 
217655
217635
  Object.defineProperty(exports, "__esModule", ({ value: true }));
217656
- const _1 = __nested_webpack_require_930713__(2855);
217636
+ const _1 = __nested_webpack_require_929744__(2855);
217657
217637
  function debug(message, ...additional) {
217658
217638
  if (_1.getPlatformEnv('BUILDER_DEBUG')) {
217659
217639
  console.log(message, ...additional);
@@ -217665,7 +217645,7 @@ exports.default = debug;
217665
217645
  /***/ }),
217666
217646
 
217667
217647
  /***/ 4246:
217668
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_931098__) {
217648
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_930129__) {
217669
217649
 
217670
217650
  "use strict";
217671
217651
 
@@ -217674,11 +217654,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
217674
217654
  };
217675
217655
  Object.defineProperty(exports, "__esModule", ({ value: true }));
217676
217656
  exports.detectBuilders = exports.detectOutputDirectory = exports.detectApiDirectory = exports.detectApiExtensions = exports.sortFiles = void 0;
217677
- const minimatch_1 = __importDefault(__nested_webpack_require_931098__(9566));
217678
- const semver_1 = __nested_webpack_require_931098__(2879);
217679
- const path_1 = __nested_webpack_require_931098__(5622);
217680
- const frameworks_1 = __importDefault(__nested_webpack_require_931098__(8438));
217681
- const _1 = __nested_webpack_require_931098__(2855);
217657
+ const minimatch_1 = __importDefault(__nested_webpack_require_930129__(9566));
217658
+ const semver_1 = __nested_webpack_require_930129__(2879);
217659
+ const path_1 = __nested_webpack_require_930129__(5622);
217660
+ const frameworks_1 = __importDefault(__nested_webpack_require_930129__(8438));
217661
+ const _1 = __nested_webpack_require_930129__(2855);
217682
217662
  const slugToFramework = new Map(frameworks_1.default.map(f => [f.slug, f]));
217683
217663
  // We need to sort the file paths by alphabet to make
217684
217664
  // sure the routes stay in the same order e.g. for deduping
@@ -218737,7 +218717,7 @@ function getSuggestion(topLevelProp, additionalProperty) {
218737
218717
  /***/ }),
218738
218718
 
218739
218719
  /***/ 2397:
218740
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_970482__) {
218720
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_969513__) {
218741
218721
 
218742
218722
  "use strict";
218743
218723
 
@@ -218745,8 +218725,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
218745
218725
  return (mod && mod.__esModule) ? mod : { "default": mod };
218746
218726
  };
218747
218727
  Object.defineProperty(exports, "__esModule", ({ value: true }));
218748
- const assert_1 = __importDefault(__nested_webpack_require_970482__(2357));
218749
- const into_stream_1 = __importDefault(__nested_webpack_require_970482__(6130));
218728
+ const assert_1 = __importDefault(__nested_webpack_require_969513__(2357));
218729
+ const into_stream_1 = __importDefault(__nested_webpack_require_969513__(6130));
218750
218730
  class FileBlob {
218751
218731
  constructor({ mode = 0o100644, contentType, data }) {
218752
218732
  assert_1.default(typeof mode === 'number');
@@ -218778,7 +218758,7 @@ exports.default = FileBlob;
218778
218758
  /***/ }),
218779
218759
 
218780
218760
  /***/ 9331:
218781
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_971934__) {
218761
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_970965__) {
218782
218762
 
218783
218763
  "use strict";
218784
218764
 
@@ -218786,11 +218766,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
218786
218766
  return (mod && mod.__esModule) ? mod : { "default": mod };
218787
218767
  };
218788
218768
  Object.defineProperty(exports, "__esModule", ({ value: true }));
218789
- const assert_1 = __importDefault(__nested_webpack_require_971934__(2357));
218790
- const fs_extra_1 = __importDefault(__nested_webpack_require_971934__(5392));
218791
- const multistream_1 = __importDefault(__nested_webpack_require_971934__(8179));
218792
- const path_1 = __importDefault(__nested_webpack_require_971934__(5622));
218793
- const async_sema_1 = __importDefault(__nested_webpack_require_971934__(5758));
218769
+ const assert_1 = __importDefault(__nested_webpack_require_970965__(2357));
218770
+ const fs_extra_1 = __importDefault(__nested_webpack_require_970965__(5392));
218771
+ const multistream_1 = __importDefault(__nested_webpack_require_970965__(8179));
218772
+ const path_1 = __importDefault(__nested_webpack_require_970965__(5622));
218773
+ const async_sema_1 = __importDefault(__nested_webpack_require_970965__(5758));
218794
218774
  const semaToPreventEMFILE = new async_sema_1.default(20);
218795
218775
  class FileFsRef {
218796
218776
  constructor({ mode = 0o100644, contentType, fsPath }) {
@@ -218856,7 +218836,7 @@ exports.default = FileFsRef;
218856
218836
  /***/ }),
218857
218837
 
218858
218838
  /***/ 5187:
218859
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_974738__) {
218839
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_973769__) {
218860
218840
 
218861
218841
  "use strict";
218862
218842
 
@@ -218864,11 +218844,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
218864
218844
  return (mod && mod.__esModule) ? mod : { "default": mod };
218865
218845
  };
218866
218846
  Object.defineProperty(exports, "__esModule", ({ value: true }));
218867
- const assert_1 = __importDefault(__nested_webpack_require_974738__(2357));
218868
- const node_fetch_1 = __importDefault(__nested_webpack_require_974738__(2197));
218869
- const multistream_1 = __importDefault(__nested_webpack_require_974738__(8179));
218870
- const async_retry_1 = __importDefault(__nested_webpack_require_974738__(3691));
218871
- const async_sema_1 = __importDefault(__nested_webpack_require_974738__(5758));
218847
+ const assert_1 = __importDefault(__nested_webpack_require_973769__(2357));
218848
+ const node_fetch_1 = __importDefault(__nested_webpack_require_973769__(2197));
218849
+ const multistream_1 = __importDefault(__nested_webpack_require_973769__(8179));
218850
+ const async_retry_1 = __importDefault(__nested_webpack_require_973769__(3691));
218851
+ const async_sema_1 = __importDefault(__nested_webpack_require_973769__(5758));
218872
218852
  const semaToDownloadFromS3 = new async_sema_1.default(5);
218873
218853
  class BailableError extends Error {
218874
218854
  constructor(...args) {
@@ -218949,7 +218929,7 @@ exports.default = FileRef;
218949
218929
  /***/ }),
218950
218930
 
218951
218931
  /***/ 1611:
218952
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_978139__) {
218932
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_977170__) {
218953
218933
 
218954
218934
  "use strict";
218955
218935
 
@@ -218958,10 +218938,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
218958
218938
  };
218959
218939
  Object.defineProperty(exports, "__esModule", ({ value: true }));
218960
218940
  exports.isSymbolicLink = void 0;
218961
- const path_1 = __importDefault(__nested_webpack_require_978139__(5622));
218962
- const debug_1 = __importDefault(__nested_webpack_require_978139__(1868));
218963
- const file_fs_ref_1 = __importDefault(__nested_webpack_require_978139__(9331));
218964
- const fs_extra_1 = __nested_webpack_require_978139__(5392);
218941
+ const path_1 = __importDefault(__nested_webpack_require_977170__(5622));
218942
+ const debug_1 = __importDefault(__nested_webpack_require_977170__(1868));
218943
+ const file_fs_ref_1 = __importDefault(__nested_webpack_require_977170__(9331));
218944
+ const fs_extra_1 = __nested_webpack_require_977170__(5392);
218965
218945
  const S_IFMT = 61440; /* 0170000 type of file */
218966
218946
  const S_IFLNK = 40960; /* 0120000 symbolic link */
218967
218947
  function isSymbolicLink(mode) {
@@ -219023,14 +219003,14 @@ exports.default = download;
219023
219003
  /***/ }),
219024
219004
 
219025
219005
  /***/ 3838:
219026
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_980964__) => {
219006
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_979995__) => {
219027
219007
 
219028
219008
  "use strict";
219029
219009
 
219030
219010
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219031
- const path_1 = __nested_webpack_require_980964__(5622);
219032
- const os_1 = __nested_webpack_require_980964__(2087);
219033
- const fs_extra_1 = __nested_webpack_require_980964__(5392);
219011
+ const path_1 = __nested_webpack_require_979995__(5622);
219012
+ const os_1 = __nested_webpack_require_979995__(2087);
219013
+ const fs_extra_1 = __nested_webpack_require_979995__(5392);
219034
219014
  async function getWritableDirectory() {
219035
219015
  const name = Math.floor(Math.random() * 0x7fffffff).toString(16);
219036
219016
  const directory = path_1.join(os_1.tmpdir(), name);
@@ -219043,7 +219023,7 @@ exports.default = getWritableDirectory;
219043
219023
  /***/ }),
219044
219024
 
219045
219025
  /***/ 4240:
219046
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_981544__) {
219026
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_980575__) {
219047
219027
 
219048
219028
  "use strict";
219049
219029
 
@@ -219051,13 +219031,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219051
219031
  return (mod && mod.__esModule) ? mod : { "default": mod };
219052
219032
  };
219053
219033
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219054
- const path_1 = __importDefault(__nested_webpack_require_981544__(5622));
219055
- const assert_1 = __importDefault(__nested_webpack_require_981544__(2357));
219056
- const glob_1 = __importDefault(__nested_webpack_require_981544__(1104));
219057
- const util_1 = __nested_webpack_require_981544__(1669);
219058
- const fs_extra_1 = __nested_webpack_require_981544__(5392);
219059
- const normalize_path_1 = __nested_webpack_require_981544__(6261);
219060
- const file_fs_ref_1 = __importDefault(__nested_webpack_require_981544__(9331));
219034
+ const path_1 = __importDefault(__nested_webpack_require_980575__(5622));
219035
+ const assert_1 = __importDefault(__nested_webpack_require_980575__(2357));
219036
+ const glob_1 = __importDefault(__nested_webpack_require_980575__(1104));
219037
+ const util_1 = __nested_webpack_require_980575__(1669);
219038
+ const fs_extra_1 = __nested_webpack_require_980575__(5392);
219039
+ const normalize_path_1 = __nested_webpack_require_980575__(6261);
219040
+ const file_fs_ref_1 = __importDefault(__nested_webpack_require_980575__(9331));
219061
219041
  const vanillaGlob = util_1.promisify(glob_1.default);
219062
219042
  async function glob(pattern, opts, mountpoint) {
219063
219043
  let options;
@@ -219103,7 +219083,7 @@ exports.default = glob;
219103
219083
  /***/ }),
219104
219084
 
219105
219085
  /***/ 7903:
219106
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_983740__) {
219086
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_982771__) {
219107
219087
 
219108
219088
  "use strict";
219109
219089
 
@@ -219112,9 +219092,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219112
219092
  };
219113
219093
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219114
219094
  exports.getSupportedNodeVersion = exports.getDiscontinuedNodeVersions = exports.getLatestNodeVersion = void 0;
219115
- const semver_1 = __nested_webpack_require_983740__(2879);
219116
- const errors_1 = __nested_webpack_require_983740__(3983);
219117
- const debug_1 = __importDefault(__nested_webpack_require_983740__(1868));
219095
+ const semver_1 = __nested_webpack_require_982771__(2879);
219096
+ const errors_1 = __nested_webpack_require_982771__(3983);
219097
+ const debug_1 = __importDefault(__nested_webpack_require_982771__(1868));
219118
219098
  const allOptions = [
219119
219099
  { major: 14, range: '14.x', runtime: 'nodejs14.x' },
219120
219100
  { major: 12, range: '12.x', runtime: 'nodejs12.x' },
@@ -219208,7 +219188,7 @@ exports.normalizePath = normalizePath;
219208
219188
  /***/ }),
219209
219189
 
219210
219190
  /***/ 7792:
219211
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_987608__) {
219191
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_986639__) {
219212
219192
 
219213
219193
  "use strict";
219214
219194
 
@@ -219217,9 +219197,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219217
219197
  };
219218
219198
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219219
219199
  exports.readConfigFile = void 0;
219220
- const js_yaml_1 = __importDefault(__nested_webpack_require_987608__(6540));
219221
- const toml_1 = __importDefault(__nested_webpack_require_987608__(9434));
219222
- const fs_extra_1 = __nested_webpack_require_987608__(5392);
219200
+ const js_yaml_1 = __importDefault(__nested_webpack_require_986639__(6540));
219201
+ const toml_1 = __importDefault(__nested_webpack_require_986639__(9434));
219202
+ const fs_extra_1 = __nested_webpack_require_986639__(5392);
219223
219203
  async function readFileOrNull(file) {
219224
219204
  try {
219225
219205
  const data = await fs_extra_1.readFile(file);
@@ -219274,7 +219254,7 @@ exports.default = rename;
219274
219254
  /***/ }),
219275
219255
 
219276
219256
  /***/ 1442:
219277
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_989401__) {
219257
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_988432__) {
219278
219258
 
219279
219259
  "use strict";
219280
219260
 
@@ -219283,14 +219263,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219283
219263
  };
219284
219264
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219285
219265
  exports.installDependencies = exports.getScriptName = exports.runPipInstall = exports.runBundleInstall = exports.runPackageJsonScript = exports.runNpmInstall = exports.walkParentDirs = exports.scanParentDirs = exports.getNodeVersion = exports.getSpawnOptions = exports.runShellScript = exports.getNodeBinPath = exports.execCommand = exports.spawnCommand = exports.execAsync = exports.spawnAsync = void 0;
219286
- const assert_1 = __importDefault(__nested_webpack_require_989401__(2357));
219287
- const fs_extra_1 = __importDefault(__nested_webpack_require_989401__(5392));
219288
- const path_1 = __importDefault(__nested_webpack_require_989401__(5622));
219289
- const debug_1 = __importDefault(__nested_webpack_require_989401__(1868));
219290
- const cross_spawn_1 = __importDefault(__nested_webpack_require_989401__(7618));
219291
- const util_1 = __nested_webpack_require_989401__(1669);
219292
- const errors_1 = __nested_webpack_require_989401__(3983);
219293
- const node_version_1 = __nested_webpack_require_989401__(7903);
219266
+ const assert_1 = __importDefault(__nested_webpack_require_988432__(2357));
219267
+ const fs_extra_1 = __importDefault(__nested_webpack_require_988432__(5392));
219268
+ const path_1 = __importDefault(__nested_webpack_require_988432__(5622));
219269
+ const debug_1 = __importDefault(__nested_webpack_require_988432__(1868));
219270
+ const cross_spawn_1 = __importDefault(__nested_webpack_require_988432__(7618));
219271
+ const util_1 = __nested_webpack_require_988432__(1669);
219272
+ const errors_1 = __nested_webpack_require_988432__(3983);
219273
+ const node_version_1 = __nested_webpack_require_988432__(7903);
219294
219274
  function spawnAsync(command, args, opts = {}) {
219295
219275
  return new Promise((resolve, reject) => {
219296
219276
  const stderrLogs = [];
@@ -219601,7 +219581,7 @@ exports.installDependencies = util_1.deprecate(runNpmInstall, 'installDependenci
219601
219581
  /***/ }),
219602
219582
 
219603
219583
  /***/ 2560:
219604
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1003391__) {
219584
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1002422__) {
219605
219585
 
219606
219586
  "use strict";
219607
219587
 
@@ -219609,7 +219589,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219609
219589
  return (mod && mod.__esModule) ? mod : { "default": mod };
219610
219590
  };
219611
219591
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219612
- const end_of_stream_1 = __importDefault(__nested_webpack_require_1003391__(687));
219592
+ const end_of_stream_1 = __importDefault(__nested_webpack_require_1002422__(687));
219613
219593
  function streamToBuffer(stream) {
219614
219594
  return new Promise((resolve, reject) => {
219615
219595
  const buffers = [];
@@ -219638,7 +219618,7 @@ exports.default = streamToBuffer;
219638
219618
  /***/ }),
219639
219619
 
219640
219620
  /***/ 1148:
219641
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1004459__) {
219621
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1003490__) {
219642
219622
 
219643
219623
  "use strict";
219644
219624
 
@@ -219646,9 +219626,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219646
219626
  return (mod && mod.__esModule) ? mod : { "default": mod };
219647
219627
  };
219648
219628
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219649
- const path_1 = __importDefault(__nested_webpack_require_1004459__(5622));
219650
- const fs_extra_1 = __importDefault(__nested_webpack_require_1004459__(5392));
219651
- const ignore_1 = __importDefault(__nested_webpack_require_1004459__(3556));
219629
+ const path_1 = __importDefault(__nested_webpack_require_1003490__(5622));
219630
+ const fs_extra_1 = __importDefault(__nested_webpack_require_1003490__(5392));
219631
+ const ignore_1 = __importDefault(__nested_webpack_require_1003490__(3556));
219652
219632
  function isCodedError(error) {
219653
219633
  return (error !== null &&
219654
219634
  error !== undefined &&
@@ -219705,7 +219685,7 @@ exports.default = default_1;
219705
219685
  /***/ }),
219706
219686
 
219707
219687
  /***/ 2855:
219708
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1006841__) {
219688
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1005872__) {
219709
219689
 
219710
219690
  "use strict";
219711
219691
 
@@ -219736,29 +219716,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219736
219716
  };
219737
219717
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219738
219718
  exports.getInputHash = exports.getPlatformEnv = exports.isStaticRuntime = exports.isOfficialRuntime = exports.updateRoutesManifest = exports.updateFunctionsManifest = exports.convertRuntimeToPlugin = exports.normalizePath = exports.readConfigFile = exports.DetectorFilesystem = exports.detectFramework = exports.detectApiExtensions = exports.detectApiDirectory = exports.detectOutputDirectory = exports.detectBuilders = exports.getIgnoreFilter = exports.scanParentDirs = exports.getLambdaOptionsFromFunction = exports.isSymbolicLink = exports.debug = exports.shouldServe = exports.streamToBuffer = exports.getSpawnOptions = exports.getDiscontinuedNodeVersions = exports.getLatestNodeVersion = exports.getNodeVersion = exports.runShellScript = exports.runPipInstall = exports.runBundleInstall = exports.runNpmInstall = exports.getNodeBinPath = exports.walkParentDirs = exports.spawnCommand = exports.execCommand = exports.runPackageJsonScript = exports.installDependencies = exports.getScriptName = exports.spawnAsync = exports.execAsync = exports.rename = exports.glob = exports.getWriteableDirectory = exports.download = exports.Prerender = exports.createLambda = exports.Lambda = exports.FileRef = exports.FileFsRef = exports.FileBlob = void 0;
219739
- const crypto_1 = __nested_webpack_require_1006841__(6417);
219740
- const file_blob_1 = __importDefault(__nested_webpack_require_1006841__(2397));
219719
+ const crypto_1 = __nested_webpack_require_1005872__(6417);
219720
+ const file_blob_1 = __importDefault(__nested_webpack_require_1005872__(2397));
219741
219721
  exports.FileBlob = file_blob_1.default;
219742
- const file_fs_ref_1 = __importDefault(__nested_webpack_require_1006841__(9331));
219722
+ const file_fs_ref_1 = __importDefault(__nested_webpack_require_1005872__(9331));
219743
219723
  exports.FileFsRef = file_fs_ref_1.default;
219744
- const file_ref_1 = __importDefault(__nested_webpack_require_1006841__(5187));
219724
+ const file_ref_1 = __importDefault(__nested_webpack_require_1005872__(5187));
219745
219725
  exports.FileRef = file_ref_1.default;
219746
- const lambda_1 = __nested_webpack_require_1006841__(6721);
219726
+ const lambda_1 = __nested_webpack_require_1005872__(6721);
219747
219727
  Object.defineProperty(exports, "Lambda", ({ enumerable: true, get: function () { return lambda_1.Lambda; } }));
219748
219728
  Object.defineProperty(exports, "createLambda", ({ enumerable: true, get: function () { return lambda_1.createLambda; } }));
219749
219729
  Object.defineProperty(exports, "getLambdaOptionsFromFunction", ({ enumerable: true, get: function () { return lambda_1.getLambdaOptionsFromFunction; } }));
219750
- const prerender_1 = __nested_webpack_require_1006841__(2850);
219730
+ const prerender_1 = __nested_webpack_require_1005872__(2850);
219751
219731
  Object.defineProperty(exports, "Prerender", ({ enumerable: true, get: function () { return prerender_1.Prerender; } }));
219752
- const download_1 = __importStar(__nested_webpack_require_1006841__(1611));
219732
+ const download_1 = __importStar(__nested_webpack_require_1005872__(1611));
219753
219733
  exports.download = download_1.default;
219754
219734
  Object.defineProperty(exports, "isSymbolicLink", ({ enumerable: true, get: function () { return download_1.isSymbolicLink; } }));
219755
- const get_writable_directory_1 = __importDefault(__nested_webpack_require_1006841__(3838));
219735
+ const get_writable_directory_1 = __importDefault(__nested_webpack_require_1005872__(3838));
219756
219736
  exports.getWriteableDirectory = get_writable_directory_1.default;
219757
- const glob_1 = __importDefault(__nested_webpack_require_1006841__(4240));
219737
+ const glob_1 = __importDefault(__nested_webpack_require_1005872__(4240));
219758
219738
  exports.glob = glob_1.default;
219759
- const rename_1 = __importDefault(__nested_webpack_require_1006841__(6718));
219739
+ const rename_1 = __importDefault(__nested_webpack_require_1005872__(6718));
219760
219740
  exports.rename = rename_1.default;
219761
- const run_user_scripts_1 = __nested_webpack_require_1006841__(1442);
219741
+ const run_user_scripts_1 = __nested_webpack_require_1005872__(1442);
219762
219742
  Object.defineProperty(exports, "execAsync", ({ enumerable: true, get: function () { return run_user_scripts_1.execAsync; } }));
219763
219743
  Object.defineProperty(exports, "spawnAsync", ({ enumerable: true, get: function () { return run_user_scripts_1.spawnAsync; } }));
219764
219744
  Object.defineProperty(exports, "execCommand", ({ enumerable: true, get: function () { return run_user_scripts_1.execCommand; } }));
@@ -219775,38 +219755,38 @@ Object.defineProperty(exports, "getNodeVersion", ({ enumerable: true, get: funct
219775
219755
  Object.defineProperty(exports, "getSpawnOptions", ({ enumerable: true, get: function () { return run_user_scripts_1.getSpawnOptions; } }));
219776
219756
  Object.defineProperty(exports, "getNodeBinPath", ({ enumerable: true, get: function () { return run_user_scripts_1.getNodeBinPath; } }));
219777
219757
  Object.defineProperty(exports, "scanParentDirs", ({ enumerable: true, get: function () { return run_user_scripts_1.scanParentDirs; } }));
219778
- const node_version_1 = __nested_webpack_require_1006841__(7903);
219758
+ const node_version_1 = __nested_webpack_require_1005872__(7903);
219779
219759
  Object.defineProperty(exports, "getLatestNodeVersion", ({ enumerable: true, get: function () { return node_version_1.getLatestNodeVersion; } }));
219780
219760
  Object.defineProperty(exports, "getDiscontinuedNodeVersions", ({ enumerable: true, get: function () { return node_version_1.getDiscontinuedNodeVersions; } }));
219781
- const errors_1 = __nested_webpack_require_1006841__(3983);
219782
- const stream_to_buffer_1 = __importDefault(__nested_webpack_require_1006841__(2560));
219761
+ const errors_1 = __nested_webpack_require_1005872__(3983);
219762
+ const stream_to_buffer_1 = __importDefault(__nested_webpack_require_1005872__(2560));
219783
219763
  exports.streamToBuffer = stream_to_buffer_1.default;
219784
- const should_serve_1 = __importDefault(__nested_webpack_require_1006841__(2564));
219764
+ const should_serve_1 = __importDefault(__nested_webpack_require_1005872__(2564));
219785
219765
  exports.shouldServe = should_serve_1.default;
219786
- const debug_1 = __importDefault(__nested_webpack_require_1006841__(1868));
219766
+ const debug_1 = __importDefault(__nested_webpack_require_1005872__(1868));
219787
219767
  exports.debug = debug_1.default;
219788
- const get_ignore_filter_1 = __importDefault(__nested_webpack_require_1006841__(1148));
219768
+ const get_ignore_filter_1 = __importDefault(__nested_webpack_require_1005872__(1148));
219789
219769
  exports.getIgnoreFilter = get_ignore_filter_1.default;
219790
- var detect_builders_1 = __nested_webpack_require_1006841__(4246);
219770
+ var detect_builders_1 = __nested_webpack_require_1005872__(4246);
219791
219771
  Object.defineProperty(exports, "detectBuilders", ({ enumerable: true, get: function () { return detect_builders_1.detectBuilders; } }));
219792
219772
  Object.defineProperty(exports, "detectOutputDirectory", ({ enumerable: true, get: function () { return detect_builders_1.detectOutputDirectory; } }));
219793
219773
  Object.defineProperty(exports, "detectApiDirectory", ({ enumerable: true, get: function () { return detect_builders_1.detectApiDirectory; } }));
219794
219774
  Object.defineProperty(exports, "detectApiExtensions", ({ enumerable: true, get: function () { return detect_builders_1.detectApiExtensions; } }));
219795
- var detect_framework_1 = __nested_webpack_require_1006841__(5224);
219775
+ var detect_framework_1 = __nested_webpack_require_1005872__(5224);
219796
219776
  Object.defineProperty(exports, "detectFramework", ({ enumerable: true, get: function () { return detect_framework_1.detectFramework; } }));
219797
- var filesystem_1 = __nested_webpack_require_1006841__(461);
219777
+ var filesystem_1 = __nested_webpack_require_1005872__(461);
219798
219778
  Object.defineProperty(exports, "DetectorFilesystem", ({ enumerable: true, get: function () { return filesystem_1.DetectorFilesystem; } }));
219799
- var read_config_file_1 = __nested_webpack_require_1006841__(7792);
219779
+ var read_config_file_1 = __nested_webpack_require_1005872__(7792);
219800
219780
  Object.defineProperty(exports, "readConfigFile", ({ enumerable: true, get: function () { return read_config_file_1.readConfigFile; } }));
219801
- var normalize_path_1 = __nested_webpack_require_1006841__(6261);
219781
+ var normalize_path_1 = __nested_webpack_require_1005872__(6261);
219802
219782
  Object.defineProperty(exports, "normalizePath", ({ enumerable: true, get: function () { return normalize_path_1.normalizePath; } }));
219803
- var convert_runtime_to_plugin_1 = __nested_webpack_require_1006841__(7276);
219783
+ var convert_runtime_to_plugin_1 = __nested_webpack_require_1005872__(7276);
219804
219784
  Object.defineProperty(exports, "convertRuntimeToPlugin", ({ enumerable: true, get: function () { return convert_runtime_to_plugin_1.convertRuntimeToPlugin; } }));
219805
219785
  Object.defineProperty(exports, "updateFunctionsManifest", ({ enumerable: true, get: function () { return convert_runtime_to_plugin_1.updateFunctionsManifest; } }));
219806
219786
  Object.defineProperty(exports, "updateRoutesManifest", ({ enumerable: true, get: function () { return convert_runtime_to_plugin_1.updateRoutesManifest; } }));
219807
- __exportStar(__nested_webpack_require_1006841__(2416), exports);
219808
- __exportStar(__nested_webpack_require_1006841__(5748), exports);
219809
- __exportStar(__nested_webpack_require_1006841__(3983), exports);
219787
+ __exportStar(__nested_webpack_require_1005872__(2416), exports);
219788
+ __exportStar(__nested_webpack_require_1005872__(5748), exports);
219789
+ __exportStar(__nested_webpack_require_1005872__(3983), exports);
219810
219790
  /**
219811
219791
  * Helper function to support both `@vercel` and legacy `@now` official Runtimes.
219812
219792
  */
@@ -219859,7 +219839,7 @@ exports.getInputHash = getInputHash;
219859
219839
  /***/ }),
219860
219840
 
219861
219841
  /***/ 6721:
219862
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1017819__) {
219842
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1016850__) {
219863
219843
 
219864
219844
  "use strict";
219865
219845
 
@@ -219868,13 +219848,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219868
219848
  };
219869
219849
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219870
219850
  exports.getLambdaOptionsFromFunction = exports.createZip = exports.createLambda = exports.Lambda = exports.FILES_SYMBOL = void 0;
219871
- const assert_1 = __importDefault(__nested_webpack_require_1017819__(2357));
219872
- const async_sema_1 = __importDefault(__nested_webpack_require_1017819__(5758));
219873
- const yazl_1 = __nested_webpack_require_1017819__(1223);
219874
- const minimatch_1 = __importDefault(__nested_webpack_require_1017819__(9566));
219875
- const fs_extra_1 = __nested_webpack_require_1017819__(5392);
219876
- const download_1 = __nested_webpack_require_1017819__(1611);
219877
- const stream_to_buffer_1 = __importDefault(__nested_webpack_require_1017819__(2560));
219851
+ const assert_1 = __importDefault(__nested_webpack_require_1016850__(2357));
219852
+ const async_sema_1 = __importDefault(__nested_webpack_require_1016850__(5758));
219853
+ const yazl_1 = __nested_webpack_require_1016850__(1223);
219854
+ const minimatch_1 = __importDefault(__nested_webpack_require_1016850__(9566));
219855
+ const fs_extra_1 = __nested_webpack_require_1016850__(5392);
219856
+ const download_1 = __nested_webpack_require_1016850__(1611);
219857
+ const stream_to_buffer_1 = __importDefault(__nested_webpack_require_1016850__(2560));
219878
219858
  exports.FILES_SYMBOL = Symbol('files');
219879
219859
  class Lambda {
219880
219860
  constructor({ zipBuffer, handler, runtime, maxDuration, memory, environment, allowQuery, regions, }) {
@@ -220103,12 +220083,12 @@ exports.buildsSchema = {
220103
220083
  /***/ }),
220104
220084
 
220105
220085
  /***/ 2564:
220106
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_1026329__) => {
220086
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_1025360__) => {
220107
220087
 
220108
220088
  "use strict";
220109
220089
 
220110
220090
  Object.defineProperty(exports, "__esModule", ({ value: true }));
220111
- const path_1 = __nested_webpack_require_1026329__(5622);
220091
+ const path_1 = __nested_webpack_require_1025360__(5622);
220112
220092
  function shouldServe({ entrypoint, files, requestPath, }) {
220113
220093
  requestPath = requestPath.replace(/\/$/, ''); // sanitize trailing '/'
220114
220094
  entrypoint = entrypoint.replace(/\\/, '/'); // windows compatibility
@@ -220345,7 +220325,7 @@ module.exports = __webpack_require__(78761);
220345
220325
  /******/ var __webpack_module_cache__ = {};
220346
220326
  /******/
220347
220327
  /******/ // The require function
220348
- /******/ function __nested_webpack_require_1126064__(moduleId) {
220328
+ /******/ function __nested_webpack_require_1125095__(moduleId) {
220349
220329
  /******/ // Check if module is in cache
220350
220330
  /******/ if(__webpack_module_cache__[moduleId]) {
220351
220331
  /******/ return __webpack_module_cache__[moduleId].exports;
@@ -220360,7 +220340,7 @@ module.exports = __webpack_require__(78761);
220360
220340
  /******/ // Execute the module function
220361
220341
  /******/ var threw = true;
220362
220342
  /******/ try {
220363
- /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_1126064__);
220343
+ /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_1125095__);
220364
220344
  /******/ threw = false;
220365
220345
  /******/ } finally {
220366
220346
  /******/ if(threw) delete __webpack_module_cache__[moduleId];
@@ -220373,11 +220353,11 @@ module.exports = __webpack_require__(78761);
220373
220353
  /************************************************************************/
220374
220354
  /******/ /* webpack/runtime/compat */
220375
220355
  /******/
220376
- /******/ __nested_webpack_require_1126064__.ab = __dirname + "/";/************************************************************************/
220356
+ /******/ __nested_webpack_require_1125095__.ab = __dirname + "/";/************************************************************************/
220377
220357
  /******/ // module exports must be returned from runtime so entry inlining is disabled
220378
220358
  /******/ // startup
220379
220359
  /******/ // Load entry module and return exports
220380
- /******/ return __nested_webpack_require_1126064__(2855);
220360
+ /******/ return __nested_webpack_require_1125095__(2855);
220381
220361
  /******/ })()
220382
220362
  ;
220383
220363
 
@@ -238241,33 +238221,14 @@ exports.checkDeploymentStatus = checkDeploymentStatus;
238241
238221
  /***/ }),
238242
238222
 
238243
238223
  /***/ 97377:
238244
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
238224
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
238245
238225
 
238246
238226
  "use strict";
238247
238227
 
238248
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
238249
- if (k2 === undefined) k2 = k;
238250
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
238251
- }) : (function(o, m, k, k2) {
238252
- if (k2 === undefined) k2 = k;
238253
- o[k2] = m[k];
238254
- }));
238255
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
238256
- Object.defineProperty(o, "default", { enumerable: true, value: v });
238257
- }) : function(o, v) {
238258
- o["default"] = v;
238259
- });
238260
- var __importStar = (this && this.__importStar) || function (mod) {
238261
- if (mod && mod.__esModule) return mod;
238262
- var result = {};
238263
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
238264
- __setModuleDefault(result, mod);
238265
- return result;
238266
- };
238267
238228
  Object.defineProperty(exports, "__esModule", ({ value: true }));
238268
238229
  const fs_extra_1 = __webpack_require__(29394);
238269
238230
  const path_1 = __webpack_require__(85622);
238270
- const hashes_1 = __importStar(__webpack_require__(91234));
238231
+ const hashes_1 = __webpack_require__(91234);
238271
238232
  const upload_1 = __webpack_require__(78617);
238272
238233
  const utils_1 = __webpack_require__(52015);
238273
238234
  const errors_1 = __webpack_require__(42054);
@@ -238318,7 +238279,7 @@ function buildCreateDeployment() {
238318
238279
  else {
238319
238280
  debug(`Provided 'path' is a single file`);
238320
238281
  }
238321
- let { fileList } = await utils_1.buildFileTree(path, clientOptions.isDirectory, debug, clientOptions.prebuilt);
238282
+ let { fileList } = await utils_1.buildFileTree(path, clientOptions, debug);
238322
238283
  let configPath;
238323
238284
  if (!nowConfig) {
238324
238285
  // If the user did not provide a config file, use the one in the root directory.
@@ -238348,7 +238309,11 @@ function buildCreateDeployment() {
238348
238309
  payload: 'There are no files inside your deployment.',
238349
238310
  };
238350
238311
  }
238351
- const files = await hashes_1.default(fileList);
238312
+ const hashedFileMap = await hashes_1.hashes(fileList);
238313
+ const nftFileList = clientOptions.prebuilt
238314
+ ? await hashes_1.resolveNftJsonFiles(hashedFileMap)
238315
+ : [];
238316
+ const files = await hashes_1.hashes(nftFileList, hashedFileMap);
238352
238317
  debug(`Yielding a 'hashes-calculated' event with ${files.size} hashes`);
238353
238318
  yield { type: 'hashes-calculated', payload: hashes_1.mapToObject(files) };
238354
238319
  if (clientOptions.apiUrl) {
@@ -238802,10 +238767,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
238802
238767
  return (mod && mod.__esModule) ? mod : { "default": mod };
238803
238768
  };
238804
238769
  Object.defineProperty(exports, "__esModule", ({ value: true }));
238805
- exports.mapToObject = void 0;
238770
+ exports.resolveNftJsonFiles = exports.hashes = exports.mapToObject = void 0;
238806
238771
  const crypto_1 = __webpack_require__(76417);
238807
238772
  const fs_extra_1 = __importDefault(__webpack_require__(29394));
238808
238773
  const async_sema_1 = __webpack_require__(30401);
238774
+ const path_1 = __webpack_require__(85622);
238809
238775
  /**
238810
238776
  * Computes a hash for the given buf.
238811
238777
  *
@@ -238813,9 +238779,7 @@ const async_sema_1 = __webpack_require__(30401);
238813
238779
  * @return {String} hex digest
238814
238780
  */
238815
238781
  function hash(buf) {
238816
- return crypto_1.createHash('sha1')
238817
- .update(buf)
238818
- .digest('hex');
238782
+ return crypto_1.createHash('sha1').update(buf).digest('hex');
238819
238783
  }
238820
238784
  /**
238821
238785
  * Transforms map to object
@@ -238833,11 +238797,11 @@ exports.mapToObject = mapToObject;
238833
238797
  /**
238834
238798
  * Computes hashes for the contents of each file given.
238835
238799
  *
238836
- * @param {Array} of {String} full paths
238837
- * @return {Map}
238800
+ * @param files - absolute file paths
238801
+ * @param map - optional map of files to append
238802
+ * @return Map of hash digest to file object
238838
238803
  */
238839
- async function hashes(files) {
238840
- const map = new Map();
238804
+ async function hashes(files, map = new Map()) {
238841
238805
  const semaphore = new async_sema_1.Sema(100);
238842
238806
  await Promise.all(files.map(async (name) => {
238843
238807
  await semaphore.acquire();
@@ -238846,7 +238810,9 @@ async function hashes(files) {
238846
238810
  const h = hash(data);
238847
238811
  const entry = map.get(h);
238848
238812
  if (entry) {
238849
- entry.names.push(name);
238813
+ if (entry.names[0] !== name) {
238814
+ entry.names.push(name);
238815
+ }
238850
238816
  }
238851
238817
  else {
238852
238818
  map.set(h, { names: [name], data, mode });
@@ -238855,7 +238821,32 @@ async function hashes(files) {
238855
238821
  }));
238856
238822
  return map;
238857
238823
  }
238858
- exports.default = hashes;
238824
+ exports.hashes = hashes;
238825
+ async function resolveNftJsonFiles(hashedFiles) {
238826
+ const semaphore = new async_sema_1.Sema(100);
238827
+ const existingFiles = Array.from(hashedFiles.values());
238828
+ const resolvedFiles = new Set();
238829
+ await Promise.all(existingFiles.map(async (file) => {
238830
+ await semaphore.acquire();
238831
+ const fsPath = file.names[0];
238832
+ if (fsPath.endsWith('.nft.json')) {
238833
+ const json = file.data.toString('utf8');
238834
+ const { version, files } = JSON.parse(json);
238835
+ if (version === 1 || version === 2) {
238836
+ for (let f of files) {
238837
+ const relPath = typeof f === 'string' ? f : f.input;
238838
+ resolvedFiles.add(path_1.join(path_1.dirname(fsPath), relPath));
238839
+ }
238840
+ }
238841
+ else {
238842
+ console.error(`Invalid nft.json version: ${version}`);
238843
+ }
238844
+ }
238845
+ semaphore.release();
238846
+ }));
238847
+ return Array.from(resolvedFiles);
238848
+ }
238849
+ exports.resolveNftJsonFiles = resolveNftJsonFiles;
238859
238850
 
238860
238851
 
238861
238852
  /***/ }),
@@ -238937,10 +238928,10 @@ const maybeRead = async function (path, default_) {
238937
238928
  return default_;
238938
238929
  }
238939
238930
  };
238940
- async function buildFileTree(path, isDirectory, debug, prebuilt) {
238931
+ async function buildFileTree(path, { isDirectory, prebuilt, rootDirectory, }, debug) {
238941
238932
  const ignoreList = [];
238942
238933
  let fileList;
238943
- let { ig, ignores } = await getVercelIgnore(path, prebuilt);
238934
+ let { ig, ignores } = await getVercelIgnore(path, prebuilt, rootDirectory);
238944
238935
  debug(`Found ${ignores.length} rules in .vercelignore`);
238945
238936
  debug('Building file tree...');
238946
238937
  if (isDirectory && !Array.isArray(path)) {
@@ -238969,10 +238960,20 @@ async function buildFileTree(path, isDirectory, debug, prebuilt) {
238969
238960
  return { fileList, ignoreList };
238970
238961
  }
238971
238962
  exports.buildFileTree = buildFileTree;
238972
- async function getVercelIgnore(cwd, prebuilt) {
238973
- const ignores = prebuilt
238974
- ? ['*', '!.output', '!.output/**']
238975
- : [
238963
+ async function getVercelIgnore(cwd, prebuilt, rootDirectory) {
238964
+ let ignores = [];
238965
+ const outputDir = path_1.posix.join(rootDirectory || '', '.output');
238966
+ if (prebuilt) {
238967
+ ignores.push('*');
238968
+ const parts = outputDir.split('/');
238969
+ parts.forEach((_, i) => {
238970
+ const level = parts.slice(0, i + 1).join('/');
238971
+ ignores.push(`!${level}`);
238972
+ });
238973
+ ignores.push(`!${outputDir}/**`);
238974
+ }
238975
+ else {
238976
+ ignores = [
238976
238977
  '.hg',
238977
238978
  '.git',
238978
238979
  '.gitmodules',
@@ -238997,8 +238998,9 @@ async function getVercelIgnore(cwd, prebuilt) {
238997
238998
  '__pycache__',
238998
238999
  'venv',
238999
239000
  'CVS',
239000
- '.output',
239001
+ `.output`,
239001
239002
  ];
239003
+ }
239002
239004
  const cwds = Array.isArray(cwd) ? cwd : [cwd];
239003
239005
  const files = await Promise.all(cwds.map(async (cwd) => {
239004
239006
  const [vercelignore, nowignore] = await Promise.all([
@@ -239058,9 +239060,8 @@ const fetch = async (url, token, opts = {}, debugEnabled, useNodeFetch) => {
239058
239060
  exports.fetch = fetch;
239059
239061
  const isWin = process.platform.includes('win');
239060
239062
  const prepareFiles = (files, clientOptions) => {
239061
- const preparedFiles = [...files.keys()].reduce((acc, sha) => {
239062
- const next = [...acc];
239063
- const file = files.get(sha);
239063
+ const preparedFiles = [];
239064
+ for (const [sha, file] of files) {
239064
239065
  for (const name of file.names) {
239065
239066
  let fileName;
239066
239067
  if (clientOptions.isDirectory) {
@@ -239075,15 +239076,14 @@ const prepareFiles = (files, clientOptions) => {
239075
239076
  const segments = name.split(path_1.sep);
239076
239077
  fileName = segments[segments.length - 1];
239077
239078
  }
239078
- next.push({
239079
+ preparedFiles.push({
239079
239080
  file: isWin ? fileName.replace(/\\/g, '/') : fileName,
239080
239081
  size: file.data.byteLength || file.data.length,
239081
239082
  mode: file.mode,
239082
239083
  sha,
239083
239084
  });
239084
239085
  }
239085
- return next;
239086
- }, []);
239086
+ }
239087
239087
  return preparedFiles;
239088
239088
  };
239089
239089
  exports.prepareFiles = prepareFiles;
@@ -251878,6 +251878,7 @@ exports.default = async (client) => {
251878
251878
  forceNew: argv['--force'],
251879
251879
  withCache: argv['--with-cache'],
251880
251880
  prebuilt: argv['--prebuilt'],
251881
+ rootDirectory,
251881
251882
  quiet,
251882
251883
  wantsPublic: argv['--public'] || localConfig.public,
251883
251884
  isFile,
@@ -259431,7 +259432,7 @@ function printInspectUrl(output, inspectorUrl, deployStamp) {
259431
259432
  output.print(emoji_1.prependEmoji(`Inspect: ${chalk_1.default.bold(inspectorUrl)} ${deployStamp()}`, emoji_1.emoji('inspect')) + `\n`);
259432
259433
  }
259433
259434
  async function processDeployment({ org, cwd, projectName, isSettingUpProject, skipAutoDetectionConfirmation, ...args }) {
259434
- let { now, output, paths, requestBody, deployStamp, force, withCache, nowConfig, quiet, prebuilt, } = args;
259435
+ let { now, output, paths, requestBody, deployStamp, force, withCache, nowConfig, quiet, prebuilt, rootDirectory, } = args;
259435
259436
  const { debug } = output;
259436
259437
  let bar = null;
259437
259438
  const { env = {} } = requestBody;
@@ -259449,6 +259450,7 @@ async function processDeployment({ org, cwd, projectName, isSettingUpProject, sk
259449
259450
  force,
259450
259451
  withCache,
259451
259452
  prebuilt,
259453
+ rootDirectory,
259452
259454
  skipAutoDetectionConfirmation,
259453
259455
  };
259454
259456
  output.spinner(isSettingUpProject
@@ -266297,7 +266299,7 @@ class Now extends events_1.default {
266297
266299
  // Legacy
266298
266300
  nowConfig: nowConfig = {},
266299
266301
  // Latest
266300
- name, project, prebuilt = false, wantsPublic, meta, regions, quiet = false, env, build, forceNew = false, withCache = false, target = null, deployStamp, projectSettings, skipAutoDetectionConfirmation, }, org, isSettingUpProject, cwd) {
266302
+ name, project, prebuilt = false, rootDirectory, wantsPublic, meta, regions, quiet = false, env, build, forceNew = false, withCache = false, target = null, deployStamp, projectSettings, skipAutoDetectionConfirmation, }, org, isSettingUpProject, cwd) {
266301
266303
  let hashes = {};
266302
266304
  const uploadStamp = stamp_1.default();
266303
266305
  let requestBody = {
@@ -266333,6 +266335,7 @@ class Now extends events_1.default {
266333
266335
  skipAutoDetectionConfirmation,
266334
266336
  cwd,
266335
266337
  prebuilt,
266338
+ rootDirectory,
266336
266339
  });
266337
266340
  if (deployment && deployment.warnings) {
266338
266341
  let sizeExceeded = 0;
@@ -271064,7 +271067,7 @@ module.exports = JSON.parse("[\"ac\",\"com.ac\",\"edu.ac\",\"gov.ac\",\"net.ac\"
271064
271067
  /***/ ((module) => {
271065
271068
 
271066
271069
  "use strict";
271067
- module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"23.1.3-canary.62\",\"preferGlobal\":true,\"license\":\"Apache-2.0\",\"description\":\"The command-line interface for Vercel\",\"homepage\":\"https://vercel.com\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/cli\"},\"scripts\":{\"preinstall\":\"node ./scripts/preinstall.js\",\"test\":\"jest\",\"test-unit\":\"jest --coverage --verbose\",\"test-integration-cli\":\"rimraf test/fixtures/integration && ava test/integration.js --serial --fail-fast --verbose\",\"test-integration-dev\":\"ava test/dev/integration.js --serial --fail-fast --verbose\",\"prepublishOnly\":\"yarn build\",\"coverage\":\"codecov\",\"build\":\"node -r ts-eager/register ./scripts/build.ts\",\"build-dev\":\"node -r ts-eager/register ./scripts/build.ts --dev\"},\"bin\":{\"vc\":\"./dist/index.js\",\"vercel\":\"./dist/index.js\"},\"files\":[\"dist\",\"scripts/preinstall.js\"],\"ava\":{\"compileEnhancements\":false,\"extensions\":[\"ts\"],\"require\":[\"ts-node/register/transpile-only\",\"esm\"]},\"engines\":{\"node\":\">= 12\"},\"dependencies\":{\"@vercel/build-utils\":\"2.12.3-canary.39\",\"@vercel/go\":\"1.2.4-canary.4\",\"@vercel/node\":\"1.12.2-canary.7\",\"@vercel/python\":\"2.1.2-canary.1\",\"@vercel/ruby\":\"1.2.10-canary.0\",\"update-notifier\":\"4.1.0\",\"vercel-plugin-middleware\":\"0.0.0-canary.15\",\"vercel-plugin-node\":\"1.12.2-canary.31\"},\"devDependencies\":{\"@next/env\":\"11.1.2\",\"@sentry/node\":\"5.5.0\",\"@sindresorhus/slugify\":\"0.11.0\",\"@tootallnate/once\":\"1.1.2\",\"@types/ansi-escapes\":\"3.0.0\",\"@types/ansi-regex\":\"4.0.0\",\"@types/async-retry\":\"1.2.1\",\"@types/bytes\":\"3.0.0\",\"@types/chance\":\"1.1.3\",\"@types/debug\":\"0.0.31\",\"@types/dotenv\":\"6.1.1\",\"@types/escape-html\":\"0.0.20\",\"@types/express\":\"4.17.13\",\"@types/fs-extra\":\"9.0.13\",\"@types/glob\":\"7.1.1\",\"@types/http-proxy\":\"1.16.2\",\"@types/inquirer\":\"7.3.1\",\"@types/jest\":\"27.0.1\",\"@types/load-json-file\":\"2.0.7\",\"@types/mime-types\":\"2.1.0\",\"@types/minimatch\":\"3.0.3\",\"@types/mri\":\"1.1.0\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"11.11.0\",\"@types/node-fetch\":\"2.5.10\",\"@types/npm-package-arg\":\"6.1.0\",\"@types/pluralize\":\"0.0.29\",\"@types/progress\":\"2.0.3\",\"@types/psl\":\"1.1.0\",\"@types/semver\":\"6.0.1\",\"@types/tar-fs\":\"1.16.1\",\"@types/text-table\":\"0.2.0\",\"@types/title\":\"3.4.1\",\"@types/universal-analytics\":\"0.4.2\",\"@types/update-notifier\":\"5.1.0\",\"@types/which\":\"1.3.2\",\"@types/write-json-file\":\"2.2.1\",\"@vercel/frameworks\":\"0.5.1-canary.17\",\"@vercel/ncc\":\"0.24.0\",\"@vercel/nft\":\"0.17.0\",\"@zeit/fun\":\"0.11.2\",\"@zeit/source-map-support\":\"0.6.2\",\"ajv\":\"6.12.2\",\"alpha-sort\":\"2.0.1\",\"ansi-escapes\":\"3.0.0\",\"ansi-regex\":\"3.0.0\",\"arg\":\"5.0.0\",\"async-listen\":\"1.2.0\",\"async-retry\":\"1.1.3\",\"async-sema\":\"2.1.4\",\"ava\":\"2.2.0\",\"bytes\":\"3.0.0\",\"chalk\":\"4.1.0\",\"chance\":\"1.1.7\",\"chokidar\":\"3.3.1\",\"clipboardy\":\"2.1.0\",\"codecov\":\"3.8.2\",\"cpy\":\"7.2.0\",\"credit-card\":\"3.0.1\",\"date-fns\":\"1.29.0\",\"debug\":\"3.1.0\",\"dot\":\"1.1.3\",\"dotenv\":\"4.0.0\",\"email-prompt\":\"0.3.2\",\"email-validator\":\"1.1.1\",\"epipebomb\":\"1.0.0\",\"escape-html\":\"1.0.3\",\"esm\":\"3.1.4\",\"execa\":\"3.2.0\",\"express\":\"4.17.1\",\"fast-deep-equal\":\"3.1.3\",\"fs-extra\":\"10.0.0\",\"get-port\":\"5.1.1\",\"glob\":\"7.1.2\",\"http-proxy\":\"1.18.1\",\"inquirer\":\"7.0.4\",\"is-docker\":\"2.2.1\",\"is-port-reachable\":\"3.0.0\",\"is-url\":\"1.2.2\",\"jaro-winkler\":\"0.2.8\",\"jsonlines\":\"0.1.1\",\"load-json-file\":\"3.0.0\",\"mime-types\":\"2.1.24\",\"minimatch\":\"3.0.4\",\"mri\":\"1.1.5\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.1\",\"npm-package-arg\":\"6.1.0\",\"open\":\"8.2.0\",\"ora\":\"3.4.0\",\"pcre-to-regexp\":\"1.0.0\",\"pluralize\":\"7.0.0\",\"progress\":\"2.0.3\",\"promisepipe\":\"3.0.0\",\"psl\":\"1.1.31\",\"qr-image\":\"3.2.0\",\"raw-body\":\"2.4.1\",\"rimraf\":\"3.0.2\",\"semver\":\"5.5.0\",\"serve-handler\":\"6.1.1\",\"strip-ansi\":\"5.2.0\",\"stripe\":\"5.1.0\",\"tar-fs\":\"1.16.3\",\"test-listen\":\"1.1.0\",\"text-table\":\"0.2.0\",\"title\":\"3.4.1\",\"tmp-promise\":\"1.0.3\",\"tree-kill\":\"1.2.2\",\"ts-eager\":\"2.0.2\",\"ts-node\":\"8.3.0\",\"typescript\":\"4.3.4\",\"universal-analytics\":\"0.4.20\",\"utility-types\":\"2.1.0\",\"which\":\"2.0.2\",\"write-json-file\":\"2.2.0\",\"xdg-app-paths\":\"5.1.0\"},\"jest\":{\"preset\":\"ts-jest\",\"globals\":{\"ts-jest\":{\"diagnostics\":false,\"isolatedModules\":true}},\"verbose\":false,\"testEnvironment\":\"node\",\"testMatch\":[\"<rootDir>/test/**/*.test.ts\"]},\"gitHead\":\"2c86ac654ccde97426127fd0a6ffd04253227c50\"}");
271070
+ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"23.1.3-canary.66\",\"preferGlobal\":true,\"license\":\"Apache-2.0\",\"description\":\"The command-line interface for Vercel\",\"homepage\":\"https://vercel.com\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/cli\"},\"scripts\":{\"preinstall\":\"node ./scripts/preinstall.js\",\"test\":\"jest\",\"test-unit\":\"jest --coverage --verbose\",\"test-integration-cli\":\"rimraf test/fixtures/integration && ava test/integration.js --serial --fail-fast --verbose\",\"test-integration-dev\":\"ava test/dev/integration.js --serial --fail-fast --verbose\",\"prepublishOnly\":\"yarn build\",\"coverage\":\"codecov\",\"build\":\"node -r ts-eager/register ./scripts/build.ts\",\"build-dev\":\"node -r ts-eager/register ./scripts/build.ts --dev\"},\"bin\":{\"vc\":\"./dist/index.js\",\"vercel\":\"./dist/index.js\"},\"files\":[\"dist\",\"scripts/preinstall.js\"],\"ava\":{\"compileEnhancements\":false,\"extensions\":[\"ts\"],\"require\":[\"ts-node/register/transpile-only\",\"esm\"]},\"engines\":{\"node\":\">= 12\"},\"dependencies\":{\"@vercel/build-utils\":\"2.12.3-canary.41\",\"@vercel/go\":\"1.2.4-canary.4\",\"@vercel/node\":\"1.12.2-canary.7\",\"@vercel/python\":\"2.1.2-canary.1\",\"@vercel/ruby\":\"1.2.10-canary.0\",\"update-notifier\":\"4.1.0\",\"vercel-plugin-middleware\":\"0.0.0-canary.18\",\"vercel-plugin-node\":\"1.12.2-canary.33\"},\"devDependencies\":{\"@next/env\":\"11.1.2\",\"@sentry/node\":\"5.5.0\",\"@sindresorhus/slugify\":\"0.11.0\",\"@tootallnate/once\":\"1.1.2\",\"@types/ansi-escapes\":\"3.0.0\",\"@types/ansi-regex\":\"4.0.0\",\"@types/async-retry\":\"1.2.1\",\"@types/bytes\":\"3.0.0\",\"@types/chance\":\"1.1.3\",\"@types/debug\":\"0.0.31\",\"@types/dotenv\":\"6.1.1\",\"@types/escape-html\":\"0.0.20\",\"@types/express\":\"4.17.13\",\"@types/fs-extra\":\"9.0.13\",\"@types/glob\":\"7.1.1\",\"@types/http-proxy\":\"1.16.2\",\"@types/inquirer\":\"7.3.1\",\"@types/jest\":\"27.0.1\",\"@types/load-json-file\":\"2.0.7\",\"@types/mime-types\":\"2.1.0\",\"@types/minimatch\":\"3.0.3\",\"@types/mri\":\"1.1.0\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"11.11.0\",\"@types/node-fetch\":\"2.5.10\",\"@types/npm-package-arg\":\"6.1.0\",\"@types/pluralize\":\"0.0.29\",\"@types/progress\":\"2.0.3\",\"@types/psl\":\"1.1.0\",\"@types/semver\":\"6.0.1\",\"@types/tar-fs\":\"1.16.1\",\"@types/text-table\":\"0.2.0\",\"@types/title\":\"3.4.1\",\"@types/universal-analytics\":\"0.4.2\",\"@types/update-notifier\":\"5.1.0\",\"@types/which\":\"1.3.2\",\"@types/write-json-file\":\"2.2.1\",\"@vercel/frameworks\":\"0.5.1-canary.17\",\"@vercel/ncc\":\"0.24.0\",\"@vercel/nft\":\"0.17.0\",\"@zeit/fun\":\"0.11.2\",\"@zeit/source-map-support\":\"0.6.2\",\"ajv\":\"6.12.2\",\"alpha-sort\":\"2.0.1\",\"ansi-escapes\":\"3.0.0\",\"ansi-regex\":\"3.0.0\",\"arg\":\"5.0.0\",\"async-listen\":\"1.2.0\",\"async-retry\":\"1.1.3\",\"async-sema\":\"2.1.4\",\"ava\":\"2.2.0\",\"bytes\":\"3.0.0\",\"chalk\":\"4.1.0\",\"chance\":\"1.1.7\",\"chokidar\":\"3.3.1\",\"clipboardy\":\"2.1.0\",\"codecov\":\"3.8.2\",\"cpy\":\"7.2.0\",\"credit-card\":\"3.0.1\",\"date-fns\":\"1.29.0\",\"debug\":\"3.1.0\",\"dot\":\"1.1.3\",\"dotenv\":\"4.0.0\",\"email-prompt\":\"0.3.2\",\"email-validator\":\"1.1.1\",\"epipebomb\":\"1.0.0\",\"escape-html\":\"1.0.3\",\"esm\":\"3.1.4\",\"execa\":\"3.2.0\",\"express\":\"4.17.1\",\"fast-deep-equal\":\"3.1.3\",\"fs-extra\":\"10.0.0\",\"get-port\":\"5.1.1\",\"glob\":\"7.1.2\",\"http-proxy\":\"1.18.1\",\"inquirer\":\"7.0.4\",\"is-docker\":\"2.2.1\",\"is-port-reachable\":\"3.0.0\",\"is-url\":\"1.2.2\",\"jaro-winkler\":\"0.2.8\",\"jsonlines\":\"0.1.1\",\"load-json-file\":\"3.0.0\",\"mime-types\":\"2.1.24\",\"minimatch\":\"3.0.4\",\"mri\":\"1.1.5\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.1\",\"npm-package-arg\":\"6.1.0\",\"open\":\"8.2.0\",\"ora\":\"3.4.0\",\"pcre-to-regexp\":\"1.0.0\",\"pluralize\":\"7.0.0\",\"progress\":\"2.0.3\",\"promisepipe\":\"3.0.0\",\"psl\":\"1.1.31\",\"qr-image\":\"3.2.0\",\"raw-body\":\"2.4.1\",\"rimraf\":\"3.0.2\",\"semver\":\"5.5.0\",\"serve-handler\":\"6.1.1\",\"strip-ansi\":\"5.2.0\",\"stripe\":\"5.1.0\",\"tar-fs\":\"1.16.3\",\"test-listen\":\"1.1.0\",\"text-table\":\"0.2.0\",\"title\":\"3.4.1\",\"tmp-promise\":\"1.0.3\",\"tree-kill\":\"1.2.2\",\"ts-eager\":\"2.0.2\",\"ts-node\":\"8.3.0\",\"typescript\":\"4.3.4\",\"universal-analytics\":\"0.4.20\",\"utility-types\":\"2.1.0\",\"which\":\"2.0.2\",\"write-json-file\":\"2.2.0\",\"xdg-app-paths\":\"5.1.0\"},\"jest\":{\"preset\":\"ts-jest\",\"globals\":{\"ts-jest\":{\"diagnostics\":false,\"isolatedModules\":true}},\"verbose\":false,\"testEnvironment\":\"node\",\"testMatch\":[\"<rootDir>/test/**/*.test.ts\"]},\"gitHead\":\"3427ad6ce01843ffa0fe6906b9541effb64d2087\"}");
271068
271071
 
271069
271072
  /***/ }),
271070
271073
 
@@ -271080,7 +271083,7 @@ module.exports = JSON.parse("{\"VISA\":\"Visa\",\"MASTERCARD\":\"MasterCard\",\"
271080
271083
  /***/ ((module) => {
271081
271084
 
271082
271085
  "use strict";
271083
- module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"10.2.3-canary.40\",\"main\":\"dist/index.js\",\"typings\":\"dist/index.d.ts\",\"homepage\":\"https://vercel.com\",\"license\":\"MIT\",\"files\":[\"dist\"],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/client\"},\"scripts\":{\"build\":\"tsc\",\"test-integration-once\":\"jest --verbose --runInBand --bail tests/create-deployment.test.ts tests/create-legacy-deployment.test.ts tests/paths.test.ts\",\"test-unit\":\"jest --verbose --runInBand --bail tests/unit.*test.*\"},\"engines\":{\"node\":\">= 12\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.1\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.0.1\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"12.0.4\",\"@types/node-fetch\":\"2.5.4\",\"@types/recursive-readdir\":\"2.2.0\",\"typescript\":\"4.3.4\"},\"jest\":{\"preset\":\"ts-jest\",\"testEnvironment\":\"node\",\"verbose\":false,\"setupFilesAfterEnv\":[\"<rootDir>/tests/setup/index.ts\"]},\"dependencies\":{\"@vercel/build-utils\":\"2.12.3-canary.39\",\"@zeit/fetch\":\"5.2.0\",\"async-retry\":\"1.2.3\",\"async-sema\":\"3.0.0\",\"fs-extra\":\"8.0.1\",\"ignore\":\"4.0.6\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.1\",\"querystring\":\"^0.2.0\",\"recursive-readdir\":\"2.2.2\",\"sleep-promise\":\"8.0.1\"},\"gitHead\":\"2c86ac654ccde97426127fd0a6ffd04253227c50\"}");
271086
+ module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"10.2.3-canary.44\",\"main\":\"dist/index.js\",\"typings\":\"dist/index.d.ts\",\"homepage\":\"https://vercel.com\",\"license\":\"MIT\",\"files\":[\"dist\"],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/client\"},\"scripts\":{\"build\":\"tsc\",\"test-integration-once\":\"jest --verbose --runInBand --bail tests/create-deployment.test.ts tests/create-legacy-deployment.test.ts tests/paths.test.ts\",\"test-unit\":\"jest --verbose --runInBand --bail tests/unit.*test.*\"},\"engines\":{\"node\":\">= 12\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.1\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.0.1\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"12.0.4\",\"@types/node-fetch\":\"2.5.4\",\"@types/recursive-readdir\":\"2.2.0\",\"typescript\":\"4.3.4\"},\"jest\":{\"preset\":\"ts-jest\",\"testEnvironment\":\"node\",\"verbose\":false,\"setupFilesAfterEnv\":[\"<rootDir>/tests/setup/index.ts\"]},\"dependencies\":{\"@vercel/build-utils\":\"2.12.3-canary.41\",\"@zeit/fetch\":\"5.2.0\",\"async-retry\":\"1.2.3\",\"async-sema\":\"3.0.0\",\"fs-extra\":\"8.0.1\",\"ignore\":\"4.0.6\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.1\",\"querystring\":\"^0.2.0\",\"recursive-readdir\":\"2.2.2\",\"sleep-promise\":\"8.0.1\"}}");
271084
271087
 
271085
271088
  /***/ }),
271086
271089
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "23.1.3-canary.62",
3
+ "version": "23.1.3-canary.66",
4
4
  "preferGlobal": true,
5
5
  "license": "Apache-2.0",
6
6
  "description": "The command-line interface for Vercel",
@@ -43,14 +43,14 @@
43
43
  "node": ">= 12"
44
44
  },
45
45
  "dependencies": {
46
- "@vercel/build-utils": "2.12.3-canary.39",
46
+ "@vercel/build-utils": "2.12.3-canary.41",
47
47
  "@vercel/go": "1.2.4-canary.4",
48
48
  "@vercel/node": "1.12.2-canary.7",
49
49
  "@vercel/python": "2.1.2-canary.1",
50
50
  "@vercel/ruby": "1.2.10-canary.0",
51
51
  "update-notifier": "4.1.0",
52
- "vercel-plugin-middleware": "0.0.0-canary.15",
53
- "vercel-plugin-node": "1.12.2-canary.31"
52
+ "vercel-plugin-middleware": "0.0.0-canary.18",
53
+ "vercel-plugin-node": "1.12.2-canary.33"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@next/env": "11.1.2",
@@ -184,5 +184,5 @@
184
184
  "<rootDir>/test/**/*.test.ts"
185
185
  ]
186
186
  },
187
- "gitHead": "2c86ac654ccde97426127fd0a6ffd04253227c50"
187
+ "gitHead": "3427ad6ce01843ffa0fe6906b9541effb64d2087"
188
188
  }