vercel 23.1.3-canary.64 → 23.1.3-canary.68

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 +418 -179
  3. package/package.json +7 -6
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
@@ -217476,8 +217476,12 @@ function convertRuntimeToPlugin(buildRuntime, packageName, ext) {
217476
217476
  const locationPrefix = path_1.relative(entry, outputPath);
217477
217477
  let handlerContent = await fs_extra_1.default.readFile(fsPath, encoding);
217478
217478
  const importPaths = [
217479
- // This is the full entrypoint path, like `./api/test.py`
217480
- `./${entrypoint}`,
217479
+ // This is the full entrypoint path, like `./api/test.py`. In our tests
217480
+ // Python didn't support importing from a parent directory without using different
217481
+ // code in the launcher that registers it as a location for modules and then changing
217482
+ // the importing syntax, but continuing to import it like before seems to work. If
217483
+ // other languages need this, we should consider excluding Python explicitly.
217484
+ // `./${entrypoint}`,
217481
217485
  // This is the entrypoint path without extension, like `api/test`
217482
217486
  entrypoint.slice(0, -ext.length),
217483
217487
  ];
@@ -217628,12 +217632,12 @@ exports.updateRoutesManifest = updateRoutesManifest;
217628
217632
  /***/ }),
217629
217633
 
217630
217634
  /***/ 1868:
217631
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_929744__) => {
217635
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_930171__) => {
217632
217636
 
217633
217637
  "use strict";
217634
217638
 
217635
217639
  Object.defineProperty(exports, "__esModule", ({ value: true }));
217636
- const _1 = __nested_webpack_require_929744__(2855);
217640
+ const _1 = __nested_webpack_require_930171__(2855);
217637
217641
  function debug(message, ...additional) {
217638
217642
  if (_1.getPlatformEnv('BUILDER_DEBUG')) {
217639
217643
  console.log(message, ...additional);
@@ -217645,7 +217649,7 @@ exports.default = debug;
217645
217649
  /***/ }),
217646
217650
 
217647
217651
  /***/ 4246:
217648
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_930129__) {
217652
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_930556__) {
217649
217653
 
217650
217654
  "use strict";
217651
217655
 
@@ -217654,11 +217658,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
217654
217658
  };
217655
217659
  Object.defineProperty(exports, "__esModule", ({ value: true }));
217656
217660
  exports.detectBuilders = exports.detectOutputDirectory = exports.detectApiDirectory = exports.detectApiExtensions = exports.sortFiles = void 0;
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);
217661
+ const minimatch_1 = __importDefault(__nested_webpack_require_930556__(9566));
217662
+ const semver_1 = __nested_webpack_require_930556__(2879);
217663
+ const path_1 = __nested_webpack_require_930556__(5622);
217664
+ const frameworks_1 = __importDefault(__nested_webpack_require_930556__(8438));
217665
+ const _1 = __nested_webpack_require_930556__(2855);
217662
217666
  const slugToFramework = new Map(frameworks_1.default.map(f => [f.slug, f]));
217663
217667
  // We need to sort the file paths by alphabet to make
217664
217668
  // sure the routes stay in the same order e.g. for deduping
@@ -218484,6 +218488,169 @@ function sortFilesBySegmentCount(fileA, fileB) {
218484
218488
  }
218485
218489
 
218486
218490
 
218491
+ /***/ }),
218492
+
218493
+ /***/ 1182:
218494
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_962533__) {
218495
+
218496
+ "use strict";
218497
+
218498
+ var __importDefault = (this && this.__importDefault) || function (mod) {
218499
+ return (mod && mod.__esModule) ? mod : { "default": mod };
218500
+ };
218501
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
218502
+ exports.detectFileSystemAPI = void 0;
218503
+ const semver_1 = __importDefault(__nested_webpack_require_962533__(2879));
218504
+ const _1 = __nested_webpack_require_962533__(2855);
218505
+ const enableFileSystemApiFrameworks = new Set(['solidstart']);
218506
+ /**
218507
+ * If the Deployment can be built with the new File System API,
218508
+ * we'll return the new Builder here, otherwise return `null`.
218509
+ */
218510
+ async function detectFileSystemAPI({ files, projectSettings, builders, vercelConfig, pkg, tag, enableFlag = false, }) {
218511
+ const framework = projectSettings.framework || '';
218512
+ const deps = Object.assign({}, pkg === null || pkg === void 0 ? void 0 : pkg.dependencies, pkg === null || pkg === void 0 ? void 0 : pkg.devDependencies);
218513
+ const plugins = Object.keys(deps).filter(dep => dep.startsWith('vercel-plugin-'));
218514
+ const hasDotOutput = Object.keys(files).some(file => file.startsWith('.output/'));
218515
+ const hasMiddleware = Boolean(files['_middleware.js'] || files['_middleware.ts']);
218516
+ const metadata = {
218517
+ plugins,
218518
+ hasDotOutput,
218519
+ hasMiddleware,
218520
+ };
218521
+ const isEnabled = enableFlag ||
218522
+ hasMiddleware ||
218523
+ hasDotOutput ||
218524
+ enableFileSystemApiFrameworks.has(framework);
218525
+ if (!isEnabled) {
218526
+ return { metadata, fsApiBuilder: null, reason: 'Flag not enabled.' };
218527
+ }
218528
+ if ((vercelConfig === null || vercelConfig === void 0 ? void 0 : vercelConfig.builds) && vercelConfig.builds.length > 0) {
218529
+ return {
218530
+ metadata,
218531
+ fsApiBuilder: null,
218532
+ reason: 'Detected `builds` in vercel.json. Please remove it in favor of CLI plugins.',
218533
+ };
218534
+ }
218535
+ if (Object.values((vercelConfig === null || vercelConfig === void 0 ? void 0 : vercelConfig.functions) || {}).some(fn => !!fn.runtime)) {
218536
+ return {
218537
+ metadata,
218538
+ fsApiBuilder: null,
218539
+ reason: 'Detected `functions.runtime` in vercel.json. Please remove it in favor of CLI plugins.',
218540
+ };
218541
+ }
218542
+ if (process.env.HUGO_VERSION) {
218543
+ return {
218544
+ metadata,
218545
+ fsApiBuilder: null,
218546
+ reason: 'Detected `HUGO_VERSION` environment variable. Please remove it.',
218547
+ };
218548
+ }
218549
+ if (process.env.ZOLA_VERSION) {
218550
+ return {
218551
+ metadata,
218552
+ fsApiBuilder: null,
218553
+ reason: 'Detected `ZOLA_VERSION` environment variable. Please remove it.',
218554
+ };
218555
+ }
218556
+ if (process.env.GUTENBERG_VERSION) {
218557
+ return {
218558
+ metadata,
218559
+ fsApiBuilder: null,
218560
+ reason: 'Detected `GUTENBERG_VERSION` environment variable. Please remove it.',
218561
+ };
218562
+ }
218563
+ const invalidBuilder = builders.find(({ use }) => {
218564
+ const valid = _1.isOfficialRuntime('go', use) ||
218565
+ _1.isOfficialRuntime('python', use) ||
218566
+ _1.isOfficialRuntime('ruby', use) ||
218567
+ _1.isOfficialRuntime('node', use) ||
218568
+ _1.isOfficialRuntime('next', use) ||
218569
+ _1.isOfficialRuntime('static', use) ||
218570
+ _1.isOfficialRuntime('static-build', use);
218571
+ return !valid;
218572
+ });
218573
+ if (invalidBuilder) {
218574
+ return {
218575
+ metadata,
218576
+ fsApiBuilder: null,
218577
+ reason: `Detected \`${invalidBuilder.use}\` in vercel.json. Please remove it in favor of CLI plugins.`,
218578
+ };
218579
+ }
218580
+ for (const lang of ['go', 'python', 'ruby']) {
218581
+ for (const { use } of builders) {
218582
+ const plugin = 'vercel-plugin-' + lang;
218583
+ if (_1.isOfficialRuntime(lang, use) && !deps[plugin]) {
218584
+ return {
218585
+ metadata,
218586
+ fsApiBuilder: null,
218587
+ reason: `Detected \`${lang}\` Serverless Function usage without plugin \`${plugin}\`. Please run \`npm i ${plugin}\`.`,
218588
+ };
218589
+ }
218590
+ }
218591
+ }
218592
+ if (framework === 'nuxtjs' ||
218593
+ framework === 'sveltekit' ||
218594
+ framework === 'redwoodjs') {
218595
+ return {
218596
+ metadata,
218597
+ fsApiBuilder: null,
218598
+ reason: `Detected framework \`${framework}\` that only supports legacy File System API. Please contact the framework author.`,
218599
+ };
218600
+ }
218601
+ if (framework === 'nextjs' && !hasDotOutput) {
218602
+ // Use the old pipeline if a custom output directory was specified for Next.js
218603
+ // because `vercel build` cannot ensure that the directory will be in the same
218604
+ // location as `.output`, which can break imports (not just nft.json files).
218605
+ if (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.outputDirectory) {
218606
+ return {
218607
+ metadata,
218608
+ fsApiBuilder: null,
218609
+ reason: `Detected Next.js with Output Directory \`${projectSettings.outputDirectory}\` override. Please change it back to the default.`,
218610
+ };
218611
+ }
218612
+ const versionRange = deps['next'];
218613
+ if (!versionRange) {
218614
+ return {
218615
+ metadata,
218616
+ fsApiBuilder: null,
218617
+ reason: `Detected Next.js in Project Settings but missing \`next\` package.json dependencies. Please run \`npm i next\`.`,
218618
+ };
218619
+ }
218620
+ // TODO: We'll need to check the lockfile if one is present.
218621
+ if (versionRange !== 'latest' && versionRange !== 'canary') {
218622
+ const fixedVersion = semver_1.default.valid(semver_1.default.coerce(versionRange) || '');
218623
+ if (!fixedVersion || !semver_1.default.gte(fixedVersion, '12.0.0')) {
218624
+ return {
218625
+ metadata,
218626
+ fsApiBuilder: null,
218627
+ reason: `Detected legacy Next.js version "${versionRange}" in package.json. Please run \`npm i next@latest\` to upgrade.`,
218628
+ };
218629
+ }
218630
+ }
218631
+ }
218632
+ const frontendBuilder = builders.find(({ use }) => _1.isOfficialRuntime('next', use) ||
218633
+ _1.isOfficialRuntime('static', use) ||
218634
+ _1.isOfficialRuntime('static-build', use));
218635
+ const config = (frontendBuilder === null || frontendBuilder === void 0 ? void 0 : frontendBuilder.config) || {};
218636
+ const withTag = tag ? `@${tag}` : '';
218637
+ const fsApiBuilder = {
218638
+ use: `@vercelruntimes/file-system-api${withTag}`,
218639
+ src: '**',
218640
+ config: {
218641
+ ...config,
218642
+ fileSystemAPI: true,
218643
+ framework: config.framework || framework || null,
218644
+ projectSettings,
218645
+ hasMiddleware,
218646
+ hasDotOutput,
218647
+ },
218648
+ };
218649
+ return { metadata, fsApiBuilder, reason: null };
218650
+ }
218651
+ exports.detectFileSystemAPI = detectFileSystemAPI;
218652
+
218653
+
218487
218654
  /***/ }),
218488
218655
 
218489
218656
  /***/ 5224:
@@ -218717,7 +218884,7 @@ function getSuggestion(topLevelProp, additionalProperty) {
218717
218884
  /***/ }),
218718
218885
 
218719
218886
  /***/ 2397:
218720
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_969513__) {
218887
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_976741__) {
218721
218888
 
218722
218889
  "use strict";
218723
218890
 
@@ -218725,8 +218892,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
218725
218892
  return (mod && mod.__esModule) ? mod : { "default": mod };
218726
218893
  };
218727
218894
  Object.defineProperty(exports, "__esModule", ({ value: true }));
218728
- const assert_1 = __importDefault(__nested_webpack_require_969513__(2357));
218729
- const into_stream_1 = __importDefault(__nested_webpack_require_969513__(6130));
218895
+ const assert_1 = __importDefault(__nested_webpack_require_976741__(2357));
218896
+ const into_stream_1 = __importDefault(__nested_webpack_require_976741__(6130));
218730
218897
  class FileBlob {
218731
218898
  constructor({ mode = 0o100644, contentType, data }) {
218732
218899
  assert_1.default(typeof mode === 'number');
@@ -218758,7 +218925,7 @@ exports.default = FileBlob;
218758
218925
  /***/ }),
218759
218926
 
218760
218927
  /***/ 9331:
218761
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_970965__) {
218928
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_978193__) {
218762
218929
 
218763
218930
  "use strict";
218764
218931
 
@@ -218766,11 +218933,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
218766
218933
  return (mod && mod.__esModule) ? mod : { "default": mod };
218767
218934
  };
218768
218935
  Object.defineProperty(exports, "__esModule", ({ value: true }));
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));
218936
+ const assert_1 = __importDefault(__nested_webpack_require_978193__(2357));
218937
+ const fs_extra_1 = __importDefault(__nested_webpack_require_978193__(5392));
218938
+ const multistream_1 = __importDefault(__nested_webpack_require_978193__(8179));
218939
+ const path_1 = __importDefault(__nested_webpack_require_978193__(5622));
218940
+ const async_sema_1 = __importDefault(__nested_webpack_require_978193__(5758));
218774
218941
  const semaToPreventEMFILE = new async_sema_1.default(20);
218775
218942
  class FileFsRef {
218776
218943
  constructor({ mode = 0o100644, contentType, fsPath }) {
@@ -218836,7 +219003,7 @@ exports.default = FileFsRef;
218836
219003
  /***/ }),
218837
219004
 
218838
219005
  /***/ 5187:
218839
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_973769__) {
219006
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_980997__) {
218840
219007
 
218841
219008
  "use strict";
218842
219009
 
@@ -218844,11 +219011,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
218844
219011
  return (mod && mod.__esModule) ? mod : { "default": mod };
218845
219012
  };
218846
219013
  Object.defineProperty(exports, "__esModule", ({ value: true }));
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));
219014
+ const assert_1 = __importDefault(__nested_webpack_require_980997__(2357));
219015
+ const node_fetch_1 = __importDefault(__nested_webpack_require_980997__(2197));
219016
+ const multistream_1 = __importDefault(__nested_webpack_require_980997__(8179));
219017
+ const async_retry_1 = __importDefault(__nested_webpack_require_980997__(3691));
219018
+ const async_sema_1 = __importDefault(__nested_webpack_require_980997__(5758));
218852
219019
  const semaToDownloadFromS3 = new async_sema_1.default(5);
218853
219020
  class BailableError extends Error {
218854
219021
  constructor(...args) {
@@ -218929,7 +219096,7 @@ exports.default = FileRef;
218929
219096
  /***/ }),
218930
219097
 
218931
219098
  /***/ 1611:
218932
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_977170__) {
219099
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_984398__) {
218933
219100
 
218934
219101
  "use strict";
218935
219102
 
@@ -218938,10 +219105,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
218938
219105
  };
218939
219106
  Object.defineProperty(exports, "__esModule", ({ value: true }));
218940
219107
  exports.isSymbolicLink = void 0;
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);
219108
+ const path_1 = __importDefault(__nested_webpack_require_984398__(5622));
219109
+ const debug_1 = __importDefault(__nested_webpack_require_984398__(1868));
219110
+ const file_fs_ref_1 = __importDefault(__nested_webpack_require_984398__(9331));
219111
+ const fs_extra_1 = __nested_webpack_require_984398__(5392);
218945
219112
  const S_IFMT = 61440; /* 0170000 type of file */
218946
219113
  const S_IFLNK = 40960; /* 0120000 symbolic link */
218947
219114
  function isSymbolicLink(mode) {
@@ -219003,14 +219170,14 @@ exports.default = download;
219003
219170
  /***/ }),
219004
219171
 
219005
219172
  /***/ 3838:
219006
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_979995__) => {
219173
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_987223__) => {
219007
219174
 
219008
219175
  "use strict";
219009
219176
 
219010
219177
  Object.defineProperty(exports, "__esModule", ({ value: true }));
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);
219178
+ const path_1 = __nested_webpack_require_987223__(5622);
219179
+ const os_1 = __nested_webpack_require_987223__(2087);
219180
+ const fs_extra_1 = __nested_webpack_require_987223__(5392);
219014
219181
  async function getWritableDirectory() {
219015
219182
  const name = Math.floor(Math.random() * 0x7fffffff).toString(16);
219016
219183
  const directory = path_1.join(os_1.tmpdir(), name);
@@ -219023,7 +219190,7 @@ exports.default = getWritableDirectory;
219023
219190
  /***/ }),
219024
219191
 
219025
219192
  /***/ 4240:
219026
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_980575__) {
219193
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_987803__) {
219027
219194
 
219028
219195
  "use strict";
219029
219196
 
@@ -219031,13 +219198,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219031
219198
  return (mod && mod.__esModule) ? mod : { "default": mod };
219032
219199
  };
219033
219200
  Object.defineProperty(exports, "__esModule", ({ value: true }));
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));
219201
+ const path_1 = __importDefault(__nested_webpack_require_987803__(5622));
219202
+ const assert_1 = __importDefault(__nested_webpack_require_987803__(2357));
219203
+ const glob_1 = __importDefault(__nested_webpack_require_987803__(1104));
219204
+ const util_1 = __nested_webpack_require_987803__(1669);
219205
+ const fs_extra_1 = __nested_webpack_require_987803__(5392);
219206
+ const normalize_path_1 = __nested_webpack_require_987803__(6261);
219207
+ const file_fs_ref_1 = __importDefault(__nested_webpack_require_987803__(9331));
219041
219208
  const vanillaGlob = util_1.promisify(glob_1.default);
219042
219209
  async function glob(pattern, opts, mountpoint) {
219043
219210
  let options;
@@ -219083,7 +219250,7 @@ exports.default = glob;
219083
219250
  /***/ }),
219084
219251
 
219085
219252
  /***/ 7903:
219086
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_982771__) {
219253
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_989999__) {
219087
219254
 
219088
219255
  "use strict";
219089
219256
 
@@ -219092,9 +219259,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219092
219259
  };
219093
219260
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219094
219261
  exports.getSupportedNodeVersion = exports.getDiscontinuedNodeVersions = exports.getLatestNodeVersion = void 0;
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));
219262
+ const semver_1 = __nested_webpack_require_989999__(2879);
219263
+ const errors_1 = __nested_webpack_require_989999__(3983);
219264
+ const debug_1 = __importDefault(__nested_webpack_require_989999__(1868));
219098
219265
  const allOptions = [
219099
219266
  { major: 14, range: '14.x', runtime: 'nodejs14.x' },
219100
219267
  { major: 12, range: '12.x', runtime: 'nodejs12.x' },
@@ -219188,7 +219355,7 @@ exports.normalizePath = normalizePath;
219188
219355
  /***/ }),
219189
219356
 
219190
219357
  /***/ 7792:
219191
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_986639__) {
219358
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_993867__) {
219192
219359
 
219193
219360
  "use strict";
219194
219361
 
@@ -219197,9 +219364,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219197
219364
  };
219198
219365
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219199
219366
  exports.readConfigFile = void 0;
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);
219367
+ const js_yaml_1 = __importDefault(__nested_webpack_require_993867__(6540));
219368
+ const toml_1 = __importDefault(__nested_webpack_require_993867__(9434));
219369
+ const fs_extra_1 = __nested_webpack_require_993867__(5392);
219203
219370
  async function readFileOrNull(file) {
219204
219371
  try {
219205
219372
  const data = await fs_extra_1.readFile(file);
@@ -219254,7 +219421,7 @@ exports.default = rename;
219254
219421
  /***/ }),
219255
219422
 
219256
219423
  /***/ 1442:
219257
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_988432__) {
219424
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_995660__) {
219258
219425
 
219259
219426
  "use strict";
219260
219427
 
@@ -219263,14 +219430,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219263
219430
  };
219264
219431
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219265
219432
  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;
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);
219433
+ const assert_1 = __importDefault(__nested_webpack_require_995660__(2357));
219434
+ const fs_extra_1 = __importDefault(__nested_webpack_require_995660__(5392));
219435
+ const path_1 = __importDefault(__nested_webpack_require_995660__(5622));
219436
+ const debug_1 = __importDefault(__nested_webpack_require_995660__(1868));
219437
+ const cross_spawn_1 = __importDefault(__nested_webpack_require_995660__(7618));
219438
+ const util_1 = __nested_webpack_require_995660__(1669);
219439
+ const errors_1 = __nested_webpack_require_995660__(3983);
219440
+ const node_version_1 = __nested_webpack_require_995660__(7903);
219274
219441
  function spawnAsync(command, args, opts = {}) {
219275
219442
  return new Promise((resolve, reject) => {
219276
219443
  const stderrLogs = [];
@@ -219581,7 +219748,7 @@ exports.installDependencies = util_1.deprecate(runNpmInstall, 'installDependenci
219581
219748
  /***/ }),
219582
219749
 
219583
219750
  /***/ 2560:
219584
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1002422__) {
219751
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1009650__) {
219585
219752
 
219586
219753
  "use strict";
219587
219754
 
@@ -219589,7 +219756,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219589
219756
  return (mod && mod.__esModule) ? mod : { "default": mod };
219590
219757
  };
219591
219758
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219592
- const end_of_stream_1 = __importDefault(__nested_webpack_require_1002422__(687));
219759
+ const end_of_stream_1 = __importDefault(__nested_webpack_require_1009650__(687));
219593
219760
  function streamToBuffer(stream) {
219594
219761
  return new Promise((resolve, reject) => {
219595
219762
  const buffers = [];
@@ -219618,7 +219785,7 @@ exports.default = streamToBuffer;
219618
219785
  /***/ }),
219619
219786
 
219620
219787
  /***/ 1148:
219621
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1003490__) {
219788
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1010718__) {
219622
219789
 
219623
219790
  "use strict";
219624
219791
 
@@ -219626,9 +219793,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219626
219793
  return (mod && mod.__esModule) ? mod : { "default": mod };
219627
219794
  };
219628
219795
  Object.defineProperty(exports, "__esModule", ({ value: true }));
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));
219796
+ const path_1 = __importDefault(__nested_webpack_require_1010718__(5622));
219797
+ const fs_extra_1 = __importDefault(__nested_webpack_require_1010718__(5392));
219798
+ const ignore_1 = __importDefault(__nested_webpack_require_1010718__(3556));
219632
219799
  function isCodedError(error) {
219633
219800
  return (error !== null &&
219634
219801
  error !== undefined &&
@@ -219685,7 +219852,7 @@ exports.default = default_1;
219685
219852
  /***/ }),
219686
219853
 
219687
219854
  /***/ 2855:
219688
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1005872__) {
219855
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1013100__) {
219689
219856
 
219690
219857
  "use strict";
219691
219858
 
@@ -219715,30 +219882,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219715
219882
  return (mod && mod.__esModule) ? mod : { "default": mod };
219716
219883
  };
219717
219884
  Object.defineProperty(exports, "__esModule", ({ value: true }));
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;
219719
- const crypto_1 = __nested_webpack_require_1005872__(6417);
219720
- const file_blob_1 = __importDefault(__nested_webpack_require_1005872__(2397));
219885
+ exports.getInputHash = exports.getPlatformEnv = exports.isStaticRuntime = exports.isOfficialRuntime = exports.updateRoutesManifest = exports.updateFunctionsManifest = exports.convertRuntimeToPlugin = exports.normalizePath = exports.readConfigFile = exports.DetectorFilesystem = exports.detectFramework = exports.detectFileSystemAPI = 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;
219886
+ const crypto_1 = __nested_webpack_require_1013100__(6417);
219887
+ const file_blob_1 = __importDefault(__nested_webpack_require_1013100__(2397));
219721
219888
  exports.FileBlob = file_blob_1.default;
219722
- const file_fs_ref_1 = __importDefault(__nested_webpack_require_1005872__(9331));
219889
+ const file_fs_ref_1 = __importDefault(__nested_webpack_require_1013100__(9331));
219723
219890
  exports.FileFsRef = file_fs_ref_1.default;
219724
- const file_ref_1 = __importDefault(__nested_webpack_require_1005872__(5187));
219891
+ const file_ref_1 = __importDefault(__nested_webpack_require_1013100__(5187));
219725
219892
  exports.FileRef = file_ref_1.default;
219726
- const lambda_1 = __nested_webpack_require_1005872__(6721);
219893
+ const lambda_1 = __nested_webpack_require_1013100__(6721);
219727
219894
  Object.defineProperty(exports, "Lambda", ({ enumerable: true, get: function () { return lambda_1.Lambda; } }));
219728
219895
  Object.defineProperty(exports, "createLambda", ({ enumerable: true, get: function () { return lambda_1.createLambda; } }));
219729
219896
  Object.defineProperty(exports, "getLambdaOptionsFromFunction", ({ enumerable: true, get: function () { return lambda_1.getLambdaOptionsFromFunction; } }));
219730
- const prerender_1 = __nested_webpack_require_1005872__(2850);
219897
+ const prerender_1 = __nested_webpack_require_1013100__(2850);
219731
219898
  Object.defineProperty(exports, "Prerender", ({ enumerable: true, get: function () { return prerender_1.Prerender; } }));
219732
- const download_1 = __importStar(__nested_webpack_require_1005872__(1611));
219899
+ const download_1 = __importStar(__nested_webpack_require_1013100__(1611));
219733
219900
  exports.download = download_1.default;
219734
219901
  Object.defineProperty(exports, "isSymbolicLink", ({ enumerable: true, get: function () { return download_1.isSymbolicLink; } }));
219735
- const get_writable_directory_1 = __importDefault(__nested_webpack_require_1005872__(3838));
219902
+ const get_writable_directory_1 = __importDefault(__nested_webpack_require_1013100__(3838));
219736
219903
  exports.getWriteableDirectory = get_writable_directory_1.default;
219737
- const glob_1 = __importDefault(__nested_webpack_require_1005872__(4240));
219904
+ const glob_1 = __importDefault(__nested_webpack_require_1013100__(4240));
219738
219905
  exports.glob = glob_1.default;
219739
- const rename_1 = __importDefault(__nested_webpack_require_1005872__(6718));
219906
+ const rename_1 = __importDefault(__nested_webpack_require_1013100__(6718));
219740
219907
  exports.rename = rename_1.default;
219741
- const run_user_scripts_1 = __nested_webpack_require_1005872__(1442);
219908
+ const run_user_scripts_1 = __nested_webpack_require_1013100__(1442);
219742
219909
  Object.defineProperty(exports, "execAsync", ({ enumerable: true, get: function () { return run_user_scripts_1.execAsync; } }));
219743
219910
  Object.defineProperty(exports, "spawnAsync", ({ enumerable: true, get: function () { return run_user_scripts_1.spawnAsync; } }));
219744
219911
  Object.defineProperty(exports, "execCommand", ({ enumerable: true, get: function () { return run_user_scripts_1.execCommand; } }));
@@ -219755,38 +219922,40 @@ Object.defineProperty(exports, "getNodeVersion", ({ enumerable: true, get: funct
219755
219922
  Object.defineProperty(exports, "getSpawnOptions", ({ enumerable: true, get: function () { return run_user_scripts_1.getSpawnOptions; } }));
219756
219923
  Object.defineProperty(exports, "getNodeBinPath", ({ enumerable: true, get: function () { return run_user_scripts_1.getNodeBinPath; } }));
219757
219924
  Object.defineProperty(exports, "scanParentDirs", ({ enumerable: true, get: function () { return run_user_scripts_1.scanParentDirs; } }));
219758
- const node_version_1 = __nested_webpack_require_1005872__(7903);
219925
+ const node_version_1 = __nested_webpack_require_1013100__(7903);
219759
219926
  Object.defineProperty(exports, "getLatestNodeVersion", ({ enumerable: true, get: function () { return node_version_1.getLatestNodeVersion; } }));
219760
219927
  Object.defineProperty(exports, "getDiscontinuedNodeVersions", ({ enumerable: true, get: function () { return node_version_1.getDiscontinuedNodeVersions; } }));
219761
- const errors_1 = __nested_webpack_require_1005872__(3983);
219762
- const stream_to_buffer_1 = __importDefault(__nested_webpack_require_1005872__(2560));
219928
+ const errors_1 = __nested_webpack_require_1013100__(3983);
219929
+ const stream_to_buffer_1 = __importDefault(__nested_webpack_require_1013100__(2560));
219763
219930
  exports.streamToBuffer = stream_to_buffer_1.default;
219764
- const should_serve_1 = __importDefault(__nested_webpack_require_1005872__(2564));
219931
+ const should_serve_1 = __importDefault(__nested_webpack_require_1013100__(2564));
219765
219932
  exports.shouldServe = should_serve_1.default;
219766
- const debug_1 = __importDefault(__nested_webpack_require_1005872__(1868));
219933
+ const debug_1 = __importDefault(__nested_webpack_require_1013100__(1868));
219767
219934
  exports.debug = debug_1.default;
219768
- const get_ignore_filter_1 = __importDefault(__nested_webpack_require_1005872__(1148));
219935
+ const get_ignore_filter_1 = __importDefault(__nested_webpack_require_1013100__(1148));
219769
219936
  exports.getIgnoreFilter = get_ignore_filter_1.default;
219770
- var detect_builders_1 = __nested_webpack_require_1005872__(4246);
219937
+ var detect_builders_1 = __nested_webpack_require_1013100__(4246);
219771
219938
  Object.defineProperty(exports, "detectBuilders", ({ enumerable: true, get: function () { return detect_builders_1.detectBuilders; } }));
219772
219939
  Object.defineProperty(exports, "detectOutputDirectory", ({ enumerable: true, get: function () { return detect_builders_1.detectOutputDirectory; } }));
219773
219940
  Object.defineProperty(exports, "detectApiDirectory", ({ enumerable: true, get: function () { return detect_builders_1.detectApiDirectory; } }));
219774
219941
  Object.defineProperty(exports, "detectApiExtensions", ({ enumerable: true, get: function () { return detect_builders_1.detectApiExtensions; } }));
219775
- var detect_framework_1 = __nested_webpack_require_1005872__(5224);
219942
+ var detect_file_system_api_1 = __nested_webpack_require_1013100__(1182);
219943
+ Object.defineProperty(exports, "detectFileSystemAPI", ({ enumerable: true, get: function () { return detect_file_system_api_1.detectFileSystemAPI; } }));
219944
+ var detect_framework_1 = __nested_webpack_require_1013100__(5224);
219776
219945
  Object.defineProperty(exports, "detectFramework", ({ enumerable: true, get: function () { return detect_framework_1.detectFramework; } }));
219777
- var filesystem_1 = __nested_webpack_require_1005872__(461);
219946
+ var filesystem_1 = __nested_webpack_require_1013100__(461);
219778
219947
  Object.defineProperty(exports, "DetectorFilesystem", ({ enumerable: true, get: function () { return filesystem_1.DetectorFilesystem; } }));
219779
- var read_config_file_1 = __nested_webpack_require_1005872__(7792);
219948
+ var read_config_file_1 = __nested_webpack_require_1013100__(7792);
219780
219949
  Object.defineProperty(exports, "readConfigFile", ({ enumerable: true, get: function () { return read_config_file_1.readConfigFile; } }));
219781
- var normalize_path_1 = __nested_webpack_require_1005872__(6261);
219950
+ var normalize_path_1 = __nested_webpack_require_1013100__(6261);
219782
219951
  Object.defineProperty(exports, "normalizePath", ({ enumerable: true, get: function () { return normalize_path_1.normalizePath; } }));
219783
- var convert_runtime_to_plugin_1 = __nested_webpack_require_1005872__(7276);
219952
+ var convert_runtime_to_plugin_1 = __nested_webpack_require_1013100__(7276);
219784
219953
  Object.defineProperty(exports, "convertRuntimeToPlugin", ({ enumerable: true, get: function () { return convert_runtime_to_plugin_1.convertRuntimeToPlugin; } }));
219785
219954
  Object.defineProperty(exports, "updateFunctionsManifest", ({ enumerable: true, get: function () { return convert_runtime_to_plugin_1.updateFunctionsManifest; } }));
219786
219955
  Object.defineProperty(exports, "updateRoutesManifest", ({ enumerable: true, get: function () { return convert_runtime_to_plugin_1.updateRoutesManifest; } }));
219787
- __exportStar(__nested_webpack_require_1005872__(2416), exports);
219788
- __exportStar(__nested_webpack_require_1005872__(5748), exports);
219789
- __exportStar(__nested_webpack_require_1005872__(3983), exports);
219956
+ __exportStar(__nested_webpack_require_1013100__(2416), exports);
219957
+ __exportStar(__nested_webpack_require_1013100__(5748), exports);
219958
+ __exportStar(__nested_webpack_require_1013100__(3983), exports);
219790
219959
  /**
219791
219960
  * Helper function to support both `@vercel` and legacy `@now` official Runtimes.
219792
219961
  */
@@ -219839,7 +220008,7 @@ exports.getInputHash = getInputHash;
219839
220008
  /***/ }),
219840
220009
 
219841
220010
  /***/ 6721:
219842
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1016850__) {
220011
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_1024320__) {
219843
220012
 
219844
220013
  "use strict";
219845
220014
 
@@ -219848,13 +220017,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
219848
220017
  };
219849
220018
  Object.defineProperty(exports, "__esModule", ({ value: true }));
219850
220019
  exports.getLambdaOptionsFromFunction = exports.createZip = exports.createLambda = exports.Lambda = exports.FILES_SYMBOL = void 0;
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));
220020
+ const assert_1 = __importDefault(__nested_webpack_require_1024320__(2357));
220021
+ const async_sema_1 = __importDefault(__nested_webpack_require_1024320__(5758));
220022
+ const yazl_1 = __nested_webpack_require_1024320__(1223);
220023
+ const minimatch_1 = __importDefault(__nested_webpack_require_1024320__(9566));
220024
+ const fs_extra_1 = __nested_webpack_require_1024320__(5392);
220025
+ const download_1 = __nested_webpack_require_1024320__(1611);
220026
+ const stream_to_buffer_1 = __importDefault(__nested_webpack_require_1024320__(2560));
219858
220027
  exports.FILES_SYMBOL = Symbol('files');
219859
220028
  class Lambda {
219860
220029
  constructor({ zipBuffer, handler, runtime, maxDuration, memory, environment, allowQuery, regions, }) {
@@ -220083,12 +220252,12 @@ exports.buildsSchema = {
220083
220252
  /***/ }),
220084
220253
 
220085
220254
  /***/ 2564:
220086
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_1025360__) => {
220255
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_1032830__) => {
220087
220256
 
220088
220257
  "use strict";
220089
220258
 
220090
220259
  Object.defineProperty(exports, "__esModule", ({ value: true }));
220091
- const path_1 = __nested_webpack_require_1025360__(5622);
220260
+ const path_1 = __nested_webpack_require_1032830__(5622);
220092
220261
  function shouldServe({ entrypoint, files, requestPath, }) {
220093
220262
  requestPath = requestPath.replace(/\/$/, ''); // sanitize trailing '/'
220094
220263
  entrypoint = entrypoint.replace(/\\/, '/'); // windows compatibility
@@ -220325,7 +220494,7 @@ module.exports = __webpack_require__(78761);
220325
220494
  /******/ var __webpack_module_cache__ = {};
220326
220495
  /******/
220327
220496
  /******/ // The require function
220328
- /******/ function __nested_webpack_require_1125095__(moduleId) {
220497
+ /******/ function __nested_webpack_require_1132565__(moduleId) {
220329
220498
  /******/ // Check if module is in cache
220330
220499
  /******/ if(__webpack_module_cache__[moduleId]) {
220331
220500
  /******/ return __webpack_module_cache__[moduleId].exports;
@@ -220340,7 +220509,7 @@ module.exports = __webpack_require__(78761);
220340
220509
  /******/ // Execute the module function
220341
220510
  /******/ var threw = true;
220342
220511
  /******/ try {
220343
- /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_1125095__);
220512
+ /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_1132565__);
220344
220513
  /******/ threw = false;
220345
220514
  /******/ } finally {
220346
220515
  /******/ if(threw) delete __webpack_module_cache__[moduleId];
@@ -220353,11 +220522,11 @@ module.exports = __webpack_require__(78761);
220353
220522
  /************************************************************************/
220354
220523
  /******/ /* webpack/runtime/compat */
220355
220524
  /******/
220356
- /******/ __nested_webpack_require_1125095__.ab = __dirname + "/";/************************************************************************/
220525
+ /******/ __nested_webpack_require_1132565__.ab = __dirname + "/";/************************************************************************/
220357
220526
  /******/ // module exports must be returned from runtime so entry inlining is disabled
220358
220527
  /******/ // startup
220359
220528
  /******/ // Load entry module and return exports
220360
- /******/ return __nested_webpack_require_1125095__(2855);
220529
+ /******/ return __nested_webpack_require_1132565__(2855);
220361
220530
  /******/ })()
220362
220531
  ;
220363
220532
 
@@ -238221,33 +238390,14 @@ exports.checkDeploymentStatus = checkDeploymentStatus;
238221
238390
  /***/ }),
238222
238391
 
238223
238392
  /***/ 97377:
238224
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
238393
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
238225
238394
 
238226
238395
  "use strict";
238227
238396
 
238228
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
238229
- if (k2 === undefined) k2 = k;
238230
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
238231
- }) : (function(o, m, k, k2) {
238232
- if (k2 === undefined) k2 = k;
238233
- o[k2] = m[k];
238234
- }));
238235
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
238236
- Object.defineProperty(o, "default", { enumerable: true, value: v });
238237
- }) : function(o, v) {
238238
- o["default"] = v;
238239
- });
238240
- var __importStar = (this && this.__importStar) || function (mod) {
238241
- if (mod && mod.__esModule) return mod;
238242
- var result = {};
238243
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
238244
- __setModuleDefault(result, mod);
238245
- return result;
238246
- };
238247
238397
  Object.defineProperty(exports, "__esModule", ({ value: true }));
238248
238398
  const fs_extra_1 = __webpack_require__(29394);
238249
238399
  const path_1 = __webpack_require__(85622);
238250
- const hashes_1 = __importStar(__webpack_require__(91234));
238400
+ const hashes_1 = __webpack_require__(91234);
238251
238401
  const upload_1 = __webpack_require__(78617);
238252
238402
  const utils_1 = __webpack_require__(52015);
238253
238403
  const errors_1 = __webpack_require__(42054);
@@ -238298,7 +238448,7 @@ function buildCreateDeployment() {
238298
238448
  else {
238299
238449
  debug(`Provided 'path' is a single file`);
238300
238450
  }
238301
- let { fileList } = await utils_1.buildFileTree(path, clientOptions.isDirectory, debug, clientOptions.prebuilt);
238451
+ let { fileList } = await utils_1.buildFileTree(path, clientOptions, debug);
238302
238452
  let configPath;
238303
238453
  if (!nowConfig) {
238304
238454
  // If the user did not provide a config file, use the one in the root directory.
@@ -238328,7 +238478,11 @@ function buildCreateDeployment() {
238328
238478
  payload: 'There are no files inside your deployment.',
238329
238479
  };
238330
238480
  }
238331
- const files = await hashes_1.default(fileList);
238481
+ const hashedFileMap = await hashes_1.hashes(fileList);
238482
+ const nftFileList = clientOptions.prebuilt
238483
+ ? await hashes_1.resolveNftJsonFiles(hashedFileMap)
238484
+ : [];
238485
+ const files = await hashes_1.hashes(nftFileList, hashedFileMap);
238332
238486
  debug(`Yielding a 'hashes-calculated' event with ${files.size} hashes`);
238333
238487
  yield { type: 'hashes-calculated', payload: hashes_1.mapToObject(files) };
238334
238488
  if (clientOptions.apiUrl) {
@@ -238782,10 +238936,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
238782
238936
  return (mod && mod.__esModule) ? mod : { "default": mod };
238783
238937
  };
238784
238938
  Object.defineProperty(exports, "__esModule", ({ value: true }));
238785
- exports.mapToObject = void 0;
238939
+ exports.resolveNftJsonFiles = exports.hashes = exports.mapToObject = void 0;
238786
238940
  const crypto_1 = __webpack_require__(76417);
238787
238941
  const fs_extra_1 = __importDefault(__webpack_require__(29394));
238788
238942
  const async_sema_1 = __webpack_require__(30401);
238943
+ const path_1 = __webpack_require__(85622);
238789
238944
  /**
238790
238945
  * Computes a hash for the given buf.
238791
238946
  *
@@ -238793,9 +238948,7 @@ const async_sema_1 = __webpack_require__(30401);
238793
238948
  * @return {String} hex digest
238794
238949
  */
238795
238950
  function hash(buf) {
238796
- return crypto_1.createHash('sha1')
238797
- .update(buf)
238798
- .digest('hex');
238951
+ return crypto_1.createHash('sha1').update(buf).digest('hex');
238799
238952
  }
238800
238953
  /**
238801
238954
  * Transforms map to object
@@ -238813,11 +238966,11 @@ exports.mapToObject = mapToObject;
238813
238966
  /**
238814
238967
  * Computes hashes for the contents of each file given.
238815
238968
  *
238816
- * @param {Array} of {String} full paths
238817
- * @return {Map}
238969
+ * @param files - absolute file paths
238970
+ * @param map - optional map of files to append
238971
+ * @return Map of hash digest to file object
238818
238972
  */
238819
- async function hashes(files) {
238820
- const map = new Map();
238973
+ async function hashes(files, map = new Map()) {
238821
238974
  const semaphore = new async_sema_1.Sema(100);
238822
238975
  await Promise.all(files.map(async (name) => {
238823
238976
  await semaphore.acquire();
@@ -238826,7 +238979,9 @@ async function hashes(files) {
238826
238979
  const h = hash(data);
238827
238980
  const entry = map.get(h);
238828
238981
  if (entry) {
238829
- entry.names.push(name);
238982
+ const names = new Set(entry.names);
238983
+ names.add(name);
238984
+ entry.names = [...names];
238830
238985
  }
238831
238986
  else {
238832
238987
  map.set(h, { names: [name], data, mode });
@@ -238835,7 +238990,32 @@ async function hashes(files) {
238835
238990
  }));
238836
238991
  return map;
238837
238992
  }
238838
- exports.default = hashes;
238993
+ exports.hashes = hashes;
238994
+ async function resolveNftJsonFiles(hashedFiles) {
238995
+ const semaphore = new async_sema_1.Sema(100);
238996
+ const existingFiles = Array.from(hashedFiles.values());
238997
+ const resolvedFiles = new Set();
238998
+ await Promise.all(existingFiles.map(async (file) => {
238999
+ await semaphore.acquire();
239000
+ const fsPath = file.names[0];
239001
+ if (fsPath.endsWith('.nft.json')) {
239002
+ const json = file.data.toString('utf8');
239003
+ const { version, files } = JSON.parse(json);
239004
+ if (version === 1 || version === 2) {
239005
+ for (let f of files) {
239006
+ const relPath = typeof f === 'string' ? f : f.input;
239007
+ resolvedFiles.add(path_1.join(path_1.dirname(fsPath), relPath));
239008
+ }
239009
+ }
239010
+ else {
239011
+ console.error(`Invalid nft.json version: ${version}`);
239012
+ }
239013
+ }
239014
+ semaphore.release();
239015
+ }));
239016
+ return Array.from(resolvedFiles);
239017
+ }
239018
+ exports.resolveNftJsonFiles = resolveNftJsonFiles;
238839
239019
 
238840
239020
 
238841
239021
  /***/ }),
@@ -238917,10 +239097,10 @@ const maybeRead = async function (path, default_) {
238917
239097
  return default_;
238918
239098
  }
238919
239099
  };
238920
- async function buildFileTree(path, isDirectory, debug, prebuilt) {
239100
+ async function buildFileTree(path, { isDirectory, prebuilt, rootDirectory, }, debug) {
238921
239101
  const ignoreList = [];
238922
239102
  let fileList;
238923
- let { ig, ignores } = await getVercelIgnore(path, prebuilt);
239103
+ let { ig, ignores } = await getVercelIgnore(path, prebuilt, rootDirectory);
238924
239104
  debug(`Found ${ignores.length} rules in .vercelignore`);
238925
239105
  debug('Building file tree...');
238926
239106
  if (isDirectory && !Array.isArray(path)) {
@@ -238949,10 +239129,20 @@ async function buildFileTree(path, isDirectory, debug, prebuilt) {
238949
239129
  return { fileList, ignoreList };
238950
239130
  }
238951
239131
  exports.buildFileTree = buildFileTree;
238952
- async function getVercelIgnore(cwd, prebuilt) {
238953
- const ignores = prebuilt
238954
- ? ['*', '!.output', '!.output/**']
238955
- : [
239132
+ async function getVercelIgnore(cwd, prebuilt, rootDirectory) {
239133
+ let ignores = [];
239134
+ const outputDir = path_1.posix.join(rootDirectory || '', '.output');
239135
+ if (prebuilt) {
239136
+ ignores.push('*');
239137
+ const parts = outputDir.split('/');
239138
+ parts.forEach((_, i) => {
239139
+ const level = parts.slice(0, i + 1).join('/');
239140
+ ignores.push(`!${level}`);
239141
+ });
239142
+ ignores.push(`!${outputDir}/**`);
239143
+ }
239144
+ else {
239145
+ ignores = [
238956
239146
  '.hg',
238957
239147
  '.git',
238958
239148
  '.gitmodules',
@@ -238977,8 +239167,9 @@ async function getVercelIgnore(cwd, prebuilt) {
238977
239167
  '__pycache__',
238978
239168
  'venv',
238979
239169
  'CVS',
238980
- '.output',
239170
+ `.output`,
238981
239171
  ];
239172
+ }
238982
239173
  const cwds = Array.isArray(cwd) ? cwd : [cwd];
238983
239174
  const files = await Promise.all(cwds.map(async (cwd) => {
238984
239175
  const [vercelignore, nowignore] = await Promise.all([
@@ -239038,9 +239229,8 @@ const fetch = async (url, token, opts = {}, debugEnabled, useNodeFetch) => {
239038
239229
  exports.fetch = fetch;
239039
239230
  const isWin = process.platform.includes('win');
239040
239231
  const prepareFiles = (files, clientOptions) => {
239041
- const preparedFiles = [...files.keys()].reduce((acc, sha) => {
239042
- const next = [...acc];
239043
- const file = files.get(sha);
239232
+ const preparedFiles = [];
239233
+ for (const [sha, file] of files) {
239044
239234
  for (const name of file.names) {
239045
239235
  let fileName;
239046
239236
  if (clientOptions.isDirectory) {
@@ -239055,15 +239245,14 @@ const prepareFiles = (files, clientOptions) => {
239055
239245
  const segments = name.split(path_1.sep);
239056
239246
  fileName = segments[segments.length - 1];
239057
239247
  }
239058
- next.push({
239248
+ preparedFiles.push({
239059
239249
  file: isWin ? fileName.replace(/\\/g, '/') : fileName,
239060
239250
  size: file.data.byteLength || file.data.length,
239061
239251
  mode: file.mode,
239062
239252
  sha,
239063
239253
  });
239064
239254
  }
239065
- return next;
239066
- }, []);
239255
+ }
239067
239256
  return preparedFiles;
239068
239257
  };
239069
239258
  exports.prepareFiles = prepareFiles;
@@ -250274,6 +250463,7 @@ const glob_1 = __importDefault(__webpack_require__(91104));
250274
250463
  const path_1 = __webpack_require__(85622);
250275
250464
  const pluralize_1 = __importDefault(__webpack_require__(31974));
250276
250465
  const emoji_1 = __webpack_require__(41806);
250466
+ const errors_ts_1 = __webpack_require__(60156);
250277
250467
  const get_args_1 = __importDefault(__webpack_require__(87612));
250278
250468
  const handle_error_1 = __importDefault(__webpack_require__(70870));
250279
250469
  const confirm_1 = __importDefault(__webpack_require__(33564));
@@ -250287,6 +250477,7 @@ const plugins_1 = __webpack_require__(13233);
250287
250477
  const find_framework_1 = __webpack_require__(77969);
250288
250478
  const link_1 = __webpack_require__(67630);
250289
250479
  const project_settings_1 = __webpack_require__(42697);
250480
+ const read_json_file_1 = __importDefault(__webpack_require__(16898));
250290
250481
  const pull_1 = __importDefault(__webpack_require__(6277));
250291
250482
  const sema = new async_sema_1.default(16, {
250292
250483
  capacity: 100,
@@ -250370,6 +250561,33 @@ async function main(client) {
250370
250561
  env: { ...combinedEnv, VERCEL: '1' },
250371
250562
  };
250372
250563
  process.chdir(cwd);
250564
+ const pkg = await read_json_file_1.default('./package.json');
250565
+ if (pkg instanceof errors_ts_1.CantParseJSONFile) {
250566
+ throw pkg;
250567
+ }
250568
+ const vercelConfig = await read_json_file_1.default('./vercel.json');
250569
+ if (vercelConfig instanceof errors_ts_1.CantParseJSONFile) {
250570
+ throw vercelConfig;
250571
+ }
250572
+ if (!process.env.NOW_BUILDER) {
250573
+ // This validation is only necessary when
250574
+ // a user runs `vercel build` locally.
250575
+ const globFiles = await build_utils_1.glob('**', { cwd });
250576
+ const zeroConfig = await build_utils_1.detectBuilders(Object.keys(globFiles), pkg);
250577
+ const { reason } = await build_utils_1.detectFileSystemAPI({
250578
+ files: globFiles,
250579
+ projectSettings: project.settings,
250580
+ builders: zeroConfig.builders || [],
250581
+ pkg,
250582
+ vercelConfig,
250583
+ tag: '',
250584
+ enableFlag: true,
250585
+ });
250586
+ if (reason) {
250587
+ client.output.error(`${cmd_1.default(`${pkg_name_1.getPkgName()} build`)} failed: ${reason}`);
250588
+ return 1;
250589
+ }
250590
+ }
250373
250591
  const framework = find_framework_1.findFramework(project.settings.framework);
250374
250592
  // If this is undefined, we bail. If it is null, then findFramework should return "Other",
250375
250593
  // so this should really never happen, but just in case....
@@ -251689,8 +251907,8 @@ exports.default = async (client) => {
251689
251907
  if (!pathValidation.valid) {
251690
251908
  return pathValidation.exitCode;
251691
251909
  }
251692
- const { isFile, path } = pathValidation;
251693
- const autoConfirm = argv['--confirm'] || isFile;
251910
+ const { path } = pathValidation;
251911
+ const autoConfirm = argv['--confirm'];
251694
251912
  // deprecate --name
251695
251913
  if (argv['--name']) {
251696
251914
  output.print(`${emoji_1.prependEmoji(`The ${param_1.default('--name')} option is deprecated (https://vercel.link/name-flag)`, emoji_1.emoji('warning'))}\n`);
@@ -251728,8 +251946,7 @@ exports.default = async (client) => {
251728
251946
  // user input.
251729
251947
  const detectedProjectName = get_project_name_1.default({
251730
251948
  argv,
251731
- nowConfig: localConfig || {},
251732
- isFile,
251949
+ nowConfig: localConfig,
251733
251950
  paths,
251734
251951
  });
251735
251952
  const projectOrNewProjectName = await input_project_1.default(client, org, detectedProjectName, autoConfirm);
@@ -251858,9 +252075,9 @@ exports.default = async (client) => {
251858
252075
  forceNew: argv['--force'],
251859
252076
  withCache: argv['--with-cache'],
251860
252077
  prebuilt: argv['--prebuilt'],
252078
+ rootDirectory,
251861
252079
  quiet,
251862
252080
  wantsPublic: argv['--public'] || localConfig.public,
251863
- isFile,
251864
252081
  type: null,
251865
252082
  nowConfig: localConfig,
251866
252083
  regions,
@@ -251873,7 +252090,7 @@ exports.default = async (client) => {
251873
252090
  // Only add projectSettings for zero config deployments
251874
252091
  createArgs.projectSettings = { sourceFilesOutsideRootDirectory };
251875
252092
  }
251876
- deployment = await create_deploy_1.default(client, now, contextName, [sourcePath], createArgs, org, !project && !isFile, path);
252093
+ deployment = await create_deploy_1.default(client, now, contextName, [sourcePath], createArgs, org, !project, path);
251877
252094
  if (deployment.code === 'missing_project_settings') {
251878
252095
  let { projectSettings, framework } = deployment;
251879
252096
  if (rootDirectory) {
@@ -251986,7 +252203,7 @@ exports.default = async (client) => {
251986
252203
  error_1.handleError(err);
251987
252204
  return 1;
251988
252205
  }
251989
- return printDeploymentStatus(output, client, deployment, deployStamp, !argv['--no-clipboard'], isFile);
252206
+ return printDeploymentStatus(output, client, deployment, deployStamp, !argv['--no-clipboard']);
251990
252207
  };
251991
252208
  function handleCreateDeployError(output, error, localConfig) {
251992
252209
  if (error instanceof errors_ts_1.InvalidDomain) {
@@ -252052,7 +252269,7 @@ const addProcessEnv = async (log, env) => {
252052
252269
  }
252053
252270
  }
252054
252271
  };
252055
- const printDeploymentStatus = async (output, client, { readyState, alias: aliasList, aliasError, target, indications, url: deploymentUrl, aliasWarning, }, deployStamp, isClipboardEnabled, isFile) => {
252272
+ const printDeploymentStatus = async (output, client, { readyState, alias: aliasList, aliasError, target, indications, url: deploymentUrl, aliasWarning, }, deployStamp, isClipboardEnabled) => {
252056
252273
  indications = indications || [];
252057
252274
  const isProdDeployment = target === 'production';
252058
252275
  if (readyState !== 'READY') {
@@ -252066,7 +252283,7 @@ const printDeploymentStatus = async (output, client, { readyState, alias: aliasL
252066
252283
  // print preview/production url
252067
252284
  let previewUrl;
252068
252285
  let isWildcard;
252069
- if (!isFile && Array.isArray(aliasList) && aliasList.length > 0) {
252286
+ if (Array.isArray(aliasList) && aliasList.length > 0) {
252070
252287
  const previewUrlInfo = await get_preferred_preview_url_1.getPreferredPreviewURL(client, aliasList);
252071
252288
  if (previewUrlInfo) {
252072
252289
  isWildcard = previewUrlInfo.isWildcard;
@@ -259411,7 +259628,7 @@ function printInspectUrl(output, inspectorUrl, deployStamp) {
259411
259628
  output.print(emoji_1.prependEmoji(`Inspect: ${chalk_1.default.bold(inspectorUrl)} ${deployStamp()}`, emoji_1.emoji('inspect')) + `\n`);
259412
259629
  }
259413
259630
  async function processDeployment({ org, cwd, projectName, isSettingUpProject, skipAutoDetectionConfirmation, ...args }) {
259414
- let { now, output, paths, requestBody, deployStamp, force, withCache, nowConfig, quiet, prebuilt, } = args;
259631
+ let { now, output, paths, requestBody, deployStamp, force, withCache, nowConfig, quiet, prebuilt, rootDirectory, } = args;
259415
259632
  const { debug } = output;
259416
259633
  let bar = null;
259417
259634
  const { env = {} } = requestBody;
@@ -259429,6 +259646,7 @@ async function processDeployment({ org, cwd, projectName, isSettingUpProject, sk
259429
259646
  force,
259430
259647
  withCache,
259431
259648
  prebuilt,
259649
+ rootDirectory,
259432
259650
  skipAutoDetectionConfirmation,
259433
259651
  };
259434
259652
  output.spinner(isSettingUpProject
@@ -261558,6 +261776,28 @@ class DevServer {
261558
261776
  if (warnings && warnings.length > 0) {
261559
261777
  warnings.forEach(warning => this.output.warn(warning.message, null, warning.link, warning.action));
261560
261778
  }
261779
+ const { reason, metadata } = await build_utils_1.detectFileSystemAPI({
261780
+ files,
261781
+ builders: builders || [],
261782
+ projectSettings: projectSettings || this.projectSettings || {},
261783
+ vercelConfig,
261784
+ pkg,
261785
+ tag: '',
261786
+ enableFlag: true,
261787
+ });
261788
+ if (reason) {
261789
+ if (metadata.hasMiddleware) {
261790
+ this.output.error(`Detected middleware usage which requires the latest API. ${reason}`);
261791
+ await this.exit();
261792
+ }
261793
+ else if (metadata.plugins.length > 0) {
261794
+ this.output.error(`Detected CLI plugins which requires the latest API. ${reason}`);
261795
+ await this.exit();
261796
+ }
261797
+ else {
261798
+ this.output.warn(`Unable to use latest API. ${reason}`);
261799
+ }
261800
+ }
261561
261801
  if (builders) {
261562
261802
  if (this.devCommand) {
261563
261803
  builders = builders.filter(filterFrontendBuilds);
@@ -265931,7 +266171,7 @@ exports.default = getPrefixedFlags;
265931
266171
 
265932
266172
  Object.defineProperty(exports, "__esModule", ({ value: true }));
265933
266173
  const path_1 = __webpack_require__(85622);
265934
- function getProjectName({ argv, nowConfig = {}, isFile = false, paths = [], }) {
266174
+ function getProjectName({ argv, nowConfig = {}, paths = [], }) {
265935
266175
  const nameCli = argv['--name'];
265936
266176
  if (nameCli) {
265937
266177
  return nameCli;
@@ -265939,9 +266179,6 @@ function getProjectName({ argv, nowConfig = {}, isFile = false, paths = [], }) {
265939
266179
  if (nowConfig.name) {
265940
266180
  return nowConfig.name;
265941
266181
  }
265942
- if (isFile || paths.length > 1) {
265943
- return 'files';
265944
- }
265945
266182
  // Otherwise, use the name of the directory
265946
266183
  return path_1.basename(paths[0] || '');
265947
266184
  }
@@ -266277,7 +266514,7 @@ class Now extends events_1.default {
266277
266514
  // Legacy
266278
266515
  nowConfig: nowConfig = {},
266279
266516
  // Latest
266280
- name, project, prebuilt = false, wantsPublic, meta, regions, quiet = false, env, build, forceNew = false, withCache = false, target = null, deployStamp, projectSettings, skipAutoDetectionConfirmation, }, org, isSettingUpProject, cwd) {
266517
+ name, project, prebuilt = false, rootDirectory, wantsPublic, meta, regions, quiet = false, env, build, forceNew = false, withCache = false, target = null, deployStamp, projectSettings, skipAutoDetectionConfirmation, }, org, isSettingUpProject, cwd) {
266281
266518
  let hashes = {};
266282
266519
  const uploadStamp = stamp_1.default();
266283
266520
  let requestBody = {
@@ -266313,6 +266550,7 @@ class Now extends events_1.default {
266313
266550
  skipAutoDetectionConfirmation,
266314
266551
  cwd,
266315
266552
  prebuilt,
266553
+ rootDirectory,
266316
266554
  });
266317
266555
  if (deployment && deployment.warnings) {
266318
266556
  let sizeExceeded = 0;
@@ -266763,7 +267001,7 @@ const get_project_by_id_or_name_1 = __importDefault(__webpack_require__(41123));
266763
267001
  const chalk_1 = __importDefault(__webpack_require__(961));
266764
267002
  const errors_ts_1 = __webpack_require__(60156);
266765
267003
  const slugify_1 = __importDefault(__webpack_require__(98537));
266766
- async function inputProject(client, org, detectedProjectName, autoConfirm) {
267004
+ async function inputProject(client, org, detectedProjectName, autoConfirm = false) {
266767
267005
  const { output } = client;
266768
267006
  const slugifiedName = slugify_1.default(detectedProjectName);
266769
267007
  // attempt to auto-detect a project to link
@@ -266875,7 +267113,7 @@ const path_1 = __importDefault(__webpack_require__(85622));
266875
267113
  const chalk_1 = __importDefault(__webpack_require__(961));
266876
267114
  const inquirer_1 = __importDefault(__webpack_require__(64016));
266877
267115
  const validate_paths_1 = __webpack_require__(54579);
266878
- async function inputRootDirectory(cwd, output, autoConfirm) {
267116
+ async function inputRootDirectory(cwd, output, autoConfirm = false) {
266879
267117
  if (autoConfirm) {
266880
267118
  return null;
266881
267119
  }
@@ -267833,7 +268071,6 @@ async function setupAndLink(client, path, { forceDelete = false, autoConfirm = f
267833
268071
  withCache: undefined,
267834
268072
  quiet,
267835
268073
  wantsPublic: (localConfig === null || localConfig === void 0 ? void 0 : localConfig.public) || false,
267836
- isFile,
267837
268074
  nowConfig: localConfig,
267838
268075
  regions: undefined,
267839
268076
  meta: {},
@@ -267845,7 +268082,7 @@ async function setupAndLink(client, path, { forceDelete = false, autoConfirm = f
267845
268082
  // Only add projectSettings for zero config deployments
267846
268083
  createArgs.projectSettings = { sourceFilesOutsideRootDirectory };
267847
268084
  }
267848
- const deployment = await create_deploy_1.default(client, now, config.currentTeam || 'current user', [sourcePath], createArgs, org, !isFile, path);
268085
+ const deployment = await create_deploy_1.default(client, now, config.currentTeam || 'current user', [sourcePath], createArgs, org, true, path);
267849
268086
  if (!deployment ||
267850
268087
  !('code' in deployment) ||
267851
268088
  deployment.code !== 'missing_project_settings') {
@@ -270616,7 +270853,6 @@ const util_1 = __webpack_require__(31669);
270616
270853
  const chalk_1 = __importDefault(__webpack_require__(961));
270617
270854
  const os_1 = __webpack_require__(12087);
270618
270855
  const confirm_1 = __importDefault(__webpack_require__(33564));
270619
- const emoji_1 = __webpack_require__(41806);
270620
270856
  const humanize_path_1 = __importDefault(__webpack_require__(45090));
270621
270857
  const stat = util_1.promisify(fs_1.lstat);
270622
270858
  /**
@@ -270653,9 +270889,12 @@ async function validatePaths(output, paths) {
270653
270889
  output.print(`${chalk_1.default.red('Error!')} Could not find ${chalk_1.default.cyan(`“${humanize_path_1.default(path)}”`)}\n`);
270654
270890
  return { valid: false, exitCode: 1 };
270655
270891
  }
270656
- const isFile = pathStat && !pathStat.isDirectory();
270657
- if (isFile) {
270658
- output.print(`${emoji_1.prependEmoji('Deploying files with Vercel is deprecated (https://vercel.link/faq-deploy-file)', emoji_1.emoji('warning'))}\n`);
270892
+ if (!pathStat.isDirectory()) {
270893
+ output.prettyError({
270894
+ message: 'Support for single file deployments has been removed.',
270895
+ link: 'https://vercel.link/no-single-file-deployments',
270896
+ });
270897
+ return { valid: false, exitCode: 1 };
270659
270898
  }
270660
270899
  // ask confirmation if the directory is home
270661
270900
  if (path === os_1.homedir()) {
@@ -270665,7 +270904,7 @@ async function validatePaths(output, paths) {
270665
270904
  return { valid: false, exitCode: 0 };
270666
270905
  }
270667
270906
  }
270668
- return { valid: true, path, isFile };
270907
+ return { valid: true, path };
270669
270908
  }
270670
270909
  exports.default = validatePaths;
270671
270910
 
@@ -271044,7 +271283,7 @@ module.exports = JSON.parse("[\"ac\",\"com.ac\",\"edu.ac\",\"gov.ac\",\"net.ac\"
271044
271283
  /***/ ((module) => {
271045
271284
 
271046
271285
  "use strict";
271047
- module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"23.1.3-canary.64\",\"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.17\",\"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\":\"35c8fc272905524eeb83268bdc09edb165d3382a\"}");
271286
+ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"23.1.3-canary.68\",\"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.43\",\"@vercel/go\":\"1.2.4-canary.4\",\"@vercel/node\":\"1.12.2-canary.7\",\"@vercel/python\":\"2.1.2-canary.2\",\"@vercel/ruby\":\"1.2.10-canary.0\",\"update-notifier\":\"4.1.0\",\"vercel-plugin-middleware\":\"0.0.0-canary.20\",\"vercel-plugin-node\":\"1.12.2-canary.35\"},\"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/client\":\"10.2.3-canary.46\",\"@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\":\"01ea7b4b2a4acb47b6de5f593d9c33856caf4403\"}");
271048
271287
 
271049
271288
  /***/ }),
271050
271289
 
@@ -271060,7 +271299,7 @@ module.exports = JSON.parse("{\"VISA\":\"Visa\",\"MASTERCARD\":\"MasterCard\",\"
271060
271299
  /***/ ((module) => {
271061
271300
 
271062
271301
  "use strict";
271063
- module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"10.2.3-canary.42\",\"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\"},\"gitHead\":\"35c8fc272905524eeb83268bdc09edb165d3382a\"}");
271302
+ module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"10.2.3-canary.46\",\"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.43\",\"@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\":\"01ea7b4b2a4acb47b6de5f593d9c33856caf4403\"}");
271064
271303
 
271065
271304
  /***/ }),
271066
271305
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "23.1.3-canary.64",
3
+ "version": "23.1.3-canary.68",
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.41",
46
+ "@vercel/build-utils": "2.12.3-canary.43",
47
47
  "@vercel/go": "1.2.4-canary.4",
48
48
  "@vercel/node": "1.12.2-canary.7",
49
- "@vercel/python": "2.1.2-canary.1",
49
+ "@vercel/python": "2.1.2-canary.2",
50
50
  "@vercel/ruby": "1.2.10-canary.0",
51
51
  "update-notifier": "4.1.0",
52
- "vercel-plugin-middleware": "0.0.0-canary.17",
53
- "vercel-plugin-node": "1.12.2-canary.33"
52
+ "vercel-plugin-middleware": "0.0.0-canary.20",
53
+ "vercel-plugin-node": "1.12.2-canary.35"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@next/env": "11.1.2",
@@ -90,6 +90,7 @@
90
90
  "@types/update-notifier": "5.1.0",
91
91
  "@types/which": "1.3.2",
92
92
  "@types/write-json-file": "2.2.1",
93
+ "@vercel/client": "10.2.3-canary.46",
93
94
  "@vercel/frameworks": "0.5.1-canary.17",
94
95
  "@vercel/ncc": "0.24.0",
95
96
  "@vercel/nft": "0.17.0",
@@ -184,5 +185,5 @@
184
185
  "<rootDir>/test/**/*.test.ts"
185
186
  ]
186
187
  },
187
- "gitHead": "35c8fc272905524eeb83268bdc09edb165d3382a"
188
+ "gitHead": "01ea7b4b2a4acb47b6de5f593d9c33856caf4403"
188
189
  }