Skip to content

pantoken / flatten-property

flatten-property

Beta

@pantoken/plugin-flatten-property — mengubah @property at-rules menjadi deklarasi properti-kustom biasa.

@property at-rules mendaftarkan custom property CSS bertipe dengan deskriptor syntax, inherits, dan initial-value. Mereka membawa overhead byte yang signifikan — ~60 byte boilerplate per properti — dan tidak perlu ketika stylesheet adalah bundel mandiri di mana pendaftaran tipe tidak memberikan manfaat runtime. Plugin ini menggantikan setiap blok @property dengan sebuah deklarasi --name: value sederhana di dalam selector yang dipilih, mengembalikan semua overhead tersebut.

Catatan semantik: menghapus @property menghilangkan pendaftaran tipe CSS. Transisi/animasi bertipe, @starting-style, dan CSS Typed OM bergantung padanya. Terapkan hanya pada bundel di mana semantik tersebut tidak diperlukan.

Contoh

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

Antarmuka

Variabel