@coana-tech/cli 14.12.73 → 14.12.75

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.
@@ -4127,13 +4127,13 @@ var require_safe_stable_stringify = __commonJS({
4127
4127
  "../../node_modules/.pnpm/safe-stable-stringify@2.4.3/node_modules/safe-stable-stringify/index.js"(exports, module) {
4128
4128
  "use strict";
4129
4129
  var { hasOwnProperty: hasOwnProperty4 } = Object.prototype;
4130
- var stringify4 = configure();
4131
- stringify4.configure = configure;
4132
- stringify4.stringify = stringify4;
4133
- stringify4.default = stringify4;
4134
- exports.stringify = stringify4;
4130
+ var stringify3 = configure();
4131
+ stringify3.configure = configure;
4132
+ stringify3.stringify = stringify3;
4133
+ stringify3.default = stringify3;
4134
+ exports.stringify = stringify3;
4135
4135
  exports.configure = configure;
4136
- module.exports = stringify4;
4136
+ module.exports = stringify3;
4137
4137
  var strEscapeSequencesRegExp = /[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;
4138
4138
  function strEscape(str) {
4139
4139
  if (str.length < 5e3 && !strEscapeSequencesRegExp.test(str)) {
@@ -4679,7 +4679,7 @@ ${originalIndentation}`;
4679
4679
  return fail ? fail(value2) : void 0;
4680
4680
  }
4681
4681
  }
4682
- function stringify5(value2, replacer, space) {
4682
+ function stringify4(value2, replacer, space) {
4683
4683
  if (arguments.length > 1) {
4684
4684
  let spacer = "";
4685
4685
  if (typeof space === "number") {
@@ -4701,7 +4701,7 @@ ${originalIndentation}`;
4701
4701
  }
4702
4702
  return stringifySimple("", value2, []);
4703
4703
  }
4704
- return stringify5;
4704
+ return stringify4;
4705
4705
  }
4706
4706
  }
4707
4707
  });
@@ -4712,14 +4712,14 @@ var require_json = __commonJS({
4712
4712
  "use strict";
4713
4713
  var format3 = require_format();
4714
4714
  var { MESSAGE } = require_triple_beam();
4715
- var stringify4 = require_safe_stable_stringify();
4715
+ var stringify3 = require_safe_stable_stringify();
4716
4716
  function replacer(key, value2) {
4717
4717
  if (typeof value2 === "bigint")
4718
4718
  return value2.toString();
4719
4719
  return value2;
4720
4720
  }
4721
4721
  module.exports = format3((info, opts) => {
4722
- const jsonStringify = stringify4.configure(opts);
4722
+ const jsonStringify = stringify3.configure(opts);
4723
4723
  info[MESSAGE] = jsonStringify(info, opts.replacer || replacer, opts.space);
4724
4724
  return info;
4725
4725
  });
@@ -4832,7 +4832,7 @@ var require_ms = __commonJS({
4832
4832
  options = options || {};
4833
4833
  var type = typeof val2;
4834
4834
  if (type === "string" && val2.length > 0) {
4835
- return parse15(val2);
4835
+ return parse14(val2);
4836
4836
  } else if (type === "number" && isFinite(val2)) {
4837
4837
  return options.long ? fmtLong(val2) : fmtShort(val2);
4838
4838
  }
@@ -4840,7 +4840,7 @@ var require_ms = __commonJS({
4840
4840
  "val is not a non-empty string or a valid number. val=" + JSON.stringify(val2)
4841
4841
  );
4842
4842
  };
4843
- function parse15(str) {
4843
+ function parse14(str) {
4844
4844
  str = String(str);
4845
4845
  if (str.length > 100) {
4846
4846
  return;
@@ -5388,7 +5388,7 @@ var require_fecha_umd = __commonJS({
5388
5388
  return literals.shift();
5389
5389
  });
5390
5390
  };
5391
- function parse15(dateStr, format4, i18n) {
5391
+ function parse14(dateStr, format4, i18n) {
5392
5392
  if (i18n === void 0) {
5393
5393
  i18n = {};
5394
5394
  }
@@ -5483,7 +5483,7 @@ var require_fecha_umd = __commonJS({
5483
5483
  }
5484
5484
  var fecha = {
5485
5485
  format: format3,
5486
- parse: parse15,
5486
+ parse: parse14,
5487
5487
  defaultI18n,
5488
5488
  setGlobalDateI18n,
5489
5489
  setGlobalDateMasks
@@ -5491,7 +5491,7 @@ var require_fecha_umd = __commonJS({
5491
5491
  exports2.assign = assign;
5492
5492
  exports2.default = fecha;
5493
5493
  exports2.format = format3;
5494
- exports2.parse = parse15;
5494
+ exports2.parse = parse14;
5495
5495
  exports2.defaultI18n = defaultI18n;
5496
5496
  exports2.setGlobalDateI18n = setGlobalDateI18n;
5497
5497
  exports2.setGlobalDateMasks = setGlobalDateMasks;
@@ -20490,7 +20490,7 @@ var require_templates = __commonJS({
20490
20490
  var TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
20491
20491
  var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
20492
20492
  var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
20493
- var ESCAPE_REGEX2 = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi;
20493
+ var ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi;
20494
20494
  var ESCAPES = /* @__PURE__ */ new Map([
20495
20495
  ["n", "\n"],
20496
20496
  ["r", "\r"],
@@ -20523,7 +20523,7 @@ var require_templates = __commonJS({
20523
20523
  if (!Number.isNaN(number)) {
20524
20524
  results.push(number);
20525
20525
  } else if (matches = chunk2.match(STRING_REGEX)) {
20526
- results.push(matches[2].replace(ESCAPE_REGEX2, (m, escape3, character) => escape3 ? unescape3(escape3) : character));
20526
+ results.push(matches[2].replace(ESCAPE_REGEX, (m, escape3, character) => escape3 ? unescape3(escape3) : character));
20527
20527
  } else {
20528
20528
  throw new Error(`Invalid Chalk template style argument: ${chunk2} (in style '${name2}')`);
20529
20529
  }
@@ -34180,7 +34180,7 @@ var require_ms3 = __commonJS({
34180
34180
  options = options || {};
34181
34181
  var type = typeof val2;
34182
34182
  if (type === "string" && val2.length > 0) {
34183
- return parse15(val2);
34183
+ return parse14(val2);
34184
34184
  } else if (type === "number" && isFinite(val2)) {
34185
34185
  return options.long ? fmtLong(val2) : fmtShort(val2);
34186
34186
  }
@@ -34188,7 +34188,7 @@ var require_ms3 = __commonJS({
34188
34188
  "val is not a non-empty string or a valid number. val=" + JSON.stringify(val2)
34189
34189
  );
34190
34190
  };
34191
- function parse15(str) {
34191
+ function parse14(str) {
34192
34192
  str = String(str);
34193
34193
  if (str.length > 100) {
34194
34194
  return;
@@ -36805,7 +36805,7 @@ var require_util2 = __commonJS({
36805
36805
  var { InvalidArgumentError: InvalidArgumentError2 } = require_errors3();
36806
36806
  var { Blob: Blob2 } = __require("buffer");
36807
36807
  var nodeUtil = __require("util");
36808
- var { stringify: stringify4 } = __require("querystring");
36808
+ var { stringify: stringify3 } = __require("querystring");
36809
36809
  var { headerNameLowerCasedRecord } = require_constants();
36810
36810
  var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
36811
36811
  function nop() {
@@ -36820,7 +36820,7 @@ var require_util2 = __commonJS({
36820
36820
  if (url3.includes("?") || url3.includes("#")) {
36821
36821
  throw new Error('Query params cannot be passed when url already contains "?" or "#".');
36822
36822
  }
36823
- const stringified = stringify4(queryParams);
36823
+ const stringified = stringify3(queryParams);
36824
36824
  if (stringified) {
36825
36825
  url3 += "?" + stringified;
36826
36826
  }
@@ -40678,7 +40678,7 @@ var require_dataURL = __commonJS({
40678
40678
  }
40679
40679
  return bytes;
40680
40680
  }
40681
- function collectAnHTTPQuotedString(input, position, extractValue2) {
40681
+ function collectAnHTTPQuotedString(input, position, extractValue) {
40682
40682
  const positionStart = position.position;
40683
40683
  let value2 = "";
40684
40684
  assert8(input[position.position] === '"');
@@ -40706,7 +40706,7 @@ var require_dataURL = __commonJS({
40706
40706
  break;
40707
40707
  }
40708
40708
  }
40709
- if (extractValue2) {
40709
+ if (extractValue) {
40710
40710
  return value2;
40711
40711
  }
40712
40712
  return input.slice(positionStart, position.position);
@@ -51435,7 +51435,7 @@ var require_util7 = __commonJS({
51435
51435
  throw new Error("Invalid cookie max-age");
51436
51436
  }
51437
51437
  }
51438
- function stringify4(cookie) {
51438
+ function stringify3(cookie) {
51439
51439
  if (cookie.name.length === 0) {
51440
51440
  return null;
51441
51441
  }
@@ -51500,7 +51500,7 @@ var require_util7 = __commonJS({
51500
51500
  }
51501
51501
  module.exports = {
51502
51502
  isCTLExcludingHtab,
51503
- stringify: stringify4,
51503
+ stringify: stringify3,
51504
51504
  getHeadersList
51505
51505
  };
51506
51506
  }
@@ -51651,7 +51651,7 @@ var require_cookies = __commonJS({
51651
51651
  "../../node_modules/.pnpm/undici@5.28.5/node_modules/undici/lib/cookies/index.js"(exports, module) {
51652
51652
  "use strict";
51653
51653
  var { parseSetCookie } = require_parse();
51654
- var { stringify: stringify4, getHeadersList } = require_util7();
51654
+ var { stringify: stringify3, getHeadersList } = require_util7();
51655
51655
  var { webidl } = require_webidl();
51656
51656
  var { Headers } = require_headers();
51657
51657
  function getCookies(headers) {
@@ -51693,9 +51693,9 @@ var require_cookies = __commonJS({
51693
51693
  webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
51694
51694
  webidl.brandCheck(headers, Headers, { strict: false });
51695
51695
  cookie = webidl.converters.Cookie(cookie);
51696
- const str = stringify4(cookie);
51696
+ const str = stringify3(cookie);
51697
51697
  if (str) {
51698
- headers.append("Set-Cookie", stringify4(cookie));
51698
+ headers.append("Set-Cookie", stringify3(cookie));
51699
51699
  }
51700
51700
  }
51701
51701
  webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
@@ -55338,9 +55338,9 @@ var require_minimatch = __commonJS({
55338
55338
  throw new TypeError("pattern is too long");
55339
55339
  }
55340
55340
  };
55341
- Minimatch2.prototype.parse = parse15;
55341
+ Minimatch2.prototype.parse = parse14;
55342
55342
  var SUBPARSE = {};
55343
- function parse15(pattern, isSub) {
55343
+ function parse14(pattern, isSub) {
55344
55344
  assertValidPattern2(pattern);
55345
55345
  var options = this.options;
55346
55346
  if (pattern === "**") {
@@ -59962,7 +59962,7 @@ var require_stringify = __commonJS({
59962
59962
  "use strict";
59963
59963
  var utils = require_utils4();
59964
59964
  module.exports = (ast, options = {}) => {
59965
- let stringify4 = (node, parent2 = {}) => {
59965
+ let stringify3 = (node, parent2 = {}) => {
59966
59966
  let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent2);
59967
59967
  let invalidNode = node.invalid === true && options.escapeInvalid === true;
59968
59968
  let output = "";
@@ -59977,12 +59977,12 @@ var require_stringify = __commonJS({
59977
59977
  }
59978
59978
  if (node.nodes) {
59979
59979
  for (let child of node.nodes) {
59980
- output += stringify4(child);
59980
+ output += stringify3(child);
59981
59981
  }
59982
59982
  }
59983
59983
  return output;
59984
59984
  };
59985
- return stringify4(ast);
59985
+ return stringify3(ast);
59986
59986
  };
59987
59987
  }
59988
59988
  });
@@ -60236,7 +60236,7 @@ var require_fill_range = __commonJS({
60236
60236
  while (value2[++index2] === "0") ;
60237
60237
  return index2 > 0;
60238
60238
  };
60239
- var stringify4 = (start, end2, options) => {
60239
+ var stringify3 = (start, end2, options) => {
60240
60240
  if (typeof start === "string" || typeof end2 === "string") {
60241
60241
  return true;
60242
60242
  }
@@ -60331,7 +60331,7 @@ var require_fill_range = __commonJS({
60331
60331
  step = Math.max(Math.abs(step), 1);
60332
60332
  let padded = zeros(startString) || zeros(endString) || zeros(stepString);
60333
60333
  let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0;
60334
- let toNumber = padded === false && stringify4(start, end2, options) === false;
60334
+ let toNumber = padded === false && stringify3(start, end2, options) === false;
60335
60335
  let format3 = options.transform || transform2(toNumber);
60336
60336
  if (options.toRegex && step === 1) {
60337
60337
  return toRange(toMaxLen(start, maxLen), toMaxLen(end2, maxLen), true, options);
@@ -60464,7 +60464,7 @@ var require_expand = __commonJS({
60464
60464
  "../../node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/expand.js"(exports, module) {
60465
60465
  "use strict";
60466
60466
  var fill = require_fill_range();
60467
- var stringify4 = require_stringify();
60467
+ var stringify3 = require_stringify();
60468
60468
  var utils = require_utils4();
60469
60469
  var append5 = (queue = "", stash = "", enclose = false) => {
60470
60470
  let result = [];
@@ -60499,7 +60499,7 @@ var require_expand = __commonJS({
60499
60499
  q = p.queue;
60500
60500
  }
60501
60501
  if (node.invalid || node.dollar) {
60502
- q.push(append5(q.pop(), stringify4(node, options)));
60502
+ q.push(append5(q.pop(), stringify3(node, options)));
60503
60503
  return;
60504
60504
  }
60505
60505
  if (node.type === "brace" && node.invalid !== true && node.nodes.length === 2) {
@@ -60513,7 +60513,7 @@ var require_expand = __commonJS({
60513
60513
  }
60514
60514
  let range2 = fill(...args, options);
60515
60515
  if (range2.length === 0) {
60516
- range2 = stringify4(node, options);
60516
+ range2 = stringify3(node, options);
60517
60517
  }
60518
60518
  q.push(append5(q.pop(), range2));
60519
60519
  node.nodes = [];
@@ -60658,7 +60658,7 @@ var require_constants6 = __commonJS({
60658
60658
  var require_parse2 = __commonJS({
60659
60659
  "../../node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/parse.js"(exports, module) {
60660
60660
  "use strict";
60661
- var stringify4 = require_stringify();
60661
+ var stringify3 = require_stringify();
60662
60662
  var {
60663
60663
  MAX_LENGTH,
60664
60664
  CHAR_BACKSLASH,
@@ -60688,7 +60688,7 @@ var require_parse2 = __commonJS({
60688
60688
  CHAR_NO_BREAK_SPACE,
60689
60689
  CHAR_ZERO_WIDTH_NOBREAK_SPACE
60690
60690
  } = require_constants6();
60691
- var parse15 = (input, options = {}) => {
60691
+ var parse14 = (input, options = {}) => {
60692
60692
  if (typeof input !== "string") {
60693
60693
  throw new TypeError("Expected a string");
60694
60694
  }
@@ -60832,7 +60832,7 @@ var require_parse2 = __commonJS({
60832
60832
  if (block.ranges > 0) {
60833
60833
  block.ranges = 0;
60834
60834
  let open = block.nodes.shift();
60835
- block.nodes = [open, { type: "text", value: stringify4(block) }];
60835
+ block.nodes = [open, { type: "text", value: stringify3(block) }];
60836
60836
  }
60837
60837
  push2({ type: "comma", value: value2 });
60838
60838
  block.commas++;
@@ -60890,7 +60890,7 @@ var require_parse2 = __commonJS({
60890
60890
  push2({ type: "eos" });
60891
60891
  return ast;
60892
60892
  };
60893
- module.exports = parse15;
60893
+ module.exports = parse14;
60894
60894
  }
60895
60895
  });
60896
60896
 
@@ -60898,10 +60898,10 @@ var require_parse2 = __commonJS({
60898
60898
  var require_braces = __commonJS({
60899
60899
  "../../node_modules/.pnpm/braces@3.0.2/node_modules/braces/index.js"(exports, module) {
60900
60900
  "use strict";
60901
- var stringify4 = require_stringify();
60901
+ var stringify3 = require_stringify();
60902
60902
  var compile4 = require_compile();
60903
60903
  var expand2 = require_expand();
60904
- var parse15 = require_parse2();
60904
+ var parse14 = require_parse2();
60905
60905
  var braces = (input, options = {}) => {
60906
60906
  let output = [];
60907
60907
  if (Array.isArray(input)) {
@@ -60921,12 +60921,12 @@ var require_braces = __commonJS({
60921
60921
  }
60922
60922
  return output;
60923
60923
  };
60924
- braces.parse = (input, options = {}) => parse15(input, options);
60924
+ braces.parse = (input, options = {}) => parse14(input, options);
60925
60925
  braces.stringify = (input, options = {}) => {
60926
60926
  if (typeof input === "string") {
60927
- return stringify4(braces.parse(input, options), options);
60927
+ return stringify3(braces.parse(input, options), options);
60928
60928
  }
60929
- return stringify4(input, options);
60929
+ return stringify3(input, options);
60930
60930
  };
60931
60931
  braces.compile = (input, options = {}) => {
60932
60932
  if (typeof input === "string") {
@@ -61574,7 +61574,7 @@ var require_parse3 = __commonJS({
61574
61574
  var syntaxError = (type, char) => {
61575
61575
  return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
61576
61576
  };
61577
- var parse15 = (input, options) => {
61577
+ var parse14 = (input, options) => {
61578
61578
  if (typeof input !== "string") {
61579
61579
  throw new TypeError("Expected a string");
61580
61580
  }
@@ -61723,7 +61723,7 @@ var require_parse3 = __commonJS({
61723
61723
  output = token.close = `)$))${extglobStar}`;
61724
61724
  }
61725
61725
  if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
61726
- const expression = parse15(rest, { ...options, fastpaths: false }).output;
61726
+ const expression = parse14(rest, { ...options, fastpaths: false }).output;
61727
61727
  output = token.close = `)${expression})${extglobStar})`;
61728
61728
  }
61729
61729
  if (token.prev.type === "bos") {
@@ -62248,7 +62248,7 @@ var require_parse3 = __commonJS({
62248
62248
  }
62249
62249
  return state;
62250
62250
  };
62251
- parse15.fastpaths = (input, options) => {
62251
+ parse14.fastpaths = (input, options) => {
62252
62252
  const opts = { ...options };
62253
62253
  const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
62254
62254
  const len = input.length;
@@ -62314,7 +62314,7 @@ var require_parse3 = __commonJS({
62314
62314
  }
62315
62315
  return source;
62316
62316
  };
62317
- module.exports = parse15;
62317
+ module.exports = parse14;
62318
62318
  }
62319
62319
  });
62320
62320
 
@@ -62324,7 +62324,7 @@ var require_picomatch = __commonJS({
62324
62324
  "use strict";
62325
62325
  var path10 = __require("path");
62326
62326
  var scan = require_scan();
62327
- var parse15 = require_parse3();
62327
+ var parse14 = require_parse3();
62328
62328
  var utils = require_utils5();
62329
62329
  var constants4 = require_constants7();
62330
62330
  var isObject3 = (val2) => val2 && typeof val2 === "object" && !Array.isArray(val2);
@@ -62412,7 +62412,7 @@ var require_picomatch = __commonJS({
62412
62412
  picomatch5.isMatch = (str, patterns, options) => picomatch5(patterns, options)(str);
62413
62413
  picomatch5.parse = (pattern, options) => {
62414
62414
  if (Array.isArray(pattern)) return pattern.map((p) => picomatch5.parse(p, options));
62415
- return parse15(pattern, { ...options, fastpaths: false });
62415
+ return parse14(pattern, { ...options, fastpaths: false });
62416
62416
  };
62417
62417
  picomatch5.scan = (input, options) => scan(input, options);
62418
62418
  picomatch5.compileRe = (state, options, returnOutput = false, returnState = false) => {
@@ -62438,10 +62438,10 @@ var require_picomatch = __commonJS({
62438
62438
  }
62439
62439
  let parsed = { negated: false, fastpaths: true };
62440
62440
  if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) {
62441
- parsed.output = parse15.fastpaths(input, options);
62441
+ parsed.output = parse14.fastpaths(input, options);
62442
62442
  }
62443
62443
  if (!parsed.output) {
62444
- parsed = parse15(input, options);
62444
+ parsed = parse14(input, options);
62445
62445
  }
62446
62446
  return picomatch5.compileRe(parsed, options, returnOutput, returnState);
62447
62447
  };
@@ -63054,7 +63054,7 @@ var require_semver = __commonJS({
63054
63054
  var require_parse4 = __commonJS({
63055
63055
  "../../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/parse.js"(exports, module) {
63056
63056
  var SemVer = require_semver();
63057
- var parse15 = (version3, options, throwErrors = false) => {
63057
+ var parse14 = (version3, options, throwErrors = false) => {
63058
63058
  if (version3 instanceof SemVer) {
63059
63059
  return version3;
63060
63060
  }
@@ -63067,16 +63067,16 @@ var require_parse4 = __commonJS({
63067
63067
  throw er;
63068
63068
  }
63069
63069
  };
63070
- module.exports = parse15;
63070
+ module.exports = parse14;
63071
63071
  }
63072
63072
  });
63073
63073
 
63074
63074
  // ../../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/valid.js
63075
63075
  var require_valid = __commonJS({
63076
63076
  "../../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/valid.js"(exports, module) {
63077
- var parse15 = require_parse4();
63077
+ var parse14 = require_parse4();
63078
63078
  var valid = (version3, options) => {
63079
- const v = parse15(version3, options);
63079
+ const v = parse14(version3, options);
63080
63080
  return v ? v.version : null;
63081
63081
  };
63082
63082
  module.exports = valid;
@@ -63086,9 +63086,9 @@ var require_valid = __commonJS({
63086
63086
  // ../../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/clean.js
63087
63087
  var require_clean = __commonJS({
63088
63088
  "../../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/clean.js"(exports, module) {
63089
- var parse15 = require_parse4();
63089
+ var parse14 = require_parse4();
63090
63090
  var clean = (version3, options) => {
63091
- const s2 = parse15(version3.trim().replace(/^[=v]+/, ""), options);
63091
+ const s2 = parse14(version3.trim().replace(/^[=v]+/, ""), options);
63092
63092
  return s2 ? s2.version : null;
63093
63093
  };
63094
63094
  module.exports = clean;
@@ -63121,10 +63121,10 @@ var require_inc = __commonJS({
63121
63121
  // ../../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/diff.js
63122
63122
  var require_diff = __commonJS({
63123
63123
  "../../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/diff.js"(exports, module) {
63124
- var parse15 = require_parse4();
63124
+ var parse14 = require_parse4();
63125
63125
  var diff = (version1, version22) => {
63126
- const v12 = parse15(version1, null, true);
63127
- const v2 = parse15(version22, null, true);
63126
+ const v12 = parse14(version1, null, true);
63127
+ const v2 = parse14(version22, null, true);
63128
63128
  const comparison = v12.compare(v2);
63129
63129
  if (comparison === 0) {
63130
63130
  return null;
@@ -63191,9 +63191,9 @@ var require_patch = __commonJS({
63191
63191
  // ../../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/prerelease.js
63192
63192
  var require_prerelease = __commonJS({
63193
63193
  "../../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/prerelease.js"(exports, module) {
63194
- var parse15 = require_parse4();
63194
+ var parse14 = require_parse4();
63195
63195
  var prerelease = (version3, options) => {
63196
- const parsed = parse15(version3, options);
63196
+ const parsed = parse14(version3, options);
63197
63197
  return parsed && parsed.prerelease.length ? parsed.prerelease : null;
63198
63198
  };
63199
63199
  module.exports = prerelease;
@@ -63365,7 +63365,7 @@ var require_cmp = __commonJS({
63365
63365
  var require_coerce = __commonJS({
63366
63366
  "../../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/coerce.js"(exports, module) {
63367
63367
  var SemVer = require_semver();
63368
- var parse15 = require_parse4();
63368
+ var parse14 = require_parse4();
63369
63369
  var { safeRe: re, t } = require_re();
63370
63370
  var coerce = (version3, options) => {
63371
63371
  if (version3 instanceof SemVer) {
@@ -63400,7 +63400,7 @@ var require_coerce = __commonJS({
63400
63400
  const patch = match2[4] || "0";
63401
63401
  const prerelease = options.includePrerelease && match2[5] ? `-${match2[5]}` : "";
63402
63402
  const build = options.includePrerelease && match2[6] ? `+${match2[6]}` : "";
63403
- return parse15(`${major}.${minor}.${patch}${prerelease}${build}`, options);
63403
+ return parse14(`${major}.${minor}.${patch}${prerelease}${build}`, options);
63404
63404
  };
63405
63405
  module.exports = coerce;
63406
63406
  }
@@ -64400,7 +64400,7 @@ var require_semver2 = __commonJS({
64400
64400
  var constants4 = require_constants8();
64401
64401
  var SemVer = require_semver();
64402
64402
  var identifiers = require_identifiers();
64403
- var parse15 = require_parse4();
64403
+ var parse14 = require_parse4();
64404
64404
  var valid = require_valid();
64405
64405
  var clean = require_clean();
64406
64406
  var inc = require_inc();
@@ -64438,7 +64438,7 @@ var require_semver2 = __commonJS({
64438
64438
  var simplifyRange = require_simplify();
64439
64439
  var subset = require_subset();
64440
64440
  module.exports = {
64441
- parse: parse15,
64441
+ parse: parse14,
64442
64442
  valid,
64443
64443
  clean,
64444
64444
  inc,
@@ -64924,7 +64924,7 @@ var require_parse5 = __commonJS({
64924
64924
  "../../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/parse.js"(exports, module) {
64925
64925
  "use strict";
64926
64926
  var SemVer = require_semver3();
64927
- var parse15 = (version3, options, throwErrors = false) => {
64927
+ var parse14 = (version3, options, throwErrors = false) => {
64928
64928
  if (version3 instanceof SemVer) {
64929
64929
  return version3;
64930
64930
  }
@@ -64937,7 +64937,7 @@ var require_parse5 = __commonJS({
64937
64937
  throw er;
64938
64938
  }
64939
64939
  };
64940
- module.exports = parse15;
64940
+ module.exports = parse14;
64941
64941
  }
64942
64942
  });
64943
64943
 
@@ -64945,9 +64945,9 @@ var require_parse5 = __commonJS({
64945
64945
  var require_valid3 = __commonJS({
64946
64946
  "../../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/valid.js"(exports, module) {
64947
64947
  "use strict";
64948
- var parse15 = require_parse5();
64948
+ var parse14 = require_parse5();
64949
64949
  var valid = (version3, options) => {
64950
- const v = parse15(version3, options);
64950
+ const v = parse14(version3, options);
64951
64951
  return v ? v.version : null;
64952
64952
  };
64953
64953
  module.exports = valid;
@@ -64958,9 +64958,9 @@ var require_valid3 = __commonJS({
64958
64958
  var require_clean2 = __commonJS({
64959
64959
  "../../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/clean.js"(exports, module) {
64960
64960
  "use strict";
64961
- var parse15 = require_parse5();
64961
+ var parse14 = require_parse5();
64962
64962
  var clean = (version3, options) => {
64963
- const s2 = parse15(version3.trim().replace(/^[=v]+/, ""), options);
64963
+ const s2 = parse14(version3.trim().replace(/^[=v]+/, ""), options);
64964
64964
  return s2 ? s2.version : null;
64965
64965
  };
64966
64966
  module.exports = clean;
@@ -64995,10 +64995,10 @@ var require_inc2 = __commonJS({
64995
64995
  var require_diff2 = __commonJS({
64996
64996
  "../../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/diff.js"(exports, module) {
64997
64997
  "use strict";
64998
- var parse15 = require_parse5();
64998
+ var parse14 = require_parse5();
64999
64999
  var diff = (version1, version22) => {
65000
- const v12 = parse15(version1, null, true);
65001
- const v2 = parse15(version22, null, true);
65000
+ const v12 = parse14(version1, null, true);
65001
+ const v2 = parse14(version22, null, true);
65002
65002
  const comparison = v12.compare(v2);
65003
65003
  if (comparison === 0) {
65004
65004
  return null;
@@ -65069,9 +65069,9 @@ var require_patch2 = __commonJS({
65069
65069
  var require_prerelease2 = __commonJS({
65070
65070
  "../../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/prerelease.js"(exports, module) {
65071
65071
  "use strict";
65072
- var parse15 = require_parse5();
65072
+ var parse14 = require_parse5();
65073
65073
  var prerelease = (version3, options) => {
65074
- const parsed = parse15(version3, options);
65074
+ const parsed = parse14(version3, options);
65075
65075
  return parsed && parsed.prerelease.length ? parsed.prerelease : null;
65076
65076
  };
65077
65077
  module.exports = prerelease;
@@ -65257,7 +65257,7 @@ var require_coerce2 = __commonJS({
65257
65257
  "../../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/coerce.js"(exports, module) {
65258
65258
  "use strict";
65259
65259
  var SemVer = require_semver3();
65260
- var parse15 = require_parse5();
65260
+ var parse14 = require_parse5();
65261
65261
  var { safeRe: re, t } = require_re2();
65262
65262
  var coerce = (version3, options) => {
65263
65263
  if (version3 instanceof SemVer) {
@@ -65292,7 +65292,7 @@ var require_coerce2 = __commonJS({
65292
65292
  const patch = match2[4] || "0";
65293
65293
  const prerelease = options.includePrerelease && match2[5] ? `-${match2[5]}` : "";
65294
65294
  const build = options.includePrerelease && match2[6] ? `+${match2[6]}` : "";
65295
- return parse15(`${major}.${minor}.${patch}${prerelease}${build}`, options);
65295
+ return parse14(`${major}.${minor}.${patch}${prerelease}${build}`, options);
65296
65296
  };
65297
65297
  module.exports = coerce;
65298
65298
  }
@@ -66308,7 +66308,7 @@ var require_semver4 = __commonJS({
66308
66308
  var constants4 = require_constants9();
66309
66309
  var SemVer = require_semver3();
66310
66310
  var identifiers = require_identifiers2();
66311
- var parse15 = require_parse5();
66311
+ var parse14 = require_parse5();
66312
66312
  var valid = require_valid3();
66313
66313
  var clean = require_clean2();
66314
66314
  var inc = require_inc2();
@@ -66346,7 +66346,7 @@ var require_semver4 = __commonJS({
66346
66346
  var simplifyRange = require_simplify2();
66347
66347
  var subset = require_subset2();
66348
66348
  module.exports = {
66349
- parse: parse15,
66349
+ parse: parse14,
66350
66350
  valid,
66351
66351
  clean,
66352
66352
  inc,
@@ -69933,7 +69933,7 @@ var require_parse6 = __commonJS({
69933
69933
  var syntaxError = (type, char) => {
69934
69934
  return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
69935
69935
  };
69936
- var parse15 = (input, options) => {
69936
+ var parse14 = (input, options) => {
69937
69937
  if (typeof input !== "string") {
69938
69938
  throw new TypeError("Expected a string");
69939
69939
  }
@@ -70081,7 +70081,7 @@ var require_parse6 = __commonJS({
70081
70081
  output = token.close = `)$))${extglobStar}`;
70082
70082
  }
70083
70083
  if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
70084
- const expression = parse15(rest, { ...options, fastpaths: false }).output;
70084
+ const expression = parse14(rest, { ...options, fastpaths: false }).output;
70085
70085
  output = token.close = `)${expression})${extglobStar})`;
70086
70086
  }
70087
70087
  if (token.prev.type === "bos") {
@@ -70603,7 +70603,7 @@ var require_parse6 = __commonJS({
70603
70603
  }
70604
70604
  return state;
70605
70605
  };
70606
- parse15.fastpaths = (input, options) => {
70606
+ parse14.fastpaths = (input, options) => {
70607
70607
  const opts = { ...options };
70608
70608
  const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
70609
70609
  const len = input.length;
@@ -70668,7 +70668,7 @@ var require_parse6 = __commonJS({
70668
70668
  }
70669
70669
  return source;
70670
70670
  };
70671
- module.exports = parse15;
70671
+ module.exports = parse14;
70672
70672
  }
70673
70673
  });
70674
70674
 
@@ -70677,7 +70677,7 @@ var require_picomatch3 = __commonJS({
70677
70677
  "../../node_modules/.pnpm/picomatch@4.0.3/node_modules/picomatch/lib/picomatch.js"(exports, module) {
70678
70678
  "use strict";
70679
70679
  var scan = require_scan2();
70680
- var parse15 = require_parse6();
70680
+ var parse14 = require_parse6();
70681
70681
  var utils = require_utils7();
70682
70682
  var constants4 = require_constants10();
70683
70683
  var isObject3 = (val2) => val2 && typeof val2 === "object" && !Array.isArray(val2);
@@ -70765,7 +70765,7 @@ var require_picomatch3 = __commonJS({
70765
70765
  picomatch5.isMatch = (str, patterns, options) => picomatch5(patterns, options)(str);
70766
70766
  picomatch5.parse = (pattern, options) => {
70767
70767
  if (Array.isArray(pattern)) return pattern.map((p) => picomatch5.parse(p, options));
70768
- return parse15(pattern, { ...options, fastpaths: false });
70768
+ return parse14(pattern, { ...options, fastpaths: false });
70769
70769
  };
70770
70770
  picomatch5.scan = (input, options) => scan(input, options);
70771
70771
  picomatch5.compileRe = (state, options, returnOutput = false, returnState = false) => {
@@ -70791,10 +70791,10 @@ var require_picomatch3 = __commonJS({
70791
70791
  }
70792
70792
  let parsed = { negated: false, fastpaths: true };
70793
70793
  if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) {
70794
- parsed.output = parse15.fastpaths(input, options);
70794
+ parsed.output = parse14.fastpaths(input, options);
70795
70795
  }
70796
70796
  if (!parsed.output) {
70797
- parsed = parse15(input, options);
70797
+ parsed = parse14(input, options);
70798
70798
  }
70799
70799
  return picomatch5.compileRe(parsed, options, returnOutput, returnState);
70800
70800
  };
@@ -75047,7 +75047,7 @@ var require_parse7 = __commonJS({
75047
75047
  function isWhitespace3(c) {
75048
75048
  return c === 32 || c === 9 || c === 10 || c === 12 || c === 13;
75049
75049
  }
75050
- function parse15(selector) {
75050
+ function parse14(selector) {
75051
75051
  var subselects2 = [];
75052
75052
  var endIndex = parseSelector(subselects2, "".concat(selector), 0);
75053
75053
  if (endIndex < selector.length) {
@@ -75055,7 +75055,7 @@ var require_parse7 = __commonJS({
75055
75055
  }
75056
75056
  return subselects2;
75057
75057
  }
75058
- exports.parse = parse15;
75058
+ exports.parse = parse14;
75059
75059
  function parseSelector(subselects2, selector, selectorIndex) {
75060
75060
  var tokens = [];
75061
75061
  function getName2(offset) {
@@ -75382,12 +75382,12 @@ var require_stringify2 = __commonJS({
75382
75382
  ], false).map(function(c) {
75383
75383
  return c.charCodeAt(0);
75384
75384
  }));
75385
- function stringify4(selector) {
75385
+ function stringify3(selector) {
75386
75386
  return selector.map(function(token) {
75387
75387
  return token.map(stringifyToken).join("");
75388
75388
  }).join(", ");
75389
75389
  }
75390
- exports.stringify = stringify4;
75390
+ exports.stringify = stringify3;
75391
75391
  function stringifyToken(token, index2, arr) {
75392
75392
  switch (token.type) {
75393
75393
  // Simple types
@@ -75410,7 +75410,7 @@ var require_stringify2 = __commonJS({
75410
75410
  case types_1.SelectorType.PseudoElement:
75411
75411
  return "::".concat(escapeName(token.name, charsToEscapeInName)).concat(token.data === null ? "" : "(".concat(escapeName(token.data, charsToEscapeInPseudoValue), ")"));
75412
75412
  case types_1.SelectorType.Pseudo:
75413
- return ":".concat(escapeName(token.name, charsToEscapeInName)).concat(token.data === null ? "" : "(".concat(typeof token.data === "string" ? escapeName(token.data, charsToEscapeInPseudoValue) : stringify4(token.data), ")"));
75413
+ return ":".concat(escapeName(token.name, charsToEscapeInName)).concat(token.data === null ? "" : "(".concat(typeof token.data === "string" ? escapeName(token.data, charsToEscapeInPseudoValue) : stringify3(token.data), ")"));
75414
75414
  case types_1.SelectorType.Attribute: {
75415
75415
  if (token.name === "id" && token.action === types_1.AttributeAction.Equals && token.ignoreCase === "quirks" && !token.namespace) {
75416
75416
  return "#".concat(escapeName(token.value, charsToEscapeInName));
@@ -81012,6 +81012,107 @@ var TOMLScalar = class {
81012
81012
  return scalarValue;
81013
81013
  }
81014
81014
  };
81015
+ function keyToString(key) {
81016
+ if (key.type === "TOMLBare") {
81017
+ return key.name;
81018
+ } else if (key.type === "TOMLQuoted") {
81019
+ return key.value;
81020
+ }
81021
+ return "";
81022
+ }
81023
+ function assignKey(obj, key, value2) {
81024
+ if (key.type === "TOMLKey") {
81025
+ let needle = obj;
81026
+ const tail = keyToString(key.keys.slice(-1)[0]);
81027
+ for (const name2 of key.keys.slice(0, -1)) {
81028
+ const propName = keyToString(name2);
81029
+ if (Object.hasOwn(needle, propName)) {
81030
+ if (needle[propName] instanceof TOMLTable) {
81031
+ needle = needle[propName];
81032
+ } else {
81033
+ throw new Error(`Cannot assign nested key to non-table value: ${propName}`);
81034
+ }
81035
+ } else {
81036
+ needle[propName] = new TOMLTable(name2.range, name2.range);
81037
+ needle = needle[propName];
81038
+ }
81039
+ }
81040
+ needle[tail] = value2;
81041
+ } else {
81042
+ obj[keyToString(key)] = value2;
81043
+ }
81044
+ }
81045
+ function toTOMLScalar(ast, valueKeyRange) {
81046
+ return new TOMLScalar(ast.value, ast.range, valueKeyRange);
81047
+ }
81048
+ function toTOMLArray(ast, valueKeyRange) {
81049
+ const ret = new TOMLArray(ast.range, valueKeyRange);
81050
+ for (let i3 = 0; i3 < ast.elements.length; i3++) {
81051
+ ret[i3] = toTOMLValue(ast.elements[i3], ast.elements[i3].range);
81052
+ }
81053
+ return ret;
81054
+ }
81055
+ function toTOMLTable(ast, valueKeyRange) {
81056
+ const ret = new TOMLTable(ast.range, valueKeyRange);
81057
+ for (const pair of ast.body) {
81058
+ assignKey(ret, pair.key, toTOMLValue(pair.value, pair.key.range));
81059
+ }
81060
+ return ret;
81061
+ }
81062
+ function toTOMLValue(ast, valueKeyRange) {
81063
+ if (ast.type === "TOMLValue") {
81064
+ return toTOMLScalar(ast, valueKeyRange);
81065
+ } else if (ast.type === "TOMLArray") {
81066
+ return toTOMLArray(ast, valueKeyRange);
81067
+ }
81068
+ return toTOMLTable(ast, valueKeyRange);
81069
+ }
81070
+ function recursiveAllocContainer(root3, keys, keyRange2, value2) {
81071
+ let needle = root3;
81072
+ for (let i3 = 0; i3 < keys.length - 1; i3++) {
81073
+ const key = keys[i3];
81074
+ if (needle instanceof TOMLTable && typeof key === "string") {
81075
+ needle = needle[key] ??= typeof keys[i3 + 1] === "number" ? new TOMLArray(keyRange2, keyRange2) : new TOMLTable(keyRange2, keyRange2);
81076
+ } else if (needle instanceof TOMLArray && typeof key === "number") {
81077
+ needle = needle[key] ??= typeof keys[i3 + 1] === "number" ? new TOMLArray(keyRange2, keyRange2) : new TOMLTable(keyRange2, keyRange2);
81078
+ } else {
81079
+ return;
81080
+ }
81081
+ }
81082
+ const finalKey = keys[keys.length - 1];
81083
+ if (needle instanceof TOMLTable && typeof finalKey === "string") {
81084
+ const existing = needle[finalKey];
81085
+ if (existing instanceof TOMLTable) {
81086
+ for (const k in value2) existing[k] = value2[k];
81087
+ } else {
81088
+ needle[finalKey] = value2;
81089
+ }
81090
+ } else if (needle instanceof TOMLArray && typeof finalKey === "number") {
81091
+ needle[finalKey] = value2;
81092
+ }
81093
+ }
81094
+ function tomlASTToObject(ast) {
81095
+ const root3 = new TOMLTable(ast.range, [0, 0]);
81096
+ for (const node of ast.body[0].body) {
81097
+ if (node.type === "TOMLKeyValue") {
81098
+ assignKey(root3, node.key, toTOMLValue(node.value, node.key.range));
81099
+ } else if (node.type === "TOMLTable") {
81100
+ recursiveAllocContainer(root3, node.resolvedKey, node.range, toTOMLTable(node, node.key.range));
81101
+ }
81102
+ }
81103
+ return root3;
81104
+ }
81105
+ function parseTOML2(src) {
81106
+ try {
81107
+ const ast = tomlParser.parseTOML(src);
81108
+ return tomlASTToObject(ast);
81109
+ } catch (e) {
81110
+ return null;
81111
+ }
81112
+ }
81113
+ function getNestedValue(table, path10) {
81114
+ return path10.split(".").reduce((current, key) => current instanceof TOMLTable ? current[key] : void 0, table);
81115
+ }
81015
81116
 
81016
81117
  // ../utils/src/pip-utils.ts
81017
81118
  function normalizePackageName(packageName) {
@@ -89832,7 +89933,8 @@ var DotnetCodeAwareVulnerabilityScanner = class _DotnetCodeAwareVulnerabilitySca
89832
89933
  const inputFile = resolve8(tmpDir, "input.json");
89833
89934
  const outputFile = resolve8(tmpDir, "output.json");
89834
89935
  await writeFile3(inputFile, JSON.stringify(options));
89835
- const result = await execNeverFail(cmdt`node ${classGraphAnalysisCliPath} runDotnetDirectDependencyAnalysis -i ${inputFile} -o ${outputFile} --cocoa ${cocoaPath} --tree-sitter-c-sharp ${treeSitterCSharpPath}`);
89936
+ const timeoutMs = this.timeoutInSeconds ? Math.max(this.timeoutInSeconds * 1.5, this.timeoutInSeconds + 30) * 1e3 : 750 * 1e3;
89937
+ const result = await execNeverFail(cmdt`node ${classGraphAnalysisCliPath} runDotnetDirectDependencyAnalysis -i ${inputFile} -o ${outputFile} --cocoa ${cocoaPath} --tree-sitter-c-sharp ${treeSitterCSharpPath}`, void 0, { timeout: timeoutMs });
89836
89938
  if (result.error)
89837
89939
  return void 0;
89838
89940
  const packageIds = JSON.parse(await readFile6(outputFile, "utf-8")).result;
@@ -89865,7 +89967,8 @@ var DotnetCodeAwareVulnerabilityScanner = class _DotnetCodeAwareVulnerabilitySca
89865
89967
  const inputFile = resolve8(tmpDir, "input.json");
89866
89968
  const outputFile = resolve8(tmpDir, "output.json");
89867
89969
  await writeFile3(inputFile, JSON.stringify(options));
89868
- const result = await execNeverFail(cmdt`node ${classGraphAnalysisCliPath} runDotnetReachabilityAnalysis -i ${inputFile} -o ${outputFile} --cocoa ${cocoaPath} --tree-sitter-c-sharp ${treeSitterCSharpPath}`);
89970
+ const timeoutMs = this.timeoutInSeconds ? Math.max(this.timeoutInSeconds * 1.5, this.timeoutInSeconds + 30) * 1e3 : 750 * 1e3;
89971
+ const result = await execNeverFail(cmdt`node ${classGraphAnalysisCliPath} runDotnetReachabilityAnalysis -i ${inputFile} -o ${outputFile} --cocoa ${cocoaPath} --tree-sitter-c-sharp ${treeSitterCSharpPath}`, void 0, { timeout: timeoutMs });
89869
89972
  if (result.error)
89870
89973
  return { type: "error", message: result.error.message ?? "unknown error" };
89871
89974
  const { success, error, analysisDiagnostics: diagnostics, vulnerablePaths, reachablePackageIds } = JSON.parse(await readFile6(outputFile, "utf-8")).result;
@@ -93796,7 +93899,7 @@ __export(manipulation_exports, {
93796
93899
 
93797
93900
  // ../../node_modules/.pnpm/cheerio@1.0.0-rc.12/node_modules/cheerio/lib/esm/parse.js
93798
93901
  function getParse(parser) {
93799
- return function parse15(content, options, isDocument2, context) {
93902
+ return function parse14(content, options, isDocument2, context) {
93800
93903
  if (typeof Buffer !== "undefined" && Buffer.isBuffer(content)) {
93801
93904
  content = content.toString();
93802
93905
  }
@@ -94287,13 +94390,13 @@ Cheerio.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator];
94287
94390
  Object.assign(Cheerio.prototype, attributes_exports, traversing_exports, manipulation_exports, css_exports, forms_exports);
94288
94391
 
94289
94392
  // ../../node_modules/.pnpm/cheerio@1.0.0-rc.12/node_modules/cheerio/lib/esm/load.js
94290
- function getLoad(parse15, render3) {
94393
+ function getLoad(parse14, render3) {
94291
94394
  return function load2(content, options, isDocument2 = true) {
94292
94395
  if (content == null) {
94293
94396
  throw new Error("cheerio.load() expects a string");
94294
94397
  }
94295
94398
  const internalOpts = { ...options_default, ...flatten(options) };
94296
- const initialRoot = parse15(content, internalOpts, isDocument2, null);
94399
+ const initialRoot = parse14(content, internalOpts, isDocument2, null);
94297
94400
  class LoadedCheerio extends Cheerio {
94298
94401
  _make(selector, context) {
94299
94402
  const cheerio = initialize(selector, context);
@@ -94301,7 +94404,7 @@ function getLoad(parse15, render3) {
94301
94404
  return cheerio;
94302
94405
  }
94303
94406
  _parse(content2, options2, isDocument3, context) {
94304
- return parse15(content2, options2, isDocument3, context);
94407
+ return parse14(content2, options2, isDocument3, context);
94305
94408
  }
94306
94409
  _render(dom) {
94307
94410
  return render3(dom, this.options);
@@ -94314,7 +94417,7 @@ function getLoad(parse15, render3) {
94314
94417
  ...internalOpts,
94315
94418
  ...flatten(opts)
94316
94419
  };
94317
- const r = typeof root3 === "string" ? [parse15(root3, options2, false, null)] : "length" in root3 ? root3 : [root3];
94420
+ const r = typeof root3 === "string" ? [parse14(root3, options2, false, null)] : "length" in root3 ? root3 : [root3];
94318
94421
  const rootInstance = isCheerio(r) ? r : new LoadedCheerio(r, null, options2);
94319
94422
  rootInstance._root = rootInstance;
94320
94423
  if (!selector) {
@@ -94322,7 +94425,7 @@ function getLoad(parse15, render3) {
94322
94425
  }
94323
94426
  const elements = typeof selector === "string" && isHtml(selector) ? (
94324
94427
  // $(<html>)
94325
- parse15(selector, options2, false, null).children
94428
+ parse14(selector, options2, false, null).children
94326
94429
  ) : isNode(selector) ? (
94327
94430
  // $(dom)
94328
94431
  [selector]
@@ -94343,7 +94446,7 @@ function getLoad(parse15, render3) {
94343
94446
  rootInstance
94344
94447
  ) : typeof context === "string" ? isHtml(context) ? (
94345
94448
  // $('li', '<ul>...</ul>')
94346
- new LoadedCheerio([parse15(context, options2, false, null)], rootInstance, options2)
94449
+ new LoadedCheerio([parse14(context, options2, false, null)], rootInstance, options2)
94347
94450
  ) : (
94348
94451
  // $('li', 'ul')
94349
94452
  (search = `${context} ${search}`, rootInstance)
@@ -103810,7 +103913,8 @@ var JavaCodeAwareVulnerabilityScanner = class _JavaCodeAwareVulnerabilityScanner
103810
103913
  const inputFile = resolve9(tmpDir, "input.json");
103811
103914
  const outputFile = resolve9(tmpDir, "output.json");
103812
103915
  await writeFile4(inputFile, JSON.stringify(options));
103813
- const result = await execNeverFail(cmdt`node ${classGraphAnalysisCliPath} runJvmDirectDependencyAnalysis -i ${inputFile} -o ${outputFile} --alucard ${alucardPath} --tree-sitter-java ${treeSitterJavaPath} --tree-sitter-kotlin ${treeSitterKotlinPath} --tree-sitter-scala ${treeSitterScalaPath}`);
103916
+ const timeoutMs = this.timeoutInSeconds ? Math.max(this.timeoutInSeconds * 1.5, this.timeoutInSeconds + 30) * 1e3 : 750 * 1e3;
103917
+ const result = await execNeverFail(cmdt`node ${classGraphAnalysisCliPath} runJvmDirectDependencyAnalysis -i ${inputFile} -o ${outputFile} --alucard ${alucardPath} --tree-sitter-java ${treeSitterJavaPath} --tree-sitter-kotlin ${treeSitterKotlinPath} --tree-sitter-scala ${treeSitterScalaPath}`, void 0, { timeout: timeoutMs });
103814
103918
  if (result.error)
103815
103919
  return void 0;
103816
103920
  const packageIds = JSON.parse(await readFile7(outputFile, "utf-8")).result;
@@ -103843,7 +103947,8 @@ var JavaCodeAwareVulnerabilityScanner = class _JavaCodeAwareVulnerabilityScanner
103843
103947
  const inputFile = resolve9(tmpDir, "input.json");
103844
103948
  const outputFile = resolve9(tmpDir, "output.json");
103845
103949
  await writeFile4(inputFile, JSON.stringify(options));
103846
- const result = await execNeverFail(cmdt`node ${classGraphAnalysisCliPath} runJvmReachabilityAnalysis -i ${inputFile} -o ${outputFile} --alucard ${alucardPath} --tree-sitter-java ${treeSitterJavaPath} --tree-sitter-kotlin ${treeSitterKotlinPath} --tree-sitter-scala ${treeSitterScalaPath}`);
103950
+ const timeoutMs = this.timeoutInSeconds ? Math.max(this.timeoutInSeconds * 1.5, this.timeoutInSeconds + 30) * 1e3 : 750 * 1e3;
103951
+ const result = await execNeverFail(cmdt`node ${classGraphAnalysisCliPath} runJvmReachabilityAnalysis -i ${inputFile} -o ${outputFile} --alucard ${alucardPath} --tree-sitter-java ${treeSitterJavaPath} --tree-sitter-kotlin ${treeSitterKotlinPath} --tree-sitter-scala ${treeSitterScalaPath}`, void 0, { timeout: timeoutMs });
103847
103952
  if (result.error)
103848
103953
  return { type: "error", message: result.error.message ?? "unknown error" };
103849
103954
  const { success, error, analysisDiagnostics: diagnostics, vulnerablePaths, reachablePackageIds } = JSON.parse(await readFile7(outputFile, "utf-8")).result;
@@ -106371,12 +106476,12 @@ var listFileSync = (opt) => {
106371
106476
  }
106372
106477
  };
106373
106478
  var listFile = (opt, _files) => {
106374
- const parse15 = new Parser3(opt);
106479
+ const parse14 = new Parser3(opt);
106375
106480
  const readSize = opt.maxReadSize || 16 * 1024 * 1024;
106376
106481
  const file = opt.file;
106377
106482
  const p = new Promise((resolve22, reject) => {
106378
- parse15.on("error", reject);
106379
- parse15.on("end", resolve22);
106483
+ parse14.on("error", reject);
106484
+ parse14.on("end", resolve22);
106380
106485
  fs2.stat(file, (er, stat3) => {
106381
106486
  if (er) {
106382
106487
  reject(er);
@@ -106386,7 +106491,7 @@ var listFile = (opt, _files) => {
106386
106491
  size: stat3.size
106387
106492
  });
106388
106493
  stream8.on("error", reject);
106389
- stream8.pipe(parse15);
106494
+ stream8.pipe(parse14);
106390
106495
  }
106391
106496
  });
106392
106497
  });
@@ -110092,701 +110197,6 @@ function getUrlForCrate(crateName, version3) {
110092
110197
  // dist/whole-program-code-aware-vulnerability-scanner/rust/rust-code-aware-vulnerability-scanner.js
110093
110198
  import { randomUUID as randomUUID3 } from "node:crypto";
110094
110199
 
110095
- // ../../node_modules/.pnpm/smol-toml@1.4.1/node_modules/smol-toml/dist/error.js
110096
- function getLineColFromPtr(string, ptr) {
110097
- let lines = string.slice(0, ptr).split(/\r\n|\n|\r/g);
110098
- return [lines.length, lines.pop().length + 1];
110099
- }
110100
- function makeCodeBlock(string, line, column) {
110101
- let lines = string.split(/\r\n|\n|\r/g);
110102
- let codeblock = "";
110103
- let numberLen = (Math.log10(line + 1) | 0) + 1;
110104
- for (let i3 = line - 1; i3 <= line + 1; i3++) {
110105
- let l = lines[i3 - 1];
110106
- if (!l)
110107
- continue;
110108
- codeblock += i3.toString().padEnd(numberLen, " ");
110109
- codeblock += ": ";
110110
- codeblock += l;
110111
- codeblock += "\n";
110112
- if (i3 === line) {
110113
- codeblock += " ".repeat(numberLen + column + 2);
110114
- codeblock += "^\n";
110115
- }
110116
- }
110117
- return codeblock;
110118
- }
110119
- var TomlError = class extends Error {
110120
- line;
110121
- column;
110122
- codeblock;
110123
- constructor(message, options) {
110124
- const [line, column] = getLineColFromPtr(options.toml, options.ptr);
110125
- const codeblock = makeCodeBlock(options.toml, line, column);
110126
- super(`Invalid TOML document: ${message}
110127
-
110128
- ${codeblock}`, options);
110129
- this.line = line;
110130
- this.column = column;
110131
- this.codeblock = codeblock;
110132
- }
110133
- };
110134
-
110135
- // ../../node_modules/.pnpm/smol-toml@1.4.1/node_modules/smol-toml/dist/util.js
110136
- function indexOfNewline(str, start = 0, end2 = str.length) {
110137
- let idx = str.indexOf("\n", start);
110138
- if (str[idx - 1] === "\r")
110139
- idx--;
110140
- return idx <= end2 ? idx : -1;
110141
- }
110142
- function skipComment(str, ptr) {
110143
- for (let i3 = ptr; i3 < str.length; i3++) {
110144
- let c = str[i3];
110145
- if (c === "\n")
110146
- return i3;
110147
- if (c === "\r" && str[i3 + 1] === "\n")
110148
- return i3 + 1;
110149
- if (c < " " && c !== " " || c === "\x7F") {
110150
- throw new TomlError("control characters are not allowed in comments", {
110151
- toml: str,
110152
- ptr
110153
- });
110154
- }
110155
- }
110156
- return str.length;
110157
- }
110158
- function skipVoid(str, ptr, banNewLines, banComments) {
110159
- let c;
110160
- while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
110161
- ptr++;
110162
- return banComments || c !== "#" ? ptr : skipVoid(str, skipComment(str, ptr), banNewLines);
110163
- }
110164
- function skipUntil(str, ptr, sep5, end2, banNewLines = false) {
110165
- if (!end2) {
110166
- ptr = indexOfNewline(str, ptr);
110167
- return ptr < 0 ? str.length : ptr;
110168
- }
110169
- for (let i3 = ptr; i3 < str.length; i3++) {
110170
- let c = str[i3];
110171
- if (c === "#") {
110172
- i3 = indexOfNewline(str, i3);
110173
- } else if (c === sep5) {
110174
- return i3 + 1;
110175
- } else if (c === end2 || banNewLines && (c === "\n" || c === "\r" && str[i3 + 1] === "\n")) {
110176
- return i3;
110177
- }
110178
- }
110179
- throw new TomlError("cannot find end of structure", {
110180
- toml: str,
110181
- ptr
110182
- });
110183
- }
110184
- function getStringEnd(str, seek) {
110185
- let first2 = str[seek];
110186
- let target = first2 === str[seek + 1] && str[seek + 1] === str[seek + 2] ? str.slice(seek, seek + 3) : first2;
110187
- seek += target.length - 1;
110188
- do
110189
- seek = str.indexOf(target, ++seek);
110190
- while (seek > -1 && first2 !== "'" && str[seek - 1] === "\\" && (str[seek - 2] !== "\\" || str[seek - 3] === "\\"));
110191
- if (seek > -1) {
110192
- seek += target.length;
110193
- if (target.length > 1) {
110194
- if (str[seek] === first2)
110195
- seek++;
110196
- if (str[seek] === first2)
110197
- seek++;
110198
- }
110199
- }
110200
- return seek;
110201
- }
110202
-
110203
- // ../../node_modules/.pnpm/smol-toml@1.4.1/node_modules/smol-toml/dist/date.js
110204
- var DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}:\d{2}(?:\.\d+)?)?(Z|[-+]\d{2}:\d{2})?$/i;
110205
- var TomlDate = class _TomlDate extends Date {
110206
- #hasDate = false;
110207
- #hasTime = false;
110208
- #offset = null;
110209
- constructor(date) {
110210
- let hasDate = true;
110211
- let hasTime = true;
110212
- let offset = "Z";
110213
- if (typeof date === "string") {
110214
- let match2 = date.match(DATE_TIME_RE);
110215
- if (match2) {
110216
- if (!match2[1]) {
110217
- hasDate = false;
110218
- date = `0000-01-01T${date}`;
110219
- }
110220
- hasTime = !!match2[2];
110221
- hasTime && date[10] === " " && (date = date.replace(" ", "T"));
110222
- if (match2[2] && +match2[2] > 23) {
110223
- date = "";
110224
- } else {
110225
- offset = match2[3] || null;
110226
- date = date.toUpperCase();
110227
- if (!offset && hasTime)
110228
- date += "Z";
110229
- }
110230
- } else {
110231
- date = "";
110232
- }
110233
- }
110234
- super(date);
110235
- if (!isNaN(this.getTime())) {
110236
- this.#hasDate = hasDate;
110237
- this.#hasTime = hasTime;
110238
- this.#offset = offset;
110239
- }
110240
- }
110241
- isDateTime() {
110242
- return this.#hasDate && this.#hasTime;
110243
- }
110244
- isLocal() {
110245
- return !this.#hasDate || !this.#hasTime || !this.#offset;
110246
- }
110247
- isDate() {
110248
- return this.#hasDate && !this.#hasTime;
110249
- }
110250
- isTime() {
110251
- return this.#hasTime && !this.#hasDate;
110252
- }
110253
- isValid() {
110254
- return this.#hasDate || this.#hasTime;
110255
- }
110256
- toISOString() {
110257
- let iso = super.toISOString();
110258
- if (this.isDate())
110259
- return iso.slice(0, 10);
110260
- if (this.isTime())
110261
- return iso.slice(11, 23);
110262
- if (this.#offset === null)
110263
- return iso.slice(0, -1);
110264
- if (this.#offset === "Z")
110265
- return iso;
110266
- let offset = +this.#offset.slice(1, 3) * 60 + +this.#offset.slice(4, 6);
110267
- offset = this.#offset[0] === "-" ? offset : -offset;
110268
- let offsetDate = new Date(this.getTime() - offset * 6e4);
110269
- return offsetDate.toISOString().slice(0, -1) + this.#offset;
110270
- }
110271
- static wrapAsOffsetDateTime(jsDate, offset = "Z") {
110272
- let date = new _TomlDate(jsDate);
110273
- date.#offset = offset;
110274
- return date;
110275
- }
110276
- static wrapAsLocalDateTime(jsDate) {
110277
- let date = new _TomlDate(jsDate);
110278
- date.#offset = null;
110279
- return date;
110280
- }
110281
- static wrapAsLocalDate(jsDate) {
110282
- let date = new _TomlDate(jsDate);
110283
- date.#hasTime = false;
110284
- date.#offset = null;
110285
- return date;
110286
- }
110287
- static wrapAsLocalTime(jsDate) {
110288
- let date = new _TomlDate(jsDate);
110289
- date.#hasDate = false;
110290
- date.#offset = null;
110291
- return date;
110292
- }
110293
- };
110294
-
110295
- // ../../node_modules/.pnpm/smol-toml@1.4.1/node_modules/smol-toml/dist/primitive.js
110296
- var INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
110297
- var FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
110298
- var LEADING_ZERO = /^[+-]?0[0-9_]/;
110299
- var ESCAPE_REGEX = /^[0-9a-f]{4,8}$/i;
110300
- var ESC_MAP = {
110301
- b: "\b",
110302
- t: " ",
110303
- n: "\n",
110304
- f: "\f",
110305
- r: "\r",
110306
- '"': '"',
110307
- "\\": "\\"
110308
- };
110309
- function parseString(str, ptr = 0, endPtr = str.length) {
110310
- let isLiteral = str[ptr] === "'";
110311
- let isMultiline = str[ptr++] === str[ptr] && str[ptr] === str[ptr + 1];
110312
- if (isMultiline) {
110313
- endPtr -= 2;
110314
- if (str[ptr += 2] === "\r")
110315
- ptr++;
110316
- if (str[ptr] === "\n")
110317
- ptr++;
110318
- }
110319
- let tmp = 0;
110320
- let isEscape;
110321
- let parsed = "";
110322
- let sliceStart = ptr;
110323
- while (ptr < endPtr - 1) {
110324
- let c = str[ptr++];
110325
- if (c === "\n" || c === "\r" && str[ptr] === "\n") {
110326
- if (!isMultiline) {
110327
- throw new TomlError("newlines are not allowed in strings", {
110328
- toml: str,
110329
- ptr: ptr - 1
110330
- });
110331
- }
110332
- } else if (c < " " && c !== " " || c === "\x7F") {
110333
- throw new TomlError("control characters are not allowed in strings", {
110334
- toml: str,
110335
- ptr: ptr - 1
110336
- });
110337
- }
110338
- if (isEscape) {
110339
- isEscape = false;
110340
- if (c === "u" || c === "U") {
110341
- let code2 = str.slice(ptr, ptr += c === "u" ? 4 : 8);
110342
- if (!ESCAPE_REGEX.test(code2)) {
110343
- throw new TomlError("invalid unicode escape", {
110344
- toml: str,
110345
- ptr: tmp
110346
- });
110347
- }
110348
- try {
110349
- parsed += String.fromCodePoint(parseInt(code2, 16));
110350
- } catch {
110351
- throw new TomlError("invalid unicode escape", {
110352
- toml: str,
110353
- ptr: tmp
110354
- });
110355
- }
110356
- } else if (isMultiline && (c === "\n" || c === " " || c === " " || c === "\r")) {
110357
- ptr = skipVoid(str, ptr - 1, true);
110358
- if (str[ptr] !== "\n" && str[ptr] !== "\r") {
110359
- throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
110360
- toml: str,
110361
- ptr: tmp
110362
- });
110363
- }
110364
- ptr = skipVoid(str, ptr);
110365
- } else if (c in ESC_MAP) {
110366
- parsed += ESC_MAP[c];
110367
- } else {
110368
- throw new TomlError("unrecognized escape sequence", {
110369
- toml: str,
110370
- ptr: tmp
110371
- });
110372
- }
110373
- sliceStart = ptr;
110374
- } else if (!isLiteral && c === "\\") {
110375
- tmp = ptr - 1;
110376
- isEscape = true;
110377
- parsed += str.slice(sliceStart, tmp);
110378
- }
110379
- }
110380
- return parsed + str.slice(sliceStart, endPtr - 1);
110381
- }
110382
- function parseValue(value2, toml, ptr, integersAsBigInt) {
110383
- if (value2 === "true")
110384
- return true;
110385
- if (value2 === "false")
110386
- return false;
110387
- if (value2 === "-inf")
110388
- return -Infinity;
110389
- if (value2 === "inf" || value2 === "+inf")
110390
- return Infinity;
110391
- if (value2 === "nan" || value2 === "+nan" || value2 === "-nan")
110392
- return NaN;
110393
- if (value2 === "-0")
110394
- return integersAsBigInt ? 0n : 0;
110395
- let isInt = INT_REGEX.test(value2);
110396
- if (isInt || FLOAT_REGEX.test(value2)) {
110397
- if (LEADING_ZERO.test(value2)) {
110398
- throw new TomlError("leading zeroes are not allowed", {
110399
- toml,
110400
- ptr
110401
- });
110402
- }
110403
- value2 = value2.replace(/_/g, "");
110404
- let numeric = +value2;
110405
- if (isNaN(numeric)) {
110406
- throw new TomlError("invalid number", {
110407
- toml,
110408
- ptr
110409
- });
110410
- }
110411
- if (isInt) {
110412
- if ((isInt = !Number.isSafeInteger(numeric)) && !integersAsBigInt) {
110413
- throw new TomlError("integer value cannot be represented losslessly", {
110414
- toml,
110415
- ptr
110416
- });
110417
- }
110418
- if (isInt || integersAsBigInt === true)
110419
- numeric = BigInt(value2);
110420
- }
110421
- return numeric;
110422
- }
110423
- const date = new TomlDate(value2);
110424
- if (!date.isValid()) {
110425
- throw new TomlError("invalid value", {
110426
- toml,
110427
- ptr
110428
- });
110429
- }
110430
- return date;
110431
- }
110432
-
110433
- // ../../node_modules/.pnpm/smol-toml@1.4.1/node_modules/smol-toml/dist/extract.js
110434
- function sliceAndTrimEndOf(str, startPtr, endPtr, allowNewLines) {
110435
- let value2 = str.slice(startPtr, endPtr);
110436
- let commentIdx = value2.indexOf("#");
110437
- if (commentIdx > -1) {
110438
- skipComment(str, commentIdx);
110439
- value2 = value2.slice(0, commentIdx);
110440
- }
110441
- let trimmed = value2.trimEnd();
110442
- if (!allowNewLines) {
110443
- let newlineIdx = value2.indexOf("\n", trimmed.length);
110444
- if (newlineIdx > -1) {
110445
- throw new TomlError("newlines are not allowed in inline tables", {
110446
- toml: str,
110447
- ptr: startPtr + newlineIdx
110448
- });
110449
- }
110450
- }
110451
- return [trimmed, commentIdx];
110452
- }
110453
- function extractValue(str, ptr, end2, depth, integersAsBigInt) {
110454
- if (depth === 0) {
110455
- throw new TomlError("document contains excessively nested structures. aborting.", {
110456
- toml: str,
110457
- ptr
110458
- });
110459
- }
110460
- let c = str[ptr];
110461
- if (c === "[" || c === "{") {
110462
- let [value2, endPtr2] = c === "[" ? parseArray(str, ptr, depth, integersAsBigInt) : parseInlineTable(str, ptr, depth, integersAsBigInt);
110463
- let newPtr = end2 ? skipUntil(str, endPtr2, ",", end2) : endPtr2;
110464
- if (endPtr2 - newPtr && end2 === "}") {
110465
- let nextNewLine = indexOfNewline(str, endPtr2, newPtr);
110466
- if (nextNewLine > -1) {
110467
- throw new TomlError("newlines are not allowed in inline tables", {
110468
- toml: str,
110469
- ptr: nextNewLine
110470
- });
110471
- }
110472
- }
110473
- return [value2, newPtr];
110474
- }
110475
- let endPtr;
110476
- if (c === '"' || c === "'") {
110477
- endPtr = getStringEnd(str, ptr);
110478
- let parsed = parseString(str, ptr, endPtr);
110479
- if (end2) {
110480
- endPtr = skipVoid(str, endPtr, end2 !== "]");
110481
- if (str[endPtr] && str[endPtr] !== "," && str[endPtr] !== end2 && str[endPtr] !== "\n" && str[endPtr] !== "\r") {
110482
- throw new TomlError("unexpected character encountered", {
110483
- toml: str,
110484
- ptr: endPtr
110485
- });
110486
- }
110487
- endPtr += +(str[endPtr] === ",");
110488
- }
110489
- return [parsed, endPtr];
110490
- }
110491
- endPtr = skipUntil(str, ptr, ",", end2);
110492
- let slice2 = sliceAndTrimEndOf(str, ptr, endPtr - +(str[endPtr - 1] === ","), end2 === "]");
110493
- if (!slice2[0]) {
110494
- throw new TomlError("incomplete key-value declaration: no value specified", {
110495
- toml: str,
110496
- ptr
110497
- });
110498
- }
110499
- if (end2 && slice2[1] > -1) {
110500
- endPtr = skipVoid(str, ptr + slice2[1]);
110501
- endPtr += +(str[endPtr] === ",");
110502
- }
110503
- return [
110504
- parseValue(slice2[0], str, ptr, integersAsBigInt),
110505
- endPtr
110506
- ];
110507
- }
110508
-
110509
- // ../../node_modules/.pnpm/smol-toml@1.4.1/node_modules/smol-toml/dist/struct.js
110510
- var KEY_PART_RE = /^[a-zA-Z0-9-_]+[ \t]*$/;
110511
- function parseKey(str, ptr, end2 = "=") {
110512
- let dot = ptr - 1;
110513
- let parsed = [];
110514
- let endPtr = str.indexOf(end2, ptr);
110515
- if (endPtr < 0) {
110516
- throw new TomlError("incomplete key-value: cannot find end of key", {
110517
- toml: str,
110518
- ptr
110519
- });
110520
- }
110521
- do {
110522
- let c = str[ptr = ++dot];
110523
- if (c !== " " && c !== " ") {
110524
- if (c === '"' || c === "'") {
110525
- if (c === str[ptr + 1] && c === str[ptr + 2]) {
110526
- throw new TomlError("multiline strings are not allowed in keys", {
110527
- toml: str,
110528
- ptr
110529
- });
110530
- }
110531
- let eos = getStringEnd(str, ptr);
110532
- if (eos < 0) {
110533
- throw new TomlError("unfinished string encountered", {
110534
- toml: str,
110535
- ptr
110536
- });
110537
- }
110538
- dot = str.indexOf(".", eos);
110539
- let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
110540
- let newLine = indexOfNewline(strEnd);
110541
- if (newLine > -1) {
110542
- throw new TomlError("newlines are not allowed in keys", {
110543
- toml: str,
110544
- ptr: ptr + dot + newLine
110545
- });
110546
- }
110547
- if (strEnd.trimStart()) {
110548
- throw new TomlError("found extra tokens after the string part", {
110549
- toml: str,
110550
- ptr: eos
110551
- });
110552
- }
110553
- if (endPtr < eos) {
110554
- endPtr = str.indexOf(end2, eos);
110555
- if (endPtr < 0) {
110556
- throw new TomlError("incomplete key-value: cannot find end of key", {
110557
- toml: str,
110558
- ptr
110559
- });
110560
- }
110561
- }
110562
- parsed.push(parseString(str, ptr, eos));
110563
- } else {
110564
- dot = str.indexOf(".", ptr);
110565
- let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
110566
- if (!KEY_PART_RE.test(part)) {
110567
- throw new TomlError("only letter, numbers, dashes and underscores are allowed in keys", {
110568
- toml: str,
110569
- ptr
110570
- });
110571
- }
110572
- parsed.push(part.trimEnd());
110573
- }
110574
- }
110575
- } while (dot + 1 && dot < endPtr);
110576
- return [parsed, skipVoid(str, endPtr + 1, true, true)];
110577
- }
110578
- function parseInlineTable(str, ptr, depth, integersAsBigInt) {
110579
- let res = {};
110580
- let seen = /* @__PURE__ */ new Set();
110581
- let c;
110582
- let comma = 0;
110583
- ptr++;
110584
- while ((c = str[ptr++]) !== "}" && c) {
110585
- let err = { toml: str, ptr: ptr - 1 };
110586
- if (c === "\n") {
110587
- throw new TomlError("newlines are not allowed in inline tables", err);
110588
- } else if (c === "#") {
110589
- throw new TomlError("inline tables cannot contain comments", err);
110590
- } else if (c === ",") {
110591
- throw new TomlError("expected key-value, found comma", err);
110592
- } else if (c !== " " && c !== " ") {
110593
- let k;
110594
- let t = res;
110595
- let hasOwn2 = false;
110596
- let [key, keyEndPtr] = parseKey(str, ptr - 1);
110597
- for (let i3 = 0; i3 < key.length; i3++) {
110598
- if (i3)
110599
- t = hasOwn2 ? t[k] : t[k] = {};
110600
- k = key[i3];
110601
- if ((hasOwn2 = Object.hasOwn(t, k)) && (typeof t[k] !== "object" || seen.has(t[k]))) {
110602
- throw new TomlError("trying to redefine an already defined value", {
110603
- toml: str,
110604
- ptr
110605
- });
110606
- }
110607
- if (!hasOwn2 && k === "__proto__") {
110608
- Object.defineProperty(t, k, { enumerable: true, configurable: true, writable: true });
110609
- }
110610
- }
110611
- if (hasOwn2) {
110612
- throw new TomlError("trying to redefine an already defined value", {
110613
- toml: str,
110614
- ptr
110615
- });
110616
- }
110617
- let [value2, valueEndPtr] = extractValue(str, keyEndPtr, "}", depth - 1, integersAsBigInt);
110618
- seen.add(value2);
110619
- t[k] = value2;
110620
- ptr = valueEndPtr;
110621
- comma = str[ptr - 1] === "," ? ptr - 1 : 0;
110622
- }
110623
- }
110624
- if (comma) {
110625
- throw new TomlError("trailing commas are not allowed in inline tables", {
110626
- toml: str,
110627
- ptr: comma
110628
- });
110629
- }
110630
- if (!c) {
110631
- throw new TomlError("unfinished table encountered", {
110632
- toml: str,
110633
- ptr
110634
- });
110635
- }
110636
- return [res, ptr];
110637
- }
110638
- function parseArray(str, ptr, depth, integersAsBigInt) {
110639
- let res = [];
110640
- let c;
110641
- ptr++;
110642
- while ((c = str[ptr++]) !== "]" && c) {
110643
- if (c === ",") {
110644
- throw new TomlError("expected value, found comma", {
110645
- toml: str,
110646
- ptr: ptr - 1
110647
- });
110648
- } else if (c === "#")
110649
- ptr = skipComment(str, ptr);
110650
- else if (c !== " " && c !== " " && c !== "\n" && c !== "\r") {
110651
- let e = extractValue(str, ptr - 1, "]", depth - 1, integersAsBigInt);
110652
- res.push(e[0]);
110653
- ptr = e[1];
110654
- }
110655
- }
110656
- if (!c) {
110657
- throw new TomlError("unfinished array encountered", {
110658
- toml: str,
110659
- ptr
110660
- });
110661
- }
110662
- return [res, ptr];
110663
- }
110664
-
110665
- // ../../node_modules/.pnpm/smol-toml@1.4.1/node_modules/smol-toml/dist/parse.js
110666
- function peekTable(key, table, meta, type) {
110667
- let t = table;
110668
- let m = meta;
110669
- let k;
110670
- let hasOwn2 = false;
110671
- let state;
110672
- for (let i3 = 0; i3 < key.length; i3++) {
110673
- if (i3) {
110674
- t = hasOwn2 ? t[k] : t[k] = {};
110675
- m = (state = m[k]).c;
110676
- if (type === 0 && (state.t === 1 || state.t === 2)) {
110677
- return null;
110678
- }
110679
- if (state.t === 2) {
110680
- let l = t.length - 1;
110681
- t = t[l];
110682
- m = m[l].c;
110683
- }
110684
- }
110685
- k = key[i3];
110686
- if ((hasOwn2 = Object.hasOwn(t, k)) && m[k]?.t === 0 && m[k]?.d) {
110687
- return null;
110688
- }
110689
- if (!hasOwn2) {
110690
- if (k === "__proto__") {
110691
- Object.defineProperty(t, k, { enumerable: true, configurable: true, writable: true });
110692
- Object.defineProperty(m, k, { enumerable: true, configurable: true, writable: true });
110693
- }
110694
- m[k] = {
110695
- t: i3 < key.length - 1 && type === 2 ? 3 : type,
110696
- d: false,
110697
- i: 0,
110698
- c: {}
110699
- };
110700
- }
110701
- }
110702
- state = m[k];
110703
- if (state.t !== type && !(type === 1 && state.t === 3)) {
110704
- return null;
110705
- }
110706
- if (type === 2) {
110707
- if (!state.d) {
110708
- state.d = true;
110709
- t[k] = [];
110710
- }
110711
- t[k].push(t = {});
110712
- state.c[state.i++] = state = { t: 1, d: false, i: 0, c: {} };
110713
- }
110714
- if (state.d) {
110715
- return null;
110716
- }
110717
- state.d = true;
110718
- if (type === 1) {
110719
- t = hasOwn2 ? t[k] : t[k] = {};
110720
- } else if (type === 0 && hasOwn2) {
110721
- return null;
110722
- }
110723
- return [k, t, state.c];
110724
- }
110725
- function parse14(toml, { maxDepth = 1e3, integersAsBigInt } = {}) {
110726
- let res = {};
110727
- let meta = {};
110728
- let tbl = res;
110729
- let m = meta;
110730
- for (let ptr = skipVoid(toml, 0); ptr < toml.length; ) {
110731
- if (toml[ptr] === "[") {
110732
- let isTableArray = toml[++ptr] === "[";
110733
- let k = parseKey(toml, ptr += +isTableArray, "]");
110734
- if (isTableArray) {
110735
- if (toml[k[1] - 1] !== "]") {
110736
- throw new TomlError("expected end of table declaration", {
110737
- toml,
110738
- ptr: k[1] - 1
110739
- });
110740
- }
110741
- k[1]++;
110742
- }
110743
- let p = peekTable(
110744
- k[0],
110745
- res,
110746
- meta,
110747
- isTableArray ? 2 : 1
110748
- /* Type.EXPLICIT */
110749
- );
110750
- if (!p) {
110751
- throw new TomlError("trying to redefine an already defined table or value", {
110752
- toml,
110753
- ptr
110754
- });
110755
- }
110756
- m = p[2];
110757
- tbl = p[1];
110758
- ptr = k[1];
110759
- } else {
110760
- let k = parseKey(toml, ptr);
110761
- let p = peekTable(
110762
- k[0],
110763
- tbl,
110764
- m,
110765
- 0
110766
- /* Type.DOTTED */
110767
- );
110768
- if (!p) {
110769
- throw new TomlError("trying to redefine an already defined table or value", {
110770
- toml,
110771
- ptr
110772
- });
110773
- }
110774
- let v = extractValue(toml, k[1], void 0, maxDepth, integersAsBigInt);
110775
- p[1][p[0]] = v[0];
110776
- ptr = v[1];
110777
- }
110778
- ptr = skipVoid(toml, ptr, true);
110779
- if (toml[ptr] && toml[ptr] !== "\n" && toml[ptr] !== "\r") {
110780
- throw new TomlError("each key-value declaration must be followed by an end-of-line", {
110781
- toml,
110782
- ptr
110783
- });
110784
- }
110785
- ptr = skipVoid(toml, ptr);
110786
- }
110787
- return res;
110788
- }
110789
-
110790
110200
  // dist/whole-program-code-aware-vulnerability-scanner/rust/constants.js
110791
110201
  import { join as join18 } from "node:path";
110792
110202
  var treeSitterRustPath = join18(REPOS_PATH(), "tree-sitter", "tree-sitter-rust");
@@ -110809,80 +110219,155 @@ var RustCodeAwareVulnerabilityScanner = class _RustCodeAwareVulnerabilityScanner
110809
110219
  this.statusUpdater = statusUpdater;
110810
110220
  }
110811
110221
  static initFromDependencyTree(dependencyTree, timeoutInSeconds, statusUpdater) {
110222
+ const appDependencies = {};
110223
+ if (dependencyTree.dependenciesWithAliases) {
110224
+ for (const [depId, names] of Object.entries(dependencyTree.dependenciesWithAliases)) {
110225
+ appDependencies[depId] = { names };
110226
+ }
110227
+ }
110812
110228
  const apps = {
110813
- [randomUUID3()]: {
110229
+ "<app>": {
110814
110230
  src: dependencyTree.src,
110815
110231
  ecosystemSpecificPackageInfo: {
110816
110232
  type: "RUST",
110817
- crate: dependencyTree.packageName.replaceAll("-", "_")
110233
+ crate: dependencyTree.packageName.replaceAll("-", "_"),
110234
+ dependencies: appDependencies
110818
110235
  }
110819
110236
  }
110820
110237
  };
110821
110238
  const deps = {};
110822
110239
  const depIdToPurl = /* @__PURE__ */ new Map();
110823
- Object.values(dependencyTree.transitiveDependencies).forEach((dep) => {
110824
- const uuid = randomUUID3();
110825
- depIdToPurl.set(uuid, getCargoPurl(dep.packageName, dep.version ?? void 0));
110826
- deps[uuid] = {
110240
+ for (const [depId, dep] of Object.entries(dependencyTree.transitiveDependencies)) {
110241
+ depIdToPurl.set(depId, getCargoPurl(dep.packageName, dep.version ?? void 0));
110242
+ const dependencies = {};
110243
+ if (dep.dependenciesWithAliases) {
110244
+ for (const [transDepId, names] of Object.entries(dep.dependenciesWithAliases)) {
110245
+ dependencies[transDepId] = { names };
110246
+ }
110247
+ }
110248
+ deps[depId] = {
110827
110249
  src: dep.src,
110828
- ecosystemSpecificPackageInfo: { type: "RUST", crate: dep.packageName.replaceAll("-", "_") }
110250
+ ecosystemSpecificPackageInfo: {
110251
+ type: "RUST",
110252
+ crate: dep.packageName.replaceAll("-", "_"),
110253
+ dependencies
110254
+ }
110829
110255
  };
110830
- });
110256
+ }
110831
110257
  return new _RustCodeAwareVulnerabilityScanner(apps, deps, depIdToPurl, timeoutInSeconds, statusUpdater);
110832
110258
  }
110833
- static async initFromSocketArtifacts(subprojectDir, manifestFiles, artifacts, tmpDir, timeoutInSeconds, statusUpdater) {
110834
- const apps = {};
110835
- for (const cargoToml of manifestFiles.filter((f2) => basename9(f2) === "Cargo.toml")) {
110836
- if (!cargoToml)
110837
- continue;
110838
- const appCrateInfo = await getCrateInfo(resolve15(subprojectDir, cargoToml));
110839
- if (!appCrateInfo.name)
110840
- continue;
110841
- apps[randomUUID3()] = {
110842
- src: i([appCrateInfo.lib, ...appCrateInfo.examples ?? [], ...appCrateInfo.tests ?? []]),
110259
+ static async initFromSocketArtifacts(subprojectDir, workspacePath, artifacts, tmpDir, timeoutInSeconds, statusUpdater) {
110260
+ const cargoTomlToArtifacts = /* @__PURE__ */ new Map();
110261
+ for (const artifact of artifacts) {
110262
+ for (const mf of artifact.manifestFiles ?? []) {
110263
+ const manifestPath = mf.file;
110264
+ if (!cargoTomlToArtifacts.has(manifestPath)) {
110265
+ cargoTomlToArtifacts.set(manifestPath, []);
110266
+ }
110267
+ cargoTomlToArtifacts.get(manifestPath).push(artifact);
110268
+ }
110269
+ }
110270
+ const artifactNameToId = /* @__PURE__ */ new Map();
110271
+ for (const artifact of artifacts) {
110272
+ if (artifact.name) {
110273
+ artifactNameToId.set(artifact.name, artifact.id);
110274
+ }
110275
+ }
110276
+ const cargoTomlRelativePath = resolve15(workspacePath, "Cargo.toml");
110277
+ const cargoTomlPath = resolve15(subprojectDir, cargoTomlRelativePath);
110278
+ let appCrateName;
110279
+ const appSrc = [];
110280
+ const dependencies = {};
110281
+ const appCrateInfo = existsSync11(cargoTomlPath) ? await getCrateInfo(cargoTomlPath) : void 0;
110282
+ if (appCrateInfo?.name) {
110283
+ appSrc.push(...i([appCrateInfo.lib, ...appCrateInfo.examples ?? [], ...appCrateInfo.tests ?? []]));
110284
+ appCrateName = appCrateInfo.name.replaceAll("-", "_");
110285
+ const directDepArtifacts = cargoTomlToArtifacts.get(cargoTomlRelativePath) ?? [];
110286
+ const cargoTomlDeps = await extractDependenciesFromCargoToml(cargoTomlPath);
110287
+ for (const artifact of directDepArtifacts) {
110288
+ const names = artifact.name ? cargoTomlDeps.get(artifact.name) ?? [artifact.name] : [];
110289
+ if (names.length > 0) {
110290
+ dependencies[artifact.id] = { names };
110291
+ }
110292
+ }
110293
+ } else {
110294
+ appSrc.push(resolve15(subprojectDir, workspacePath, "src"));
110295
+ appCrateName = randomUUID3();
110296
+ const directDepArtifacts = cargoTomlToArtifacts.get(cargoTomlRelativePath) ?? [];
110297
+ for (const artifact of directDepArtifacts) {
110298
+ if (artifact.name) {
110299
+ dependencies[artifact.id] = { names: [artifact.name] };
110300
+ }
110301
+ }
110302
+ }
110303
+ const apps = {
110304
+ "<app>": {
110305
+ src: appSrc,
110843
110306
  ecosystemSpecificPackageInfo: {
110844
110307
  type: "RUST",
110845
- crate: appCrateInfo.name.replaceAll("-", "_")
110308
+ crate: appCrateName,
110309
+ dependencies
110846
110310
  }
110847
- };
110848
- }
110849
- const { deps, depIdToPurl } = await convertSocketArtifacts3(artifacts, tmpDir);
110311
+ }
110312
+ };
110313
+ const { deps, depIdToPurl } = await convertSocketArtifacts3(artifacts, tmpDir, artifactNameToId);
110850
110314
  return new _RustCodeAwareVulnerabilityScanner(apps, deps, depIdToPurl, timeoutInSeconds, statusUpdater);
110851
110315
  }
110316
+ /** @deprecated */
110852
110317
  static async runOnAlreadyDownloadedPackages([appPath, ...depPaths], vulnerability, options) {
110853
- const apps = {};
110318
+ const packageNameToId = /* @__PURE__ */ new Map();
110319
+ const allCargoTomls = [];
110854
110320
  for (const cargoToml of (await getFiles(appPath)).filter((f2) => basename9(f2) === "Cargo.toml")) {
110855
110321
  if (!cargoToml)
110856
110322
  continue;
110857
- const appCrateInfo = await getCrateInfo(cargoToml);
110858
- if (!appCrateInfo.name)
110323
+ const crateInfo = await getCrateInfo(cargoToml);
110324
+ if (!crateInfo.name)
110859
110325
  continue;
110860
- apps[randomUUID3()] = {
110861
- src: i([appCrateInfo.lib, ...appCrateInfo.examples ?? [], ...appCrateInfo.tests ?? []]),
110862
- ecosystemSpecificPackageInfo: {
110863
- type: "RUST",
110864
- crate: appCrateInfo.name.replaceAll("-", "_")
110865
- }
110866
- };
110326
+ const packageId = "<app>";
110327
+ packageNameToId.set(crateInfo.name, packageId);
110328
+ allCargoTomls.push({ path: cargoToml, isApp: true });
110867
110329
  }
110868
- const deps = {};
110869
- const depIdToPurl = /* @__PURE__ */ new Map();
110870
110330
  for (const depPath of depPaths) {
110871
110331
  for (const cargoToml of (await getFiles(depPath)).filter((f2) => basename9(f2) === "Cargo.toml")) {
110872
110332
  if (!cargoToml)
110873
110333
  continue;
110874
- const depCrateInfo = await getCrateInfo(cargoToml);
110875
- if (!depCrateInfo.name)
110334
+ const crateInfo = await getCrateInfo(cargoToml);
110335
+ if (!crateInfo.name)
110876
110336
  continue;
110877
- const uuid = randomUUID3();
110878
- depIdToPurl.set(uuid, getCargoPurl("", void 0));
110879
- deps[uuid] = {
110880
- src: [depCrateInfo.lib],
110881
- ecosystemSpecificPackageInfo: {
110882
- type: "RUST",
110883
- crate: depCrateInfo.name.replaceAll("-", "_")
110884
- }
110885
- };
110337
+ const packageId = randomUUID3();
110338
+ packageNameToId.set(crateInfo.name, packageId);
110339
+ allCargoTomls.push({ path: cargoToml, isApp: false });
110340
+ }
110341
+ }
110342
+ const apps = {};
110343
+ const deps = {};
110344
+ const depIdToPurl = /* @__PURE__ */ new Map();
110345
+ for (const { path: cargoToml, isApp } of allCargoTomls) {
110346
+ const crateInfo = await getCrateInfo(cargoToml);
110347
+ if (!crateInfo.name)
110348
+ continue;
110349
+ const cargoTomlDeps = await extractDependenciesFromCargoToml(cargoToml);
110350
+ const dependencies = {};
110351
+ for (const [packageName, names] of cargoTomlDeps.entries()) {
110352
+ const depId = packageNameToId.get(packageName);
110353
+ if (depId) {
110354
+ dependencies[depId] = { names };
110355
+ }
110356
+ }
110357
+ const packageId = packageNameToId.get(crateInfo.name);
110358
+ const packageInfo = {
110359
+ src: isApp ? i([crateInfo.lib, ...crateInfo.examples ?? [], ...crateInfo.tests ?? []]) : [crateInfo.lib],
110360
+ ecosystemSpecificPackageInfo: {
110361
+ type: "RUST",
110362
+ crate: crateInfo.name.replaceAll("-", "_"),
110363
+ dependencies
110364
+ }
110365
+ };
110366
+ if (isApp) {
110367
+ apps[packageId] = packageInfo;
110368
+ } else {
110369
+ depIdToPurl.set(packageId, getCargoPurl("", void 0));
110370
+ deps[packageId] = packageInfo;
110886
110371
  }
110887
110372
  }
110888
110373
  const scanner = new _RustCodeAwareVulnerabilityScanner(apps, deps, depIdToPurl, options.timeoutInSeconds);
@@ -110898,28 +110383,62 @@ var RustCodeAwareVulnerabilityScanner = class _RustCodeAwareVulnerabilityScanner
110898
110383
  return withTmpDirectory("rust-run-on-dependency-chain", async (tmpDir) => {
110899
110384
  try {
110900
110385
  const rustDependencyChain = await convertDependencyChain3(dependencyChain, tmpDir);
110386
+ const packageNameToId = /* @__PURE__ */ new Map();
110387
+ packageNameToId.set(rustDependencyChain[0].packageName, "<app>");
110388
+ rustDependencyChain.slice(1).forEach((dep) => {
110389
+ const packageId = randomUUID3();
110390
+ packageNameToId.set(dep.packageName, packageId);
110391
+ });
110392
+ const appDependencies = {};
110393
+ if (rustDependencyChain[0].src && rustDependencyChain[0].src.length > 0) {
110394
+ const appCargoTomlPath = resolve15(rustDependencyChain[0].src[0], "..", "Cargo.toml");
110395
+ if (existsSync11(appCargoTomlPath)) {
110396
+ const cargoTomlDeps = await extractDependenciesFromCargoToml(appCargoTomlPath);
110397
+ for (const [packageName, names] of cargoTomlDeps.entries()) {
110398
+ const depId = packageNameToId.get(packageName);
110399
+ if (depId) {
110400
+ appDependencies[depId] = { names };
110401
+ }
110402
+ }
110403
+ }
110404
+ }
110901
110405
  const apps = {
110902
- [randomUUID3()]: {
110406
+ "<app>": {
110903
110407
  src: rustDependencyChain[0].src,
110904
110408
  ecosystemSpecificPackageInfo: {
110905
110409
  type: "RUST",
110906
- crate: rustDependencyChain[0].packageName.replaceAll("-", "_")
110410
+ crate: rustDependencyChain[0].packageName.replaceAll("-", "_"),
110411
+ dependencies: appDependencies
110907
110412
  }
110908
110413
  }
110909
110414
  };
110910
110415
  const deps = {};
110911
110416
  const depIdToPurl = /* @__PURE__ */ new Map();
110912
- rustDependencyChain.slice(1).forEach((dep) => {
110913
- const uuid = randomUUID3();
110914
- depIdToPurl.set(uuid, getCargoPurl(dep.packageName, dep.version ?? void 0));
110915
- deps[uuid] = {
110417
+ for (const dep of rustDependencyChain.slice(1)) {
110418
+ const packageId = packageNameToId.get(dep.packageName);
110419
+ depIdToPurl.set(packageId, getCargoPurl(dep.packageName, dep.version ?? void 0));
110420
+ const dependencies = {};
110421
+ if (dep.src && dep.src.length > 0) {
110422
+ const depCargoTomlPath = resolve15(dep.src[0], "..", "Cargo.toml");
110423
+ if (existsSync11(depCargoTomlPath)) {
110424
+ const cargoTomlDeps = await extractDependenciesFromCargoToml(depCargoTomlPath);
110425
+ for (const [packageName, names] of cargoTomlDeps.entries()) {
110426
+ const transDepId = packageNameToId.get(packageName);
110427
+ if (transDepId) {
110428
+ dependencies[transDepId] = { names };
110429
+ }
110430
+ }
110431
+ }
110432
+ }
110433
+ deps[packageId] = {
110916
110434
  src: dep.src,
110917
110435
  ecosystemSpecificPackageInfo: {
110918
110436
  type: "RUST",
110919
- crate: dep.packageName.replaceAll("-", "_")
110437
+ crate: dep.packageName.replaceAll("-", "_"),
110438
+ dependencies
110920
110439
  }
110921
110440
  };
110922
- });
110441
+ }
110923
110442
  const scanner = new _RustCodeAwareVulnerabilityScanner(apps, deps, depIdToPurl, timeoutInSeconds, statusUpdater);
110924
110443
  const result = await scanner.actuallyRunAnalysis(vulnerability.vulnerabilityAccessPaths);
110925
110444
  if (result.type === "error")
@@ -110943,7 +110462,8 @@ var RustCodeAwareVulnerabilityScanner = class _RustCodeAwareVulnerabilityScanner
110943
110462
  const inputFile = resolve15(tmpDir, "input.json");
110944
110463
  const outputFile = resolve15(tmpDir, "output.json");
110945
110464
  await writeFile7(inputFile, JSON.stringify(options));
110946
- const result = await execNeverFail(cmdt`node ${classGraphAnalysisCliPath} runRustDirectDependencyAnalysis -i ${inputFile} -o ${outputFile} --tree-sitter-rust ${treeSitterRustPath}`);
110465
+ const timeoutMs = this.timeoutInSeconds ? Math.max(this.timeoutInSeconds * 1.5, this.timeoutInSeconds + 30) * 1e3 : 750 * 1e3;
110466
+ const result = await execNeverFail(cmdt`node ${classGraphAnalysisCliPath} runRustDirectDependencyAnalysis -i ${inputFile} -o ${outputFile} --tree-sitter-rust ${treeSitterRustPath}`, void 0, { timeout: timeoutMs });
110947
110467
  if (result.error)
110948
110468
  return void 0;
110949
110469
  const packageIds = JSON.parse(await readFile10(outputFile, "utf-8")).result;
@@ -110977,7 +110497,9 @@ var RustCodeAwareVulnerabilityScanner = class _RustCodeAwareVulnerabilityScanner
110977
110497
  const inputFile = resolve15(tmpDir, "input.json");
110978
110498
  const outputFile = resolve15(tmpDir, "output.json");
110979
110499
  await writeFile7(inputFile, JSON.stringify(options));
110980
- const result = await execNeverFail(cmdt`node ${classGraphAnalysisCliPath} runRustReachabilityAnalysis -i ${inputFile} -o ${outputFile} --tree-sitter-rust ${treeSitterRustPath}`);
110500
+ await writeFile7("/Users/jfblaa/Desktop/class-graph-analysis-input.json", JSON.stringify(options, null, 2));
110501
+ const timeoutMs = this.timeoutInSeconds ? Math.max(this.timeoutInSeconds * 1.5, this.timeoutInSeconds + 30) * 1e3 : 750 * 1e3;
110502
+ const result = await execNeverFail(cmdt`node ${classGraphAnalysisCliPath} runRustReachabilityAnalysis -i ${inputFile} -o ${outputFile} --tree-sitter-rust ${treeSitterRustPath}`, void 0, { timeout: timeoutMs });
110981
110503
  if (result.error)
110982
110504
  return { type: "error", message: result.error.message ?? "unknown error" };
110983
110505
  const { success, error, analysisDiagnostics: diagnostics, vulnerablePaths, reachablePackageIds } = JSON.parse(await readFile10(outputFile, "utf-8")).result;
@@ -111032,24 +110554,19 @@ var RustCodeAwareVulnerabilityScanner = class _RustCodeAwareVulnerabilityScanner
111032
110554
  }
111033
110555
  };
111034
110556
  async function convertDependencyChain3(dependencyChain, tmpDir) {
111035
- async function downloadAndExtractCargoCrate2(packageName, version3) {
111036
- const packageUrl = getUrlForCrate(packageName, version3);
111037
- const packageFile = resolve15(tmpDir, `${packageName.toLocaleLowerCase()}-${version3.toLocaleLowerCase()}.crate`);
111038
- const success = await downloadFile(packageUrl, packageFile);
111039
- if (!success) {
111040
- logger.error(`Could not download crate ${packageName}@${version3} from crates.io`);
111041
- return void 0;
110557
+ const localRepositories = getCargoLocalRepositoryPaths();
110558
+ async function resolveCargoCrate(packageName, version3) {
110559
+ for (const repo of localRepositories) {
110560
+ const localPackage = await findCargoPackageInLocalRepo(repo, packageName, version3, tmpDir);
110561
+ if (localPackage)
110562
+ return localPackage;
111042
110563
  }
111043
- await execAndLogOnFailure(["tar", "-xzf", packageFile], tmpDir);
111044
- const packageDir = resolve15(tmpDir, `${packageName.toLocaleLowerCase()}-${version3.toLocaleLowerCase()}`);
111045
- const cargoTomlPath = resolve15(packageDir, "Cargo.toml");
111046
- const depCrateInfo = await getCrateInfo(cargoTomlPath);
111047
- return [depCrateInfo.lib];
110564
+ return await downloadAndExtractCargoCrate(packageName, version3, tmpDir);
111048
110565
  }
111049
110566
  const rustDependencyChain = await asyncMap(dependencyChain, async (dep) => {
111050
110567
  return {
111051
110568
  ...dep,
111052
- src: dep.version ? await downloadAndExtractCargoCrate2(dep.packageName, dep.version) : void 0
110569
+ src: dep.version ? await resolveCargoCrate(dep.packageName, dep.version) : void 0
111053
110570
  };
111054
110571
  }, 4);
111055
110572
  return rustDependencyChain;
@@ -111138,7 +110655,7 @@ async function downloadAndExtractCargoCrate(packageName, version3, tmpDir) {
111138
110655
  }
111139
110656
  return extractCargoCrate(packageFile, packageName, version3, tmpDir);
111140
110657
  }
111141
- async function convertSocketArtifacts3(artifacts, tmpDir) {
110658
+ async function convertSocketArtifacts3(artifacts, tmpDir, artifactNameToId) {
111142
110659
  const localRepositories = getCargoLocalRepositoryPaths();
111143
110660
  async function resolveCargoCrate(packageName, version3) {
111144
110661
  for (const repo of localRepositories) {
@@ -111150,19 +110667,81 @@ async function convertSocketArtifacts3(artifacts, tmpDir) {
111150
110667
  }
111151
110668
  const deps = {};
111152
110669
  const depIdToPurl = /* @__PURE__ */ new Map();
110670
+ const artifactToSrcPath = /* @__PURE__ */ new Map();
111153
110671
  await asyncForEach(artifacts, async (artifact) => {
111154
- const uuid = randomUUID3();
111155
- depIdToPurl.set(uuid, getPurlFromSocketFactArtifact(artifact));
111156
- deps[uuid] = {
110672
+ const src = artifact.name && artifact.version ? await resolveCargoCrate(artifact.name, artifact.version) : void 0;
110673
+ artifactToSrcPath.set(artifact.id, src);
110674
+ }, 4);
110675
+ for (const artifact of artifacts) {
110676
+ const src = artifactToSrcPath.get(artifact.id);
110677
+ depIdToPurl.set(artifact.id, getPurlFromSocketFactArtifact(artifact));
110678
+ const dependencies = {};
110679
+ if (src && src.length > 0) {
110680
+ const cargoTomlPath = resolve15(dirname13(src[0]), "Cargo.toml");
110681
+ if (existsSync11(cargoTomlPath)) {
110682
+ const cargoTomlDeps = await extractDependenciesFromCargoToml(cargoTomlPath);
110683
+ for (const [packageName, names] of cargoTomlDeps.entries()) {
110684
+ const depArtifactId = artifactNameToId.get(packageName);
110685
+ if (depArtifactId) {
110686
+ dependencies[depArtifactId] = { names };
110687
+ }
110688
+ }
110689
+ }
110690
+ }
110691
+ deps[artifact.id] = {
111157
110692
  ecosystemSpecificPackageInfo: {
111158
110693
  type: "RUST",
111159
- crate: artifact.name?.replaceAll("-", "_") ?? ""
110694
+ crate: artifact.name?.replaceAll("-", "_") ?? "",
110695
+ dependencies
111160
110696
  },
111161
- src: artifact.name && artifact.version ? await resolveCargoCrate(artifact.name, artifact.version) : void 0
110697
+ src
111162
110698
  };
111163
- }, 4);
110699
+ }
111164
110700
  return { deps, depIdToPurl };
111165
110701
  }
110702
+ async function extractDependenciesFromCargoToml(cargoTomlPath) {
110703
+ const content = await readFile10(cargoTomlPath, "utf-8");
110704
+ const toml = parseTOML2(content);
110705
+ if (!toml)
110706
+ return /* @__PURE__ */ new Map();
110707
+ const result = /* @__PURE__ */ new Map();
110708
+ function processDependencySection(section) {
110709
+ if (!(section instanceof TOMLTable))
110710
+ return;
110711
+ for (const key in section) {
110712
+ const dep = section[key];
110713
+ let actualPackageName = key;
110714
+ if (dep instanceof TOMLScalar) {
110715
+ actualPackageName = key;
110716
+ } else if (dep instanceof TOMLTable) {
110717
+ const packageNameValue = dep.package;
110718
+ if (packageNameValue instanceof TOMLScalar) {
110719
+ actualPackageName = String(packageNameValue[value]);
110720
+ } else {
110721
+ actualPackageName = key;
110722
+ }
110723
+ }
110724
+ const names = result.get(actualPackageName) ?? [];
110725
+ if (!names.includes(key)) {
110726
+ names.push(key);
110727
+ }
110728
+ result.set(actualPackageName, names);
110729
+ }
110730
+ }
110731
+ processDependencySection(toml.dependencies);
110732
+ processDependencySection(toml["dev-dependencies"]);
110733
+ const target = toml.target;
110734
+ if (target instanceof TOMLTable) {
110735
+ for (const targetKey in target) {
110736
+ const targetSection = target[targetKey];
110737
+ if (targetSection instanceof TOMLTable) {
110738
+ processDependencySection(targetSection.dependencies);
110739
+ processDependencySection(targetSection["dev-dependencies"]);
110740
+ }
110741
+ }
110742
+ }
110743
+ return result;
110744
+ }
111166
110745
  async function getCrateInfo(cargoTomlPath) {
111167
110746
  let name2;
111168
110747
  let version3;
@@ -111171,41 +110750,49 @@ async function getCrateInfo(cargoTomlPath) {
111171
110750
  let tests;
111172
110751
  const cargoTomlDir = dirname13(cargoTomlPath);
111173
110752
  const content = await readFile10(cargoTomlPath, "utf-8");
111174
- const parsed = parse14(content);
111175
- if (typeof parsed.package === "object" && "name" in parsed.package) {
111176
- if (typeof parsed.package.name === "string") {
111177
- name2 = parsed.package.name;
111178
- }
110753
+ const parsed = parseTOML2(content);
110754
+ if (!parsed) {
110755
+ lib = resolve15(dirname13(cargoTomlPath), "src");
110756
+ return { name: name2, version: version3, lib, examples, tests };
111179
110757
  }
111180
- if (typeof parsed.package === "object" && "version" in parsed.package) {
111181
- if (typeof parsed.package.version === "string") {
111182
- version3 = parsed.package.version;
110758
+ const packageSection = getNestedValue(parsed, "package");
110759
+ if (packageSection instanceof TOMLTable) {
110760
+ const packageName = packageSection.name;
110761
+ if (packageName instanceof TOMLScalar) {
110762
+ name2 = String(packageName[value]);
110763
+ }
110764
+ const packageVersion = packageSection.version;
110765
+ if (packageVersion instanceof TOMLScalar) {
110766
+ version3 = String(packageVersion[value]);
111183
110767
  }
111184
110768
  }
111185
- if (typeof parsed.lib === "object" && "path" in parsed.lib) {
111186
- const libPath = parsed.lib.path;
111187
- if (typeof libPath === "string") {
111188
- lib = dirname13(resolve15(cargoTomlDir, libPath));
110769
+ const libSection = parsed.lib;
110770
+ if (libSection instanceof TOMLTable) {
110771
+ const libPath = libSection.path;
110772
+ if (libPath instanceof TOMLScalar) {
110773
+ lib = dirname13(resolve15(cargoTomlDir, String(libPath[value])));
111189
110774
  }
111190
110775
  }
111191
- if (Array.isArray(parsed.example)) {
110776
+ const exampleSection = parsed.example;
110777
+ if (Array.isArray(exampleSection)) {
111192
110778
  examples = [];
111193
- parsed.example.forEach((example) => {
111194
- if (typeof example === "object" && "path" in example) {
110779
+ exampleSection.forEach((example) => {
110780
+ if (example instanceof TOMLTable) {
111195
110781
  const examplePath = example.path;
111196
- if (typeof examplePath === "string") {
111197
- examples?.push(dirname13(resolve15(cargoTomlDir, examplePath)));
110782
+ if (examplePath instanceof TOMLScalar) {
110783
+ examples?.push(dirname13(resolve15(cargoTomlDir, String(examplePath[value]))));
111198
110784
  }
111199
110785
  }
111200
110786
  });
111201
110787
  }
111202
- if (Array.isArray(parsed.test)) {
110788
+ const testSection = parsed.test;
110789
+ if (Array.isArray(testSection)) {
111203
110790
  tests = [];
111204
- parsed.test.forEach((test3) => {
111205
- if (typeof test3 === "object" && "path" in test3) {
110791
+ testSection.forEach((test3) => {
110792
+ if (test3 instanceof TOMLTable) {
111206
110793
  const testPath = test3.path;
111207
- if (typeof testPath === "string") {
111208
- tests?.push(dirname13(resolve15(cargoTomlDir, testPath)));
110794
+ if (testPath instanceof TOMLScalar) {
110795
+ tests?.push(dirname13(resolve15(cargoTomlDir, String(testPath[value]))));
111209
110796
  }
111210
110797
  }
111211
110798
  });
@@ -116182,13 +115769,13 @@ var RustAnalyzer = class {
116182
115769
  }
116183
115770
  async runPhantomDependencyAnalysis() {
116184
115771
  return withTmpDirectory("cargo-phantom-dependency-analysis", async (tmpDir) => {
116185
- const scanner = this.state.workspaceData.type === "coana" ? RustCodeAwareVulnerabilityScanner.initFromDependencyTree(this.state.workspaceData.data.dependencyTree) : await RustCodeAwareVulnerabilityScanner.initFromSocketArtifacts(this.state.subprojectDir, this.state.workspaceData.data.manifestFiles, this.state.workspaceData.data.artifacts, tmpDir);
115772
+ const scanner = this.state.workspaceData.type === "coana" ? RustCodeAwareVulnerabilityScanner.initFromDependencyTree(this.state.workspaceData.data.dependencyTree) : await RustCodeAwareVulnerabilityScanner.initFromSocketArtifacts(this.state.subprojectDir, this.state.workspacePath, this.state.workspaceData.data.artifacts, tmpDir);
116186
115773
  return scanner.runPhantomDependencyAnalysis();
116187
115774
  });
116188
115775
  }
116189
115776
  async runReachabilityAnalysis(vulns, analysisMetadataCollector, statusUpdater) {
116190
115777
  return withTmpDirectory("cargo-reachability-analysis", async (tmpDir) => {
116191
- const scanner = this.state.workspaceData.type === "coana" ? RustCodeAwareVulnerabilityScanner.initFromDependencyTree(this.state.workspaceData.data.dependencyTree, this.state.reachabilityAnalysisOptions.timeoutInSeconds, statusUpdater) : await RustCodeAwareVulnerabilityScanner.initFromSocketArtifacts(this.state.subprojectDir, this.state.workspaceData.data.manifestFiles, this.state.workspaceData.data.artifacts, tmpDir, this.state.reachabilityAnalysisOptions.timeoutInSeconds, statusUpdater);
115778
+ const scanner = this.state.workspaceData.type === "coana" ? RustCodeAwareVulnerabilityScanner.initFromDependencyTree(this.state.workspaceData.data.dependencyTree, this.state.reachabilityAnalysisOptions.timeoutInSeconds, statusUpdater) : await RustCodeAwareVulnerabilityScanner.initFromSocketArtifacts(this.state.subprojectDir, this.state.workspacePath, this.state.workspaceData.data.artifacts, tmpDir, this.state.reachabilityAnalysisOptions.timeoutInSeconds, statusUpdater);
116192
115779
  const heuristicsInOrder = [RusticaHeuristics.ALL_PACKAGES];
116193
115780
  return await analyzeWithHeuristics(this.state, vulns, heuristicsInOrder, false, scanner, analysisMetadataCollector, statusUpdater);
116194
115781
  });
@@ -116354,266 +115941,5 @@ fill-range/index.js:
116354
115941
  * Copyright (c) 2014-present, Jon Schlinkert.
116355
115942
  * Licensed under the MIT License.
116356
115943
  *)
116357
-
116358
- smol-toml/dist/error.js:
116359
- (*!
116360
- * Copyright (c) Squirrel Chat et al., All rights reserved.
116361
- * SPDX-License-Identifier: BSD-3-Clause
116362
- *
116363
- * Redistribution and use in source and binary forms, with or without
116364
- * modification, are permitted provided that the following conditions are met:
116365
- *
116366
- * 1. Redistributions of source code must retain the above copyright notice, this
116367
- * list of conditions and the following disclaimer.
116368
- * 2. Redistributions in binary form must reproduce the above copyright notice,
116369
- * this list of conditions and the following disclaimer in the
116370
- * documentation and/or other materials provided with the distribution.
116371
- * 3. Neither the name of the copyright holder nor the names of its contributors
116372
- * may be used to endorse or promote products derived from this software without
116373
- * specific prior written permission.
116374
- *
116375
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
116376
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
116377
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
116378
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
116379
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
116380
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
116381
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
116382
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
116383
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
116384
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
116385
- *)
116386
-
116387
- smol-toml/dist/util.js:
116388
- (*!
116389
- * Copyright (c) Squirrel Chat et al., All rights reserved.
116390
- * SPDX-License-Identifier: BSD-3-Clause
116391
- *
116392
- * Redistribution and use in source and binary forms, with or without
116393
- * modification, are permitted provided that the following conditions are met:
116394
- *
116395
- * 1. Redistributions of source code must retain the above copyright notice, this
116396
- * list of conditions and the following disclaimer.
116397
- * 2. Redistributions in binary form must reproduce the above copyright notice,
116398
- * this list of conditions and the following disclaimer in the
116399
- * documentation and/or other materials provided with the distribution.
116400
- * 3. Neither the name of the copyright holder nor the names of its contributors
116401
- * may be used to endorse or promote products derived from this software without
116402
- * specific prior written permission.
116403
- *
116404
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
116405
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
116406
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
116407
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
116408
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
116409
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
116410
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
116411
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
116412
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
116413
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
116414
- *)
116415
-
116416
- smol-toml/dist/date.js:
116417
- (*!
116418
- * Copyright (c) Squirrel Chat et al., All rights reserved.
116419
- * SPDX-License-Identifier: BSD-3-Clause
116420
- *
116421
- * Redistribution and use in source and binary forms, with or without
116422
- * modification, are permitted provided that the following conditions are met:
116423
- *
116424
- * 1. Redistributions of source code must retain the above copyright notice, this
116425
- * list of conditions and the following disclaimer.
116426
- * 2. Redistributions in binary form must reproduce the above copyright notice,
116427
- * this list of conditions and the following disclaimer in the
116428
- * documentation and/or other materials provided with the distribution.
116429
- * 3. Neither the name of the copyright holder nor the names of its contributors
116430
- * may be used to endorse or promote products derived from this software without
116431
- * specific prior written permission.
116432
- *
116433
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
116434
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
116435
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
116436
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
116437
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
116438
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
116439
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
116440
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
116441
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
116442
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
116443
- *)
116444
-
116445
- smol-toml/dist/primitive.js:
116446
- (*!
116447
- * Copyright (c) Squirrel Chat et al., All rights reserved.
116448
- * SPDX-License-Identifier: BSD-3-Clause
116449
- *
116450
- * Redistribution and use in source and binary forms, with or without
116451
- * modification, are permitted provided that the following conditions are met:
116452
- *
116453
- * 1. Redistributions of source code must retain the above copyright notice, this
116454
- * list of conditions and the following disclaimer.
116455
- * 2. Redistributions in binary form must reproduce the above copyright notice,
116456
- * this list of conditions and the following disclaimer in the
116457
- * documentation and/or other materials provided with the distribution.
116458
- * 3. Neither the name of the copyright holder nor the names of its contributors
116459
- * may be used to endorse or promote products derived from this software without
116460
- * specific prior written permission.
116461
- *
116462
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
116463
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
116464
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
116465
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
116466
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
116467
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
116468
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
116469
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
116470
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
116471
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
116472
- *)
116473
-
116474
- smol-toml/dist/extract.js:
116475
- (*!
116476
- * Copyright (c) Squirrel Chat et al., All rights reserved.
116477
- * SPDX-License-Identifier: BSD-3-Clause
116478
- *
116479
- * Redistribution and use in source and binary forms, with or without
116480
- * modification, are permitted provided that the following conditions are met:
116481
- *
116482
- * 1. Redistributions of source code must retain the above copyright notice, this
116483
- * list of conditions and the following disclaimer.
116484
- * 2. Redistributions in binary form must reproduce the above copyright notice,
116485
- * this list of conditions and the following disclaimer in the
116486
- * documentation and/or other materials provided with the distribution.
116487
- * 3. Neither the name of the copyright holder nor the names of its contributors
116488
- * may be used to endorse or promote products derived from this software without
116489
- * specific prior written permission.
116490
- *
116491
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
116492
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
116493
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
116494
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
116495
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
116496
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
116497
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
116498
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
116499
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
116500
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
116501
- *)
116502
-
116503
- smol-toml/dist/struct.js:
116504
- (*!
116505
- * Copyright (c) Squirrel Chat et al., All rights reserved.
116506
- * SPDX-License-Identifier: BSD-3-Clause
116507
- *
116508
- * Redistribution and use in source and binary forms, with or without
116509
- * modification, are permitted provided that the following conditions are met:
116510
- *
116511
- * 1. Redistributions of source code must retain the above copyright notice, this
116512
- * list of conditions and the following disclaimer.
116513
- * 2. Redistributions in binary form must reproduce the above copyright notice,
116514
- * this list of conditions and the following disclaimer in the
116515
- * documentation and/or other materials provided with the distribution.
116516
- * 3. Neither the name of the copyright holder nor the names of its contributors
116517
- * may be used to endorse or promote products derived from this software without
116518
- * specific prior written permission.
116519
- *
116520
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
116521
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
116522
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
116523
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
116524
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
116525
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
116526
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
116527
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
116528
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
116529
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
116530
- *)
116531
-
116532
- smol-toml/dist/parse.js:
116533
- (*!
116534
- * Copyright (c) Squirrel Chat et al., All rights reserved.
116535
- * SPDX-License-Identifier: BSD-3-Clause
116536
- *
116537
- * Redistribution and use in source and binary forms, with or without
116538
- * modification, are permitted provided that the following conditions are met:
116539
- *
116540
- * 1. Redistributions of source code must retain the above copyright notice, this
116541
- * list of conditions and the following disclaimer.
116542
- * 2. Redistributions in binary form must reproduce the above copyright notice,
116543
- * this list of conditions and the following disclaimer in the
116544
- * documentation and/or other materials provided with the distribution.
116545
- * 3. Neither the name of the copyright holder nor the names of its contributors
116546
- * may be used to endorse or promote products derived from this software without
116547
- * specific prior written permission.
116548
- *
116549
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
116550
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
116551
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
116552
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
116553
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
116554
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
116555
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
116556
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
116557
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
116558
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
116559
- *)
116560
-
116561
- smol-toml/dist/stringify.js:
116562
- (*!
116563
- * Copyright (c) Squirrel Chat et al., All rights reserved.
116564
- * SPDX-License-Identifier: BSD-3-Clause
116565
- *
116566
- * Redistribution and use in source and binary forms, with or without
116567
- * modification, are permitted provided that the following conditions are met:
116568
- *
116569
- * 1. Redistributions of source code must retain the above copyright notice, this
116570
- * list of conditions and the following disclaimer.
116571
- * 2. Redistributions in binary form must reproduce the above copyright notice,
116572
- * this list of conditions and the following disclaimer in the
116573
- * documentation and/or other materials provided with the distribution.
116574
- * 3. Neither the name of the copyright holder nor the names of its contributors
116575
- * may be used to endorse or promote products derived from this software without
116576
- * specific prior written permission.
116577
- *
116578
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
116579
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
116580
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
116581
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
116582
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
116583
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
116584
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
116585
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
116586
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
116587
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
116588
- *)
116589
-
116590
- smol-toml/dist/index.js:
116591
- (*!
116592
- * Copyright (c) Squirrel Chat et al., All rights reserved.
116593
- * SPDX-License-Identifier: BSD-3-Clause
116594
- *
116595
- * Redistribution and use in source and binary forms, with or without
116596
- * modification, are permitted provided that the following conditions are met:
116597
- *
116598
- * 1. Redistributions of source code must retain the above copyright notice, this
116599
- * list of conditions and the following disclaimer.
116600
- * 2. Redistributions in binary form must reproduce the above copyright notice,
116601
- * this list of conditions and the following disclaimer in the
116602
- * documentation and/or other materials provided with the distribution.
116603
- * 3. Neither the name of the copyright holder nor the names of its contributors
116604
- * may be used to endorse or promote products derived from this software without
116605
- * specific prior written permission.
116606
- *
116607
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
116608
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
116609
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
116610
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
116611
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
116612
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
116613
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
116614
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
116615
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
116616
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
116617
- *)
116618
115944
  */
116619
115945
  //# sourceMappingURL=reachability-analyzers-cli.mjs.map