vercel 28.2.2 → 28.2.5
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 +146 -51
- package/package.json +15 -15
package/dist/index.js
CHANGED
@@ -210995,10 +210995,16 @@ exports.frameworks = [
|
|
210995
210995
|
website: 'https://www.sanity.io',
|
210996
210996
|
envPrefix: 'SANITY_STUDIO_',
|
210997
210997
|
detectors: {
|
210998
|
-
|
210998
|
+
some: [
|
210999
210999
|
{
|
211000
211000
|
path: 'sanity.json',
|
211001
211001
|
},
|
211002
|
+
{
|
211003
|
+
path: 'sanity.config.js',
|
211004
|
+
},
|
211005
|
+
{
|
211006
|
+
path: 'sanity.config.ts',
|
211007
|
+
},
|
211002
211008
|
],
|
211003
211009
|
},
|
211004
211010
|
settings: {
|
@@ -216387,12 +216393,13 @@ exports.detectFramework = detectFramework;
|
|
216387
216393
|
/***/ }),
|
216388
216394
|
|
216389
216395
|
/***/ 56114:
|
216390
|
-
/***/ ((__unused_webpack_module, exports) => {
|
216396
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
216391
216397
|
|
216392
216398
|
"use strict";
|
216393
216399
|
|
216394
216400
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
216395
216401
|
exports.DetectorFilesystem = void 0;
|
216402
|
+
const path_1 = __webpack_require__(85622);
|
216396
216403
|
/**
|
216397
216404
|
* `DetectorFilesystem` is an abstract class that represents a virtual filesystem
|
216398
216405
|
* to perform read-only operations on in order to detect which framework is being
|
@@ -216446,12 +216453,34 @@ class DetectorFilesystem {
|
|
216446
216453
|
};
|
216447
216454
|
/**
|
216448
216455
|
* Returns a list of Stat objects from the current working directory.
|
216456
|
+
* @param dirPath The path of the directory to read.
|
216457
|
+
* @param options.potentialFiles optional. Array of potential file names (relative to the path). If provided, these will be used to mark the filesystem caches as existing or not existing.
|
216449
216458
|
*/
|
216450
|
-
this.readdir = async (
|
216451
|
-
let p = this.readdirCache.get(
|
216459
|
+
this.readdir = async (dirPath, options) => {
|
216460
|
+
let p = this.readdirCache.get(dirPath);
|
216452
216461
|
if (!p) {
|
216453
|
-
p = this._readdir(
|
216454
|
-
this.readdirCache.set(
|
216462
|
+
p = this._readdir(dirPath);
|
216463
|
+
this.readdirCache.set(dirPath, p);
|
216464
|
+
const directoryContent = await p;
|
216465
|
+
const directoryFiles = new Set();
|
216466
|
+
for (const file of directoryContent) {
|
216467
|
+
if (file.type === 'file') {
|
216468
|
+
// we know this file exists, mark it as so on the filesystem
|
216469
|
+
this.fileCache.set(file.path, Promise.resolve(true));
|
216470
|
+
this.pathCache.set(file.path, Promise.resolve(true));
|
216471
|
+
directoryFiles.add(file.name);
|
216472
|
+
}
|
216473
|
+
}
|
216474
|
+
if (options?.potentialFiles) {
|
216475
|
+
// calculate the set of paths that truly do not exist
|
216476
|
+
const filesThatDoNotExist = options.potentialFiles.filter(path => !directoryFiles.has(path));
|
216477
|
+
for (const filePath of filesThatDoNotExist) {
|
216478
|
+
const fullFilePath = dirPath === '/' ? filePath : path_1.posix.join(dirPath, filePath);
|
216479
|
+
// we know this file does not exist, mark it as so on the filesystem
|
216480
|
+
this.fileCache.set(fullFilePath, Promise.resolve(false));
|
216481
|
+
this.pathCache.set(fullFilePath, Promise.resolve(false));
|
216482
|
+
}
|
216483
|
+
}
|
216455
216484
|
}
|
216456
216485
|
return p;
|
216457
216486
|
};
|
@@ -216461,22 +216490,21 @@ class DetectorFilesystem {
|
|
216461
216490
|
this.chdir = (name) => {
|
216462
216491
|
return this._chdir(name);
|
216463
216492
|
};
|
216493
|
+
/**
|
216494
|
+
* Writes a file to the filesystem cache.
|
216495
|
+
* @param name the name of the file to write
|
216496
|
+
* @param content The content of the file
|
216497
|
+
*/
|
216498
|
+
this.writeFile = async (name, content) => {
|
216499
|
+
this.readFileCache.set(name, Promise.resolve(Buffer.from(content)));
|
216500
|
+
this.fileCache.set(name, Promise.resolve(true));
|
216501
|
+
this.pathCache.set(name, Promise.resolve(true));
|
216502
|
+
};
|
216464
216503
|
this.pathCache = new Map();
|
216465
216504
|
this.fileCache = new Map();
|
216466
216505
|
this.readFileCache = new Map();
|
216467
216506
|
this.readdirCache = new Map();
|
216468
216507
|
}
|
216469
|
-
/**
|
216470
|
-
* Writes a file to the filesystem cache.
|
216471
|
-
* @param name the name of the file to write
|
216472
|
-
* @param content The content of the file
|
216473
|
-
*/
|
216474
|
-
writeFile(name, content) {
|
216475
|
-
if (content)
|
216476
|
-
this.readFileCache.set(name, Promise.resolve(Buffer.from(content)));
|
216477
|
-
this.fileCache.set(name, Promise.resolve(true));
|
216478
|
-
this.pathCache.set(name, Promise.resolve(true));
|
216479
|
-
}
|
216480
216508
|
}
|
216481
216509
|
exports.DetectorFilesystem = DetectorFilesystem;
|
216482
216510
|
//# sourceMappingURL=filesystem.js.map
|
@@ -216632,6 +216660,28 @@ exports.monorepoManagers = [
|
|
216632
216660
|
],
|
216633
216661
|
},
|
216634
216662
|
},
|
216663
|
+
{
|
216664
|
+
name: 'Nx',
|
216665
|
+
slug: 'nx',
|
216666
|
+
detectors: {
|
216667
|
+
every: [
|
216668
|
+
{
|
216669
|
+
path: 'nx.json',
|
216670
|
+
},
|
216671
|
+
],
|
216672
|
+
},
|
216673
|
+
},
|
216674
|
+
{
|
216675
|
+
name: 'Rush',
|
216676
|
+
slug: 'rush',
|
216677
|
+
detectors: {
|
216678
|
+
every: [
|
216679
|
+
{
|
216680
|
+
path: 'rush.json',
|
216681
|
+
},
|
216682
|
+
],
|
216683
|
+
},
|
216684
|
+
},
|
216635
216685
|
];
|
216636
216686
|
exports.default = exports.monorepoManagers;
|
216637
216687
|
//# sourceMappingURL=monorepo-managers.js.map
|
@@ -238853,6 +238903,7 @@ const tree_kill_1 = __webpack_require__(21780);
|
|
238853
238903
|
const headers_1 = __webpack_require__(17929);
|
238854
238904
|
const parse_query_string_1 = __webpack_require__(40165);
|
238855
238905
|
const is_error_1 = __webpack_require__(11026);
|
238906
|
+
const is_url_1 = __importDefault(__webpack_require__(4567));
|
238856
238907
|
const project_settings_1 = __webpack_require__(42697);
|
238857
238908
|
const frontendRuntimeSet = new Set(frameworks_1.default.map(f => f.useRuntime?.use || '@vercel/static-build'));
|
238858
238909
|
function sortBuilders(buildA, buildB) {
|
@@ -239070,14 +239121,32 @@ class DevServer {
|
|
239070
239121
|
return;
|
239071
239122
|
}
|
239072
239123
|
if (rewritePath) {
|
239073
|
-
// TODO: add validation?
|
239074
239124
|
debug(`Detected rewrite path from middleware: "${rewritePath}"`);
|
239075
239125
|
prevUrl = rewritePath;
|
239076
|
-
// Retain orginal pathname, but override query parameters from the rewrite
|
239077
239126
|
const beforeRewriteUrl = req.url || '/';
|
239078
|
-
|
239079
|
-
|
239080
|
-
|
239127
|
+
if ((0, is_url_1.default)(rewritePath)) {
|
239128
|
+
const rewriteUrlParsed = new url_1.URL(rewritePath);
|
239129
|
+
// `this.address` already has localhost normalized from ip4 and ip6 values
|
239130
|
+
if (this.address.origin === rewriteUrlParsed.origin) {
|
239131
|
+
// remove origin, leaving the path
|
239132
|
+
req.url =
|
239133
|
+
rewritePath.slice(rewriteUrlParsed.origin.length) || '/';
|
239134
|
+
prevUrl = req.url;
|
239135
|
+
}
|
239136
|
+
else {
|
239137
|
+
// Proxy to absolute URL with different origin
|
239138
|
+
debug(`ProxyPass: ${rewritePath}`);
|
239139
|
+
this.setResponseHeaders(res, requestId);
|
239140
|
+
proxyPass(req, res, rewritePath, this, requestId);
|
239141
|
+
return;
|
239142
|
+
}
|
239143
|
+
}
|
239144
|
+
else {
|
239145
|
+
// Retain orginal pathname, but override query parameters from the rewrite
|
239146
|
+
const rewriteUrlParsed = url_1.default.parse(beforeRewriteUrl);
|
239147
|
+
rewriteUrlParsed.search = url_1.default.parse(rewritePath).search;
|
239148
|
+
req.url = url_1.default.format(rewriteUrlParsed);
|
239149
|
+
}
|
239081
239150
|
debug(`Rewrote incoming HTTP URL from "${beforeRewriteUrl}" to "${req.url}"`);
|
239082
239151
|
}
|
239083
239152
|
}
|
@@ -239104,12 +239173,14 @@ class DevServer {
|
|
239104
239173
|
statusCode = undefined;
|
239105
239174
|
const phaseRoutes = handleMap.get(phase) || [];
|
239106
239175
|
routeResult = await (0, router_1.devRouter)(prevUrl, req.method, phaseRoutes, this, vercelConfig, prevHeaders, missRoutes, phase);
|
239107
|
-
|
239108
|
-
|
239109
|
-
|
239110
|
-
|
239111
|
-
|
239112
|
-
|
239176
|
+
if (routeResult.continue) {
|
239177
|
+
if (routeResult.dest) {
|
239178
|
+
prevUrl = getReqUrl(routeResult);
|
239179
|
+
}
|
239180
|
+
if (routeResult.headers) {
|
239181
|
+
prevHeaders = routeResult.headers;
|
239182
|
+
}
|
239183
|
+
}
|
239113
239184
|
if (routeResult.isDestUrl) {
|
239114
239185
|
// Mix the `routes` result dest query params into the req path
|
239115
239186
|
const destParsed = url_1.default.parse(routeResult.dest);
|
@@ -239192,8 +239263,8 @@ class DevServer {
|
|
239192
239263
|
const requestPath = dest.replace(/^\//, '');
|
239193
239264
|
if (!match) {
|
239194
239265
|
// If the dev command is started, then proxy to it
|
239195
|
-
if (this.
|
239196
|
-
const upstream =
|
239266
|
+
if (this.devProcessOrigin) {
|
239267
|
+
const upstream = this.devProcessOrigin;
|
239197
239268
|
debug(`Proxying to frontend dev server: ${upstream}`);
|
239198
239269
|
// Add the Vercel platform proxy request headers
|
239199
239270
|
const headers = this.getProxyHeaders(req, requestId, false);
|
@@ -239318,7 +239389,7 @@ class DevServer {
|
|
239318
239389
|
// Proxy to the dev server:
|
239319
239390
|
// - when there is no asset
|
239320
239391
|
// - when the asset is not a Lambda (the dev server must take care of all static files)
|
239321
|
-
if (this.
|
239392
|
+
if (this.devProcessOrigin &&
|
239322
239393
|
(!foundAsset || (foundAsset && foundAsset.asset.type !== 'Lambda'))) {
|
239323
239394
|
debug('Proxying to frontend dev server');
|
239324
239395
|
// Add the Vercel platform proxy request headers
|
@@ -239327,7 +239398,7 @@ class DevServer {
|
|
239327
239398
|
req.headers[name] = value;
|
239328
239399
|
}
|
239329
239400
|
this.setResponseHeaders(res, requestId);
|
239330
|
-
return proxyPass(req, res,
|
239401
|
+
return proxyPass(req, res, this.devProcessOrigin, this, requestId, false);
|
239331
239402
|
}
|
239332
239403
|
if (!foundAsset) {
|
239333
239404
|
await this.send404(req, res, requestId);
|
@@ -239429,7 +239500,6 @@ class DevServer {
|
|
239429
239500
|
this.systemEnvValues = options.systemEnvValues || [];
|
239430
239501
|
this.projectEnvs = options.projectEnvs || [];
|
239431
239502
|
this.files = {};
|
239432
|
-
this.address = '';
|
239433
239503
|
this.originalProjectSettings = options.projectSettings;
|
239434
239504
|
this.projectSettings = options.projectSettings;
|
239435
239505
|
this.caseSensitive = false;
|
@@ -239440,6 +239510,10 @@ class DevServer {
|
|
239440
239510
|
ws: true,
|
239441
239511
|
xfwd: true,
|
239442
239512
|
});
|
239513
|
+
this.proxy.on('proxyRes', proxyRes => {
|
239514
|
+
// override "server" header, like production
|
239515
|
+
proxyRes.headers['server'] = 'Vercel';
|
239516
|
+
});
|
239443
239517
|
this.server = http_1.default.createServer(this.devServerHandler);
|
239444
239518
|
this.server.timeout = 0; // Disable timeout
|
239445
239519
|
this.stopping = false;
|
@@ -239458,6 +239532,12 @@ class DevServer {
|
|
239458
239532
|
this.podId = Math.random().toString(32).slice(-5);
|
239459
239533
|
this.devServerPids = new Set();
|
239460
239534
|
}
|
239535
|
+
get address() {
|
239536
|
+
if (!this._address) {
|
239537
|
+
throw new Error('Invalid access to `address` because `start` has not yet populated `this.address`.');
|
239538
|
+
}
|
239539
|
+
return this._address;
|
239540
|
+
}
|
239461
239541
|
async exit(code = 1) {
|
239462
239542
|
await this.stop(code);
|
239463
239543
|
process.exit(code);
|
@@ -239819,7 +239899,7 @@ class DevServer {
|
|
239819
239899
|
let allEnv = { ...buildEnv, ...runEnv };
|
239820
239900
|
// If no .env/.build.env is present, use cloud environment variables
|
239821
239901
|
if (Object.keys(allEnv).length === 0) {
|
239822
|
-
const cloudEnv = (0, expose_system_envs_1.default)(this.projectEnvs || [], this.systemEnvValues || [], this.projectSettings?.autoExposeSystemEnvs,
|
239902
|
+
const cloudEnv = (0, expose_system_envs_1.default)(this.projectEnvs || [], this.systemEnvValues || [], this.projectSettings?.autoExposeSystemEnvs, this.address.host);
|
239823
239903
|
allEnv = { ...cloudEnv };
|
239824
239904
|
runEnv = { ...cloudEnv };
|
239825
239905
|
buildEnv = { ...cloudEnv };
|
@@ -239924,7 +240004,7 @@ class DevServer {
|
|
239924
240004
|
injectSystemValuesInDotenv(env) {
|
239925
240005
|
for (const name of Object.keys(env)) {
|
239926
240006
|
if (name === 'VERCEL_URL') {
|
239927
|
-
env['VERCEL_URL'] =
|
240007
|
+
env['VERCEL_URL'] = this.address.host;
|
239928
240008
|
}
|
239929
240009
|
else if (name === 'VERCEL_REGION') {
|
239930
240010
|
env['VERCEL_REGION'] = 'dev1';
|
@@ -239985,9 +240065,7 @@ class DevServer {
|
|
239985
240065
|
}
|
239986
240066
|
}
|
239987
240067
|
}
|
239988
|
-
this.
|
239989
|
-
.replace('[::]', 'localhost')
|
239990
|
-
.replace('127.0.0.1', 'localhost');
|
240068
|
+
this._address = new url_1.URL(address.replace('[::]', 'localhost').replace('127.0.0.1', 'localhost'));
|
239991
240069
|
const vercelConfig = await this.getVercelConfig();
|
239992
240070
|
const devCommandPromise = this.runDevCommand();
|
239993
240071
|
const files = await (0, get_files_1.staticFiles)(this.cwd, { output: this.output });
|
@@ -240059,17 +240137,22 @@ class DevServer {
|
|
240059
240137
|
// Configure the server to forward WebSocket "upgrade" events to the proxy.
|
240060
240138
|
this.server.on('upgrade', async (req, socket, head) => {
|
240061
240139
|
await this.startPromise;
|
240062
|
-
if (!this.
|
240140
|
+
if (!this.devProcessOrigin) {
|
240063
240141
|
this.output.debug(`Detected "upgrade" event, but closing socket because no frontend dev server is running`);
|
240064
240142
|
socket.destroy();
|
240065
240143
|
return;
|
240066
240144
|
}
|
240067
|
-
const target =
|
240145
|
+
const target = this.devProcessOrigin;
|
240068
240146
|
this.output.debug(`Detected "upgrade" event, proxying to ${target}`);
|
240069
240147
|
this.proxy.ws(req, socket, head, { target });
|
240070
240148
|
});
|
240071
240149
|
await devCommandPromise;
|
240072
|
-
|
240150
|
+
let addressFormatted = this.address.toString();
|
240151
|
+
if (this.address.pathname === '/' && this.address.protocol === 'http:') {
|
240152
|
+
// log address without trailing slash to maintain backwards compatibility
|
240153
|
+
addressFormatted = addressFormatted.replace(/\/$/, '');
|
240154
|
+
}
|
240155
|
+
this.output.ready(`Available at ${(0, link_1.default)(addressFormatted)}`);
|
240073
240156
|
}
|
240074
240157
|
/**
|
240075
240158
|
* Shuts down the `vercel dev` server, and cleans up any temporary resources.
|
@@ -240433,7 +240516,6 @@ class DevServer {
|
|
240433
240516
|
}
|
240434
240517
|
}
|
240435
240518
|
this.output.debug(`Spawning dev command: ${command}`);
|
240436
|
-
const devPort = new url_1.URL(this.address).port;
|
240437
240519
|
const proxyPort = new RegExp(port.toString(), 'g');
|
240438
240520
|
const p = (0, build_utils_1.spawnCommand)(command, {
|
240439
240521
|
stdio: ['inherit', 'pipe', 'pipe'],
|
@@ -240447,14 +240529,14 @@ class DevServer {
|
|
240447
240529
|
p.stderr.pipe(process.stderr);
|
240448
240530
|
p.stdout.setEncoding('utf8');
|
240449
240531
|
p.stdout.on('data', (data) => {
|
240450
|
-
process.stdout.write(data.replace(proxyPort,
|
240532
|
+
process.stdout.write(data.replace(proxyPort, this.address.port));
|
240451
240533
|
});
|
240452
240534
|
p.on('exit', (code, signal) => {
|
240453
240535
|
this.output.debug(`Dev command exited with "${signal || code}"`);
|
240454
|
-
this.
|
240536
|
+
this.devProcessOrigin = undefined;
|
240455
240537
|
});
|
240456
|
-
await checkForPort(port, 1000 * 60 * 5);
|
240457
|
-
this.
|
240538
|
+
const devProcessHost = await checkForPort(port, 1000 * 60 * 5);
|
240539
|
+
this.devProcessOrigin = `http://${devProcessHost}:${port}`;
|
240458
240540
|
}
|
240459
240541
|
}
|
240460
240542
|
exports.default = DevServer;
|
@@ -240648,14 +240730,27 @@ function needsBlockingBuild(buildMatch) {
|
|
240648
240730
|
return typeof builder.shouldServe !== 'function';
|
240649
240731
|
}
|
240650
240732
|
async function checkForPort(port, timeout) {
|
240651
|
-
|
240733
|
+
let host;
|
240652
240734
|
const start = Date.now();
|
240653
|
-
while (!(await (
|
240735
|
+
while (!(host = await getReachableHostOnPort(port))) {
|
240654
240736
|
if (Date.now() - start > timeout) {
|
240655
|
-
|
240737
|
+
break;
|
240656
240738
|
}
|
240657
240739
|
await (0, sleep_1.default)(100);
|
240658
240740
|
}
|
240741
|
+
if (!host) {
|
240742
|
+
throw new Error(`Detecting port ${port} timed out after ${timeout}ms`);
|
240743
|
+
}
|
240744
|
+
return host;
|
240745
|
+
}
|
240746
|
+
async function getReachableHostOnPort(port) {
|
240747
|
+
const optsIpv4 = { host: '127.0.0.1' };
|
240748
|
+
const optsIpv6 = { host: '::1' };
|
240749
|
+
const results = await Promise.all([
|
240750
|
+
(0, is_port_reachable_1.default)(port, optsIpv6).then(r => r && `[${optsIpv6.host}]`),
|
240751
|
+
(0, is_port_reachable_1.default)(port, optsIpv4).then(r => r && optsIpv4.host),
|
240752
|
+
]);
|
240753
|
+
return results.find(Boolean) || false;
|
240659
240754
|
}
|
240660
240755
|
function filterFrontendBuilds(build) {
|
240661
240756
|
const { name } = (0, npm_package_arg_1.default)(build.use);
|
@@ -249433,7 +249528,7 @@ module.exports = JSON.parse("{\"application/1d-interleaved-parityfec\":{\"source
|
|
249433
249528
|
/***/ ((module) => {
|
249434
249529
|
|
249435
249530
|
"use strict";
|
249436
|
-
module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.2.
|
249531
|
+
module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.2.5\",\"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.2\",\"@vercel/go\":\"2.2.5\",\"@vercel/hydrogen\":\"0.0.18\",\"@vercel/next\":\"3.1.25\",\"@vercel/node\":\"2.5.14\",\"@vercel/python\":\"3.1.14\",\"@vercel/redwood\":\"1.0.23\",\"@vercel/remix\":\"1.0.24\",\"@vercel/ruby\":\"1.3.31\",\"@vercel/static-build\":\"1.0.23\",\"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.4\",\"@vercel/frameworks\":\"1.1.5\",\"@vercel/fs-detectors\":\"3.2.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\"]}}");
|
249437
249532
|
|
249438
249533
|
/***/ }),
|
249439
249534
|
|
@@ -249441,7 +249536,7 @@ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.2.2\",\"prefe
|
|
249441
249536
|
/***/ ((module) => {
|
249442
249537
|
|
249443
249538
|
"use strict";
|
249444
|
-
module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.2.
|
249539
|
+
module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.2.4\",\"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.2\",\"@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\"}}");
|
249445
249540
|
|
249446
249541
|
/***/ }),
|
249447
249542
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "vercel",
|
3
|
-
"version": "28.2.
|
3
|
+
"version": "28.2.5",
|
4
4
|
"preferGlobal": true,
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"description": "The command-line interface for Vercel",
|
@@ -41,16 +41,16 @@
|
|
41
41
|
"node": ">= 14"
|
42
42
|
},
|
43
43
|
"dependencies": {
|
44
|
-
"@vercel/build-utils": "5.4.
|
45
|
-
"@vercel/go": "2.2.
|
46
|
-
"@vercel/hydrogen": "0.0.
|
47
|
-
"@vercel/next": "3.1.
|
48
|
-
"@vercel/node": "2.5.
|
49
|
-
"@vercel/python": "3.1.
|
50
|
-
"@vercel/redwood": "1.0.
|
51
|
-
"@vercel/remix": "1.0.
|
52
|
-
"@vercel/ruby": "1.3.
|
53
|
-
"@vercel/static-build": "1.0.
|
44
|
+
"@vercel/build-utils": "5.4.2",
|
45
|
+
"@vercel/go": "2.2.5",
|
46
|
+
"@vercel/hydrogen": "0.0.18",
|
47
|
+
"@vercel/next": "3.1.25",
|
48
|
+
"@vercel/node": "2.5.14",
|
49
|
+
"@vercel/python": "3.1.14",
|
50
|
+
"@vercel/redwood": "1.0.23",
|
51
|
+
"@vercel/remix": "1.0.24",
|
52
|
+
"@vercel/ruby": "1.3.31",
|
53
|
+
"@vercel/static-build": "1.0.23",
|
54
54
|
"update-notifier": "5.1.0"
|
55
55
|
},
|
56
56
|
"devDependencies": {
|
@@ -95,9 +95,9 @@
|
|
95
95
|
"@types/which": "1.3.2",
|
96
96
|
"@types/write-json-file": "2.2.1",
|
97
97
|
"@types/yauzl-promise": "2.1.0",
|
98
|
-
"@vercel/client": "12.2.
|
99
|
-
"@vercel/frameworks": "1.1.
|
100
|
-
"@vercel/fs-detectors": "2.
|
98
|
+
"@vercel/client": "12.2.4",
|
99
|
+
"@vercel/frameworks": "1.1.5",
|
100
|
+
"@vercel/fs-detectors": "3.2.0",
|
101
101
|
"@vercel/fun": "1.0.4",
|
102
102
|
"@vercel/ncc": "0.24.0",
|
103
103
|
"@zeit/source-map-support": "0.6.2",
|
@@ -193,5 +193,5 @@
|
|
193
193
|
"<rootDir>/test/**/*.test.ts"
|
194
194
|
]
|
195
195
|
},
|
196
|
-
"gitHead": "
|
196
|
+
"gitHead": "b5c3610113da7fedcba994151da5565584ca2023"
|
197
197
|
}
|