Files
at-mintel/packages/next-utils
Marc Mintel 61e78ea672
All checks were successful
Monorepo Pipeline / 🧪 Quality Assurance (push) Successful in 3m50s
Monorepo Pipeline / 🚀 Release (push) Successful in 3m38s
Monorepo Pipeline / 🐳 Build & Push Images (push) Successful in 7m6s
feat: integrate observability
2026-02-07 10:23:51 +01:00
..
2026-02-07 10:23:51 +01:00
2026-02-01 01:01:16 +01:00
2026-01-31 19:26:46 +01:00

@mintel/next-utils

A collection of reusable utilities and helpers for Mintel Next.js projects, focusing on internationalization, environment safety, and security.

Features

🌍 Internationalization (i18n)

Standardized helpers for next-intl:

  • createMintelMiddleware: A logging-enabled middleware wrapper.
  • createMintelI18nRequestConfig: Centralized request configuration for server-side translations.

🔐 Environment Validation

Zod-based validation to ensure your app never boots with missing secrets:

  • validateMintelEnv: Validates standard Mintel variables (Mail, Sentry, Umami).

🛡 Rate Limiting

  • rateLimit: A simple in-memory rate limiter for protecting server actions and form submissions.

🚀 Usage

i18n Middleware (src/middleware.ts)

import { createMintelMiddleware } from "@mintel/next-utils";

export default createMintelMiddleware({
  locales: ["en", "de"],
  defaultLocale: "en",
  logRequests: true,
});

Env Validation (scripts/validate-env.ts)

import { validateMintelEnv } from "@mintel/next-utils";

validateMintelEnv();

Rate Limiting

import { rateLimit } from "@mintel/next-utils";

export async function myAction(data: any) {
  await rateLimit(data.email);
  // ... logic
}