summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/actions/outputSummary.ts0
-rw-r--r--src/actions/sendEmail.ts7
-rw-r--r--src/utils/config.ts14
-rw-r--r--src/utils/email.ts32
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,
+ };
};