@coana-tech/cli 14.12.151 → 14.12.153

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cli.mjs CHANGED
@@ -250895,7 +250895,7 @@ async function onlineScan(dependencyTree, apiKey, timeout) {
250895
250895
  }
250896
250896
 
250897
250897
  // dist/version.js
250898
- var version3 = "14.12.151";
250898
+ var version3 = "14.12.153";
250899
250899
 
250900
250900
  // dist/cli-core.js
250901
250901
  var { mapValues, omit, partition, pickBy: pickBy2 } = import_lodash15.default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coana-tech/cli",
3
- "version": "14.12.151",
3
+ "version": "14.12.153",
4
4
  "description": "Coana CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -13,6 +13,6 @@
13
13
  "binaryConfig": {
14
14
  "nodeVersion": "22.21.1",
15
15
  "npmVersion": "10.9.2",
16
- "uvVersion": "0.8.24"
16
+ "uvVersion": "0.9.24"
17
17
  }
18
18
  }
@@ -112775,8 +112775,9 @@ async function analyzeWithHeuristics(state, vulns, heuristicsInOrder, doNotRecom
112775
112775
  return;
112776
112776
  const experimentalRes = await analyzeAndAugmentVulns(buckets, void 0, true, expHeuristicName);
112777
112777
  const experimentalUrlToReachability = transformVulnsToUrlToReachability(experimentalRes.augmentedVulnerabilities);
112778
+ const ignoredVulnerabilities = new Set(expHeuristicName === "LAZY_EXPERIMENT" ? buckets.flatMap((b) => b.vulnerabilities).filter((v) => v.vulnerabilityAccessPaths.some((ap) => ap.includes("?"))).map((v) => v.url) : []);
112778
112779
  const vulnUrlsWithPotentialRegressions = experimentalRes.augmentedVulnerabilities.filter((v) => previousAnalysisResults.reachabilityResults[v.url] && // If the vulnerability is new we do not have a previous reachability result
112779
- getVulnReachability(v.results) !== previousAnalysisResults.reachabilityResults[v.url]).map((v) => v.url);
112780
+ !ignoredVulnerabilities.has(v.url) && getVulnReachability(v.results) !== previousAnalysisResults.reachabilityResults[v.url]).map((v) => v.url);
112780
112781
  const [bucketsToRecompute, bucketsNotToRecompute] = import_lodash17.default.partition(experimentalRes.analysisMetadata, (am) => am.vulnUrls.some((v) => vulnUrlsWithPotentialRegressions.includes(v)));
112781
112782
  for (const b of bucketsToRecompute)
112782
112783
  analysisMetadataCollector?.({ ...b, finalResult: false });
@@ -112791,7 +112792,7 @@ async function analyzeWithHeuristics(state, vulns, heuristicsInOrder, doNotRecom
112791
112792
  })), analysisMetadataCollector, true);
112792
112793
  await Promise.all([
112793
112794
  sendTimeRegressionsToDashboard(expHeuristicName, resWithoutExperimentalHeuristic.analysisMetadata, bucketsToRecompute),
112794
- sendReachabilityRegressionsToDashboard(resWithoutExperimentalHeuristic.analysisMetadata[0].heuristicName, expHeuristicName, transformVulnsToUrlToReachability(resWithoutExperimentalHeuristic.augmentedVulnerabilities), experimentalUrlToReachability)
112795
+ sendReachabilityRegressionsToDashboard(resWithoutExperimentalHeuristic.analysisMetadata[0].heuristicName, expHeuristicName, transformVulnsToUrlToReachability(resWithoutExperimentalHeuristic.augmentedVulnerabilities), experimentalUrlToReachability, ignoredVulnerabilities)
112795
112796
  ]);
112796
112797
  }
112797
112798
  const vulnsToGetFromExperimental = bucketsNotToRecompute.flatMap((b) => b.vulnUrls);
@@ -113005,8 +113006,8 @@ async function analyzeWithHeuristics(state, vulns, heuristicsInOrder, doNotRecom
113005
113006
  return;
113006
113007
  await sendRegressionsToDashboard(regressions, relative7(state.rootWorkingDir, state.subprojectDir) || ".", state.workspacePath, COANA_REPORT_ID, apiKey);
113007
113008
  }
113008
- async function sendReachabilityRegressionsToDashboard(heuristicName, experimentName, origRes, experimentRes) {
113009
- const regressions = Object.entries(origRes).filter(([vulnUrl, oRes]) => experimentRes[vulnUrl] && oRes.reachability !== experimentRes[vulnUrl].reachability).map(([vulnUrl, originalResult]) => ({
113009
+ async function sendReachabilityRegressionsToDashboard(heuristicName, experimentName, origRes, experimentRes, ignoredVulnerabilities) {
113010
+ const regressions = Object.entries(origRes).filter(([vulnUrl]) => !ignoredVulnerabilities.has(vulnUrl)).filter(([vulnUrl, oRes]) => experimentRes[vulnUrl] && oRes.reachability !== experimentRes[vulnUrl].reachability).map(([vulnUrl, originalResult]) => ({
113010
113011
  type: "REACHABILITY",
113011
113012
  heuristicName,
113012
113013
  experimentName,
@@ -108,6 +108,10 @@ var require_worklist = __commonJS({
108
108
  }
109
109
  first;
110
110
  last;
111
+ _size = 0;
112
+ get size() {
113
+ return this._size;
114
+ }
111
115
  enqueue(v) {
112
116
  const n = new Node(v);
113
117
  if (this.last)
@@ -115,6 +119,7 @@ var require_worklist = __commonJS({
115
119
  else
116
120
  this.first = n;
117
121
  this.last = n;
122
+ this._size++;
118
123
  }
119
124
  *[Symbol.iterator]() {
120
125
  while (this.first) {
@@ -122,6 +127,7 @@ var require_worklist = __commonJS({
122
127
  this.first = c.next;
123
128
  if (this.first === void 0)
124
129
  this.last = void 0;
130
+ this._size--;
125
131
  yield c.value;
126
132
  }
127
133
  }
@@ -2639,6 +2645,9 @@ var require_solver = __commonJS({
2639
2645
  unprocessedListeners2: f.postponedListenerCalls2.length,
2640
2646
  packages: a.packageInfos.size,
2641
2647
  modules: a.moduleInfos.size,
2648
+ modulesFull: d.modulesFull,
2649
+ pendingFiles: a.pendingFiles.size,
2650
+ pendingModulesFull: a.pendingModulesFull.size,
2642
2651
  functions: a.functionInfos.size,
2643
2652
  uniqueTokens: a.canonicalTokens.size
2644
2653
  });