in tools/gsuite-scanner/src/output/csv.ts [5:42]
export async function outputCSV(result: IScanResult, fileName = "gscan_results.csv"): Promise<void> {
const fileStream = createWriteStream(fileName, { flags: "a", autoClose: false });
// write headers
const headers = [
"id",
"siteName",
"theme",
"title",
"updated",
"content-count",
"content-last-modified",
"content-categories",
].join(",");
await doWrite(fileStream, headers + EOL);
for (let i = 0; i < result.sites.length; i++) {
const site = result.sites[i];
const data = [
`'${site.id}'`,
`'${site.siteName}'`,
`'${site.theme}'`,
`'${site.title}'`,
`'${site.updated}'`,
`${site.contentSummary.count}`,
`'${site.contentSummary.lastModified}'`,
`'${site.contentSummary.categories.map(cat => `${cat.name}:${cat.count}`).join(";")}'`,
].join(",");
await doWrite(fileStream, data + EOL);
}
fileStream.close();
}