Skip to content

pantoken / flatten-property

flatten-property

بتا

@pantoken/plugin-flatten-property — تبدیل at-ruleهای @property به اعلان‌های سادهٔ custom-property.

@property at-ruleها با توصیف‌گرهای syntax, inherits و initial-value، custom propertyهای تایپ‌شدهٔ CSS را ثبت می‌کنند. آن‌ها سربار بایت قابل‌توجهی دارند — تقریباً ۶۰ بایت قالب‌نویسی برای هر property — و هنگامی که stylesheet یک بستهٔ خود‌کفا باشد و ثبت نوع هیچ مزیت زمان‌اجرایی نداشته باشد، غیرضروری‌اند. این پلاگین هر بلوک @property را با یک اعلان سادهٔ --name: value درون یک سلکتور منتخب جایگزین می‌کند و آن سربار را بازیابی می‌کند.

Semantic note: حذف @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;

رابط‌ها

متغیرها