import { readFile } from 'fs/promises'; import { createFilter } from "@rollup/pluginutils"; /** * @param {{ * include: import("@rollup/pluginutils").FilterPattern, * exclude?: import("@rollup/pluginutils").FilterPattern, * }} opts * @returns {import("rollup").Plugin} */ export default function importBase64(opts) { if (!opts.include) { throw Error("include option should be specified"); } const filter = createFilter(opts.include, opts.exclude); return { name: "base64", async load(id) { if (!filter(id)) return; const file = await readFile(id); return `export default '${file.toString('base64')}';`; } }; };