Skip to content

pantoken / flatten-property

flatten-property

Бета

@pantoken/plugin-flatten-property — конвертує @property ат-правила у прості оголошення кастомних властивостей.

@property ат-правила реєструють типізовані CSS-користувацькі властивості за допомогою syntax, inherits та initial-value дескрипторів. Вони додають суттєвий байтовий оверхед — приблизно 60 байт бойлерплейту на властивість — і непотрібні, коли стилі є самодостатнім бандлом, де реєстрація типів не дає рантайм‑вигоди. Цей плагін замінює кожен блок @property простим оголошенням --name: value всередині вибраного селектора, повертаючи весь цей оверхед.

Семантична примітка: видалення @property призводить до втрати реєстрації типів у CSS. Типізовані переходи/анімації, @starting-style та CSS Typed OM покладаються на неї. Застосовувати лише до бандлів, де ці семантики не потрібні.

Приклад

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

Інтерфейси

Змінні