vercel 24.0.2-canary.0 → 24.1.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.
Files changed (2) hide show
  1. package/dist/index.js +91 -73
  2. package/package.json +9 -9
package/dist/index.js CHANGED
@@ -225414,6 +225414,7 @@ const help = () => `
225414
225414
 
225415
225415
  -h, --help Output usage information
225416
225416
  -v, --version Output the version number
225417
+ --cwd Current working directory
225417
225418
  -V, --platform-version Set the platform version to deploy to
225418
225419
  -A ${chalk_1.default.bold.underline('FILE')}, --local-config=${chalk_1.default.bold.underline('FILE')} Path to the local ${'`vercel.json`'} file
225419
225420
  -Q ${chalk_1.default.bold.underline('DIR')}, --global-config=${chalk_1.default.bold.underline('DIR')} Path to the global ${'`.vercel`'} directory
@@ -227905,6 +227906,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
227905
227906
  };
227906
227907
  Object.defineProperty(exports, "__esModule", ({ value: true }));
227907
227908
  const chalk_1 = __importDefault(__webpack_require__(961));
227909
+ const types_1 = __webpack_require__(25748);
227908
227910
  const env_target_1 = __webpack_require__(65373);
227909
227911
  const get_args_1 = __importDefault(__webpack_require__(87612));
227910
227912
  const get_invalid_subcommand_1 = __importDefault(__webpack_require__(89543));
@@ -228019,8 +228021,7 @@ async function main(client) {
228019
228021
  case 'rm':
228020
228022
  return rm_1.default(client, project, argv, args, output);
228021
228023
  case 'pull':
228022
- output.warn(`${pkg_name_1.getCommandName('env pull')} is deprecated and will be removed in future releases. Run ${pkg_name_1.getCommandName('pull')} instead.`);
228023
- return pull_1.default(client, project, argv, args, output);
228024
+ return pull_1.default(client, project, types_1.ProjectEnvTarget.Development, argv, args, output);
228024
228025
  default:
228025
228026
  output.error(get_invalid_subcommand_1.default(COMMAND_CONFIG));
228026
228027
  help();
@@ -228158,14 +228159,14 @@ function tryReadHeadSync(path, length) {
228158
228159
  }
228159
228160
  }
228160
228161
  }
228161
- async function pull(client, project, opts, args, output) {
228162
+ async function pull(client, project, environment, opts, args, output, cwd = process.cwd()) {
228162
228163
  if (args.length > 1) {
228163
228164
  output.error(`Invalid number of arguments. Usage: ${pkg_name_1.getCommandName(`env pull <file>`)}`);
228164
228165
  return 1;
228165
228166
  }
228166
228167
  // handle relative or absolute filename
228167
228168
  const [filename = '.env'] = args;
228168
- const fullPath = path_1.resolve(filename);
228169
+ const fullPath = path_1.resolve(cwd, filename);
228169
228170
  const skipConfirmation = opts['--yes'];
228170
228171
  const head = tryReadHeadSync(fullPath, Buffer.byteLength(CONTENTS_PREFIX));
228171
228172
  const exists = typeof head !== 'undefined';
@@ -228182,7 +228183,7 @@ async function pull(client, project, opts, args, output) {
228182
228183
  const pullStamp = stamp_1.default();
228183
228184
  output.spinner('Downloading');
228184
228185
  const [{ envs: projectEnvs }, { systemEnvValues }] = await Promise.all([
228185
- get_decrypted_env_records_1.default(output, client, project.id),
228186
+ get_decrypted_env_records_1.default(output, client, project.id, environment),
228186
228187
  project.autoExposeSystemEnvs
228187
228188
  ? get_system_env_values_1.default(output, client, project.id)
228188
228189
  : { systemEnvValues: [] },
@@ -229797,6 +229798,7 @@ const pkg_name_1 = __webpack_require__(98106);
229797
229798
  const link_1 = __webpack_require__(67630);
229798
229799
  const project_settings_1 = __webpack_require__(42697);
229799
229800
  const pull_1 = __importDefault(__webpack_require__(57571));
229801
+ const env_target_1 = __webpack_require__(65373);
229800
229802
  const help = () => {
229801
229803
  return console.log(`
229802
229804
  ${chalk_1.default.bold(`${logo_1.default} ${pkg_name_1.getPkgName()} pull`)} [path]
@@ -229807,7 +229809,7 @@ const help = () => {
229807
229809
  -A ${chalk_1.default.bold.underline('FILE')}, --local-config=${chalk_1.default.bold.underline('FILE')} Path to the local ${'`vercel.json`'} file
229808
229810
  -Q ${chalk_1.default.bold.underline('DIR')}, --global-config=${chalk_1.default.bold.underline('DIR')} Path to the global ${'`.vercel`'} directory
229809
229811
  -d, --debug Debug mode [off]
229810
- --env [filename] The file to write Development Environment Variables to [.env]
229812
+ --environment [environment] Deployment environment [development]
229811
229813
  -y, --yes Skip the confirmation prompt
229812
229814
 
229813
229815
  ${chalk_1.default.dim('Examples:')}
@@ -229818,32 +229820,37 @@ const help = () => {
229818
229820
  ${chalk_1.default.cyan(`$ ${pkg_name_1.getPkgName()} pull ./path-to-project`)}
229819
229821
  ${chalk_1.default.cyan(`$ ${pkg_name_1.getPkgName()} pull --env .env.local`)}
229820
229822
  ${chalk_1.default.cyan(`$ ${pkg_name_1.getPkgName()} pull ./path-to-project --env .env.local`)}
229823
+
229824
+ ${chalk_1.default.gray('–')} Pull specific environment's Project Settings from the cloud
229825
+
229826
+ ${chalk_1.default.cyan(`$ ${pkg_name_1.getPkgName()} pull --environment=${env_target_1.getEnvTargetPlaceholder()}`)}
229821
229827
  `);
229822
229828
  };
229823
- async function main(client) {
229824
- var _a;
229825
- let argv;
229829
+ function processArgs(client) {
229830
+ return get_args_1.default(client.argv.slice(2), {
229831
+ '--yes': Boolean,
229832
+ '--env': String,
229833
+ '--environment': String,
229834
+ '--debug': Boolean,
229835
+ '-d': '--debug',
229836
+ '-y': '--yes',
229837
+ });
229838
+ }
229839
+ function parseArgs(client) {
229826
229840
  try {
229827
- argv = get_args_1.default(client.argv.slice(2), {
229828
- '--yes': Boolean,
229829
- '--env': String,
229830
- '--debug': Boolean,
229831
- '-d': '--debug',
229832
- '-y': '--yes',
229833
- });
229841
+ const argv = processArgs(client);
229842
+ if (argv['--help']) {
229843
+ help();
229844
+ return 2;
229845
+ }
229846
+ return argv;
229834
229847
  }
229835
229848
  catch (err) {
229836
229849
  handle_error_1.default(err);
229837
229850
  return 1;
229838
229851
  }
229839
- if (argv['--help']) {
229840
- help();
229841
- return 2;
229842
- }
229843
- const cwd = argv._[1] || process.cwd();
229844
- const yes = argv['--yes'];
229845
- const env = (_a = argv['--env']) !== null && _a !== void 0 ? _a : '.env';
229846
- const settingsStamp = stamp_1.default();
229852
+ }
229853
+ async function ensureLink(client, cwd, yes) {
229847
229854
  let link = await link_1.getLinkedProject(client, cwd);
229848
229855
  if (link.status === 'not_linked') {
229849
229856
  link = await setup_and_link_1.default(client, cwd, {
@@ -229859,14 +229866,38 @@ async function main(client) {
229859
229866
  if (link.status === 'error') {
229860
229867
  return link.exitCode;
229861
229868
  }
229869
+ return { org: link.org, project: link.project };
229870
+ }
229871
+ async function pullAllEnvFiles(environment, client, project, argv, cwd) {
229872
+ const environmentFile = `.env.${environment}.local`;
229873
+ return pull_1.default(client, project, environment, argv, [path_1.join('.vercel', environmentFile)], client.output, cwd);
229874
+ }
229875
+ function parseEnvironment(environment = 'development') {
229876
+ if (!env_target_1.isValidEnvTarget(environment)) {
229877
+ throw new Error(`environment "${environment}" not supported; must be one of ${env_target_1.getEnvTargetPlaceholder()}`);
229878
+ }
229879
+ return environment;
229880
+ }
229881
+ async function main(client) {
229882
+ const argv = parseArgs(client);
229883
+ if (typeof argv === 'number') {
229884
+ return argv;
229885
+ }
229886
+ const cwd = argv._[1] || process.cwd();
229887
+ const yes = Boolean(argv['--yes']);
229888
+ const environment = parseEnvironment(argv['--environment'] || undefined);
229889
+ const link = await ensureLink(client, cwd, yes);
229890
+ if (typeof link === 'number') {
229891
+ return link;
229892
+ }
229862
229893
  const { project, org } = link;
229863
229894
  client.config.currentTeam = org.type === 'team' ? org.id : undefined;
229864
- const result = await pull_1.default(client, project, argv, [path_1.join(cwd, env)], client.output);
229865
- if (result !== 0) {
229866
- // an error happened
229867
- return result;
229895
+ const pullResultCode = await pullAllEnvFiles(environment, client, project, argv, cwd);
229896
+ if (pullResultCode !== 0) {
229897
+ return pullResultCode;
229868
229898
  }
229869
229899
  await project_settings_1.writeProjectSettings(cwd, project, org);
229900
+ const settingsStamp = stamp_1.default();
229870
229901
  client.output.print(`${emoji_1.prependEmoji(`Downloaded project settings to ${chalk_1.default.bold(path_1.join(link_1.VERCEL_DIR, link_1.VERCEL_DIR_PROJECT))} ${chalk_1.default.gray(settingsStamp())}`, emoji_1.emoji('success'))}\n`);
229871
229902
  return 0;
229872
229903
  }
@@ -231019,6 +231050,10 @@ const main = async () => {
231019
231050
  output.prettyError(localConfig);
231020
231051
  return 1;
231021
231052
  }
231053
+ const cwd = argv['--cwd'];
231054
+ if (cwd) {
231055
+ process.chdir(cwd);
231056
+ }
231022
231057
  // Print update information, if available
231023
231058
  if (notifier.update && notifier.update.latest !== pkg_1.default.version && isTTY) {
231024
231059
  const { latest } = notifier.update;
@@ -231178,27 +231213,9 @@ const main = async () => {
231178
231213
  const targetPathExists = fs_1.existsSync(targetPath);
231179
231214
  const subcommandExists = GLOBAL_COMMANDS.has(targetOrSubcommand) ||
231180
231215
  commands_1.default.has(targetOrSubcommand);
231181
- if (targetPathExists && subcommandExists) {
231182
- const fileType = fs_1.lstatSync(targetPath).isDirectory()
231183
- ? 'subdirectory'
231184
- : 'file';
231185
- const plural = targetOrSubcommand + 's';
231186
- const singular = targetOrSubcommand.endsWith('s')
231187
- ? targetOrSubcommand.slice(0, -1)
231188
- : '';
231189
- let alternative = '';
231190
- if (commands_1.default.has(plural)) {
231191
- alternative = plural;
231192
- }
231193
- else if (commands_1.default.has(singular)) {
231194
- alternative = singular;
231195
- }
231196
- console.error(error_1.default(`The supplied argument ${param_1.default(targetOrSubcommand)} is ambiguous.` +
231197
- `\nIf you wish to deploy the ${fileType} ${param_1.default(targetOrSubcommand)}, first run "cd ${targetOrSubcommand}". ` +
231198
- (alternative
231199
- ? `\nIf you wish to use the subcommand ${param_1.default(targetOrSubcommand)}, use ${param_1.default(alternative)} instead.`
231200
- : '')));
231201
- return 1;
231216
+ if (targetPathExists && subcommandExists && !argv['--cwd']) {
231217
+ output.warn(`Did you mean to deploy the subdirectory "${targetOrSubcommand}"? ` +
231218
+ `Use \`vc --cwd ${targetOrSubcommand}\` instead.`);
231202
231219
  }
231203
231220
  if (subcommandExists) {
231204
231221
  debug(`user supplied known subcommand: "${targetOrSubcommand}"`);
@@ -231860,7 +231877,8 @@ const ARG_COMMON = {
231860
231877
  '--global-config': String,
231861
231878
  '-Q': '--global-config',
231862
231879
  '--api': String,
231863
- '--target': String
231880
+ '--target': String,
231881
+ '--cwd': String,
231864
231882
  };
231865
231883
  exports.default = () => ARG_COMMON;
231866
231884
 
@@ -234292,11 +234310,11 @@ function getSystemEnvValue(systemEnvRef, { vercelUrl }) {
234292
234310
  }
234293
234311
  return '';
234294
234312
  }
234295
- function exposeSystemEnvs(projectEnvs, systemEnvValues, autoExposeSystemEnvs, vercelUrl) {
234313
+ function exposeSystemEnvs(projectEnvs, systemEnvValues, autoExposeSystemEnvs, vercelUrl, target) {
234296
234314
  const envs = {};
234297
234315
  if (autoExposeSystemEnvs) {
234298
234316
  envs['VERCEL'] = '1';
234299
- envs['VERCEL_ENV'] = 'development';
234317
+ envs['VERCEL_ENV'] = target || 'development';
234300
234318
  for (const key of systemEnvValues) {
234301
234319
  envs[key] = getSystemEnvValue(key, { vercelUrl });
234302
234320
  }
@@ -237845,7 +237863,7 @@ async function addEnvRecord(output, client, projectId, type, key, value, targets
237845
237863
  target: targets,
237846
237864
  gitBranch: gitBranch || undefined,
237847
237865
  };
237848
- const url = `/v7/projects/${projectId}/env`;
237866
+ const url = `/v8/projects/${projectId}/env`;
237849
237867
  await client.fetch(url, {
237850
237868
  method: 'POST',
237851
237869
  body: JSON.stringify(body),
@@ -237926,7 +237944,7 @@ async function getEnvRecords(output, client, projectId, { target, gitBranch, dec
237926
237944
  if (decrypt) {
237927
237945
  query.set('decrypt', decrypt.toString());
237928
237946
  }
237929
- const url = `/v7/projects/${projectId}/env?${query}`;
237947
+ const url = `/v8/projects/${projectId}/env?${query}`;
237930
237948
  return client.fetch(url);
237931
237949
  }
237932
237950
  exports.default = getEnvRecords;
@@ -237982,7 +238000,7 @@ exports.isKnownError = isKnownError;
237982
238000
  Object.defineProperty(exports, "__esModule", ({ value: true }));
237983
238001
  async function removeEnvRecord(output, client, projectId, env) {
237984
238002
  output.debug(`Removing Environment Variable ${env.key}`);
237985
- const urlProject = `/v7/projects/${projectId}/env/${env.id}`;
238003
+ const urlProject = `/v8/projects/${projectId}/env/${env.id}`;
237986
238004
  await client.fetch(urlProject, {
237987
238005
  method: 'DELETE',
237988
238006
  });
@@ -239397,9 +239415,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
239397
239415
  Object.defineProperty(exports, "__esModule", ({ value: true }));
239398
239416
  const types_1 = __webpack_require__(25748);
239399
239417
  const get_env_records_1 = __importDefault(__webpack_require__(4622));
239400
- async function getDecryptedEnvRecords(output, client, projectId) {
239418
+ async function getDecryptedEnvRecords(output, client, projectId, target) {
239401
239419
  const { envs } = await get_env_records_1.default(output, client, projectId, {
239402
- target: types_1.ProjectEnvTarget.Development,
239420
+ target: target || types_1.ProjectEnvTarget.Development,
239403
239421
  decrypt: true,
239404
239422
  });
239405
239423
  const envsWithDecryptedSecrets = await Promise.all(envs.map(async ({ id, type, key, value }) => {
@@ -240552,20 +240570,20 @@ async function inputProject(client, org, detectedProjectName, autoConfirm = fals
240552
240570
  // attempt to auto-detect a project to link
240553
240571
  let detectedProject = null;
240554
240572
  output.spinner('Searching for existing projects…', 1000);
240555
- try {
240556
- const [project, slugifiedProject] = await Promise.all([
240557
- get_project_by_id_or_name_1.default(client, detectedProjectName, org.id),
240558
- slugifiedName !== detectedProjectName
240559
- ? get_project_by_id_or_name_1.default(client, slugifiedName, org.id)
240560
- : null,
240561
- ]);
240562
- detectedProject = !(project instanceof errors_ts_1.ProjectNotFound)
240563
- ? project
240564
- : !(slugifiedProject instanceof errors_ts_1.ProjectNotFound)
240565
- ? slugifiedProject
240566
- : null;
240573
+ const [project, slugifiedProject] = await Promise.all([
240574
+ get_project_by_id_or_name_1.default(client, detectedProjectName, org.id),
240575
+ slugifiedName !== detectedProjectName
240576
+ ? get_project_by_id_or_name_1.default(client, slugifiedName, org.id)
240577
+ : null,
240578
+ ]);
240579
+ detectedProject = !(project instanceof errors_ts_1.ProjectNotFound)
240580
+ ? project
240581
+ : !(slugifiedProject instanceof errors_ts_1.ProjectNotFound)
240582
+ ? slugifiedProject
240583
+ : null;
240584
+ if (detectedProject && !detectedProject.id) {
240585
+ throw new Error(`Detected linked project does not have "id".`);
240567
240586
  }
240568
- catch (error) { }
240569
240587
  output.stopSpinner();
240570
240588
  if (autoConfirm) {
240571
240589
  return detectedProject || detectedProjectName;
@@ -243404,7 +243422,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
243404
243422
  const errors_ts_1 = __webpack_require__(60156);
243405
243423
  async function getProjectByNameOrId(client, projectNameOrId, accountId) {
243406
243424
  try {
243407
- const project = await client.fetch(`/projects/${encodeURIComponent(projectNameOrId)}`, { accountId });
243425
+ const project = await client.fetch(`/v8/projects/${encodeURIComponent(projectNameOrId)}`, { accountId });
243408
243426
  return project;
243409
243427
  }
243410
243428
  catch (error) {
@@ -244630,7 +244648,7 @@ module.exports = JSON.parse("[\"ac\",\"com.ac\",\"edu.ac\",\"gov.ac\",\"net.ac\"
244630
244648
  /***/ ((module) => {
244631
244649
 
244632
244650
  "use strict";
244633
- module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"24.0.2-canary.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\",\"test-unit\":\"jest --coverage --verbose\",\"test-integration-cli\":\"rimraf test/fixtures/integration && ava test/integration.js --serial --fail-fast --verbose\",\"test-integration-dev\":\"ava test/dev/integration.js --serial --fail-fast --verbose\",\"prepublishOnly\":\"yarn build\",\"coverage\":\"codecov\",\"build\":\"node -r ts-eager/register ./scripts/build.ts\",\"build-dev\":\"node -r ts-eager/register ./scripts/build.ts --dev\"},\"bin\":{\"vc\":\"./dist/index.js\",\"vercel\":\"./dist/index.js\"},\"files\":[\"dist\",\"scripts/preinstall.js\"],\"ava\":{\"compileEnhancements\":false,\"extensions\":[\"ts\"],\"require\":[\"ts-node/register/transpile-only\",\"esm\"]},\"engines\":{\"node\":\">= 12\"},\"dependencies\":{\"@vercel/build-utils\":\"2.15.1-canary.0\",\"@vercel/go\":\"1.3.2-canary.0\",\"@vercel/node\":\"1.14.1-canary.0\",\"@vercel/python\":\"2.2.2-canary.0\",\"@vercel/ruby\":\"1.3.2-canary.0\",\"update-notifier\":\"4.1.0\"},\"devDependencies\":{\"@next/env\":\"11.1.2\",\"@sentry/node\":\"5.5.0\",\"@sindresorhus/slugify\":\"0.11.0\",\"@tootallnate/once\":\"1.1.2\",\"@types/ansi-escapes\":\"3.0.0\",\"@types/ansi-regex\":\"4.0.0\",\"@types/async-retry\":\"1.2.1\",\"@types/bytes\":\"3.0.0\",\"@types/chance\":\"1.1.3\",\"@types/debug\":\"0.0.31\",\"@types/dotenv\":\"6.1.1\",\"@types/escape-html\":\"0.0.20\",\"@types/express\":\"4.17.13\",\"@types/fs-extra\":\"9.0.13\",\"@types/glob\":\"7.1.1\",\"@types/http-proxy\":\"1.16.2\",\"@types/inquirer\":\"7.3.1\",\"@types/jest\":\"27.0.1\",\"@types/load-json-file\":\"2.0.7\",\"@types/mime-types\":\"2.1.0\",\"@types/minimatch\":\"3.0.3\",\"@types/mri\":\"1.1.0\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"11.11.0\",\"@types/node-fetch\":\"2.5.10\",\"@types/npm-package-arg\":\"6.1.0\",\"@types/pluralize\":\"0.0.29\",\"@types/progress\":\"2.0.3\",\"@types/psl\":\"1.1.0\",\"@types/semver\":\"6.0.1\",\"@types/tar-fs\":\"1.16.1\",\"@types/text-table\":\"0.2.0\",\"@types/title\":\"3.4.1\",\"@types/universal-analytics\":\"0.4.2\",\"@types/update-notifier\":\"5.1.0\",\"@types/which\":\"1.3.2\",\"@types/write-json-file\":\"2.2.1\",\"@vercel/client\":\"10.4.1-canary.0\",\"@vercel/fetch-retry\":\"5.0.3\",\"@vercel/frameworks\":\"0.7.1-canary.0\",\"@vercel/ncc\":\"0.24.0\",\"@vercel/nft\":\"0.17.5\",\"@zeit/fun\":\"0.11.2\",\"@zeit/source-map-support\":\"0.6.2\",\"ajv\":\"6.12.2\",\"alpha-sort\":\"2.0.1\",\"ansi-escapes\":\"3.0.0\",\"ansi-regex\":\"3.0.0\",\"arg\":\"5.0.0\",\"async-listen\":\"1.2.0\",\"async-retry\":\"1.1.3\",\"async-sema\":\"2.1.4\",\"ava\":\"2.2.0\",\"bytes\":\"3.0.0\",\"chalk\":\"4.1.0\",\"chance\":\"1.1.7\",\"chokidar\":\"3.3.1\",\"clipboardy\":\"2.1.0\",\"codecov\":\"3.8.2\",\"cpy\":\"7.2.0\",\"credit-card\":\"3.0.1\",\"date-fns\":\"1.29.0\",\"debug\":\"3.1.0\",\"dot\":\"1.1.3\",\"dotenv\":\"4.0.0\",\"email-prompt\":\"0.3.2\",\"email-validator\":\"1.1.1\",\"epipebomb\":\"1.0.0\",\"escape-html\":\"1.0.3\",\"esm\":\"3.1.4\",\"execa\":\"3.2.0\",\"express\":\"4.17.1\",\"fast-deep-equal\":\"3.1.3\",\"fs-extra\":\"10.0.0\",\"get-port\":\"5.1.1\",\"glob\":\"7.1.2\",\"http-proxy\":\"1.18.1\",\"inquirer\":\"7.0.4\",\"is-docker\":\"2.2.1\",\"is-port-reachable\":\"3.0.0\",\"is-url\":\"1.2.2\",\"jaro-winkler\":\"0.2.8\",\"jsonlines\":\"0.1.1\",\"load-json-file\":\"3.0.0\",\"mime-types\":\"2.1.24\",\"minimatch\":\"3.0.4\",\"mri\":\"1.1.5\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.1\",\"npm-package-arg\":\"6.1.0\",\"open\":\"8.4.0\",\"ora\":\"3.4.0\",\"pcre-to-regexp\":\"1.0.0\",\"pluralize\":\"7.0.0\",\"progress\":\"2.0.3\",\"promisepipe\":\"3.0.0\",\"psl\":\"1.1.31\",\"qr-image\":\"3.2.0\",\"raw-body\":\"2.4.1\",\"rimraf\":\"3.0.2\",\"semver\":\"5.5.0\",\"serve-handler\":\"6.1.1\",\"strip-ansi\":\"5.2.0\",\"stripe\":\"5.1.0\",\"tar-fs\":\"1.16.3\",\"test-listen\":\"1.1.0\",\"text-table\":\"0.2.0\",\"title\":\"3.4.1\",\"tmp-promise\":\"1.0.3\",\"tree-kill\":\"1.2.2\",\"ts-node\":\"8.3.0\",\"typescript\":\"4.3.4\",\"universal-analytics\":\"0.4.20\",\"utility-types\":\"2.1.0\",\"which\":\"2.0.2\",\"write-json-file\":\"2.2.0\",\"xdg-app-paths\":\"5.1.0\"},\"jest\":{\"preset\":\"ts-jest\",\"globals\":{\"ts-jest\":{\"diagnostics\":false,\"isolatedModules\":true}},\"verbose\":false,\"testEnvironment\":\"node\",\"testMatch\":[\"<rootDir>/test/**/*.test.ts\"]},\"gitHead\":\"c76dfbe8c9e1055113fe7ced8850bca4a64ad232\"}");
244651
+ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"24.1.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\",\"test-unit\":\"jest --coverage --verbose\",\"test-integration-cli\":\"rimraf test/fixtures/integration && ava test/integration.js --serial --fail-fast --verbose\",\"test-integration-dev\":\"ava test/dev/integration.js --serial --fail-fast --verbose\",\"prepublishOnly\":\"yarn build\",\"coverage\":\"codecov\",\"build\":\"node -r ts-eager/register ./scripts/build.ts\",\"build-dev\":\"node -r ts-eager/register ./scripts/build.ts --dev\"},\"bin\":{\"vc\":\"./dist/index.js\",\"vercel\":\"./dist/index.js\"},\"files\":[\"dist\",\"scripts/preinstall.js\"],\"ava\":{\"compileEnhancements\":false,\"extensions\":[\"ts\"],\"require\":[\"ts-node/register/transpile-only\",\"esm\"]},\"engines\":{\"node\":\">= 12\"},\"dependencies\":{\"@vercel/build-utils\":\"2.15.1\",\"@vercel/go\":\"1.3.2\",\"@vercel/node\":\"1.14.1\",\"@vercel/python\":\"2.2.2\",\"@vercel/ruby\":\"1.3.2\",\"update-notifier\":\"4.1.0\"},\"devDependencies\":{\"@next/env\":\"11.1.2\",\"@sentry/node\":\"5.5.0\",\"@sindresorhus/slugify\":\"0.11.0\",\"@tootallnate/once\":\"1.1.2\",\"@types/ansi-escapes\":\"3.0.0\",\"@types/ansi-regex\":\"4.0.0\",\"@types/async-retry\":\"1.2.1\",\"@types/bytes\":\"3.0.0\",\"@types/chance\":\"1.1.3\",\"@types/debug\":\"0.0.31\",\"@types/dotenv\":\"6.1.1\",\"@types/escape-html\":\"0.0.20\",\"@types/express\":\"4.17.13\",\"@types/fs-extra\":\"9.0.13\",\"@types/glob\":\"7.1.1\",\"@types/http-proxy\":\"1.16.2\",\"@types/inquirer\":\"7.3.1\",\"@types/jest\":\"27.0.1\",\"@types/load-json-file\":\"2.0.7\",\"@types/mime-types\":\"2.1.0\",\"@types/minimatch\":\"3.0.3\",\"@types/mri\":\"1.1.0\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"11.11.0\",\"@types/node-fetch\":\"2.5.10\",\"@types/npm-package-arg\":\"6.1.0\",\"@types/pluralize\":\"0.0.29\",\"@types/progress\":\"2.0.3\",\"@types/psl\":\"1.1.0\",\"@types/semver\":\"6.0.1\",\"@types/tar-fs\":\"1.16.1\",\"@types/text-table\":\"0.2.0\",\"@types/title\":\"3.4.1\",\"@types/universal-analytics\":\"0.4.2\",\"@types/update-notifier\":\"5.1.0\",\"@types/which\":\"1.3.2\",\"@types/write-json-file\":\"2.2.1\",\"@vercel/client\":\"10.4.1\",\"@vercel/fetch-retry\":\"5.0.3\",\"@vercel/frameworks\":\"0.7.1\",\"@vercel/ncc\":\"0.24.0\",\"@vercel/nft\":\"0.17.5\",\"@zeit/fun\":\"0.11.2\",\"@zeit/source-map-support\":\"0.6.2\",\"ajv\":\"6.12.2\",\"alpha-sort\":\"2.0.1\",\"ansi-escapes\":\"3.0.0\",\"ansi-regex\":\"3.0.0\",\"arg\":\"5.0.0\",\"async-listen\":\"1.2.0\",\"async-retry\":\"1.1.3\",\"async-sema\":\"2.1.4\",\"ava\":\"2.2.0\",\"bytes\":\"3.0.0\",\"chalk\":\"4.1.0\",\"chance\":\"1.1.7\",\"chokidar\":\"3.3.1\",\"clipboardy\":\"2.1.0\",\"codecov\":\"3.8.2\",\"cpy\":\"7.2.0\",\"credit-card\":\"3.0.1\",\"date-fns\":\"1.29.0\",\"debug\":\"3.1.0\",\"dot\":\"1.1.3\",\"dotenv\":\"4.0.0\",\"email-prompt\":\"0.3.2\",\"email-validator\":\"1.1.1\",\"epipebomb\":\"1.0.0\",\"escape-html\":\"1.0.3\",\"esm\":\"3.1.4\",\"execa\":\"3.2.0\",\"express\":\"4.17.1\",\"fast-deep-equal\":\"3.1.3\",\"fs-extra\":\"10.0.0\",\"get-port\":\"5.1.1\",\"glob\":\"7.1.2\",\"http-proxy\":\"1.18.1\",\"inquirer\":\"7.0.4\",\"is-docker\":\"2.2.1\",\"is-port-reachable\":\"3.0.0\",\"is-url\":\"1.2.2\",\"jaro-winkler\":\"0.2.8\",\"jsonlines\":\"0.1.1\",\"load-json-file\":\"3.0.0\",\"mime-types\":\"2.1.24\",\"minimatch\":\"3.0.4\",\"mri\":\"1.1.5\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.1\",\"npm-package-arg\":\"6.1.0\",\"open\":\"8.4.0\",\"ora\":\"3.4.0\",\"pcre-to-regexp\":\"1.0.0\",\"pluralize\":\"7.0.0\",\"progress\":\"2.0.3\",\"promisepipe\":\"3.0.0\",\"psl\":\"1.1.31\",\"qr-image\":\"3.2.0\",\"raw-body\":\"2.4.1\",\"rimraf\":\"3.0.2\",\"semver\":\"5.5.0\",\"serve-handler\":\"6.1.1\",\"strip-ansi\":\"5.2.0\",\"stripe\":\"5.1.0\",\"tar-fs\":\"1.16.3\",\"test-listen\":\"1.1.0\",\"text-table\":\"0.2.0\",\"title\":\"3.4.1\",\"tmp-promise\":\"1.0.3\",\"tree-kill\":\"1.2.2\",\"ts-node\":\"8.3.0\",\"typescript\":\"4.3.4\",\"universal-analytics\":\"0.4.20\",\"utility-types\":\"2.1.0\",\"which\":\"2.0.2\",\"write-json-file\":\"2.2.0\",\"xdg-app-paths\":\"5.1.0\"},\"jest\":{\"preset\":\"ts-jest\",\"globals\":{\"ts-jest\":{\"diagnostics\":false,\"isolatedModules\":true}},\"verbose\":false,\"testEnvironment\":\"node\",\"testMatch\":[\"<rootDir>/test/**/*.test.ts\"]},\"gitHead\":\"4a8504fc45092dc4a374bf7a518bd9a07f24fd41\"}");
244634
244652
 
244635
244653
  /***/ }),
244636
244654
 
@@ -244646,7 +244664,7 @@ module.exports = JSON.parse("{\"VISA\":\"Visa\",\"MASTERCARD\":\"MasterCard\",\"
244646
244664
  /***/ ((module) => {
244647
244665
 
244648
244666
  "use strict";
244649
- module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"10.4.1-canary.0\",\"main\":\"dist/index.js\",\"typings\":\"dist/index.d.ts\",\"homepage\":\"https://vercel.com\",\"license\":\"MIT\",\"files\":[\"dist\"],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/client\"},\"scripts\":{\"build\":\"tsc\",\"test-integration-once\":\"jest --verbose --runInBand --bail tests/create-deployment.test.ts tests/create-legacy-deployment.test.ts tests/paths.test.ts\",\"test-unit\":\"jest --verbose --runInBand --bail tests/unit.*test.*\"},\"engines\":{\"node\":\">= 12\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.1\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.0.1\",\"@types/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\",\"typescript\":\"4.3.4\"},\"jest\":{\"preset\":\"ts-jest\",\"testEnvironment\":\"node\",\"verbose\":false,\"setupFilesAfterEnv\":[\"<rootDir>/tests/setup/index.ts\"]},\"dependencies\":{\"@vercel/build-utils\":\"2.15.1-canary.0\",\"@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.1\",\"querystring\":\"^0.2.0\",\"sleep-promise\":\"8.0.1\"},\"gitHead\":\"c76dfbe8c9e1055113fe7ced8850bca4a64ad232\"}");
244667
+ module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"10.4.1\",\"main\":\"dist/index.js\",\"typings\":\"dist/index.d.ts\",\"homepage\":\"https://vercel.com\",\"license\":\"MIT\",\"files\":[\"dist\"],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/client\"},\"scripts\":{\"build\":\"tsc\",\"test-integration-once\":\"jest --verbose --runInBand --bail tests/create-deployment.test.ts tests/create-legacy-deployment.test.ts tests/paths.test.ts\",\"test-unit\":\"jest --verbose --runInBand --bail tests/unit.*test.*\"},\"engines\":{\"node\":\">= 12\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.1\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.0.1\",\"@types/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\",\"typescript\":\"4.3.4\"},\"jest\":{\"preset\":\"ts-jest\",\"testEnvironment\":\"node\",\"verbose\":false,\"setupFilesAfterEnv\":[\"<rootDir>/tests/setup/index.ts\"]},\"dependencies\":{\"@vercel/build-utils\":\"2.15.1\",\"@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.1\",\"querystring\":\"^0.2.0\",\"sleep-promise\":\"8.0.1\"},\"gitHead\":\"4a8504fc45092dc4a374bf7a518bd9a07f24fd41\"}");
244650
244668
 
244651
244669
  /***/ }),
244652
244670
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "24.0.2-canary.0",
3
+ "version": "24.1.0",
4
4
  "preferGlobal": true,
5
5
  "license": "Apache-2.0",
6
6
  "description": "The command-line interface for Vercel",
@@ -43,11 +43,11 @@
43
43
  "node": ">= 12"
44
44
  },
45
45
  "dependencies": {
46
- "@vercel/build-utils": "2.15.1-canary.0",
47
- "@vercel/go": "1.3.2-canary.0",
48
- "@vercel/node": "1.14.1-canary.0",
49
- "@vercel/python": "2.2.2-canary.0",
50
- "@vercel/ruby": "1.3.2-canary.0",
46
+ "@vercel/build-utils": "2.15.1",
47
+ "@vercel/go": "1.3.2",
48
+ "@vercel/node": "1.14.1",
49
+ "@vercel/python": "2.2.2",
50
+ "@vercel/ruby": "1.3.2",
51
51
  "update-notifier": "4.1.0"
52
52
  },
53
53
  "devDependencies": {
@@ -88,9 +88,9 @@
88
88
  "@types/update-notifier": "5.1.0",
89
89
  "@types/which": "1.3.2",
90
90
  "@types/write-json-file": "2.2.1",
91
- "@vercel/client": "10.4.1-canary.0",
91
+ "@vercel/client": "10.4.1",
92
92
  "@vercel/fetch-retry": "5.0.3",
93
- "@vercel/frameworks": "0.7.1-canary.0",
93
+ "@vercel/frameworks": "0.7.1",
94
94
  "@vercel/ncc": "0.24.0",
95
95
  "@vercel/nft": "0.17.5",
96
96
  "@zeit/fun": "0.11.2",
@@ -183,5 +183,5 @@
183
183
  "<rootDir>/test/**/*.test.ts"
184
184
  ]
185
185
  },
186
- "gitHead": "c76dfbe8c9e1055113fe7ced8850bca4a64ad232"
186
+ "gitHead": "4a8504fc45092dc4a374bf7a518bd9a07f24fd41"
187
187
  }