{"version":3,"file":"logger.cjs","names":[],"sources":["../../src/logger.ts"],"sourcesContent":["import ansis from 'ansis'\nimport { diffWords } from 'diff'\n\nexport function logDiff(oldStr: string, newStr: string) {\n  const differences = diffWords(oldStr, newStr)\n\n  let output = ''\n  let unchangedLines = ''\n\n  function processUnchangedLines(lines: string): string {\n    const lineArray = lines.split('\\n')\n    if (lineArray.length > 4) {\n      return [\n        ansis.dim(lineArray[0]),\n        ansis.dim(lineArray[1]),\n        '',\n        ansis.dim.bold(`... (${lineArray.length - 4} lines) ...`),\n        '',\n        ansis.dim(lineArray[lineArray.length - 2]),\n        ansis.dim(lineArray[lineArray.length - 1]),\n      ].join('\\n')\n    }\n    return ansis.dim(lines)\n  }\n\n  differences.forEach((part, index) => {\n    const nextPart = differences[index + 1]\n\n    if (part.added) {\n      if (unchangedLines) {\n        output += processUnchangedLines(unchangedLines)\n        unchangedLines = ''\n      }\n      output += ansis.green.bold(part.value)\n      if (nextPart?.removed) output += ' '\n    } else if (part.removed) {\n      if (unchangedLines) {\n        output += processUnchangedLines(unchangedLines)\n        unchangedLines = ''\n      }\n      output += ansis.red.bold(part.value)\n      if (nextPart?.added) output += ' '\n    } else {\n      unchangedLines += part.value\n    }\n  })\n\n  // Process any remaining unchanged lines at the end\n  if (unchangedLines) {\n    output += processUnchangedLines(unchangedLines)\n  }\n\n  if (output) {\n    console.log('\\nDiff:')\n    console.log(output + '\\n\\n')\n  } else {\n    console.log('No changes')\n  }\n}\n"],"mappings":";;;;;AAGA,SAAgB,QAAQ,QAAgB,QAAgB;CACtD,MAAM,eAAA,GAAA,KAAA,WAAwB,QAAQ,MAAM;CAE5C,IAAI,SAAS;CACb,IAAI,iBAAiB;CAErB,SAAS,sBAAsB,OAAuB;EACpD,MAAM,YAAY,MAAM,MAAM,IAAI;EAClC,IAAI,UAAU,SAAS,GACrB,OAAO;GACL,MAAA,QAAM,IAAI,UAAU,EAAE;GACtB,MAAA,QAAM,IAAI,UAAU,EAAE;GACtB;GACA,MAAA,QAAM,IAAI,KAAK,QAAQ,UAAU,SAAS,EAAE,YAAY;GACxD;GACA,MAAA,QAAM,IAAI,UAAU,UAAU,SAAS,EAAE;GACzC,MAAA,QAAM,IAAI,UAAU,UAAU,SAAS,EAAE;EAC3C,EAAE,KAAK,IAAI;EAEb,OAAO,MAAA,QAAM,IAAI,KAAK;CACxB;CAEA,YAAY,SAAS,MAAM,UAAU;EACnC,MAAM,WAAW,YAAY,QAAQ;EAErC,IAAI,KAAK,OAAO;GACd,IAAI,gBAAgB;IAClB,UAAU,sBAAsB,cAAc;IAC9C,iBAAiB;GACnB;GACA,UAAU,MAAA,QAAM,MAAM,KAAK,KAAK,KAAK;GACrC,IAAI,UAAU,SAAS,UAAU;EACnC,OAAO,IAAI,KAAK,SAAS;GACvB,IAAI,gBAAgB;IAClB,UAAU,sBAAsB,cAAc;IAC9C,iBAAiB;GACnB;GACA,UAAU,MAAA,QAAM,IAAI,KAAK,KAAK,KAAK;GACnC,IAAI,UAAU,OAAO,UAAU;EACjC,OACE,kBAAkB,KAAK;CAE3B,CAAC;CAGD,IAAI,gBACF,UAAU,sBAAsB,cAAc;CAGhD,IAAI,QAAQ;EACV,QAAQ,IAAI,SAAS;EACrB,QAAQ,IAAI,SAAS,MAAM;CAC7B,OACE,QAAQ,IAAI,YAAY;AAE5B"}