vercel 32.0.2 → 32.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 +61 -10
  2. package/package.json +9 -7
package/dist/index.js CHANGED
@@ -110501,6 +110501,52 @@ module.exports = new Type('tag:yaml.org,2002:timestamp', {
110501
110501
  }).call(this);
110502
110502
 
110503
110503
 
110504
+ /***/ }),
110505
+
110506
+ /***/ 43144:
110507
+ /***/ ((module) => {
110508
+
110509
+ "use strict";
110510
+
110511
+
110512
+ module.exports = parseJson
110513
+ function parseJson (txt, reviver, context) {
110514
+ context = context || 20
110515
+ try {
110516
+ return JSON.parse(txt, reviver)
110517
+ } catch (e) {
110518
+ if (typeof txt !== 'string') {
110519
+ const isEmptyArray = Array.isArray(txt) && txt.length === 0
110520
+ const errorMessage = 'Cannot parse ' +
110521
+ (isEmptyArray ? 'an empty array' : String(txt))
110522
+ throw new TypeError(errorMessage)
110523
+ }
110524
+ const syntaxErr = e.message.match(/^Unexpected token.*position\s+(\d+)/i)
110525
+ const errIdx = syntaxErr
110526
+ ? +syntaxErr[1]
110527
+ : e.message.match(/^Unexpected end of JSON.*/i)
110528
+ ? txt.length - 1
110529
+ : null
110530
+ if (errIdx != null) {
110531
+ const start = errIdx <= context
110532
+ ? 0
110533
+ : errIdx - context
110534
+ const end = errIdx + context >= txt.length
110535
+ ? txt.length
110536
+ : errIdx + context
110537
+ e.message += ` while parsing near '${
110538
+ start === 0 ? '' : '...'
110539
+ }${txt.slice(start, end)}${
110540
+ end === txt.length ? '' : '...'
110541
+ }'`
110542
+ } else {
110543
+ e.message += ` while parsing '${txt.slice(0, context * 2)}'`
110544
+ }
110545
+ throw e
110546
+ }
110547
+ }
110548
+
110549
+
110504
110550
  /***/ }),
110505
110551
 
110506
110552
  /***/ 8933:
@@ -222918,7 +222964,7 @@ async function main(client) {
222918
222964
  if (!vercelConfig || !hasBuilds) {
222919
222965
  const pkg = await (0, read_json_file_1.default)(path_1.default.join(dir, 'package.json'));
222920
222966
  if (pkg instanceof errors_ts_1.CantParseJSONFile) {
222921
- client.output.error('Could not parse package.json');
222967
+ client.output.error(pkg.message);
222922
222968
  return 1;
222923
222969
  }
222924
222970
  if (/\b(now|vercel)\b\W+\bdev\b/.test(pkg?.scripts?.dev || '')) {
@@ -224833,6 +224879,7 @@ const get_env_records_1 = __webpack_require__(72913);
224833
224879
  const diff_env_files_1 = __webpack_require__(65117);
224834
224880
  const error_utils_1 = __webpack_require__(39799);
224835
224881
  const add_to_gitignore_1 = __webpack_require__(19159);
224882
+ const json_parse_better_errors_1 = __importDefault(__webpack_require__(43144));
224836
224883
  const CONTENTS_PREFIX = '# Created by Vercel CLI\n';
224837
224884
  function readHeadSync(path, length) {
224838
224885
  const buffer = Buffer.alloc(length);
@@ -224892,7 +224939,7 @@ async function pull(client, link, project, environment, opts, args, output, cwd,
224892
224939
  // We need this because double quotes are stripped from the local .env file,
224893
224940
  // but `records` is already in the form of a JSON object that doesn't filter
224894
224941
  // double quotes.
224895
- const newEnv = JSON.parse(JSON.stringify(records).replace(/\\"/g, ''));
224942
+ const newEnv = (0, json_parse_better_errors_1.default)(JSON.stringify(records).replace(/\\"/g, ''));
224896
224943
  deltaString = (0, diff_env_files_1.buildDeltaString)(oldEnv, newEnv);
224897
224944
  }
224898
224945
  }
@@ -230662,7 +230709,7 @@ async function initCorepack({ repoRootPath, }) {
230662
230709
  }
230663
230710
  const pkg = await (0, read_json_file_1.default)((0, path_1.join)(repoRootPath, 'package.json'));
230664
230711
  if (pkg instanceof errors_ts_1.CantParseJSONFile) {
230665
- console.warn('Warning: Could not enable corepack because package.json is invalid JSON');
230712
+ console.warn('Warning: Could not enable corepack because package.json is invalid JSON', pkg.meta.parseErrorLocation);
230666
230713
  }
230667
230714
  else if (!pkg?.packageManager) {
230668
230715
  console.warn('Warning: Could not enable corepack because package.json is missing "packageManager" property');
@@ -234650,6 +234697,7 @@ const get_port_1 = __importDefault(__webpack_require__(10360));
234650
234697
  const is_port_reachable_1 = __importDefault(__webpack_require__(27225));
234651
234698
  const fast_deep_equal_1 = __importDefault(__webpack_require__(45088));
234652
234699
  const npm_package_arg_1 = __importDefault(__webpack_require__(74599));
234700
+ const json_parse_better_errors_1 = __importDefault(__webpack_require__(43144));
234653
234701
  const client_1 = __webpack_require__(40521);
234654
234702
  const routing_utils_1 = __webpack_require__(679);
234655
234703
  const build_utils_1 = __webpack_require__(63445);
@@ -235695,7 +235743,7 @@ class DevServer {
235695
235743
  this.output.debug(`Reading \`${rel}\` file`);
235696
235744
  try {
235697
235745
  const raw = await fs_extra_1.default.readFile(abs, 'utf8');
235698
- const parsed = JSON.parse(raw);
235746
+ const parsed = (0, json_parse_better_errors_1.default)(raw);
235699
235747
  parsed[client_1.fileNameSymbol] = rel;
235700
235748
  return parsed;
235701
235749
  }
@@ -238723,11 +238771,12 @@ class CertMissing extends now_error_1.NowError {
238723
238771
  }
238724
238772
  exports.CertMissing = CertMissing;
238725
238773
  class CantParseJSONFile extends now_error_1.NowError {
238726
- constructor(file) {
238774
+ constructor(file, parseErrorLocation) {
238775
+ const message = `Can't parse json file ${file}: ${parseErrorLocation}`;
238727
238776
  super({
238728
238777
  code: 'CANT_PARSE_JSON_FILE',
238729
- meta: { file },
238730
- message: `Can't parse json file`,
238778
+ meta: { file, parseErrorLocation },
238779
+ message,
238731
238780
  });
238732
238781
  }
238733
238782
  }
@@ -245051,17 +245100,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
245051
245100
  Object.defineProperty(exports, "__esModule", ({ value: true }));
245052
245101
  const fs_extra_1 = __importDefault(__webpack_require__(36365));
245053
245102
  const errors_ts_1 = __webpack_require__(39240);
245103
+ const json_parse_better_errors_1 = __importDefault(__webpack_require__(43144));
245104
+ const error_utils_1 = __webpack_require__(39799);
245054
245105
  async function readJSONFile(file) {
245055
245106
  const content = await readFileSafe(file);
245056
245107
  if (content === null) {
245057
245108
  return content;
245058
245109
  }
245059
245110
  try {
245060
- const json = JSON.parse(content);
245111
+ const json = (0, json_parse_better_errors_1.default)(content);
245061
245112
  return json;
245062
245113
  }
245063
245114
  catch (error) {
245064
- return new errors_ts_1.CantParseJSONFile(file);
245115
+ return new errors_ts_1.CantParseJSONFile(file, (0, error_utils_1.errorToString)(error));
245065
245116
  }
245066
245117
  }
245067
245118
  exports.default = readJSONFile;
@@ -246063,7 +246114,7 @@ module.exports = JSON.parse("[[[0,44],\"disallowed_STD3_valid\"],[[45,46],\"vali
246063
246114
  /***/ ((module) => {
246064
246115
 
246065
246116
  "use strict";
246066
- module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"13.0.0\",\"main\":\"dist/index.js\",\"typings\":\"dist/index.d.ts\",\"homepage\":\"https://vercel.com\",\"license\":\"Apache-2.0\",\"files\":[\"dist\"],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/client\"},\"scripts\":{\"build\":\"tsc\",\"test-e2e\":\"pnpm test tests/create-deployment.test.ts tests/create-legacy-deployment.test.ts tests/paths.test.ts\",\"test\":\"jest --reporters=default --reporters=jest-junit --env node --verbose --runInBand --bail\",\"test-unit\":\"pnpm test tests/unit.*test.*\"},\"engines\":{\"node\":\">= 16\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.5\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.4.1\",\"@types/minimatch\":\"3.0.5\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"14.18.33\",\"@types/node-fetch\":\"2.5.4\",\"@types/recursive-readdir\":\"2.2.0\",\"@types/tar-fs\":\"1.16.1\",\"jest-junit\":\"16.0.0\",\"typescript\":\"4.9.5\"},\"dependencies\":{\"@vercel/build-utils\":\"7.0.0\",\"@vercel/routing-utils\":\"3.0.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.7\",\"querystring\":\"^0.2.0\",\"sleep-promise\":\"8.0.1\",\"tar-fs\":\"1.16.3\"}}");
246117
+ module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"13.0.1\",\"main\":\"dist/index.js\",\"typings\":\"dist/index.d.ts\",\"homepage\":\"https://vercel.com\",\"license\":\"Apache-2.0\",\"files\":[\"dist\"],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/client\"},\"scripts\":{\"build\":\"tsc\",\"test-e2e\":\"pnpm test tests/create-deployment.test.ts tests/create-legacy-deployment.test.ts tests/paths.test.ts\",\"test\":\"jest --reporters=default --reporters=jest-junit --env node --verbose --runInBand --bail\",\"test-unit\":\"pnpm test tests/unit.*test.*\"},\"engines\":{\"node\":\">= 16\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.5\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.4.1\",\"@types/minimatch\":\"3.0.5\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"14.18.33\",\"@types/node-fetch\":\"2.5.4\",\"@types/recursive-readdir\":\"2.2.0\",\"@types/tar-fs\":\"1.16.1\",\"jest-junit\":\"16.0.0\",\"typescript\":\"4.9.5\"},\"dependencies\":{\"@vercel/build-utils\":\"7.1.0\",\"@vercel/routing-utils\":\"3.0.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.7\",\"querystring\":\"^0.2.0\",\"sleep-promise\":\"8.0.1\",\"tar-fs\":\"1.16.3\"}}");
246067
246118
 
246068
246119
  /***/ }),
246069
246120
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "32.0.2",
3
+ "version": "32.1.0",
4
4
  "preferGlobal": true,
5
5
  "license": "Apache-2.0",
6
6
  "description": "The command-line interface for Vercel",
@@ -22,16 +22,16 @@
22
22
  "node": ">= 16"
23
23
  },
24
24
  "dependencies": {
25
- "@vercel/build-utils": "7.0.0",
25
+ "@vercel/build-utils": "7.1.0",
26
26
  "@vercel/go": "3.0.0",
27
27
  "@vercel/hydrogen": "1.0.0",
28
28
  "@vercel/next": "4.0.1",
29
- "@vercel/node": "3.0.2",
29
+ "@vercel/node": "3.0.3",
30
30
  "@vercel/python": "4.0.0",
31
31
  "@vercel/redwood": "2.0.0",
32
- "@vercel/remix-builder": "2.0.1",
32
+ "@vercel/remix-builder": "2.0.2",
33
33
  "@vercel/ruby": "2.0.0",
34
- "@vercel/static-build": "2.0.2"
34
+ "@vercel/static-build": "2.0.3"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@alex_neo/jest-expect-message": "1.0.5",
@@ -55,6 +55,7 @@
55
55
  "@types/inquirer": "7.3.1",
56
56
  "@types/jest": "27.4.1",
57
57
  "@types/jest-expect-message": "1.0.3",
58
+ "@types/json-parse-better-errors": "1.0.0",
58
59
  "@types/load-json-file": "2.0.7",
59
60
  "@types/mime-types": "2.1.0",
60
61
  "@types/minimatch": "3.0.3",
@@ -76,8 +77,8 @@
76
77
  "@types/yauzl-promise": "2.1.0",
77
78
  "@vercel-internals/constants": "1.0.4",
78
79
  "@vercel-internals/get-package-json": "1.0.0",
79
- "@vercel-internals/types": "1.0.7",
80
- "@vercel/client": "13.0.0",
80
+ "@vercel-internals/types": "1.0.8",
81
+ "@vercel/client": "13.0.1",
81
82
  "@vercel/error-utils": "2.0.1",
82
83
  "@vercel/frameworks": "2.0.1",
83
84
  "@vercel/fs-detectors": "5.0.1",
@@ -126,6 +127,7 @@
126
127
  "jaro-winkler": "0.2.8",
127
128
  "jest-junit": "16.0.0",
128
129
  "jest-matcher-utils": "29.3.1",
130
+ "json-parse-better-errors": "1.0.2",
129
131
  "jsonlines": "0.1.1",
130
132
  "line-async-iterator": "3.0.0",
131
133
  "load-json-file": "3.0.0",