4chan-x/tools/rollup-plugin-inline-file.js
2023-02-23 21:04:32 +01:00

29 lines
695 B
JavaScript

import { createFilter } from "rollup-pluginutils";
export default function inlineFile(opts = {}) {
if (!opts.include) {
throw Error("include option should be specified");
}
if (opts.transformer && typeof opts.transformer !== 'function') {
throw new Error('If transformer is given, it must be a function');
}
const filter = createFilter(opts.include, opts.exclude);
return {
name: "inlineFile",
transform(code, id) {
if (filter(id)) {
if (opts.transformer) {
code = opts.transformer(code);
}
return {
code: `export default ${JSON.stringify(code)};`,
map: { mappings: "" }
};
}
}
};
}