{"version":3,"file":"dts-bundle-generator.cjs","sources":["../src/index.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport zlib from 'node:zlib';\n\nimport type { CompilationOptions, EntryPointConfig } from 'dts-bundle-generator';\nimport { generateDtsBundle } from 'dts-bundle-generator';\nimport colors from 'picocolors';\nimport type { InputOption } from 'rollup';\n\ntype ExtendedEntryPointConfig = EntryPointConfig & {\n  outFile: string\n};\n\nexport type PluginConfig = Omit<EntryPointConfig, 'filePath'> & {\n  fileName: string | ((entryName: string) => string)\n};\n\ninterface DeclarationBundle {\n  content: string\n  outFile: string\n  info: string\n}\n\ninterface ResolvedConfig {\n  build: {\n    lib?: {\n      entry: InputOption\n    }\n    outDir: string\n  }\n  logger: {\n    info(msg: string): void\n  }\n}\n\nconst displaySize = (content: string) => {\n  const size = Buffer.byteLength(content);\n  const compressedSize = zlib.gzipSync(content).length;\n\n  const options = {\n    maximumFractionDigits: 2,\n    minimumFractionDigits: 2,\n  };\n\n  return [\n    `${(size / 1000).toLocaleString('en', options)} kB`,\n    `gzip: ${(compressedSize / 1000).toLocaleString('en', options)} kB`,\n  ].join(' │ ');\n};\n\nconst dtsBundleGenerator = (pluginConfig: PluginConfig, compilationOptions?: CompilationOptions) => {\n  const viteConfig = {} as ResolvedConfig;\n  const namedEntryPointConfigs: Array<ExtendedEntryPointConfig> = [];\n  const bundles: Array<DeclarationBundle> = [];\n\n  return {\n    name: 'dts-bundle-generator',\n    configResolved: (resolvedConfig: unknown) => {\n      Object.assign(viteConfig, resolvedConfig);\n\n      if (viteConfig.build.lib) {\n        const libEntries = typeof viteConfig.build.lib.entry == 'object'\n          ? viteConfig.build.lib.entry\n          : { default: viteConfig.build.lib.entry };\n        const fileName = typeof pluginConfig.fileName == 'function'\n          ? pluginConfig.fileName\n          : () => pluginConfig.fileName as string;\n\n        Object.entries(libEntries).forEach(([entryName, filePath]) => namedEntryPointConfigs.push({\n          ...pluginConfig,\n          filePath,\n          outFile: fileName(entryName),\n        }));\n      }\n    },\n    buildEnd: () => {\n      generateDtsBundle(namedEntryPointConfigs, compilationOptions).forEach((content, i) => bundles.push({\n        content,\n        outFile: path.resolve(viteConfig.build.outDir, namedEntryPointConfigs[i].outFile),\n        info: colors.dim(`${viteConfig.build.outDir}/`)\n          + colors.cyan(namedEntryPointConfigs[i].outFile)\n          + '  '\n          + colors.dim(displaySize(content)),\n      }));\n    },\n    closeBundle: () => {\n      viteConfig.logger.info(`\\n${colors.green('✓')} ${bundles.length.toString()} declaration bundles generated.`);\n      bundles.forEach((bundle) => {\n        fs.writeFileSync(bundle.outFile, bundle.content);\n        viteConfig.logger.info(bundle.info);\n      });\n      console.warn(colors.yellow('vite-plugin-dts-bundle-generator is moving to Unplugin architecture, '\n        + 'please migrate to unplugin-dts-bundle-generator for versions 3+',\n      ));\n    },\n  };\n};\n\nexport default dtsBundleGenerator;\n"],"names":["displaySize","content","size","compressedSize","zlib","options","dtsBundleGenerator","pluginConfig","compilationOptions","viteConfig","namedEntryPointConfigs","bundles","resolvedConfig","libEntries","fileName","entryName","filePath","generateDtsBundle","i","path","colors","bundle","fs"],"mappings":"gJAmCMA,EAAeC,GAAoB,CACvC,MAAMC,EAAO,OAAO,WAAWD,CAAO,EAChCE,EAAiBC,EAAK,SAASH,CAAO,EAAE,OAExCI,EAAU,CACd,sBAAuB,EACvB,sBAAuB,CAAA,EAGzB,MAAO,CACL,IAAIH,EAAO,KAAM,eAAe,KAAMG,CAAO,CAAC,MAC9C,UAAUF,EAAiB,KAAM,eAAe,KAAME,CAAO,CAAC,KAAA,EAC9D,KAAK,KAAK,CACd,EAEMC,EAAqB,CAACC,EAA4BC,IAA4C,CAClG,MAAMC,EAAa,CAAA,EACbC,EAA0D,CAAA,EAC1DC,EAAoC,CAAA,EAE1C,MAAO,CACL,KAAM,uBACN,eAAiBC,GAA4B,CAG3C,GAFA,OAAO,OAAOH,EAAYG,CAAc,EAEpCH,EAAW,MAAM,IAAK,CACxB,MAAMI,EAAa,OAAOJ,EAAW,MAAM,IAAI,OAAS,SACpDA,EAAW,MAAM,IAAI,MACrB,CAAE,QAASA,EAAW,MAAM,IAAI,KAAA,EAC9BK,EAAW,OAAOP,EAAa,UAAY,WAC7CA,EAAa,SACb,IAAMA,EAAa,SAEvB,OAAO,QAAQM,CAAU,EAAE,QAAQ,CAAC,CAACE,EAAWC,CAAQ,IAAMN,EAAuB,KAAK,CACxF,GAAGH,EACH,SAAAS,EACA,QAASF,EAASC,CAAS,CAAA,CAC5B,CAAC,CAAA,CACJ,EAEF,SAAU,IAAM,CACdE,oBAAkBP,EAAwBF,CAAkB,EAAE,QAAQ,CAACP,EAASiB,IAAMP,EAAQ,KAAK,CACjG,QAAAV,EACA,QAASkB,EAAK,QAAQV,EAAW,MAAM,OAAQC,EAAuBQ,CAAC,EAAE,OAAO,EAChF,KAAME,EAAO,IAAI,GAAGX,EAAW,MAAM,MAAM,GAAG,EAC1CW,EAAO,KAAKV,EAAuBQ,CAAC,EAAE,OAAO,EAC7C,KACAE,EAAO,IAAIpB,EAAYC,CAAO,CAAC,CAAA,CACpC,CAAC,CAAA,EAEJ,YAAa,IAAM,CACjBQ,EAAW,OAAO,KAAK;AAAA,EAAKW,EAAO,MAAM,GAAG,CAAC,IAAIT,EAAQ,OAAO,UAAU,iCAAiC,EAC3GA,EAAQ,QAASU,GAAW,CAC1BC,EAAG,cAAcD,EAAO,QAASA,EAAO,OAAO,EAC/CZ,EAAW,OAAO,KAAKY,EAAO,IAAI,CAAA,CACnC,EACD,QAAQ,KAAKD,EAAO,OAAO,sIAAA,CAE1B,CAAA,CACH,CAEJ"}