Files
Marc Mintel c0a739867f
Some checks failed
Code Quality / lint-and-build (push) Failing after 25s
Release Packages / release (push) Failing after 40s
chore: prepare first release 1.0.1
2026-02-01 01:01:16 +01:00

1.3 KiB

@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
}