All checks were successful
Build & Deploy / 🔍 Prepare (push) Successful in 10s
Build & Deploy / 🏗️ Build (push) Successful in 23m32s
Build & Deploy / 🚀 Deploy (push) Successful in 2m25s
Build & Deploy / 🧪 QA (push) Successful in 3m50s
Build & Deploy / 🧪 Post-Deploy Verification (push) Successful in 4m49s
Build & Deploy / 🔔 Notify (push) Successful in 3s
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import { z } from "zod";
|
|
import { validateMintelEnv } from "@mintel/next-utils";
|
|
|
|
/**
|
|
* Environment variable schema extension.
|
|
*/
|
|
const envExtension = {
|
|
// Mail Configuration
|
|
MAIL_HOST: z.string().optional(),
|
|
MAIL_PORT: z.coerce.number().optional().default(587),
|
|
MAIL_USERNAME: z.string().optional(),
|
|
MAIL_PASSWORD: z.string().optional(),
|
|
MAIL_FROM: z.string().optional().default("marc@mintel.me"),
|
|
MAIL_RECIPIENTS: z.string().optional().default("marc@mintel.me"),
|
|
|
|
// Analytics (Server-side)
|
|
UMAMI_WEBSITE_ID: z.string().optional(),
|
|
UMAMI_API_ENDPOINT: z
|
|
.string()
|
|
.url()
|
|
.optional()
|
|
.default("https://analytics.infra.mintel.me"),
|
|
|
|
// S3 Storage (Required for importMap at build-time)
|
|
S3_ENDPOINT: z.string().optional(),
|
|
S3_ACCESS_KEY: z.string().optional(),
|
|
S3_SECRET_KEY: z.string().optional(),
|
|
S3_BUCKET: z.string().optional(),
|
|
S3_REGION: z.string().optional(),
|
|
S3_PREFIX: z.string().optional(),
|
|
|
|
// Error Tracking
|
|
SENTRY_DSN: z.string().optional(),
|
|
};
|
|
|
|
/**
|
|
* Validated environment object.
|
|
*/
|
|
export const env = validateMintelEnv(envExtension);
|