@vercel/build-utils 8.4.8 → 8.4.10

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @vercel/build-utils
2
2
 
3
+ ## 8.4.10
4
+
5
+ ### Patch Changes
6
+
7
+ - Parse `turbo.json` as json5 ([#12259](https://github.com/vercel/vercel/pull/12259))
8
+
9
+ ## 8.4.9
10
+
11
+ ### Patch Changes
12
+
13
+ - Fix special version specifier handling for `turbo` ([#12249](https://github.com/vercel/vercel/pull/12249))
14
+
3
15
  ## 8.4.8
4
16
 
5
17
  ### Patch Changes
@@ -81,6 +81,7 @@ export declare function runShellScript(fsPath: string, args?: string[], spawnOpt
81
81
  export declare function getSpawnOptions(meta: Meta, nodeVersion: NodeVersion): SpawnOptions;
82
82
  export declare function getNodeVersion(destPath: string, fallbackVersion?: string | undefined, config?: Config, meta?: Meta, availableVersions?: number[]): Promise<NodeVersion>;
83
83
  export declare function scanParentDirs(destPath: string, readPackageJson?: boolean, base?: string): Promise<ScanParentDirsResult>;
84
+ export declare function turboVersionSpecifierSupportsCorepack(turboVersionSpecifier: string): boolean;
84
85
  export declare function usingCorepack(env: {
85
86
  [x: string]: string | undefined;
86
87
  }, packageJsonPackageManager: string | undefined, turboSupportsCorepackHome: boolean | undefined): boolean;
@@ -49,6 +49,7 @@ __export(run_user_scripts_exports, {
49
49
  spawnAsync: () => spawnAsync,
50
50
  spawnCommand: () => spawnCommand,
51
51
  traverseUpDirectories: () => traverseUpDirectories,
52
+ turboVersionSpecifierSupportsCorepack: () => turboVersionSpecifierSupportsCorepack,
52
53
  usingCorepack: () => usingCorepack,
53
54
  walkParentDirs: () => walkParentDirs
54
55
  });
@@ -65,6 +66,7 @@ var import_errors = require("../errors");
65
66
  var import_node_version = require("./node-version");
66
67
  var import_read_config_file = require("./read-config-file");
67
68
  var import_clone_env = require("../clone-env");
69
+ var import_json5 = __toESM(require("json5"));
68
70
  const runNpmInstallSema = new import_async_sema.default(1);
69
71
  const NO_OVERRIDE = {
70
72
  detectedLockfile: void 0,
@@ -300,17 +302,20 @@ async function scanParentDirs(destPath, readPackageJson = false, base = "/") {
300
302
  };
301
303
  }
302
304
  async function checkTurboSupportsCorepack(turboVersionRange, rootDir) {
303
- if (turboRangeSupportsCorepack(turboVersionRange)) {
305
+ if (turboVersionSpecifierSupportsCorepack(turboVersionRange)) {
304
306
  return true;
305
307
  }
306
308
  const turboJsonPath = import_path.default.join(rootDir, "turbo.json");
307
309
  const turboJsonExists = await import_fs_extra.default.pathExists(turboJsonPath);
308
- const turboJson = turboJsonExists ? JSON.parse(await import_fs_extra.default.readFile(turboJsonPath, "utf8")) : void 0;
310
+ const turboJson = turboJsonExists ? import_json5.default.parse(await import_fs_extra.default.readFile(turboJsonPath, "utf8")) : void 0;
309
311
  return turboJson?.globalPassThroughEnv?.includes("COREPACK_HOME") || false;
310
312
  }
311
- function turboRangeSupportsCorepack(turboVersionRange) {
313
+ function turboVersionSpecifierSupportsCorepack(turboVersionSpecifier) {
314
+ if (!(0, import_semver.validRange)(turboVersionSpecifier)) {
315
+ return false;
316
+ }
312
317
  const versionSupportingCorepack = "2.1.3";
313
- const minTurboBeingUsed = (0, import_semver.minVersion)(turboVersionRange);
318
+ const minTurboBeingUsed = (0, import_semver.minVersion)(turboVersionSpecifier);
314
319
  if (!minTurboBeingUsed) {
315
320
  return false;
316
321
  }
@@ -891,6 +896,7 @@ const installDependencies = (0, import_util.deprecate)(
891
896
  spawnAsync,
892
897
  spawnCommand,
893
898
  traverseUpDirectories,
899
+ turboVersionSpecifierSupportsCorepack,
894
900
  usingCorepack,
895
901
  walkParentDirs
896
902
  });
package/dist/index.js CHANGED
@@ -22038,6 +22038,1118 @@ var require_dist = __commonJS({
22038
22038
  }
22039
22039
  });
22040
22040
 
22041
+ // ../../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/unicode.js
22042
+ var require_unicode = __commonJS({
22043
+ "../../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/unicode.js"(exports2, module2) {
22044
+ module2.exports.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
22045
+ module2.exports.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
22046
+ module2.exports.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;
22047
+ }
22048
+ });
22049
+
22050
+ // ../../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/util.js
22051
+ var require_util2 = __commonJS({
22052
+ "../../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/util.js"(exports2, module2) {
22053
+ var unicode = require_unicode();
22054
+ module2.exports = {
22055
+ isSpaceSeparator(c) {
22056
+ return typeof c === "string" && unicode.Space_Separator.test(c);
22057
+ },
22058
+ isIdStartChar(c) {
22059
+ return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c === "$" || c === "_" || unicode.ID_Start.test(c));
22060
+ },
22061
+ isIdContinueChar(c) {
22062
+ return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c >= "0" && c <= "9" || c === "$" || c === "_" || c === "\u200C" || c === "\u200D" || unicode.ID_Continue.test(c));
22063
+ },
22064
+ isDigit(c) {
22065
+ return typeof c === "string" && /[0-9]/.test(c);
22066
+ },
22067
+ isHexDigit(c) {
22068
+ return typeof c === "string" && /[0-9A-Fa-f]/.test(c);
22069
+ }
22070
+ };
22071
+ }
22072
+ });
22073
+
22074
+ // ../../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/parse.js
22075
+ var require_parse3 = __commonJS({
22076
+ "../../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/parse.js"(exports2, module2) {
22077
+ var util = require_util2();
22078
+ var source;
22079
+ var parseState;
22080
+ var stack;
22081
+ var pos;
22082
+ var line;
22083
+ var column;
22084
+ var token;
22085
+ var key;
22086
+ var root;
22087
+ module2.exports = function parse3(text, reviver) {
22088
+ source = String(text);
22089
+ parseState = "start";
22090
+ stack = [];
22091
+ pos = 0;
22092
+ line = 1;
22093
+ column = 0;
22094
+ token = void 0;
22095
+ key = void 0;
22096
+ root = void 0;
22097
+ do {
22098
+ token = lex();
22099
+ parseStates[parseState]();
22100
+ } while (token.type !== "eof");
22101
+ if (typeof reviver === "function") {
22102
+ return internalize({ "": root }, "", reviver);
22103
+ }
22104
+ return root;
22105
+ };
22106
+ function internalize(holder, name, reviver) {
22107
+ const value = holder[name];
22108
+ if (value != null && typeof value === "object") {
22109
+ if (Array.isArray(value)) {
22110
+ for (let i = 0; i < value.length; i++) {
22111
+ const key2 = String(i);
22112
+ const replacement = internalize(value, key2, reviver);
22113
+ if (replacement === void 0) {
22114
+ delete value[key2];
22115
+ } else {
22116
+ Object.defineProperty(value, key2, {
22117
+ value: replacement,
22118
+ writable: true,
22119
+ enumerable: true,
22120
+ configurable: true
22121
+ });
22122
+ }
22123
+ }
22124
+ } else {
22125
+ for (const key2 in value) {
22126
+ const replacement = internalize(value, key2, reviver);
22127
+ if (replacement === void 0) {
22128
+ delete value[key2];
22129
+ } else {
22130
+ Object.defineProperty(value, key2, {
22131
+ value: replacement,
22132
+ writable: true,
22133
+ enumerable: true,
22134
+ configurable: true
22135
+ });
22136
+ }
22137
+ }
22138
+ }
22139
+ }
22140
+ return reviver.call(holder, name, value);
22141
+ }
22142
+ var lexState;
22143
+ var buffer;
22144
+ var doubleQuote;
22145
+ var sign;
22146
+ var c;
22147
+ function lex() {
22148
+ lexState = "default";
22149
+ buffer = "";
22150
+ doubleQuote = false;
22151
+ sign = 1;
22152
+ for (; ; ) {
22153
+ c = peek();
22154
+ const token2 = lexStates[lexState]();
22155
+ if (token2) {
22156
+ return token2;
22157
+ }
22158
+ }
22159
+ }
22160
+ function peek() {
22161
+ if (source[pos]) {
22162
+ return String.fromCodePoint(source.codePointAt(pos));
22163
+ }
22164
+ }
22165
+ function read() {
22166
+ const c2 = peek();
22167
+ if (c2 === "\n") {
22168
+ line++;
22169
+ column = 0;
22170
+ } else if (c2) {
22171
+ column += c2.length;
22172
+ } else {
22173
+ column++;
22174
+ }
22175
+ if (c2) {
22176
+ pos += c2.length;
22177
+ }
22178
+ return c2;
22179
+ }
22180
+ var lexStates = {
22181
+ default() {
22182
+ switch (c) {
22183
+ case " ":
22184
+ case "\v":
22185
+ case "\f":
22186
+ case " ":
22187
+ case "\xA0":
22188
+ case "\uFEFF":
22189
+ case "\n":
22190
+ case "\r":
22191
+ case "\u2028":
22192
+ case "\u2029":
22193
+ read();
22194
+ return;
22195
+ case "/":
22196
+ read();
22197
+ lexState = "comment";
22198
+ return;
22199
+ case void 0:
22200
+ read();
22201
+ return newToken("eof");
22202
+ }
22203
+ if (util.isSpaceSeparator(c)) {
22204
+ read();
22205
+ return;
22206
+ }
22207
+ return lexStates[parseState]();
22208
+ },
22209
+ comment() {
22210
+ switch (c) {
22211
+ case "*":
22212
+ read();
22213
+ lexState = "multiLineComment";
22214
+ return;
22215
+ case "/":
22216
+ read();
22217
+ lexState = "singleLineComment";
22218
+ return;
22219
+ }
22220
+ throw invalidChar(read());
22221
+ },
22222
+ multiLineComment() {
22223
+ switch (c) {
22224
+ case "*":
22225
+ read();
22226
+ lexState = "multiLineCommentAsterisk";
22227
+ return;
22228
+ case void 0:
22229
+ throw invalidChar(read());
22230
+ }
22231
+ read();
22232
+ },
22233
+ multiLineCommentAsterisk() {
22234
+ switch (c) {
22235
+ case "*":
22236
+ read();
22237
+ return;
22238
+ case "/":
22239
+ read();
22240
+ lexState = "default";
22241
+ return;
22242
+ case void 0:
22243
+ throw invalidChar(read());
22244
+ }
22245
+ read();
22246
+ lexState = "multiLineComment";
22247
+ },
22248
+ singleLineComment() {
22249
+ switch (c) {
22250
+ case "\n":
22251
+ case "\r":
22252
+ case "\u2028":
22253
+ case "\u2029":
22254
+ read();
22255
+ lexState = "default";
22256
+ return;
22257
+ case void 0:
22258
+ read();
22259
+ return newToken("eof");
22260
+ }
22261
+ read();
22262
+ },
22263
+ value() {
22264
+ switch (c) {
22265
+ case "{":
22266
+ case "[":
22267
+ return newToken("punctuator", read());
22268
+ case "n":
22269
+ read();
22270
+ literal("ull");
22271
+ return newToken("null", null);
22272
+ case "t":
22273
+ read();
22274
+ literal("rue");
22275
+ return newToken("boolean", true);
22276
+ case "f":
22277
+ read();
22278
+ literal("alse");
22279
+ return newToken("boolean", false);
22280
+ case "-":
22281
+ case "+":
22282
+ if (read() === "-") {
22283
+ sign = -1;
22284
+ }
22285
+ lexState = "sign";
22286
+ return;
22287
+ case ".":
22288
+ buffer = read();
22289
+ lexState = "decimalPointLeading";
22290
+ return;
22291
+ case "0":
22292
+ buffer = read();
22293
+ lexState = "zero";
22294
+ return;
22295
+ case "1":
22296
+ case "2":
22297
+ case "3":
22298
+ case "4":
22299
+ case "5":
22300
+ case "6":
22301
+ case "7":
22302
+ case "8":
22303
+ case "9":
22304
+ buffer = read();
22305
+ lexState = "decimalInteger";
22306
+ return;
22307
+ case "I":
22308
+ read();
22309
+ literal("nfinity");
22310
+ return newToken("numeric", Infinity);
22311
+ case "N":
22312
+ read();
22313
+ literal("aN");
22314
+ return newToken("numeric", NaN);
22315
+ case '"':
22316
+ case "'":
22317
+ doubleQuote = read() === '"';
22318
+ buffer = "";
22319
+ lexState = "string";
22320
+ return;
22321
+ }
22322
+ throw invalidChar(read());
22323
+ },
22324
+ identifierNameStartEscape() {
22325
+ if (c !== "u") {
22326
+ throw invalidChar(read());
22327
+ }
22328
+ read();
22329
+ const u = unicodeEscape();
22330
+ switch (u) {
22331
+ case "$":
22332
+ case "_":
22333
+ break;
22334
+ default:
22335
+ if (!util.isIdStartChar(u)) {
22336
+ throw invalidIdentifier();
22337
+ }
22338
+ break;
22339
+ }
22340
+ buffer += u;
22341
+ lexState = "identifierName";
22342
+ },
22343
+ identifierName() {
22344
+ switch (c) {
22345
+ case "$":
22346
+ case "_":
22347
+ case "\u200C":
22348
+ case "\u200D":
22349
+ buffer += read();
22350
+ return;
22351
+ case "\\":
22352
+ read();
22353
+ lexState = "identifierNameEscape";
22354
+ return;
22355
+ }
22356
+ if (util.isIdContinueChar(c)) {
22357
+ buffer += read();
22358
+ return;
22359
+ }
22360
+ return newToken("identifier", buffer);
22361
+ },
22362
+ identifierNameEscape() {
22363
+ if (c !== "u") {
22364
+ throw invalidChar(read());
22365
+ }
22366
+ read();
22367
+ const u = unicodeEscape();
22368
+ switch (u) {
22369
+ case "$":
22370
+ case "_":
22371
+ case "\u200C":
22372
+ case "\u200D":
22373
+ break;
22374
+ default:
22375
+ if (!util.isIdContinueChar(u)) {
22376
+ throw invalidIdentifier();
22377
+ }
22378
+ break;
22379
+ }
22380
+ buffer += u;
22381
+ lexState = "identifierName";
22382
+ },
22383
+ sign() {
22384
+ switch (c) {
22385
+ case ".":
22386
+ buffer = read();
22387
+ lexState = "decimalPointLeading";
22388
+ return;
22389
+ case "0":
22390
+ buffer = read();
22391
+ lexState = "zero";
22392
+ return;
22393
+ case "1":
22394
+ case "2":
22395
+ case "3":
22396
+ case "4":
22397
+ case "5":
22398
+ case "6":
22399
+ case "7":
22400
+ case "8":
22401
+ case "9":
22402
+ buffer = read();
22403
+ lexState = "decimalInteger";
22404
+ return;
22405
+ case "I":
22406
+ read();
22407
+ literal("nfinity");
22408
+ return newToken("numeric", sign * Infinity);
22409
+ case "N":
22410
+ read();
22411
+ literal("aN");
22412
+ return newToken("numeric", NaN);
22413
+ }
22414
+ throw invalidChar(read());
22415
+ },
22416
+ zero() {
22417
+ switch (c) {
22418
+ case ".":
22419
+ buffer += read();
22420
+ lexState = "decimalPoint";
22421
+ return;
22422
+ case "e":
22423
+ case "E":
22424
+ buffer += read();
22425
+ lexState = "decimalExponent";
22426
+ return;
22427
+ case "x":
22428
+ case "X":
22429
+ buffer += read();
22430
+ lexState = "hexadecimal";
22431
+ return;
22432
+ }
22433
+ return newToken("numeric", sign * 0);
22434
+ },
22435
+ decimalInteger() {
22436
+ switch (c) {
22437
+ case ".":
22438
+ buffer += read();
22439
+ lexState = "decimalPoint";
22440
+ return;
22441
+ case "e":
22442
+ case "E":
22443
+ buffer += read();
22444
+ lexState = "decimalExponent";
22445
+ return;
22446
+ }
22447
+ if (util.isDigit(c)) {
22448
+ buffer += read();
22449
+ return;
22450
+ }
22451
+ return newToken("numeric", sign * Number(buffer));
22452
+ },
22453
+ decimalPointLeading() {
22454
+ if (util.isDigit(c)) {
22455
+ buffer += read();
22456
+ lexState = "decimalFraction";
22457
+ return;
22458
+ }
22459
+ throw invalidChar(read());
22460
+ },
22461
+ decimalPoint() {
22462
+ switch (c) {
22463
+ case "e":
22464
+ case "E":
22465
+ buffer += read();
22466
+ lexState = "decimalExponent";
22467
+ return;
22468
+ }
22469
+ if (util.isDigit(c)) {
22470
+ buffer += read();
22471
+ lexState = "decimalFraction";
22472
+ return;
22473
+ }
22474
+ return newToken("numeric", sign * Number(buffer));
22475
+ },
22476
+ decimalFraction() {
22477
+ switch (c) {
22478
+ case "e":
22479
+ case "E":
22480
+ buffer += read();
22481
+ lexState = "decimalExponent";
22482
+ return;
22483
+ }
22484
+ if (util.isDigit(c)) {
22485
+ buffer += read();
22486
+ return;
22487
+ }
22488
+ return newToken("numeric", sign * Number(buffer));
22489
+ },
22490
+ decimalExponent() {
22491
+ switch (c) {
22492
+ case "+":
22493
+ case "-":
22494
+ buffer += read();
22495
+ lexState = "decimalExponentSign";
22496
+ return;
22497
+ }
22498
+ if (util.isDigit(c)) {
22499
+ buffer += read();
22500
+ lexState = "decimalExponentInteger";
22501
+ return;
22502
+ }
22503
+ throw invalidChar(read());
22504
+ },
22505
+ decimalExponentSign() {
22506
+ if (util.isDigit(c)) {
22507
+ buffer += read();
22508
+ lexState = "decimalExponentInteger";
22509
+ return;
22510
+ }
22511
+ throw invalidChar(read());
22512
+ },
22513
+ decimalExponentInteger() {
22514
+ if (util.isDigit(c)) {
22515
+ buffer += read();
22516
+ return;
22517
+ }
22518
+ return newToken("numeric", sign * Number(buffer));
22519
+ },
22520
+ hexadecimal() {
22521
+ if (util.isHexDigit(c)) {
22522
+ buffer += read();
22523
+ lexState = "hexadecimalInteger";
22524
+ return;
22525
+ }
22526
+ throw invalidChar(read());
22527
+ },
22528
+ hexadecimalInteger() {
22529
+ if (util.isHexDigit(c)) {
22530
+ buffer += read();
22531
+ return;
22532
+ }
22533
+ return newToken("numeric", sign * Number(buffer));
22534
+ },
22535
+ string() {
22536
+ switch (c) {
22537
+ case "\\":
22538
+ read();
22539
+ buffer += escape();
22540
+ return;
22541
+ case '"':
22542
+ if (doubleQuote) {
22543
+ read();
22544
+ return newToken("string", buffer);
22545
+ }
22546
+ buffer += read();
22547
+ return;
22548
+ case "'":
22549
+ if (!doubleQuote) {
22550
+ read();
22551
+ return newToken("string", buffer);
22552
+ }
22553
+ buffer += read();
22554
+ return;
22555
+ case "\n":
22556
+ case "\r":
22557
+ throw invalidChar(read());
22558
+ case "\u2028":
22559
+ case "\u2029":
22560
+ separatorChar(c);
22561
+ break;
22562
+ case void 0:
22563
+ throw invalidChar(read());
22564
+ }
22565
+ buffer += read();
22566
+ },
22567
+ start() {
22568
+ switch (c) {
22569
+ case "{":
22570
+ case "[":
22571
+ return newToken("punctuator", read());
22572
+ }
22573
+ lexState = "value";
22574
+ },
22575
+ beforePropertyName() {
22576
+ switch (c) {
22577
+ case "$":
22578
+ case "_":
22579
+ buffer = read();
22580
+ lexState = "identifierName";
22581
+ return;
22582
+ case "\\":
22583
+ read();
22584
+ lexState = "identifierNameStartEscape";
22585
+ return;
22586
+ case "}":
22587
+ return newToken("punctuator", read());
22588
+ case '"':
22589
+ case "'":
22590
+ doubleQuote = read() === '"';
22591
+ lexState = "string";
22592
+ return;
22593
+ }
22594
+ if (util.isIdStartChar(c)) {
22595
+ buffer += read();
22596
+ lexState = "identifierName";
22597
+ return;
22598
+ }
22599
+ throw invalidChar(read());
22600
+ },
22601
+ afterPropertyName() {
22602
+ if (c === ":") {
22603
+ return newToken("punctuator", read());
22604
+ }
22605
+ throw invalidChar(read());
22606
+ },
22607
+ beforePropertyValue() {
22608
+ lexState = "value";
22609
+ },
22610
+ afterPropertyValue() {
22611
+ switch (c) {
22612
+ case ",":
22613
+ case "}":
22614
+ return newToken("punctuator", read());
22615
+ }
22616
+ throw invalidChar(read());
22617
+ },
22618
+ beforeArrayValue() {
22619
+ if (c === "]") {
22620
+ return newToken("punctuator", read());
22621
+ }
22622
+ lexState = "value";
22623
+ },
22624
+ afterArrayValue() {
22625
+ switch (c) {
22626
+ case ",":
22627
+ case "]":
22628
+ return newToken("punctuator", read());
22629
+ }
22630
+ throw invalidChar(read());
22631
+ },
22632
+ end() {
22633
+ throw invalidChar(read());
22634
+ }
22635
+ };
22636
+ function newToken(type, value) {
22637
+ return {
22638
+ type,
22639
+ value,
22640
+ line,
22641
+ column
22642
+ };
22643
+ }
22644
+ function literal(s) {
22645
+ for (const c2 of s) {
22646
+ const p = peek();
22647
+ if (p !== c2) {
22648
+ throw invalidChar(read());
22649
+ }
22650
+ read();
22651
+ }
22652
+ }
22653
+ function escape() {
22654
+ const c2 = peek();
22655
+ switch (c2) {
22656
+ case "b":
22657
+ read();
22658
+ return "\b";
22659
+ case "f":
22660
+ read();
22661
+ return "\f";
22662
+ case "n":
22663
+ read();
22664
+ return "\n";
22665
+ case "r":
22666
+ read();
22667
+ return "\r";
22668
+ case "t":
22669
+ read();
22670
+ return " ";
22671
+ case "v":
22672
+ read();
22673
+ return "\v";
22674
+ case "0":
22675
+ read();
22676
+ if (util.isDigit(peek())) {
22677
+ throw invalidChar(read());
22678
+ }
22679
+ return "\0";
22680
+ case "x":
22681
+ read();
22682
+ return hexEscape();
22683
+ case "u":
22684
+ read();
22685
+ return unicodeEscape();
22686
+ case "\n":
22687
+ case "\u2028":
22688
+ case "\u2029":
22689
+ read();
22690
+ return "";
22691
+ case "\r":
22692
+ read();
22693
+ if (peek() === "\n") {
22694
+ read();
22695
+ }
22696
+ return "";
22697
+ case "1":
22698
+ case "2":
22699
+ case "3":
22700
+ case "4":
22701
+ case "5":
22702
+ case "6":
22703
+ case "7":
22704
+ case "8":
22705
+ case "9":
22706
+ throw invalidChar(read());
22707
+ case void 0:
22708
+ throw invalidChar(read());
22709
+ }
22710
+ return read();
22711
+ }
22712
+ function hexEscape() {
22713
+ let buffer2 = "";
22714
+ let c2 = peek();
22715
+ if (!util.isHexDigit(c2)) {
22716
+ throw invalidChar(read());
22717
+ }
22718
+ buffer2 += read();
22719
+ c2 = peek();
22720
+ if (!util.isHexDigit(c2)) {
22721
+ throw invalidChar(read());
22722
+ }
22723
+ buffer2 += read();
22724
+ return String.fromCodePoint(parseInt(buffer2, 16));
22725
+ }
22726
+ function unicodeEscape() {
22727
+ let buffer2 = "";
22728
+ let count = 4;
22729
+ while (count-- > 0) {
22730
+ const c2 = peek();
22731
+ if (!util.isHexDigit(c2)) {
22732
+ throw invalidChar(read());
22733
+ }
22734
+ buffer2 += read();
22735
+ }
22736
+ return String.fromCodePoint(parseInt(buffer2, 16));
22737
+ }
22738
+ var parseStates = {
22739
+ start() {
22740
+ if (token.type === "eof") {
22741
+ throw invalidEOF();
22742
+ }
22743
+ push();
22744
+ },
22745
+ beforePropertyName() {
22746
+ switch (token.type) {
22747
+ case "identifier":
22748
+ case "string":
22749
+ key = token.value;
22750
+ parseState = "afterPropertyName";
22751
+ return;
22752
+ case "punctuator":
22753
+ pop();
22754
+ return;
22755
+ case "eof":
22756
+ throw invalidEOF();
22757
+ }
22758
+ },
22759
+ afterPropertyName() {
22760
+ if (token.type === "eof") {
22761
+ throw invalidEOF();
22762
+ }
22763
+ parseState = "beforePropertyValue";
22764
+ },
22765
+ beforePropertyValue() {
22766
+ if (token.type === "eof") {
22767
+ throw invalidEOF();
22768
+ }
22769
+ push();
22770
+ },
22771
+ beforeArrayValue() {
22772
+ if (token.type === "eof") {
22773
+ throw invalidEOF();
22774
+ }
22775
+ if (token.type === "punctuator" && token.value === "]") {
22776
+ pop();
22777
+ return;
22778
+ }
22779
+ push();
22780
+ },
22781
+ afterPropertyValue() {
22782
+ if (token.type === "eof") {
22783
+ throw invalidEOF();
22784
+ }
22785
+ switch (token.value) {
22786
+ case ",":
22787
+ parseState = "beforePropertyName";
22788
+ return;
22789
+ case "}":
22790
+ pop();
22791
+ }
22792
+ },
22793
+ afterArrayValue() {
22794
+ if (token.type === "eof") {
22795
+ throw invalidEOF();
22796
+ }
22797
+ switch (token.value) {
22798
+ case ",":
22799
+ parseState = "beforeArrayValue";
22800
+ return;
22801
+ case "]":
22802
+ pop();
22803
+ }
22804
+ },
22805
+ end() {
22806
+ }
22807
+ };
22808
+ function push() {
22809
+ let value;
22810
+ switch (token.type) {
22811
+ case "punctuator":
22812
+ switch (token.value) {
22813
+ case "{":
22814
+ value = {};
22815
+ break;
22816
+ case "[":
22817
+ value = [];
22818
+ break;
22819
+ }
22820
+ break;
22821
+ case "null":
22822
+ case "boolean":
22823
+ case "numeric":
22824
+ case "string":
22825
+ value = token.value;
22826
+ break;
22827
+ }
22828
+ if (root === void 0) {
22829
+ root = value;
22830
+ } else {
22831
+ const parent = stack[stack.length - 1];
22832
+ if (Array.isArray(parent)) {
22833
+ parent.push(value);
22834
+ } else {
22835
+ Object.defineProperty(parent, key, {
22836
+ value,
22837
+ writable: true,
22838
+ enumerable: true,
22839
+ configurable: true
22840
+ });
22841
+ }
22842
+ }
22843
+ if (value !== null && typeof value === "object") {
22844
+ stack.push(value);
22845
+ if (Array.isArray(value)) {
22846
+ parseState = "beforeArrayValue";
22847
+ } else {
22848
+ parseState = "beforePropertyName";
22849
+ }
22850
+ } else {
22851
+ const current = stack[stack.length - 1];
22852
+ if (current == null) {
22853
+ parseState = "end";
22854
+ } else if (Array.isArray(current)) {
22855
+ parseState = "afterArrayValue";
22856
+ } else {
22857
+ parseState = "afterPropertyValue";
22858
+ }
22859
+ }
22860
+ }
22861
+ function pop() {
22862
+ stack.pop();
22863
+ const current = stack[stack.length - 1];
22864
+ if (current == null) {
22865
+ parseState = "end";
22866
+ } else if (Array.isArray(current)) {
22867
+ parseState = "afterArrayValue";
22868
+ } else {
22869
+ parseState = "afterPropertyValue";
22870
+ }
22871
+ }
22872
+ function invalidChar(c2) {
22873
+ if (c2 === void 0) {
22874
+ return syntaxError(`JSON5: invalid end of input at ${line}:${column}`);
22875
+ }
22876
+ return syntaxError(`JSON5: invalid character '${formatChar(c2)}' at ${line}:${column}`);
22877
+ }
22878
+ function invalidEOF() {
22879
+ return syntaxError(`JSON5: invalid end of input at ${line}:${column}`);
22880
+ }
22881
+ function invalidIdentifier() {
22882
+ column -= 5;
22883
+ return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`);
22884
+ }
22885
+ function separatorChar(c2) {
22886
+ console.warn(`JSON5: '${formatChar(c2)}' in strings is not valid ECMAScript; consider escaping`);
22887
+ }
22888
+ function formatChar(c2) {
22889
+ const replacements = {
22890
+ "'": "\\'",
22891
+ '"': '\\"',
22892
+ "\\": "\\\\",
22893
+ "\b": "\\b",
22894
+ "\f": "\\f",
22895
+ "\n": "\\n",
22896
+ "\r": "\\r",
22897
+ " ": "\\t",
22898
+ "\v": "\\v",
22899
+ "\0": "\\0",
22900
+ "\u2028": "\\u2028",
22901
+ "\u2029": "\\u2029"
22902
+ };
22903
+ if (replacements[c2]) {
22904
+ return replacements[c2];
22905
+ }
22906
+ if (c2 < " ") {
22907
+ const hexString = c2.charCodeAt(0).toString(16);
22908
+ return "\\x" + ("00" + hexString).substring(hexString.length);
22909
+ }
22910
+ return c2;
22911
+ }
22912
+ function syntaxError(message) {
22913
+ const err = new SyntaxError(message);
22914
+ err.lineNumber = line;
22915
+ err.columnNumber = column;
22916
+ return err;
22917
+ }
22918
+ }
22919
+ });
22920
+
22921
+ // ../../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/stringify.js
22922
+ var require_stringify2 = __commonJS({
22923
+ "../../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/stringify.js"(exports2, module2) {
22924
+ var util = require_util2();
22925
+ module2.exports = function stringify(value, replacer, space) {
22926
+ const stack = [];
22927
+ let indent = "";
22928
+ let propertyList;
22929
+ let replacerFunc;
22930
+ let gap = "";
22931
+ let quote;
22932
+ if (replacer != null && typeof replacer === "object" && !Array.isArray(replacer)) {
22933
+ space = replacer.space;
22934
+ quote = replacer.quote;
22935
+ replacer = replacer.replacer;
22936
+ }
22937
+ if (typeof replacer === "function") {
22938
+ replacerFunc = replacer;
22939
+ } else if (Array.isArray(replacer)) {
22940
+ propertyList = [];
22941
+ for (const v of replacer) {
22942
+ let item;
22943
+ if (typeof v === "string") {
22944
+ item = v;
22945
+ } else if (typeof v === "number" || v instanceof String || v instanceof Number) {
22946
+ item = String(v);
22947
+ }
22948
+ if (item !== void 0 && propertyList.indexOf(item) < 0) {
22949
+ propertyList.push(item);
22950
+ }
22951
+ }
22952
+ }
22953
+ if (space instanceof Number) {
22954
+ space = Number(space);
22955
+ } else if (space instanceof String) {
22956
+ space = String(space);
22957
+ }
22958
+ if (typeof space === "number") {
22959
+ if (space > 0) {
22960
+ space = Math.min(10, Math.floor(space));
22961
+ gap = " ".substr(0, space);
22962
+ }
22963
+ } else if (typeof space === "string") {
22964
+ gap = space.substr(0, 10);
22965
+ }
22966
+ return serializeProperty("", { "": value });
22967
+ function serializeProperty(key, holder) {
22968
+ let value2 = holder[key];
22969
+ if (value2 != null) {
22970
+ if (typeof value2.toJSON5 === "function") {
22971
+ value2 = value2.toJSON5(key);
22972
+ } else if (typeof value2.toJSON === "function") {
22973
+ value2 = value2.toJSON(key);
22974
+ }
22975
+ }
22976
+ if (replacerFunc) {
22977
+ value2 = replacerFunc.call(holder, key, value2);
22978
+ }
22979
+ if (value2 instanceof Number) {
22980
+ value2 = Number(value2);
22981
+ } else if (value2 instanceof String) {
22982
+ value2 = String(value2);
22983
+ } else if (value2 instanceof Boolean) {
22984
+ value2 = value2.valueOf();
22985
+ }
22986
+ switch (value2) {
22987
+ case null:
22988
+ return "null";
22989
+ case true:
22990
+ return "true";
22991
+ case false:
22992
+ return "false";
22993
+ }
22994
+ if (typeof value2 === "string") {
22995
+ return quoteString(value2, false);
22996
+ }
22997
+ if (typeof value2 === "number") {
22998
+ return String(value2);
22999
+ }
23000
+ if (typeof value2 === "object") {
23001
+ return Array.isArray(value2) ? serializeArray(value2) : serializeObject(value2);
23002
+ }
23003
+ return void 0;
23004
+ }
23005
+ function quoteString(value2) {
23006
+ const quotes = {
23007
+ "'": 0.1,
23008
+ '"': 0.2
23009
+ };
23010
+ const replacements = {
23011
+ "'": "\\'",
23012
+ '"': '\\"',
23013
+ "\\": "\\\\",
23014
+ "\b": "\\b",
23015
+ "\f": "\\f",
23016
+ "\n": "\\n",
23017
+ "\r": "\\r",
23018
+ " ": "\\t",
23019
+ "\v": "\\v",
23020
+ "\0": "\\0",
23021
+ "\u2028": "\\u2028",
23022
+ "\u2029": "\\u2029"
23023
+ };
23024
+ let product = "";
23025
+ for (let i = 0; i < value2.length; i++) {
23026
+ const c = value2[i];
23027
+ switch (c) {
23028
+ case "'":
23029
+ case '"':
23030
+ quotes[c]++;
23031
+ product += c;
23032
+ continue;
23033
+ case "\0":
23034
+ if (util.isDigit(value2[i + 1])) {
23035
+ product += "\\x00";
23036
+ continue;
23037
+ }
23038
+ }
23039
+ if (replacements[c]) {
23040
+ product += replacements[c];
23041
+ continue;
23042
+ }
23043
+ if (c < " ") {
23044
+ let hexString = c.charCodeAt(0).toString(16);
23045
+ product += "\\x" + ("00" + hexString).substring(hexString.length);
23046
+ continue;
23047
+ }
23048
+ product += c;
23049
+ }
23050
+ const quoteChar = quote || Object.keys(quotes).reduce((a, b) => quotes[a] < quotes[b] ? a : b);
23051
+ product = product.replace(new RegExp(quoteChar, "g"), replacements[quoteChar]);
23052
+ return quoteChar + product + quoteChar;
23053
+ }
23054
+ function serializeObject(value2) {
23055
+ if (stack.indexOf(value2) >= 0) {
23056
+ throw TypeError("Converting circular structure to JSON5");
23057
+ }
23058
+ stack.push(value2);
23059
+ let stepback = indent;
23060
+ indent = indent + gap;
23061
+ let keys = propertyList || Object.keys(value2);
23062
+ let partial = [];
23063
+ for (const key of keys) {
23064
+ const propertyString = serializeProperty(key, value2);
23065
+ if (propertyString !== void 0) {
23066
+ let member = serializeKey(key) + ":";
23067
+ if (gap !== "") {
23068
+ member += " ";
23069
+ }
23070
+ member += propertyString;
23071
+ partial.push(member);
23072
+ }
23073
+ }
23074
+ let final;
23075
+ if (partial.length === 0) {
23076
+ final = "{}";
23077
+ } else {
23078
+ let properties;
23079
+ if (gap === "") {
23080
+ properties = partial.join(",");
23081
+ final = "{" + properties + "}";
23082
+ } else {
23083
+ let separator = ",\n" + indent;
23084
+ properties = partial.join(separator);
23085
+ final = "{\n" + indent + properties + ",\n" + stepback + "}";
23086
+ }
23087
+ }
23088
+ stack.pop();
23089
+ indent = stepback;
23090
+ return final;
23091
+ }
23092
+ function serializeKey(key) {
23093
+ if (key.length === 0) {
23094
+ return quoteString(key, true);
23095
+ }
23096
+ const firstChar = String.fromCodePoint(key.codePointAt(0));
23097
+ if (!util.isIdStartChar(firstChar)) {
23098
+ return quoteString(key, true);
23099
+ }
23100
+ for (let i = firstChar.length; i < key.length; i++) {
23101
+ if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) {
23102
+ return quoteString(key, true);
23103
+ }
23104
+ }
23105
+ return key;
23106
+ }
23107
+ function serializeArray(value2) {
23108
+ if (stack.indexOf(value2) >= 0) {
23109
+ throw TypeError("Converting circular structure to JSON5");
23110
+ }
23111
+ stack.push(value2);
23112
+ let stepback = indent;
23113
+ indent = indent + gap;
23114
+ let partial = [];
23115
+ for (let i = 0; i < value2.length; i++) {
23116
+ const propertyString = serializeProperty(String(i), value2);
23117
+ partial.push(propertyString !== void 0 ? propertyString : "null");
23118
+ }
23119
+ let final;
23120
+ if (partial.length === 0) {
23121
+ final = "[]";
23122
+ } else {
23123
+ if (gap === "") {
23124
+ let properties = partial.join(",");
23125
+ final = "[" + properties + "]";
23126
+ } else {
23127
+ let separator = ",\n" + indent;
23128
+ let properties = partial.join(separator);
23129
+ final = "[\n" + indent + properties + ",\n" + stepback + "]";
23130
+ }
23131
+ }
23132
+ stack.pop();
23133
+ indent = stepback;
23134
+ return final;
23135
+ }
23136
+ };
23137
+ }
23138
+ });
23139
+
23140
+ // ../../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/index.js
23141
+ var require_lib5 = __commonJS({
23142
+ "../../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/index.js"(exports2, module2) {
23143
+ var parse3 = require_parse3();
23144
+ var stringify = require_stringify2();
23145
+ var JSON5 = {
23146
+ parse: parse3,
23147
+ stringify
23148
+ };
23149
+ module2.exports = JSON5;
23150
+ }
23151
+ });
23152
+
22041
23153
  // ../../node_modules/.pnpm/ignore@4.0.6/node_modules/ignore/index.js
22042
23154
  var require_ignore = __commonJS({
22043
23155
  "../../node_modules/.pnpm/ignore@4.0.6/node_modules/ignore/index.js"(exports2, module2) {
@@ -23435,6 +24547,7 @@ function cloneEnv(...envs) {
23435
24547
  }
23436
24548
 
23437
24549
  // src/fs/run-user-scripts.ts
24550
+ var import_json5 = __toESM(require_lib5());
23438
24551
  var runNpmInstallSema = new import_async_sema4.default(1);
23439
24552
  var NO_OVERRIDE = {
23440
24553
  detectedLockfile: void 0,
@@ -23670,17 +24783,20 @@ async function scanParentDirs(destPath, readPackageJson = false, base = "/") {
23670
24783
  };
23671
24784
  }
23672
24785
  async function checkTurboSupportsCorepack(turboVersionRange, rootDir) {
23673
- if (turboRangeSupportsCorepack(turboVersionRange)) {
24786
+ if (turboVersionSpecifierSupportsCorepack(turboVersionRange)) {
23674
24787
  return true;
23675
24788
  }
23676
24789
  const turboJsonPath = import_path5.default.join(rootDir, "turbo.json");
23677
24790
  const turboJsonExists = await import_fs_extra7.default.pathExists(turboJsonPath);
23678
- const turboJson = turboJsonExists ? JSON.parse(await import_fs_extra7.default.readFile(turboJsonPath, "utf8")) : void 0;
24791
+ const turboJson = turboJsonExists ? import_json5.default.parse(await import_fs_extra7.default.readFile(turboJsonPath, "utf8")) : void 0;
23679
24792
  return turboJson?.globalPassThroughEnv?.includes("COREPACK_HOME") || false;
23680
24793
  }
23681
- function turboRangeSupportsCorepack(turboVersionRange) {
24794
+ function turboVersionSpecifierSupportsCorepack(turboVersionSpecifier) {
24795
+ if (!(0, import_semver2.validRange)(turboVersionSpecifier)) {
24796
+ return false;
24797
+ }
23682
24798
  const versionSupportingCorepack = "2.1.3";
23683
- const minTurboBeingUsed = (0, import_semver2.minVersion)(turboVersionRange);
24799
+ const minTurboBeingUsed = (0, import_semver2.minVersion)(turboVersionSpecifier);
23684
24800
  if (!minTurboBeingUsed) {
23685
24801
  return false;
23686
24802
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/build-utils",
3
- "version": "8.4.8",
3
+ "version": "8.4.10",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.js",
@@ -44,7 +44,8 @@
44
44
  "node-fetch": "2.6.7",
45
45
  "semver": "6.3.1",
46
46
  "typescript": "4.9.5",
47
- "yazl": "2.5.1"
47
+ "yazl": "2.5.1",
48
+ "json5": "2.2.3"
48
49
  },
49
50
  "scripts": {
50
51
  "build": "node build.mjs",