UNPKG

@tanstack/router-utils

Version:

Modern and scalable routing for React applications

1 lines 2.82 kB
{"version":3,"file":"logger.cjs","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"],"names":["diffWords"],"mappings":";;;;AAGgB,SAAA,QAAQ,QAAgB,QAAgB;AAChD,QAAA,cAAcA,KAAAA,UAAU,QAAQ,MAAM;AAE5C,MAAI,SAAS;AACb,MAAI,iBAAiB;AAErB,WAAS,sBAAsB,OAAuB;AAC9C,UAAA,YAAY,MAAM,MAAM,IAAI;AAC9B,QAAA,UAAU,SAAS,GAAG;AACjB,aAAA;AAAA,QACL,MAAM,IAAI,UAAU,CAAC,CAAC;AAAA,QACtB,MAAM,IAAI,UAAU,CAAC,CAAC;AAAA,QACtB;AAAA,QACA,MAAM,IAAI,KAAK,QAAQ,UAAU,SAAS,CAAC,aAAa;AAAA,QACxD;AAAA,QACA,MAAM,IAAI,UAAU,UAAU,SAAS,CAAC,CAAC;AAAA,QACzC,MAAM,IAAI,UAAU,UAAU,SAAS,CAAC,CAAC;AAAA,MAAA,EACzC,KAAK,IAAI;AAAA,IAAA;AAEN,WAAA,MAAM,IAAI,KAAK;AAAA,EAAA;AAGZ,cAAA,QAAQ,CAAC,MAAM,UAAU;AAC7B,UAAA,WAAW,YAAY,QAAQ,CAAC;AAEtC,QAAI,KAAK,OAAO;AACd,UAAI,gBAAgB;AAClB,kBAAU,sBAAsB,cAAc;AAC7B,yBAAA;AAAA,MAAA;AAEnB,gBAAU,MAAM,MAAM,KAAK,KAAK,KAAK;AACjC,UAAA,qCAAU,QAAmB,WAAA;AAAA,IAAA,WACxB,KAAK,SAAS;AACvB,UAAI,gBAAgB;AAClB,kBAAU,sBAAsB,cAAc;AAC7B,yBAAA;AAAA,MAAA;AAEnB,gBAAU,MAAM,IAAI,KAAK,KAAK,KAAK;AAC/B,UAAA,qCAAU,MAAiB,WAAA;AAAA,IAAA,OAC1B;AACL,wBAAkB,KAAK;AAAA,IAAA;AAAA,EACzB,CACD;AAGD,MAAI,gBAAgB;AAClB,cAAU,sBAAsB,cAAc;AAAA,EAAA;AAGhD,MAAI,QAAQ;AACV,YAAQ,IAAI,SAAS;AACb,YAAA,IAAI,SAAS,MAAM;AAAA,EAAA,OACtB;AACL,YAAQ,IAAI,YAAY;AAAA,EAAA;AAE5B;;"}