Skip to content

Releases: sonofmagic/weapp-tailwindcss

weapp-tailwindcss@4.12.0

04 May 15:00

Choose a tag to compare

Minor Changes

  • 优化 JS Handler 结果缓存策略,提升 HMR 和 Bundler 场景下的缓存命中率。 790bc9f by @sonofmagic

    • 将缓存淘汰策略从 FIFO 替换为 LRU(复用已有 lru-cache 依赖),缓存上限从 256 提升到 512,确保高频访问的文件不被低频文件驱逐。
    • 使用内容哈希(MD5)替代原始源码字符串作为缓存键,移除 512 字符的源码长度限制,大文件也能被缓存。
    • 移除 Bundler 路径(含 filename/moduleGraph)的缓存排除逻辑,Webpack/Vite/Gulp 调用也能命中结果缓存。
    • 新增选项指纹(Options Fingerprint)机制,将影响转译结果的 16 个字段序列化为唯一标识符,确保不同配置下的缓存正确隔离。
    • 简化选项解析缓存从 4 层 WeakMap 嵌套到 2 层结构,保持引用稳定性。
    • linked(跨文件分析)或 error(解析失败)的结果不缓存,确保数据一致性。
  • 将 JS 快速预检查机制扩展到所有构建器路径(Webpack v5、Webpack v4、Gulp、核心 API)。 ac76d03 by @sonofmagic

    • 新增共享预检查模块 src/js/precheck.ts,通过正则快速判断 JS 文件是否需要转译,跳过不必要的 Babel AST 解析。
    • 原 Vite 专属的 shouldSkipViteJsTransform 改为从共享模块 re-export,保持向后兼容。
    • Webpack v5 的 processAssets 钩子、Webpack v4 的 emit 钩子、Gulp 的 transformJs 流、核心 createContext().transformJs() 均已集成预检查。
    • 新增环境变量 WEAPP_TW_DISABLE_JS_PRECHECK,设置为 '1' 时可禁用预检查,强制所有文件走完整转译流程。
    • 预检查开销极低:211KB 大文件仅需 ~171μs,小文件 <1μs,对需要转译的文件无性能影响。

Patch Changes

  • 🐛 修复 uni-app xuvue/nvue 样式目标会输出宿主不支持 CSS 的问题。 a835a94 by @sonofmagic

    • uvue 目标下过滤非 class selector,避免继续输出 space-x-*space-y-* 这类组合器选择器。
    • uvue 目标下过滤不兼容声明,例如 display: blockdisplay: inline-flexdisplay: gridgrid-template-columnsgapmin-height: 100vh
    • 新增 uniAppX.uvueUnsupported 配置,支持 error | warn | silent,默认 warn
    • 当策略为 warn 时,跳过不兼容 utility 并输出包含 class 名与来源文件的警告,避免 HBuilderX 因非法 CSS 直接报错。
  • 🐛 移除 Tailwind CSS v4 bg-linear-to-* 生成的 lab 渐变 @supports 检测块,避免小程序端保留无效的 linear-gradient(in lab, red, red) 兼容分支。 dc9791c by @sonofmagic

    • 保留基础 --tw-gradient-positionbackground-image: linear-gradient(var(--tw-gradient-stops)) 产物,并补充 bg-linear-to-r 单测与 Taro Vite v4 端到端回归。
  • 🐛 新增 weapp-tailwindcss doctor 诊断命令,用于检查项目根目录、Node.js 版本、包管理器、Tailwind CSS、PostCSS、常见小程序框架和构建器配置,并支持 --json--strict 输出模式。 b67c6d9 by @sonofmagic

  • 🐛 统一 CLI 与 doctor 诊断命令的 Node.js 版本判断,按文档和包声明使用 ^20.19.0 || >=22.12.0 范围,避免较低的 Node.js 22 版本被误判为可用。 41160e3 by @sonofmagic

  • 🐛 调整 postinstall 补丁脚本:安装阶段遇到运行时模块缺失时不再中断 pnpm install,并保留 cli:patch 作为严格校验入口。 81dfa54 by @sonofmagic

    • 同时将包内测试脚本改为使用 pnpm run cli:patch,避免继续通过 npm run postinstall 复用安装生命周期。
  • 🐛 修复 Windows 环境下 watch HMR 回归场景的稳定性问题。 d9bda5a by @sonofmagic

    • 放宽 Windows E2E Watch 的热更新耗时阈值,避免完整矩阵在 Windows runner 上因正常波动误判失败。
    • 扩大 fresh mutation class 的候选生成空间,避免历史 watch class 累积后无法生成新 class。
    • 恢复 Windows nightly 完整场景的默认重试能力,降低 runner 抖动对 E2E Watch 的影响。
  • 🐛 在 Tailwind CSS v4 场景下默认启用内置 autoprefixer 后处理,为小程序 CSS 补齐 -webkit-background-clip: text 等 WebView 兼容前缀,并新增 autoprefixer: false 配置用于显式关闭。 501a5c2 by @sonofmagic

  • 📦 Dependencies a835a94
    @weapp-tailwindcss/postcss@2.2.0, @weapp-tailwindcss/reset@0.1.0

theme-transition@2.0.2

04 May 14:59

Choose a tag to compare

Patch Changes

  • 🐛 将反向 clip-path 关键帧生成逻辑从 Array.prototype.toReversed 改为兼容性更高的数组复制后反转写法,避免在较低 lib 目标的 TypeScript 检查中报错。 ebbbe84 by @sonofmagic

@weapp-tailwindcss/variants@0.2.2

04 May 15:00

Choose a tag to compare

Patch Changes

  • 📦 Dependencies acc3907
    @weapp-tailwindcss/merge@2.2.0

@weapp-tailwindcss/variants-v3@0.1.2

04 May 14:59

Choose a tag to compare

Patch Changes

  • 📦 Dependencies acc3907
    @weapp-tailwindcss/merge-v3@0.2.0

@weapp-tailwindcss/ui@0.0.8

04 May 15:00

Choose a tag to compare

Patch Changes

  • 📦 Dependencies acc3907
    @weapp-tailwindcss/merge@2.2.0, @weapp-tailwindcss/variants@0.2.2

@weapp-tailwindcss/reset@0.1.0

04 May 15:00

Choose a tag to compare

Minor Changes

  • 新增 @weapp-tailwindcss/reset 静态样式资源包,提供可直接导入的跨端 reset CSS。 9db8b06 by @sonofmagic
    • 支持 uni-apptaro 两套目录结构,导入路径保持一致。
    • 提供 button-after.cssnormalize.cssmodern-normalize.csseric-meyer.csssanitize/*tailwind.csstailwind-compat.css
    • 新增独立 README、包级测试与官网文档入口,便于和 weapp-tailwindcss/reset 插件能力区分使用。

@weapp-tailwindcss/postcss@2.2.0

04 May 15:00

Choose a tag to compare

Minor Changes

  • 新增 CSS 处理结果 LRU 缓存,对相同内容和配置的 CSS 直接返回缓存结果,跳过 PostCSS 处理流程。 e6d7e8c by @sonofmagic

    • createStyleHandler 内部新增基于 LRU 的结果缓存(最大 256 条目),缓存键由选项指纹 + 内容探测信号 + 内容哈希组成。
    • 使用 FNV-1a 哈希算法计算内容哈希,开销极低(不依赖 crypto 模块)。
    • HMR 场景下相同 CSS 文件的重复处理直接命中缓存,端到端处理速度提升 18~55 倍。
  • 新增 PostCSS 流水线按需裁剪能力,通过轻量级 CSS 内容探测自动跳过不必要的插件。 9a4a836 by @sonofmagic

    • 新增 content-probe 模块,使用正则/字符串匹配快速探测 CSS 内容特征(现代颜色函数、preset-env 特征等)。
    • createStylePipeline 支持可选的 FeatureSignal 参数,根据信号按需跳过 postcss-preset-envcolor-functional-fallback 插件。
    • StyleProcessorCache 将特征信号纳入缓存键计算,确保不同内容特征组合使用正确的处理器。
    • createStyleHandler 自动执行内容探测并传递信号,对外 API 签名不变,零配置即可获得优化。
    • 探测策略采用宽松匹配:宁可误报(多加载插件),不可漏报(遗漏需要的插件),确保处理结果等价。

Patch Changes

  • 🐛 修复 uni-app xuvue/nvue 样式目标会输出宿主不支持 CSS 的问题。 a835a94 by @sonofmagic

    • uvue 目标下过滤非 class selector,避免继续输出 space-x-*space-y-* 这类组合器选择器。
    • uvue 目标下过滤不兼容声明,例如 display: blockdisplay: inline-flexdisplay: gridgrid-template-columnsgapmin-height: 100vh
    • 新增 uniAppX.uvueUnsupported 配置,支持 error | warn | silent,默认 warn
    • 当策略为 warn 时,跳过不兼容 utility 并输出包含 class 名与来源文件的警告,避免 HBuilderX 因非法 CSS 直接报错。
  • 🐛 移除 Tailwind CSS v4 bg-linear-to-* 生成的 lab 渐变 @supports 检测块,避免小程序端保留无效的 linear-gradient(in lab, red, red) 兼容分支。 dc9791c by @sonofmagic

    • 保留基础 --tw-gradient-positionbackground-image: linear-gradient(var(--tw-gradient-stops)) 产物,并补充 bg-linear-to-r 单测与 Taro Vite v4 端到端回归。
  • 🐛 unitsToPx 转换链路切换为基于 postcss-rule-unit-converter 的规则转换实现,移除对 postcss-units-to-px 的直接运行时依赖。 8d4131f by @sonofmagic

    • 保留 unitMaptransformtransform: falsepropListselectorBlackList 等兼容配置行为,并补充对应回归测试,确保多单位转 px 的默认输出不变。
  • 🐛 在 Tailwind CSS v4 场景下默认启用内置 autoprefixer 后处理,为小程序 CSS 补齐 -webkit-background-clip: text 等 WebView 兼容前缀,并新增 autoprefixer: false 配置用于显式关闭。 501a5c2 by @sonofmagic

@weapp-tailwindcss/merge@2.2.0

04 May 15:00

Choose a tag to compare

Minor Changes

  • 新增 /slim/lite 子路径入口,优化小程序场景下 tailwind-merge 的包体积。 acc3907 by @sonofmagic
    • /slim:内置精简版冲突分组配置,覆盖小程序常用的布局、Flexbox、Grid、间距、尺寸、排版、背景、边框、效果、变换等类别,开箱即用,体积约 20-23KB。
    • /lite:不包含任何默认配置,仅导出 createTailwindMergetwJoinmergeConfigs 等工厂函数,用户自行提供配置,体积最小(<1KB + tailwind-merge 核心算法)。
    • 现有默认入口(.)行为完全不变,向后兼容。

@weapp-tailwindcss/merge-v3@0.2.0

04 May 15:00

Choose a tag to compare

Minor Changes

  • 新增 /slim/lite 子路径入口,优化小程序场景下 tailwind-merge 的包体积。 acc3907 by @sonofmagic
    • /slim:内置精简版冲突分组配置,覆盖小程序常用的布局、Flexbox、Grid、间距、尺寸、排版、背景、边框、效果、变换等类别,开箱即用,体积约 20-23KB。
    • /lite:不包含任何默认配置,仅导出 createTailwindMergetwJoinmergeConfigs 等工厂函数,用户自行提供配置,体积最小(<1KB + tailwind-merge 核心算法)。
    • 现有默认入口(.)行为完全不变,向后兼容。

weapp-tailwindcss@4.12.0-alpha.3

03 May 04:44

Choose a tag to compare

Pre-release

Patch Changes

  • 🐛 修复 Windows 环境下 watch HMR 回归场景的稳定性问题。 d9bda5a by @sonofmagic
    • 放宽 Windows E2E Watch 的热更新耗时阈值,避免完整矩阵在 Windows runner 上因正常波动误判失败。
    • 扩大 fresh mutation class 的候选生成空间,避免历史 watch class 累积后无法生成新 class。
    • 恢复 Windows nightly 完整场景的默认重试能力,降低 runner 抖动对 E2E Watch 的影响。