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 表(它为清单播种),然后处理组件表。

示例

对自包含包应用这三种转换

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 } });

接口

类型别名

变量

函数