Skip to content

Releases: sonofmagic/weapp-tailwindcss

weapp-tailwindcss@4.12.0-next.0

27 Apr 16:04

Choose a tag to compare

Pre-release

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 场景下默认启用内置 autoprefixer 后处理,为小程序 CSS 补齐 -webkit-background-clip: text 等 WebView 兼容前缀,并新增 autoprefixer: false 配置用于显式关闭。 501a5c2 by @sonofmagic

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

@weapp-tailwindcss/variants@0.2.2-next.0

27 Apr 16:04

Choose a tag to compare

Patch Changes

  • 📦 Dependencies acc3907
    @weapp-tailwindcss/merge@2.2.0-next.0

@weapp-tailwindcss/variants-v3@0.1.2-next.0

27 Apr 16:04

Choose a tag to compare

Patch Changes

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

@weapp-tailwindcss/ui@0.0.8-next.0

27 Apr 16:04

Choose a tag to compare

Pre-release

Patch Changes

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

@weapp-tailwindcss/reset@0.1.0-next.0

27 Apr 16:04

Choose a tag to compare

Pre-release

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-next.0

27 Apr 16:04

Choose a tag to compare

Pre-release

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 场景下默认启用内置 autoprefixer 后处理,为小程序 CSS 补齐 -webkit-background-clip: text 等 WebView 兼容前缀,并新增 autoprefixer: false 配置用于显式关闭。 501a5c2 by @sonofmagic

@weapp-tailwindcss/merge@2.2.0-next.0

27 Apr 16:04

Choose a tag to compare

Pre-release

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-next.0

27 Apr 16:04

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.11.2

31 Mar 15:12

Choose a tag to compare

Patch Changes

  • 🐛 修复 weapp-vite dev 启动时 weapp-tailwindcss 运行时 Tailwind CSS 日志重复输出的问题。 5264907 by @sonofmagic

    • 现在同一进程内针对相同 Tailwind CSS 目标与版本的运行时日志会自动去重,仅输出一次,同时保留 CLI 场景的目标路径日志不变。
  • 🐛 精简运行时 Tailwind CSS 绑定日志,避免输出冗长的依赖绝对路径。 d2586fa by @sonofmagic

    • 现在运行时会输出 Weapp-tailwindcss 使用 Tailwind CSS (vX.Y.Z),同时保留 CLI weapp-tw patch 场景的详细目标路径日志,便于排查补丁绑定目标。

weapp-tailwindcss@4.11.1

30 Mar 15:32

Choose a tag to compare

Patch Changes

  • 🐛 修复 taro weapp 场景下 app-origin.wxss 仍可能残留 :not(#n) 占位选择器的问题,并补充 #834 的回归测试,确保最终输出不再包含 @layer:not(#\\#):not(#n) 7942ef4 by @sonofmagic

  • 🐛 修复 Taro Vite Tailwind CSS v4 构建时最终样式产物仍残留 :not(#\#) / :not(#n) 的问题。 f972c34 by @sonofmagic

    • 同时为 Taro demo 的构建守卫增加对 @tarojs/plugin-doctor 原生检查的安全绕过,避免当前环境下其 Rust 模块 panic 导致 demo 无法完成真实构建验证。
  • 📦 Dependencies 7942ef4
    @weapp-tailwindcss/postcss@2.1.7