import * as _ from "lodash"; import * as fs from "fs-extra"; import { generateBullets } from "../markdown"; import { generateAttributes } from "../classBlocks"; export const generateComponentMdx = (data: any) => { const { filteredComponents, componentFolder, templateFolder } = data; fs.readFile( `${templateFolder}/components/component.template/README.md.template`, "utf8", (err, data) => { if (err) return console.log(err); // loop over array of components _.forEach(filteredComponents, component => { // grab [name] from the item in the loop // grab [description] from the item in the loop const { name, description } = component; // pass in [name], [description] to component.template/README.md.template const readMeMd = _.template(data)({ name, description, checklist: generateBullets( _.map(component["tests"], test => test.it) ), attributesBlock: generateAttributes(component["schema"]) }); // save result to {outFolder}/components/[Name]/README.md fs.outputFile(`${componentFolder}/${name}/README.md`, readMeMd); }); } ); };