diff options
| author | Leo Goetz <dev@leogtz.de> | 2026-05-24 13:37:55 +0200 |
|---|---|---|
| committer | Leo Goetz <dev@leogtz.de> | 2026-05-24 13:37:55 +0200 |
| commit | e765e1acdfe8e25c41b267eedd878c739d3e5261 (patch) | |
| tree | 9a6bd76623f42b0bb800e42394736480a630ce79 /src | |
| parent | ca8537af0ab596fddd8d72e6630f278326ef5360 (diff) | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/actions/outputSummary.ts | 0 | ||||
| -rw-r--r-- | src/actions/sendEmail.ts | 7 | ||||
| -rw-r--r-- | src/utils/config.ts | 14 | ||||
| -rw-r--r-- | src/utils/email.ts | 32 |
4 files changed, 28 insertions, 25 deletions
diff --git a/src/actions/outputSummary.ts b/src/actions/outputSummary.ts deleted file mode 100644 index e69de29..0000000 --- a/src/actions/outputSummary.ts +++ /dev/null diff --git a/src/actions/sendEmail.ts b/src/actions/sendEmail.ts index 62c527f..ecf89cf 100644 --- a/src/actions/sendEmail.ts +++ b/src/actions/sendEmail.ts @@ -1,12 +1,13 @@ import nodemailer from "nodemailer"; -import { emailConfig } from "../utils/email.js"; +import { getEmailConfig } from "../utils/email.js"; import type { ProjectAudit } from "../types.js"; -const transporter = nodemailer.createTransport(emailConfig); - export const sendAuditEmail = async ( projects: PromiseSettledResult<ProjectAudit>[], ) => { + const emailConfig = await getEmailConfig(); + const transporter = nodemailer.createTransport(emailConfig); + const text = emailContent(projects); const email = await transporter.sendMail({ from: `"${emailConfig.senderName}" <${emailConfig.senderEmail}>`, diff --git a/src/utils/config.ts b/src/utils/config.ts index 62080f7..0706312 100644 --- a/src/utils/config.ts +++ b/src/utils/config.ts @@ -3,7 +3,7 @@ import fs from "fs/promises"; import type { Config } from "../types.js"; const configPath: string = new URL( - `${os.homedir()}/.config/dephelp/`, + `${os.homedir()}/.config/dephelp`, import.meta.url, ).pathname; @@ -34,15 +34,11 @@ export const getConfig = async (): Promise<Config> => { export const initConfig = async () => { try { - await fs.access(configPath); + await fs.access(configFile); + console.log(`You already have a config at: ${configFile}`); } catch { - await fs.mkdir(configPath); - } - - try { + await fs.mkdir(configPath, { recursive: true }); await fs.writeFile(`${configFile}`, JSON.stringify(sampleConfig, null, 2)); - console.log(`Config got generated in /.config/dephelp/config.json`); - } catch (error) { - console.error(error); + console.log(`Config got generated: ${configFile}`); } }; diff --git a/src/utils/email.ts b/src/utils/email.ts index 828603b..54fd591 100644 --- a/src/utils/email.ts +++ b/src/utils/email.ts @@ -1,18 +1,24 @@ import type { Config, EmailConfig } from "../types.js"; import { getConfig } from "./config.js"; -const config: Config = await getConfig(); +export const getEmailConfig = async (): Promise<EmailConfig> => { + const config: Config = await getConfig(); -export const emailConfig: EmailConfig = { - host: config.email!.host, - port: config.email!.port, - secure: config.email!.secure, - auth: { - user: config.email!.auth.user, - pass: config.email!.auth.pass, - }, - senderEmail: config.email!.senderEmail, - senderName: config.email!.senderName, - subject: config.email!.subject, - reciever: config.email!.reciever, + if (!config.email) { + throw new Error("Email configuration is missing in config.json"); + } + + return { + host: config.email.host, + port: config.email.port, + secure: config.email.secure, + auth: { + user: config.email.auth.user, + pass: config.email.auth.pass, + }, + senderEmail: config.email.senderEmail, + senderName: config.email.senderName, + subject: config.email.subject, + reciever: config.email.reciever, + }; }; |
