rollup-plugin-json
Version:
Convert .json files to ES6 modules:
25 lines (20 loc) • 572 B
JavaScript
import { createFilter, dataToEsm } from 'rollup-pluginutils';
export default function json(options = {}) {
const filter = createFilter(options.include, options.exclude);
const indent = 'indent' in options ? options.indent : '\t';
return {
name: 'json',
transform(json, id) {
if (id.slice(-5) !== '.json' || !filter(id)) return null;
return {
code: dataToEsm(JSON.parse(json), {
preferConst: options.preferConst,
compact: options.compact,
namedExports: options.namedExports,
indent
}),
map: { mappings: '' }
};
}
};
}