vercel 28.2.5 → 28.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +315 -631
- package/package.json +15 -15
package/dist/index.js
CHANGED
@@ -189360,15 +189360,51 @@ exports.fromPromise = function (fn) {
|
|
189360
189360
|
}
|
189361
189361
|
|
189362
189362
|
|
189363
|
+
/***/ }),
|
189364
|
+
|
189365
|
+
/***/ 6548:
|
189366
|
+
/***/ ((__unused_webpack_module, exports) => {
|
189367
|
+
|
189368
|
+
"use strict";
|
189369
|
+
|
189370
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
189371
|
+
exports.cloneEnv = void 0;
|
189372
|
+
const { hasOwnProperty } = Object.prototype;
|
189373
|
+
/**
|
189374
|
+
* Clones zero or more objects into a single new object while ensuring that the
|
189375
|
+
* `PATH` environment variable is defined when the `PATH` or `Path` environment
|
189376
|
+
* variables are defined.
|
189377
|
+
*
|
189378
|
+
* @param {Object} [...envs] Objects and/or `process.env` to clone and merge
|
189379
|
+
* @returns {Object} The new object
|
189380
|
+
*/
|
189381
|
+
function cloneEnv(...envs) {
|
189382
|
+
return envs.reduce((obj, env) => {
|
189383
|
+
if (env === undefined || env === null) {
|
189384
|
+
return obj;
|
189385
|
+
}
|
189386
|
+
// the system path is called `Path` on Windows and Node.js will
|
189387
|
+
// automatically return the system path when accessing `PATH`,
|
189388
|
+
// however we lose this proxied value when we destructure and
|
189389
|
+
// thus we must explicitly copy it
|
189390
|
+
if (hasOwnProperty.call(env, 'PATH') || hasOwnProperty.call(env, 'Path')) {
|
189391
|
+
obj.PATH = env.PATH;
|
189392
|
+
}
|
189393
|
+
return Object.assign(obj, env);
|
189394
|
+
}, {});
|
189395
|
+
}
|
189396
|
+
exports.cloneEnv = cloneEnv;
|
189397
|
+
|
189398
|
+
|
189363
189399
|
/***/ }),
|
189364
189400
|
|
189365
189401
|
/***/ 1868:
|
189366
|
-
/***/ ((__unused_webpack_module, exports,
|
189402
|
+
/***/ ((__unused_webpack_module, exports, __nested_webpack_require_834453__) => {
|
189367
189403
|
|
189368
189404
|
"use strict";
|
189369
189405
|
|
189370
189406
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
189371
|
-
const get_platform_env_1 =
|
189407
|
+
const get_platform_env_1 = __nested_webpack_require_834453__(4678);
|
189372
189408
|
function debug(message, ...additional) {
|
189373
189409
|
if (get_platform_env_1.getPlatformEnv('BUILDER_DEBUG')) {
|
189374
189410
|
console.log(message, ...additional);
|
@@ -189503,7 +189539,7 @@ function getSuggestion(topLevelProp, additionalProperty) {
|
|
189503
189539
|
/***/ }),
|
189504
189540
|
|
189505
189541
|
/***/ 2397:
|
189506
|
-
/***/ (function(__unused_webpack_module, exports,
|
189542
|
+
/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_838803__) {
|
189507
189543
|
|
189508
189544
|
"use strict";
|
189509
189545
|
|
@@ -189511,8 +189547,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
189511
189547
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
189512
189548
|
};
|
189513
189549
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
189514
|
-
const assert_1 = __importDefault(
|
189515
|
-
const into_stream_1 = __importDefault(
|
189550
|
+
const assert_1 = __importDefault(__nested_webpack_require_838803__(2357));
|
189551
|
+
const into_stream_1 = __importDefault(__nested_webpack_require_838803__(6130));
|
189516
189552
|
class FileBlob {
|
189517
189553
|
constructor({ mode = 0o100644, contentType, data }) {
|
189518
189554
|
assert_1.default(typeof mode === 'number');
|
@@ -189547,7 +189583,7 @@ exports.default = FileBlob;
|
|
189547
189583
|
/***/ }),
|
189548
189584
|
|
189549
189585
|
/***/ 9331:
|
189550
|
-
/***/ (function(__unused_webpack_module, exports,
|
189586
|
+
/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_840321__) {
|
189551
189587
|
|
189552
189588
|
"use strict";
|
189553
189589
|
|
@@ -189555,11 +189591,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
189555
189591
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
189556
189592
|
};
|
189557
189593
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
189558
|
-
const assert_1 = __importDefault(
|
189559
|
-
const fs_extra_1 = __importDefault(
|
189560
|
-
const multistream_1 = __importDefault(
|
189561
|
-
const path_1 = __importDefault(
|
189562
|
-
const async_sema_1 = __importDefault(
|
189594
|
+
const assert_1 = __importDefault(__nested_webpack_require_840321__(2357));
|
189595
|
+
const fs_extra_1 = __importDefault(__nested_webpack_require_840321__(5392));
|
189596
|
+
const multistream_1 = __importDefault(__nested_webpack_require_840321__(8179));
|
189597
|
+
const path_1 = __importDefault(__nested_webpack_require_840321__(5622));
|
189598
|
+
const async_sema_1 = __importDefault(__nested_webpack_require_840321__(5758));
|
189563
189599
|
const semaToPreventEMFILE = new async_sema_1.default(20);
|
189564
189600
|
class FileFsRef {
|
189565
189601
|
constructor({ mode = 0o100644, contentType, fsPath }) {
|
@@ -189625,7 +189661,7 @@ exports.default = FileFsRef;
|
|
189625
189661
|
/***/ }),
|
189626
189662
|
|
189627
189663
|
/***/ 5187:
|
189628
|
-
/***/ (function(__unused_webpack_module, exports,
|
189664
|
+
/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_843125__) {
|
189629
189665
|
|
189630
189666
|
"use strict";
|
189631
189667
|
|
@@ -189633,11 +189669,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
189633
189669
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
189634
189670
|
};
|
189635
189671
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
189636
|
-
const assert_1 = __importDefault(
|
189637
|
-
const node_fetch_1 = __importDefault(
|
189638
|
-
const multistream_1 = __importDefault(
|
189639
|
-
const async_retry_1 = __importDefault(
|
189640
|
-
const async_sema_1 = __importDefault(
|
189672
|
+
const assert_1 = __importDefault(__nested_webpack_require_843125__(2357));
|
189673
|
+
const node_fetch_1 = __importDefault(__nested_webpack_require_843125__(2197));
|
189674
|
+
const multistream_1 = __importDefault(__nested_webpack_require_843125__(8179));
|
189675
|
+
const async_retry_1 = __importDefault(__nested_webpack_require_843125__(3691));
|
189676
|
+
const async_sema_1 = __importDefault(__nested_webpack_require_843125__(5758));
|
189641
189677
|
const semaToDownloadFromS3 = new async_sema_1.default(5);
|
189642
189678
|
class BailableError extends Error {
|
189643
189679
|
constructor(...args) {
|
@@ -189718,7 +189754,7 @@ exports.default = FileRef;
|
|
189718
189754
|
/***/ }),
|
189719
189755
|
|
189720
189756
|
/***/ 1611:
|
189721
|
-
/***/ (function(__unused_webpack_module, exports,
|
189757
|
+
/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_846526__) {
|
189722
189758
|
|
189723
189759
|
"use strict";
|
189724
189760
|
|
@@ -189727,11 +189763,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
189727
189763
|
};
|
189728
189764
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
189729
189765
|
exports.downloadFile = exports.isSymbolicLink = void 0;
|
189730
|
-
const path_1 = __importDefault(
|
189731
|
-
const debug_1 = __importDefault(
|
189732
|
-
const file_fs_ref_1 = __importDefault(
|
189733
|
-
const fs_extra_1 =
|
189734
|
-
const stream_to_buffer_1 = __importDefault(
|
189766
|
+
const path_1 = __importDefault(__nested_webpack_require_846526__(5622));
|
189767
|
+
const debug_1 = __importDefault(__nested_webpack_require_846526__(1868));
|
189768
|
+
const file_fs_ref_1 = __importDefault(__nested_webpack_require_846526__(9331));
|
189769
|
+
const fs_extra_1 = __nested_webpack_require_846526__(5392);
|
189770
|
+
const stream_to_buffer_1 = __importDefault(__nested_webpack_require_846526__(2560));
|
189735
189771
|
const S_IFMT = 61440; /* 0170000 type of file */
|
189736
189772
|
const S_IFLNK = 40960; /* 0120000 symbolic link */
|
189737
189773
|
function isSymbolicLink(mode) {
|
@@ -189822,14 +189858,14 @@ exports.default = download;
|
|
189822
189858
|
/***/ }),
|
189823
189859
|
|
189824
189860
|
/***/ 3838:
|
189825
|
-
/***/ ((__unused_webpack_module, exports,
|
189861
|
+
/***/ ((__unused_webpack_module, exports, __nested_webpack_require_850961__) => {
|
189826
189862
|
|
189827
189863
|
"use strict";
|
189828
189864
|
|
189829
189865
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
189830
|
-
const path_1 =
|
189831
|
-
const os_1 =
|
189832
|
-
const fs_extra_1 =
|
189866
|
+
const path_1 = __nested_webpack_require_850961__(5622);
|
189867
|
+
const os_1 = __nested_webpack_require_850961__(2087);
|
189868
|
+
const fs_extra_1 = __nested_webpack_require_850961__(5392);
|
189833
189869
|
async function getWritableDirectory() {
|
189834
189870
|
const name = Math.floor(Math.random() * 0x7fffffff).toString(16);
|
189835
189871
|
const directory = path_1.join(os_1.tmpdir(), name);
|
@@ -189842,7 +189878,7 @@ exports.default = getWritableDirectory;
|
|
189842
189878
|
/***/ }),
|
189843
189879
|
|
189844
189880
|
/***/ 4240:
|
189845
|
-
/***/ (function(__unused_webpack_module, exports,
|
189881
|
+
/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_851541__) {
|
189846
189882
|
|
189847
189883
|
"use strict";
|
189848
189884
|
|
@@ -189850,13 +189886,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
189850
189886
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
189851
189887
|
};
|
189852
189888
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
189853
|
-
const path_1 = __importDefault(
|
189854
|
-
const assert_1 = __importDefault(
|
189855
|
-
const glob_1 = __importDefault(
|
189856
|
-
const util_1 =
|
189857
|
-
const fs_extra_1 =
|
189858
|
-
const normalize_path_1 =
|
189859
|
-
const file_fs_ref_1 = __importDefault(
|
189889
|
+
const path_1 = __importDefault(__nested_webpack_require_851541__(5622));
|
189890
|
+
const assert_1 = __importDefault(__nested_webpack_require_851541__(2357));
|
189891
|
+
const glob_1 = __importDefault(__nested_webpack_require_851541__(1104));
|
189892
|
+
const util_1 = __nested_webpack_require_851541__(1669);
|
189893
|
+
const fs_extra_1 = __nested_webpack_require_851541__(5392);
|
189894
|
+
const normalize_path_1 = __nested_webpack_require_851541__(6261);
|
189895
|
+
const file_fs_ref_1 = __importDefault(__nested_webpack_require_851541__(9331));
|
189860
189896
|
const vanillaGlob = util_1.promisify(glob_1.default);
|
189861
189897
|
async function glob(pattern, opts, mountpoint) {
|
189862
189898
|
let options;
|
@@ -189903,7 +189939,7 @@ exports.default = glob;
|
|
189903
189939
|
/***/ }),
|
189904
189940
|
|
189905
189941
|
/***/ 7903:
|
189906
|
-
/***/ (function(__unused_webpack_module, exports,
|
189942
|
+
/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_853762__) {
|
189907
189943
|
|
189908
189944
|
"use strict";
|
189909
189945
|
|
@@ -189912,9 +189948,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
189912
189948
|
};
|
189913
189949
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
189914
189950
|
exports.getSupportedNodeVersion = exports.getDiscontinuedNodeVersions = exports.getLatestNodeVersion = void 0;
|
189915
|
-
const semver_1 =
|
189916
|
-
const errors_1 =
|
189917
|
-
const debug_1 = __importDefault(
|
189951
|
+
const semver_1 = __nested_webpack_require_853762__(2879);
|
189952
|
+
const errors_1 = __nested_webpack_require_853762__(3983);
|
189953
|
+
const debug_1 = __importDefault(__nested_webpack_require_853762__(1868));
|
189918
189954
|
const allOptions = [
|
189919
189955
|
{ major: 16, range: '16.x', runtime: 'nodejs16.x' },
|
189920
189956
|
{ major: 14, range: '14.x', runtime: 'nodejs14.x' },
|
@@ -190013,7 +190049,7 @@ exports.normalizePath = normalizePath;
|
|
190013
190049
|
/***/ }),
|
190014
190050
|
|
190015
190051
|
/***/ 7792:
|
190016
|
-
/***/ (function(__unused_webpack_module, exports,
|
190052
|
+
/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_857616__) {
|
190017
190053
|
|
190018
190054
|
"use strict";
|
190019
190055
|
|
@@ -190022,9 +190058,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
190022
190058
|
};
|
190023
190059
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
190024
190060
|
exports.readConfigFile = void 0;
|
190025
|
-
const js_yaml_1 = __importDefault(
|
190026
|
-
const toml_1 = __importDefault(
|
190027
|
-
const fs_extra_1 =
|
190061
|
+
const js_yaml_1 = __importDefault(__nested_webpack_require_857616__(6540));
|
190062
|
+
const toml_1 = __importDefault(__nested_webpack_require_857616__(9434));
|
190063
|
+
const fs_extra_1 = __nested_webpack_require_857616__(5392);
|
190028
190064
|
async function readFileOrNull(file) {
|
190029
190065
|
try {
|
190030
190066
|
const data = await fs_extra_1.readFile(file);
|
@@ -190079,7 +190115,7 @@ exports.default = rename;
|
|
190079
190115
|
/***/ }),
|
190080
190116
|
|
190081
190117
|
/***/ 1442:
|
190082
|
-
/***/ (function(__unused_webpack_module, exports,
|
190118
|
+
/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_859409__) {
|
190083
190119
|
|
190084
190120
|
"use strict";
|
190085
190121
|
|
@@ -190088,17 +190124,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
190088
190124
|
};
|
190089
190125
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
190090
190126
|
exports.installDependencies = exports.getScriptName = exports.runPipInstall = exports.runBundleInstall = exports.runPackageJsonScript = exports.runCustomInstallCommand = exports.getEnvForPackageManager = exports.runNpmInstall = exports.walkParentDirs = exports.scanParentDirs = exports.getNodeVersion = exports.getSpawnOptions = exports.runShellScript = exports.getNodeBinPath = exports.execCommand = exports.spawnCommand = exports.execAsync = exports.spawnAsync = void 0;
|
190091
|
-
const assert_1 = __importDefault(
|
190092
|
-
const fs_extra_1 = __importDefault(
|
190093
|
-
const path_1 = __importDefault(
|
190094
|
-
const async_sema_1 = __importDefault(
|
190095
|
-
const cross_spawn_1 = __importDefault(
|
190096
|
-
const semver_1 =
|
190097
|
-
const util_1 =
|
190098
|
-
const debug_1 = __importDefault(
|
190099
|
-
const errors_1 =
|
190100
|
-
const node_version_1 =
|
190101
|
-
const read_config_file_1 =
|
190127
|
+
const assert_1 = __importDefault(__nested_webpack_require_859409__(2357));
|
190128
|
+
const fs_extra_1 = __importDefault(__nested_webpack_require_859409__(5392));
|
190129
|
+
const path_1 = __importDefault(__nested_webpack_require_859409__(5622));
|
190130
|
+
const async_sema_1 = __importDefault(__nested_webpack_require_859409__(5758));
|
190131
|
+
const cross_spawn_1 = __importDefault(__nested_webpack_require_859409__(7618));
|
190132
|
+
const semver_1 = __nested_webpack_require_859409__(2879);
|
190133
|
+
const util_1 = __nested_webpack_require_859409__(1669);
|
190134
|
+
const debug_1 = __importDefault(__nested_webpack_require_859409__(1868));
|
190135
|
+
const errors_1 = __nested_webpack_require_859409__(3983);
|
190136
|
+
const node_version_1 = __nested_webpack_require_859409__(7903);
|
190137
|
+
const read_config_file_1 = __nested_webpack_require_859409__(7792);
|
190138
|
+
const clone_env_1 = __nested_webpack_require_859409__(6548);
|
190102
190139
|
// Only allow one `runNpmInstall()` invocation to run concurrently
|
190103
190140
|
const runNpmInstallSema = new async_sema_1.default(1);
|
190104
190141
|
function spawnAsync(command, args, opts = {}) {
|
@@ -190207,7 +190244,7 @@ async function runShellScript(fsPath, args = [], spawnOpts) {
|
|
190207
190244
|
exports.runShellScript = runShellScript;
|
190208
190245
|
function getSpawnOptions(meta, nodeVersion) {
|
190209
190246
|
const opts = {
|
190210
|
-
env:
|
190247
|
+
env: clone_env_1.cloneEnv(process.env),
|
190211
190248
|
};
|
190212
190249
|
if (!meta.isDev) {
|
190213
190250
|
let found = false;
|
@@ -190378,7 +190415,7 @@ async function runNpmInstall(destPath, args = [], spawnOpts, meta, nodeVersion)
|
|
190378
190415
|
console.log('Installing dependencies...');
|
190379
190416
|
debug_1.default(`Installing to ${destPath}`);
|
190380
190417
|
const opts = { cwd: destPath, ...spawnOpts };
|
190381
|
-
const env =
|
190418
|
+
const env = clone_env_1.cloneEnv(opts.env || process.env);
|
190382
190419
|
delete env.NODE_ENV;
|
190383
190420
|
opts.env = getEnvForPackageManager({
|
190384
190421
|
cliType,
|
@@ -190392,6 +190429,17 @@ async function runNpmInstall(destPath, args = [], spawnOpts, meta, nodeVersion)
|
|
190392
190429
|
commandArgs = args
|
190393
190430
|
.filter(a => a !== '--prefer-offline')
|
190394
190431
|
.concat(['install', '--no-audit', '--unsafe-perm']);
|
190432
|
+
if (nodeVersion?.major === 16 &&
|
190433
|
+
spawnOpts?.env?.VERCEL_NPM_LEGACY_PEER_DEPS === '1' &&
|
190434
|
+
spawnOpts?.env?.ENABLE_EXPERIMENTAL_COREPACK !== '1') {
|
190435
|
+
// Starting in npm@8.6.0, if you ran `npm install --legacy-peer-deps`,
|
190436
|
+
// and then later ran `npm install`, it would fail. So the only way
|
190437
|
+
// to safely upgrade npm from npm@8.5.0 is to set this flag. The docs
|
190438
|
+
// say this flag is not recommended so its is behind a feature flag
|
190439
|
+
// so we can remove it in node@18, which can introduce breaking changes.
|
190440
|
+
// See https://docs.npmjs.com/cli/v8/using-npm/config#legacy-peer-deps
|
190441
|
+
commandArgs.push('--legacy-peer-deps');
|
190442
|
+
}
|
190395
190443
|
}
|
190396
190444
|
else if (cliType === 'pnpm') {
|
190397
190445
|
// PNPM's install command is similar to NPM's but without the audit nonsense
|
@@ -190485,10 +190533,7 @@ async function runPackageJsonScript(destPath, scriptNames, spawnOpts) {
|
|
190485
190533
|
cliType,
|
190486
190534
|
lockfileVersion,
|
190487
190535
|
nodeVersion: undefined,
|
190488
|
-
env:
|
190489
|
-
...process.env,
|
190490
|
-
...spawnOpts?.env,
|
190491
|
-
},
|
190536
|
+
env: clone_env_1.cloneEnv(process.env, spawnOpts?.env),
|
190492
190537
|
}),
|
190493
190538
|
};
|
190494
190539
|
if (cliType === 'npm') {
|
@@ -190547,7 +190592,7 @@ exports.installDependencies = util_1.deprecate(runNpmInstall, 'installDependenci
|
|
190547
190592
|
/***/ }),
|
190548
190593
|
|
190549
190594
|
/***/ 2560:
|
190550
|
-
/***/ (function(__unused_webpack_module, exports,
|
190595
|
+
/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_878974__) {
|
190551
190596
|
|
190552
190597
|
"use strict";
|
190553
190598
|
|
@@ -190555,7 +190600,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
190555
190600
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
190556
190601
|
};
|
190557
190602
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
190558
|
-
const end_of_stream_1 = __importDefault(
|
190603
|
+
const end_of_stream_1 = __importDefault(__nested_webpack_require_878974__(687));
|
190559
190604
|
function streamToBuffer(stream) {
|
190560
190605
|
return new Promise((resolve, reject) => {
|
190561
190606
|
const buffers = [];
|
@@ -190584,7 +190629,7 @@ exports.default = streamToBuffer;
|
|
190584
190629
|
/***/ }),
|
190585
190630
|
|
190586
190631
|
/***/ 1148:
|
190587
|
-
/***/ (function(__unused_webpack_module, exports,
|
190632
|
+
/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_880042__) {
|
190588
190633
|
|
190589
190634
|
"use strict";
|
190590
190635
|
|
@@ -190592,9 +190637,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
190592
190637
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
190593
190638
|
};
|
190594
190639
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
190595
|
-
const path_1 = __importDefault(
|
190596
|
-
const fs_extra_1 = __importDefault(
|
190597
|
-
const ignore_1 = __importDefault(
|
190640
|
+
const path_1 = __importDefault(__nested_webpack_require_880042__(5622));
|
190641
|
+
const fs_extra_1 = __importDefault(__nested_webpack_require_880042__(5392));
|
190642
|
+
const ignore_1 = __importDefault(__nested_webpack_require_880042__(3556));
|
190598
190643
|
function isCodedError(error) {
|
190599
190644
|
return (error !== null &&
|
190600
190645
|
error !== undefined &&
|
@@ -190651,13 +190696,13 @@ exports.default = default_1;
|
|
190651
190696
|
/***/ }),
|
190652
190697
|
|
190653
190698
|
/***/ 4678:
|
190654
|
-
/***/ ((__unused_webpack_module, exports,
|
190699
|
+
/***/ ((__unused_webpack_module, exports, __nested_webpack_require_882416__) => {
|
190655
190700
|
|
190656
190701
|
"use strict";
|
190657
190702
|
|
190658
190703
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
190659
190704
|
exports.getPlatformEnv = void 0;
|
190660
|
-
const errors_1 =
|
190705
|
+
const errors_1 = __nested_webpack_require_882416__(3983);
|
190661
190706
|
/**
|
190662
190707
|
* Helper function to support both `VERCEL_` and legacy `NOW_` env vars.
|
190663
190708
|
* Throws an error if *both* env vars are defined.
|
@@ -190721,7 +190766,7 @@ exports.getPrefixedEnvVars = getPrefixedEnvVars;
|
|
190721
190766
|
/***/ }),
|
190722
190767
|
|
190723
190768
|
/***/ 2855:
|
190724
|
-
/***/ (function(__unused_webpack_module, exports,
|
190769
|
+
/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_884675__) {
|
190725
190770
|
|
190726
190771
|
"use strict";
|
190727
190772
|
|
@@ -190751,32 +190796,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
190751
190796
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
190752
190797
|
};
|
190753
190798
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
190754
|
-
exports.normalizePath = exports.readConfigFile = exports.EdgeFunction = exports.getIgnoreFilter = exports.scanParentDirs = exports.getLambdaOptionsFromFunction = exports.isSymbolicLink = exports.debug = exports.streamToBuffer = exports.getPrefixedEnvVars = exports.getPlatformEnv = exports.getSpawnOptions = exports.getDiscontinuedNodeVersions = exports.getLatestNodeVersion = exports.getNodeVersion = exports.getEnvForPackageManager = exports.runCustomInstallCommand = 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.downloadFile = exports.download = exports.Prerender = exports.createLambda = exports.NodejsLambda = exports.Lambda = exports.FileRef = exports.FileFsRef = exports.FileBlob = void 0;
|
190755
|
-
const file_blob_1 = __importDefault(
|
190799
|
+
exports.normalizePath = exports.readConfigFile = exports.EdgeFunction = exports.cloneEnv = exports.getIgnoreFilter = exports.scanParentDirs = exports.getLambdaOptionsFromFunction = exports.isSymbolicLink = exports.debug = exports.streamToBuffer = exports.getPrefixedEnvVars = exports.getPlatformEnv = exports.getSpawnOptions = exports.getDiscontinuedNodeVersions = exports.getLatestNodeVersion = exports.getNodeVersion = exports.getEnvForPackageManager = exports.runCustomInstallCommand = 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.downloadFile = exports.download = exports.Prerender = exports.createLambda = exports.NodejsLambda = exports.Lambda = exports.FileRef = exports.FileFsRef = exports.FileBlob = void 0;
|
190800
|
+
const file_blob_1 = __importDefault(__nested_webpack_require_884675__(2397));
|
190756
190801
|
exports.FileBlob = file_blob_1.default;
|
190757
|
-
const file_fs_ref_1 = __importDefault(
|
190802
|
+
const file_fs_ref_1 = __importDefault(__nested_webpack_require_884675__(9331));
|
190758
190803
|
exports.FileFsRef = file_fs_ref_1.default;
|
190759
|
-
const file_ref_1 = __importDefault(
|
190804
|
+
const file_ref_1 = __importDefault(__nested_webpack_require_884675__(5187));
|
190760
190805
|
exports.FileRef = file_ref_1.default;
|
190761
|
-
const lambda_1 =
|
190806
|
+
const lambda_1 = __nested_webpack_require_884675__(6721);
|
190762
190807
|
Object.defineProperty(exports, "Lambda", ({ enumerable: true, get: function () { return lambda_1.Lambda; } }));
|
190763
190808
|
Object.defineProperty(exports, "createLambda", ({ enumerable: true, get: function () { return lambda_1.createLambda; } }));
|
190764
190809
|
Object.defineProperty(exports, "getLambdaOptionsFromFunction", ({ enumerable: true, get: function () { return lambda_1.getLambdaOptionsFromFunction; } }));
|
190765
|
-
const nodejs_lambda_1 =
|
190810
|
+
const nodejs_lambda_1 = __nested_webpack_require_884675__(7049);
|
190766
190811
|
Object.defineProperty(exports, "NodejsLambda", ({ enumerable: true, get: function () { return nodejs_lambda_1.NodejsLambda; } }));
|
190767
|
-
const prerender_1 =
|
190812
|
+
const prerender_1 = __nested_webpack_require_884675__(2850);
|
190768
190813
|
Object.defineProperty(exports, "Prerender", ({ enumerable: true, get: function () { return prerender_1.Prerender; } }));
|
190769
|
-
const download_1 = __importStar(
|
190814
|
+
const download_1 = __importStar(__nested_webpack_require_884675__(1611));
|
190770
190815
|
exports.download = download_1.default;
|
190771
190816
|
Object.defineProperty(exports, "downloadFile", ({ enumerable: true, get: function () { return download_1.downloadFile; } }));
|
190772
190817
|
Object.defineProperty(exports, "isSymbolicLink", ({ enumerable: true, get: function () { return download_1.isSymbolicLink; } }));
|
190773
|
-
const get_writable_directory_1 = __importDefault(
|
190818
|
+
const get_writable_directory_1 = __importDefault(__nested_webpack_require_884675__(3838));
|
190774
190819
|
exports.getWriteableDirectory = get_writable_directory_1.default;
|
190775
|
-
const glob_1 = __importDefault(
|
190820
|
+
const glob_1 = __importDefault(__nested_webpack_require_884675__(4240));
|
190776
190821
|
exports.glob = glob_1.default;
|
190777
|
-
const rename_1 = __importDefault(
|
190822
|
+
const rename_1 = __importDefault(__nested_webpack_require_884675__(6718));
|
190778
190823
|
exports.rename = rename_1.default;
|
190779
|
-
const run_user_scripts_1 =
|
190824
|
+
const run_user_scripts_1 = __nested_webpack_require_884675__(1442);
|
190780
190825
|
Object.defineProperty(exports, "execAsync", ({ enumerable: true, get: function () { return run_user_scripts_1.execAsync; } }));
|
190781
190826
|
Object.defineProperty(exports, "spawnAsync", ({ enumerable: true, get: function () { return run_user_scripts_1.spawnAsync; } }));
|
190782
190827
|
Object.defineProperty(exports, "execCommand", ({ enumerable: true, get: function () { return run_user_scripts_1.execCommand; } }));
|
@@ -190795,35 +190840,37 @@ Object.defineProperty(exports, "getNodeVersion", ({ enumerable: true, get: funct
|
|
190795
190840
|
Object.defineProperty(exports, "getSpawnOptions", ({ enumerable: true, get: function () { return run_user_scripts_1.getSpawnOptions; } }));
|
190796
190841
|
Object.defineProperty(exports, "getNodeBinPath", ({ enumerable: true, get: function () { return run_user_scripts_1.getNodeBinPath; } }));
|
190797
190842
|
Object.defineProperty(exports, "scanParentDirs", ({ enumerable: true, get: function () { return run_user_scripts_1.scanParentDirs; } }));
|
190798
|
-
const node_version_1 =
|
190843
|
+
const node_version_1 = __nested_webpack_require_884675__(7903);
|
190799
190844
|
Object.defineProperty(exports, "getLatestNodeVersion", ({ enumerable: true, get: function () { return node_version_1.getLatestNodeVersion; } }));
|
190800
190845
|
Object.defineProperty(exports, "getDiscontinuedNodeVersions", ({ enumerable: true, get: function () { return node_version_1.getDiscontinuedNodeVersions; } }));
|
190801
|
-
const stream_to_buffer_1 = __importDefault(
|
190846
|
+
const stream_to_buffer_1 = __importDefault(__nested_webpack_require_884675__(2560));
|
190802
190847
|
exports.streamToBuffer = stream_to_buffer_1.default;
|
190803
|
-
const debug_1 = __importDefault(
|
190848
|
+
const debug_1 = __importDefault(__nested_webpack_require_884675__(1868));
|
190804
190849
|
exports.debug = debug_1.default;
|
190805
|
-
const get_ignore_filter_1 = __importDefault(
|
190850
|
+
const get_ignore_filter_1 = __importDefault(__nested_webpack_require_884675__(1148));
|
190806
190851
|
exports.getIgnoreFilter = get_ignore_filter_1.default;
|
190807
|
-
const get_platform_env_1 =
|
190852
|
+
const get_platform_env_1 = __nested_webpack_require_884675__(4678);
|
190808
190853
|
Object.defineProperty(exports, "getPlatformEnv", ({ enumerable: true, get: function () { return get_platform_env_1.getPlatformEnv; } }));
|
190809
|
-
const get_prefixed_env_vars_1 =
|
190854
|
+
const get_prefixed_env_vars_1 = __nested_webpack_require_884675__(6838);
|
190810
190855
|
Object.defineProperty(exports, "getPrefixedEnvVars", ({ enumerable: true, get: function () { return get_prefixed_env_vars_1.getPrefixedEnvVars; } }));
|
190811
|
-
|
190856
|
+
const clone_env_1 = __nested_webpack_require_884675__(6548);
|
190857
|
+
Object.defineProperty(exports, "cloneEnv", ({ enumerable: true, get: function () { return clone_env_1.cloneEnv; } }));
|
190858
|
+
var edge_function_1 = __nested_webpack_require_884675__(8038);
|
190812
190859
|
Object.defineProperty(exports, "EdgeFunction", ({ enumerable: true, get: function () { return edge_function_1.EdgeFunction; } }));
|
190813
|
-
var read_config_file_1 =
|
190860
|
+
var read_config_file_1 = __nested_webpack_require_884675__(7792);
|
190814
190861
|
Object.defineProperty(exports, "readConfigFile", ({ enumerable: true, get: function () { return read_config_file_1.readConfigFile; } }));
|
190815
|
-
var normalize_path_1 =
|
190862
|
+
var normalize_path_1 = __nested_webpack_require_884675__(6261);
|
190816
190863
|
Object.defineProperty(exports, "normalizePath", ({ enumerable: true, get: function () { return normalize_path_1.normalizePath; } }));
|
190817
|
-
__exportStar(
|
190818
|
-
__exportStar(
|
190819
|
-
__exportStar(
|
190820
|
-
__exportStar(
|
190864
|
+
__exportStar(__nested_webpack_require_884675__(2564), exports);
|
190865
|
+
__exportStar(__nested_webpack_require_884675__(2416), exports);
|
190866
|
+
__exportStar(__nested_webpack_require_884675__(5748), exports);
|
190867
|
+
__exportStar(__nested_webpack_require_884675__(3983), exports);
|
190821
190868
|
|
190822
190869
|
|
190823
190870
|
/***/ }),
|
190824
190871
|
|
190825
190872
|
/***/ 6721:
|
190826
|
-
/***/ (function(__unused_webpack_module, exports,
|
190873
|
+
/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_893493__) {
|
190827
190874
|
|
190828
190875
|
"use strict";
|
190829
190876
|
|
@@ -190832,13 +190879,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
190832
190879
|
};
|
190833
190880
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
190834
190881
|
exports.getLambdaOptionsFromFunction = exports.createZip = exports.createLambda = exports.Lambda = void 0;
|
190835
|
-
const assert_1 = __importDefault(
|
190836
|
-
const async_sema_1 = __importDefault(
|
190837
|
-
const yazl_1 =
|
190838
|
-
const minimatch_1 = __importDefault(
|
190839
|
-
const fs_extra_1 =
|
190840
|
-
const download_1 =
|
190841
|
-
const stream_to_buffer_1 = __importDefault(
|
190882
|
+
const assert_1 = __importDefault(__nested_webpack_require_893493__(2357));
|
190883
|
+
const async_sema_1 = __importDefault(__nested_webpack_require_893493__(5758));
|
190884
|
+
const yazl_1 = __nested_webpack_require_893493__(1223);
|
190885
|
+
const minimatch_1 = __importDefault(__nested_webpack_require_893493__(9566));
|
190886
|
+
const fs_extra_1 = __nested_webpack_require_893493__(5392);
|
190887
|
+
const download_1 = __nested_webpack_require_893493__(1611);
|
190888
|
+
const stream_to_buffer_1 = __importDefault(__nested_webpack_require_893493__(2560));
|
190842
190889
|
class Lambda {
|
190843
190890
|
constructor(opts) {
|
190844
190891
|
const { handler, runtime, maxDuration, memory, environment = {}, allowQuery, regions, supportsMultiPayloads, supportsWrapper, } = opts;
|
@@ -190964,13 +191011,13 @@ exports.getLambdaOptionsFromFunction = getLambdaOptionsFromFunction;
|
|
190964
191011
|
/***/ }),
|
190965
191012
|
|
190966
191013
|
/***/ 7049:
|
190967
|
-
/***/ ((__unused_webpack_module, exports,
|
191014
|
+
/***/ ((__unused_webpack_module, exports, __nested_webpack_require_899176__) => {
|
190968
191015
|
|
190969
191016
|
"use strict";
|
190970
191017
|
|
190971
191018
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
190972
191019
|
exports.NodejsLambda = void 0;
|
190973
|
-
const lambda_1 =
|
191020
|
+
const lambda_1 = __nested_webpack_require_899176__(6721);
|
190974
191021
|
class NodejsLambda extends lambda_1.Lambda {
|
190975
191022
|
constructor({ shouldAddHelpers, shouldAddSourcemapSupport, awsLambdaHandler, ...opts }) {
|
190976
191023
|
super(opts);
|
@@ -191107,13 +191154,13 @@ exports.buildsSchema = {
|
|
191107
191154
|
/***/ }),
|
191108
191155
|
|
191109
191156
|
/***/ 2564:
|
191110
|
-
/***/ ((__unused_webpack_module, exports,
|
191157
|
+
/***/ ((__unused_webpack_module, exports, __nested_webpack_require_903521__) => {
|
191111
191158
|
|
191112
191159
|
"use strict";
|
191113
191160
|
|
191114
191161
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
191115
191162
|
exports.shouldServe = void 0;
|
191116
|
-
const path_1 =
|
191163
|
+
const path_1 = __nested_webpack_require_903521__(5622);
|
191117
191164
|
const shouldServe = ({ entrypoint, files, requestPath, }) => {
|
191118
191165
|
requestPath = requestPath.replace(/\/$/, ''); // sanitize trailing '/'
|
191119
191166
|
entrypoint = entrypoint.replace(/\\/, '/'); // windows compatibility
|
@@ -191358,7 +191405,7 @@ module.exports = __webpack_require__(78761);
|
|
191358
191405
|
/******/ var __webpack_module_cache__ = {};
|
191359
191406
|
/******/
|
191360
191407
|
/******/ // The require function
|
191361
|
-
/******/ function
|
191408
|
+
/******/ function __nested_webpack_require_1280886__(moduleId) {
|
191362
191409
|
/******/ // Check if module is in cache
|
191363
191410
|
/******/ if(__webpack_module_cache__[moduleId]) {
|
191364
191411
|
/******/ return __webpack_module_cache__[moduleId].exports;
|
@@ -191373,7 +191420,7 @@ module.exports = __webpack_require__(78761);
|
|
191373
191420
|
/******/ // Execute the module function
|
191374
191421
|
/******/ var threw = true;
|
191375
191422
|
/******/ try {
|
191376
|
-
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports,
|
191423
|
+
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_1280886__);
|
191377
191424
|
/******/ threw = false;
|
191378
191425
|
/******/ } finally {
|
191379
191426
|
/******/ if(threw) delete __webpack_module_cache__[moduleId];
|
@@ -191386,11 +191433,11 @@ module.exports = __webpack_require__(78761);
|
|
191386
191433
|
/************************************************************************/
|
191387
191434
|
/******/ /* webpack/runtime/compat */
|
191388
191435
|
/******/
|
191389
|
-
/******/
|
191436
|
+
/******/ __nested_webpack_require_1280886__.ab = __dirname + "/";/************************************************************************/
|
191390
191437
|
/******/ // module exports must be returned from runtime so entry inlining is disabled
|
191391
191438
|
/******/ // startup
|
191392
191439
|
/******/ // Load entry module and return exports
|
191393
|
-
/******/ return
|
191440
|
+
/******/ return __nested_webpack_require_1280886__(2855);
|
191394
191441
|
/******/ })()
|
191395
191442
|
;
|
191396
191443
|
|
@@ -209311,7 +209358,7 @@ exports.frameworks = [
|
|
209311
209358
|
name: 'Blitz.js',
|
209312
209359
|
slug: 'blitzjs',
|
209313
209360
|
demo: 'https://blitz-template.vercel.app',
|
209314
|
-
logo: 'https://
|
209361
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/blitz.svg',
|
209315
209362
|
tagline: 'Blitz.js: The Fullstack React Framework',
|
209316
209363
|
description: 'A brand new Blitz.js app - the result of running `npx blitz new`.',
|
209317
209364
|
website: 'https://blitzjs.com',
|
@@ -209346,8 +209393,8 @@ exports.frameworks = [
|
|
209346
209393
|
name: 'Next.js',
|
209347
209394
|
slug: 'nextjs',
|
209348
209395
|
demo: 'https://nextjs-template.vercel.app',
|
209349
|
-
logo: 'https://
|
209350
|
-
darkModeLogo: 'https://
|
209396
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/next.svg',
|
209397
|
+
darkModeLogo: 'https://api-frameworks.vercel.sh/framework-logos/next-dark.svg',
|
209351
209398
|
screenshot: 'https://assets.vercel.com/image/upload/v1647366075/front/import/nextjs.png',
|
209352
209399
|
tagline: 'Next.js makes you productive with React instantly — whether you want to build static or dynamic sites.',
|
209353
209400
|
description: 'A Next.js app and a Serverless Function API.',
|
@@ -209392,7 +209439,7 @@ exports.frameworks = [
|
|
209392
209439
|
name: 'Gatsby.js',
|
209393
209440
|
slug: 'gatsby',
|
209394
209441
|
demo: 'https://gatsby.vercel.app',
|
209395
|
-
logo: 'https://
|
209442
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/gatsby.svg',
|
209396
209443
|
tagline: 'Gatsby helps developers build blazing fast websites and apps with React.',
|
209397
209444
|
description: 'A Gatsby starter app with an API Route.',
|
209398
209445
|
website: 'https://gatsbyjs.org',
|
@@ -209474,7 +209521,7 @@ exports.frameworks = [
|
|
209474
209521
|
name: 'Remix',
|
209475
209522
|
slug: 'remix',
|
209476
209523
|
demo: 'https://remix-run-template.vercel.app',
|
209477
|
-
logo: 'https://
|
209524
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/remix-no-shadow.svg',
|
209478
209525
|
tagline: 'Build Better Websites',
|
209479
209526
|
description: 'A new Remix app — the result of running `npx create-remix`.',
|
209480
209527
|
website: 'https://remix.run',
|
@@ -209511,8 +209558,8 @@ exports.frameworks = [
|
|
209511
209558
|
name: 'Astro',
|
209512
209559
|
slug: 'astro',
|
209513
209560
|
demo: 'https://astro-template.vercel.app',
|
209514
|
-
logo: 'https://
|
209515
|
-
darkModeLogo: 'https://
|
209561
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/astro.svg',
|
209562
|
+
darkModeLogo: 'https://api-frameworks.vercel.sh/framework-logos/astro-dark.svg',
|
209516
209563
|
tagline: 'Astro is a new kind of static site builder for the modern web. Powerful developer experience meets lightweight output.',
|
209517
209564
|
description: 'An Astro site, using the basics starter kit.',
|
209518
209565
|
website: 'https://astro.build',
|
@@ -209562,7 +209609,7 @@ exports.frameworks = [
|
|
209562
209609
|
name: 'Hexo',
|
209563
209610
|
slug: 'hexo',
|
209564
209611
|
demo: 'https://hexo-template.vercel.app',
|
209565
|
-
logo: 'https://
|
209612
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/hexo.svg',
|
209566
209613
|
tagline: 'Hexo is a fast, simple & powerful blog framework powered by Node.js.',
|
209567
209614
|
description: 'A Hexo site, created with the Hexo CLI.',
|
209568
209615
|
website: 'https://hexo.io',
|
@@ -209597,7 +209644,7 @@ exports.frameworks = [
|
|
209597
209644
|
name: 'Eleventy',
|
209598
209645
|
slug: 'eleventy',
|
209599
209646
|
demo: 'https://eleventy-template.vercel.app',
|
209600
|
-
logo: 'https://
|
209647
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/eleventy.svg',
|
209601
209648
|
tagline: '11ty is a simpler static site generator written in JavaScript, created to be an alternative to Jekyll.',
|
209602
209649
|
description: 'An Eleventy site, created with npm init.',
|
209603
209650
|
website: 'https://www.11ty.dev',
|
@@ -209633,7 +209680,7 @@ exports.frameworks = [
|
|
209633
209680
|
name: 'Docusaurus 2',
|
209634
209681
|
slug: 'docusaurus-2',
|
209635
209682
|
demo: 'https://docusaurus-2-template.vercel.app',
|
209636
|
-
logo: 'https://
|
209683
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/docusaurus.svg',
|
209637
209684
|
tagline: 'Docusaurus makes it easy to maintain Open Source documentation websites.',
|
209638
209685
|
description: 'A static Docusaurus site that makes it easy to maintain OSS documentation.',
|
209639
209686
|
website: 'https://v2.docusaurus.io',
|
@@ -209717,7 +209764,7 @@ exports.frameworks = [
|
|
209717
209764
|
name: 'Docusaurus 1',
|
209718
209765
|
slug: 'docusaurus',
|
209719
209766
|
demo: 'https://docusaurus-template.vercel.app',
|
209720
|
-
logo: 'https://
|
209767
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/docusaurus.svg',
|
209721
209768
|
tagline: 'Docusaurus makes it easy to maintain Open Source documentation websites.',
|
209722
209769
|
description: 'A static Docusaurus site that makes it easy to maintain OSS documentation.',
|
209723
209770
|
website: 'https://docusaurus.io/',
|
@@ -209766,7 +209813,7 @@ exports.frameworks = [
|
|
209766
209813
|
name: 'Preact',
|
209767
209814
|
slug: 'preact',
|
209768
209815
|
demo: 'https://preact-template.vercel.app',
|
209769
|
-
logo: 'https://
|
209816
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/preact.svg',
|
209770
209817
|
tagline: 'Preact is a fast 3kB alternative to React with the same modern API.',
|
209771
209818
|
description: 'A Preact app, created with the Preact CLI.',
|
209772
209819
|
website: 'https://preactjs.com',
|
@@ -209810,7 +209857,7 @@ exports.frameworks = [
|
|
209810
209857
|
name: 'SolidStart',
|
209811
209858
|
slug: 'solidstart',
|
209812
209859
|
demo: 'https://solid-start-template.vercel.app',
|
209813
|
-
logo: 'https://
|
209860
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/solid.svg',
|
209814
209861
|
tagline: 'Simple and performant reactivity for building user interfaces.',
|
209815
209862
|
description: 'A Solid app, created with SolidStart.',
|
209816
209863
|
website: 'https://solidjs.com',
|
@@ -209848,7 +209895,7 @@ exports.frameworks = [
|
|
209848
209895
|
name: 'Dojo',
|
209849
209896
|
slug: 'dojo',
|
209850
209897
|
demo: 'https://dojo-template.vercel.app',
|
209851
|
-
logo: 'https://
|
209898
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/dojo.png',
|
209852
209899
|
tagline: 'Dojo is a modern progressive, TypeScript first framework.',
|
209853
209900
|
description: "A Dojo app, created with the Dojo CLI's cli-create-app command.",
|
209854
209901
|
website: 'https://dojo.io',
|
@@ -209908,7 +209955,7 @@ exports.frameworks = [
|
|
209908
209955
|
name: 'Ember.js',
|
209909
209956
|
slug: 'ember',
|
209910
209957
|
demo: 'https://ember-template.vercel.app',
|
209911
|
-
logo: 'https://
|
209958
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/ember.svg',
|
209912
209959
|
tagline: 'Ember.js helps webapp developers be more productive out of the box.',
|
209913
209960
|
description: 'An Ember app, created with the Ember CLI.',
|
209914
209961
|
website: 'https://emberjs.com/',
|
@@ -209952,7 +209999,7 @@ exports.frameworks = [
|
|
209952
209999
|
name: 'Vue.js',
|
209953
210000
|
slug: 'vue',
|
209954
210001
|
demo: 'https://vue-template.vercel.app',
|
209955
|
-
logo: 'https://
|
210002
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/vue.svg',
|
209956
210003
|
tagline: 'Vue.js is a versatile JavaScript framework that is as approachable as it is performant.',
|
209957
210004
|
description: 'A Vue.js app, created with the Vue CLI.',
|
209958
210005
|
website: 'https://vuejs.org',
|
@@ -210007,7 +210054,7 @@ exports.frameworks = [
|
|
210007
210054
|
name: 'Scully',
|
210008
210055
|
slug: 'scully',
|
210009
210056
|
demo: 'https://scully-template.vercel.app',
|
210010
|
-
logo: 'https://
|
210057
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/scullyio-logo.png',
|
210011
210058
|
tagline: 'Scully is a static site generator for Angular.',
|
210012
210059
|
description: 'The Static Site Generator for Angular apps.',
|
210013
210060
|
website: 'https://github.com/scullyio/scully',
|
@@ -210042,7 +210089,7 @@ exports.frameworks = [
|
|
210042
210089
|
name: 'Ionic Angular',
|
210043
210090
|
slug: 'ionic-angular',
|
210044
210091
|
demo: 'https://ionic-angular-template.vercel.app',
|
210045
|
-
logo: 'https://
|
210092
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/ionic.svg',
|
210046
210093
|
tagline: 'Ionic Angular allows you to build mobile PWAs with Angular and the Ionic Framework.',
|
210047
210094
|
description: 'An Ionic Angular site, created with the Ionic CLI.',
|
210048
210095
|
website: 'https://ionicframework.com',
|
@@ -210085,7 +210132,7 @@ exports.frameworks = [
|
|
210085
210132
|
name: 'Angular',
|
210086
210133
|
slug: 'angular',
|
210087
210134
|
demo: 'https://angular-template.vercel.app',
|
210088
|
-
logo: 'https://
|
210135
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/angular.svg',
|
210089
210136
|
tagline: 'Angular is a TypeScript-based cross-platform framework from Google.',
|
210090
210137
|
description: 'An Angular app, created with the Angular CLI.',
|
210091
210138
|
website: 'https://angular.io',
|
@@ -210143,7 +210190,7 @@ exports.frameworks = [
|
|
210143
210190
|
name: 'Polymer',
|
210144
210191
|
slug: 'polymer',
|
210145
210192
|
demo: 'https://polymer-template.vercel.app',
|
210146
|
-
logo: 'https://
|
210193
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/polymer.svg',
|
210147
210194
|
tagline: 'Polymer is an open-source webapps library from Google, for building using Web Components.',
|
210148
210195
|
description: 'A Polymer app, created with the Polymer CLI.',
|
210149
210196
|
website: 'https://www.polymer-project.org/',
|
@@ -210199,7 +210246,7 @@ exports.frameworks = [
|
|
210199
210246
|
name: 'Svelte',
|
210200
210247
|
slug: 'svelte',
|
210201
210248
|
demo: 'https://svelte.vercel.app',
|
210202
|
-
logo: 'https://
|
210249
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/svelte.svg',
|
210203
210250
|
tagline: 'Svelte lets you write high performance reactive apps with significantly less boilerplate.',
|
210204
210251
|
description: 'A basic Svelte app using the default template.',
|
210205
210252
|
website: 'https://svelte.dev',
|
@@ -210247,7 +210294,7 @@ exports.frameworks = [
|
|
210247
210294
|
name: 'SvelteKit',
|
210248
210295
|
slug: 'sveltekit',
|
210249
210296
|
demo: 'https://sveltekit-template.vercel.app',
|
210250
|
-
logo: 'https://
|
210297
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/svelte.svg',
|
210251
210298
|
screenshot: 'https://assets.vercel.com/image/upload/v1647366075/front/import/sveltekit.png',
|
210252
210299
|
tagline: 'SvelteKit is a framework for building web applications of all sizes.',
|
210253
210300
|
description: 'A SvelteKit app optimized Edge-first.',
|
@@ -210283,7 +210330,7 @@ exports.frameworks = [
|
|
210283
210330
|
name: 'Ionic React',
|
210284
210331
|
slug: 'ionic-react',
|
210285
210332
|
demo: 'https://ionic-react-template.vercel.app',
|
210286
|
-
logo: 'https://
|
210333
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/ionic.svg',
|
210287
210334
|
tagline: 'Ionic React allows you to build mobile PWAs with React and the Ionic Framework.',
|
210288
210335
|
description: 'An Ionic React site, created with the Ionic CLI.',
|
210289
210336
|
website: 'https://ionicframework.com',
|
@@ -210342,7 +210389,7 @@ exports.frameworks = [
|
|
210342
210389
|
name: 'Create React App',
|
210343
210390
|
slug: 'create-react-app',
|
210344
210391
|
demo: 'https://create-react-template.vercel.app',
|
210345
|
-
logo: 'https://
|
210392
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/react.svg',
|
210346
210393
|
tagline: 'Create React App allows you to get going with React in no time.',
|
210347
210394
|
description: 'A client-side React app created with create-react-app.',
|
210348
210395
|
website: 'https://create-react-app.dev',
|
@@ -210407,7 +210454,7 @@ exports.frameworks = [
|
|
210407
210454
|
name: 'Gridsome',
|
210408
210455
|
slug: 'gridsome',
|
210409
210456
|
demo: 'https://gridsome-template.vercel.app',
|
210410
|
-
logo: 'https://
|
210457
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/gridsome.svg',
|
210411
210458
|
tagline: 'Gridsome is a Vue.js-powered framework for building websites & apps that are fast by default.',
|
210412
210459
|
description: 'A Gridsome app, created with the Gridsome CLI.',
|
210413
210460
|
website: 'https://gridsome.org/',
|
@@ -210442,7 +210489,7 @@ exports.frameworks = [
|
|
210442
210489
|
name: 'UmiJS',
|
210443
210490
|
slug: 'umijs',
|
210444
210491
|
demo: 'https://umijs-template.vercel.app',
|
210445
|
-
logo: 'https://
|
210492
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/umi.svg',
|
210446
210493
|
tagline: 'UmiJS is an extensible enterprise-level React application framework.',
|
210447
210494
|
description: 'An UmiJS app, created using the Umi CLI.',
|
210448
210495
|
website: 'https://umijs.org',
|
@@ -210486,7 +210533,7 @@ exports.frameworks = [
|
|
210486
210533
|
name: 'Sapper',
|
210487
210534
|
slug: 'sapper',
|
210488
210535
|
demo: 'https://sapper-template.vercel.app',
|
210489
|
-
logo: 'https://
|
210536
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/svelte.svg',
|
210490
210537
|
tagline: 'Sapper is a framework for building high-performance universal web apps with Svelte.',
|
210491
210538
|
description: 'A Sapper app, using the Sapper template.',
|
210492
210539
|
website: 'https://sapper.svelte.dev',
|
@@ -210521,7 +210568,7 @@ exports.frameworks = [
|
|
210521
210568
|
name: 'Saber',
|
210522
210569
|
slug: 'saber',
|
210523
210570
|
demo: 'https://saber-template.vercel.app',
|
210524
|
-
logo: 'https://
|
210571
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/saber.svg',
|
210525
210572
|
tagline: 'Saber is a framework for building static sites in Vue.js that supports data from any source.',
|
210526
210573
|
description: 'A Saber site, created with npm init.',
|
210527
210574
|
website: 'https://saber.land/',
|
@@ -210570,7 +210617,7 @@ exports.frameworks = [
|
|
210570
210617
|
name: 'Stencil',
|
210571
210618
|
slug: 'stencil',
|
210572
210619
|
demo: 'https://stencil.vercel.app',
|
210573
|
-
logo: 'https://
|
210620
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/stencil.svg',
|
210574
210621
|
tagline: 'Stencil is a powerful toolchain for building Progressive Web Apps and Design Systems.',
|
210575
210622
|
description: 'A Stencil site, created with the Stencil CLI.',
|
210576
210623
|
website: 'https://stenciljs.com/',
|
@@ -210629,7 +210676,7 @@ exports.frameworks = [
|
|
210629
210676
|
name: 'Nuxt.js',
|
210630
210677
|
slug: 'nuxtjs',
|
210631
210678
|
demo: 'https://nuxtjs-template.vercel.app',
|
210632
|
-
logo: 'https://
|
210679
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/nuxt.svg',
|
210633
210680
|
screenshot: 'https://assets.vercel.com/image/upload/v1647366075/front/import/nuxtjs.png',
|
210634
210681
|
tagline: 'Nuxt.js is the web comprehensive framework that lets you dream big with Vue.js.',
|
210635
210682
|
description: 'A Nuxt.js app, bootstrapped with create-nuxt-app.',
|
@@ -210686,7 +210733,7 @@ exports.frameworks = [
|
|
210686
210733
|
name: 'RedwoodJS',
|
210687
210734
|
slug: 'redwoodjs',
|
210688
210735
|
demo: 'https://redwood-template.vercel.app',
|
210689
|
-
logo: 'https://
|
210736
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/redwoodjs.svg',
|
210690
210737
|
tagline: 'RedwoodJS is a full-stack framework for the Jamstack.',
|
210691
210738
|
description: 'A RedwoodJS app, bootstraped with create-redwood-app.',
|
210692
210739
|
website: 'https://redwoodjs.com',
|
@@ -210722,7 +210769,7 @@ exports.frameworks = [
|
|
210722
210769
|
name: 'Hugo',
|
210723
210770
|
slug: 'hugo',
|
210724
210771
|
demo: 'https://hugo-template.vercel.app',
|
210725
|
-
logo: 'https://
|
210772
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/hugo.svg',
|
210726
210773
|
tagline: 'Hugo is the world’s fastest framework for building websites, written in Go.',
|
210727
210774
|
description: 'A Hugo site, created with the Hugo CLI.',
|
210728
210775
|
website: 'https://gohugo.io',
|
@@ -210770,7 +210817,7 @@ exports.frameworks = [
|
|
210770
210817
|
name: 'Jekyll',
|
210771
210818
|
slug: 'jekyll',
|
210772
210819
|
demo: 'https://jekyll-template.vercel.app',
|
210773
|
-
logo: 'https://
|
210820
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/jekyll.svg',
|
210774
210821
|
tagline: 'Jekyll makes it super easy to transform your plain text into static websites and blogs.',
|
210775
210822
|
description: 'A Jekyll site, created with the Jekyll CLI.',
|
210776
210823
|
website: 'https://jekyllrb.com/',
|
@@ -210807,7 +210854,7 @@ exports.frameworks = [
|
|
210807
210854
|
name: 'Brunch',
|
210808
210855
|
slug: 'brunch',
|
210809
210856
|
demo: 'https://brunch-template.vercel.app',
|
210810
|
-
logo: 'https://
|
210857
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/brunch.svg',
|
210811
210858
|
tagline: 'Brunch is a fast and simple webapp build tool with seamless incremental compilation for rapid development.',
|
210812
210859
|
description: 'A Brunch app, created with the Brunch CLI.',
|
210813
210860
|
website: 'https://brunch.io/',
|
@@ -210840,7 +210887,7 @@ exports.frameworks = [
|
|
210840
210887
|
name: 'Middleman',
|
210841
210888
|
slug: 'middleman',
|
210842
210889
|
demo: 'https://middleman-template.vercel.app',
|
210843
|
-
logo: 'https://
|
210890
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/middleman.svg',
|
210844
210891
|
tagline: 'Middleman is a static site generator that uses all the shortcuts and tools in modern web development.',
|
210845
210892
|
description: 'A Middleman app, created with the Middleman CLI.',
|
210846
210893
|
website: 'https://middlemanapp.com/',
|
@@ -210874,7 +210921,7 @@ exports.frameworks = [
|
|
210874
210921
|
name: 'Zola',
|
210875
210922
|
slug: 'zola',
|
210876
210923
|
demo: 'https://zola-template.vercel.app',
|
210877
|
-
logo: 'https://
|
210924
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/zola.png',
|
210878
210925
|
tagline: 'Everything you need to make a static site engine in one binary.',
|
210879
210926
|
description: 'A Zola app, created with the "Getting Started" tutorial.',
|
210880
210927
|
website: 'https://www.getzola.org',
|
@@ -210908,7 +210955,7 @@ exports.frameworks = [
|
|
210908
210955
|
name: 'Vite',
|
210909
210956
|
slug: 'vite',
|
210910
210957
|
demo: 'https://vite-vue-template.vercel.app',
|
210911
|
-
logo: 'https://
|
210958
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/vite.svg',
|
210912
210959
|
tagline: 'Vite is a new breed of frontend build tool that significantly improves the frontend development experience.',
|
210913
210960
|
description: 'A Vue.js app, created with Vite.',
|
210914
210961
|
website: 'https://vitejs.dev',
|
@@ -210944,7 +210991,7 @@ exports.frameworks = [
|
|
210944
210991
|
name: 'Parcel',
|
210945
210992
|
slug: 'parcel',
|
210946
210993
|
demo: 'https://parcel-template.vercel.app',
|
210947
|
-
logo: 'https://
|
210994
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/parcel.png',
|
210948
210995
|
tagline: 'Parcel is a zero configuration build tool for the web that scales to projects of any size and complexity.',
|
210949
210996
|
description: 'A vanilla web app built with Parcel.',
|
210950
210997
|
website: 'https://parceljs.org',
|
@@ -210989,7 +211036,7 @@ exports.frameworks = [
|
|
210989
211036
|
name: 'Sanity',
|
210990
211037
|
slug: 'sanity',
|
210991
211038
|
demo: 'https://sanity-studio-template.vercel.app',
|
210992
|
-
logo: 'https://
|
211039
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/sanity.svg',
|
210993
211040
|
tagline: 'The structured content platform.',
|
210994
211041
|
description: 'A Sanity Studio',
|
210995
211042
|
website: 'https://www.sanity.io',
|
@@ -211038,7 +211085,7 @@ exports.frameworks = [
|
|
211038
211085
|
name: 'Hydrogen',
|
211039
211086
|
slug: 'hydrogen',
|
211040
211087
|
demo: 'https://hydrogen-template.vercel.app',
|
211041
|
-
logo: 'https://
|
211088
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/hydrogen.svg',
|
211042
211089
|
tagline: 'React framework for headless commerce',
|
211043
211090
|
description: 'React framework for headless commerce',
|
211044
211091
|
website: 'https://hydrogen.shopify.dev',
|
@@ -211072,7 +211119,7 @@ exports.frameworks = [
|
|
211072
211119
|
{
|
211073
211120
|
name: 'Other',
|
211074
211121
|
slug: null,
|
211075
|
-
logo: 'https://
|
211122
|
+
logo: 'https://api-frameworks.vercel.sh/framework-logos/other.svg',
|
211076
211123
|
description: 'No framework or an unoptimized framework.',
|
211077
211124
|
settings: {
|
211078
211125
|
installCommand: {
|
@@ -216794,6 +216841,9 @@ async function getWorkspacePackagePaths({ fs, workspace, }) {
|
|
216794
216841
|
case 'pnpm':
|
216795
216842
|
results = await getPnpmWorkspacePackagePaths({ fs: workspaceFs });
|
216796
216843
|
break;
|
216844
|
+
case 'nx':
|
216845
|
+
results = await getNxWorkspacePackagePaths({ fs: workspaceFs });
|
216846
|
+
break;
|
216797
216847
|
default:
|
216798
216848
|
throw new Error(`Unknown workspace implementation: ${type}`);
|
216799
216849
|
}
|
@@ -216829,6 +216879,12 @@ async function getPackageJsonWorkspacePackagePaths({ fs, }) {
|
|
216829
216879
|
}
|
216830
216880
|
return getPackagePaths(packages, fs);
|
216831
216881
|
}
|
216882
|
+
async function getNxWorkspacePackagePaths({ fs, }) {
|
216883
|
+
const nxWorkspaceJsonAsBuffer = await fs.readFile('workspace.json');
|
216884
|
+
const { projects } = JSON.parse(nxWorkspaceJsonAsBuffer.toString());
|
216885
|
+
const packages = Object.values(projects);
|
216886
|
+
return getPackagePaths(packages, fs);
|
216887
|
+
}
|
216832
216888
|
async function getPnpmWorkspacePackagePaths({ fs, }) {
|
216833
216889
|
const pnpmWorkspaceAsBuffer = await fs.readFile('pnpm-workspace.yaml');
|
216834
216890
|
const { packages = [] } = js_yaml_1.default.load(pnpmWorkspaceAsBuffer.toString());
|
@@ -216943,6 +216999,18 @@ exports.workspaceManagers = [
|
|
216943
216999
|
],
|
216944
217000
|
},
|
216945
217001
|
},
|
217002
|
+
{
|
217003
|
+
name: 'nx',
|
217004
|
+
slug: 'nx',
|
217005
|
+
detectors: {
|
217006
|
+
every: [
|
217007
|
+
{
|
217008
|
+
path: 'workspace.json',
|
217009
|
+
matchContent: '"projects":\\s*{[^}]',
|
217010
|
+
},
|
217011
|
+
],
|
217012
|
+
},
|
217013
|
+
},
|
216946
217014
|
{
|
216947
217015
|
name: 'default',
|
216948
217016
|
slug: 'yarn',
|
@@ -228738,7 +228806,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
228738
228806
|
const path_1 = __webpack_require__(85622);
|
228739
228807
|
const fs_extra_1 = __importDefault(__webpack_require__(45392));
|
228740
228808
|
const server_1 = __importDefault(__webpack_require__(18433));
|
228741
|
-
const parse_listen_1 =
|
228809
|
+
const parse_listen_1 = __webpack_require__(1919);
|
228742
228810
|
const link_1 = __webpack_require__(67630);
|
228743
228811
|
const get_decrypted_env_records_1 = __importDefault(__webpack_require__(30861));
|
228744
228812
|
const setup_and_link_1 = __importDefault(__webpack_require__(69532));
|
@@ -228750,7 +228818,7 @@ async function dev(client, opts, args) {
|
|
228750
228818
|
const { output } = client;
|
228751
228819
|
const [dir = '.'] = args;
|
228752
228820
|
let cwd = (0, path_1.resolve)(dir);
|
228753
|
-
const listen = (0, parse_listen_1.
|
228821
|
+
const listen = (0, parse_listen_1.parseListen)(opts['--listen'] || '3000');
|
228754
228822
|
// retrieve dev command
|
228755
228823
|
let link = await (0, link_1.getLinkedProject)(client, cwd);
|
228756
228824
|
if (link.status === 'not_linked' && !process.env.__VERCEL_SKIP_DEV_CMD) {
|
@@ -235094,15 +235162,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
235094
235162
|
};
|
235095
235163
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
235096
235164
|
exports.resolveBuilders = exports.importBuilders = void 0;
|
235165
|
+
const url_1 = __webpack_require__(78835);
|
235166
|
+
const pluralize_1 = __importDefault(__webpack_require__(31974));
|
235097
235167
|
const npm_package_arg_1 = __importDefault(__webpack_require__(79726));
|
235098
235168
|
const semver_1 = __webpack_require__(92879);
|
235099
235169
|
const path_1 = __webpack_require__(85622);
|
235100
235170
|
const fs_extra_1 = __webpack_require__(45392);
|
235171
|
+
const fs_detectors_1 = __webpack_require__(20302);
|
235101
235172
|
const build_utils_1 = __webpack_require__(3131);
|
235102
235173
|
const staticBuilder = __importStar(__webpack_require__(33274));
|
235103
235174
|
const link_1 = __webpack_require__(67630);
|
235104
235175
|
const read_json_file_1 = __importDefault(__webpack_require__(16898));
|
235105
235176
|
const errors_ts_1 = __webpack_require__(60156);
|
235177
|
+
const is_error_1 = __webpack_require__(11026);
|
235178
|
+
const cmd_1 = __importDefault(__webpack_require__(87350));
|
235179
|
+
const code_1 = __importDefault(__webpack_require__(62230));
|
235106
235180
|
/**
|
235107
235181
|
* Imports the specified Vercel Builders, installing any missing ones
|
235108
235182
|
* into `.vercel/builders` if necessary.
|
@@ -235133,7 +235207,7 @@ async function resolveBuilders(buildersDir, builderSpecs, output, resolvedSpecs)
|
|
235133
235207
|
buildersToAdd.add(spec);
|
235134
235208
|
continue;
|
235135
235209
|
}
|
235136
|
-
if (
|
235210
|
+
if ((0, fs_detectors_1.isStaticRuntime)(name)) {
|
235137
235211
|
// `@vercel/static` is a special-case built-in builder
|
235138
235212
|
builders.set(name, {
|
235139
235213
|
builder: staticBuilder,
|
@@ -235234,14 +235308,45 @@ async function installBuilders(buildersDir, buildersToAdd, output) {
|
|
235234
235308
|
if (err.code !== 'EEXIST')
|
235235
235309
|
throw err;
|
235236
235310
|
}
|
235237
|
-
output.
|
235238
|
-
|
235239
|
-
|
235240
|
-
|
235311
|
+
output.log(`Installing ${(0, pluralize_1.default)('Builder', buildersToAdd.size)}: ${Array.from(buildersToAdd).join(', ')}`);
|
235312
|
+
try {
|
235313
|
+
await (0, build_utils_1.spawnAsync)('npm', ['install', '@vercel/build-utils', ...buildersToAdd], {
|
235314
|
+
cwd: buildersDir,
|
235315
|
+
stdio: 'pipe',
|
235316
|
+
});
|
235317
|
+
}
|
235318
|
+
catch (err) {
|
235319
|
+
if ((0, is_error_1.isError)(err)) {
|
235320
|
+
err.link =
|
235321
|
+
'https://vercel.link/builder-dependencies-install-failed';
|
235322
|
+
if ((0, is_error_1.isErrnoException)(err) && err.code === 'ENOENT') {
|
235323
|
+
// `npm` is not installed
|
235324
|
+
err.message = `Please install ${(0, cmd_1.default)('npm')} before continuing`;
|
235325
|
+
}
|
235326
|
+
else {
|
235327
|
+
const message = (0, is_error_1.errorToString)(err);
|
235328
|
+
const notFound = /GET (.*) - Not found/.exec(message);
|
235329
|
+
if (notFound) {
|
235330
|
+
const url = new url_1.URL(notFound[1]);
|
235331
|
+
const packageName = decodeURIComponent(url.pathname.slice(1));
|
235332
|
+
err.message = `The package ${(0, code_1.default)(packageName)} is not published on the npm registry`;
|
235333
|
+
}
|
235334
|
+
}
|
235335
|
+
}
|
235336
|
+
throw err;
|
235337
|
+
}
|
235241
235338
|
// Symlink `@now/build-utils` -> `@vercel/build-utils` to support legacy Builders
|
235242
235339
|
const nowScopePath = (0, path_1.join)(buildersDir, 'node_modules/@now');
|
235243
235340
|
await (0, fs_extra_1.mkdirp)(nowScopePath);
|
235244
|
-
|
235341
|
+
try {
|
235342
|
+
await (0, fs_extra_1.symlink)('../@vercel/build-utils', (0, path_1.join)(nowScopePath, 'build-utils'));
|
235343
|
+
}
|
235344
|
+
catch (err) {
|
235345
|
+
if (!(0, is_error_1.isErrnoException)(err) || err.code !== 'EEXIST') {
|
235346
|
+
// Throw unless the error is due to the symlink already existing
|
235347
|
+
throw err;
|
235348
|
+
}
|
235349
|
+
}
|
235245
235350
|
// Cross-reference any builderSpecs from the saved `package.json` file,
|
235246
235351
|
// in case they were installed from a URL
|
235247
235352
|
const buildersPkg = await (0, read_json_file_1.default)(buildersPkgPath);
|
@@ -235296,8 +235401,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
235296
235401
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
235297
235402
|
};
|
235298
235403
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
235299
|
-
exports.build = exports.version = void 0;
|
235404
|
+
exports.shouldServe = exports.build = exports.version = void 0;
|
235300
235405
|
const minimatch_1 = __importDefault(__webpack_require__(99566));
|
235406
|
+
const build_utils_1 = __webpack_require__(3131);
|
235301
235407
|
exports.version = 2;
|
235302
235408
|
const build = async ({ entrypoint, files, config }) => {
|
235303
235409
|
const output = {};
|
@@ -235325,6 +235431,17 @@ const build = async ({ entrypoint, files, config }) => {
|
|
235325
235431
|
return { output };
|
235326
235432
|
};
|
235327
235433
|
exports.build = build;
|
235434
|
+
const shouldServe = _opts => {
|
235435
|
+
const opts = { ..._opts };
|
235436
|
+
const { config: { zeroConfig, outputDirectory }, } = opts;
|
235437
|
+
// Add the output directory prefix
|
235438
|
+
if (zeroConfig && outputDirectory) {
|
235439
|
+
opts.entrypoint = `${outputDirectory}/${opts.entrypoint}`;
|
235440
|
+
opts.requestPath = `${outputDirectory}/${opts.requestPath}`;
|
235441
|
+
}
|
235442
|
+
return (0, build_utils_1.shouldServe)(opts);
|
235443
|
+
};
|
235444
|
+
exports.shouldServe = shouldServe;
|
235328
235445
|
|
235329
235446
|
|
235330
235447
|
/***/ }),
|
@@ -237587,364 +237704,6 @@ function isValidArchive(archive) {
|
|
237587
237704
|
exports.isValidArchive = isValidArchive;
|
237588
237705
|
|
237589
237706
|
|
237590
|
-
/***/ }),
|
237591
|
-
|
237592
|
-
/***/ 30770:
|
237593
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
237594
|
-
|
237595
|
-
"use strict";
|
237596
|
-
|
237597
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
237598
|
-
if (k2 === undefined) k2 = k;
|
237599
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
237600
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
237601
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
237602
|
-
}
|
237603
|
-
Object.defineProperty(o, k2, desc);
|
237604
|
-
}) : (function(o, m, k, k2) {
|
237605
|
-
if (k2 === undefined) k2 = k;
|
237606
|
-
o[k2] = m[k];
|
237607
|
-
}));
|
237608
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
237609
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
237610
|
-
}) : function(o, v) {
|
237611
|
-
o["default"] = v;
|
237612
|
-
});
|
237613
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
237614
|
-
if (mod && mod.__esModule) return mod;
|
237615
|
-
var result = {};
|
237616
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
237617
|
-
__setModuleDefault(result, mod);
|
237618
|
-
return result;
|
237619
|
-
};
|
237620
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
237621
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
237622
|
-
};
|
237623
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
237624
|
-
exports.isBundledBuilder = exports.getBuilder = exports.updateBuilders = exports.installBuilders = exports.filterPackage = exports.getBuildUtils = exports.prepareBuilderDir = exports.prepareCacheDir = exports.builderDirPromise = exports.cacheDirPromise = void 0;
|
237625
|
-
const chalk_1 = __importDefault(__webpack_require__(961));
|
237626
|
-
const execa_1 = __importDefault(__webpack_require__(94237));
|
237627
|
-
const semver_1 = __importDefault(__webpack_require__(92879));
|
237628
|
-
const npm_package_arg_1 = __importDefault(__webpack_require__(79726));
|
237629
|
-
const pluralize_1 = __importDefault(__webpack_require__(31974));
|
237630
|
-
const path_1 = __webpack_require__(85622);
|
237631
|
-
const xdg_app_paths_1 = __importDefault(__webpack_require__(30461));
|
237632
|
-
const fs_extra_1 = __webpack_require__(45392);
|
237633
|
-
const build_utils_1 = __webpack_require__(3131);
|
237634
|
-
const pkg_1 = __importDefault(__webpack_require__(80984));
|
237635
|
-
const cmd_1 = __importDefault(__webpack_require__(87350));
|
237636
|
-
const errors_ts_1 = __webpack_require__(60156);
|
237637
|
-
const staticBuilder = __importStar(__webpack_require__(46241));
|
237638
|
-
const is_error_1 = __webpack_require__(11026);
|
237639
|
-
const require_ = eval('require');
|
237640
|
-
const registryTypes = new Set(['version', 'tag', 'range']);
|
237641
|
-
const createStaticBuilder = (scope) => {
|
237642
|
-
return {
|
237643
|
-
runInProcess: true,
|
237644
|
-
requirePath: `${scope}/static`,
|
237645
|
-
builder: Object.freeze(staticBuilder),
|
237646
|
-
package: Object.freeze({ name: `@${scope}/static`, version: '' }),
|
237647
|
-
};
|
237648
|
-
};
|
237649
|
-
const localBuilders = {
|
237650
|
-
'@now/static': createStaticBuilder('now'),
|
237651
|
-
'@vercel/static': createStaticBuilder('vercel'),
|
237652
|
-
};
|
237653
|
-
exports.cacheDirPromise = prepareCacheDir();
|
237654
|
-
exports.builderDirPromise = prepareBuilderDir();
|
237655
|
-
/**
|
237656
|
-
* Prepare cache directory for installing Vercel runtimes.
|
237657
|
-
*/
|
237658
|
-
async function prepareCacheDir() {
|
237659
|
-
const designated = (0, xdg_app_paths_1.default)('com.vercel.cli').cache();
|
237660
|
-
if (!designated) {
|
237661
|
-
throw new errors_ts_1.NoBuilderCacheError();
|
237662
|
-
}
|
237663
|
-
const cacheDir = (0, path_1.join)(designated, 'dev');
|
237664
|
-
await (0, fs_extra_1.mkdirp)(cacheDir);
|
237665
|
-
return cacheDir;
|
237666
|
-
}
|
237667
|
-
exports.prepareCacheDir = prepareCacheDir;
|
237668
|
-
async function prepareBuilderDir() {
|
237669
|
-
const builderDir = (0, path_1.join)(await exports.cacheDirPromise, 'builders');
|
237670
|
-
await (0, fs_extra_1.mkdirp)(builderDir);
|
237671
|
-
// Create an empty `package.json` file, only if one does not already exist
|
237672
|
-
try {
|
237673
|
-
const buildersPkg = (0, path_1.join)(builderDir, 'package.json');
|
237674
|
-
await (0, fs_extra_1.writeJSON)(buildersPkg, { private: true }, { flag: 'wx' });
|
237675
|
-
}
|
237676
|
-
catch (err) {
|
237677
|
-
if (!(0, is_error_1.isErrnoException)(err) || err.code !== 'EEXIST') {
|
237678
|
-
throw err;
|
237679
|
-
}
|
237680
|
-
}
|
237681
|
-
return builderDir;
|
237682
|
-
}
|
237683
|
-
exports.prepareBuilderDir = prepareBuilderDir;
|
237684
|
-
function getNpmVersion(use = '') {
|
237685
|
-
const parsed = (0, npm_package_arg_1.default)(use);
|
237686
|
-
if (registryTypes.has(parsed.type)) {
|
237687
|
-
return parsed.fetchSpec || '';
|
237688
|
-
}
|
237689
|
-
return '';
|
237690
|
-
}
|
237691
|
-
function getBuildUtils(packages) {
|
237692
|
-
const version = packages
|
237693
|
-
.map(getNpmVersion)
|
237694
|
-
.some(ver => ver.includes('canary'))
|
237695
|
-
? 'canary'
|
237696
|
-
: 'latest';
|
237697
|
-
return `@vercel/build-utils@${version}`;
|
237698
|
-
}
|
237699
|
-
exports.getBuildUtils = getBuildUtils;
|
237700
|
-
function parseVersionSafe(rawSpec) {
|
237701
|
-
try {
|
237702
|
-
return semver_1.default.parse(rawSpec);
|
237703
|
-
}
|
237704
|
-
catch (e) {
|
237705
|
-
return null;
|
237706
|
-
}
|
237707
|
-
}
|
237708
|
-
function filterPackage(builderSpec, buildersPkg, cliPkg) {
|
237709
|
-
if (builderSpec in localBuilders)
|
237710
|
-
return false;
|
237711
|
-
const parsed = (0, npm_package_arg_1.default)(builderSpec);
|
237712
|
-
const parsedVersion = parseVersionSafe(parsed.rawSpec);
|
237713
|
-
// Skip install of Runtimes that are part of Vercel CLI's `dependencies`
|
237714
|
-
if (isBundledBuilder(parsed, cliPkg)) {
|
237715
|
-
return false;
|
237716
|
-
}
|
237717
|
-
// Skip install of already installed Runtime with exact version match
|
237718
|
-
if (parsed.name &&
|
237719
|
-
parsed.type === 'version' &&
|
237720
|
-
parsedVersion &&
|
237721
|
-
buildersPkg.dependencies &&
|
237722
|
-
parsedVersion.version == buildersPkg.dependencies[parsed.name]) {
|
237723
|
-
return false;
|
237724
|
-
}
|
237725
|
-
return true;
|
237726
|
-
}
|
237727
|
-
exports.filterPackage = filterPackage;
|
237728
|
-
/**
|
237729
|
-
* Install a list of builders to the cache directory.
|
237730
|
-
*/
|
237731
|
-
async function installBuilders(packagesSet, output, builderDir) {
|
237732
|
-
const packages = Array.from(packagesSet);
|
237733
|
-
if (packages.length === 0 ||
|
237734
|
-
(packages.length === 1 &&
|
237735
|
-
Object.hasOwnProperty.call(localBuilders, packages[0]))) {
|
237736
|
-
// Static deployment, no builders to install
|
237737
|
-
return;
|
237738
|
-
}
|
237739
|
-
if (!builderDir) {
|
237740
|
-
builderDir = await exports.builderDirPromise;
|
237741
|
-
}
|
237742
|
-
const buildersPkgPath = (0, path_1.join)(builderDir, 'package.json');
|
237743
|
-
const buildersPkgBefore = await (0, fs_extra_1.readJSON)(buildersPkgPath);
|
237744
|
-
const depsBefore = {
|
237745
|
-
...buildersPkgBefore.devDependencies,
|
237746
|
-
...buildersPkgBefore.dependencies,
|
237747
|
-
};
|
237748
|
-
// Filter out any packages that come packaged with Vercel CLI
|
237749
|
-
const packagesToInstall = packages.filter(p => filterPackage(p, buildersPkgBefore, pkg_1.default));
|
237750
|
-
if (packagesToInstall.length === 0) {
|
237751
|
-
output.debug('No Runtimes need to be installed');
|
237752
|
-
return;
|
237753
|
-
}
|
237754
|
-
packagesToInstall.push(getBuildUtils(packages));
|
237755
|
-
await npmInstall(builderDir, output, packagesToInstall, false);
|
237756
|
-
const updatedPackages = [];
|
237757
|
-
const buildersPkgAfter = await (0, fs_extra_1.readJSON)(buildersPkgPath);
|
237758
|
-
const depsAfter = {
|
237759
|
-
...buildersPkgAfter.devDependencies,
|
237760
|
-
...buildersPkgAfter.dependencies,
|
237761
|
-
};
|
237762
|
-
for (const [name, version] of Object.entries(depsAfter)) {
|
237763
|
-
if (version !== depsBefore[name]) {
|
237764
|
-
output.debug(`Runtime "${name}" updated to version \`${version}\``);
|
237765
|
-
updatedPackages.push(name);
|
237766
|
-
}
|
237767
|
-
}
|
237768
|
-
purgeRequireCache(updatedPackages, builderDir, output);
|
237769
|
-
}
|
237770
|
-
exports.installBuilders = installBuilders;
|
237771
|
-
async function npmInstall(cwd, output, packagesToInstall, silent) {
|
237772
|
-
const sortedPackages = packagesToInstall.sort();
|
237773
|
-
if (!silent) {
|
237774
|
-
output.spinner(`Installing ${(0, pluralize_1.default)('Runtime', sortedPackages.length)}: ${sortedPackages.join(', ')}`);
|
237775
|
-
}
|
237776
|
-
output.debug(`Running npm install in ${cwd}`);
|
237777
|
-
try {
|
237778
|
-
const args = [
|
237779
|
-
'install',
|
237780
|
-
'--save-exact',
|
237781
|
-
'--no-package-lock',
|
237782
|
-
'--no-audit',
|
237783
|
-
'--no-progress',
|
237784
|
-
];
|
237785
|
-
if (process.stderr.isTTY) {
|
237786
|
-
// Force colors in the npm child process
|
237787
|
-
// https://docs.npmjs.com/misc/config#color
|
237788
|
-
args.push('--color=always');
|
237789
|
-
}
|
237790
|
-
args.push(...sortedPackages);
|
237791
|
-
const result = await (0, execa_1.default)('npm', args, {
|
237792
|
-
cwd,
|
237793
|
-
reject: false,
|
237794
|
-
stdio: output.isDebugEnabled() ? 'inherit' : 'pipe',
|
237795
|
-
});
|
237796
|
-
if (result.failed) {
|
237797
|
-
output.stopSpinner();
|
237798
|
-
if (result.stdout) {
|
237799
|
-
console.log(result.stdout);
|
237800
|
-
}
|
237801
|
-
if (result.stderr) {
|
237802
|
-
console.error(result.stderr);
|
237803
|
-
}
|
237804
|
-
throw new build_utils_1.NowBuildError({
|
237805
|
-
message: result.code === 'ENOENT'
|
237806
|
-
? `Command not found: ${chalk_1.default.cyan('npm')}\nPlease ensure that ${(0, cmd_1.default)('npm')} is properly installed`
|
237807
|
-
: 'Failed to install `vercel dev` dependencies',
|
237808
|
-
code: 'NPM_INSTALL_ERROR',
|
237809
|
-
link: 'https://vercel.link/npm-install-failed-dev',
|
237810
|
-
});
|
237811
|
-
}
|
237812
|
-
}
|
237813
|
-
finally {
|
237814
|
-
output.stopSpinner();
|
237815
|
-
}
|
237816
|
-
}
|
237817
|
-
async function updateBuilders(packagesSet, output, builderDir) {
|
237818
|
-
if (!builderDir) {
|
237819
|
-
builderDir = await exports.builderDirPromise;
|
237820
|
-
}
|
237821
|
-
const updatedPackages = [];
|
237822
|
-
const packages = Array.from(packagesSet);
|
237823
|
-
const buildersPkgPath = (0, path_1.join)(builderDir, 'package.json');
|
237824
|
-
const buildersPkgBefore = await (0, fs_extra_1.readJSON)(buildersPkgPath);
|
237825
|
-
const depsBefore = {
|
237826
|
-
...buildersPkgBefore.devDependencies,
|
237827
|
-
...buildersPkgBefore.dependencies,
|
237828
|
-
};
|
237829
|
-
const packagesToUpdate = packages.filter(p => {
|
237830
|
-
if (p in localBuilders)
|
237831
|
-
return false;
|
237832
|
-
// If it's a builder that is part of Vercel CLI's
|
237833
|
-
// `dependencies` then don't update it
|
237834
|
-
if (isBundledBuilder((0, npm_package_arg_1.default)(p), pkg_1.default)) {
|
237835
|
-
return false;
|
237836
|
-
}
|
237837
|
-
return true;
|
237838
|
-
});
|
237839
|
-
if (packagesToUpdate.length > 0) {
|
237840
|
-
packagesToUpdate.push(getBuildUtils(packages));
|
237841
|
-
await npmInstall(builderDir, output, packagesToUpdate, true);
|
237842
|
-
const buildersPkgAfter = await (0, fs_extra_1.readJSON)(buildersPkgPath);
|
237843
|
-
const depsAfter = {
|
237844
|
-
...buildersPkgAfter.devDependencies,
|
237845
|
-
...buildersPkgAfter.dependencies,
|
237846
|
-
};
|
237847
|
-
for (const [name, version] of Object.entries(depsAfter)) {
|
237848
|
-
if (version !== depsBefore[name]) {
|
237849
|
-
output.debug(`Runtime "${name}" updated to version \`${version}\``);
|
237850
|
-
updatedPackages.push(name);
|
237851
|
-
}
|
237852
|
-
}
|
237853
|
-
purgeRequireCache(updatedPackages, builderDir, output);
|
237854
|
-
}
|
237855
|
-
return updatedPackages;
|
237856
|
-
}
|
237857
|
-
exports.updateBuilders = updateBuilders;
|
237858
|
-
/**
|
237859
|
-
* Get a builder from the cache directory.
|
237860
|
-
*/
|
237861
|
-
async function getBuilder(builderPkg, output, builderDir, isRetry = false) {
|
237862
|
-
let builderWithPkg = localBuilders[builderPkg];
|
237863
|
-
if (!builderWithPkg) {
|
237864
|
-
if (!builderDir) {
|
237865
|
-
builderDir = await exports.builderDirPromise;
|
237866
|
-
}
|
237867
|
-
let requirePath;
|
237868
|
-
const parsed = (0, npm_package_arg_1.default)(builderPkg);
|
237869
|
-
// First check if it's a bundled Runtime in Vercel CLI's `node_modules`
|
237870
|
-
const bundledBuilder = isBundledBuilder(parsed, pkg_1.default);
|
237871
|
-
if (bundledBuilder && parsed.name) {
|
237872
|
-
requirePath = parsed.name;
|
237873
|
-
}
|
237874
|
-
else {
|
237875
|
-
const buildersPkg = await (0, fs_extra_1.readJSON)((0, path_1.join)(builderDir, 'package.json'));
|
237876
|
-
const pkgName = getPackageName(parsed, buildersPkg) || builderPkg;
|
237877
|
-
requirePath = (0, path_1.join)(builderDir, 'node_modules', pkgName);
|
237878
|
-
}
|
237879
|
-
try {
|
237880
|
-
output.debug(`Requiring runtime: "${requirePath}"`);
|
237881
|
-
const mod = require_(requirePath);
|
237882
|
-
const pkg = require_((0, path_1.join)(requirePath, 'package.json'));
|
237883
|
-
builderWithPkg = {
|
237884
|
-
requirePath,
|
237885
|
-
builder: Object.freeze(mod),
|
237886
|
-
package: Object.freeze(pkg),
|
237887
|
-
};
|
237888
|
-
}
|
237889
|
-
catch (err) {
|
237890
|
-
if ((0, is_error_1.isErrnoException)(err) &&
|
237891
|
-
err.code === 'MODULE_NOT_FOUND' &&
|
237892
|
-
!isRetry) {
|
237893
|
-
output.debug(`Attempted to require ${requirePath}, but it is not installed`);
|
237894
|
-
const pkgSet = new Set([builderPkg]);
|
237895
|
-
await installBuilders(pkgSet, output, builderDir);
|
237896
|
-
// Run `getBuilder()` again now that the builder has been installed
|
237897
|
-
return getBuilder(builderPkg, output, builderDir, true);
|
237898
|
-
}
|
237899
|
-
throw err;
|
237900
|
-
}
|
237901
|
-
// If it's a bundled builder, then cache the require call
|
237902
|
-
if (bundledBuilder) {
|
237903
|
-
localBuilders[builderPkg] = builderWithPkg;
|
237904
|
-
}
|
237905
|
-
}
|
237906
|
-
return builderWithPkg;
|
237907
|
-
}
|
237908
|
-
exports.getBuilder = getBuilder;
|
237909
|
-
function isBundledBuilder(parsed, { dependencies = {} }) {
|
237910
|
-
if (!parsed.name) {
|
237911
|
-
return false;
|
237912
|
-
}
|
237913
|
-
const inCliDependencyList = !!dependencies[parsed.name];
|
237914
|
-
const inScope = parsed.scope === '@vercel';
|
237915
|
-
const isVersionedReference = ['tag', 'version', 'range'].includes(parsed.type);
|
237916
|
-
return inCliDependencyList && inScope && isVersionedReference;
|
237917
|
-
}
|
237918
|
-
exports.isBundledBuilder = isBundledBuilder;
|
237919
|
-
function getPackageName(parsed, buildersPkg) {
|
237920
|
-
if (registryTypes.has(parsed.type)) {
|
237921
|
-
return parsed.name;
|
237922
|
-
}
|
237923
|
-
const deps = {
|
237924
|
-
...buildersPkg.devDependencies,
|
237925
|
-
...buildersPkg.dependencies,
|
237926
|
-
};
|
237927
|
-
for (const [name, dep] of Object.entries(deps)) {
|
237928
|
-
if (dep === parsed.raw || (0, path_1.basename)(dep) === (0, path_1.basename)(parsed.raw)) {
|
237929
|
-
return name;
|
237930
|
-
}
|
237931
|
-
}
|
237932
|
-
return null;
|
237933
|
-
}
|
237934
|
-
function purgeRequireCache(packages, builderDir, output) {
|
237935
|
-
// The `require()` cache for the builder's assets must be purged
|
237936
|
-
const packagesPaths = packages.map(b => (0, path_1.join)(builderDir, 'node_modules', b));
|
237937
|
-
for (const id of Object.keys(require_.cache)) {
|
237938
|
-
for (const path of packagesPaths) {
|
237939
|
-
if (id.startsWith(path)) {
|
237940
|
-
output.debug(`Purging require cache for "${id}"`);
|
237941
|
-
delete require_.cache[id];
|
237942
|
-
}
|
237943
|
-
}
|
237944
|
-
}
|
237945
|
-
}
|
237946
|
-
|
237947
|
-
|
237948
237707
|
/***/ }),
|
237949
237708
|
|
237950
237709
|
/***/ 37655:
|
@@ -237972,10 +237731,10 @@ const highlight_1 = __importDefault(__webpack_require__(8199));
|
|
237972
237731
|
const tree_kill_1 = __webpack_require__(21780);
|
237973
237732
|
const path_helpers_1 = __webpack_require__(73250);
|
237974
237733
|
const errors_ts_1 = __webpack_require__(60156);
|
237975
|
-
const builder_cache_1 = __webpack_require__(30770);
|
237976
237734
|
const routing_utils_1 = __webpack_require__(72948);
|
237977
237735
|
const get_update_command_1 = __importDefault(__webpack_require__(64222));
|
237978
237736
|
const pkg_name_1 = __webpack_require__(98106);
|
237737
|
+
const import_builders_1 = __webpack_require__(57049);
|
237979
237738
|
async function createBuildProcess(match, envConfigs, workPath, output) {
|
237980
237739
|
output.debug(`Creating build process for "${match.entrypoint}"`);
|
237981
237740
|
const builderWorkerPath = (0, path_1.join)(__dirname, 'builder-worker.js');
|
@@ -238009,20 +237768,21 @@ async function createBuildProcess(match, envConfigs, workPath, output) {
|
|
238009
237768
|
});
|
238010
237769
|
}
|
238011
237770
|
async function executeBuild(vercelConfig, devServer, files, match, requestPath, isInitialBuild, filesChanged, filesRemoved) {
|
238012
|
-
const { builderWithPkg: {
|
238013
|
-
const { entrypoint } = match;
|
237771
|
+
const { builderWithPkg: { path: requirePath, builder, pkg }, } = match;
|
237772
|
+
const { entrypoint, use } = match;
|
237773
|
+
const isStatic = (0, fs_detectors_1.isStaticRuntime)(use);
|
238014
237774
|
const { envConfigs, cwd: workPath, devCacheDir } = devServer;
|
238015
237775
|
const debug = devServer.output.isDebugEnabled();
|
238016
237776
|
const startTime = Date.now();
|
238017
|
-
const showBuildTimestamp = !
|
237777
|
+
const showBuildTimestamp = !isStatic && (!isInitialBuild || debug);
|
238018
237778
|
if (showBuildTimestamp) {
|
238019
|
-
devServer.output.log(`Building ${
|
237779
|
+
devServer.output.log(`Building ${use}:${entrypoint}`);
|
238020
237780
|
devServer.output.debug(`Using \`${pkg.name}${pkg.version ? `@${pkg.version}` : ''}\``);
|
238021
237781
|
}
|
238022
237782
|
const config = match.config || {};
|
238023
237783
|
let result;
|
238024
237784
|
let { buildProcess } = match;
|
238025
|
-
if (!
|
237785
|
+
if (!isStatic && !buildProcess) {
|
238026
237786
|
buildProcess = await createBuildProcess(match, envConfigs, workPath, devServer.output);
|
238027
237787
|
}
|
238028
237788
|
const buildOptions = {
|
@@ -238088,9 +237848,6 @@ async function executeBuild(vercelConfig, devServer, files, match, requestPath,
|
|
238088
237848
|
output: buildResultOrOutputs,
|
238089
237849
|
routes: [],
|
238090
237850
|
watch: [],
|
238091
|
-
distPath: typeof buildResultOrOutputs.distPath === 'string'
|
238092
|
-
? buildResultOrOutputs.distPath
|
238093
|
-
: undefined,
|
238094
237851
|
};
|
238095
237852
|
}
|
238096
237853
|
else if (builder.version === 2) {
|
@@ -238235,7 +237992,7 @@ async function executeBuild(vercelConfig, devServer, files, match, requestPath,
|
|
238235
237992
|
Object.assign(match.buildOutput, result.output);
|
238236
237993
|
if (showBuildTimestamp) {
|
238237
237994
|
const endTime = Date.now();
|
238238
|
-
devServer.output.log(`Built ${
|
237995
|
+
devServer.output.log(`Built ${use}:${entrypoint} [${(0, ms_1.default)(endTime - startTime)}]`);
|
238239
237996
|
}
|
238240
237997
|
}
|
238241
237998
|
exports.executeBuild = executeBuild;
|
@@ -238248,6 +238005,8 @@ async function getBuildMatches(vercelConfig, cwd, output, devServer, fileList) {
|
|
238248
238005
|
}
|
238249
238006
|
const noMatches = [];
|
238250
238007
|
const builds = vercelConfig.builds || [{ src: '**', use: '@vercel/static' }];
|
238008
|
+
const builderSpecs = new Set(builds.map(b => b.use).filter(Boolean));
|
238009
|
+
const buildersWithPkgs = await (0, import_builders_1.importBuilders)(builderSpecs, cwd, output);
|
238251
238010
|
for (const buildConfig of builds) {
|
238252
238011
|
let { src = '**', use, config = {} } = buildConfig;
|
238253
238012
|
if (!use) {
|
@@ -238274,6 +238033,7 @@ async function getBuildMatches(vercelConfig, cwd, output, devServer, fileList) {
|
|
238274
238033
|
}
|
238275
238034
|
for (const file of files) {
|
238276
238035
|
src = (0, path_helpers_1.relative)(cwd, file);
|
238036
|
+
const entrypoint = mapToEntrypoint.get(src) || src;
|
238277
238037
|
// Remove the output directory prefix
|
238278
238038
|
if (config.zeroConfig && config.outputDirectory) {
|
238279
238039
|
const outputMatch = config.outputDirectory + '/';
|
@@ -238281,11 +238041,14 @@ async function getBuildMatches(vercelConfig, cwd, output, devServer, fileList) {
|
|
238281
238041
|
src = src.slice(outputMatch.length);
|
238282
238042
|
}
|
238283
238043
|
}
|
238284
|
-
const builderWithPkg =
|
238044
|
+
const builderWithPkg = buildersWithPkgs.get(use);
|
238045
|
+
if (!builderWithPkg) {
|
238046
|
+
throw new Error(`Failed to load Builder "${use}"`);
|
238047
|
+
}
|
238285
238048
|
matches.push({
|
238286
238049
|
...buildConfig,
|
238287
238050
|
src,
|
238288
|
-
entrypoint
|
238051
|
+
entrypoint,
|
238289
238052
|
builderWithPkg,
|
238290
238053
|
buildOutput: {},
|
238291
238054
|
buildResults: new Map(),
|
@@ -238510,6 +238273,7 @@ exports.default = getMimeType;
|
|
238510
238273
|
"use strict";
|
238511
238274
|
|
238512
238275
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
238276
|
+
exports.replaceLocalhost = exports.parseListen = void 0;
|
238513
238277
|
const url_1 = __webpack_require__(78835);
|
238514
238278
|
function parseListen(str, defaultPort = 3000) {
|
238515
238279
|
let port = Number(str);
|
@@ -238549,7 +238313,11 @@ function parseListen(str, defaultPort = 3000) {
|
|
238549
238313
|
throw new Error(`Unknown \`--listen\` scheme (protocol): ${url.protocol}`);
|
238550
238314
|
}
|
238551
238315
|
}
|
238552
|
-
exports.
|
238316
|
+
exports.parseListen = parseListen;
|
238317
|
+
function replaceLocalhost(address) {
|
238318
|
+
return address.replace('[::]', 'localhost').replace('0.0.0.0', 'localhost');
|
238319
|
+
}
|
238320
|
+
exports.replaceLocalhost = replaceLocalhost;
|
238553
238321
|
|
238554
238322
|
|
238555
238323
|
/***/ }),
|
@@ -238848,7 +238616,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
238848
238616
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
238849
238617
|
};
|
238850
238618
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
238851
|
-
const ms_1 = __importDefault(__webpack_require__(80040));
|
238852
238619
|
const url_1 = __importStar(__webpack_require__(78835));
|
238853
238620
|
const http_1 = __importDefault(__webpack_require__(98605));
|
238854
238621
|
const fs_extra_1 = __importDefault(__webpack_require__(45392));
|
@@ -238891,7 +238658,6 @@ const router_1 = __webpack_require__(84369);
|
|
238891
238658
|
const mime_type_1 = __importDefault(__webpack_require__(12165));
|
238892
238659
|
const builder_1 = __webpack_require__(37655);
|
238893
238660
|
const errors_1 = __webpack_require__(92586);
|
238894
|
-
const builder_cache_1 = __webpack_require__(30770);
|
238895
238661
|
// HTML templates
|
238896
238662
|
const error_1 = __importDefault(__webpack_require__(97736));
|
238897
238663
|
const error_base_1 = __importDefault(__webpack_require__(85143));
|
@@ -238905,6 +238671,7 @@ const parse_query_string_1 = __webpack_require__(40165);
|
|
238905
238671
|
const is_error_1 = __webpack_require__(11026);
|
238906
238672
|
const is_url_1 = __importDefault(__webpack_require__(4567));
|
238907
238673
|
const project_settings_1 = __webpack_require__(42697);
|
238674
|
+
const parse_listen_1 = __webpack_require__(1919);
|
238908
238675
|
const frontendRuntimeSet = new Set(frameworks_1.default.map(f => f.useRuntime?.use || '@vercel/static-build'));
|
238909
238676
|
function sortBuilders(buildA, buildB) {
|
238910
238677
|
if (buildA && buildA.use && (0, fs_detectors_1.isOfficialRuntime)('static-build', buildA.use)) {
|
@@ -239040,8 +238807,9 @@ class DevServer {
|
|
239040
238807
|
// the middleware server for every HTTP request?
|
239041
238808
|
const { envConfigs, files, devCacheDir, cwd: workPath } = this;
|
239042
238809
|
try {
|
239043
|
-
|
239044
|
-
|
238810
|
+
const { builder } = middleware.builderWithPkg;
|
238811
|
+
if (builder.version === 3) {
|
238812
|
+
startMiddlewareResult = await builder.startDevServer?.({
|
239045
238813
|
files,
|
239046
238814
|
entrypoint: middleware.entrypoint,
|
239047
238815
|
workPath,
|
@@ -239055,6 +238823,7 @@ class DevServer {
|
|
239055
238823
|
buildEnv: { ...envConfigs.buildEnv },
|
239056
238824
|
},
|
239057
238825
|
});
|
238826
|
+
}
|
239058
238827
|
if (startMiddlewareResult) {
|
239059
238828
|
const { port, pid } = startMiddlewareResult;
|
239060
238829
|
middlewarePid = pid;
|
@@ -239312,8 +239081,8 @@ class DevServer {
|
|
239312
239081
|
// up a single-serve dev HTTP server that vercel dev will proxy this HTTP request
|
239313
239082
|
// to. Once the proxied request is finished, vercel dev shuts down the dev
|
239314
239083
|
// server child process.
|
239315
|
-
const { builder,
|
239316
|
-
if (typeof builder.startDevServer === 'function') {
|
239084
|
+
const { builder, pkg: builderPkg } = match.builderWithPkg;
|
239085
|
+
if (builder.version === 3 && typeof builder.startDevServer === 'function') {
|
239317
239086
|
let devServerResult = null;
|
239318
239087
|
try {
|
239319
239088
|
const { envConfigs, files, devCacheDir, cwd: workPath } = this;
|
@@ -239523,7 +239292,6 @@ class DevServer {
|
|
239523
239292
|
this.vercelConfigWarning = false;
|
239524
239293
|
this.getVercelConfigPromise = null;
|
239525
239294
|
this.blockingBuildsPromise = null;
|
239526
|
-
this.updateBuildersPromise = null;
|
239527
239295
|
this.startPromise = null;
|
239528
239296
|
this.watchAggregationId = null;
|
239529
239297
|
this.watchAggregationEvents = [];
|
@@ -239727,25 +239495,6 @@ class DevServer {
|
|
239727
239495
|
return sortBuilders(matchA[1], matchB[1]);
|
239728
239496
|
}));
|
239729
239497
|
}
|
239730
|
-
async invalidateBuildMatches(vercelConfig, updatedBuilders) {
|
239731
|
-
if (updatedBuilders.length === 0) {
|
239732
|
-
this.output.debug('No builders were updated');
|
239733
|
-
return;
|
239734
|
-
}
|
239735
|
-
// Delete any build matches that have the old builder required already
|
239736
|
-
for (const buildMatch of this.buildMatches.values()) {
|
239737
|
-
const { src, builderWithPkg: { package: pkg }, } = buildMatch;
|
239738
|
-
if ((0, fs_detectors_1.isOfficialRuntime)('static', pkg.name))
|
239739
|
-
continue;
|
239740
|
-
if (pkg.name && updatedBuilders.includes(pkg.name)) {
|
239741
|
-
(0, builder_1.shutdownBuilder)(buildMatch, this.output);
|
239742
|
-
this.buildMatches.delete(src);
|
239743
|
-
this.output.debug(`Invalidated build match for "${src}"`);
|
239744
|
-
}
|
239745
|
-
}
|
239746
|
-
// Re-add the build matches that were just removed, but with the new builder
|
239747
|
-
await this.updateBuildMatches(vercelConfig);
|
239748
|
-
}
|
239749
239498
|
async getLocalEnv(fileName, base) {
|
239750
239499
|
// TODO: use the file watcher to only invalidate the env `dotfile`
|
239751
239500
|
// once a change to the `fileName` occurs
|
@@ -240065,7 +239814,7 @@ class DevServer {
|
|
240065
239814
|
}
|
240066
239815
|
}
|
240067
239816
|
}
|
240068
|
-
this._address = new url_1.URL(
|
239817
|
+
this._address = new url_1.URL((0, parse_listen_1.replaceLocalhost)(address));
|
240069
239818
|
const vercelConfig = await this.getVercelConfig();
|
240070
239819
|
const devCommandPromise = this.runDevCommand();
|
240071
239820
|
const files = await (0, get_files_1.staticFiles)(this.cwd, { output: this.output });
|
@@ -240079,25 +239828,7 @@ class DevServer {
|
|
240079
239828
|
this.files[extensionless] = new build_utils_1.FileFsRef({ mode, fsPath });
|
240080
239829
|
}
|
240081
239830
|
}
|
240082
|
-
const builders = new Set((vercelConfig.builds || [])
|
240083
|
-
.filter((b) => b.use)
|
240084
|
-
.map((b) => b.use));
|
240085
|
-
await (0, builder_cache_1.installBuilders)(builders, this.output);
|
240086
239831
|
await this.updateBuildMatches(vercelConfig, true);
|
240087
|
-
// Updating builders happens lazily, and any builders that were updated
|
240088
|
-
// get their "build matches" invalidated so that the new version is used.
|
240089
|
-
this.updateBuildersTimeout = setTimeout(() => {
|
240090
|
-
this.updateBuildersPromise = (0, builder_cache_1.updateBuilders)(builders, this.output)
|
240091
|
-
.then(updatedBuilders => {
|
240092
|
-
this.updateBuildersPromise = null;
|
240093
|
-
this.invalidateBuildMatches(vercelConfig, updatedBuilders);
|
240094
|
-
})
|
240095
|
-
.catch(err => {
|
240096
|
-
this.updateBuildersPromise = null;
|
240097
|
-
this.output.prettyError(err);
|
240098
|
-
this.output.debug(err.stack);
|
240099
|
-
});
|
240100
|
-
}, (0, ms_1.default)('30s'));
|
240101
239832
|
// Builders that do not define a `shouldServe()` function need to be
|
240102
239833
|
// executed at boot-up time in order to get the initial assets and/or routes
|
240103
239834
|
// that can be served by the builder.
|
@@ -240158,14 +239889,11 @@ class DevServer {
|
|
240158
239889
|
* Shuts down the `vercel dev` server, and cleans up any temporary resources.
|
240159
239890
|
*/
|
240160
239891
|
async stop(exitCode) {
|
240161
|
-
const { devProcess } = this;
|
240162
|
-
const { debug } = this.output;
|
240163
239892
|
if (this.stopping)
|
240164
239893
|
return;
|
240165
239894
|
this.stopping = true;
|
240166
|
-
|
240167
|
-
|
240168
|
-
}
|
239895
|
+
const { devProcess } = this;
|
239896
|
+
const { debug } = this.output;
|
240169
239897
|
const ops = [];
|
240170
239898
|
for (const match of this.buildMatches.values()) {
|
240171
239899
|
ops.push((0, builder_1.shutdownBuilder)(match, this.output));
|
@@ -240178,15 +239906,9 @@ class DevServer {
|
|
240178
239906
|
debug(`Closing file watcher`);
|
240179
239907
|
ops.push(this.watcher.close());
|
240180
239908
|
}
|
240181
|
-
if (this.updateBuildersPromise) {
|
240182
|
-
debug(`Waiting for builders update to complete`);
|
240183
|
-
ops.push(this.updateBuildersPromise);
|
240184
|
-
}
|
240185
239909
|
for (const pid of this.devServerPids) {
|
240186
239910
|
ops.push(this.killBuilderDevServer(pid));
|
240187
239911
|
}
|
240188
|
-
// Ensure that the builders module cache is created
|
240189
|
-
ops.push(builder_cache_1.builderDirPromise);
|
240190
239912
|
try {
|
240191
239913
|
await Promise.all(ops);
|
240192
239914
|
}
|
@@ -240479,7 +240201,7 @@ class DevServer {
|
|
240479
240201
|
}
|
240480
240202
|
this.output.log(`Running Dev Command ${chalk_1.default.cyan.bold(`“${devCommand}”`)}`);
|
240481
240203
|
const port = await (0, get_port_1.default)();
|
240482
|
-
const env = {
|
240204
|
+
const env = (0, build_utils_1.cloneEnv)({
|
240483
240205
|
// Because of child process 'pipe' below, isTTY will be false.
|
240484
240206
|
// Most frameworks use `chalk`/`supports-color` so we enable it anyway.
|
240485
240207
|
FORCE_COLOR: process.stdout.isTTY ? '1' : '0',
|
@@ -240487,10 +240209,9 @@ class DevServer {
|
|
240487
240209
|
// browser window, since it will not be the port that `vc dev`
|
240488
240210
|
// is listening on and thus will be missing Vercel features.
|
240489
240211
|
BROWSER: 'none',
|
240490
|
-
|
240491
|
-
...this.envConfigs.allEnv,
|
240212
|
+
}, process.env, this.envConfigs.allEnv, {
|
240492
240213
|
PORT: `${port}`,
|
240493
|
-
};
|
240214
|
+
});
|
240494
240215
|
// This is necesary so that the dev command in the Project
|
240495
240216
|
// will work cross-platform (especially Windows).
|
240496
240217
|
let command = devCommand
|
@@ -240776,43 +240497,6 @@ function buildMatchEquals(a, b) {
|
|
240776
240497
|
}
|
240777
240498
|
|
240778
240499
|
|
240779
|
-
/***/ }),
|
240780
|
-
|
240781
|
-
/***/ 46241:
|
240782
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
240783
|
-
|
240784
|
-
"use strict";
|
240785
|
-
|
240786
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
240787
|
-
exports.shouldServe = exports.build = exports.version = void 0;
|
240788
|
-
const build_utils_1 = __webpack_require__(3131);
|
240789
|
-
exports.version = 2;
|
240790
|
-
function build({ files, entrypoint, config: { zeroConfig, outputDirectory }, }) {
|
240791
|
-
const path = zeroConfig && outputDirectory
|
240792
|
-
? `${outputDirectory}/${entrypoint}`
|
240793
|
-
: entrypoint;
|
240794
|
-
return {
|
240795
|
-
output: {
|
240796
|
-
[entrypoint]: files[path],
|
240797
|
-
},
|
240798
|
-
routes: [],
|
240799
|
-
watch: [path],
|
240800
|
-
};
|
240801
|
-
}
|
240802
|
-
exports.build = build;
|
240803
|
-
function shouldServe(_opts) {
|
240804
|
-
const opts = { ..._opts };
|
240805
|
-
let { config: { zeroConfig, outputDirectory }, } = opts;
|
240806
|
-
// Add the output directory prefix
|
240807
|
-
if (zeroConfig && outputDirectory) {
|
240808
|
-
opts.entrypoint = `${outputDirectory}/${opts.entrypoint}`;
|
240809
|
-
opts.requestPath = `${outputDirectory}/${opts.requestPath}`;
|
240810
|
-
}
|
240811
|
-
return (0, build_utils_1.shouldServe)(opts);
|
240812
|
-
}
|
240813
|
-
exports.shouldServe = shouldServe;
|
240814
|
-
|
240815
|
-
|
240816
240500
|
/***/ }),
|
240817
240501
|
|
240818
240502
|
/***/ 97736:
|
@@ -249528,7 +249212,7 @@ module.exports = JSON.parse("{\"application/1d-interleaved-parityfec\":{\"source
|
|
249528
249212
|
/***/ ((module) => {
|
249529
249213
|
|
249530
249214
|
"use strict";
|
249531
|
-
module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.
|
249215
|
+
module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.3.0\",\"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 --env node --verbose --runInBand --bail --forceExit\",\"test-unit\":\"yarn test test/unit/\",\"test-integration-cli\":\"rimraf test/fixtures/integration && ava test/integration.js --serial --fail-fast --verbose\",\"test-integration-dev\":\"yarn test test/dev/\",\"coverage\":\"codecov\",\"build\":\"ts-node ./scripts/build.ts\",\"dev\":\"ts-node ./src/index.ts\"},\"bin\":{\"vc\":\"./dist/index.js\",\"vercel\":\"./dist/index.js\"},\"files\":[\"dist\",\"scripts/preinstall.js\"],\"ava\":{\"extensions\":[\"ts\"],\"require\":[\"ts-node/register/transpile-only\",\"esm\"]},\"engines\":{\"node\":\">= 14\"},\"dependencies\":{\"@vercel/build-utils\":\"5.4.3\",\"@vercel/go\":\"2.2.6\",\"@vercel/hydrogen\":\"0.0.19\",\"@vercel/next\":\"3.1.26\",\"@vercel/node\":\"2.5.15\",\"@vercel/python\":\"3.1.15\",\"@vercel/redwood\":\"1.0.24\",\"@vercel/remix\":\"1.0.25\",\"@vercel/ruby\":\"1.3.32\",\"@vercel/static-build\":\"1.0.24\",\"update-notifier\":\"5.1.0\"},\"devDependencies\":{\"@alex_neo/jest-expect-message\":\"1.0.5\",\"@next/env\":\"11.1.2\",\"@sentry/node\":\"5.5.0\",\"@sindresorhus/slugify\":\"0.11.0\",\"@swc/core\":\"1.2.218\",\"@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/ini\":\"1.3.31\",\"@types/inquirer\":\"7.3.1\",\"@types/jest\":\"27.4.1\",\"@types/jest-expect-message\":\"1.0.3\",\"@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/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\",\"@types/yauzl-promise\":\"2.1.0\",\"@vercel/client\":\"12.2.5\",\"@vercel/frameworks\":\"1.1.6\",\"@vercel/fs-detectors\":\"3.3.0\",\"@vercel/fun\":\"1.0.4\",\"@vercel/ncc\":\"0.24.0\",\"@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\",\"boxen\":\"4.2.0\",\"bytes\":\"3.0.0\",\"chalk\":\"4.1.0\",\"chance\":\"1.1.7\",\"chokidar\":\"3.3.1\",\"codecov\":\"3.8.2\",\"cpy\":\"7.2.0\",\"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\",\"git-last-commit\":\"1.0.1\",\"glob\":\"7.1.2\",\"http-proxy\":\"1.18.1\",\"ini\":\"3.0.0\",\"inquirer\":\"7.0.4\",\"is-docker\":\"2.2.1\",\"is-port-reachable\":\"3.1.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.7\",\"npm-package-arg\":\"6.1.0\",\"open\":\"8.4.0\",\"ora\":\"3.4.0\",\"pcre-to-regexp\":\"1.0.0\",\"pluralize\":\"7.0.0\",\"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-node\":\"10.9.1\",\"typescript\":\"4.7.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\",\"yauzl-promise\":\"2.1.3\"},\"jest\":{\"preset\":\"ts-jest\",\"globals\":{\"ts-jest\":{\"diagnostics\":false,\"isolatedModules\":true}},\"setupFilesAfterEnv\":[\"@alex_neo/jest-expect-message\"],\"verbose\":false,\"testEnvironment\":\"node\",\"testMatch\":[\"<rootDir>/test/**/*.test.ts\"]}}");
|
249532
249216
|
|
249533
249217
|
/***/ }),
|
249534
249218
|
|
@@ -249536,7 +249220,7 @@ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.2.5\",\"prefe
|
|
249536
249220
|
/***/ ((module) => {
|
249537
249221
|
|
249538
249222
|
"use strict";
|
249539
|
-
module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.2.
|
249223
|
+
module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.2.5\",\"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\":\"yarn test tests/create-deployment.test.ts tests/create-legacy-deployment.test.ts tests/paths.test.ts\",\"test\":\"jest --env node --verbose --runInBand --bail\",\"test-unit\":\"yarn test tests/unit.*test.*\"},\"engines\":{\"node\":\">= 14\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.1\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.4.1\",\"@types/minimatch\":\"3.0.5\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"12.0.4\",\"@types/node-fetch\":\"2.5.4\",\"@types/recursive-readdir\":\"2.2.0\",\"@types/tar-fs\":\"1.16.1\",\"typescript\":\"4.3.4\"},\"jest\":{\"preset\":\"ts-jest\",\"testEnvironment\":\"node\",\"verbose\":false,\"setupFilesAfterEnv\":[\"<rootDir>/tests/setup/index.ts\"]},\"dependencies\":{\"@vercel/build-utils\":\"5.4.3\",\"@vercel/routing-utils\":\"2.0.2\",\"@zeit/fetch\":\"5.2.0\",\"async-retry\":\"1.2.3\",\"async-sema\":\"3.0.0\",\"fs-extra\":\"8.0.1\",\"ignore\":\"4.0.6\",\"minimatch\":\"5.0.1\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.7\",\"querystring\":\"^0.2.0\",\"sleep-promise\":\"8.0.1\",\"tar-fs\":\"1.16.3\"}}");
|
249540
249224
|
|
249541
249225
|
/***/ }),
|
249542
249226
|
|