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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user