From 2b9a5cf6402b5fc3ab981ca00c04da54aa84df14 Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Sun, 10 May 2026 22:01:19 +0100 Subject: [PATCH] fix: lazy-initialize Resend client to avoid missing API key error at build time Co-Authored-By: Claude Sonnet 4.6 --- src/lib/resend.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/lib/resend.ts b/src/lib/resend.ts index b913768..bba5b53 100644 --- a/src/lib/resend.ts +++ b/src/lib/resend.ts @@ -3,7 +3,12 @@ import { render } from '@react-email/components' import { LeadAlertEmail } from '@/emails/LeadAlert' import { logger } from '@/lib/logger' -const resend = new Resend(process.env['RESEND_API_KEY']) +function getResend() { + const key = process.env['RESEND_API_KEY'] + if (!key) return null + return new Resend(key) +} + const FROM = process.env['RESEND_FROM'] ?? 'noreply@shumiland.ua' const MANAGER_EMAILS = (process.env['MANAGER_EMAILS'] ?? '').split(',').filter(Boolean) @@ -28,6 +33,12 @@ export async function sendLeadAlert(lead: LeadAlertData): Promise { }) ) + const resend = getResend() + if (!resend) { + logger.warn('RESEND_API_KEY not configured — skipping email alert') + return + } + try { await resend.emails.send({ from: FROM,