Global Metrics

path: .metrics.mi.mi_original
old: 41.438527629421344
new: 41.42642052267149

path: .metrics.mi.mi_sei
old: -3.506632471961863
new: -3.5240993348294136

path: .metrics.mi.mi_visual_studio
old: 24.233057093228854
new: 24.225976913842977

path: .metrics.halstead.purity_ratio
old: 1.4502229305492684
new: 1.4468503190828748

path: .metrics.halstead.length
old: 429.0
new: 430.0

path: .metrics.halstead.volume
old: 2868.508726161601
new: 2875.195226688784

path: .metrics.halstead.difficulty
old: 18.38372093023256
new: 18.482558139534884

path: .metrics.halstead.N2
old: 186.0
new: 187.0

path: .metrics.halstead.effort
old: 52733.86390769176
new: 53140.96293978863

path: .metrics.halstead.level
old: 0.054395951929158755
new: 0.054105064485687325

path: .metrics.halstead.bugs
old: 0.4687469712999476
new: 0.4711563244388113

path: .metrics.halstead.time
old: 2929.6591059828756
new: 2952.275718877146

Spaces Data

Minimal test - lines (161, 173)

path: .spaces[3].metrics.mi.mi_sei
old: 67.00508886294011
new: 66.89227449322365

path: .spaces[3].metrics.mi.mi_original
old: 98.63391595888004
new: 98.55571899658445

path: .spaces[3].metrics.mi.mi_visual_studio
old: 57.68065260753219
new: 57.63492338981546

path: .spaces[3].metrics.halstead.effort
old: 2804.7892653386757
new: 2956.797075173464

path: .spaces[3].metrics.halstead.level
old: 0.11188811188811187
new: 0.10774410774410774

path: .spaces[3].metrics.halstead.time
old: 155.82162585214866
new: 164.26650417630356

path: .spaces[3].metrics.halstead.volume
old: 313.8225751427889
new: 318.5774626449524

path: .spaces[3].metrics.halstead.length
old: 66.0
new: 67.0

path: .spaces[3].metrics.halstead.bugs
old: 0.06629471424975626
new: 0.06866884751233414

path: .spaces[3].metrics.halstead.N2
old: 26.0
new: 27.0

path: .spaces[3].metrics.halstead.purity_ratio
old: 1.5462689061365191
new: 1.5231902657464218

path: .spaces[3].metrics.halstead.difficulty
old: 8.9375
new: 9.28125

Code

function getAllLabels(dbg, withIndent = false) {
  return Array.from(findAllElements(dbg, "scopeNodes")).map(el => {
    let text = el.innerText;
    if (withIndent) {
      const node = el.closest(".tree-node");
      const level = Number(node.getAttribute("aria-level"));
      if (!Number.isNaN(level)) {
        text = `${"| ".repeat(level - 1)}${text}`.trim();
      }
    }
    return text;
  });
}