weapp-tailwindcss 5.5.0 → 5.5.1

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 (37) hide show
  1. package/README.md +1 -1
  2. package/README.zh-CN.md +1 -1
  3. package/dist/bundlers/shared/final-css-cleanup.d.ts +1 -1
  4. package/dist/{compiler-SwMb3lOX.cjs → compiler-D2ZJc3uA.cjs} +1 -1
  5. package/dist/core.cjs +1 -1
  6. package/dist/{final-css-cleanup-CmVYbXPr.js → final-css-cleanup-B0HUBtiE.js} +63 -37
  7. package/dist/final-css-cleanup-DSjczga3.cjs +138 -0
  8. package/dist/{gulp-Dtc01FdI.cjs → gulp-C9ENAx3f.cjs} +4 -4
  9. package/dist/{gulp-CVUiPXPy.js → gulp-DXeQfvVC.js} +1 -1
  10. package/dist/gulp.cjs +1 -1
  11. package/dist/gulp.js +1 -1
  12. package/dist/{hmr-timing-3SdRVfZx.cjs → hmr-timing-Cz4IesEM.cjs} +2 -2
  13. package/dist/index.cjs +3 -3
  14. package/dist/index.js +3 -3
  15. package/dist/{pipeline-helpers-DVrgv1HS.cjs → pipeline-helpers-CSGnR5gh.cjs} +3 -3
  16. package/dist/rspack.cjs +2 -2
  17. package/dist/rspack.js +1 -1
  18. package/dist/{scoped-generator-B7thnzzm.cjs → scoped-generator-TVjEaOeP.cjs} +1 -1
  19. package/dist/{transform-C0rWZblB.js → transform-CfOzh007.js} +1 -1
  20. package/dist/{transform-C7QxW-fV.cjs → transform-DUPOPZ54.cjs} +2 -2
  21. package/dist/uni-app-x/vite/style-source.d.ts +11 -0
  22. package/dist/{v4-generation-core-DuIVZvRz.cjs → v4-generation-core-CRNUU_Rr.cjs} +1 -1
  23. package/dist/vite/web.cjs +1 -1
  24. package/dist/vite/web.js +1 -1
  25. package/dist/{vite-0PsttwuR.js → vite-BXe-axax.js} +25 -9
  26. package/dist/{vite-CJbO-7AQ.cjs → vite-D_mAIfTU.cjs} +29 -13
  27. package/dist/vite.cjs +1 -1
  28. package/dist/vite.js +1 -1
  29. package/dist/weapp-tw-css-import-rewrite-loader.cjs +3 -3
  30. package/dist/{web-BFOkkJ-8.cjs → web-B2Ea9K4B.cjs} +7 -3
  31. package/dist/{web-D8HSs56R.js → web-Cv7ualrU.js} +4 -0
  32. package/dist/{webpack-DVtKeBq1.js → webpack-7Um2GFtx.js} +1 -1
  33. package/dist/{webpack-BWknqSDV.cjs → webpack-Ce04-btG.cjs} +5 -5
  34. package/dist/webpack.cjs +1 -1
  35. package/dist/webpack.js +1 -1
  36. package/package.json +3 -3
  37. package/dist/final-css-cleanup-BMlUDzik.cjs +0 -112
package/README.md CHANGED
@@ -34,7 +34,7 @@ export default {
34
34
  }
35
35
  ```
36
36
 
37
- The repository provides four canonical templates: [Generic Vite](../../templates/generic-vite-tailwindcss-v4), [uni-app](../../templates/uni-app-tailwindcss-v4), [Taro Vite](../../templates/taro-vite-tailwindcss-v4), and [weapp-vite](../../templates/weapp-vite-tailwindcss-v4). Each can be installed independently and verified with the template smoke build.
37
+ The repository provides three canonical templates: [uni-app](../../templates/uni-app-tailwindcss-v4), [Taro Vite](../../templates/taro-vite-tailwindcss-v4), and [weapp-vite](../../templates/weapp-vite-tailwindcss-v4). Each can be installed independently and verified with the template smoke build.
38
38
 
39
39
  ## Tailwind CSS 4 entry
40
40
 
package/README.zh-CN.md CHANGED
@@ -34,7 +34,7 @@ export default {
34
34
  }
35
35
  ```
36
36
 
37
- 仓库提供 [Generic Vite](../../templates/generic-vite-tailwindcss-v4)、[uni-app](../../templates/uni-app-tailwindcss-v4)、[Taro Vite](../../templates/taro-vite-tailwindcss-v4) 和 [weapp-vite](../../templates/weapp-vite-tailwindcss-v4) 四个 canonical 模板,可直接安装并运行 smoke 构建。
37
+ 仓库提供 [uni-app](../../templates/uni-app-tailwindcss-v4)、[Taro Vite](../../templates/taro-vite-tailwindcss-v4) 和 [weapp-vite](../../templates/weapp-vite-tailwindcss-v4) 三个 canonical 模板,可直接安装并运行 smoke 构建。
38
38
 
39
39
  ## Tailwind CSS 4 入口
40
40
 
@@ -1,2 +1,2 @@
1
- export declare function hasEmptyAtRuleBlockCandidate(css: string): boolean;
1
+ export declare function hasEmptyCssBlockCandidate(css: string): boolean;
2
2
  export declare function finalizeMiniProgramCssStructure(css: string): string;
@@ -40031,7 +40031,7 @@ function toCustomAttributesEntities(customAttributes) {
40031
40031
  return Object.entries(customAttributes);
40032
40032
  }
40033
40033
  //#endregion
40034
- //#region ../../node_modules/.pnpm/oxc-walker@1.1.1_@oxc-project+types@0.147.0_oxc-parser@0.147.0_rolldown@1.2.6/node_modules/oxc-walker/dist/index.mjs
40034
+ //#region ../../node_modules/.pnpm/oxc-walker@1.1.1_@oxc-project+types@0.148.0_oxc-parser@0.148.0_rolldown@1.2.6/node_modules/oxc-walker/dist/index.mjs
40035
40035
  function isNode(v) {
40036
40036
  return v !== null && typeof v === "object" && typeof v.type === "string";
40037
40037
  }
package/dist/core.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_compiler = require("./compiler-SwMb3lOX.cjs");
2
+ const require_compiler = require("./compiler-D2ZJc3uA.cjs");
3
3
  const require_runtime_state = require("./runtime-state-BBQcA0n5.cjs");
4
4
  let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
5
5
  let _weapp_tailwindcss_shared = require("@weapp-tailwindcss/shared");
@@ -1,4 +1,4 @@
1
- import { postcss, removeEmptyAtRules, repairTrailingUnclosedTailwindSourceMedia } from "@weapp-tailwindcss/postcss";
1
+ import { postcss, removeEmptyAtRules, removeEmptyRules, repairTrailingUnclosedTailwindSourceMedia } from "@weapp-tailwindcss/postcss";
2
2
  //#region src/compiler/runtime-build-state.ts
3
3
  function invertLinkedByEntry(linkedByEntry) {
4
4
  const dependentsByLinkedFile = /* @__PURE__ */ new Map();
@@ -181,17 +181,44 @@ async function processCachedTask({ cache, cacheKey, hashKey = cacheKey, rawSourc
181
181
  }
182
182
  //#endregion
183
183
  //#region src/bundlers/shared/final-css-cleanup.ts
184
- function isAtRuleNameCharacter(code) {
185
- return code === 45 || code >= 65 && code <= 90 || code >= 97 && code <= 122;
186
- }
187
184
  function isCssWhitespace(code) {
188
185
  return code === 9 || code === 10 || code === 12 || code === 13 || code === 32;
189
186
  }
190
- function findAtRuleBlockStart(css, start) {
187
+ function isCssWordChar(code) {
188
+ return code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 97 && code <= 122 || code === 95;
189
+ }
190
+ const EMPTY_CSS_BLOCK_RE = /\{(?:[\t\n\f\r ]|\/\*(?:[^*]|\*(?!\/))*\*\/)*\}/;
191
+ function findCssPreludeStart(css, start, end) {
192
+ let cursor = start;
193
+ while (cursor < end) {
194
+ while (cursor < end && isCssWhitespace(css.charCodeAt(cursor))) cursor++;
195
+ if (css.charCodeAt(cursor) !== 47 || css.charCodeAt(cursor + 1) !== 42) return cursor;
196
+ const commentEnd = css.indexOf("*/", cursor + 2);
197
+ if (commentEnd < 0 || commentEnd + 2 > end) return end;
198
+ cursor = commentEnd + 2;
199
+ }
200
+ return end;
201
+ }
202
+ function isKeyframesAtRule(css, start, end) {
203
+ let cursor = start + 1;
204
+ if (css.charCodeAt(cursor) === 45) {
205
+ cursor++;
206
+ const prefixStart = cursor;
207
+ while (cursor < end && isCssWordChar(css.charCodeAt(cursor))) cursor++;
208
+ if (cursor === prefixStart || css.charCodeAt(cursor) !== 45) return false;
209
+ cursor++;
210
+ }
211
+ if (cursor + 9 > end || css.slice(cursor, cursor + 9).toLowerCase() !== "keyframes") return false;
212
+ return !isCssWordChar(css.charCodeAt(cursor + 9));
213
+ }
214
+ function hasEmptyCssBlockCandidate(css) {
215
+ if (!EMPTY_CSS_BLOCK_RE.test(css)) return false;
216
+ const blocks = [];
191
217
  let parenthesisDepth = 0;
192
218
  let quote = 0;
193
219
  let squareBracketDepth = 0;
194
- for (let index = start; index < css.length; index++) {
220
+ let statementStart = 0;
221
+ for (let index = 0; index < css.length; index++) {
195
222
  const code = css.charCodeAt(index);
196
223
  if (quote !== 0) {
197
224
  if (code === 92) index++;
@@ -200,15 +227,17 @@ function findAtRuleBlockStart(css, start) {
200
227
  }
201
228
  if (code === 34 || code === 39) {
202
229
  quote = code;
230
+ if (blocks.length > 0) blocks[blocks.length - 1].hasContent = true;
203
231
  continue;
204
232
  }
205
233
  if (code === 92) {
234
+ if (blocks.length > 0) blocks[blocks.length - 1].hasContent = true;
206
235
  index++;
207
236
  continue;
208
237
  }
209
238
  if (code === 47 && css.charCodeAt(index + 1) === 42) {
210
239
  const commentEnd = css.indexOf("*/", index + 2);
211
- if (commentEnd < 0) return -1;
240
+ if (commentEnd < 0) return false;
212
241
  index = commentEnd + 1;
213
242
  continue;
214
243
  }
@@ -228,49 +257,46 @@ function findAtRuleBlockStart(css, start) {
228
257
  squareBracketDepth--;
229
258
  continue;
230
259
  }
231
- if (code === 123 && parenthesisDepth === 0 && squareBracketDepth === 0) return index;
232
- if ((code === 59 || code === 125) && parenthesisDepth === 0 && squareBracketDepth === 0) return -1;
233
- }
234
- return -1;
235
- }
236
- function isEmptyAtRuleBody(css, blockStart) {
237
- for (let index = blockStart + 1; index < css.length; index++) {
238
- const code = css.charCodeAt(index);
239
- if (isCssWhitespace(code)) continue;
240
- if (code === 47 && css.charCodeAt(index + 1) === 42) {
241
- const commentEnd = css.indexOf("*/", index + 2);
242
- if (commentEnd < 0) return false;
243
- index = commentEnd + 1;
260
+ if (code === 123 && parenthesisDepth === 0 && squareBracketDepth === 0) {
261
+ const preludeStart = findCssPreludeStart(css, statementStart, index);
262
+ const isAtRule = css.charCodeAt(preludeStart) === 64;
263
+ const isKeyframesContainer = isAtRule && isKeyframesAtRule(css, preludeStart, index);
264
+ blocks.push({
265
+ hasContent: false,
266
+ isKeyframesContainer,
267
+ isKeyframeStep: !isAtRule && blocks[blocks.length - 1]?.isKeyframesContainer === true
268
+ });
269
+ statementStart = index + 1;
244
270
  continue;
245
271
  }
246
- return code === 125;
247
- }
248
- return false;
249
- }
250
- function hasEmptyAtRuleBlockCandidate(css) {
251
- let searchFrom = 0;
252
- while (searchFrom < css.length) {
253
- const atRuleStart = css.indexOf("@", searchFrom);
254
- if (atRuleStart < 0) return false;
255
- searchFrom = atRuleStart + 1;
256
- if (!isAtRuleNameCharacter(css.charCodeAt(searchFrom))) continue;
257
- const blockStart = findAtRuleBlockStart(css, searchFrom + 1);
258
- if (blockStart >= 0 && isEmptyAtRuleBody(css, blockStart)) return true;
272
+ if (code === 125 && parenthesisDepth === 0 && squareBracketDepth === 0) {
273
+ const block = blocks.pop();
274
+ if (!block) continue;
275
+ if (!block.hasContent && !block.isKeyframeStep) return true;
276
+ if (blocks.length > 0) blocks[blocks.length - 1].hasContent = true;
277
+ statementStart = index + 1;
278
+ continue;
279
+ }
280
+ if (code === 59 && parenthesisDepth === 0 && squareBracketDepth === 0) {
281
+ statementStart = index + 1;
282
+ continue;
283
+ }
284
+ if (!isCssWhitespace(code) && blocks.length > 0) blocks[blocks.length - 1].hasContent = true;
259
285
  }
260
286
  return false;
261
287
  }
262
288
  /**
263
- * 在小程序样式进入最终产物图时递归清理空的块级 at-rule。
289
+ * 在小程序样式进入最终产物图时递归清理无语义的空 CSS 块。
264
290
  */
265
291
  function finalizeMiniProgramCssStructure(css) {
266
292
  const repaired = repairTrailingUnclosedTailwindSourceMedia(css);
267
- if (!hasEmptyAtRuleBlockCandidate(repaired)) return repaired;
293
+ if (!hasEmptyCssBlockCandidate(repaired)) return repaired;
268
294
  try {
269
295
  const root = postcss.parse(repaired);
270
296
  let removed = 0;
271
297
  let passRemoved = 0;
272
298
  do {
273
- passRemoved = removeEmptyAtRules(root);
299
+ passRemoved = removeEmptyRules(root) + removeEmptyAtRules(root);
274
300
  removed += passRemoved;
275
301
  } while (passRemoved > 0);
276
302
  return removed > 0 ? root.toString() : repaired;
@@ -279,4 +305,4 @@ function finalizeMiniProgramCssStructure(css) {
279
305
  }
280
306
  }
281
307
  //#endregion
282
- export { createRuntimeCompilationAffectingSignature as a, resetRuntimeCompilationBuildState as c, buildRuntimeCompilationSnapshot as i, updateRuntimeCompilationBuildState as l, hasEmptyAtRuleBlockCandidate as n, createRuntimeCompilationBuildState as o, processCachedTask as r, removeRuntimeCompilationBuildStateFiles as s, finalizeMiniProgramCssStructure as t };
308
+ export { createRuntimeCompilationAffectingSignature as a, resetRuntimeCompilationBuildState as c, buildRuntimeCompilationSnapshot as i, updateRuntimeCompilationBuildState as l, hasEmptyCssBlockCandidate as n, createRuntimeCompilationBuildState as o, processCachedTask as r, removeRuntimeCompilationBuildStateFiles as s, finalizeMiniProgramCssStructure as t };
@@ -0,0 +1,138 @@
1
+ let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
2
+ //#region src/bundlers/shared/final-css-cleanup.ts
3
+ function isCssWhitespace(code) {
4
+ return code === 9 || code === 10 || code === 12 || code === 13 || code === 32;
5
+ }
6
+ function isCssWordChar(code) {
7
+ return code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 97 && code <= 122 || code === 95;
8
+ }
9
+ const EMPTY_CSS_BLOCK_RE = /\{(?:[\t\n\f\r ]|\/\*(?:[^*]|\*(?!\/))*\*\/)*\}/;
10
+ function findCssPreludeStart(css, start, end) {
11
+ let cursor = start;
12
+ while (cursor < end) {
13
+ while (cursor < end && isCssWhitespace(css.charCodeAt(cursor))) cursor++;
14
+ if (css.charCodeAt(cursor) !== 47 || css.charCodeAt(cursor + 1) !== 42) return cursor;
15
+ const commentEnd = css.indexOf("*/", cursor + 2);
16
+ if (commentEnd < 0 || commentEnd + 2 > end) return end;
17
+ cursor = commentEnd + 2;
18
+ }
19
+ return end;
20
+ }
21
+ function isKeyframesAtRule(css, start, end) {
22
+ let cursor = start + 1;
23
+ if (css.charCodeAt(cursor) === 45) {
24
+ cursor++;
25
+ const prefixStart = cursor;
26
+ while (cursor < end && isCssWordChar(css.charCodeAt(cursor))) cursor++;
27
+ if (cursor === prefixStart || css.charCodeAt(cursor) !== 45) return false;
28
+ cursor++;
29
+ }
30
+ if (cursor + 9 > end || css.slice(cursor, cursor + 9).toLowerCase() !== "keyframes") return false;
31
+ return !isCssWordChar(css.charCodeAt(cursor + 9));
32
+ }
33
+ function hasEmptyCssBlockCandidate(css) {
34
+ if (!EMPTY_CSS_BLOCK_RE.test(css)) return false;
35
+ const blocks = [];
36
+ let parenthesisDepth = 0;
37
+ let quote = 0;
38
+ let squareBracketDepth = 0;
39
+ let statementStart = 0;
40
+ for (let index = 0; index < css.length; index++) {
41
+ const code = css.charCodeAt(index);
42
+ if (quote !== 0) {
43
+ if (code === 92) index++;
44
+ else if (code === quote) quote = 0;
45
+ continue;
46
+ }
47
+ if (code === 34 || code === 39) {
48
+ quote = code;
49
+ if (blocks.length > 0) blocks[blocks.length - 1].hasContent = true;
50
+ continue;
51
+ }
52
+ if (code === 92) {
53
+ if (blocks.length > 0) blocks[blocks.length - 1].hasContent = true;
54
+ index++;
55
+ continue;
56
+ }
57
+ if (code === 47 && css.charCodeAt(index + 1) === 42) {
58
+ const commentEnd = css.indexOf("*/", index + 2);
59
+ if (commentEnd < 0) return false;
60
+ index = commentEnd + 1;
61
+ continue;
62
+ }
63
+ if (code === 40) {
64
+ parenthesisDepth++;
65
+ continue;
66
+ }
67
+ if (code === 41 && parenthesisDepth > 0) {
68
+ parenthesisDepth--;
69
+ continue;
70
+ }
71
+ if (code === 91) {
72
+ squareBracketDepth++;
73
+ continue;
74
+ }
75
+ if (code === 93 && squareBracketDepth > 0) {
76
+ squareBracketDepth--;
77
+ continue;
78
+ }
79
+ if (code === 123 && parenthesisDepth === 0 && squareBracketDepth === 0) {
80
+ const preludeStart = findCssPreludeStart(css, statementStart, index);
81
+ const isAtRule = css.charCodeAt(preludeStart) === 64;
82
+ const isKeyframesContainer = isAtRule && isKeyframesAtRule(css, preludeStart, index);
83
+ blocks.push({
84
+ hasContent: false,
85
+ isKeyframesContainer,
86
+ isKeyframeStep: !isAtRule && blocks[blocks.length - 1]?.isKeyframesContainer === true
87
+ });
88
+ statementStart = index + 1;
89
+ continue;
90
+ }
91
+ if (code === 125 && parenthesisDepth === 0 && squareBracketDepth === 0) {
92
+ const block = blocks.pop();
93
+ if (!block) continue;
94
+ if (!block.hasContent && !block.isKeyframeStep) return true;
95
+ if (blocks.length > 0) blocks[blocks.length - 1].hasContent = true;
96
+ statementStart = index + 1;
97
+ continue;
98
+ }
99
+ if (code === 59 && parenthesisDepth === 0 && squareBracketDepth === 0) {
100
+ statementStart = index + 1;
101
+ continue;
102
+ }
103
+ if (!isCssWhitespace(code) && blocks.length > 0) blocks[blocks.length - 1].hasContent = true;
104
+ }
105
+ return false;
106
+ }
107
+ /**
108
+ * 在小程序样式进入最终产物图时递归清理无语义的空 CSS 块。
109
+ */
110
+ function finalizeMiniProgramCssStructure(css) {
111
+ const repaired = (0, _weapp_tailwindcss_postcss.repairTrailingUnclosedTailwindSourceMedia)(css);
112
+ if (!hasEmptyCssBlockCandidate(repaired)) return repaired;
113
+ try {
114
+ const root = _weapp_tailwindcss_postcss.postcss.parse(repaired);
115
+ let removed = 0;
116
+ let passRemoved = 0;
117
+ do {
118
+ passRemoved = (0, _weapp_tailwindcss_postcss.removeEmptyRules)(root) + (0, _weapp_tailwindcss_postcss.removeEmptyAtRules)(root);
119
+ removed += passRemoved;
120
+ } while (passRemoved > 0);
121
+ return removed > 0 ? root.toString() : repaired;
122
+ } catch {
123
+ return repaired;
124
+ }
125
+ }
126
+ //#endregion
127
+ Object.defineProperty(exports, "finalizeMiniProgramCssStructure", {
128
+ enumerable: true,
129
+ get: function() {
130
+ return finalizeMiniProgramCssStructure;
131
+ }
132
+ });
133
+ Object.defineProperty(exports, "hasEmptyCssBlockCandidate", {
134
+ enumerable: true,
135
+ get: function() {
136
+ return hasEmptyCssBlockCandidate;
137
+ }
138
+ });
@@ -1,12 +1,12 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-Ctb5zv51.cjs");
2
2
  const require_generator = require("./generator-DsrQ9txU.cjs");
3
3
  const require_tailwindcss = require("./tailwindcss-C-jBBQfw.cjs");
4
- const require_v4_generation_core = require("./v4-generation-core-DuIVZvRz.cjs");
5
- const require_compiler = require("./compiler-SwMb3lOX.cjs");
4
+ const require_v4_generation_core = require("./v4-generation-core-CRNUU_Rr.cjs");
5
+ const require_compiler = require("./compiler-D2ZJc3uA.cjs");
6
6
  const require_runtime_state = require("./runtime-state-BBQcA0n5.cjs");
7
7
  const require_cache = require("./cache-CBJFB1HN.cjs");
8
- const require_hmr_timing = require("./hmr-timing-3SdRVfZx.cjs");
9
- const require_final_css_cleanup = require("./final-css-cleanup-BMlUDzik.cjs");
8
+ const require_hmr_timing = require("./hmr-timing-Cz4IesEM.cjs");
9
+ const require_final_css_cleanup = require("./final-css-cleanup-DSjczga3.cjs");
10
10
  let node_fs = require("node:fs");
11
11
  node_fs = require_rolldown_runtime.__toESM(node_fs, 1);
12
12
  let node_path = require("node:path");
@@ -2,7 +2,7 @@ import { $ as hasTailwindRootDirectives, It as getTailwindV4IncrementalGenerateC
2
2
  import { f as resolveSourceScanEntries, l as getRuntimeClassSetSignature } from "./tailwindcss-BK9S7zuq.js";
3
3
  import { A as createCssSourceTraceCacheSignature, B as createSourceCandidateCollector, E as hasBundlerGeneratedCssMarker, L as rewriteLocalCssImportRequestsForOutput, N as createRuntimeClassSetManager, O as stripBundlerGeneratedCssMarkers, R as splitLocalCssImports, T as createBundlerGeneratedCssMarker, b as finalizeMiniProgramGeneratorCss, j as createCssTokenSourceMap, k as annotateCssSourceTrace, n as emitHmrTiming, r as generateTailwindV4Css, z as finalizeCompilerShadowRun } from "./hmr-timing-DNxQm-bN.js";
4
4
  import { C as createTailwindRuntimeReadyPromise, K as createDebug, L as createCompilationDependencyChanges, M as invalidateCompilationScope, N as recordCompilationDependencyChanges, O as AssetEmissionPlan, a as beginCompilerShadowRun, c as getCompilerShadowRunSnapshot, f as getCompilerContext, i as disposeCompilerOwner, j as getCompilationScopeDependencyRevision, n as createRuntimeAffectingSourceSignature, p as normalizeStyleHandlerMajorVersion, t as createCompilerRuntimeState, v as shouldSkipJsTransform, w as ensureRuntimeClassSet } from "./compiler-B0YSc0DY.js";
5
- import { i as buildRuntimeCompilationSnapshot, l as updateRuntimeCompilationBuildState, o as createRuntimeCompilationBuildState, r as processCachedTask, s as removeRuntimeCompilationBuildStateFiles, t as finalizeMiniProgramCssStructure } from "./final-css-cleanup-CmVYbXPr.js";
5
+ import { i as buildRuntimeCompilationSnapshot, l as updateRuntimeCompilationBuildState, o as createRuntimeCompilationBuildState, r as processCachedTask, s as removeRuntimeCompilationBuildStateFiles, t as finalizeMiniProgramCssStructure } from "./final-css-cleanup-B0HUBtiE.js";
6
6
  import fs from "node:fs";
7
7
  import path from "node:path";
8
8
  import process from "node:process";
package/dist/gulp.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_gulp = require("./gulp-Dtc01FdI.cjs");
2
+ const require_gulp = require("./gulp-C9ENAx3f.cjs");
3
3
  exports.WeappTailwindcss = require_gulp.createPlugins;
4
4
  exports.createPlugins = require_gulp.createPlugins;
5
5
  exports.weappTailwindcss = require_gulp.createPlugins;
package/dist/gulp.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as createPlugins } from "./gulp-CVUiPXPy.js";
1
+ import { t as createPlugins } from "./gulp-DXeQfvVC.js";
2
2
  export { createPlugins as WeappTailwindcss, createPlugins, createPlugins as weappTailwindcss };
@@ -1,8 +1,8 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-Ctb5zv51.cjs");
2
2
  const require_generator = require("./generator-DsrQ9txU.cjs");
3
3
  const require_tailwindcss = require("./tailwindcss-C-jBBQfw.cjs");
4
- const require_v4_generation_core = require("./v4-generation-core-DuIVZvRz.cjs");
5
- const require_compiler = require("./compiler-SwMb3lOX.cjs");
4
+ const require_v4_generation_core = require("./v4-generation-core-CRNUU_Rr.cjs");
5
+ const require_compiler = require("./compiler-D2ZJc3uA.cjs");
6
6
  let node_process = require("node:process");
7
7
  node_process = require_rolldown_runtime.__toESM(node_process, 1);
8
8
  let _tailwindcss_mangle_engine = require("@tailwindcss-mangle/engine");
package/dist/index.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_framework = require("./framework.cjs");
3
3
  const require_generator = require("./generator-DsrQ9txU.cjs");
4
- const require_gulp = require("./gulp-Dtc01FdI.cjs");
4
+ const require_gulp = require("./gulp-C9ENAx3f.cjs");
5
5
  const require_postcss = require("./postcss.cjs");
6
- const require_vite = require("./vite-CJbO-7AQ.cjs");
7
- const require_webpack = require("./webpack-BWknqSDV.cjs");
6
+ const require_vite = require("./vite-D_mAIfTU.cjs");
7
+ const require_webpack = require("./webpack-Ce04-btG.cjs");
8
8
  require("./webpack.cjs");
9
9
  let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
10
10
  exports.WeappTailwindcss = require_vite.WeappTailwindcss;
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { detectAppType, detectAppTypeFromEnv, detectAppTypeFromPackageJson, isMpxPackage, isRunningInHBuilderX, isTaroPackage, isUniAppPackage, isUniAppVitePackage, isUniAppXManifest, isUniAppXPackage, isWeappVitePackage, resolveImplicitAppTypeFromViteRoot, resolveMpxPlatform, resolvePlatform, resolveTaroPlatform, resolveUniAppXPlatform, resolveUniPlatform, resolveUniPlatformsFromEnv, resolveUniUtsPlatform } from "./framework.js";
2
2
  import { t as createWeappTailwindcssGenerator } from "./generator-DyXTBPmE.js";
3
- import { t as createPlugins } from "./gulp-CVUiPXPy.js";
3
+ import { t as createPlugins } from "./gulp-DXeQfvVC.js";
4
4
  import weappTailwindcssPostcssPlugin from "./postcss.js";
5
- import { t as WeappTailwindcss } from "./vite-0PsttwuR.js";
6
- import { n as weappTailwindcssPackageDir } from "./webpack-DVtKeBq1.js";
5
+ import { t as WeappTailwindcss } from "./vite-BXe-axax.js";
6
+ import { n as weappTailwindcssPackageDir } from "./webpack-7Um2GFtx.js";
7
7
  import "./webpack.js";
8
8
  import { unitConversionComposeRules, unitConversionPresets } from "@weapp-tailwindcss/postcss";
9
9
  export { WeappTailwindcss, createPlugins, createWeappTailwindcssGenerator, detectAppType, detectAppTypeFromEnv, detectAppTypeFromPackageJson, isMpxPackage, isRunningInHBuilderX, isTaroPackage, isUniAppPackage, isUniAppVitePackage, isUniAppXManifest, isUniAppXPackage, isWeappVitePackage, resolveImplicitAppTypeFromViteRoot, resolveMpxPlatform, resolvePlatform, resolveTaroPlatform, resolveUniAppXPlatform, resolveUniPlatform, resolveUniPlatformsFromEnv, resolveUniUtsPlatform, unitConversionComposeRules, unitConversionPresets, weappTailwindcssPackageDir, weappTailwindcssPostcssPlugin };
@@ -1,9 +1,9 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-Ctb5zv51.cjs");
2
2
  const require_generator = require("./generator-DsrQ9txU.cjs");
3
- const require_v4_generation_core = require("./v4-generation-core-DuIVZvRz.cjs");
4
- const require_compiler = require("./compiler-SwMb3lOX.cjs");
3
+ const require_v4_generation_core = require("./v4-generation-core-CRNUU_Rr.cjs");
4
+ const require_compiler = require("./compiler-D2ZJc3uA.cjs");
5
5
  const require_defaults = require("./defaults-BI9j1znS.cjs");
6
- const require_final_css_cleanup = require("./final-css-cleanup-BMlUDzik.cjs");
6
+ const require_final_css_cleanup = require("./final-css-cleanup-DSjczga3.cjs");
7
7
  let node_path = require("node:path");
8
8
  node_path = require_rolldown_runtime.__toESM(node_path, 1);
9
9
  let node_process = require("node:process");
package/dist/rspack.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_rolldown_runtime = require("./rolldown-runtime-Ctb5zv51.cjs");
3
- const require_v4_generation_core = require("./v4-generation-core-DuIVZvRz.cjs");
4
- const require_webpack = require("./webpack-BWknqSDV.cjs");
3
+ const require_v4_generation_core = require("./v4-generation-core-CRNUU_Rr.cjs");
4
+ const require_webpack = require("./webpack-Ce04-btG.cjs");
5
5
  let node_path = require("node:path");
6
6
  node_path = require_rolldown_runtime.__toESM(node_path, 1);
7
7
  //#region src/bundlers/rspack/rule-match.ts
package/dist/rspack.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { C as isSourceStyleRequest } from "./hmr-timing-DNxQm-bN.js";
2
- import { n as weappTailwindcssPackageDir, r as __dirname, t as WeappTailwindcss } from "./webpack-DVtKeBq1.js";
2
+ import { n as weappTailwindcssPackageDir, r as __dirname, t as WeappTailwindcss } from "./webpack-7Um2GFtx.js";
3
3
  import path from "node:path";
4
4
  //#region src/bundlers/rspack/rule-match.ts
5
5
  const STYLE_RULE_PROBES = [
@@ -2,7 +2,7 @@ const require_rolldown_runtime = require("./rolldown-runtime-Ctb5zv51.cjs");
2
2
  const require_framework = require("./framework.cjs");
3
3
  require("./auto-DtU6f3X6.cjs");
4
4
  const require_tailwindcss = require("./tailwindcss-C-jBBQfw.cjs");
5
- const require_v4_generation_core = require("./v4-generation-core-DuIVZvRz.cjs");
5
+ const require_v4_generation_core = require("./v4-generation-core-CRNUU_Rr.cjs");
6
6
  const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-B7cUxqqX.cjs");
7
7
  let node_path = require("node:path");
8
8
  node_path = require_rolldown_runtime.__toESM(node_path, 1);
@@ -1,6 +1,6 @@
1
1
  import { Mt as _defineProperty } from "./generator-DyXTBPmE.js";
2
2
  import { G as replaceWxml, H as analyzeSource, J as traverse$1, U as JsTokenUpdater, V as createAttributeMatcher, W as isClassContextLiteralPath, _ as generateCode, q as babelParse } from "./compiler-B0YSc0DY.js";
3
- import { n as shouldEnableComponentLocalStyle, r as shouldEnablePageLocalStyle } from "./vite-0PsttwuR.js";
3
+ import { n as shouldEnableComponentLocalStyle, r as shouldEnablePageLocalStyle } from "./vite-BXe-axax.js";
4
4
  import { splitCandidateTokens } from "@tailwindcss-mangle/engine";
5
5
  import { UNI_APP_X_IMPORTANT_APPLY_MARKER, normalizeUniAppXImportantApplyForSass } from "@weapp-tailwindcss/postcss";
6
6
  import MagicString from "magic-string";
@@ -1,6 +1,6 @@
1
1
  const require_generator = require("./generator-DsrQ9txU.cjs");
2
- const require_compiler = require("./compiler-SwMb3lOX.cjs");
3
- const require_vite = require("./vite-CJbO-7AQ.cjs");
2
+ const require_compiler = require("./compiler-D2ZJc3uA.cjs");
3
+ const require_vite = require("./vite-D_mAIfTU.cjs");
4
4
  let _tailwindcss_mangle_engine = require("@tailwindcss-mangle/engine");
5
5
  let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
6
6
  let _vue_compiler_dom = require("@vue/compiler-dom");
@@ -0,0 +1,11 @@
1
+ import type { parseVueRequest } from '../../bundlers/vite/query.js';
2
+ type VueStyleQuery = ReturnType<typeof parseVueRequest>['query'];
3
+ export declare function resolveUniAppXStyleSource(code: string, query: VueStyleQuery): {
4
+ code: string;
5
+ skip?: never;
6
+ } | {
7
+ skip: true;
8
+ code?: never;
9
+ };
10
+ export declare function hasUniAppXImportantApply(source: string, normalize: (source: string) => string): boolean;
11
+ export {};
@@ -2,7 +2,7 @@ const require_rolldown_runtime = require("./rolldown-runtime-Ctb5zv51.cjs");
2
2
  const require_generator = require("./generator-DsrQ9txU.cjs");
3
3
  require("./auto-DtU6f3X6.cjs");
4
4
  const require_tailwindcss = require("./tailwindcss-C-jBBQfw.cjs");
5
- const require_compiler = require("./compiler-SwMb3lOX.cjs");
5
+ const require_compiler = require("./compiler-D2ZJc3uA.cjs");
6
6
  let node_fs = require("node:fs");
7
7
  let node_path = require("node:path");
8
8
  node_path = require_rolldown_runtime.__toESM(node_path, 1);
package/dist/vite/web.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_web = require("../web-BFOkkJ-8.cjs");
2
+ const require_web = require("../web-B2Ea9K4B.cjs");
3
3
  //#region src/vite-web.ts
4
4
  /**
5
5
  * 创建面向普通 Vite Web 项目的 Tailwind 插件。
package/dist/vite/web.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as createGenericWebVitePlugins } from "../web-D8HSs56R.js";
1
+ import { t as createGenericWebVitePlugins } from "../web-Cv7ualrU.js";
2
2
  //#region src/vite-web.ts
3
3
  /**
4
4
  * 创建面向普通 Vite Web 项目的 Tailwind 插件。
@@ -4,9 +4,9 @@ import { g as resolveTailwindV4EntriesFromCssCached, i as resolveUniAppXOptions,
4
4
  import "./utils-MVwpU07P.js";
5
5
  import { A as createCssSourceTraceCacheSignature, B as createSourceCandidateCollector, C as isSourceStyleRequest, D as parseBundlerGeneratedCssMarkerBlocks, E as hasBundlerGeneratedCssMarker, H as isSourceCandidateRequest, I as isPureLocalCssImportWrapper, M as isCssSourceTraceEnabled, O as stripBundlerGeneratedCssMarkers, S as isSourcePreprocessorRequest, T as createBundlerGeneratedCssMarker, U as extractCandidatesFromSource, a as extractMarkedUserLayerComponentsCss, d as runWithConcurrency, f as normalizeMiniProgramGeneratorCssSource, i as validateCandidatesByGenerator, j as createCssTokenSourceMap, k as annotateCssSourceTrace, m as scoreTailwindV4CssSourceFileMatch, o as mergeMarkedUserLayerComponentsCss, p as normalizeMiniProgramImportShell, r as generateTailwindV4Css, s as collectGeneratedRawSourceCandidatesFromCss, t as createHmrTimingRecorder, z as finalizeCompilerShadowRun } from "./hmr-timing-DNxQm-bN.js";
6
6
  import { E as normalizeFrameworkStylePlatform, G as replaceWxml, K as createDebug, L as createCompilationDependencyChanges, N as recordCompilationDependencyChanges, O as AssetEmissionPlan, a as beginCompilerShadowRun, b as logTailwindcssTarget, f as getCompilerContext, g as vitePluginName, i as disposeCompilerOwner, n as createRuntimeAffectingSourceSignature, v as shouldSkipJsTransform, x as logRuntimeTailwindcssVersion, y as toCustomAttributesEntities } from "./compiler-B0YSc0DY.js";
7
- import { i as buildRuntimeCompilationSnapshot, l as updateRuntimeCompilationBuildState, n as hasEmptyAtRuleBlockCandidate, o as createRuntimeCompilationBuildState, r as processCachedTask, t as finalizeMiniProgramCssStructure } from "./final-css-cleanup-CmVYbXPr.js";
7
+ import { i as buildRuntimeCompilationSnapshot, l as updateRuntimeCompilationBuildState, n as hasEmptyCssBlockCandidate, o as createRuntimeCompilationBuildState, r as processCachedTask, t as finalizeMiniProgramCssStructure } from "./final-css-cleanup-B0HUBtiE.js";
8
8
  import { a as createJsHashSalt, c as hasRuntimeAffectingSourceChanges, d as resolvePluginDisabledState, f as createBuiltinViteStyleInjectorPlugins, g as resolveViteFrameworkProfile, i as createCandidateSignature, l as summarizeStringDiff, m as viteStyleInjectorDelegates, n as createScopedGeneratorRuntime, o as createLinkedImpactSignature, r as createScopedGeneratorSourceTraceMap, s as getSnapshotHash, t as createScopedGeneratorCandidateSignature, u as classifyRuntimeEntry } from "./scoped-generator-kRj_5Axx.js";
9
- import { $ as isMatchingCssSourceFile, A as createGenericWebProductionSourceCandidatesApply, At as resolveViteCssPipelineOutputFileFromSourceFile, B as parseVueRequest, Bt as createViteCssAssetIdentityResolver, C as collectViteProcessedCssSources, Ct as SOURCE_STYLE_OUTPUT_EXT_RE, D as registerGeneratorDependencies$1, Dt as resolveReplayCssOutputFile, E as inferPlatformFromViteOutDir$1, Et as resolveMiniProgramStyleOutputExtension, F as resolveHotSourceModulesByIds, Ft as normalizePath, G as hasSfcStyleSources, Gt as frameworkViteCapabilityProfile, H as shouldApplyViteWebCssCompat, Ht as getActiveViteSourceOutputRelationOwner, I as resolveHotTailwindCssModules, It as resolveViteCssPipelineRequestFile, J as normalizeSfcSourceFileForCompare, K as hasTailwindGenerationSource, L as sendFullReloadForUnresolvedHotUpdate, Lt as slash, M as hasSelfAcceptingNonStyleHotModule, Mt as formatPostcssSourceMap, N as mergeHotModulesByIdentity, Nt as isCSSRequest, O as shouldGenerateCssByGenerator, Ot as resolveViteCssOutputFile, P as resolveHotSourceModules, Pt as isHTMLRequest, Q as hasMatchingStyleFileBase, R as sendSupplementalCssHotUpdates, Rt as createCssHandlerOptionsCache, S as tryFinalizeGenericWebCss, St as CSS_SOURCE_OUTPUT_EXT_RE, T as finalizeWebCss, Tt as normalizeCssSourceForCompare, U as collectChunkModuleIds$3, Ut as withViteSourceOutputRelationOwner, V as resolveViteWebCssCompatOptions, Vt as createViteSourceOutputRelationOwner, W as extractSfcStyleBlocks, Wt as createGenericWebViteCapabilityProfile, X as resolveSfcStyleSourceFromOutputFile, Y as resolveSfcStyleRequestFromKnownSource, Z as resolveSourceStyleSourceFromOutputFile, _ as summarizeStringCache, _t as resolveViteProcessedCssAssetSource, a as createFrameworkProcessedCssRegistry, at as createCssAssetPipelineContext, b as touchMapEntry, bt as isRootStyleOutputFile, c as createViteHmrCssModuleVersionTracker, ct as hasNonCommentCss, d as createViteCssGenerationPlugins, dt as normalizeInjectableCssForTarget, et as appendCss$1, f as createViteRuntimeClassSet, ft as normalizeInjectableCssForTargetWithImports, g as normalizeVitePersistentCacheKey, gt as removeTailwindEntryDirectivesFromCss, h as isMissingInternalCssSource, ht as removeDuplicateUnlinkedRootCssAssetsReferencedByHtml, i as syncFrameworkSourceCandidatesForHotUpdate, it as collectRootStyleBundleCssSources, j as shouldSkipGenericWebProductionSourceCandidates, jt as cleanUrl$1, k as createGenericWebProductionBundleHooks, kt as resolveViteCssPipelineOutputFile, l as createViteHmrCandidateState, lt as isMatchingGeneratedCssMarkerFile, m as hasVitePipelineTailwindGenerationDirective, mt as readAssetSource$2, n as createFrameworkTailwindRootCss, nt as collectImportedStyleFiles, o as createFrameworkPostPlugin, ot as dedupeViteCssResults, p as createRewriteCssImportsPlugins, pt as normalizeMarkerOutputFile, q as isSfcStyleSourceFile, r as createFrameworkSourceScanSession, rt as collectMatchingGeneratedCssMarkerFiles, s as createViteHmrCssModuleVersionFilterPlugin, st as getAssetFile$1, t as createGenericWebVitePlugins, tt as clearAssetSource, u as createFrameworkCssGenerationQueue, ut as isStyleImportRequest, v as createViteCssMemory, vt as isCssOutputFile, w as createCssHandlerOptions, wt as canProcessViteSourceStyleAsCss, x as createViteWebCssFinalizerOutputPlugin, xt as posix, y as shouldCollectTransformedSourceCandidates, yt as isMiniProgramStyleOutputFile, z as resolveViteModuleIdentity, zt as resolveViteCssHandlerExtraOptions } from "./web-D8HSs56R.js";
9
+ import { $ as isMatchingCssSourceFile, A as createGenericWebProductionSourceCandidatesApply, At as resolveViteCssPipelineOutputFileFromSourceFile, B as parseVueRequest, Bt as createViteCssAssetIdentityResolver, C as collectViteProcessedCssSources, Ct as SOURCE_STYLE_OUTPUT_EXT_RE, D as registerGeneratorDependencies$1, Dt as resolveReplayCssOutputFile, E as inferPlatformFromViteOutDir$1, Et as resolveMiniProgramStyleOutputExtension, F as resolveHotSourceModulesByIds, Ft as normalizePath, G as hasSfcStyleSources, Gt as frameworkViteCapabilityProfile, H as shouldApplyViteWebCssCompat, Ht as getActiveViteSourceOutputRelationOwner, I as resolveHotTailwindCssModules, It as resolveViteCssPipelineRequestFile, J as normalizeSfcSourceFileForCompare, K as hasTailwindGenerationSource, L as sendFullReloadForUnresolvedHotUpdate, Lt as slash, M as hasSelfAcceptingNonStyleHotModule, Mt as formatPostcssSourceMap, N as mergeHotModulesByIdentity, Nt as isCSSRequest, O as shouldGenerateCssByGenerator, Ot as resolveViteCssOutputFile, P as resolveHotSourceModules, Pt as isHTMLRequest, Q as hasMatchingStyleFileBase, R as sendSupplementalCssHotUpdates, Rt as createCssHandlerOptionsCache, S as tryFinalizeGenericWebCss, St as CSS_SOURCE_OUTPUT_EXT_RE, T as finalizeWebCss, Tt as normalizeCssSourceForCompare, U as collectChunkModuleIds$3, Ut as withViteSourceOutputRelationOwner, V as resolveViteWebCssCompatOptions, Vt as createViteSourceOutputRelationOwner, W as extractSfcStyleBlocks, Wt as createGenericWebViteCapabilityProfile, X as resolveSfcStyleSourceFromOutputFile, Y as resolveSfcStyleRequestFromKnownSource, Z as resolveSourceStyleSourceFromOutputFile, _ as summarizeStringCache, _t as resolveViteProcessedCssAssetSource, a as createFrameworkProcessedCssRegistry, at as createCssAssetPipelineContext, b as touchMapEntry, bt as isRootStyleOutputFile, c as createViteHmrCssModuleVersionTracker, ct as hasNonCommentCss, d as createViteCssGenerationPlugins, dt as normalizeInjectableCssForTarget, et as appendCss$1, f as createViteRuntimeClassSet, ft as normalizeInjectableCssForTargetWithImports, g as normalizeVitePersistentCacheKey, gt as removeTailwindEntryDirectivesFromCss, h as isMissingInternalCssSource, ht as removeDuplicateUnlinkedRootCssAssetsReferencedByHtml, i as syncFrameworkSourceCandidatesForHotUpdate, it as collectRootStyleBundleCssSources, j as shouldSkipGenericWebProductionSourceCandidates, jt as cleanUrl$1, k as createGenericWebProductionBundleHooks, kt as resolveViteCssPipelineOutputFile, l as createViteHmrCandidateState, lt as isMatchingGeneratedCssMarkerFile, m as hasVitePipelineTailwindGenerationDirective, mt as readAssetSource$2, n as createFrameworkTailwindRootCss, nt as collectImportedStyleFiles, o as createFrameworkPostPlugin, ot as dedupeViteCssResults, p as createRewriteCssImportsPlugins, pt as normalizeMarkerOutputFile, q as isSfcStyleSourceFile, r as createFrameworkSourceScanSession, rt as collectMatchingGeneratedCssMarkerFiles, s as createViteHmrCssModuleVersionFilterPlugin, st as getAssetFile$1, t as createGenericWebVitePlugins, tt as clearAssetSource, u as createFrameworkCssGenerationQueue, ut as isStyleImportRequest, v as createViteCssMemory, vt as isCssOutputFile, w as createCssHandlerOptions, wt as canProcessViteSourceStyleAsCss, x as createViteWebCssFinalizerOutputPlugin, xt as posix, y as shouldCollectTransformedSourceCandidates, yt as isMiniProgramStyleOutputFile, z as resolveViteModuleIdentity, zt as resolveViteCssHandlerExtraOptions } from "./web-Cv7ualrU.js";
10
10
  import { a as toAbsoluteOutputPath, i as resolveOutputSpecifier, n as resolvePackageDir, r as normalizeOutputPathKey } from "./source-candidate-scan-signature-CsP4BQNa.js";
11
11
  import { t as logger$1 } from "./logger-BNzxZbZj.js";
12
12
  import fs, { existsSync, readFileSync } from "node:fs";
@@ -840,7 +840,7 @@ function restoreCssImportAtRules(source, filtered, file) {
840
840
  return appendCss$1(missingImports.join("\n"), filtered);
841
841
  }
842
842
  function removeCommentOnlyAtRules(css) {
843
- if (!hasEmptyAtRuleBlockCandidate(css)) return css;
843
+ if (!hasEmptyCssBlockCandidate(css)) return css;
844
844
  try {
845
845
  const root = postcss.parse(css);
846
846
  let changed = false;
@@ -4557,6 +4557,20 @@ function resolvePreprocessorTransform(code, id, lang, options) {
4557
4557
  if (!options.isNativeAppStyleTarget) return { result: void 0 };
4558
4558
  }
4559
4559
  //#endregion
4560
+ //#region src/uni-app-x/vite/style-source.ts
4561
+ const VITE_CSS_HMR_MODULE_RE = /\b(?:const\s+__vite__css\s*=|__vite__updateStyle\s*\()/;
4562
+ function resolveUniAppXStyleSource(code, query) {
4563
+ if (!query.vue || query.type !== "style") return { code };
4564
+ if (VITE_CSS_HMR_MODULE_RE.test(code)) return { skip: true };
4565
+ const styleBlocks = extractSfcStyleBlocks(code);
4566
+ if (styleBlocks.length === 0) return { code };
4567
+ const style = styleBlocks[query.index ?? 0];
4568
+ return style ? { code: style.source } : { skip: true };
4569
+ }
4570
+ function hasUniAppXImportantApply(source, normalize) {
4571
+ return extractSfcStyleBlocks(source).some((style) => normalize(style.source) !== style.source);
4572
+ }
4573
+ //#endregion
4560
4574
  //#region src/uni-app-x/vite/web-local-style.ts
4561
4575
  function isStyleModule(mod) {
4562
4576
  const request = mod.id ?? mod.url;
@@ -4632,14 +4646,11 @@ function createUniAppXAssetTask(file, originalSource, outDir, options) {
4632
4646
  //#region src/uni-app-x/vite.ts
4633
4647
  let transformUVuePromise;
4634
4648
  function loadTransformUVue() {
4635
- transformUVuePromise ?? (transformUVuePromise = import("./transform-C0rWZblB.js").then((mod) => mod.transformUVue));
4649
+ transformUVuePromise ?? (transformUVuePromise = import("./transform-CfOzh007.js").then((mod) => mod.transformUVue));
4636
4650
  return transformUVuePromise;
4637
4651
  }
4638
4652
  const UVUE_NVUE_QUERY_RE = /\.(?:uvue|nvue)(?:\?.*)?$/;
4639
4653
  const UVUE_NVUE_RE = /\.(?:uvue|nvue)$/;
4640
- function hasUniAppXImportantApply(source) {
4641
- return extractSfcStyleBlocks(source).some((style) => normalizeUniAppXImportantApplyForSass(style.source) !== style.source);
4642
- }
4643
4654
  function createUniAppXPlugins(options) {
4644
4655
  const { appType, customAttributesEntities, disabledDefaultTemplateHandler, isIosPlatform: providedIosPlatform, mainCssChunkMatcher, registerModuleGraphCandidates, runtimeState, styleHandler, syncSourceCandidatesForHotUpdate, tailwindRootCssModuleIds = [], generateCss, hmrCssModuleVersions, jsHandler, ensureRuntimeClassSet, getResolvedConfig, isEnabled = () => true, isNativeAppStyleTarget = () => false, isWebGeneratorTarget = () => resolveUniUtsPlatform().isWeb, uniAppX, viteProcessedCssSourceFiles = [], webCssEntryDiagnostics } = options;
4645
4656
  const resolvedUniAppXOptions = resolveUniAppXOptions(uniAppX);
@@ -4711,6 +4722,9 @@ function createUniAppXPlugins(options) {
4711
4722
  async function transformStyle(code, id, query, hookContext) {
4712
4723
  const isNativeStyle = isNativeAppBuildTarget(id);
4713
4724
  const parsed = query ?? parseVueRequest(id).query;
4725
+ const resolvedSource = resolveUniAppXStyleSource(code, parsed);
4726
+ if (resolvedSource.skip) return;
4727
+ code = resolvedSource.code;
4714
4728
  if (isCSSRequest(id) || parsed.vue && parsed.type === "style") {
4715
4729
  if (isCssModuleExport(code)) return;
4716
4730
  const sourceCode = normalizeRelativeTailwindReferences(restoreUniAppXImportantApplyMarker(code), id);
@@ -4778,7 +4792,9 @@ function createUniAppXPlugins(options) {
4778
4792
  await runtimeState.readyPromise;
4779
4793
  const { filename, query } = parseVueRequest(id);
4780
4794
  if (query.vue && query.type === "style") await pendingSfcTransforms.get(cleanUrl$1(filename));
4781
- const styleCode = query.vue && query.type === "style" ? webLocalStyle.appendToStyle(code, id) : code;
4795
+ const resolvedSource = resolveUniAppXStyleSource(code, query);
4796
+ if (resolvedSource.skip) return;
4797
+ const styleCode = query.vue && query.type === "style" ? webLocalStyle.appendToStyle(resolvedSource.code, id) : resolvedSource.code;
4782
4798
  const preprocessorCode = query.vue && query.type === "style" ? normalizeUniAppXImportantApplyForSass(styleCode) : styleCode;
4783
4799
  const preprocessor = resolvePreprocessorTransform(preprocessorCode, id, query.lang, {
4784
4800
  isIosPlatform,
@@ -4862,7 +4878,7 @@ function createUniAppXPlugins(options) {
4862
4878
  if (!UVUE_NVUE_RE.test(ctx.file) && !isCSSRequest(ctx.file)) return;
4863
4879
  if (isWebGeneratorTarget() && UVUE_NVUE_RE.test(ctx.file) && typeof ctx.read === "function") {
4864
4880
  const source = await ctx.read();
4865
- if (hasUniAppXImportantApply(source)) {
4881
+ if (hasUniAppXImportantApply(source, normalizeUniAppXImportantApplyForSass)) {
4866
4882
  ctx.server.ws.send({
4867
4883
  type: "full-reload",
4868
4884
  path: ctx.file
@@ -3,13 +3,13 @@ const require_framework = require("./framework.cjs");
3
3
  const require_generator = require("./generator-DsrQ9txU.cjs");
4
4
  const require_tailwindcss = require("./tailwindcss-C-jBBQfw.cjs");
5
5
  require("./utils-CuKLf1Zv.cjs");
6
- const require_v4_generation_core = require("./v4-generation-core-DuIVZvRz.cjs");
7
- const require_compiler = require("./compiler-SwMb3lOX.cjs");
6
+ const require_v4_generation_core = require("./v4-generation-core-CRNUU_Rr.cjs");
7
+ const require_compiler = require("./compiler-D2ZJc3uA.cjs");
8
8
  const require_cache = require("./cache-CBJFB1HN.cjs");
9
- const require_hmr_timing = require("./hmr-timing-3SdRVfZx.cjs");
10
- const require_final_css_cleanup = require("./final-css-cleanup-BMlUDzik.cjs");
11
- const require_scoped_generator = require("./scoped-generator-B7thnzzm.cjs");
12
- const require_web = require("./web-BFOkkJ-8.cjs");
9
+ const require_hmr_timing = require("./hmr-timing-Cz4IesEM.cjs");
10
+ const require_final_css_cleanup = require("./final-css-cleanup-DSjczga3.cjs");
11
+ const require_scoped_generator = require("./scoped-generator-TVjEaOeP.cjs");
12
+ const require_web = require("./web-B2Ea9K4B.cjs");
13
13
  const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-B7cUxqqX.cjs");
14
14
  require("./logger-TlKT3xmR.cjs");
15
15
  let node_fs = require("node:fs");
@@ -847,7 +847,7 @@ function restoreCssImportAtRules(source, filtered, file) {
847
847
  return require_web.appendCss(missingImports.join("\n"), filtered);
848
848
  }
849
849
  function removeCommentOnlyAtRules(css) {
850
- if (!require_final_css_cleanup.hasEmptyAtRuleBlockCandidate(css)) return css;
850
+ if (!require_final_css_cleanup.hasEmptyCssBlockCandidate(css)) return css;
851
851
  try {
852
852
  const root = _weapp_tailwindcss_postcss.postcss.parse(css);
853
853
  let changed = false;
@@ -4564,6 +4564,20 @@ function resolvePreprocessorTransform(code, id, lang, options) {
4564
4564
  if (!options.isNativeAppStyleTarget) return { result: void 0 };
4565
4565
  }
4566
4566
  //#endregion
4567
+ //#region src/uni-app-x/vite/style-source.ts
4568
+ const VITE_CSS_HMR_MODULE_RE = /\b(?:const\s+__vite__css\s*=|__vite__updateStyle\s*\()/;
4569
+ function resolveUniAppXStyleSource(code, query) {
4570
+ if (!query.vue || query.type !== "style") return { code };
4571
+ if (VITE_CSS_HMR_MODULE_RE.test(code)) return { skip: true };
4572
+ const styleBlocks = require_web.extractSfcStyleBlocks(code);
4573
+ if (styleBlocks.length === 0) return { code };
4574
+ const style = styleBlocks[query.index ?? 0];
4575
+ return style ? { code: style.source } : { skip: true };
4576
+ }
4577
+ function hasUniAppXImportantApply(source, normalize) {
4578
+ return require_web.extractSfcStyleBlocks(source).some((style) => normalize(style.source) !== style.source);
4579
+ }
4580
+ //#endregion
4567
4581
  //#region src/uni-app-x/vite/web-local-style.ts
4568
4582
  function isStyleModule(mod) {
4569
4583
  const request = mod.id ?? mod.url;
@@ -4639,14 +4653,11 @@ function createUniAppXAssetTask(file, originalSource, outDir, options) {
4639
4653
  //#region src/uni-app-x/vite.ts
4640
4654
  let transformUVuePromise;
4641
4655
  function loadTransformUVue() {
4642
- transformUVuePromise ?? (transformUVuePromise = Promise.resolve().then(() => require("./transform-C7QxW-fV.cjs")).then((mod) => mod.transformUVue));
4656
+ transformUVuePromise ?? (transformUVuePromise = Promise.resolve().then(() => require("./transform-DUPOPZ54.cjs")).then((mod) => mod.transformUVue));
4643
4657
  return transformUVuePromise;
4644
4658
  }
4645
4659
  const UVUE_NVUE_QUERY_RE = /\.(?:uvue|nvue)(?:\?.*)?$/;
4646
4660
  const UVUE_NVUE_RE = /\.(?:uvue|nvue)$/;
4647
- function hasUniAppXImportantApply(source) {
4648
- return require_web.extractSfcStyleBlocks(source).some((style) => (0, _weapp_tailwindcss_postcss.normalizeUniAppXImportantApplyForSass)(style.source) !== style.source);
4649
- }
4650
4661
  function createUniAppXPlugins(options) {
4651
4662
  const { appType, customAttributesEntities, disabledDefaultTemplateHandler, isIosPlatform: providedIosPlatform, mainCssChunkMatcher, registerModuleGraphCandidates, runtimeState, styleHandler, syncSourceCandidatesForHotUpdate, tailwindRootCssModuleIds = [], generateCss, hmrCssModuleVersions, jsHandler, ensureRuntimeClassSet, getResolvedConfig, isEnabled = () => true, isNativeAppStyleTarget = () => false, isWebGeneratorTarget = () => require_generator.resolveUniUtsPlatform().isWeb, uniAppX, viteProcessedCssSourceFiles = [], webCssEntryDiagnostics } = options;
4652
4663
  const resolvedUniAppXOptions = require_tailwindcss.resolveUniAppXOptions(uniAppX);
@@ -4718,6 +4729,9 @@ function createUniAppXPlugins(options) {
4718
4729
  async function transformStyle(code, id, query, hookContext) {
4719
4730
  const isNativeStyle = isNativeAppBuildTarget(id);
4720
4731
  const parsed = query ?? require_web.parseVueRequest(id).query;
4732
+ const resolvedSource = resolveUniAppXStyleSource(code, parsed);
4733
+ if (resolvedSource.skip) return;
4734
+ code = resolvedSource.code;
4721
4735
  if (require_web.isCSSRequest(id) || parsed.vue && parsed.type === "style") {
4722
4736
  if (isCssModuleExport(code)) return;
4723
4737
  const sourceCode = normalizeRelativeTailwindReferences((0, _weapp_tailwindcss_postcss.restoreUniAppXImportantApplyMarker)(code), id);
@@ -4785,7 +4799,9 @@ function createUniAppXPlugins(options) {
4785
4799
  await runtimeState.readyPromise;
4786
4800
  const { filename, query } = require_web.parseVueRequest(id);
4787
4801
  if (query.vue && query.type === "style") await pendingSfcTransforms.get((0, _weapp_tailwindcss_shared.cleanUrl)(filename));
4788
- const styleCode = query.vue && query.type === "style" ? webLocalStyle.appendToStyle(code, id) : code;
4802
+ const resolvedSource = resolveUniAppXStyleSource(code, query);
4803
+ if (resolvedSource.skip) return;
4804
+ const styleCode = query.vue && query.type === "style" ? webLocalStyle.appendToStyle(resolvedSource.code, id) : resolvedSource.code;
4789
4805
  const preprocessorCode = query.vue && query.type === "style" ? (0, _weapp_tailwindcss_postcss.normalizeUniAppXImportantApplyForSass)(styleCode) : styleCode;
4790
4806
  const preprocessor = resolvePreprocessorTransform(preprocessorCode, id, query.lang, {
4791
4807
  isIosPlatform,
@@ -4869,7 +4885,7 @@ function createUniAppXPlugins(options) {
4869
4885
  if (!UVUE_NVUE_RE.test(ctx.file) && !require_web.isCSSRequest(ctx.file)) return;
4870
4886
  if (isWebGeneratorTarget() && UVUE_NVUE_RE.test(ctx.file) && typeof ctx.read === "function") {
4871
4887
  const source = await ctx.read();
4872
- if (hasUniAppXImportantApply(source)) {
4888
+ if (hasUniAppXImportantApply(source, _weapp_tailwindcss_postcss.normalizeUniAppXImportantApplyForSass)) {
4873
4889
  ctx.server.ws.send({
4874
4890
  type: "full-reload",
4875
4891
  path: ctx.file
package/dist/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_vite = require("./vite-CJbO-7AQ.cjs");
2
+ const require_vite = require("./vite-D_mAIfTU.cjs");
3
3
  exports.WeappTailwindcss = require_vite.WeappTailwindcss;
4
4
  exports.weappTailwindcss = require_vite.WeappTailwindcss;
package/dist/vite.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as WeappTailwindcss } from "./vite-0PsttwuR.js";
1
+ import { t as WeappTailwindcss } from "./vite-BXe-axax.js";
2
2
  export { WeappTailwindcss, WeappTailwindcss as weappTailwindcss };
@@ -5,10 +5,10 @@ Object.defineProperties(exports, {
5
5
  const require_rolldown_runtime = require("./rolldown-runtime-Ctb5zv51.cjs");
6
6
  const require_generator = require("./generator-DsrQ9txU.cjs");
7
7
  const require_tailwindcss = require("./tailwindcss-C-jBBQfw.cjs");
8
- const require_v4_generation_core = require("./v4-generation-core-DuIVZvRz.cjs");
9
- const require_compiler = require("./compiler-SwMb3lOX.cjs");
8
+ const require_v4_generation_core = require("./v4-generation-core-CRNUU_Rr.cjs");
9
+ const require_compiler = require("./compiler-D2ZJc3uA.cjs");
10
10
  const require_css_imports = require("./css-imports-BFMU7Hpd.cjs");
11
- const require_pipeline_helpers = require("./pipeline-helpers-DVrgv1HS.cjs");
11
+ const require_pipeline_helpers = require("./pipeline-helpers-CSGnR5gh.cjs");
12
12
  const require_runtime_registry = require("./runtime-registry-BlIjpImP.cjs");
13
13
  const require_watch_dependencies = require("./watch-dependencies-DLZDrWdH.cjs");
14
14
  let node_path = require("node:path");
@@ -2,10 +2,10 @@ const require_rolldown_runtime = require("./rolldown-runtime-Ctb5zv51.cjs");
2
2
  const require_framework = require("./framework.cjs");
3
3
  const require_generator = require("./generator-DsrQ9txU.cjs");
4
4
  const require_tailwindcss = require("./tailwindcss-C-jBBQfw.cjs");
5
- const require_v4_generation_core = require("./v4-generation-core-DuIVZvRz.cjs");
6
- const require_compiler = require("./compiler-SwMb3lOX.cjs");
5
+ const require_v4_generation_core = require("./v4-generation-core-CRNUU_Rr.cjs");
6
+ const require_compiler = require("./compiler-D2ZJc3uA.cjs");
7
7
  const require_runtime_state = require("./runtime-state-BBQcA0n5.cjs");
8
- const require_hmr_timing = require("./hmr-timing-3SdRVfZx.cjs");
8
+ const require_hmr_timing = require("./hmr-timing-Cz4IesEM.cjs");
9
9
  const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-B7cUxqqX.cjs");
10
10
  const require_css_imports = require("./css-imports-BFMU7Hpd.cjs");
11
11
  let node_fs = require("node:fs");
@@ -3716,6 +3716,10 @@ function createFrameworkSourceCandidatesPluginForCssOnly(options) {
3716
3716
  options.invalidateRecordedGeneratorCandidates();
3717
3717
  await options.sourceScanSession.syncChangedFile(ctx.file, await ctx.read?.());
3718
3718
  await options.sourceScanSession.waitForPendingSyncs();
3719
+ await options.refreshRuntimeStateForAutoCssSources(true);
3720
+ const root = ctx.server.config?.root ?? node_process.default.cwd();
3721
+ const cssModules = await resolveHotTailwindCssModules(ctx, options.tailwindRootCssModuleIds, (modules) => options.hmrCssModuleVersions.filterModules(modules, ctx.timestamp, root));
3722
+ return cssModules.length > 0 ? mergeHotModulesByIdentity(root, ctx.modules, cssModules) : void 0;
3719
3723
  }
3720
3724
  };
3721
3725
  }
@@ -3738,6 +3738,10 @@ function createFrameworkSourceCandidatesPluginForCssOnly(options) {
3738
3738
  options.invalidateRecordedGeneratorCandidates();
3739
3739
  await options.sourceScanSession.syncChangedFile(ctx.file, await ctx.read?.());
3740
3740
  await options.sourceScanSession.waitForPendingSyncs();
3741
+ await options.refreshRuntimeStateForAutoCssSources(true);
3742
+ const root = ctx.server.config?.root ?? process$1.cwd();
3743
+ const cssModules = await resolveHotTailwindCssModules(ctx, options.tailwindRootCssModuleIds, (modules) => options.hmrCssModuleVersions.filterModules(modules, ctx.timestamp, root));
3744
+ return cssModules.length > 0 ? mergeHotModulesByIdentity(root, ctx.modules, cssModules) : void 0;
3741
3745
  }
3742
3746
  };
3743
3747
  }
@@ -4,7 +4,7 @@ import { r as getGroupedEntries } from "./utils-MVwpU07P.js";
4
4
  import { A as createCssSourceTraceCacheSignature, C as isSourceStyleRequest, E as hasBundlerGeneratedCssMarker, F as createEscapeFragments, G as resolveSourceCandidateScanFiles, H as isSourceCandidateRequest, I as isPureLocalCssImportWrapper, M as isCssSourceTraceEnabled, N as createRuntimeClassSetManager, O as stripBundlerGeneratedCssMarkers, P as collectStrictEscapedRuntimeCandidates, V as createSourceCandidateStore, _ as captureResolvedFrameworkPostcssOptions, c as collectRawSourceClassSelectors, h as removeGeneratedSelectorCompatCss, j as createCssTokenSourceMap, k as annotateCssSourceTrace, l as pushConcurrentTaskFactories, m as scoreTailwindV4CssSourceFileMatch, n as emitHmrTiming, r as generateTailwindV4Css, u as resolveTaskConcurrency, v as collectFrameworkPostcssOptionsFromLoaderEntries, w as stripRequestQuery, x as hasMiniProgramTailwindV4PreflightReset, y as createCssSourceOrderAppend, z as finalizeCompilerShadowRun } from "./hmr-timing-DNxQm-bN.js";
5
5
  import { C as createTailwindRuntimeReadyPromise, K as createDebug, L as createCompilationDependencyChanges, N as recordCompilationDependencyChanges, O as AssetEmissionPlan, T as refreshTailwindRuntimeState, Y as md5Hash, a as beginCompilerShadowRun, f as getCompilerContext, h as pluginName, i as disposeCompilerOwner, j as getCompilationScopeDependencyRevision, m as resolveStyleOptionsFromContext, n as createRuntimeAffectingSourceSignature, p as normalizeStyleHandlerMajorVersion, t as createCompilerRuntimeState, v as shouldSkipJsTransform, w as ensureRuntimeClassSet } from "./compiler-B0YSc0DY.js";
6
6
  import { n as getDefaultCssPreflight } from "./defaults-B5ep0ojb.js";
7
- import { a as createRuntimeCompilationAffectingSignature, c as resetRuntimeCompilationBuildState, i as buildRuntimeCompilationSnapshot, l as updateRuntimeCompilationBuildState, o as createRuntimeCompilationBuildState, r as processCachedTask, t as finalizeMiniProgramCssStructure } from "./final-css-cleanup-CmVYbXPr.js";
7
+ import { a as createRuntimeCompilationAffectingSignature, c as resetRuntimeCompilationBuildState, i as buildRuntimeCompilationSnapshot, l as updateRuntimeCompilationBuildState, o as createRuntimeCompilationBuildState, r as processCachedTask, t as finalizeMiniProgramCssStructure } from "./final-css-cleanup-B0HUBtiE.js";
8
8
  import { _ as resolveWebpackFrameworkProfile, d as resolvePluginDisabledState, h as webpackStyleInjectorDelegates, i as createCandidateSignature, n as createScopedGeneratorRuntime, p as createBuiltinWebpackStyleInjectorPlugin, u as classifyRuntimeEntry } from "./scoped-generator-kRj_5Axx.js";
9
9
  import { a as toAbsoluteOutputPath, i as resolveOutputSpecifier, n as resolvePackageDir, t as createSourceCandidateScanSignature } from "./source-candidate-scan-signature-CsP4BQNa.js";
10
10
  import Module, { createRequire } from "node:module";
@@ -2,14 +2,14 @@ const require_rolldown_runtime = require("./rolldown-runtime-Ctb5zv51.cjs");
2
2
  const require_generator = require("./generator-DsrQ9txU.cjs");
3
3
  const require_tailwindcss = require("./tailwindcss-C-jBBQfw.cjs");
4
4
  const require_utils = require("./utils-CuKLf1Zv.cjs");
5
- const require_v4_generation_core = require("./v4-generation-core-DuIVZvRz.cjs");
6
- const require_compiler = require("./compiler-SwMb3lOX.cjs");
5
+ const require_v4_generation_core = require("./v4-generation-core-CRNUU_Rr.cjs");
6
+ const require_compiler = require("./compiler-D2ZJc3uA.cjs");
7
7
  const require_runtime_state = require("./runtime-state-BBQcA0n5.cjs");
8
8
  const require_cache = require("./cache-CBJFB1HN.cjs");
9
- const require_hmr_timing = require("./hmr-timing-3SdRVfZx.cjs");
10
- const require_scoped_generator = require("./scoped-generator-B7thnzzm.cjs");
9
+ const require_hmr_timing = require("./hmr-timing-Cz4IesEM.cjs");
10
+ const require_scoped_generator = require("./scoped-generator-TVjEaOeP.cjs");
11
11
  const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-B7cUxqqX.cjs");
12
- const require_pipeline_helpers = require("./pipeline-helpers-DVrgv1HS.cjs");
12
+ const require_pipeline_helpers = require("./pipeline-helpers-CSGnR5gh.cjs");
13
13
  const require_css_loader_runtime = require("./css-loader-runtime-CSv0lKqV.cjs");
14
14
  const require_runtime_registry = require("./runtime-registry-BlIjpImP.cjs");
15
15
  let node_fs = require("node:fs");
package/dist/webpack.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_webpack = require("./webpack-BWknqSDV.cjs");
2
+ const require_webpack = require("./webpack-Ce04-btG.cjs");
3
3
  exports.WeappTailwindcss = require_webpack.WeappTailwindcss;
4
4
  exports.weappTailwindcss = require_webpack.WeappTailwindcss;
5
5
  exports.weappTailwindcssPackageDir = require_webpack.weappTailwindcssPackageDir;
package/dist/webpack.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as weappTailwindcssPackageDir, t as WeappTailwindcss } from "./webpack-DVtKeBq1.js";
1
+ import { n as weappTailwindcssPackageDir, t as WeappTailwindcss } from "./webpack-7Um2GFtx.js";
2
2
  export { WeappTailwindcss, WeappTailwindcss as weappTailwindcss, weappTailwindcssPackageDir };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weapp-tailwindcss",
3
3
  "type": "module",
4
- "version": "5.5.0",
4
+ "version": "5.5.1",
5
5
  "description": "Bring Tailwind CSS to every platform! 把 Tailwind CSS 的原子化开发体验带到全端!",
6
6
  "author": "ice breaker <1324318532@qq.com>",
7
7
  "license": "MIT",
@@ -208,7 +208,7 @@
208
208
  "@vue/compiler-dom": "^3.5.41",
209
209
  "@weapp-core/escape": "~8.0.0",
210
210
  "@weapp-tailwindcss/logger": "2.0.3",
211
- "@weapp-tailwindcss/postcss": "3.3.1",
211
+ "@weapp-tailwindcss/postcss": "3.3.2",
212
212
  "@weapp-tailwindcss/reset": "0.1.4",
213
213
  "@weapp-tailwindcss/shared": "2.0.3",
214
214
  "comment-json": "^5.0.0",
@@ -220,7 +220,7 @@
220
220
  "lru-cache": "11.5.2",
221
221
  "magic-string": "^1.2.3",
222
222
  "micromatch": "^4.0.8",
223
- "oxc-parser": "^0.147.0",
223
+ "oxc-parser": "^0.148.0",
224
224
  "oxc-walker": "^1.1.1",
225
225
  "semver": "~7.8.5",
226
226
  "tailwindcss-config": "2.0.4",
@@ -1,112 +0,0 @@
1
- let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
2
- //#region src/bundlers/shared/final-css-cleanup.ts
3
- function isAtRuleNameCharacter(code) {
4
- return code === 45 || code >= 65 && code <= 90 || code >= 97 && code <= 122;
5
- }
6
- function isCssWhitespace(code) {
7
- return code === 9 || code === 10 || code === 12 || code === 13 || code === 32;
8
- }
9
- function findAtRuleBlockStart(css, start) {
10
- let parenthesisDepth = 0;
11
- let quote = 0;
12
- let squareBracketDepth = 0;
13
- for (let index = start; index < css.length; index++) {
14
- const code = css.charCodeAt(index);
15
- if (quote !== 0) {
16
- if (code === 92) index++;
17
- else if (code === quote) quote = 0;
18
- continue;
19
- }
20
- if (code === 34 || code === 39) {
21
- quote = code;
22
- continue;
23
- }
24
- if (code === 92) {
25
- index++;
26
- continue;
27
- }
28
- if (code === 47 && css.charCodeAt(index + 1) === 42) {
29
- const commentEnd = css.indexOf("*/", index + 2);
30
- if (commentEnd < 0) return -1;
31
- index = commentEnd + 1;
32
- continue;
33
- }
34
- if (code === 40) {
35
- parenthesisDepth++;
36
- continue;
37
- }
38
- if (code === 41 && parenthesisDepth > 0) {
39
- parenthesisDepth--;
40
- continue;
41
- }
42
- if (code === 91) {
43
- squareBracketDepth++;
44
- continue;
45
- }
46
- if (code === 93 && squareBracketDepth > 0) {
47
- squareBracketDepth--;
48
- continue;
49
- }
50
- if (code === 123 && parenthesisDepth === 0 && squareBracketDepth === 0) return index;
51
- if ((code === 59 || code === 125) && parenthesisDepth === 0 && squareBracketDepth === 0) return -1;
52
- }
53
- return -1;
54
- }
55
- function isEmptyAtRuleBody(css, blockStart) {
56
- for (let index = blockStart + 1; index < css.length; index++) {
57
- const code = css.charCodeAt(index);
58
- if (isCssWhitespace(code)) continue;
59
- if (code === 47 && css.charCodeAt(index + 1) === 42) {
60
- const commentEnd = css.indexOf("*/", index + 2);
61
- if (commentEnd < 0) return false;
62
- index = commentEnd + 1;
63
- continue;
64
- }
65
- return code === 125;
66
- }
67
- return false;
68
- }
69
- function hasEmptyAtRuleBlockCandidate(css) {
70
- let searchFrom = 0;
71
- while (searchFrom < css.length) {
72
- const atRuleStart = css.indexOf("@", searchFrom);
73
- if (atRuleStart < 0) return false;
74
- searchFrom = atRuleStart + 1;
75
- if (!isAtRuleNameCharacter(css.charCodeAt(searchFrom))) continue;
76
- const blockStart = findAtRuleBlockStart(css, searchFrom + 1);
77
- if (blockStart >= 0 && isEmptyAtRuleBody(css, blockStart)) return true;
78
- }
79
- return false;
80
- }
81
- /**
82
- * 在小程序样式进入最终产物图时递归清理空的块级 at-rule。
83
- */
84
- function finalizeMiniProgramCssStructure(css) {
85
- const repaired = (0, _weapp_tailwindcss_postcss.repairTrailingUnclosedTailwindSourceMedia)(css);
86
- if (!hasEmptyAtRuleBlockCandidate(repaired)) return repaired;
87
- try {
88
- const root = _weapp_tailwindcss_postcss.postcss.parse(repaired);
89
- let removed = 0;
90
- let passRemoved = 0;
91
- do {
92
- passRemoved = (0, _weapp_tailwindcss_postcss.removeEmptyAtRules)(root);
93
- removed += passRemoved;
94
- } while (passRemoved > 0);
95
- return removed > 0 ? root.toString() : repaired;
96
- } catch {
97
- return repaired;
98
- }
99
- }
100
- //#endregion
101
- Object.defineProperty(exports, "finalizeMiniProgramCssStructure", {
102
- enumerable: true,
103
- get: function() {
104
- return finalizeMiniProgramCssStructure;
105
- }
106
- });
107
- Object.defineProperty(exports, "hasEmptyAtRuleBlockCandidate", {
108
- enumerable: true,
109
- get: function() {
110
- return hasEmptyAtRuleBlockCandidate;
111
- }
112
- });