in eng/scripts/inventory-dashboard/src/index.ts [17:46]
async function main() {
// Pull in csv data from release CSVs and convert to array of Objects
const csvData = await collectCSVData();
// Format JSON Objects
let formattedCSVData = formatReleaseCSVData(csvData);
// Add empty data points, ex: if data plane SDK is missing.
formattedCSVData = await addEmptyDataPoints(formattedCSVData, apiSpecsDirPath);
// Add color code and completeness percent
formattedCSVData = addDashboardMetaData(formattedCSVData);
// Add exception handling
formattedCSVData = exceptionHandler(formattedCSVData);
// Turn package map into a package array
const formattedPackageArr = [];
for (let pkgKey in formattedCSVData) {
formattedPackageArr.push(formattedCSVData[pkgKey]);
}
// Write Formatted Object to CSV File
json2csv(formattedPackageArr, (err, csv) => {
if (err) {
log.err(`Error Writing to CSV. Error: ${err}`);
} else if (csv) {
fs.writeFileSync(
path.join(__dirname, "../../../../_data/releases/inventory/inventory.csv"),
csv
);
} else {
log.err(`CSV is undefined`);
}
});
}