weapp-tailwindcss 5.0.5 → 5.0.6

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 (40) hide show
  1. package/dist/{bundle-state-Cso_ceUo.js → bundle-state-CFgzVHFP.js} +1 -1
  2. package/dist/{bundle-state-DEyxCR4f.mjs → bundle-state-CdNXQl-o.mjs} +1 -1
  3. package/dist/core.js +1 -1
  4. package/dist/core.mjs +1 -1
  5. package/dist/{generator-DVWLNO0n.mjs → generator-Bgn4m8An.mjs} +1 -1
  6. package/dist/{generator-AD-eX8Tr.js → generator-C56PJYxA.js} +1 -1
  7. package/dist/generator.js +2 -2
  8. package/dist/generator.mjs +2 -2
  9. package/dist/gulp.js +5 -5
  10. package/dist/gulp.mjs +5 -5
  11. package/dist/{incremental-runtime-class-set-xf49kky6.mjs → incremental-runtime-class-set-BEYHQkZc.mjs} +57 -15
  12. package/dist/{incremental-runtime-class-set-vOetpdWs.js → incremental-runtime-class-set-Bmzdjlk0.js} +57 -15
  13. package/dist/index.js +4 -4
  14. package/dist/index.mjs +4 -4
  15. package/dist/{postcss-Cbi6RFpf.js → postcss-B7QNe78h.js} +2 -2
  16. package/dist/{postcss-hSUxK7oR.mjs → postcss-BgINK7Nm.mjs} +2 -2
  17. package/dist/postcss.js +1 -1
  18. package/dist/postcss.mjs +1 -1
  19. package/dist/{precheck-Bsn_LMmo.mjs → precheck-Copn2SqE.mjs} +2 -2
  20. package/dist/{precheck-b8Y8qZg0.js → precheck-CyPbGn38.js} +2 -2
  21. package/dist/presets.js +2 -2
  22. package/dist/presets.mjs +2 -2
  23. package/dist/{source-candidates-BsWYoIPN.mjs → source-candidates-BODCmzz5.mjs} +1 -1
  24. package/dist/{source-candidates-o2ZrKWzu.js → source-candidates-Caf2GDvx.js} +1 -1
  25. package/dist/{tailwindcss-AWaPVF2B.mjs → tailwindcss-C0Zgo3Es.mjs} +1 -1
  26. package/dist/{tailwindcss-CpQ6X4l6.js → tailwindcss-Tw6CSVHL.js} +1 -1
  27. package/dist/{transform-BkGtbxb1.js → transform-95ivJthq.js} +1 -1
  28. package/dist/{transform-DumSZmTh.mjs → transform-DgCFGtQR.mjs} +1 -1
  29. package/dist/{v3-engine-CM0TRa8V.js → v3-engine-6FVAcrZl.js} +2 -1
  30. package/dist/{v3-engine-Cczrkzqt.mjs → v3-engine-Ji6AXPh2.mjs} +2 -1
  31. package/dist/{vite-CTuHPC91.js → vite-Bw6LOXvf.js} +8 -8
  32. package/dist/{vite-DLXDMHON.mjs → vite-ChZ2cbn4.mjs} +8 -8
  33. package/dist/vite.js +1 -1
  34. package/dist/vite.mjs +1 -1
  35. package/dist/weapp-tw-css-import-rewrite-loader.js +55 -12
  36. package/dist/{webpack-DJFw08SK.mjs → webpack-CMJ7iqN7.mjs} +6 -6
  37. package/dist/{webpack-BBHJYKqB.js → webpack-nn3P8_S_.js} +6 -6
  38. package/dist/webpack.js +1 -1
  39. package/dist/webpack.mjs +1 -1
  40. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_precheck = require("./precheck-b8Y8qZg0.js");
2
+ const require_precheck = require("./precheck-CyPbGn38.js");
3
3
  let node_module = require("node:module");
4
4
  let node_process = require("node:process");
5
5
  node_process = require_chunk.__toESM(node_process);
@@ -1,4 +1,4 @@
1
- import { h as traverse, m as babelParse, o as Parser } from "./precheck-Bsn_LMmo.mjs";
1
+ import { h as traverse, m as babelParse, o as Parser } from "./precheck-Copn2SqE.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import process from "node:process";
4
4
  import path from "node:path";
package/dist/core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_precheck = require("./precheck-b8Y8qZg0.js");
2
+ const require_precheck = require("./precheck-CyPbGn38.js");
3
3
  let _weapp_tailwindcss_shared = require("@weapp-tailwindcss/shared");
4
4
  //#region src/core.ts
5
5
  const DEFAULT_MAIN_CHUNK_STYLE_OPTIONS = Object.freeze({ isMainChunk: true });
package/dist/core.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { n as getCompilerContext, t as shouldSkipJsTransform, v as createTailwindRuntimeReadyPromise, y as ensureRuntimeClassSet } from "./precheck-Bsn_LMmo.mjs";
1
+ import { n as getCompilerContext, t as shouldSkipJsTransform, v as createTailwindRuntimeReadyPromise, y as ensureRuntimeClassSet } from "./precheck-Copn2SqE.mjs";
2
2
  import { defuOverrideArray } from "@weapp-tailwindcss/shared";
3
3
  //#region src/core.ts
4
4
  const DEFAULT_MAIN_CHUNK_STYLE_OPTIONS = Object.freeze({ isMainChunk: true });
@@ -1,4 +1,4 @@
1
- import { K as createTailwindV4Engine, i as createTailwindV3Engine, n as resolveTailwindV3SourceFromPatcher, x as resolveTailwindV4SourceFromPatcher } from "./v3-engine-Cczrkzqt.mjs";
1
+ import { K as createTailwindV4Engine, i as createTailwindV3Engine, n as resolveTailwindV3SourceFromPatcher, x as resolveTailwindV4SourceFromPatcher } from "./v3-engine-Ji6AXPh2.mjs";
2
2
  import process from "node:process";
3
3
  //#region src/generator/options.ts
4
4
  const explicitGeneratorTargetEnvKeys = ["WEAPP_TW_TARGET", "WEAPP_TAILWINDCSS_TARGET"];
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_v3_engine = require("./v3-engine-CM0TRa8V.js");
2
+ const require_v3_engine = require("./v3-engine-6FVAcrZl.js");
3
3
  let node_process = require("node:process");
4
4
  node_process = require_chunk.__toESM(node_process);
5
5
  //#region src/generator/options.ts
package/dist/generator.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_v3_engine = require("./v3-engine-CM0TRa8V.js");
3
- const require_generator = require("./generator-AD-eX8Tr.js");
2
+ const require_v3_engine = require("./v3-engine-6FVAcrZl.js");
3
+ const require_generator = require("./generator-C56PJYxA.js");
4
4
  let tailwindcss_patch = require("tailwindcss-patch");
5
5
  exports.createWeappTailwindcssGenerator = require_generator.createWeappTailwindcssGenerator;
6
6
  exports.createWeappTailwindcssGeneratorFromPatcher = require_generator.createWeappTailwindcssGeneratorFromPatcher;
@@ -1,3 +1,3 @@
1
- import { J as transformTailwindV4CssToWeapp, S as resolveTailwindV4SourceOptionsFromPatcher, a as transformTailwindV3CssByTarget, b as resolveTailwindV4SourceFromPatchOptions, n as resolveTailwindV3SourceFromPatcher, o as transformTailwindV3CssToWeapp, q as transformTailwindV4CssByTarget, r as resolveTailwindV3SourceOptionsFromPatcher, t as resolveTailwindV3Source, x as resolveTailwindV4SourceFromPatcher, y as resolveTailwindV4Source } from "./v3-engine-Cczrkzqt.mjs";
2
- import { i as normalizeWeappTailwindcssGeneratorOptions, n as createWeappTailwindcssGeneratorFromPatcher, r as resolveTailwindSourceFromPatcher, t as createWeappTailwindcssGenerator } from "./generator-DVWLNO0n.mjs";
1
+ import { J as transformTailwindV4CssToWeapp, S as resolveTailwindV4SourceOptionsFromPatcher, a as transformTailwindV3CssByTarget, b as resolveTailwindV4SourceFromPatchOptions, n as resolveTailwindV3SourceFromPatcher, o as transformTailwindV3CssToWeapp, q as transformTailwindV4CssByTarget, r as resolveTailwindV3SourceOptionsFromPatcher, t as resolveTailwindV3Source, x as resolveTailwindV4SourceFromPatcher, y as resolveTailwindV4Source } from "./v3-engine-Ji6AXPh2.mjs";
2
+ import { i as normalizeWeappTailwindcssGeneratorOptions, n as createWeappTailwindcssGeneratorFromPatcher, r as resolveTailwindSourceFromPatcher, t as createWeappTailwindcssGenerator } from "./generator-Bgn4m8An.mjs";
3
3
  export { createWeappTailwindcssGenerator, createWeappTailwindcssGeneratorFromPatcher, normalizeWeappTailwindcssGeneratorOptions, resolveTailwindSourceFromPatcher, resolveTailwindV3Source, resolveTailwindV3SourceFromPatcher, resolveTailwindV3SourceOptionsFromPatcher, resolveTailwindV4Source, resolveTailwindV4SourceFromPatchOptions, resolveTailwindV4SourceFromPatcher, resolveTailwindV4SourceOptionsFromPatcher, transformTailwindV3CssByTarget, transformTailwindV3CssToWeapp, transformTailwindV4CssByTarget, transformTailwindV4CssToWeapp };
package/dist/gulp.js CHANGED
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-emK7D4bc.js");
3
- const require_v3_engine = require("./v3-engine-CM0TRa8V.js");
4
- const require_precheck = require("./precheck-b8Y8qZg0.js");
5
- const require_tailwindcss = require("./tailwindcss-CpQ6X4l6.js");
6
- const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-vOetpdWs.js");
7
- const require_source_candidates = require("./source-candidates-o2ZrKWzu.js");
3
+ const require_v3_engine = require("./v3-engine-6FVAcrZl.js");
4
+ const require_precheck = require("./precheck-CyPbGn38.js");
5
+ const require_tailwindcss = require("./tailwindcss-Tw6CSVHL.js");
6
+ const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-Bmzdjlk0.js");
7
+ const require_source_candidates = require("./source-candidates-Caf2GDvx.js");
8
8
  let node_fs = require("node:fs");
9
9
  node_fs = require_chunk.__toESM(node_fs);
10
10
  let node_process = require("node:process");
package/dist/gulp.mjs CHANGED
@@ -1,8 +1,8 @@
1
- import { D as normalizeTailwindConfigDirectives, T as hasTailwindRootDirectives, _ as resolveViteSourceScanEntries, k as normalizeTailwindSourceForGenerator, l as getRuntimeClassSetSignature, lt as createDebug } from "./v3-engine-Cczrkzqt.mjs";
2
- import { n as getCompilerContext, t as shouldSkipJsTransform, v as createTailwindRuntimeReadyPromise, y as ensureRuntimeClassSet } from "./precheck-Bsn_LMmo.mjs";
3
- import { c as hasConfiguredTailwindV4CssRoots, l as upsertTailwindV4CssSource } from "./tailwindcss-AWaPVF2B.mjs";
4
- import { i as generateCssByGenerator, r as emitHmrTiming, s as processCachedTask, t as createBundleRuntimeClassSetManager } from "./incremental-runtime-class-set-xf49kky6.mjs";
5
- import { n as createTailwindV3DefaultExtractor, t as createSourceCandidateCollector } from "./source-candidates-BsWYoIPN.mjs";
1
+ import { D as normalizeTailwindConfigDirectives, T as hasTailwindRootDirectives, _ as resolveViteSourceScanEntries, k as normalizeTailwindSourceForGenerator, l as getRuntimeClassSetSignature, lt as createDebug } from "./v3-engine-Ji6AXPh2.mjs";
2
+ import { n as getCompilerContext, t as shouldSkipJsTransform, v as createTailwindRuntimeReadyPromise, y as ensureRuntimeClassSet } from "./precheck-Copn2SqE.mjs";
3
+ import { c as hasConfiguredTailwindV4CssRoots, l as upsertTailwindV4CssSource } from "./tailwindcss-C0Zgo3Es.mjs";
4
+ import { i as generateCssByGenerator, r as emitHmrTiming, s as processCachedTask, t as createBundleRuntimeClassSetManager } from "./incremental-runtime-class-set-BEYHQkZc.mjs";
5
+ import { n as createTailwindV3DefaultExtractor, t as createSourceCandidateCollector } from "./source-candidates-BODCmzz5.mjs";
6
6
  import fs from "node:fs";
7
7
  import process from "node:process";
8
8
  import path from "node:path";
@@ -1,7 +1,7 @@
1
- import { A as normalizeTailwindV3CssEntrySource, B as splitTailwindV4GeneratedCssBySourceOrder, E as hasTailwindSourceDirectives, F as createCssAppend, G as prependConfigDirective, H as stripTailwindBanner, I as hasTailwindGeneratedCss, L as hasTailwindGeneratedCssMarkers, M as removeTailwindSourceDirectives, N as resolveCssEntrySource, O as normalizeTailwindSourceDirectives, P as VITE_MARKER_RE, R as splitGeneratorPlaceholderCssBySourceOrder, S as resolveTailwindV4SourceOptionsFromPatcher, T as hasTailwindRootDirectives, U as stripTailwindBanners, V as stripGeneratorPlaceholderMarkers, W as normalizeConfigDirective, X as loadTailwindV4DesignSystem, Y as filterUnsupportedMiniProgramTailwindV4Candidates, gt as omitUndefined, h as resolveTailwindV4EntriesFromCss, j as parseImportRequest, l as getRuntimeClassSetSignature, lt as createDebug, n as resolveTailwindV3SourceFromPatcher, r as resolveTailwindV3SourceOptionsFromPatcher, rt as normalizeLegacyContentEntries, st as resolveTailwindV4CssSourceBase, t as resolveTailwindV3Source, w as hasTailwindApplyDirective, x as resolveTailwindV4SourceFromPatcher, y as resolveTailwindV4Source$1, z as splitTailwindGeneratedCssByBanner } from "./v3-engine-Cczrkzqt.mjs";
2
- import { i as normalizeWeappTailwindcssGeneratorOptions, t as createWeappTailwindcssGenerator } from "./generator-DVWLNO0n.mjs";
3
- import { p as replaceWxml, r as resolveStyleOptionsFromContext } from "./precheck-Bsn_LMmo.mjs";
4
- import { r as isUniAppXEnabled } from "./tailwindcss-AWaPVF2B.mjs";
1
+ import { A as normalizeTailwindV3CssEntrySource, B as splitTailwindV4GeneratedCssBySourceOrder, E as hasTailwindSourceDirectives, F as createCssAppend, G as prependConfigDirective, H as stripTailwindBanner, I as hasTailwindGeneratedCss, L as hasTailwindGeneratedCssMarkers, M as removeTailwindSourceDirectives, N as resolveCssEntrySource, O as normalizeTailwindSourceDirectives, P as VITE_MARKER_RE, R as splitGeneratorPlaceholderCssBySourceOrder, S as resolveTailwindV4SourceOptionsFromPatcher, T as hasTailwindRootDirectives, U as stripTailwindBanners, V as stripGeneratorPlaceholderMarkers, W as normalizeConfigDirective, X as loadTailwindV4DesignSystem, Y as filterUnsupportedMiniProgramTailwindV4Candidates, gt as omitUndefined, h as resolveTailwindV4EntriesFromCss, j as parseImportRequest, l as getRuntimeClassSetSignature, lt as createDebug, n as resolveTailwindV3SourceFromPatcher, r as resolveTailwindV3SourceOptionsFromPatcher, rt as normalizeLegacyContentEntries, st as resolveTailwindV4CssSourceBase, t as resolveTailwindV3Source, w as hasTailwindApplyDirective, x as resolveTailwindV4SourceFromPatcher, y as resolveTailwindV4Source$1, z as splitTailwindGeneratedCssByBanner } from "./v3-engine-Ji6AXPh2.mjs";
2
+ import { i as normalizeWeappTailwindcssGeneratorOptions, t as createWeappTailwindcssGenerator } from "./generator-Bgn4m8An.mjs";
3
+ import { p as replaceWxml, r as resolveStyleOptionsFromContext } from "./precheck-Copn2SqE.mjs";
4
+ import { r as isUniAppXEnabled } from "./tailwindcss-C0Zgo3Es.mjs";
5
5
  import { existsSync, readFileSync } from "node:fs";
6
6
  import postcss from "postcss";
7
7
  import { extractRawCandidatesWithPositions, extractSourceCandidates, extractValidCandidates, resolveValidTailwindV4Candidates } from "tailwindcss-patch";
@@ -1262,6 +1262,15 @@ function mergeMarkedUserLayerComponentsCss(baseCss, markedCss) {
1262
1262
  //#region src/bundlers/shared/generator-css.ts
1263
1263
  const SUPPORTED_GENERATOR_MAJOR_VERSIONS = new Set([3, 4]);
1264
1264
  const REMOTE_IMPORT_RE = /^(?:https?:)?\/\//i;
1265
+ const TAILWIND_V4_GENERATOR_AT_RULES = new Set([
1266
+ "config",
1267
+ "custom-variant",
1268
+ "plugin",
1269
+ "source",
1270
+ "theme",
1271
+ "utility",
1272
+ "variant"
1273
+ ]);
1265
1274
  function finalizeMiniProgramGeneratorCss(css, target, majorVersion, cssPreflight, options = {}) {
1266
1275
  if (target !== "weapp") return css;
1267
1276
  return finalizeMiniProgramCss(css, {
@@ -1303,6 +1312,26 @@ function removeTailwindApplyAtRules(source) {
1303
1312
  return source;
1304
1313
  }
1305
1314
  }
1315
+ function removeTailwindV4GeneratorAtRules(source) {
1316
+ try {
1317
+ const root = postcss.parse(source);
1318
+ let changed = false;
1319
+ root.walkAtRules((rule) => {
1320
+ if (!TAILWIND_V4_GENERATOR_AT_RULES.has(rule.name)) return;
1321
+ rule.remove();
1322
+ changed = true;
1323
+ });
1324
+ root.walk((node) => {
1325
+ if ("nodes" in node && node.nodes?.length === 0) {
1326
+ node.remove();
1327
+ changed = true;
1328
+ }
1329
+ });
1330
+ return changed ? root.toString() : source;
1331
+ } catch {
1332
+ return source;
1333
+ }
1334
+ }
1306
1335
  function shouldScanTailwindV4Sources(majorVersion, target, generatorRuntime, isolateCssSource) {
1307
1336
  if (majorVersion !== 4 || isolateCssSource) return false;
1308
1337
  return target === "web" || generatorRuntime.size === 0;
@@ -1340,7 +1369,19 @@ function isCommentOnlyCss(source) {
1340
1369
  }
1341
1370
  }
1342
1371
  function stripTailwindSourceMediaFragments(source) {
1343
- return source.replace(/^\s*@media\s+source\([^)]*\)\s*\{\s*$/gm, "").replace(/^\s*\}\s*(?=@(?:source|theme|config|plugin|utility|variant|custom-variant)\b)/gm, "").replace(/^\s*\}\s*\/\*\s*source\([^)]*\)\s*\*\/\s*$/gm, "");
1372
+ let removedSourceMediaStart = false;
1373
+ return source.split(/\r?\n/).filter((line) => {
1374
+ if (/^\s*@media\s+source\([^)]*\)\s*\{\s*$/.test(line)) {
1375
+ removedSourceMediaStart = true;
1376
+ return false;
1377
+ }
1378
+ if (/^\s*\}\s*\/\*\s*source\([^)]*\)\s*\*\/\s*$/.test(line)) return false;
1379
+ if (removedSourceMediaStart && /^\s*\}\s*$/.test(line)) {
1380
+ removedSourceMediaStart = false;
1381
+ return false;
1382
+ }
1383
+ return true;
1384
+ }).join("\n").replace(/\}[^\S\r\n]*(?=@(?:config|source)\b)/g, "");
1344
1385
  }
1345
1386
  function stripLeadingTailwindSourceMediaCloseFragment(source) {
1346
1387
  return source.replace(/^\s*\}\s*(?:\n|$)/, "");
@@ -1508,7 +1549,7 @@ function shouldFilterApplyOnlyGeneratedCss(majorVersion, target, source, options
1508
1549
  }
1509
1550
  async function transformGeneratorUserCss(source, options) {
1510
1551
  if (source.trim().length === 0) return "";
1511
- const cleanedSource = removeTailwindSourceDirectives(stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(source)), { importFallback: options.importFallback });
1552
+ const cleanedSource = removeTailwindSourceDirectives(removeTailwindV4GeneratorAtRules(stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(source))), { importFallback: options.importFallback });
1512
1553
  if (cleanedSource.trim().length === 0) return "";
1513
1554
  const userSource = stripUnmatchedTailwindSourceMediaCloseFragments(removeTailwindApplyAtRules(removeTailwindSourceDirectives(stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(options.generatorTarget === "weapp" ? removeUnsupportedMiniProgramAtRules(cleanedSource) : cleanedSource)), { importFallback: options.importFallback })));
1514
1555
  if (userSource.trim().length === 0) return "";
@@ -1608,6 +1649,7 @@ async function generateCssByGenerator(options) {
1608
1649
  const effectiveRawSource = stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(normalizeTailwindSourceDirectives(rawSource, { importFallback: generatorOptions.importFallback })));
1609
1650
  const localImportParts = splitLocalCssImports(effectiveRawSource);
1610
1651
  const generatorRawSource = localImportParts?.source ?? effectiveRawSource;
1652
+ const userCssRawSource = majorVersion === 4 ? removeTailwindV4GeneratorAtRules(generatorRawSource) : generatorRawSource;
1611
1653
  const cleanedLocalImportWrapper = cleanLocalCssImportWrapperTailwindDirectives(effectiveRawSource);
1612
1654
  if (cleanedLocalImportWrapper !== void 0) return {
1613
1655
  css: generatorOptions.target === "weapp" ? removeUnsupportedMiniProgramAtRules(cleanedLocalImportWrapper) : cleanedLocalImportWrapper,
@@ -1696,7 +1738,7 @@ async function generateCssByGenerator(options) {
1696
1738
  });
1697
1739
  const generatedCss = shouldFilterApplyOnlyCss ? filterApplyOnlyGeneratedCss(stripTailwindBanner(generated.css), generatorRawSource) : stripTailwindBanner(generated.css);
1698
1740
  const hasMatchedCssSourceFile = sources.some((source) => source.__weappTailwindcssMeta?.matchedCssSourceFile);
1699
- const orderedExtraCss = hasMatchedCssSourceFile ? splitTailwindV4GeneratedCssBySourceOrder(generatorRawSource, generated.rawCss) : splitRawSourceByGeneratedCssOrder(generatorRawSource, generated.rawCss);
1741
+ const orderedExtraCss = hasMatchedCssSourceFile ? splitTailwindV4GeneratedCssBySourceOrder(userCssRawSource, generated.rawCss) : splitRawSourceByGeneratedCssOrder(userCssRawSource, generated.rawCss);
1700
1742
  const shouldAppendMatchedCssSourceCompat = !hasMatchedCssSourceFile || orderedExtraCss !== void 0;
1701
1743
  if (orderedExtraCss) {
1702
1744
  let css = generatedCss;
@@ -1720,14 +1762,14 @@ async function generateCssByGenerator(options) {
1720
1762
  hasSourceDirectives,
1721
1763
  hasMatchedCssSourceFile
1722
1764
  })) {
1723
- const userCss = await transformGeneratorUserCss(generatorRawSource, userCssOptions);
1765
+ const userCss = await transformGeneratorUserCss(userCssRawSource, userCssOptions);
1724
1766
  css = createCssSourceOrderAppend(css, userCss);
1725
1767
  }
1726
1768
  if (generated.target === "weapp" && shouldAppendMatchedCssSourceCompat) {
1727
1769
  if (shouldFinalizeMarkedUserLayerComponentsCss(file)) css = reorderMarkedUserLayerComponentsCss(css);
1728
1770
  if (!shouldFilterApplyOnlyCss) {
1729
- css = await appendLegacyCompatCss(css, generatorRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1730
- if (!isolateCurrentCssCandidates) css = await appendLegacyContainerCompatCss(css, generatorRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1771
+ css = await appendLegacyCompatCss(css, userCssRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1772
+ if (!isolateCurrentCssCandidates) css = await appendLegacyContainerCompatCss(css, userCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1731
1773
  }
1732
1774
  } else if (generated.target === "weapp" && shouldFinalizeMarkedUserLayerComponentsCss(file)) css = reorderMarkedUserLayerComponentsCss(css);
1733
1775
  return {
@@ -1766,7 +1808,7 @@ async function generateCssByGenerator(options) {
1766
1808
  }
1767
1809
  if (hasMatchedCssSourceFile || generated.target === "web") {
1768
1810
  if (hasMatchedCssSourceFile && generated.target === "weapp" && !hasGeneratedCss && !hasGeneratedMarkers) {
1769
- const userCss = await transformGeneratorUserCss(generatorRawSource, {
1811
+ const userCss = await transformGeneratorUserCss(userCssRawSource, {
1770
1812
  generatorTarget: generated.target,
1771
1813
  generatorStyleOptions,
1772
1814
  cssUserHandlerOptions,
@@ -1776,13 +1818,13 @@ async function generateCssByGenerator(options) {
1776
1818
  css = createCssSourceOrderAppend(css, userCss);
1777
1819
  }
1778
1820
  if (hasMatchedCssSourceFile && generated.target === "weapp") {
1779
- if (!isolateCurrentCssCandidates && !shouldFilterApplyOnlyCss) css = await appendLegacyContainerCompatCss(css, generatorRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1821
+ if (!isolateCurrentCssCandidates && !shouldFilterApplyOnlyCss) css = await appendLegacyContainerCompatCss(css, userCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1780
1822
  }
1781
1823
  if (shouldAppendWebBundleCssFallback(generated.target, {
1782
1824
  hasSourceDirectives,
1783
1825
  hasMatchedCssSourceFile
1784
1826
  })) {
1785
- const userCss = await transformGeneratorUserCss(generatorRawSource, {
1827
+ const userCss = await transformGeneratorUserCss(userCssRawSource, {
1786
1828
  generatorTarget: generated.target,
1787
1829
  generatorStyleOptions,
1788
1830
  cssUserHandlerOptions,
@@ -1803,8 +1845,8 @@ async function generateCssByGenerator(options) {
1803
1845
  };
1804
1846
  }
1805
1847
  if (!shouldFilterApplyOnlyCss) {
1806
- css = await appendLegacyCompatCss(css, generatorRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1807
- css = await appendLegacyContainerCompatCss(css, generatorRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1848
+ css = await appendLegacyCompatCss(css, userCssRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1849
+ css = await appendLegacyContainerCompatCss(css, userCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1808
1850
  }
1809
1851
  return {
1810
1852
  css: restoreLocalCssImports(finalizeMiniProgramGeneratorCss(css, generated.target, majorVersion, opts.cssPreflight, { injectPreflight: shouldInjectMiniProgramPreflightForGeneratorCss(opts, {
@@ -1,8 +1,8 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_v3_engine = require("./v3-engine-CM0TRa8V.js");
3
- const require_generator = require("./generator-AD-eX8Tr.js");
4
- const require_precheck = require("./precheck-b8Y8qZg0.js");
5
- const require_tailwindcss = require("./tailwindcss-CpQ6X4l6.js");
2
+ const require_v3_engine = require("./v3-engine-6FVAcrZl.js");
3
+ const require_generator = require("./generator-C56PJYxA.js");
4
+ const require_precheck = require("./precheck-CyPbGn38.js");
5
+ const require_tailwindcss = require("./tailwindcss-Tw6CSVHL.js");
6
6
  let node_fs = require("node:fs");
7
7
  let postcss = require("postcss");
8
8
  postcss = require_chunk.__toESM(postcss);
@@ -1266,6 +1266,15 @@ function mergeMarkedUserLayerComponentsCss(baseCss, markedCss) {
1266
1266
  //#region src/bundlers/shared/generator-css.ts
1267
1267
  const SUPPORTED_GENERATOR_MAJOR_VERSIONS = new Set([3, 4]);
1268
1268
  const REMOTE_IMPORT_RE = /^(?:https?:)?\/\//i;
1269
+ const TAILWIND_V4_GENERATOR_AT_RULES = new Set([
1270
+ "config",
1271
+ "custom-variant",
1272
+ "plugin",
1273
+ "source",
1274
+ "theme",
1275
+ "utility",
1276
+ "variant"
1277
+ ]);
1269
1278
  function finalizeMiniProgramGeneratorCss(css, target, majorVersion, cssPreflight, options = {}) {
1270
1279
  if (target !== "weapp") return css;
1271
1280
  return (0, _weapp_tailwindcss_postcss.finalizeMiniProgramCss)(css, {
@@ -1307,6 +1316,26 @@ function removeTailwindApplyAtRules(source) {
1307
1316
  return source;
1308
1317
  }
1309
1318
  }
1319
+ function removeTailwindV4GeneratorAtRules(source) {
1320
+ try {
1321
+ const root = postcss.default.parse(source);
1322
+ let changed = false;
1323
+ root.walkAtRules((rule) => {
1324
+ if (!TAILWIND_V4_GENERATOR_AT_RULES.has(rule.name)) return;
1325
+ rule.remove();
1326
+ changed = true;
1327
+ });
1328
+ root.walk((node) => {
1329
+ if ("nodes" in node && node.nodes?.length === 0) {
1330
+ node.remove();
1331
+ changed = true;
1332
+ }
1333
+ });
1334
+ return changed ? root.toString() : source;
1335
+ } catch {
1336
+ return source;
1337
+ }
1338
+ }
1310
1339
  function shouldScanTailwindV4Sources(majorVersion, target, generatorRuntime, isolateCssSource) {
1311
1340
  if (majorVersion !== 4 || isolateCssSource) return false;
1312
1341
  return target === "web" || generatorRuntime.size === 0;
@@ -1344,7 +1373,19 @@ function isCommentOnlyCss(source) {
1344
1373
  }
1345
1374
  }
1346
1375
  function stripTailwindSourceMediaFragments(source) {
1347
- return source.replace(/^\s*@media\s+source\([^)]*\)\s*\{\s*$/gm, "").replace(/^\s*\}\s*(?=@(?:source|theme|config|plugin|utility|variant|custom-variant)\b)/gm, "").replace(/^\s*\}\s*\/\*\s*source\([^)]*\)\s*\*\/\s*$/gm, "");
1376
+ let removedSourceMediaStart = false;
1377
+ return source.split(/\r?\n/).filter((line) => {
1378
+ if (/^\s*@media\s+source\([^)]*\)\s*\{\s*$/.test(line)) {
1379
+ removedSourceMediaStart = true;
1380
+ return false;
1381
+ }
1382
+ if (/^\s*\}\s*\/\*\s*source\([^)]*\)\s*\*\/\s*$/.test(line)) return false;
1383
+ if (removedSourceMediaStart && /^\s*\}\s*$/.test(line)) {
1384
+ removedSourceMediaStart = false;
1385
+ return false;
1386
+ }
1387
+ return true;
1388
+ }).join("\n").replace(/\}[^\S\r\n]*(?=@(?:config|source)\b)/g, "");
1348
1389
  }
1349
1390
  function stripLeadingTailwindSourceMediaCloseFragment(source) {
1350
1391
  return source.replace(/^\s*\}\s*(?:\n|$)/, "");
@@ -1512,7 +1553,7 @@ function shouldFilterApplyOnlyGeneratedCss(majorVersion, target, source, options
1512
1553
  }
1513
1554
  async function transformGeneratorUserCss(source, options) {
1514
1555
  if (source.trim().length === 0) return "";
1515
- const cleanedSource = require_v3_engine.removeTailwindSourceDirectives(stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(source)), { importFallback: options.importFallback });
1556
+ const cleanedSource = require_v3_engine.removeTailwindSourceDirectives(removeTailwindV4GeneratorAtRules(stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(source))), { importFallback: options.importFallback });
1516
1557
  if (cleanedSource.trim().length === 0) return "";
1517
1558
  const userSource = stripUnmatchedTailwindSourceMediaCloseFragments(removeTailwindApplyAtRules(require_v3_engine.removeTailwindSourceDirectives(stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(options.generatorTarget === "weapp" ? (0, _weapp_tailwindcss_postcss.removeUnsupportedMiniProgramAtRules)(cleanedSource) : cleanedSource)), { importFallback: options.importFallback })));
1518
1559
  if (userSource.trim().length === 0) return "";
@@ -1612,6 +1653,7 @@ async function generateCssByGenerator(options) {
1612
1653
  const effectiveRawSource = stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(require_v3_engine.normalizeTailwindSourceDirectives(rawSource, { importFallback: generatorOptions.importFallback })));
1613
1654
  const localImportParts = splitLocalCssImports(effectiveRawSource);
1614
1655
  const generatorRawSource = localImportParts?.source ?? effectiveRawSource;
1656
+ const userCssRawSource = majorVersion === 4 ? removeTailwindV4GeneratorAtRules(generatorRawSource) : generatorRawSource;
1615
1657
  const cleanedLocalImportWrapper = cleanLocalCssImportWrapperTailwindDirectives(effectiveRawSource);
1616
1658
  if (cleanedLocalImportWrapper !== void 0) return {
1617
1659
  css: generatorOptions.target === "weapp" ? (0, _weapp_tailwindcss_postcss.removeUnsupportedMiniProgramAtRules)(cleanedLocalImportWrapper) : cleanedLocalImportWrapper,
@@ -1700,7 +1742,7 @@ async function generateCssByGenerator(options) {
1700
1742
  });
1701
1743
  const generatedCss = shouldFilterApplyOnlyCss ? filterApplyOnlyGeneratedCss(require_v3_engine.stripTailwindBanner(generated.css), generatorRawSource) : require_v3_engine.stripTailwindBanner(generated.css);
1702
1744
  const hasMatchedCssSourceFile = sources.some((source) => source.__weappTailwindcssMeta?.matchedCssSourceFile);
1703
- const orderedExtraCss = hasMatchedCssSourceFile ? require_v3_engine.splitTailwindV4GeneratedCssBySourceOrder(generatorRawSource, generated.rawCss) : splitRawSourceByGeneratedCssOrder(generatorRawSource, generated.rawCss);
1745
+ const orderedExtraCss = hasMatchedCssSourceFile ? require_v3_engine.splitTailwindV4GeneratedCssBySourceOrder(userCssRawSource, generated.rawCss) : splitRawSourceByGeneratedCssOrder(userCssRawSource, generated.rawCss);
1704
1746
  const shouldAppendMatchedCssSourceCompat = !hasMatchedCssSourceFile || orderedExtraCss !== void 0;
1705
1747
  if (orderedExtraCss) {
1706
1748
  let css = generatedCss;
@@ -1724,14 +1766,14 @@ async function generateCssByGenerator(options) {
1724
1766
  hasSourceDirectives,
1725
1767
  hasMatchedCssSourceFile
1726
1768
  })) {
1727
- const userCss = await transformGeneratorUserCss(generatorRawSource, userCssOptions);
1769
+ const userCss = await transformGeneratorUserCss(userCssRawSource, userCssOptions);
1728
1770
  css = createCssSourceOrderAppend(css, userCss);
1729
1771
  }
1730
1772
  if (generated.target === "weapp" && shouldAppendMatchedCssSourceCompat) {
1731
1773
  if (shouldFinalizeMarkedUserLayerComponentsCss(file)) css = reorderMarkedUserLayerComponentsCss(css);
1732
1774
  if (!shouldFilterApplyOnlyCss) {
1733
- css = await appendLegacyCompatCss(css, generatorRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1734
- if (!isolateCurrentCssCandidates) css = await appendLegacyContainerCompatCss(css, generatorRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1775
+ css = await appendLegacyCompatCss(css, userCssRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1776
+ if (!isolateCurrentCssCandidates) css = await appendLegacyContainerCompatCss(css, userCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1735
1777
  }
1736
1778
  } else if (generated.target === "weapp" && shouldFinalizeMarkedUserLayerComponentsCss(file)) css = reorderMarkedUserLayerComponentsCss(css);
1737
1779
  return {
@@ -1770,7 +1812,7 @@ async function generateCssByGenerator(options) {
1770
1812
  }
1771
1813
  if (hasMatchedCssSourceFile || generated.target === "web") {
1772
1814
  if (hasMatchedCssSourceFile && generated.target === "weapp" && !hasGeneratedCss && !hasGeneratedMarkers) {
1773
- const userCss = await transformGeneratorUserCss(generatorRawSource, {
1815
+ const userCss = await transformGeneratorUserCss(userCssRawSource, {
1774
1816
  generatorTarget: generated.target,
1775
1817
  generatorStyleOptions,
1776
1818
  cssUserHandlerOptions,
@@ -1780,13 +1822,13 @@ async function generateCssByGenerator(options) {
1780
1822
  css = createCssSourceOrderAppend(css, userCss);
1781
1823
  }
1782
1824
  if (hasMatchedCssSourceFile && generated.target === "weapp") {
1783
- if (!isolateCurrentCssCandidates && !shouldFilterApplyOnlyCss) css = await appendLegacyContainerCompatCss(css, generatorRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1825
+ if (!isolateCurrentCssCandidates && !shouldFilterApplyOnlyCss) css = await appendLegacyContainerCompatCss(css, userCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1784
1826
  }
1785
1827
  if (shouldAppendWebBundleCssFallback(generated.target, {
1786
1828
  hasSourceDirectives,
1787
1829
  hasMatchedCssSourceFile
1788
1830
  })) {
1789
- const userCss = await transformGeneratorUserCss(generatorRawSource, {
1831
+ const userCss = await transformGeneratorUserCss(userCssRawSource, {
1790
1832
  generatorTarget: generated.target,
1791
1833
  generatorStyleOptions,
1792
1834
  cssUserHandlerOptions,
@@ -1807,8 +1849,8 @@ async function generateCssByGenerator(options) {
1807
1849
  };
1808
1850
  }
1809
1851
  if (!shouldFilterApplyOnlyCss) {
1810
- css = await appendLegacyCompatCss(css, generatorRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1811
- css = await appendLegacyContainerCompatCss(css, generatorRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1852
+ css = await appendLegacyCompatCss(css, userCssRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1853
+ css = await appendLegacyContainerCompatCss(css, userCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1812
1854
  }
1813
1855
  return {
1814
1856
  css: restoreLocalCssImports(finalizeMiniProgramGeneratorCss(css, generated.target, majorVersion, opts.cssPreflight, { injectPreflight: shouldInjectMiniProgramPreflightForGeneratorCss(opts, {
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_generator = require("./generator-AD-eX8Tr.js");
2
+ const require_generator = require("./generator-C56PJYxA.js");
3
3
  const require_gulp = require("./gulp.js");
4
- const require_postcss = require("./postcss-Cbi6RFpf.js");
5
- const require_vite = require("./vite-CTuHPC91.js");
6
- const require_webpack = require("./webpack-BBHJYKqB.js");
4
+ const require_postcss = require("./postcss-B7QNe78h.js");
5
+ const require_vite = require("./vite-Bw6LOXvf.js");
6
+ const require_webpack = require("./webpack-nn3P8_S_.js");
7
7
  let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
8
8
  exports.WeappTailwindcss = require_vite.WeappTailwindcss;
9
9
  exports.createPlugins = require_gulp.createPlugins;
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { t as createWeappTailwindcssGenerator } from "./generator-DVWLNO0n.mjs";
1
+ import { t as createWeappTailwindcssGenerator } from "./generator-Bgn4m8An.mjs";
2
2
  import { WeappTailwindcss as createPlugins } from "./gulp.mjs";
3
- import { t as weappTailwindcssPostcssPlugin } from "./postcss-hSUxK7oR.mjs";
4
- import { t as WeappTailwindcss } from "./vite-DLXDMHON.mjs";
5
- import { n as weappTailwindcssPackageDir } from "./webpack-DJFw08SK.mjs";
3
+ import { t as weappTailwindcssPostcssPlugin } from "./postcss-BgINK7Nm.mjs";
4
+ import { t as WeappTailwindcss } from "./vite-ChZ2cbn4.mjs";
5
+ import { n as weappTailwindcssPackageDir } from "./webpack-CMJ7iqN7.mjs";
6
6
  import { unitConversionComposeRules, unitConversionPresets } from "@weapp-tailwindcss/postcss";
7
7
  export { WeappTailwindcss, createPlugins, createWeappTailwindcssGenerator, unitConversionComposeRules, unitConversionPresets, weappTailwindcssPackageDir, weappTailwindcssPostcssPlugin };
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_v3_engine = require("./v3-engine-CM0TRa8V.js");
3
- const require_generator = require("./generator-AD-eX8Tr.js");
2
+ const require_v3_engine = require("./v3-engine-6FVAcrZl.js");
3
+ const require_generator = require("./generator-C56PJYxA.js");
4
4
  let postcss$1 = require("postcss");
5
5
  postcss$1 = require_chunk.__toESM(postcss$1);
6
6
  let tailwindcss_patch = require("tailwindcss-patch");
@@ -1,5 +1,5 @@
1
- import { $ as collectCssInlineSourceCandidates, T as hasTailwindRootDirectives, Z as DEFAULT_SOURCE_SCAN_EXTENSIONS, at as resolveCssSourceEntries, dt as readInstalledPackageMajorVersion, et as createSourceScanPattern, it as parseConfigParam, rt as normalizeLegacyContentEntries, t as resolveTailwindV3Source, tt as expandTailwindSourceEntries, w as hasTailwindApplyDirective, y as resolveTailwindV4Source$1 } from "./v3-engine-Cczrkzqt.mjs";
2
- import { i as normalizeWeappTailwindcssGeneratorOptions, t as createWeappTailwindcssGenerator } from "./generator-DVWLNO0n.mjs";
1
+ import { $ as collectCssInlineSourceCandidates, T as hasTailwindRootDirectives, Z as DEFAULT_SOURCE_SCAN_EXTENSIONS, at as resolveCssSourceEntries, dt as readInstalledPackageMajorVersion, et as createSourceScanPattern, it as parseConfigParam, rt as normalizeLegacyContentEntries, t as resolveTailwindV3Source, tt as expandTailwindSourceEntries, w as hasTailwindApplyDirective, y as resolveTailwindV4Source$1 } from "./v3-engine-Ji6AXPh2.mjs";
2
+ import { i as normalizeWeappTailwindcssGeneratorOptions, t as createWeappTailwindcssGenerator } from "./generator-Bgn4m8An.mjs";
3
3
  import postcss$1 from "postcss";
4
4
  import { extractRawCandidatesWithPositions, extractValidCandidates } from "tailwindcss-patch";
5
5
  import process from "node:process";
package/dist/postcss.js CHANGED
@@ -2,6 +2,6 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_postcss = require("./postcss-Cbi6RFpf.js");
5
+ const require_postcss = require("./postcss-B7QNe78h.js");
6
6
  exports.default = require_postcss.weappTailwindcssPostcssPlugin;
7
7
  exports.weappTailwindcssPostcssPlugin = require_postcss.weappTailwindcssPostcssPlugin;
package/dist/postcss.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as weappTailwindcssPostcssPlugin } from "./postcss-hSUxK7oR.mjs";
1
+ import { t as weappTailwindcssPostcssPlugin } from "./postcss-BgINK7Nm.mjs";
2
2
  export { weappTailwindcssPostcssPlugin as default, weappTailwindcssPostcssPlugin };
@@ -1,7 +1,7 @@
1
- import { K as createTailwindV4Engine$1, c as getRuntimeClassSetCacheEntry, d as invalidateRuntimeClassSet, gt as omitUndefined, ht as resolveBooleanObjectOption, lt as createDebug, s as ensureTailwindcssRuntimePatch, u as getRuntimeClassSetSignatureWithSources, x as resolveTailwindV4SourceFromPatcher } from "./v3-engine-Cczrkzqt.mjs";
1
+ import { K as createTailwindV4Engine$1, c as getRuntimeClassSetCacheEntry, d as invalidateRuntimeClassSet, gt as omitUndefined, ht as resolveBooleanObjectOption, lt as createDebug, s as ensureTailwindcssRuntimePatch, u as getRuntimeClassSetSignatureWithSources, x as resolveTailwindV4SourceFromPatcher } from "./v3-engine-Ji6AXPh2.mjs";
2
2
  import { a as resolveDefaultCssPreflight, i as getDefaultOptions, o as DEFAULT_PARSE_CACHE_MAX_SOURCE_LENGTH, s as HARD_PARSE_CACHE_MAX_ENTRIES } from "./defaults-8xrgzxFY.mjs";
3
3
  import { i as isMap, n as defuOverrideArray } from "./utils-DsaS975I.mjs";
4
- import { i as resolveUniAppXOptions, o as applyV4CssCalcDefaults, s as warnMissingCssEntries, t as createTailwindcssPatcherFromContext } from "./tailwindcss-AWaPVF2B.mjs";
4
+ import { i as resolveUniAppXOptions, o as applyV4CssCalcDefaults, s as warnMissingCssEntries, t as createTailwindcssPatcherFromContext } from "./tailwindcss-C0Zgo3Es.mjs";
5
5
  import { splitCandidateTokens } from "tailwindcss-patch";
6
6
  import process from "node:process";
7
7
  import path from "node:path";
@@ -1,8 +1,8 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_v3_engine = require("./v3-engine-CM0TRa8V.js");
2
+ const require_v3_engine = require("./v3-engine-6FVAcrZl.js");
3
3
  const require_defaults = require("./defaults-BPUuNYcD.js");
4
4
  require("./utils-Dolmt8EO.js");
5
- const require_tailwindcss = require("./tailwindcss-CpQ6X4l6.js");
5
+ const require_tailwindcss = require("./tailwindcss-Tw6CSVHL.js");
6
6
  let tailwindcss_patch = require("tailwindcss-patch");
7
7
  let node_process = require("node:process");
8
8
  node_process = require_chunk.__toESM(node_process);
package/dist/presets.js CHANGED
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-emK7D4bc.js");
3
- const require_v3_engine = require("./v3-engine-CM0TRa8V.js");
3
+ const require_v3_engine = require("./v3-engine-6FVAcrZl.js");
4
4
  const require_utils = require("./utils-Dolmt8EO.js");
5
- const require_tailwindcss = require("./tailwindcss-CpQ6X4l6.js");
5
+ const require_tailwindcss = require("./tailwindcss-Tw6CSVHL.js");
6
6
  require("./logger-TlKT3xmR.js");
7
7
  let node_process = require("node:process");
8
8
  node_process = require_chunk.__toESM(node_process);
package/dist/presets.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { gt as omitUndefined } from "./v3-engine-Cczrkzqt.mjs";
1
+ import { gt as omitUndefined } from "./v3-engine-Ji6AXPh2.mjs";
2
2
  import { n as defuOverrideArray, o as resolveUniUtsPlatform } from "./utils-DsaS975I.mjs";
3
- import { i as resolveUniAppXOptions, n as resolveTailwindcssBasedir } from "./tailwindcss-AWaPVF2B.mjs";
3
+ import { i as resolveUniAppXOptions, n as resolveTailwindcssBasedir } from "./tailwindcss-C0Zgo3Es.mjs";
4
4
  import { t as logger } from "./logger-BNzxZbZj.mjs";
5
5
  import process from "node:process";
6
6
  import path from "node:path";
@@ -1,4 +1,4 @@
1
- import { Q as FULL_SOURCE_SCAN_EXTENSION_RE, ct as toPosixPath, nt as isFileMatchedByTailwindSourceEntries, ot as resolveSourceScanPath } from "./v3-engine-Cczrkzqt.mjs";
1
+ import { Q as FULL_SOURCE_SCAN_EXTENSION_RE, ct as toPosixPath, nt as isFileMatchedByTailwindSourceEntries, ot as resolveSourceScanPath } from "./v3-engine-Ji6AXPh2.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import { extractSourceCandidates, resolveProjectSourceFiles } from "tailwindcss-patch";
4
4
  import path from "node:path";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_v3_engine = require("./v3-engine-CM0TRa8V.js");
2
+ const require_v3_engine = require("./v3-engine-6FVAcrZl.js");
3
3
  let node_module = require("node:module");
4
4
  let tailwindcss_patch = require("tailwindcss-patch");
5
5
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { _t as findNearestPackageRoot, dt as readInstalledPackageMajorVersion, f as runtimeSignaturePatchersSymbol, gt as omitUndefined, mt as normalizeStringListOption, ut as createTailwindcssPatcher, vt as findWorkspacePackageDir, yt as findWorkspaceRoot } from "./v3-engine-Cczrkzqt.mjs";
1
+ import { _t as findNearestPackageRoot, dt as readInstalledPackageMajorVersion, f as runtimeSignaturePatchersSymbol, gt as omitUndefined, mt as normalizeStringListOption, ut as createTailwindcssPatcher, vt as findWorkspacePackageDir, yt as findWorkspaceRoot } from "./v3-engine-Ji6AXPh2.mjs";
2
2
  import { n as defuOverrideArray } from "./utils-DsaS975I.mjs";
3
3
  import { createRequire } from "node:module";
4
4
  import { existsSync, readFileSync } from "node:fs";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_v3_engine = require("./v3-engine-CM0TRa8V.js");
2
+ const require_v3_engine = require("./v3-engine-6FVAcrZl.js");
3
3
  require("./utils-Dolmt8EO.js");
4
4
  let node_fs = require("node:fs");
5
5
  let node_module = require("node:module");
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_precheck = require("./precheck-b8Y8qZg0.js");
2
+ const require_precheck = require("./precheck-CyPbGn38.js");
3
3
  let tailwindcss_patch = require("tailwindcss-patch");
4
4
  let magic_string = require("magic-string");
5
5
  magic_string = require_chunk.__toESM(magic_string);
@@ -1,4 +1,4 @@
1
- import { c as createAttributeMatcher, d as _defineProperty, f as isClassContextLiteralPath, l as analyzeSource, m as babelParse, p as replaceWxml, s as generateCode, u as JsTokenUpdater } from "./precheck-Bsn_LMmo.mjs";
1
+ import { c as createAttributeMatcher, d as _defineProperty, f as isClassContextLiteralPath, l as analyzeSource, m as babelParse, p as replaceWxml, s as generateCode, u as JsTokenUpdater } from "./precheck-Copn2SqE.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import { splitCandidateTokens } from "tailwindcss-patch";
4
4
  import MagicString from "magic-string";
@@ -2074,7 +2074,7 @@ const TAILWIND_ROOT_DIRECTIVE_NAMES = new Set([
2074
2074
  const TAILWIND_ROOT_DIRECTIVE_RE = /@(?:import\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|(?:use|forward)\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|tailwind|config|custom-variant|plugin|source|theme|utility|variant)\b/;
2075
2075
  const TAILWIND_EXTRACTABLE_DIRECTIVE_RE = /^\s*@(?:import|use|forward|tailwind|config|source|reference|plugin)\b[\s\S]*?(?:;|$)/;
2076
2076
  const TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE = /^\s*@layer\s[^;{]+;\s*$/;
2077
- const TAILWIND_EXTRACTABLE_BLOCK_START_RE = /^\s*@(?:layer|theme|utility|variant|custom-variant)\b[\s\S]*\{/;
2077
+ const TAILWIND_EXTRACTABLE_BLOCK_START_RE = /^\s*@(?:layer|theme|utility|variant|custom-variant|plugin)\b[\s\S]*\{/;
2078
2078
  const TAILWIND_V3_SUBPATH_IMPORT_LAYERS = new Map([
2079
2079
  ["tailwindcss/base", "base"],
2080
2080
  ["tailwindcss/components", "components"],
@@ -2160,6 +2160,7 @@ function extractTailwindDirectiveLines(rawSource, options = {}) {
2160
2160
  if (!trimmed || trimmed.startsWith("//")) continue;
2161
2161
  const directive = TAILWIND_EXTRACTABLE_DIRECTIVE_RE.exec(line)?.[0] ?? TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE.exec(line)?.[0];
2162
2162
  if (!directive) continue;
2163
+ if (TAILWIND_EXTRACTABLE_BLOCK_START_RE.test(directive)) continue;
2163
2164
  const normalized = normalizeTailwindDirectiveLine(directive.trimEnd(), options);
2164
2165
  const normalizedTrimmed = normalized.trim();
2165
2166
  if (options.removeConfig && normalizedTrimmed.startsWith("@config")) continue;
@@ -2066,7 +2066,7 @@ const TAILWIND_ROOT_DIRECTIVE_NAMES = new Set([
2066
2066
  const TAILWIND_ROOT_DIRECTIVE_RE = /@(?:import\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|(?:use|forward)\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|tailwind|config|custom-variant|plugin|source|theme|utility|variant)\b/;
2067
2067
  const TAILWIND_EXTRACTABLE_DIRECTIVE_RE = /^\s*@(?:import|use|forward|tailwind|config|source|reference|plugin)\b[\s\S]*?(?:;|$)/;
2068
2068
  const TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE = /^\s*@layer\s[^;{]+;\s*$/;
2069
- const TAILWIND_EXTRACTABLE_BLOCK_START_RE = /^\s*@(?:layer|theme|utility|variant|custom-variant)\b[\s\S]*\{/;
2069
+ const TAILWIND_EXTRACTABLE_BLOCK_START_RE = /^\s*@(?:layer|theme|utility|variant|custom-variant|plugin)\b[\s\S]*\{/;
2070
2070
  const TAILWIND_V3_SUBPATH_IMPORT_LAYERS = new Map([
2071
2071
  ["tailwindcss/base", "base"],
2072
2072
  ["tailwindcss/components", "components"],
@@ -2152,6 +2152,7 @@ function extractTailwindDirectiveLines(rawSource, options = {}) {
2152
2152
  if (!trimmed || trimmed.startsWith("//")) continue;
2153
2153
  const directive = TAILWIND_EXTRACTABLE_DIRECTIVE_RE.exec(line)?.[0] ?? TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE.exec(line)?.[0];
2154
2154
  if (!directive) continue;
2155
+ if (TAILWIND_EXTRACTABLE_BLOCK_START_RE.test(directive)) continue;
2155
2156
  const normalized = normalizeTailwindDirectiveLine(directive.trimEnd(), options);
2156
2157
  const normalizedTrimmed = normalized.trim();
2157
2158
  if (options.removeConfig && normalizedTrimmed.startsWith("@config")) continue;
@@ -1,12 +1,12 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_v3_engine = require("./v3-engine-CM0TRa8V.js");
3
- const require_generator = require("./generator-AD-eX8Tr.js");
4
- const require_precheck = require("./precheck-b8Y8qZg0.js");
2
+ const require_v3_engine = require("./v3-engine-6FVAcrZl.js");
3
+ const require_generator = require("./generator-C56PJYxA.js");
4
+ const require_precheck = require("./precheck-CyPbGn38.js");
5
5
  const require_utils = require("./utils-Dolmt8EO.js");
6
- const require_tailwindcss = require("./tailwindcss-CpQ6X4l6.js");
7
- const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-vOetpdWs.js");
8
- const require_source_candidates = require("./source-candidates-o2ZrKWzu.js");
9
- const require_bundle_state = require("./bundle-state-Cso_ceUo.js");
6
+ const require_tailwindcss = require("./tailwindcss-Tw6CSVHL.js");
7
+ const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-Bmzdjlk0.js");
8
+ const require_source_candidates = require("./source-candidates-Caf2GDvx.js");
9
+ const require_bundle_state = require("./bundle-state-CFgzVHFP.js");
10
10
  require("./logger-TlKT3xmR.js");
11
11
  let node_fs = require("node:fs");
12
12
  node_fs = require_chunk.__toESM(node_fs);
@@ -66,7 +66,7 @@ function resolveUniAppXStyleIsolationEnabled(root) {
66
66
  //#region src/uni-app-x/vite.ts
67
67
  let transformUVuePromise;
68
68
  function loadTransformUVue() {
69
- transformUVuePromise ?? (transformUVuePromise = Promise.resolve().then(() => require("./transform-BkGtbxb1.js")).then((mod) => mod.transformUVue));
69
+ transformUVuePromise ?? (transformUVuePromise = Promise.resolve().then(() => require("./transform-95ivJthq.js")).then((mod) => mod.transformUVue));
70
70
  return transformUVuePromise;
71
71
  }
72
72
  const preprocessorLangs = new Set([
@@ -1,11 +1,11 @@
1
- import { C as hasLocalCssImport, D as normalizeTailwindConfigDirectives, E as hasTailwindSourceDirectives, L as hasTailwindGeneratedCssMarkers, M as removeTailwindSourceDirectives, T as hasTailwindRootDirectives, Y as filterUnsupportedMiniProgramTailwindV4Candidates, _ as resolveViteSourceScanEntries, _t as findNearestPackageRoot, ft as findTailwindConfig, g as resolveTailwindV4EntriesFromCssCached, gt as omitUndefined, j as parseImportRequest, k as normalizeTailwindSourceForGenerator, l as getRuntimeClassSetSignature, lt as createDebug, m as discoverTailwindV4CssEntries, p as createViteSourceScanMatcher, pt as resolveTailwindcssOptions, st as resolveTailwindV4CssSourceBase, v as resolveViteTailwindV4CssDependencies, w as hasTailwindApplyDirective } from "./v3-engine-Cczrkzqt.mjs";
2
- import { i as normalizeWeappTailwindcssGeneratorOptions } from "./generator-DVWLNO0n.mjs";
3
- import { _ as collectRuntimeClassSet, a as vitePluginName, b as refreshTailwindRuntimeState, g as toCustomAttributesEntities, n as getCompilerContext, t as shouldSkipJsTransform, v as createTailwindRuntimeReadyPromise } from "./precheck-Bsn_LMmo.mjs";
1
+ import { C as hasLocalCssImport, D as normalizeTailwindConfigDirectives, E as hasTailwindSourceDirectives, L as hasTailwindGeneratedCssMarkers, M as removeTailwindSourceDirectives, T as hasTailwindRootDirectives, Y as filterUnsupportedMiniProgramTailwindV4Candidates, _ as resolveViteSourceScanEntries, _t as findNearestPackageRoot, ft as findTailwindConfig, g as resolveTailwindV4EntriesFromCssCached, gt as omitUndefined, j as parseImportRequest, k as normalizeTailwindSourceForGenerator, l as getRuntimeClassSetSignature, lt as createDebug, m as discoverTailwindV4CssEntries, p as createViteSourceScanMatcher, pt as resolveTailwindcssOptions, st as resolveTailwindV4CssSourceBase, v as resolveViteTailwindV4CssDependencies, w as hasTailwindApplyDirective } from "./v3-engine-Ji6AXPh2.mjs";
2
+ import { i as normalizeWeappTailwindcssGeneratorOptions } from "./generator-Bgn4m8An.mjs";
3
+ import { _ as collectRuntimeClassSet, a as vitePluginName, b as refreshTailwindRuntimeState, g as toCustomAttributesEntities, n as getCompilerContext, t as shouldSkipJsTransform, v as createTailwindRuntimeReadyPromise } from "./precheck-Copn2SqE.mjs";
4
4
  import { o as resolveUniUtsPlatform } from "./utils-DsaS975I.mjs";
5
- import { a as normalizeCssEntries, c as hasConfiguredTailwindV4CssRoots, i as resolveUniAppXOptions, l as upsertTailwindV4CssSource, r as isUniAppXEnabled } from "./tailwindcss-AWaPVF2B.mjs";
6
- import { a as validateCandidatesByGenerator, i as generateCssByGenerator, n as createHmrTimingRecorder, o as mergeMarkedUserLayerComponentsCss, s as processCachedTask, t as createBundleRuntimeClassSetManager } from "./incremental-runtime-class-set-xf49kky6.mjs";
7
- import { n as createTailwindV3DefaultExtractor, r as isSourceCandidateRequest, t as createSourceCandidateCollector } from "./source-candidates-BsWYoIPN.mjs";
8
- import { C as toAbsoluteOutputPath, _ as normalizePath, a as applyLinkedResults, b as stripRequestQuery, c as createBundlerGeneratedCssMarker, d as stripBundlerGeneratedCssMarkers, f as resolvePackageDir, g as isCSSRequest, h as formatPostcssSourceMap, i as createRuntimeAffectingSourceSignature, l as hasBundlerGeneratedCssMarker, m as cleanUrl, n as createBundleBuildState, o as createBundleModuleGraphOptions, p as resolvePluginDisabledState, r as updateBundleBuildState, s as pushConcurrentTaskFactories, t as buildBundleSnapshot, u as parseBundlerGeneratedCssMarkerBlocks, v as slash, x as normalizeOutputPathKey, y as isSourceStyleRequest } from "./bundle-state-DEyxCR4f.mjs";
5
+ import { a as normalizeCssEntries, c as hasConfiguredTailwindV4CssRoots, i as resolveUniAppXOptions, l as upsertTailwindV4CssSource, r as isUniAppXEnabled } from "./tailwindcss-C0Zgo3Es.mjs";
6
+ import { a as validateCandidatesByGenerator, i as generateCssByGenerator, n as createHmrTimingRecorder, o as mergeMarkedUserLayerComponentsCss, s as processCachedTask, t as createBundleRuntimeClassSetManager } from "./incremental-runtime-class-set-BEYHQkZc.mjs";
7
+ import { n as createTailwindV3DefaultExtractor, r as isSourceCandidateRequest, t as createSourceCandidateCollector } from "./source-candidates-BODCmzz5.mjs";
8
+ import { C as toAbsoluteOutputPath, _ as normalizePath, a as applyLinkedResults, b as stripRequestQuery, c as createBundlerGeneratedCssMarker, d as stripBundlerGeneratedCssMarkers, f as resolvePackageDir, g as isCSSRequest, h as formatPostcssSourceMap, i as createRuntimeAffectingSourceSignature, l as hasBundlerGeneratedCssMarker, m as cleanUrl, n as createBundleBuildState, o as createBundleModuleGraphOptions, p as resolvePluginDisabledState, r as updateBundleBuildState, s as pushConcurrentTaskFactories, t as buildBundleSnapshot, u as parseBundlerGeneratedCssMarkerBlocks, v as slash, x as normalizeOutputPathKey, y as isSourceStyleRequest } from "./bundle-state-CdNXQl-o.mjs";
9
9
  import { t as logger$1 } from "./logger-BNzxZbZj.mjs";
10
10
  import fs, { existsSync, readFileSync } from "node:fs";
11
11
  import postcss from "postcss";
@@ -58,7 +58,7 @@ function resolveUniAppXStyleIsolationEnabled(root) {
58
58
  //#region src/uni-app-x/vite.ts
59
59
  let transformUVuePromise;
60
60
  function loadTransformUVue() {
61
- transformUVuePromise ?? (transformUVuePromise = import("./transform-DumSZmTh.mjs").then((mod) => mod.transformUVue));
61
+ transformUVuePromise ?? (transformUVuePromise = import("./transform-DgCFGtQR.mjs").then((mod) => mod.transformUVue));
62
62
  return transformUVuePromise;
63
63
  }
64
64
  const preprocessorLangs = new Set([
package/dist/vite.js CHANGED
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_vite = require("./vite-CTuHPC91.js");
2
+ const require_vite = require("./vite-Bw6LOXvf.js");
3
3
  exports.WeappTailwindcss = require_vite.WeappTailwindcss;
4
4
  exports.weappTailwindcss = require_vite.WeappTailwindcss;
package/dist/vite.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as WeappTailwindcss } from "./vite-DLXDMHON.mjs";
1
+ import { t as WeappTailwindcss } from "./vite-ChZ2cbn4.mjs";
2
2
  export { WeappTailwindcss, WeappTailwindcss as weappTailwindcss };
@@ -2364,7 +2364,7 @@ const TAILWIND_ROOT_DIRECTIVE_NAMES = new Set([
2364
2364
  const TAILWIND_ROOT_DIRECTIVE_RE = /@(?:import\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|(?:use|forward)\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|tailwind|config|custom-variant|plugin|source|theme|utility|variant)\b/;
2365
2365
  const TAILWIND_EXTRACTABLE_DIRECTIVE_RE = /^\s*@(?:import|use|forward|tailwind|config|source|reference|plugin)\b[\s\S]*?(?:;|$)/;
2366
2366
  const TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE = /^\s*@layer\s[^;{]+;\s*$/;
2367
- const TAILWIND_EXTRACTABLE_BLOCK_START_RE = /^\s*@(?:layer|theme|utility|variant|custom-variant)\b[\s\S]*\{/;
2367
+ const TAILWIND_EXTRACTABLE_BLOCK_START_RE = /^\s*@(?:layer|theme|utility|variant|custom-variant|plugin)\b[\s\S]*\{/;
2368
2368
  const TAILWIND_V3_SUBPATH_IMPORT_LAYERS = new Map([
2369
2369
  ["tailwindcss/base", "base"],
2370
2370
  ["tailwindcss/components", "components"],
@@ -2437,6 +2437,7 @@ function extractTailwindDirectiveLines(rawSource, options = {}) {
2437
2437
  if (!trimmed || trimmed.startsWith("//")) continue;
2438
2438
  const directive = TAILWIND_EXTRACTABLE_DIRECTIVE_RE.exec(line)?.[0] ?? TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE.exec(line)?.[0];
2439
2439
  if (!directive) continue;
2440
+ if (TAILWIND_EXTRACTABLE_BLOCK_START_RE.test(directive)) continue;
2440
2441
  const normalized = normalizeTailwindDirectiveLine(directive.trimEnd(), options);
2441
2442
  const normalizedTrimmed = normalized.trim();
2442
2443
  if (options.removeConfig && normalizedTrimmed.startsWith("@config")) continue;
@@ -5320,6 +5321,15 @@ function reorderMarkedUserLayerComponentsCss(css) {
5320
5321
  //#region src/bundlers/shared/generator-css.ts
5321
5322
  const SUPPORTED_GENERATOR_MAJOR_VERSIONS = new Set([3, 4]);
5322
5323
  const REMOTE_IMPORT_RE = /^(?:https?:)?\/\//i;
5324
+ const TAILWIND_V4_GENERATOR_AT_RULES = new Set([
5325
+ "config",
5326
+ "custom-variant",
5327
+ "plugin",
5328
+ "source",
5329
+ "theme",
5330
+ "utility",
5331
+ "variant"
5332
+ ]);
5323
5333
  function finalizeMiniProgramGeneratorCss(css, target, majorVersion, cssPreflight, options = {}) {
5324
5334
  if (target !== "weapp") return css;
5325
5335
  return (0, _weapp_tailwindcss_postcss.finalizeMiniProgramCss)(css, {
@@ -5361,6 +5371,26 @@ function removeTailwindApplyAtRules(source) {
5361
5371
  return source;
5362
5372
  }
5363
5373
  }
5374
+ function removeTailwindV4GeneratorAtRules(source) {
5375
+ try {
5376
+ const root = require_watch_dependencies.postcss_default.parse(source);
5377
+ let changed = false;
5378
+ root.walkAtRules((rule) => {
5379
+ if (!TAILWIND_V4_GENERATOR_AT_RULES.has(rule.name)) return;
5380
+ rule.remove();
5381
+ changed = true;
5382
+ });
5383
+ root.walk((node) => {
5384
+ if ("nodes" in node && node.nodes?.length === 0) {
5385
+ node.remove();
5386
+ changed = true;
5387
+ }
5388
+ });
5389
+ return changed ? root.toString() : source;
5390
+ } catch {
5391
+ return source;
5392
+ }
5393
+ }
5364
5394
  function shouldScanTailwindV4Sources(majorVersion, target, generatorRuntime, isolateCssSource) {
5365
5395
  if (majorVersion !== 4 || isolateCssSource) return false;
5366
5396
  return target === "web" || generatorRuntime.size === 0;
@@ -5398,7 +5428,19 @@ function isCommentOnlyCss(source) {
5398
5428
  }
5399
5429
  }
5400
5430
  function stripTailwindSourceMediaFragments(source) {
5401
- return source.replace(/^\s*@media\s+source\([^)]*\)\s*\{\s*$/gm, "").replace(/^\s*\}\s*(?=@(?:source|theme|config|plugin|utility|variant|custom-variant)\b)/gm, "").replace(/^\s*\}\s*\/\*\s*source\([^)]*\)\s*\*\/\s*$/gm, "");
5431
+ let removedSourceMediaStart = false;
5432
+ return source.split(/\r?\n/).filter((line) => {
5433
+ if (/^\s*@media\s+source\([^)]*\)\s*\{\s*$/.test(line)) {
5434
+ removedSourceMediaStart = true;
5435
+ return false;
5436
+ }
5437
+ if (/^\s*\}\s*\/\*\s*source\([^)]*\)\s*\*\/\s*$/.test(line)) return false;
5438
+ if (removedSourceMediaStart && /^\s*\}\s*$/.test(line)) {
5439
+ removedSourceMediaStart = false;
5440
+ return false;
5441
+ }
5442
+ return true;
5443
+ }).join("\n").replace(/\}[^\S\r\n]*(?=@(?:config|source)\b)/g, "");
5402
5444
  }
5403
5445
  function stripLeadingTailwindSourceMediaCloseFragment(source) {
5404
5446
  return source.replace(/^\s*\}\s*(?:\n|$)/, "");
@@ -5566,7 +5608,7 @@ function shouldFilterApplyOnlyGeneratedCss(majorVersion, target, source, options
5566
5608
  }
5567
5609
  async function transformGeneratorUserCss(source, options) {
5568
5610
  if (source.trim().length === 0) return "";
5569
- const cleanedSource = removeTailwindSourceDirectives(stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(source)), { importFallback: options.importFallback });
5611
+ const cleanedSource = removeTailwindSourceDirectives(removeTailwindV4GeneratorAtRules(stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(source))), { importFallback: options.importFallback });
5570
5612
  if (cleanedSource.trim().length === 0) return "";
5571
5613
  const userSource = stripUnmatchedTailwindSourceMediaCloseFragments(removeTailwindApplyAtRules(removeTailwindSourceDirectives(stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(options.generatorTarget === "weapp" ? (0, _weapp_tailwindcss_postcss.removeUnsupportedMiniProgramAtRules)(cleanedSource) : cleanedSource)), { importFallback: options.importFallback })));
5572
5614
  if (userSource.trim().length === 0) return "";
@@ -5666,6 +5708,7 @@ async function generateCssByGenerator(options) {
5666
5708
  const effectiveRawSource = stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(normalizeTailwindSourceDirectives(rawSource, { importFallback: generatorOptions.importFallback })));
5667
5709
  const localImportParts = splitLocalCssImports(effectiveRawSource);
5668
5710
  const generatorRawSource = localImportParts?.source ?? effectiveRawSource;
5711
+ const userCssRawSource = majorVersion === 4 ? removeTailwindV4GeneratorAtRules(generatorRawSource) : generatorRawSource;
5669
5712
  const cleanedLocalImportWrapper = cleanLocalCssImportWrapperTailwindDirectives(effectiveRawSource);
5670
5713
  if (cleanedLocalImportWrapper !== void 0) return {
5671
5714
  css: generatorOptions.target === "weapp" ? (0, _weapp_tailwindcss_postcss.removeUnsupportedMiniProgramAtRules)(cleanedLocalImportWrapper) : cleanedLocalImportWrapper,
@@ -5754,7 +5797,7 @@ async function generateCssByGenerator(options) {
5754
5797
  });
5755
5798
  const generatedCss = shouldFilterApplyOnlyCss ? filterApplyOnlyGeneratedCss(stripTailwindBanner(generated.css), generatorRawSource) : stripTailwindBanner(generated.css);
5756
5799
  const hasMatchedCssSourceFile = sources.some((source) => source.__weappTailwindcssMeta?.matchedCssSourceFile);
5757
- const orderedExtraCss = hasMatchedCssSourceFile ? splitTailwindV4GeneratedCssBySourceOrder(generatorRawSource, generated.rawCss) : splitRawSourceByGeneratedCssOrder(generatorRawSource, generated.rawCss);
5800
+ const orderedExtraCss = hasMatchedCssSourceFile ? splitTailwindV4GeneratedCssBySourceOrder(userCssRawSource, generated.rawCss) : splitRawSourceByGeneratedCssOrder(userCssRawSource, generated.rawCss);
5758
5801
  const shouldAppendMatchedCssSourceCompat = !hasMatchedCssSourceFile || orderedExtraCss !== void 0;
5759
5802
  if (orderedExtraCss) {
5760
5803
  let css = generatedCss;
@@ -5778,14 +5821,14 @@ async function generateCssByGenerator(options) {
5778
5821
  hasSourceDirectives,
5779
5822
  hasMatchedCssSourceFile
5780
5823
  })) {
5781
- const userCss = await transformGeneratorUserCss(generatorRawSource, userCssOptions);
5824
+ const userCss = await transformGeneratorUserCss(userCssRawSource, userCssOptions);
5782
5825
  css = createCssSourceOrderAppend(css, userCss);
5783
5826
  }
5784
5827
  if (generated.target === "weapp" && shouldAppendMatchedCssSourceCompat) {
5785
5828
  if (shouldFinalizeMarkedUserLayerComponentsCss(file)) css = reorderMarkedUserLayerComponentsCss(css);
5786
5829
  if (!shouldFilterApplyOnlyCss) {
5787
- css = await appendLegacyCompatCss(css, generatorRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
5788
- if (!isolateCurrentCssCandidates) css = await appendLegacyContainerCompatCss(css, generatorRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
5830
+ css = await appendLegacyCompatCss(css, userCssRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
5831
+ if (!isolateCurrentCssCandidates) css = await appendLegacyContainerCompatCss(css, userCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
5789
5832
  }
5790
5833
  } else if (generated.target === "weapp" && shouldFinalizeMarkedUserLayerComponentsCss(file)) css = reorderMarkedUserLayerComponentsCss(css);
5791
5834
  return {
@@ -5824,7 +5867,7 @@ async function generateCssByGenerator(options) {
5824
5867
  }
5825
5868
  if (hasMatchedCssSourceFile || generated.target === "web") {
5826
5869
  if (hasMatchedCssSourceFile && generated.target === "weapp" && !hasGeneratedCss && !hasGeneratedMarkers) {
5827
- const userCss = await transformGeneratorUserCss(generatorRawSource, {
5870
+ const userCss = await transformGeneratorUserCss(userCssRawSource, {
5828
5871
  generatorTarget: generated.target,
5829
5872
  generatorStyleOptions,
5830
5873
  cssUserHandlerOptions,
@@ -5834,13 +5877,13 @@ async function generateCssByGenerator(options) {
5834
5877
  css = createCssSourceOrderAppend(css, userCss);
5835
5878
  }
5836
5879
  if (hasMatchedCssSourceFile && generated.target === "weapp") {
5837
- if (!isolateCurrentCssCandidates && !shouldFilterApplyOnlyCss) css = await appendLegacyContainerCompatCss(css, generatorRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
5880
+ if (!isolateCurrentCssCandidates && !shouldFilterApplyOnlyCss) css = await appendLegacyContainerCompatCss(css, userCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
5838
5881
  }
5839
5882
  if (shouldAppendWebBundleCssFallback(generated.target, {
5840
5883
  hasSourceDirectives,
5841
5884
  hasMatchedCssSourceFile
5842
5885
  })) {
5843
- const userCss = await transformGeneratorUserCss(generatorRawSource, {
5886
+ const userCss = await transformGeneratorUserCss(userCssRawSource, {
5844
5887
  generatorTarget: generated.target,
5845
5888
  generatorStyleOptions,
5846
5889
  cssUserHandlerOptions,
@@ -5861,8 +5904,8 @@ async function generateCssByGenerator(options) {
5861
5904
  };
5862
5905
  }
5863
5906
  if (!shouldFilterApplyOnlyCss) {
5864
- css = await appendLegacyCompatCss(css, generatorRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
5865
- css = await appendLegacyContainerCompatCss(css, generatorRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
5907
+ css = await appendLegacyCompatCss(css, userCssRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
5908
+ css = await appendLegacyContainerCompatCss(css, userCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
5866
5909
  }
5867
5910
  return {
5868
5911
  css: restoreLocalCssImports(finalizeMiniProgramGeneratorCss(css, generated.target, majorVersion, opts.cssPreflight, { injectPreflight: shouldInjectMiniProgramPreflightForGeneratorCss(opts, {
@@ -1,10 +1,10 @@
1
- import { M as removeTailwindSourceDirectives, l as getRuntimeClassSetSignature, lt as createDebug, pt as resolveTailwindcssOptions } from "./v3-engine-Cczrkzqt.mjs";
2
- import { i as normalizeWeappTailwindcssGeneratorOptions } from "./generator-DVWLNO0n.mjs";
3
- import { b as refreshTailwindRuntimeState, d as _defineProperty, i as pluginName, n as getCompilerContext, t as shouldSkipJsTransform, v as createTailwindRuntimeReadyPromise, y as ensureRuntimeClassSet } from "./precheck-Bsn_LMmo.mjs";
1
+ import { M as removeTailwindSourceDirectives, l as getRuntimeClassSetSignature, lt as createDebug, pt as resolveTailwindcssOptions } from "./v3-engine-Ji6AXPh2.mjs";
2
+ import { i as normalizeWeappTailwindcssGeneratorOptions } from "./generator-Bgn4m8An.mjs";
3
+ import { b as refreshTailwindRuntimeState, d as _defineProperty, i as pluginName, n as getCompilerContext, t as shouldSkipJsTransform, v as createTailwindRuntimeReadyPromise, y as ensureRuntimeClassSet } from "./precheck-Copn2SqE.mjs";
4
4
  import { r as getGroupedEntries } from "./utils-DsaS975I.mjs";
5
- import { c as hasConfiguredTailwindV4CssRoots, l as upsertTailwindV4CssSource } from "./tailwindcss-AWaPVF2B.mjs";
6
- import { i as generateCssByGenerator, r as emitHmrTiming, s as processCachedTask, t as createBundleRuntimeClassSetManager } from "./incremental-runtime-class-set-xf49kky6.mjs";
7
- import { C as toAbsoluteOutputPath, S as resolveOutputSpecifier, b as stripRequestQuery, d as stripBundlerGeneratedCssMarkers, f as resolvePackageDir, n as createBundleBuildState, p as resolvePluginDisabledState, r as updateBundleBuildState, s as pushConcurrentTaskFactories, t as buildBundleSnapshot, y as isSourceStyleRequest } from "./bundle-state-DEyxCR4f.mjs";
5
+ import { c as hasConfiguredTailwindV4CssRoots, l as upsertTailwindV4CssSource } from "./tailwindcss-C0Zgo3Es.mjs";
6
+ import { i as generateCssByGenerator, r as emitHmrTiming, s as processCachedTask, t as createBundleRuntimeClassSetManager } from "./incremental-runtime-class-set-BEYHQkZc.mjs";
7
+ import { C as toAbsoluteOutputPath, S as resolveOutputSpecifier, b as stripRequestQuery, d as stripBundlerGeneratedCssMarkers, f as resolvePackageDir, n as createBundleBuildState, p as resolvePluginDisabledState, r as updateBundleBuildState, s as pushConcurrentTaskFactories, t as buildBundleSnapshot, y as isSourceStyleRequest } from "./bundle-state-CdNXQl-o.mjs";
8
8
  import Module, { createRequire } from "node:module";
9
9
  import fs from "node:fs";
10
10
  import process from "node:process";
@@ -1,11 +1,11 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
- const require_v3_engine = require("./v3-engine-CM0TRa8V.js");
3
- const require_generator = require("./generator-AD-eX8Tr.js");
4
- const require_precheck = require("./precheck-b8Y8qZg0.js");
2
+ const require_v3_engine = require("./v3-engine-6FVAcrZl.js");
3
+ const require_generator = require("./generator-C56PJYxA.js");
4
+ const require_precheck = require("./precheck-CyPbGn38.js");
5
5
  const require_utils = require("./utils-Dolmt8EO.js");
6
- const require_tailwindcss = require("./tailwindcss-CpQ6X4l6.js");
7
- const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-vOetpdWs.js");
8
- const require_bundle_state = require("./bundle-state-Cso_ceUo.js");
6
+ const require_tailwindcss = require("./tailwindcss-Tw6CSVHL.js");
7
+ const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-Bmzdjlk0.js");
8
+ const require_bundle_state = require("./bundle-state-CFgzVHFP.js");
9
9
  let node_fs = require("node:fs");
10
10
  node_fs = require_chunk.__toESM(node_fs);
11
11
  let node_module = require("node:module");
package/dist/webpack.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_webpack = require("./webpack-BBHJYKqB.js");
2
+ const require_webpack = require("./webpack-nn3P8_S_.js");
3
3
  exports.WeappTailwindcss = require_webpack.WeappTailwindcss;
4
4
  exports.weappTailwindcss = require_webpack.WeappTailwindcss;
5
5
  exports.weappTailwindcssPackageDir = require_webpack.weappTailwindcssPackageDir;
package/dist/webpack.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { n as weappTailwindcssPackageDir, t as WeappTailwindcss } from "./webpack-DJFw08SK.mjs";
1
+ import { n as weappTailwindcssPackageDir, t as WeappTailwindcss } from "./webpack-CMJ7iqN7.mjs";
2
2
  export { WeappTailwindcss, WeappTailwindcss as weappTailwindcss, weappTailwindcssPackageDir };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "weapp-tailwindcss",
3
- "version": "5.0.5",
3
+ "version": "5.0.6",
4
4
  "description": "把 tailwindcss 原子化样式思想,带给小程序开发者们! bring tailwindcss to miniprogram developers!",
5
5
  "author": "ice breaker <1324318532@qq.com>",
6
6
  "license": "MIT",
@@ -187,8 +187,8 @@
187
187
  "yaml": "^2.9.0",
188
188
  "@weapp-tailwindcss/logger": "2.0.0",
189
189
  "@weapp-tailwindcss/postcss": "3.0.3",
190
- "@weapp-tailwindcss/reset": "0.1.1",
191
190
  "@weapp-tailwindcss/shared": "2.0.0",
191
+ "@weapp-tailwindcss/reset": "0.1.1",
192
192
  "tailwindcss-config": "2.0.0"
193
193
  },
194
194
  "devDependencies": {