const fs = require('fs'); const path = 'd:/Sites/Work/RadioCast/src/main.js'; const s = fs.readFileSync(path,'utf8'); const lines = s.split(/\r?\n/); let balance = 0; let maxBalance = 0; let maxLine = -1; for (let i=0;imaxBalance){ maxBalance = balance; maxLine = i+1; } } console.log('final balance:', balance, 'maxBalance:', maxBalance, 'maxLine:', maxLine); console.log('last 40 lines:'); for (let i=Math.max(0, lines.length-40); i0){ console.log('\nContext around max imbalance at line', maxLine); for (let i=Math.max(1, maxLine-5); i<=Math.min(lines.length, maxLine+5); i++) console.log(i+': '+lines[i-1]); }