{"version":3,"file":"index-node.mjs","sources":["../src/index.ts"],"sourcesContent":["import { glob, mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { load } from \"js-yaml\";\nimport type { Plugin } from \"rollup\";\n\ninterface TargetOptions {\n  src: string;\n  dest?: string;\n}\n\ninterface PluginOptions {\n  targets: TargetOptions[];\n}\n\ninterface FileToConvert {\n  srcPath: string;\n  destPath: string;\n}\n\nconst buildDestPath = (srcPath: string, dest: string): string => {\n  const { dir, name } = path.parse(srcPath);\n  const [, ...restSegments] = dir.split(path.sep);\n  return path.join(dest, ...restSegments, `${name}.json`);\n};\n\nexport default function alpRollupPluginConfig(options: PluginOptions): Plugin {\n  let files: FileToConvert[] = [];\n\n  return {\n    name: \"alp-config\",\n\n    async buildStart() {\n      files = [];\n      for (const { src, dest = \"build\" } of options.targets) {\n        for await (const srcPath of glob(src)) {\n          this.addWatchFile(path.resolve(srcPath));\n          files.push({ srcPath, destPath: buildDestPath(srcPath, dest) });\n        }\n      }\n    },\n\n    async buildEnd() {\n      await Promise.all(\n        files.map(async ({ srcPath, destPath }) => {\n          const yamlContents = await readFile(srcPath, \"utf8\");\n          await mkdir(path.dirname(destPath), { recursive: true });\n          await writeFile(destPath, JSON.stringify(load(yamlContents)));\n        }),\n      );\n    },\n  };\n}\n"],"names":[],"mappings":";;;;AAmBA,MAAM,aAAA,GAAgB,CAAC,OAAA,EAAiB,IAAA,KAAyB;AAC/D,EAAA,MAAM,EAAE,GAAA,EAAK,IAAA,EAAK,GAAI,IAAA,CAAK,MAAM,OAAO,CAAA;AACxC,EAAA,MAAM,GAAG,GAAG,YAAY,IAAI,GAAA,CAAI,KAAA,CAAM,KAAK,GAAG,CAAA;AAC9C,EAAA,OAAO,KAAK,IAAA,CAAK,IAAA,EAAM,GAAG,YAAA,EAAc,CAAA,EAAG,IAAI,CAAA,KAAA,CAAO,CAAA;AACxD,CAAA;AAEA,SAAwB,sBAAsB,OAAA,EAAgC;AAC5E,EAAA,IAAI,QAAyB,EAAC;AAE9B,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,YAAA;AAAA,IAEN,MAAM,UAAA,GAAa;AACjB,MAAA,KAAA,GAAQ,EAAC;AACT,MAAA,KAAA,MAAW,EAAE,GAAA,EAAK,IAAA,GAAO,OAAA,EAAQ,IAAK,QAAQ,OAAA,EAAS;AACrD,QAAA,WAAA,MAAiB,OAAA,IAAW,IAAA,CAAK,GAAG,CAAA,EAAG;AACrC,UAAA,IAAA,CAAK,YAAA,CAAa,IAAA,CAAK,OAAA,CAAQ,OAAO,CAAC,CAAA;AACvC,UAAA,KAAA,CAAM,IAAA,CAAK,EAAE,OAAA,EAAS,QAAA,EAAU,cAAc,OAAA,EAAS,IAAI,GAAG,CAAA;AAAA,QAChE;AAAA,MACF;AAAA,IACF,CAAA;AAAA,IAEA,MAAM,QAAA,GAAW;AACf,MAAA,MAAM,OAAA,CAAQ,GAAA;AAAA,QACZ,MAAM,GAAA,CAAI,OAAO,EAAE,OAAA,EAAS,UAAS,KAAM;AACzC,UAAA,MAAM,YAAA,GAAe,MAAM,QAAA,CAAS,OAAA,EAAS,MAAM,CAAA;AACnD,UAAA,MAAM,KAAA,CAAM,KAAK,OAAA,CAAQ,QAAQ,GAAG,EAAE,SAAA,EAAW,MAAM,CAAA;AACvD,UAAA,MAAM,UAAU,QAAA,EAAU,IAAA,CAAK,UAAU,IAAA,CAAK,YAAY,CAAC,CAAC,CAAA;AAAA,QAC9D,CAAC;AAAA,OACH;AAAA,IACF;AAAA,GACF;AACF;;;;"}