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.
This commit is contained in:
sysops
2026-08-06 12:38:51 +02:00
parent fa8c5dd87a
commit 824b24f569
36 changed files with 805 additions and 738 deletions
+17
View File
@@ -12,6 +12,23 @@ const eslintConfig = [
],
},
...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;