const fs = require('fs'); const path = '/home/shni/amayo/amayo/src/server/views/partials/dashboard/dashboard_items.ejs'; const s = fs.readFileSync(path,'utf8'); const m = s.match(/]*>([\s\S]*?)<\/script>/i); if(!m){ console.error('NO_SCRIPT'); process.exit(2); } const src = m[1]; console.log('SCRIPT LENGTH:', src.length); let stack = []; const opens = {'(':')','[':']','{':'}'}; const closes = {')':'(',']':'[','}':'{'}; let inSingle=false, inDouble=false, inTemplate=false, inComment=false, inLineComment=false, escape=false; let lastSingle=-1, lastDouble=-1, lastTemplate=-1; for(let i=0;i', src.slice(Math.max(0,lastSingle-60), lastSingle+60)); if(inDouble) console.error('lastDouble@', lastDouble, 'context=>', src.slice(Math.max(0,lastDouble-60), lastDouble+60)); if(inTemplate) console.error('lastTemplate@', lastTemplate, 'context=>', src.slice(Math.max(0,lastTemplate-60), lastTemplate+60)); } if(stack.length) console.error('UNMATCHED_OPEN', stack[stack.length-1], 'context=>', src.slice(Math.max(0,stack[stack.length-1].i-40), stack[stack.length-1].i+40)); console.log('DONE'); process.exit(0);