Skip to content

pantoken / props-minify

props-minify

Beta(測試)

@pantoken/plugin-props-minify — 透過單一 applyMinify 工具,為 --instui-* 自訂屬性組合 prune、flatten 與 mangle 轉換。

每個輸出 CSS 的流程(產生腳本、渲染器)都使用 applyMinify 以取得一致的 壓縮介面,且不直接依賴 PostCSS。

Prune + mangle 僅在自包含的套件中安全,此類套件中所有 var(--instui-*) 的引用 及其定義都存在於相同輸出。對於分檔消費者(@pantoken/css + @pantoken/components 獨立載入),僅套用 { flatten: true }

跨檔案邊界進行 Mangle: 將相同的 Map 實例作為 mangle.sharedManifest 傳入每個同時處理被一起載入的 CSS 檔案的 applyMinify 呼叫。 先處理 token 表(它會為 manifest 提供種子),再處理元件表。

範例

對自包含套件套用這三種轉換

ts
import { applyMinify } from "@pantoken/plugin-props-minify";
const out = applyMinify(css, { prune: true, flatten: true, mangle: true });

僅套用 Flatten(對分檔消費者安全)

ts
import { applyMinify } from "@pantoken/plugin-props-minify";
const out = applyMinify(css, { flatten: true });

用相同映射 Mangle 兩個檔案

ts
import { applyMinify } from "@pantoken/plugin-props-minify";
const manifest = new Map<string, string>();
const tokenCss = applyMinify(rawTokens, { mangle: { sharedManifest: manifest } });
const componentCss = applyMinify(rawComponents, { mangle: { sharedManifest: manifest } });

介面

型別別名

變數

函式