{"version":3,"sources":["../../../node_modules/.pnpm/tsup@8.5.1_jiti@2.6.1_postcss@8.5.14_typescript@5.5.4_yaml@2.8.3/node_modules/tsup/assets/esm_shims.js","../src/index.ts"],"sourcesContent":["// Shim globals in esm bundle\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nconst getFilename = () => fileURLToPath(import.meta.url)\nconst getDirname = () => path.dirname(getFilename())\n\nexport const __dirname = /* @__PURE__ */ getDirname()\nexport const __filename = /* @__PURE__ */ getFilename()\n","import {join} from 'path';\nimport type {IClone, IOptions, IStatistic} from '@jscpd/core';\nimport {IReporter, JsonReporter} from \"@jscpd/finder\";\nimport {copySync, readJsonSync, writeFileSync} from \"fs-extra\";\nimport {green, red} from \"colors/safe\";\nimport * as pug from \"pug\";\n\nexport default class HtmlReporter implements IReporter {\n  constructor(private options: IOptions) {\n  }\n\n  public report(clones: IClone[], statistic: IStatistic): void {\n    const jsonReporter = new JsonReporter(this.options);\n    const json = jsonReporter.generateJson(clones, statistic);\n    const pkg = readJsonSync(join(__dirname, '../package.json'));\n    const result = pug.renderFile(join(__dirname, './templates/main.pug'), {...json, version: pkg.version})\n    if (this.options.output) {\n      const destination = join(this.options.output, 'html/');\n      try {\n        copySync(join(__dirname, '../public'), destination, {overwrite: true});\n        const index = join(destination, 'index.html');\n        writeFileSync(index, result)\n        writeFileSync(join(destination, 'jscpd-report.json'),\n          JSON.stringify(json, null, '  ')\n        );\n        console.log(green(`HTML report saved to ${join(this.options.output, 'html/')}`));\n      } catch (e) {\n        console.log(red(e as string))\n      }\n    }\n  }\n}\n"],"mappings":";AACA,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAE9B,IAAM,cAAc,MAAM,cAAc,YAAY,GAAG;AACvD,IAAM,aAAa,MAAM,KAAK,QAAQ,YAAY,CAAC;AAE5C,IAAM,YAA4B,2BAAW;;;ACPpD,SAAQ,YAAW;AAEnB,SAAmB,oBAAmB;AACtC,SAAQ,UAAU,cAAc,qBAAoB;AACpD,SAAQ,OAAO,WAAU;AACzB,YAAY,SAAS;AAErB,IAAqB,eAArB,MAAuD;AAAA,EACrD,YAAoB,SAAmB;AAAnB;AAAA,EACpB;AAAA,EAEO,OAAO,QAAkB,WAA6B;AAC3D,UAAM,eAAe,IAAI,aAAa,KAAK,OAAO;AAClD,UAAM,OAAO,aAAa,aAAa,QAAQ,SAAS;AACxD,UAAM,MAAM,aAAa,KAAK,WAAW,iBAAiB,CAAC;AAC3D,UAAM,SAAa,eAAW,KAAK,WAAW,sBAAsB,GAAG,EAAC,GAAG,MAAM,SAAS,IAAI,QAAO,CAAC;AACtG,QAAI,KAAK,QAAQ,QAAQ;AACvB,YAAM,cAAc,KAAK,KAAK,QAAQ,QAAQ,OAAO;AACrD,UAAI;AACF,iBAAS,KAAK,WAAW,WAAW,GAAG,aAAa,EAAC,WAAW,KAAI,CAAC;AACrE,cAAM,QAAQ,KAAK,aAAa,YAAY;AAC5C,sBAAc,OAAO,MAAM;AAC3B;AAAA,UAAc,KAAK,aAAa,mBAAmB;AAAA,UACjD,KAAK,UAAU,MAAM,MAAM,IAAI;AAAA,QACjC;AACA,gBAAQ,IAAI,MAAM,wBAAwB,KAAK,KAAK,QAAQ,QAAQ,OAAO,CAAC,EAAE,CAAC;AAAA,MACjF,SAAS,GAAG;AACV,gBAAQ,IAAI,IAAI,CAAW,CAAC;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AACF;","names":[]}