Files
at-mintel/packages/next-utils
Marc Mintel b70a89ec86
Some checks failed
Monorepo Pipeline / ⚡ Prioritize Release (push) Successful in 2s
Monorepo Pipeline / 🧪 Test (push) Successful in 1m15s
Monorepo Pipeline / 🏗️ Build (push) Successful in 3m55s
Monorepo Pipeline / 🧹 Lint (push) Successful in 4m20s
Monorepo Pipeline / 🐳 Build Image Processor (push) Failing after 35s
Monorepo Pipeline / 🐳 Build Gatekeeper (Product) (push) Failing after 45s
Monorepo Pipeline / 🐳 Build Build-Base (push) Successful in 52s
Monorepo Pipeline / 🚀 Release (push) Successful in 3m9s
Monorepo Pipeline / 🐳 Build Production Runtime (push) Successful in 52s
chore: sync versions to v1.9.3
2026-02-27 19:37:34 +01:00
..
2026-02-27 19:37:34 +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
}