weapp-tailwindcss 5.1.3 → 5.1.4

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 (50) hide show
  1. package/dist/auto-CrJJc5rK.mjs +13 -0
  2. package/dist/bundlers/shared/generator-css/local-imports.d.ts +1 -10
  3. package/dist/bundlers/vite/generate-bundle/css-handler-options.d.ts +1 -0
  4. package/dist/bundlers/vite/generate-bundle/temporary-css-assets.d.ts +1 -1
  5. package/dist/bundlers/vite/processed-css-assets.d.ts +1 -0
  6. package/dist/{context-B07Vf584.mjs → context-Bkpmt3ja.mjs} +31 -5
  7. package/dist/{context-D75pwtBW.js → context-DCVMkTRj.js} +36 -4
  8. package/dist/core.js +1 -1
  9. package/dist/core.mjs +1 -1
  10. package/dist/css-macro/auto.d.ts +1 -1
  11. package/dist/css-macro.mjs +1 -1
  12. package/dist/framework/platform.d.ts +2 -0
  13. package/dist/{generator-DNs6ekoC.mjs → generator-24-HgU9F.mjs} +5 -3
  14. package/dist/{generator-CV_0irKO.js → generator-CilgHtxb.js} +5 -3
  15. package/dist/generator.js +2 -2
  16. package/dist/generator.mjs +2 -2
  17. package/dist/{gulp-aQMZ0M7c.mjs → gulp-0RsqkF_d.mjs} +4 -4
  18. package/dist/{gulp-B_u8NjQL.js → gulp-Bogfnoki.js} +7 -6
  19. package/dist/gulp.js +1 -1
  20. package/dist/gulp.mjs +1 -1
  21. package/dist/{hmr-timing-DLYQTCDb.mjs → hmr-timing-BRNaz8Od.mjs} +41 -148
  22. package/dist/{hmr-timing-DOoHun3i.js → hmr-timing-BV6nFPoT.js} +41 -166
  23. package/dist/index.js +4 -4
  24. package/dist/index.mjs +4 -4
  25. package/dist/postcss.js +2 -2
  26. package/dist/postcss.mjs +2 -2
  27. package/dist/presets.js +2 -2
  28. package/dist/presets.mjs +2 -2
  29. package/dist/rspack.js +1 -1
  30. package/dist/rspack.mjs +1 -1
  31. package/dist/{source-candidate-scan-signature-pS87mdHZ.mjs → source-candidate-scan-signature-BB1hvW68.mjs} +12 -6
  32. package/dist/{source-candidate-scan-signature-DzwebZrf.js → source-candidate-scan-signature-CaDT0gkj.js} +13 -6
  33. package/dist/tailwindcss/v4-engine/css-macro-source.d.ts +2 -0
  34. package/dist/{tailwindcss-BwV3_Ryc.mjs → tailwindcss-D0JF0fuZ.mjs} +4 -4
  35. package/dist/{tailwindcss-BSCvrs1p.js → tailwindcss-D2xs4OEu.js} +4 -4
  36. package/dist/{transform-Clj7R818.mjs → transform-BP86eSZp.mjs} +1 -1
  37. package/dist/{transform-fin-OTVD.js → transform-CXCQ28Tc.js} +1 -1
  38. package/dist/{v4-engine-BklH3CpJ.mjs → v4-engine-BuuYDXt1.mjs} +54 -114
  39. package/dist/{v4-engine-CKbS27-o.js → v4-engine-CKtsdKxK.js} +57 -111
  40. package/dist/{vite-5Wn0PIzJ.mjs → vite-B1SlBmqO.mjs} +212 -44
  41. package/dist/{vite-CkVMSDDp.js → vite-BYgT1ir9.js} +214 -46
  42. package/dist/vite.js +1 -1
  43. package/dist/vite.mjs +1 -1
  44. package/dist/weapp-tw-css-import-rewrite-loader.js +89 -191
  45. package/dist/{webpack-DEag6ueE.mjs → webpack-Bg6pefpb.mjs} +49 -6
  46. package/dist/{webpack-hvSFaicc.js → webpack-khSwkXP5.js} +50 -7
  47. package/dist/webpack.js +1 -1
  48. package/dist/webpack.mjs +1 -1
  49. package/package.json +3 -3
  50. package/dist/auto-Ba6hDrse.mjs +0 -13
@@ -1,8 +1,8 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.js");
2
- const require_v4_engine = require("./v4-engine-CKbS27-o.js");
3
- const require_generator = require("./generator-CV_0irKO.js");
4
- const require_context = require("./context-D75pwtBW.js");
5
- const require_tailwindcss = require("./tailwindcss-BSCvrs1p.js");
2
+ const require_v4_engine = require("./v4-engine-CKtsdKxK.js");
3
+ const require_generator = require("./generator-CilgHtxb.js");
4
+ const require_context = require("./context-DCVMkTRj.js");
5
+ const require_tailwindcss = require("./tailwindcss-D2xs4OEu.js");
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);
@@ -162,8 +162,10 @@ function hasMiniProgramTailwindV4PreflightReset(css) {
162
162
  }
163
163
  function finalizeMiniProgramGeneratorCss(css, target, _majorVersion, cssPreflight, options = {}) {
164
164
  if (target !== "weapp") return css;
165
+ const injectPreflight = options.injectPreflight !== false && !hasMiniProgramTailwindV4PreflightReset(css);
165
166
  return (0, _weapp_tailwindcss_postcss.finalizeMiniProgramCss)(css, {
166
- cssPreflight: options.injectPreflight !== false && !hasMiniProgramTailwindV4PreflightReset(css) ? cssPreflight : void 0,
167
+ cssPreflight: cssPreflight === false ? false : injectPreflight ? cssPreflight : void 0,
168
+ cssSelectorReplacement: options.styleOptions?.cssOptions?.cssSelectorReplacement ?? options.styleOptions?.cssSelectorReplacement,
167
169
  isTailwindcssV4: true,
168
170
  tailwindcssV4GradientFallback: options.styleOptions?.cssOptions?.tailwindcssV4GradientFallback ?? options.styleOptions?.tailwindcssV4GradientFallback
169
171
  });
@@ -2003,133 +2005,6 @@ function inheritLegacyUnitConvertedDeclarations(css, legacyCss) {
2003
2005
  }
2004
2006
  }
2005
2007
  //#endregion
2006
- //#region src/bundlers/shared/generator-css/local-imports.ts
2007
- const REMOTE_IMPORT_RE = /^(?:https?:)?\/\//i;
2008
- const CSS_STYLE_EXTENSION_RE = /\.(?:css|wxss|acss|ttss|qss|jxss|tyss|scss|sass|less|styl|stylus|pcss|postcss)(?:$|[?#])/i;
2009
- const SOURCE_STYLE_EXTENSION_RE = /\.(?:css|scss|sass|less|styl|stylus|pcss|postcss)(?:$|[?#])/i;
2010
- function createCssSourceOrderAppend(base, extra) {
2011
- if (!base) return extra;
2012
- if (!extra) return base;
2013
- if (/\s$/.test(base) || /^\s/.test(extra)) return `${base}${extra}`;
2014
- return `${base}\n${extra}`;
2015
- }
2016
- function isLocalImportRequest(request) {
2017
- return request.length > 0 && !request.startsWith("#") && !request.startsWith("tailwindcss") && !request.startsWith("weapp-tailwindcss") && !request.startsWith("data:") && !REMOTE_IMPORT_RE.test(request);
2018
- }
2019
- function isPureLocalCssImportWrapper(css) {
2020
- let hasImport = false;
2021
- try {
2022
- const root = _weapp_tailwindcss_postcss.postcss.parse(css);
2023
- for (const node of root.nodes) {
2024
- if (node.type === "comment") continue;
2025
- if (node.type !== "atrule" || node.name !== "import") return false;
2026
- const request = require_v4_engine.parseImportRequest(node.params);
2027
- if (!request || !isLocalImportRequest(request)) return false;
2028
- hasImport = true;
2029
- }
2030
- } catch {
2031
- return false;
2032
- }
2033
- return hasImport;
2034
- }
2035
- function cleanLocalCssImportWrapperTailwindDirectives(css) {
2036
- let hasLocalImport = false;
2037
- let hasTailwindDirective = false;
2038
- try {
2039
- const root = _weapp_tailwindcss_postcss.postcss.parse(css);
2040
- for (const node of root.nodes) {
2041
- if (node.type === "comment") continue;
2042
- if (node.type === "atrule" && node.name === "import") {
2043
- const request = require_v4_engine.parseImportRequest(node.params);
2044
- if (!request || !isLocalImportRequest(request)) return;
2045
- hasLocalImport = true;
2046
- continue;
2047
- }
2048
- if (node.type === "atrule" && node.name === "source") {
2049
- hasTailwindDirective = true;
2050
- continue;
2051
- }
2052
- return;
2053
- }
2054
- } catch {
2055
- return;
2056
- }
2057
- return hasLocalImport && hasTailwindDirective ? prefixLocalCssImportsWithWebpackIgnore(require_v4_engine.removeTailwindSourceDirectives(css)) : void 0;
2058
- }
2059
- function prefixLocalCssImportsWithWebpackIgnore(css) {
2060
- try {
2061
- const root = _weapp_tailwindcss_postcss.postcss.parse(css);
2062
- root.walkAtRules("import", (atRule) => {
2063
- const request = require_v4_engine.parseImportRequest(atRule.params);
2064
- if (request && isLocalImportRequest(request)) atRule.raws.before = `${atRule.raws.before ?? ""}/* webpackIgnore: true */\n`;
2065
- });
2066
- return root.toString();
2067
- } catch {
2068
- return css;
2069
- }
2070
- }
2071
- function splitLocalCssImports(source) {
2072
- try {
2073
- const root = _weapp_tailwindcss_postcss.postcss.parse(source);
2074
- const importRoot = _weapp_tailwindcss_postcss.postcss.root();
2075
- let changed = false;
2076
- for (const node of [...root.nodes]) {
2077
- if (node.type !== "atrule" || node.name !== "import") continue;
2078
- const request = require_v4_engine.parseImportRequest(node.params);
2079
- if (!request || !isLocalImportRequest(request)) continue;
2080
- importRoot.append(node.clone());
2081
- node.remove();
2082
- changed = true;
2083
- }
2084
- const imports = importRoot.nodes.filter((node) => node.type === "atrule" && node.name === "import").map((node) => `@import ${node.params};`).join("\n");
2085
- return changed ? {
2086
- imports,
2087
- source: root.toString()
2088
- } : void 0;
2089
- } catch {
2090
- return;
2091
- }
2092
- }
2093
- function restoreLocalCssImports(css, imports) {
2094
- if (!imports?.trim()) return css;
2095
- return createCssSourceOrderAppend(imports, css);
2096
- }
2097
- function splitRequestSuffix(request) {
2098
- const suffixIndexCandidates = [request.indexOf("?"), request.indexOf("#")].filter((index) => index >= 0);
2099
- const suffixIndex = suffixIndexCandidates.length > 0 ? Math.min(...suffixIndexCandidates) : -1;
2100
- if (suffixIndex < 0) return {
2101
- clean: request,
2102
- suffix: ""
2103
- };
2104
- return {
2105
- clean: request.slice(0, suffixIndex),
2106
- suffix: request.slice(suffixIndex)
2107
- };
2108
- }
2109
- function normalizeOutputImportRequest(request, styleOutputExtension) {
2110
- const normalizedStyleOutputExtension = styleOutputExtension?.startsWith(".") ? styleOutputExtension : styleOutputExtension ? `.${styleOutputExtension}` : void 0;
2111
- const { clean, suffix } = splitRequestSuffix(request.replace(/\\/g, "/"));
2112
- return `${clean.replace(/^(?:\.\/)?src\//, "./").replace(SOURCE_STYLE_EXTENSION_RE, normalizedStyleOutputExtension ?? ".css")}${suffix}`;
2113
- }
2114
- function rewriteLocalCssImportRequestsForOutput(css, options = {}) {
2115
- if (!css.includes("@import")) return css;
2116
- try {
2117
- const root = _weapp_tailwindcss_postcss.postcss.parse(css);
2118
- let changed = false;
2119
- root.walkAtRules("import", (atRule) => {
2120
- const request = require_v4_engine.parseImportRequest(atRule.params);
2121
- if (!request || !isLocalImportRequest(request) || !CSS_STYLE_EXTENSION_RE.test(request)) return;
2122
- const rewritten = normalizeOutputImportRequest(request, options.styleOutputExtension);
2123
- if (rewritten === request) return;
2124
- atRule.params = atRule.params.replace(request, rewritten);
2125
- changed = true;
2126
- });
2127
- return changed ? root.toString() : css;
2128
- } catch {
2129
- return css;
2130
- }
2131
- }
2132
- //#endregion
2133
2008
  //#region src/bundlers/shared/generator-css/user-layer-order.ts
2134
2009
  const USER_LAYER_COMPONENTS_START = "/*! weapp-tailwindcss layer components start */";
2135
2010
  const USER_LAYER_COMPONENTS_END = "/*! weapp-tailwindcss layer components end */";
@@ -2327,6 +2202,23 @@ function intersectCandidateSets(left, right) {
2327
2202
  for (const candidate of small) if (large.has(candidate)) matched.add(candidate);
2328
2203
  return matched;
2329
2204
  }
2205
+ function parseCssSourceRoot(rawSource) {
2206
+ try {
2207
+ return _weapp_tailwindcss_postcss.postcss.parse(rawSource);
2208
+ } catch {
2209
+ return;
2210
+ }
2211
+ }
2212
+ function cleanLocalCssImportWrapperFromParsedRoot(rawSource, root) {
2213
+ if (!root) return (0, _weapp_tailwindcss_postcss.cleanLocalCssImportWrapperTailwindDirectives)(rawSource);
2214
+ return (0, _weapp_tailwindcss_postcss.cleanLocalCssImportWrapperTailwindDirectivesRoot)(root) ? root.toString() : void 0;
2215
+ }
2216
+ function isPureLocalCssImportWrapperFromParsedRoot(rawSource, root) {
2217
+ return root ? (0, _weapp_tailwindcss_postcss.isPureLocalCssImportWrapperRoot)(root) : (0, _weapp_tailwindcss_postcss.isPureLocalCssImportWrapper)(rawSource);
2218
+ }
2219
+ function splitLocalCssImportsFromParsedRoot(rawSource, root) {
2220
+ return root ? (0, _weapp_tailwindcss_postcss.splitLocalCssImportsRoot)(root) : (0, _weapp_tailwindcss_postcss.splitLocalCssImports)(rawSource);
2221
+ }
2330
2222
  function collectCssRuleIdentityMarkers(source) {
2331
2223
  const markers = /* @__PURE__ */ new Set();
2332
2224
  try {
@@ -2375,20 +2267,8 @@ async function generateCssByGenerator(options) {
2375
2267
  const majorVersion = runtimeState.tailwindRuntime.majorVersion;
2376
2268
  if (majorVersion !== 4) throw new Error("weapp-tailwindcss 生成管线仅支持 Tailwind CSS v4。");
2377
2269
  const effectiveRawSource = stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(require_v4_engine.normalizeTailwindSourceDirectives(rawSource, { importFallback: generatorOptions.importFallback })));
2378
- const localImportParts = splitLocalCssImports(effectiveRawSource);
2379
- const localImports = options.restoreLocalCssImports === false ? void 0 : localImportParts?.imports;
2380
- const finalizeGeneratorCss = (css, target, finalizeOptions = {}) => {
2381
- return finalizeWebGeneratorCss(restoreLocalCssImports(finalizeMiniProgramGeneratorCss(css, target, majorVersion, opts.cssPreflight, finalizeOptions), localImports), target, generatorOptions.webCompat);
2382
- };
2383
- const generatorRawSource = localImportParts?.source ?? effectiveRawSource;
2384
- const rawUserSource = userRawSource === void 0 ? generatorRawSource : userRawSourceProcessed ? userRawSource : stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(require_v4_engine.normalizeTailwindSourceDirectives(userRawSource, { importFallback: generatorOptions.importFallback })));
2385
- const userSource = splitLocalCssImports(rawUserSource)?.source ?? rawUserSource;
2386
- const userCssRawSource = removeTailwindV4GeneratorAtRules(userSource);
2387
- const generatedUserCssOrderSource = require_v4_engine.hasTailwindGeneratedCss(userSource) ? require_v4_engine.splitTailwindV4GeneratedCssBySourceOrder(userSource, generatorRawSource) : void 0;
2388
- const generatedUserCssRawSource = generatedUserCssOrderSource ? require_v4_engine.createCssAppend(generatedUserCssOrderSource.before, generatedUserCssOrderSource.after) : require_v4_engine.hasTailwindGeneratedCss(userSource) ? "" : userCssRawSource;
2389
- const userCssOrderSource = require_v4_engine.GENERATOR_PLACEHOLDER_MARKER_RE.test(userSource) ? userSource : require_v4_engine.hasTailwindGeneratedCss(userSource) ? userSource : generatedUserCssRawSource;
2390
- const hasDistinctUserRawSource = typeof userRawSource === "string" && normalizeCssSourceForCompare(generatedUserCssRawSource) !== normalizeCssSourceForCompare(generatorRawSource);
2391
- const cleanedLocalImportWrapper = cleanLocalCssImportWrapperTailwindDirectives(effectiveRawSource);
2270
+ const effectiveRawSourceRoot = parseCssSourceRoot(effectiveRawSource);
2271
+ const cleanedLocalImportWrapper = cleanLocalCssImportWrapperFromParsedRoot(effectiveRawSource, effectiveRawSourceRoot);
2392
2272
  if (cleanedLocalImportWrapper !== void 0) return {
2393
2273
  css: require_generator.shouldUseMiniProgramCssBranch(generatorBranch) ? (0, _weapp_tailwindcss_postcss.removeUnsupportedMiniProgramAtRules)(cleanedLocalImportWrapper) : cleanedLocalImportWrapper,
2394
2274
  classSet: /* @__PURE__ */ new Set(),
@@ -2400,7 +2280,20 @@ async function generateCssByGenerator(options) {
2400
2280
  majorVersion
2401
2281
  }
2402
2282
  };
2403
- if (isPureLocalCssImportWrapper(effectiveRawSource)) return;
2283
+ if (isPureLocalCssImportWrapperFromParsedRoot(effectiveRawSource, effectiveRawSourceRoot)) return;
2284
+ const localImportParts = splitLocalCssImportsFromParsedRoot(effectiveRawSource, effectiveRawSourceRoot);
2285
+ const localImports = options.restoreLocalCssImports === false ? void 0 : localImportParts?.imports;
2286
+ const finalizeGeneratorCss = (css, target, finalizeOptions = {}) => {
2287
+ return finalizeWebGeneratorCss((0, _weapp_tailwindcss_postcss.restoreLocalCssImports)(finalizeMiniProgramGeneratorCss(css, target, majorVersion, opts.cssPreflight, finalizeOptions), localImports), target, generatorOptions.webCompat);
2288
+ };
2289
+ const generatorRawSource = localImportParts?.source ?? effectiveRawSource;
2290
+ const rawUserSource = userRawSource === void 0 ? generatorRawSource : userRawSourceProcessed ? userRawSource : stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(require_v4_engine.normalizeTailwindSourceDirectives(userRawSource, { importFallback: generatorOptions.importFallback })));
2291
+ const userSource = (rawUserSource === generatorRawSource ? void 0 : (0, _weapp_tailwindcss_postcss.splitLocalCssImports)(rawUserSource))?.source ?? rawUserSource;
2292
+ const userCssRawSource = removeTailwindV4GeneratorAtRules(userSource);
2293
+ const generatedUserCssOrderSource = require_v4_engine.hasTailwindGeneratedCss(userSource) ? require_v4_engine.splitTailwindV4GeneratedCssBySourceOrder(userSource, generatorRawSource) : void 0;
2294
+ const generatedUserCssRawSource = generatedUserCssOrderSource ? require_v4_engine.createCssAppend(generatedUserCssOrderSource.before, generatedUserCssOrderSource.after) : require_v4_engine.hasTailwindGeneratedCss(userSource) ? "" : userCssRawSource;
2295
+ const userCssOrderSource = require_v4_engine.GENERATOR_PLACEHOLDER_MARKER_RE.test(userSource) ? userSource : require_v4_engine.hasTailwindGeneratedCss(userSource) ? userSource : generatedUserCssRawSource;
2296
+ const hasDistinctUserRawSource = typeof userRawSource === "string" && normalizeCssSourceForCompare(generatedUserCssRawSource) !== normalizeCssSourceForCompare(generatorRawSource);
2404
2297
  const hasGeneratedCss = require_v4_engine.hasTailwindGeneratedCss(generatorRawSource);
2405
2298
  const hasSourceDirectives = require_v4_engine.hasTailwindSourceDirectives(generatorRawSource, { importFallback: generatorOptions.importFallback });
2406
2299
  const hasGeneratedMarkers = require_v4_engine.hasTailwindGeneratedCssMarkers(generatorRawSource);
@@ -2468,7 +2361,7 @@ async function generateCssByGenerator(options) {
2468
2361
  debug("tailwind generator result: %s rawBytes=%d cssBytes=%d candidates=%d", file, generated.rawCss.length, generated.css.length, generated.classSet.size);
2469
2362
  if ((generated.target !== "weapp" || !hasUserCssLayerBlocks(generatorRawSource)) && typeof options.previousCss === "string" && typeof generated.incrementalCss === "string") {
2470
2363
  const incrementalCss = require_v4_engine.stripTailwindBanner(generated.incrementalCss);
2471
- const finalCss = finalizeWebGeneratorCss(restoreLocalCssImports(incrementalCss.trim().length > 0 ? require_v4_engine.createCssAppend(options.previousCss, finalizeMiniProgramGeneratorCss(incrementalCss, generated.target, majorVersion, opts.cssPreflight, {
2364
+ const finalCss = finalizeWebGeneratorCss((0, _weapp_tailwindcss_postcss.restoreLocalCssImports)(incrementalCss.trim().length > 0 ? require_v4_engine.createCssAppend(options.previousCss, finalizeMiniProgramGeneratorCss(incrementalCss, generated.target, majorVersion, opts.cssPreflight, {
2472
2365
  injectPreflight: false,
2473
2366
  styleOptions: generatorStyleOptions
2474
2367
  })) : options.previousCss, localImports), generated.target, generatorOptions.webCompat);
@@ -3618,12 +3511,6 @@ Object.defineProperty(exports, "isCssSourceTraceEnabled", {
3618
3511
  return isCssSourceTraceEnabled;
3619
3512
  }
3620
3513
  });
3621
- Object.defineProperty(exports, "isPureLocalCssImportWrapper", {
3622
- enumerable: true,
3623
- get: function() {
3624
- return isPureLocalCssImportWrapper;
3625
- }
3626
- });
3627
3514
  Object.defineProperty(exports, "isSourceCandidateRequest", {
3628
3515
  enumerable: true,
3629
3516
  get: function() {
@@ -3684,12 +3571,6 @@ Object.defineProperty(exports, "resolveTaskConcurrency", {
3684
3571
  return resolveTaskConcurrency;
3685
3572
  }
3686
3573
  });
3687
- Object.defineProperty(exports, "rewriteLocalCssImportRequestsForOutput", {
3688
- enumerable: true,
3689
- get: function() {
3690
- return rewriteLocalCssImportRequestsForOutput;
3691
- }
3692
- });
3693
3574
  Object.defineProperty(exports, "runWithConcurrency", {
3694
3575
  enumerable: true,
3695
3576
  get: function() {
@@ -3702,12 +3583,6 @@ Object.defineProperty(exports, "scoreTailwindV4CssSourceFileMatch", {
3702
3583
  return scoreTailwindV4CssSourceFileMatch;
3703
3584
  }
3704
3585
  });
3705
- Object.defineProperty(exports, "splitLocalCssImports", {
3706
- enumerable: true,
3707
- get: function() {
3708
- return splitLocalCssImports;
3709
- }
3710
- });
3711
3586
  Object.defineProperty(exports, "stripTailwindSourceMediaFragments", {
3712
3587
  enumerable: true,
3713
3588
  get: function() {
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_framework = require("./framework.js");
3
- const require_generator = require("./generator-CV_0irKO.js");
4
- const require_gulp = require("./gulp-B_u8NjQL.js");
3
+ const require_generator = require("./generator-CilgHtxb.js");
4
+ const require_gulp = require("./gulp-Bogfnoki.js");
5
5
  const require_postcss = require("./postcss.js");
6
- const require_vite = require("./vite-CkVMSDDp.js");
7
- const require_webpack = require("./webpack-hvSFaicc.js");
6
+ const require_vite = require("./vite-BYgT1ir9.js");
7
+ const require_webpack = require("./webpack-khSwkXP5.js");
8
8
  require("./webpack.js");
9
9
  let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
10
10
  exports.WeappTailwindcss = require_vite.WeappTailwindcss;
package/dist/index.mjs 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.mjs";
2
- import { t as createWeappTailwindcssGenerator } from "./generator-DNs6ekoC.mjs";
3
- import { t as createPlugins } from "./gulp-aQMZ0M7c.mjs";
2
+ import { t as createWeappTailwindcssGenerator } from "./generator-24-HgU9F.mjs";
3
+ import { t as createPlugins } from "./gulp-0RsqkF_d.mjs";
4
4
  import weappTailwindcssPostcssPlugin from "./postcss.mjs";
5
- import { t as WeappTailwindcss } from "./vite-5Wn0PIzJ.mjs";
6
- import { n as weappTailwindcssPackageDir } from "./webpack-DEag6ueE.mjs";
5
+ import { t as WeappTailwindcss } from "./vite-B1SlBmqO.mjs";
6
+ import { n as weappTailwindcssPackageDir } from "./webpack-Bg6pefpb.mjs";
7
7
  import "./webpack.mjs";
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 };
package/dist/postcss.js CHANGED
@@ -2,8 +2,8 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_v4_engine = require("./v4-engine-CKbS27-o.js");
6
- const require_generator = require("./generator-CV_0irKO.js");
5
+ const require_v4_engine = require("./v4-engine-CKtsdKxK.js");
6
+ const require_generator = require("./generator-CilgHtxb.js");
7
7
  const weappTailwindcssPostcssPlugin = (0, require("@weapp-tailwindcss/postcss").createWeappTailwindcssPostcssPlugin)({
8
8
  createGenerator: (source) => {
9
9
  return require_generator.createWeappTailwindcssGenerator(source);
package/dist/postcss.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { t as resolveTailwindV4Source } from "./v4-engine-BklH3CpJ.mjs";
2
- import { i as normalizeWeappTailwindcssGeneratorOptions, t as createWeappTailwindcssGenerator } from "./generator-DNs6ekoC.mjs";
1
+ import { t as resolveTailwindV4Source } from "./v4-engine-BuuYDXt1.mjs";
2
+ import { i as normalizeWeappTailwindcssGeneratorOptions, t as createWeappTailwindcssGenerator } from "./generator-24-HgU9F.mjs";
3
3
  import { createWeappTailwindcssPostcssPlugin } from "@weapp-tailwindcss/postcss";
4
4
  const weappTailwindcssPostcssPlugin = createWeappTailwindcssPostcssPlugin({
5
5
  createGenerator: (source) => {
package/dist/presets.js CHANGED
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.js");
3
3
  const require_framework = require("./framework.js");
4
- const require_v4_engine = require("./v4-engine-CKbS27-o.js");
4
+ const require_v4_engine = require("./v4-engine-CKtsdKxK.js");
5
5
  require("./utils-D3h8j7Mk.js");
6
- const require_tailwindcss = require("./tailwindcss-BSCvrs1p.js");
6
+ const require_tailwindcss = require("./tailwindcss-D2xs4OEu.js");
7
7
  require("./logger-TlKT3xmR.js");
8
8
  let node_path = require("node:path");
9
9
  node_path = require_rolldown_runtime.__toESM(node_path);
package/dist/presets.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { resolveTaroPlatform, resolveUniPlatformsFromEnv } from "./framework.mjs";
2
- import { st as omitUndefined } from "./v4-engine-BklH3CpJ.mjs";
2
+ import { ct as omitUndefined } from "./v4-engine-BuuYDXt1.mjs";
3
3
  import { n as defuOverrideArray } from "./utils-DodxWHGz.mjs";
4
- import { i as resolveUniAppXOptions, n as resolveTailwindcssBasedir } from "./tailwindcss-BwV3_Ryc.mjs";
4
+ import { i as resolveUniAppXOptions, n as resolveTailwindcssBasedir } from "./tailwindcss-D0JF0fuZ.mjs";
5
5
  import { t as logger } from "./logger-BNzxZbZj.mjs";
6
6
  import path from "node:path";
7
7
  import process from "node:process";
package/dist/rspack.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.js");
3
- const require_webpack = require("./webpack-hvSFaicc.js");
3
+ const require_webpack = require("./webpack-khSwkXP5.js");
4
4
  let node_path = require("node:path");
5
5
  node_path = require_rolldown_runtime.__toESM(node_path);
6
6
  //#region src/bundlers/rspack/index.ts
package/dist/rspack.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { n as weappTailwindcssPackageDir, r as __dirname, t as WeappTailwindcss } from "./webpack-DEag6ueE.mjs";
1
+ import { n as weappTailwindcssPackageDir, r as __dirname, t as WeappTailwindcss } from "./webpack-Bg6pefpb.mjs";
2
2
  import path from "node:path";
3
3
  //#region src/bundlers/rspack/index.ts
4
4
  const CSS_IMPORT_REWRITE_LOADER_NAME = "weapp-tw-css-import-rewrite-loader";
@@ -1,6 +1,7 @@
1
- import { g as traverse, h as babelParse, o as Parser } from "./context-B07Vf584.mjs";
2
- import { g as resolveTailwindV4EntriesFromCssCached } from "./tailwindcss-BwV3_Ryc.mjs";
3
- import { u as generateCssByGenerator } from "./hmr-timing-DLYQTCDb.mjs";
1
+ import { n as hasCssMacroTailwindV4CustomVariantConditionalComments } from "./auto-CrJJc5rK.mjs";
2
+ import { g as traverse, h as babelParse, o as Parser } from "./context-Bkpmt3ja.mjs";
3
+ import { g as resolveTailwindV4EntriesFromCssCached } from "./tailwindcss-D0JF0fuZ.mjs";
4
+ import { u as generateCssByGenerator } from "./hmr-timing-BRNaz8Od.mjs";
4
5
  import { createRequire } from "node:module";
5
6
  import path from "node:path";
6
7
  import process from "node:process";
@@ -501,6 +502,9 @@ function intersectCandidates(first, second) {
501
502
  for (const candidate of small) if (large.has(candidate)) scoped.add(candidate);
502
503
  return scoped;
503
504
  }
505
+ function mergeCandidates(first, second) {
506
+ return /* @__PURE__ */ new Set([...first, ...second]);
507
+ }
504
508
  function resolveScopedSourceEntries(rawSource, sourceFile, resolvedEntries) {
505
509
  if (!hasOwnSourceDirectives(rawSource)) return {
506
510
  entries: resolvedEntries,
@@ -530,12 +534,14 @@ async function createScopedGeneratorRuntime(options) {
530
534
  const { entries, localEntries } = resolveScopedSourceEntries(rawSource, sourceFile, (await resolveTailwindV4EntriesFromCssCached(rawSource, path.dirname(path.resolve(sourceFile.replace(/[?#].*$/, "")))))?.entries);
531
535
  if (entries !== void 0 && (entries.length > 0 || hasOwnSourceDirectives(rawSource))) {
532
536
  const scopedCandidates = scopedSourceCandidateGetter?.(entries) ?? getSourceCandidatesForEntries(entries);
533
- if (!localEntries) return scopedCandidates;
534
- return intersectCandidates(scopedCandidates, scopedSourceCandidateGetter?.(localEntries) ?? getSourceCandidatesForEntries(localEntries));
537
+ const shouldMergeFallbackRuntime = hasCssMacroTailwindV4CustomVariantConditionalComments(rawSource);
538
+ if (!localEntries) return shouldMergeFallbackRuntime ? mergeCandidates(scopedCandidates, fallbackRuntime) : scopedCandidates;
539
+ const scopedLocalCandidates = intersectCandidates(scopedCandidates, scopedSourceCandidateGetter?.(localEntries) ?? getSourceCandidatesForEntries(localEntries));
540
+ return shouldMergeFallbackRuntime ? mergeCandidates(scopedLocalCandidates, fallbackRuntime) : scopedLocalCandidates;
535
541
  }
536
542
  }
537
543
  const scopedCandidates = scopedSourceCandidateGetter?.(void 0);
538
- if (scopedCandidates && (scopedCandidates.size > 0 || shouldExcludeSubpackageSourceCandidates(outputFile, cssHandlerOptions))) return scopedCandidates;
544
+ if (scopedCandidates && (scopedCandidates.size > 0 || shouldExcludeSubpackageSourceCandidates(outputFile, cssHandlerOptions))) return shouldExcludeSubpackageSourceCandidates(outputFile, cssHandlerOptions) ? scopedCandidates : mergeCandidates(scopedCandidates, fallbackRuntime);
539
545
  if (!shouldExcludeSubpackageSourceCandidates(outputFile, cssHandlerOptions)) return fallbackRuntime;
540
546
  return fallbackRuntime;
541
547
  }
@@ -1,7 +1,8 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.js");
2
- const require_context = require("./context-D75pwtBW.js");
3
- const require_tailwindcss = require("./tailwindcss-BSCvrs1p.js");
4
- const require_hmr_timing = require("./hmr-timing-DOoHun3i.js");
2
+ require("./auto-DtU6f3X6.js");
3
+ const require_context = require("./context-DCVMkTRj.js");
4
+ const require_tailwindcss = require("./tailwindcss-D2xs4OEu.js");
5
+ const require_hmr_timing = require("./hmr-timing-BV6nFPoT.js");
5
6
  let node_path = require("node:path");
6
7
  node_path = require_rolldown_runtime.__toESM(node_path);
7
8
  let node_process = require("node:process");
@@ -9,6 +10,7 @@ node_process = require_rolldown_runtime.__toESM(node_process);
9
10
  let node_module = require("node:module");
10
11
  let _weapp_tailwindcss_shared = require("@weapp-tailwindcss/shared");
11
12
  let node_buffer = require("node:buffer");
13
+ let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
12
14
  //#region src/bundlers/shared/module-graph.ts
13
15
  const QUERY_HASH_RE = /[?#].*$/u;
14
16
  const PROTOCOL_RE = /^[a-z][a-z+.-]*:/iu;
@@ -504,6 +506,9 @@ function intersectCandidates(first, second) {
504
506
  for (const candidate of small) if (large.has(candidate)) scoped.add(candidate);
505
507
  return scoped;
506
508
  }
509
+ function mergeCandidates(first, second) {
510
+ return /* @__PURE__ */ new Set([...first, ...second]);
511
+ }
507
512
  function resolveScopedSourceEntries(rawSource, sourceFile, resolvedEntries) {
508
513
  if (!hasOwnSourceDirectives(rawSource)) return {
509
514
  entries: resolvedEntries,
@@ -533,12 +538,14 @@ async function createScopedGeneratorRuntime(options) {
533
538
  const { entries, localEntries } = resolveScopedSourceEntries(rawSource, sourceFile, (await require_tailwindcss.resolveTailwindV4EntriesFromCssCached(rawSource, node_path.default.dirname(node_path.default.resolve(sourceFile.replace(/[?#].*$/, "")))))?.entries);
534
539
  if (entries !== void 0 && (entries.length > 0 || hasOwnSourceDirectives(rawSource))) {
535
540
  const scopedCandidates = scopedSourceCandidateGetter?.(entries) ?? getSourceCandidatesForEntries(entries);
536
- if (!localEntries) return scopedCandidates;
537
- return intersectCandidates(scopedCandidates, scopedSourceCandidateGetter?.(localEntries) ?? getSourceCandidatesForEntries(localEntries));
541
+ const shouldMergeFallbackRuntime = (0, _weapp_tailwindcss_postcss.hasCssMacroTailwindV4CustomVariantConditionalComments)(rawSource);
542
+ if (!localEntries) return shouldMergeFallbackRuntime ? mergeCandidates(scopedCandidates, fallbackRuntime) : scopedCandidates;
543
+ const scopedLocalCandidates = intersectCandidates(scopedCandidates, scopedSourceCandidateGetter?.(localEntries) ?? getSourceCandidatesForEntries(localEntries));
544
+ return shouldMergeFallbackRuntime ? mergeCandidates(scopedLocalCandidates, fallbackRuntime) : scopedLocalCandidates;
538
545
  }
539
546
  }
540
547
  const scopedCandidates = scopedSourceCandidateGetter?.(void 0);
541
- if (scopedCandidates && (scopedCandidates.size > 0 || shouldExcludeSubpackageSourceCandidates(outputFile, cssHandlerOptions))) return scopedCandidates;
548
+ if (scopedCandidates && (scopedCandidates.size > 0 || shouldExcludeSubpackageSourceCandidates(outputFile, cssHandlerOptions))) return shouldExcludeSubpackageSourceCandidates(outputFile, cssHandlerOptions) ? scopedCandidates : mergeCandidates(scopedCandidates, fallbackRuntime);
542
549
  if (!shouldExcludeSubpackageSourceCandidates(outputFile, cssHandlerOptions)) return fallbackRuntime;
543
550
  return fallbackRuntime;
544
551
  }
@@ -0,0 +1,2 @@
1
+ import type { TailwindV4ResolvedSource } from './types';
2
+ export declare function resolveCssMacroTailwindV4Source(source: TailwindV4ResolvedSource): TailwindV4ResolvedSource;
@@ -1,4 +1,4 @@
1
- import { $ as normalizeLegacyContentEntries, X as createTailwindSourceEntryMatcher, Y as FULL_SOURCE_SCAN_PATTERN, Z as expandTailwindSourceEntries, _ as resolveTailwindcssOptions, a as filterTailwindV4CssSourceRoots, at as collectCssInlineSourceCandidates, c as groupCssEntriesByBase, d as normalizeCssEntries, et as parseConfigParam, f as findNearestPackageRoot, g as normalizeTailwindcssRuntimeOptions, h as normalizeExtendLengthUnits, i as resolveTailwindV4SourceOptionsFromRuntime, l as guessBasedirFromEntries, lt as loadTailwindV4DesignSystem, m as findWorkspaceRoot, n as resolveTailwindV4SourceFromRuntime, o as hasConfiguredTailwindV4CssRoots, p as findWorkspacePackageDir, rt as resolveTailwindV4CssSourceBase, st as omitUndefined, tt as resolveCssSourceEntries, u as isTailwindV4CssEntry, v as normalizeStringListOption } from "./v4-engine-BklH3CpJ.mjs";
1
+ import { $ as normalizeLegacyContentEntries, X as createTailwindSourceEntryMatcher, Y as FULL_SOURCE_SCAN_PATTERN, Z as expandTailwindSourceEntries, _ as resolveTailwindcssOptions, a as filterTailwindV4CssSourceRoots, at as collectCssInlineSourceCandidates, c as groupCssEntriesByBase, ct as omitUndefined, d as normalizeCssEntries, et as parseConfigParam, f as findNearestPackageRoot, g as normalizeTailwindcssRuntimeOptions, h as normalizeExtendLengthUnits, i as resolveTailwindV4SourceOptionsFromRuntime, l as guessBasedirFromEntries, m as findWorkspaceRoot, n as resolveTailwindV4SourceFromRuntime, o as hasConfiguredTailwindV4CssRoots, ot as resolveCssMacroTailwindV4Source, p as findWorkspacePackageDir, rt as resolveTailwindV4CssSourceBase, tt as resolveCssSourceEntries, u as isTailwindV4CssEntry, ut as loadTailwindV4DesignSystem, v as normalizeStringListOption } from "./v4-engine-BuuYDXt1.mjs";
2
2
  import { n as defuOverrideArray$1 } from "./utils-DodxWHGz.mjs";
3
3
  import { createRequire } from "node:module";
4
4
  import { existsSync, readFileSync, statSync } from "node:fs";
@@ -945,14 +945,14 @@ function createEngineTailwindcssRuntime(options) {
945
945
  const rawCandidates = new Set(report.entries.map((entry) => {
946
946
  return typeof entry === "string" ? entry : entry.rawCandidate;
947
947
  }).filter((entry) => typeof entry === "string" && entry.length > 0));
948
- const source = await resolveTailwindV4SourceFromRuntime(runtime);
948
+ const source = resolveCssMacroTailwindV4Source(await resolveTailwindV4SourceFromRuntime(runtime));
949
949
  const designSystem = await loadTailwindV4DesignSystem(source);
950
950
  const candidates = new Set(resolveValidTailwindV4Candidates(designSystem, rawCandidates, { ...source.bareArbitraryValues === void 0 ? {} : { bareArbitraryValues: source.bareArbitraryValues } }));
951
951
  await collectTailwindV4CssCandidates(candidates);
952
952
  return applyClassSetFilter(candidates);
953
953
  }
954
954
  async function collectTailwindV4CssCandidates(candidates) {
955
- const source = await resolveTailwindV4SourceFromRuntime(runtime);
955
+ const source = resolveCssMacroTailwindV4Source(await resolveTailwindV4SourceFromRuntime(runtime));
956
956
  const cssList = [source.css, ...(source.cssSources ?? []).map((cssSource) => cssSource.css).filter((css) => typeof css === "string")];
957
957
  for (const css of cssList) {
958
958
  if (!css.includes("@apply")) continue;
@@ -967,7 +967,7 @@ function createEngineTailwindcssRuntime(options) {
967
967
  }
968
968
  }
969
969
  async function collectContentTokens() {
970
- const source = await resolveTailwindV4SourceFromRuntime(runtime);
970
+ const source = resolveCssMacroTailwindV4Source(await resolveTailwindV4SourceFromRuntime(runtime));
971
971
  const report = await extractProjectCandidatesWithPositions({
972
972
  base: source.base,
973
973
  baseFallbacks: source.baseFallbacks,
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.js");
2
- const require_v4_engine = require("./v4-engine-CKbS27-o.js");
2
+ const require_v4_engine = require("./v4-engine-CKtsdKxK.js");
3
3
  require("./utils-D3h8j7Mk.js");
4
4
  let node_fs = require("node:fs");
5
5
  let node_path = require("node:path");
@@ -949,14 +949,14 @@ function createEngineTailwindcssRuntime(options) {
949
949
  const rawCandidates = new Set(report.entries.map((entry) => {
950
950
  return typeof entry === "string" ? entry : entry.rawCandidate;
951
951
  }).filter((entry) => typeof entry === "string" && entry.length > 0));
952
- const source = await require_v4_engine.resolveTailwindV4SourceFromRuntime(runtime);
952
+ const source = require_v4_engine.resolveCssMacroTailwindV4Source(await require_v4_engine.resolveTailwindV4SourceFromRuntime(runtime));
953
953
  const designSystem = await (0, _tailwindcss_mangle_engine.loadTailwindV4DesignSystem)(source);
954
954
  const candidates = new Set((0, _tailwindcss_mangle_engine.resolveValidTailwindV4Candidates)(designSystem, rawCandidates, { ...source.bareArbitraryValues === void 0 ? {} : { bareArbitraryValues: source.bareArbitraryValues } }));
955
955
  await collectTailwindV4CssCandidates(candidates);
956
956
  return applyClassSetFilter(candidates);
957
957
  }
958
958
  async function collectTailwindV4CssCandidates(candidates) {
959
- const source = await require_v4_engine.resolveTailwindV4SourceFromRuntime(runtime);
959
+ const source = require_v4_engine.resolveCssMacroTailwindV4Source(await require_v4_engine.resolveTailwindV4SourceFromRuntime(runtime));
960
960
  const cssList = [source.css, ...(source.cssSources ?? []).map((cssSource) => cssSource.css).filter((css) => typeof css === "string")];
961
961
  for (const css of cssList) {
962
962
  if (!css.includes("@apply")) continue;
@@ -971,7 +971,7 @@ function createEngineTailwindcssRuntime(options) {
971
971
  }
972
972
  }
973
973
  async function collectContentTokens() {
974
- const source = await require_v4_engine.resolveTailwindV4SourceFromRuntime(runtime);
974
+ const source = require_v4_engine.resolveCssMacroTailwindV4Source(await require_v4_engine.resolveTailwindV4SourceFromRuntime(runtime));
975
975
  const report = await (0, _tailwindcss_mangle_engine.extractProjectCandidatesWithPositions)({
976
976
  base: source.base,
977
977
  baseFallbacks: source.baseFallbacks,
@@ -1,4 +1,4 @@
1
- import { c as createAttributeMatcher, d as JsTokenUpdater, f as _defineProperty, h as babelParse, m as replaceWxml, p as isClassContextLiteralPath, s as generateCode, u as analyzeSource } from "./context-B07Vf584.mjs";
1
+ import { c as createAttributeMatcher, d as JsTokenUpdater, f as _defineProperty, h as babelParse, m as replaceWxml, p as isClassContextLiteralPath, s as generateCode, u as analyzeSource } from "./context-Bkpmt3ja.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import { splitCandidateTokens } from "@tailwindcss-mangle/engine";
4
4
  import MagicString from "magic-string";
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.js");
2
- const require_context = require("./context-D75pwtBW.js");
2
+ const require_context = require("./context-DCVMkTRj.js");
3
3
  let _tailwindcss_mangle_engine = require("@tailwindcss-mangle/engine");
4
4
  let magic_string = require("magic-string");
5
5
  magic_string = require_rolldown_runtime.__toESM(magic_string);