blob: 4509a8ef3d95d68b25f2e739133fa90b034aee19 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import nodemailer from "nodemailer";
import { emailConfig } from "../utils/email.js";
import type { Project } from "../types.js";
const transporter = nodemailer.createTransport(emailConfig);
export const sendAuditEmail = async (
projects: PromiseSettledResult<Project>[],
) => {
const text = emailContent(projects);
const email = await transporter.sendMail({
from: `"${emailConfig.senderName}" <${emailConfig.senderEmail}>`,
to: `${emailConfig.reciever}`,
subject: emailConfig.subject ?? "Dependency Audit!",
text: text,
});
return email;
};
const emailContent = (projects: PromiseSettledResult<Project>[]): string => {
return `Here is your Report:
${projects.map((project) => {
if (project.status === "fulfilled") {
let projectVulnerabilities = project.value.metadata.vulnerabilities.total;
return `
${project.value.projectName} has ${projectVulnerabilities} Security Issues`;
}
return `
WARN: ${project.reason}`;
})}
`;
};
|