weapp-tailwindcss 4.11.2 → 4.12.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +38 -0
  2. package/bin/weapp-tailwindcss.js +21 -1
  3. package/dist/{chunk-AV3XB6EQ.js → chunk-2A4NRLSY.js} +5 -5
  4. package/dist/{chunk-WJIRXC26.js → chunk-6JBFHYFM.js} +134 -128
  5. package/dist/{chunk-OMARW5NC.mjs → chunk-AYJ4HLWZ.mjs} +4 -2
  6. package/dist/{chunk-W3DXDWYC.mjs → chunk-CMNCGACY.mjs} +66 -60
  7. package/dist/{chunk-ZZ36BKM5.mjs → chunk-CQMHHQRN.mjs} +6 -2
  8. package/dist/{chunk-OYSABARD.js → chunk-E7I5TW5K.js} +3 -2
  9. package/dist/{chunk-7LKMJZD2.js → chunk-GMKSBLNY.js} +2 -2
  10. package/dist/{chunk-EFBQ4SQR.mjs → chunk-HL3US2OT.mjs} +1 -1
  11. package/dist/{chunk-AB2RGZQO.mjs → chunk-LWEVOVRD.mjs} +144 -76
  12. package/dist/{chunk-QK6VNNNL.js → chunk-NIS74SI6.js} +8 -6
  13. package/dist/{chunk-CRDOWYG4.js → chunk-ONLKZIRQ.js} +1 -1
  14. package/dist/{chunk-3QHYEMEW.js → chunk-PAAX4FDD.js} +45 -40
  15. package/dist/{chunk-JIERVBTX.mjs → chunk-SHDJA4GG.mjs} +1 -1
  16. package/dist/{chunk-SUKOZ6OG.js → chunk-SRAG3FST.js} +10 -6
  17. package/dist/{chunk-TT5WHNGS.js → chunk-YVRX3F6S.js} +149 -81
  18. package/dist/{chunk-2LH6PZH3.mjs → chunk-ZCH4YINE.mjs} +3 -2
  19. package/dist/{chunk-VGPAKLMZ.mjs → chunk-ZGIN2OAY.mjs} +12 -7
  20. package/dist/cli.js +2233 -158
  21. package/dist/cli.mjs +2238 -163
  22. package/dist/core.d.mts +1 -1
  23. package/dist/core.d.ts +1 -1
  24. package/dist/core.js +14 -9
  25. package/dist/core.mjs +10 -5
  26. package/dist/css-macro/postcss.js +4 -4
  27. package/dist/css-macro/postcss.mjs +2 -2
  28. package/dist/css-macro.js +5 -5
  29. package/dist/css-macro.mjs +2 -2
  30. package/dist/defaults.d.mts +1 -1
  31. package/dist/defaults.d.ts +1 -1
  32. package/dist/defaults.js +1 -1
  33. package/dist/defaults.mjs +1 -1
  34. package/dist/gulp.d.mts +1 -1
  35. package/dist/gulp.d.ts +1 -1
  36. package/dist/gulp.js +5 -5
  37. package/dist/gulp.mjs +4 -4
  38. package/dist/{index-CoXntW_P.d.mts → index-BXrmQelt.d.mts} +29 -1
  39. package/dist/{index-CoXntW_P.d.ts → index-BXrmQelt.d.ts} +29 -1
  40. package/dist/index.d.mts +1 -1
  41. package/dist/index.d.ts +1 -1
  42. package/dist/index.js +9 -9
  43. package/dist/index.mjs +7 -7
  44. package/dist/postcss-html-transform.js +1 -1
  45. package/dist/postcss-html-transform.mjs +1 -1
  46. package/dist/presets.d.mts +8 -1
  47. package/dist/presets.d.ts +8 -1
  48. package/dist/presets.js +7 -6
  49. package/dist/presets.mjs +3 -2
  50. package/dist/reset.d.mts +1 -31
  51. package/dist/reset.d.ts +3 -32
  52. package/dist/reset.js +3 -160
  53. package/dist/reset.mjs +3 -160
  54. package/dist/types.d.mts +2 -2
  55. package/dist/types.d.ts +2 -2
  56. package/dist/types.js +1 -1
  57. package/dist/types.mjs +1 -1
  58. package/dist/vite.d.mts +1 -1
  59. package/dist/vite.d.ts +1 -1
  60. package/dist/vite.js +6 -6
  61. package/dist/vite.mjs +4 -4
  62. package/dist/weapp-tw-css-import-rewrite-loader.js +10 -5
  63. package/dist/weapp-tw-runtime-classset-loader.js +9 -4
  64. package/dist/webpack.d.mts +1 -1
  65. package/dist/webpack.d.ts +1 -1
  66. package/dist/webpack.js +7 -7
  67. package/dist/webpack.mjs +5 -5
  68. package/dist/webpack4.d.mts +1 -1
  69. package/dist/webpack4.d.ts +1 -1
  70. package/dist/webpack4.js +65 -56
  71. package/dist/webpack4.mjs +35 -26
  72. package/package.json +12 -7
  73. package/scripts/postinstall.mjs +59 -0
package/README.md CHANGED
@@ -74,6 +74,44 @@
74
74
 
75
75
  ## [配置项参考](https://tw.icebreaker.top/docs/api/interfaces/UserDefinedOptions)
76
76
 
77
+ ### Tailwind CSS v4 自动前缀
78
+
79
+ 在 Tailwind CSS v4 场景下,`weapp-tailwindcss` 会默认对生成后的小程序 CSS 执行内置 `autoprefixer` 后处理,用于补齐小程序 WebView 需要的兼容前缀。例如 `bg-clip-text` 会输出 `-webkit-background-clip: text`,从而支持渐变文字。
80
+
81
+ 通常不再需要在业务项目的 `postcss.config.js` 中手动配置 `autoprefixer`。如果项目已经显式配置了 `autoprefixer`,内置后处理会避免重复追加。需要关闭时可配置:
82
+
83
+ ```ts
84
+ weappTailwindcss({
85
+ autoprefixer: false,
86
+ })
87
+ ```
88
+
89
+ ### uni-app x uvue 兼容提示
90
+
91
+ 从当前版本开始,`uni-app x` 的 `uvue/nvue` 样式目标会额外过滤宿主不支持的 CSS selector 与 utility 声明,避免把非法 CSS 直接注入到 `App.uvue` 或页面样式中。
92
+
93
+ 可通过 `uniAppX.uvueUnsupported` 控制行为:
94
+
95
+ - `warn`:默认值。跳过不兼容 utility,并输出 `uni-app x uvue unsupported utility` 警告。
96
+ - `error`:遇到不兼容 utility 直接报错,适合 CI 或严格校验场景。
97
+ - `silent`:跳过不兼容 utility,但不输出提示。
98
+
99
+ 其中 `space-x-*` / `space-y-*` 不再继续输出非法兄弟组合器选择器,而是在 `uvue` 模板转换阶段对静态直接子节点展开为额外 class,并通过 `@apply ml-* / mt-*` 注入兼容样式。若同一静态容器 class 中同时出现 `space-x-reverse` / `space-y-reverse`,则会展开为 `mr-*` / `mb-*`。
100
+
101
+ 示例:
102
+
103
+ ```ts
104
+ import { uniAppX } from 'weapp-tailwindcss/presets'
105
+
106
+ export default uniAppX({
107
+ base: __dirname,
108
+ rem2rpx: true,
109
+ uniAppX: {
110
+ uvueUnsupported: 'warn',
111
+ },
112
+ })
113
+ ```
114
+
77
115
  ## Contribute
78
116
 
79
117
  我们邀请你来贡献和帮助改进 `weapp-tailwindcss` 💚💚💚
@@ -1,8 +1,28 @@
1
1
  #!/usr/bin/env node
2
2
  const fs = require('node:fs')
3
3
  const path = require('node:path')
4
+ const process = require('node:process')
5
+
6
+ function isInstallLifecycle() {
7
+ return process.env.npm_lifecycle_event === 'postinstall' || process.env.npm_lifecycle_event === 'prepare'
8
+ }
9
+
10
+ function isMissingRuntimeModuleError(error) {
11
+ return error && error.code === 'MODULE_NOT_FOUND'
12
+ }
4
13
 
5
14
  const cliPath = path.resolve(__dirname, '../dist/cli.js')
6
15
  if (fs.existsSync(cliPath)) {
7
- require(cliPath)
16
+ try {
17
+ require(cliPath)
18
+ }
19
+ catch (error) {
20
+ if (isInstallLifecycle() && isMissingRuntimeModuleError(error)) {
21
+ console.error('[weapp-tailwindcss] install lifecycle patch skipped because a runtime module is missing.')
22
+ console.error('Run `pnpm --filter weapp-tailwindcss build` before strict CLI validation.')
23
+ }
24
+ else {
25
+ throw error
26
+ }
27
+ }
8
28
  }
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunk7LKMJZD2js = require('./chunk-7LKMJZD2.js');
3
+ var _chunkGMKSBLNYjs = require('./chunk-GMKSBLNY.js');
4
4
 
5
5
 
6
- var _chunkTT5WHNGSjs = require('./chunk-TT5WHNGS.js');
6
+ var _chunkYVRX3F6Sjs = require('./chunk-YVRX3F6S.js');
7
7
 
8
8
  // src/shared/mpx.ts
9
9
  var _path = require('path'); var _path2 = _interopRequireDefault(_path);
@@ -145,7 +145,7 @@ function rewriteTailwindcssRequestForCss(data, pkgDir, appType) {
145
145
  if (!CSS_EXT_RE2.test(normalizedIssuer)) {
146
146
  return;
147
147
  }
148
- const resolved = _chunk7LKMJZD2js.resolveTailwindcssImport.call(void 0, request, pkgDir, { appType });
148
+ const resolved = _chunkGMKSBLNYjs.resolveTailwindcssImport.call(void 0, request, pkgDir, { appType });
149
149
  if (!resolved) {
150
150
  return;
151
151
  }
@@ -155,8 +155,8 @@ function applyTailwindcssCssImportRewrite(compiler, options) {
155
155
  if (!options.enabled) {
156
156
  return;
157
157
  }
158
- compiler.hooks.normalModuleFactory.tap(_chunkTT5WHNGSjs.pluginName, (factory) => {
159
- factory.hooks.beforeResolve.tap(_chunkTT5WHNGSjs.pluginName, (data) => {
158
+ compiler.hooks.normalModuleFactory.tap(_chunkYVRX3F6Sjs.pluginName, (factory) => {
159
+ factory.hooks.beforeResolve.tap(_chunkYVRX3F6Sjs.pluginName, (data) => {
160
160
  rewriteTailwindcssRequestForCss(data, options.pkgDir, options.appType);
161
161
  });
162
162
  });