Files
archivmail/eslint.config.mjs
T
sysops 824b24f569 feat(PROJ-79): tailwindcss v3 -> v4 + tailwind-merge v3 Upgrade
Offizielles @tailwindcss/upgrade-Tool durchgelaufen: tailwind.config.ts
entfernt, Theme nach globals.css als @theme-Block (CSS-first-Config),
PostCSS auf @tailwindcss/postcss umgestellt. tailwind-merge im selben
Schritt auf v3 (Pflicht-Kopplung an Tailwind v4).

Codemod-Bug korrigiert: variant="outline" (Prop-Wert) wurde faelschlich
als CSS-Klasse zu "outline-solid" umbenannt in 4 Call-Sites - zurueckgesetzt.

Neue Lint-Regel (no-restricted-syntax) gegen *-opacity-* Utilities, die
in v4 nicht mehr existieren und von tailwind-merge v3 lautlos verschluckt
wuerden statt einen Fehler zu werfen.

tsc/lint/build gruen. Visueller Regressionstest offen (kein Browser-Tool
in dieser Session) - folgt auf 132 vor 131-Deploy.
2026-08-06 12:38:51 +02:00

35 lines
1.0 KiB
JavaScript

import nextCoreWebVitals from "eslint-config-next/core-web-vitals";
// Flat Config (ESLint 10 unterstützt das alte .eslintrc-Format nicht mehr).
// Entspricht dem bisherigen `{ "extends": "next/core-web-vitals" }`.
const eslintConfig = [
{
ignores: [
".next/**",
"out/**",
"build/**",
"next-env.d.ts",
],
},
...nextCoreWebVitals,
{
rules: {
// Tailwind v3 *-opacity-* Utilities existieren in v4 nicht mehr und
// werden von tailwind-merge v3 lautlos verschluckt statt einen Fehler
// zu werfen (siehe PROJ-79). Klassen wie bg-opacity-50 durch die
// v4-Slash-Syntax (bg-black/50) ersetzen.
"no-restricted-syntax": [
"error",
{
selector:
"Literal[value=/(^|\\s)(bg|text|border|ring|divide|placeholder)-opacity-\\d+(\\s|$)/]",
message:
"Tailwind-v3-*-opacity-*-Utility gefunden. In v4 durch Slash-Syntax ersetzen (z.B. bg-black/50 statt bg-opacity-50).",
},
],
},
},
];
export default eslintConfig;