Skip to content

feat: 支持可选的 var fallback 单位转换 - #53

Merged
sonofmagic merged 1 commit into
mainfrom
codex/issue-1318-var-fallbacks
Oct 28, 2026
Merged

sonofmagic merged 1 commit into
mainfrom
codex/issue-1318-var-fallbacks

Conversation

@sonofmagic

Copy link
Copy Markdown
Member

NutUI 等组件的 var(--nutui-48px,48px) 当前会保留 fallback 中的 48px,而普通 48px 已转换成小程序单位。本次给规则引擎和 pxtrans 新增默认关闭的 transformVarFallbacks:开启后,designWidth: 375 输出 var(--nutui-48px,96rpx),并继续保护变量名、字符串、URL 与未闭合的 var()。

规则引擎使用 CSS token 和显式块栈识别任意深度 fallback,保留自定义 unitRegex 的完整覆盖优先级;默认关闭路径继续使用原流式实现。pxtrans 保持平台单位大小写、阈值、Harmony 和 rootValue 无符号回调参数的兼容约定,完整处理符号与科学计数法。rem wrapper 不受此选项影响。

已同步中英文 API、迁移说明、网站 recipes 和中文 release intent,未手工修改包版本。

本地验证:

  • pnpm lint、pnpm typecheck、pnpm build(含网站)、pnpm tsd 全部通过。
  • CI=1 pnpm test --update=none:25 个文件、420 条测试通过,新增 15 条行为回归;规则引擎代码语句覆盖率 100%。
  • pnpm check:cjs:新增 NutUI 真实示例,验证两包 packed ESM/CJS 的 fallback 输出;全部入口与 subpath 通过。
  • 新增用例先在基线运行,15 条中 14 条失败;自定义 regex 的既有覆盖语义通过。覆盖嵌套、600 层深度、转义与大小写函数名、URL/字符串/注释、未闭合输入、过滤和排除、mediaQuery、重复处理及同单位 replace: false。

Refs weapp-tailwindcss/weapp-tailwindcss#1318

@sonofmagic
sonofmagic merged commit 5b6aba4 into main Oct 28, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant