Skip to content

pantoken / flatten-property

flatten-property

Bêta

@pantoken/plugin-flatten-property — convertir les at-rules @property en déclarations de propriétés personnalisées simples.

Les at-rules @property enregistrent des propriétés CSS personnalisées typées avec les descripteurs syntax, inherits et initial-value. Ils entraînent un surcoût important en octets — ~60 octets de code standard par propriété — et sont inutiles lorsque la feuille de style est un bundle autonome où l'enregistrement de type n'apporte aucun avantage à l'exécution. Ce plugin remplace chaque bloc @property par une simple déclaration --name: value à l'intérieur d'un sélecteur choisi, récupérant tout ce surcoût.

Remarque sémantique : la suppression de @property entraîne la perte de l'enregistrement des types CSS. Les transitions/animations typées, @starting-style, et le CSS Typed OM en dépendent. S'appliquer uniquement aux bundles où ces sémantiques ne sont pas nécessaires.

Exemple

ts
import postcss from "postcss";
import { flattenProperty } from "@pantoken/plugin-flatten-property";
const out = postcss([flattenProperty()]).process(css, { from: undefined }).css;

Interfaces

Variables