UNPKG

parcel-transformer-csv

Version:
28 lines (26 loc) 695 B
const { Transformer } = require("@parcel/plugin"); const Papa = require("papaparse"); module.exports = new Transformer({ async loadConfig({ config }) { let { contents, filePath } = await config.getConfig([ ".parcel-transformer-csv.json", ]) || {}; switch (typeof contents) { case "string": return JSON.parse(contents) case "object": return contents default: return {}; } }, async transform({ asset, config }) { asset.type = "js"; asset.setCode( `module.exports = JSON.parse(${JSON.stringify( JSON.stringify(Papa.parse(await asset.getCode(), config).data) )})` ); return [asset]; }, });