{"version":3,"file":"vite-plugin.mjs","sources":["../src/vite-plugin.ts"],"sourcesContent":["import fs from \"node:fs/promises\"\nimport type { Config } from \"tailwindcss\"\n// eslint-disable-next-line import/extensions\nimport resolveConfig from \"tailwindcss/resolveConfig.js\"\nimport type { PluginOption } from \"vite\"\n\nfunction plugin(): PluginOption {\n  const virtualModuleId = \"virtual:tailwind.config\"\n  const resolvedVirtualModuleId = `\\0${virtualModuleId}`\n\n  return {\n    name: \"chartjs-plugin-tailwindcss-colors\",\n\n    // eslint-disable-next-line consistent-return, @typescript-eslint/explicit-function-return-type\n    resolveId(id) {\n      if (id === virtualModuleId) {\n        return resolvedVirtualModuleId\n      }\n    },\n\n    // eslint-disable-next-line @typescript-eslint/explicit-function-return-type, consistent-return\n    async load(id) {\n      if (id === resolvedVirtualModuleId) {\n        const file = await this.resolve(\"./tailwind.config\")\n        if (!file) {\n          return this.error(\"Could not resolve TailwindCSS config file.\")\n        }\n\n        try {\n          // eslint-disable-next-line import/no-extraneous-dependencies\n          const { transformWithEsbuild } = await import(\"vite\")\n\n          const contents = await fs.readFile(file.id, \"utf8\")\n          const result = await transformWithEsbuild(contents, file.id)\n\n          const encoded = Buffer.from(result.code).toString(\"base64\")\n          const url = `data:text/javascript;base64,${encoded}`\n          const { default: config } = (await import(url)) as { default: Config }\n\n          return `export default ${JSON.stringify({\n            config,\n            resolvedConfig: resolveConfig(config),\n          })}`\n        } catch (error) {\n          // @ts-expect-error asfasf\n          // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n          this.error(new Error(error.message))\n        }\n      }\n    },\n  }\n}\n\nexport default plugin\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,SAAS,MAAM,GAAA;IACb,MAAM,eAAe,GAAG,yBAAyB,CAAA;AACjD,IAAA,MAAM,uBAAuB,GAAG,CAAK,EAAA,EAAA,eAAe,EAAE,CAAA;IAEtD,OAAO;AACL,QAAA,IAAI,EAAE,mCAAmC;;AAGzC,QAAA,SAAS,CAAC,EAAE,EAAA;AACV,YAAA,IAAI,EAAE,KAAK,eAAe,EAAE;AAC1B,gBAAA,OAAO,uBAAuB,CAAA;aAC/B;SACF;;AAGK,QAAA,IAAI,CAAC,EAAE,EAAA;;AACX,gBAAA,IAAI,EAAE,KAAK,uBAAuB,EAAE;oBAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;oBACpD,IAAI,CAAC,IAAI,EAAE;AACT,wBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAA;qBAChE;AAED,oBAAA,IAAI;;wBAEF,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,OAAO,MAAM,CAAC,CAAA;AAErD,wBAAA,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;wBACnD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;AAE5D,wBAAA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAC3D,wBAAA,MAAM,GAAG,GAAG,CAA+B,4BAAA,EAAA,OAAO,EAAE,CAAA;AACpD,wBAAA,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,MAAM,OAAO,GAAG,CAAC,CAAwB,CAAA;AAEtE,wBAAA,OAAO,CAAkB,eAAA,EAAA,IAAI,CAAC,SAAS,CAAC;4BACtC,MAAM;AACN,4BAAA,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC;AACtC,yBAAA,CAAC,EAAE,CAAA;qBACL;oBAAC,OAAO,KAAK,EAAE;;;wBAGd,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;qBACrC;iBACF;aACF,CAAA,CAAA;AAAA,SAAA;KACF,CAAA;AACH;;;;"}