weapp-tailwindcss 5.1.3 → 5.1.5

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 (71) hide show
  1. package/dist/auto-CrJJc5rK.mjs +13 -0
  2. package/dist/bundlers/shared/generator-css/generation-helpers.d.ts +8 -2
  3. package/dist/bundlers/shared/generator-css/local-imports.d.ts +1 -10
  4. package/dist/bundlers/shared/generator-css/source-resolver/metadata.d.ts +5 -1
  5. package/dist/bundlers/vite/generate-bundle/css-handler-options.d.ts +1 -0
  6. package/dist/bundlers/vite/generate-bundle/tailwind-v4-css-source.d.ts +6 -3
  7. package/dist/bundlers/vite/generate-bundle/temporary-css-assets.d.ts +1 -1
  8. package/dist/bundlers/vite/hot-css-modules.d.ts +1 -0
  9. package/dist/bundlers/vite/processed-css-assets.d.ts +1 -0
  10. package/dist/bundlers/vite/source-scan/css-entries.d.ts +1 -0
  11. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers.d.ts +2 -1
  12. package/dist/cli.js +18 -3
  13. package/dist/cli.mjs +16 -1
  14. package/dist/{context-D75pwtBW.js → context-BziwyWy1.js} +56 -9
  15. package/dist/{context-B07Vf584.mjs → context-rrYZuUBU.mjs} +48 -7
  16. package/dist/core.js +1 -1
  17. package/dist/core.mjs +1 -1
  18. package/dist/css-macro/auto.d.ts +1 -1
  19. package/dist/css-macro/index.d.ts +2 -1
  20. package/dist/css-macro.mjs +1 -1
  21. package/dist/{defaults-BhE26nSw.mjs → defaults-9B6aMyZb.mjs} +2 -2
  22. package/dist/{defaults-DQhgnnn-.js → defaults-nsf4VNMX.js} +2 -2
  23. package/dist/defaults.d.ts +1 -1
  24. package/dist/defaults.js +1 -1
  25. package/dist/defaults.mjs +1 -1
  26. package/dist/framework/platform.d.ts +2 -0
  27. package/dist/{generator-DNs6ekoC.mjs → generator-24-HgU9F.mjs} +5 -3
  28. package/dist/{generator-CV_0irKO.js → generator-CilgHtxb.js} +5 -3
  29. package/dist/generator.js +2 -2
  30. package/dist/generator.mjs +2 -2
  31. package/dist/{gulp-B_u8NjQL.js → gulp-CuVsZdO9.js} +7 -6
  32. package/dist/{gulp-aQMZ0M7c.mjs → gulp-ygWfmOqh.mjs} +4 -4
  33. package/dist/gulp.js +1 -1
  34. package/dist/gulp.mjs +1 -1
  35. package/dist/{hmr-timing-DOoHun3i.js → hmr-timing-BKdCeIrn.js} +244 -229
  36. package/dist/{hmr-timing-DLYQTCDb.mjs → hmr-timing-Dh_nn3w5.mjs} +244 -211
  37. package/dist/index.js +4 -4
  38. package/dist/index.mjs +4 -4
  39. package/dist/js/js-string-escape.d.ts +1 -0
  40. package/dist/postcss.js +2 -2
  41. package/dist/postcss.mjs +2 -2
  42. package/dist/presets.js +2 -2
  43. package/dist/presets.mjs +2 -2
  44. package/dist/rspack.js +1 -1
  45. package/dist/rspack.mjs +1 -1
  46. package/dist/{source-candidate-scan-signature-pS87mdHZ.mjs → source-candidate-scan-signature-DATRnS1X.mjs} +165 -8
  47. package/dist/{source-candidate-scan-signature-DzwebZrf.js → source-candidate-scan-signature-DIj9m4wB.js} +177 -7
  48. package/dist/style-injector/internal.d.ts +7 -0
  49. package/dist/style-injector/options.d.ts +25 -0
  50. package/dist/tailwindcss/v4/preflight.d.ts +4 -0
  51. package/dist/tailwindcss/v4-engine/css-macro-source.d.ts +2 -0
  52. package/dist/{tailwindcss-BSCvrs1p.js → tailwindcss-BwoNQ3t8.js} +56 -16
  53. package/dist/{tailwindcss-BwV3_Ryc.mjs → tailwindcss-C-uM4rB8.mjs} +51 -17
  54. package/dist/{transform-Clj7R818.mjs → transform-DHLemtaX.mjs} +1 -1
  55. package/dist/{transform-fin-OTVD.js → transform-KLD1tJdb.js} +1 -1
  56. package/dist/typedoc.export.d.ts +1 -0
  57. package/dist/types/index.d.ts +2 -1
  58. package/dist/types/user-defined-options/general.d.ts +2 -0
  59. package/dist/{v4-engine-BklH3CpJ.mjs → v4-engine-BuuYDXt1.mjs} +54 -114
  60. package/dist/{v4-engine-CKbS27-o.js → v4-engine-CKtsdKxK.js} +57 -111
  61. package/dist/{vite-CkVMSDDp.js → vite-Yp14HNyS.js} +310 -78
  62. package/dist/{vite-5Wn0PIzJ.mjs → vite-cH0tTMHc.mjs} +308 -76
  63. package/dist/vite.js +1 -1
  64. package/dist/vite.mjs +1 -1
  65. package/dist/weapp-tw-css-import-rewrite-loader.js +363 -272
  66. package/dist/{webpack-DEag6ueE.mjs → webpack-DBhmJ-_P.mjs} +107 -20
  67. package/dist/{webpack-hvSFaicc.js → webpack-DN3tgLbF.js} +107 -20
  68. package/dist/webpack.js +1 -1
  69. package/dist/webpack.mjs +1 -1
  70. package/package.json +16 -5
  71. package/dist/auto-Ba6hDrse.mjs +0 -13
@@ -1,10 +1,10 @@
1
- import { C as hasTailwindRootDirectives, F as hasTailwindGeneratedCssMarkers, G as getTailwindV4IncrementalGenerateCacheStats, O as parseImportRequest, P as hasTailwindGeneratedCss, T as normalizeTailwindConfigDirectives, _ as resolveTailwindcssOptions, ct as inferGeneratorTargetFromEnv, k as removeTailwindSourceDirectives, nt as resolveSourceScanPath, o as hasConfiguredTailwindV4CssRoots, s as upsertTailwindV4CssSource, w as hasTailwindSourceDirectives, x as hasTailwindApplyDirective } from "./v4-engine-BklH3CpJ.mjs";
2
- import { o as resolveRuntimeBranch } from "./generator-DNs6ekoC.mjs";
1
+ import { C as hasTailwindRootDirectives, F as hasTailwindGeneratedCssMarkers, G as getTailwindV4IncrementalGenerateCacheStats, O as parseImportRequest, P as hasTailwindGeneratedCss, T as normalizeTailwindConfigDirectives, _ as resolveTailwindcssOptions, k as removeTailwindSourceDirectives, lt as inferGeneratorTargetFromEnv, nt as resolveSourceScanPath, o as hasConfiguredTailwindV4CssRoots, s as upsertTailwindV4CssSource, w as hasTailwindSourceDirectives, x as hasTailwindApplyDirective } from "./v4-engine-BuuYDXt1.mjs";
2
+ import { o as resolveRuntimeBranch } from "./generator-24-HgU9F.mjs";
3
3
  import { r as getGroupedEntries } from "./utils-DodxWHGz.mjs";
4
- import { C as md5Hash, S as createDebug, b as ensureRuntimeClassSet, f as _defineProperty, i as pluginName, l as shouldSkipJsTransform, n as normalizeStyleHandlerMajorVersion, r as resolveStyleOptionsFromContext, t as getCompilerContext, x as refreshTailwindRuntimeState, y as createTailwindRuntimeReadyPromise } from "./context-B07Vf584.mjs";
5
- import { l as getRuntimeClassSetSignature, p as resolveViteSourceScanEntries } from "./tailwindcss-BwV3_Ryc.mjs";
6
- import { C as stripTailwindSourceMediaFragments, D as createCssSourceOrderAppend, E as removeGeneratedSelectorCompatCss, F as createCssTokenSourceMap, I as isCssSourceTraceEnabled, L as processCachedTask, M as stripMiniProgramCssSpecificityPlaceholders, N as annotateCssSourceTrace, O as hasMiniProgramTailwindV4PreflightReset, P as createCssSourceTraceCacheSignature, S as removeTailwindV4GeneratorAtRules, T as scoreTailwindV4CssSourceFileMatch, _ as isPureLocalCssImportWrapper, a as isSourceCandidateRequest, b as removeMiniProgramHoverSelectors, c as collectStrictEscapedRuntimeCandidates, f as pushConcurrentTaskFactories, i as createSourceCandidateStore, j as pruneMiniProgramGeneratedCss, k as finalizeMiniProgramCss, l as createEscapeFragments, n as emitHmrTiming, o as resolveSourceCandidateScanFiles, p as resolveTaskConcurrency, s as createBundleRuntimeClassSetManager, w as stripUnmatchedTailwindSourceMediaCloseFragments, x as removeTailwindV4GeneratedUserCssArtifacts } from "./hmr-timing-DLYQTCDb.mjs";
7
- import { A as isSourceStyleRequest, C as resolvePluginDisabledState, N as resolveOutputSpecifier, P as toAbsoluteOutputPath, S as resolvePackageDir, _ as generateTailwindV4Css, d as classifyBundleEntry, f as createBundleBuildState, i as createCandidateSignature, j as stripRequestQuery, m as createRuntimeAffectingSourceSignature, p as updateBundleBuildState, r as createScopedGeneratorRuntime, t as createSourceCandidateScanSignature, x as stripBundlerGeneratedCssMarkers, y as hasBundlerGeneratedCssMarker } from "./source-candidate-scan-signature-pS87mdHZ.mjs";
4
+ import { S as createDebug, b as ensureRuntimeClassSet, f as _defineProperty, i as pluginName, l as shouldSkipJsTransform, n as normalizeStyleHandlerMajorVersion, r as resolveStyleOptionsFromContext, t as getCompilerContext, w as md5Hash, x as refreshTailwindRuntimeState, y as createTailwindRuntimeReadyPromise } from "./context-rrYZuUBU.mjs";
5
+ import { l as getRuntimeClassSetSignature, p as resolveViteSourceScanEntries } from "./tailwindcss-C-uM4rB8.mjs";
6
+ import { C as stripTailwindSourceMediaFragments, D as createCssSourceOrderAppend, E as removeGeneratedSelectorCompatCss, F as createCssTokenSourceMap, I as isCssSourceTraceEnabled, L as processCachedTask, M as stripMiniProgramCssSpecificityPlaceholders, N as annotateCssSourceTrace, O as hasMiniProgramTailwindV4PreflightReset, P as createCssSourceTraceCacheSignature, S as removeTailwindV4GeneratorAtRules, T as scoreTailwindV4CssSourceFileMatch, _ as isPureLocalCssImportWrapper, a as isSourceCandidateRequest, b as removeMiniProgramHoverSelectors, c as collectStrictEscapedRuntimeCandidates, f as pushConcurrentTaskFactories, i as createSourceCandidateStore, j as pruneMiniProgramGeneratedCss, k as finalizeMiniProgramCss, l as createEscapeFragments, n as emitHmrTiming, o as resolveSourceCandidateScanFiles, p as resolveTaskConcurrency, s as createBundleRuntimeClassSetManager, w as stripUnmatchedTailwindSourceMediaCloseFragments, x as removeTailwindV4GeneratedUserCssArtifacts } from "./hmr-timing-Dh_nn3w5.mjs";
7
+ import { A as isSourceStyleRequest, C as resolvePluginDisabledState, I as createBuiltinWebpackStyleInjectorPlugin, N as resolveOutputSpecifier, P as toAbsoluteOutputPath, S as resolvePackageDir, _ as generateTailwindV4Css, d as classifyBundleEntry, f as createBundleBuildState, i as createCandidateSignature, j as stripRequestQuery, m as createRuntimeAffectingSourceSignature, p as updateBundleBuildState, r as createScopedGeneratorRuntime, t as createSourceCandidateScanSignature, x as stripBundlerGeneratedCssMarkers, y as hasBundlerGeneratedCssMarker } from "./source-candidate-scan-signature-DATRnS1X.mjs";
8
8
  import Module, { createRequire } from "node:module";
9
9
  import fs from "node:fs";
10
10
  import path from "node:path";
@@ -470,6 +470,7 @@ const WEBPACK_TAILWIND_GENERATED_LAYER_NAMES = /* @__PURE__ */ new Set([
470
470
  ]);
471
471
  const WEBPACK_TAILWIND_UTILITY_RULE_MARKER_RE = /(?:^|[^\w-])\.[^,{]{0,512}(?:\\:|\\\[|\\#)/;
472
472
  const WEBPACK_TAILWIND_UTILITY_PREFIX_RE = /^\.(?:-?(?:bg|text|border|ring|shadow|drop-shadow|[pmwhz]|px|py|pt|pr|pb|pl|mx|my|mt|mr|mb|ml|min-w|min-h|max-w|max-h|flex|grid|inline|block|hidden|rounded|opacity|translate|scale|rotate|skew|top|right|bottom|left|inset|gap|font|leading|tracking|underline|container)(?:[\-\\{]|$)|\\\[)/;
473
+ const WEBPACK_TAILWIND_BANNER_RE = /tailwindcss v4\./;
473
474
  function parseWebpackCssLayerNames(params) {
474
475
  return params.split(",").map((name) => name.trim()).filter(Boolean);
475
476
  }
@@ -478,6 +479,22 @@ function removeWebpackTailwindGeneratedAssetCss(source) {
478
479
  try {
479
480
  const root = postcss.parse(cleaned);
480
481
  let changed = false;
482
+ let removingBannerPrefix = false;
483
+ for (const node of [...root.nodes]) {
484
+ if (node.type === "comment" && WEBPACK_TAILWIND_BANNER_RE.test(node.text)) {
485
+ node.remove();
486
+ changed = true;
487
+ removingBannerPrefix = true;
488
+ continue;
489
+ }
490
+ if (!removingBannerPrefix) continue;
491
+ if (isWebpackTailwindGeneratedPrefixNode(node)) {
492
+ node.remove();
493
+ changed = true;
494
+ continue;
495
+ }
496
+ removingBannerPrefix = false;
497
+ }
481
498
  root.walkAtRules("layer", (rule) => {
482
499
  const names = parseWebpackCssLayerNames(rule.params);
483
500
  const hasGeneratedLayerName = names.some((name) => WEBPACK_TAILWIND_GENERATED_LAYER_NAMES.has(name));
@@ -507,6 +524,20 @@ function removeWebpackTailwindGeneratedAssetCss(source) {
507
524
  }
508
525
  }
509
526
  });
527
+ root.walkRules((rule) => {
528
+ if (rule.parent?.type === "atrule" && rule.parent.name === "layer") return;
529
+ const selector = rule.selector.trim();
530
+ if (WEBPACK_TAILWIND_UTILITY_RULE_MARKER_RE.test(selector)) {
531
+ rule.remove();
532
+ changed = true;
533
+ }
534
+ });
535
+ root.walkComments((comment) => {
536
+ if (WEBPACK_TAILWIND_BANNER_RE.test(comment.text)) {
537
+ comment.remove();
538
+ changed = true;
539
+ }
540
+ });
510
541
  root.walkAtRules((rule) => {
511
542
  if (rule.nodes !== void 0 && rule.nodes.length === 0) {
512
543
  rule.remove();
@@ -518,6 +549,18 @@ function removeWebpackTailwindGeneratedAssetCss(source) {
518
549
  return cleaned;
519
550
  }
520
551
  }
552
+ function isWebpackTailwindGeneratedPrefixNode(node) {
553
+ if (node.type === "rule") return node.selectors.every((selector) => isWebpackTailwindGeneratedUtilitySelector(selector.trim(), true));
554
+ if (node.type !== "atrule") return false;
555
+ const names = node.name === "layer" ? parseWebpackCssLayerNames(node.params) : [];
556
+ if (node.name === "property" && node.params.trim().startsWith("--tw-")) return true;
557
+ if (names.length > 0 && names.every((name) => WEBPACK_TAILWIND_GENERATED_LAYER_NAMES.has(name))) return true;
558
+ if (node.nodes === void 0 || node.nodes.length === 0) return false;
559
+ return node.nodes.every((child) => isWebpackTailwindGeneratedPrefixNode(child));
560
+ }
561
+ function isWebpackTailwindGeneratedUtilitySelector(selector, includePrefix) {
562
+ return WEBPACK_TAILWIND_UTILITY_RULE_MARKER_RE.test(selector) || includePrefix && WEBPACK_TAILWIND_UTILITY_PREFIX_RE.test(selector);
563
+ }
521
564
  function collectWebpackCssRuleIdentityMarkers(source) {
522
565
  const markers = /* @__PURE__ */ new Set();
523
566
  try {
@@ -674,14 +717,33 @@ function resolveWebpackMemoryDebugStats(context) {
674
717
  tailwind: { v4: getTailwindV4IncrementalGenerateCacheStats() }
675
718
  };
676
719
  }
677
- function shouldInjectWebpackCssTracePreflight(appType, cssHandlerOptions) {
678
- return appType !== "mpx" || cssHandlerOptions.isMainChunk !== false;
720
+ function shouldInjectWebpackCssTracePreflight(_appType, cssHandlerOptions) {
721
+ if (includesTailwindPreflightImport(cssHandlerOptions.sourceOptions?.sourceCss)) return true;
722
+ return cssHandlerOptions.isMainChunk !== false;
723
+ }
724
+ function includesTailwindPreflightImport(source) {
725
+ if (!source) return false;
726
+ try {
727
+ let includesPreflight = false;
728
+ postcss.parse(source).walkAtRules((rule) => {
729
+ if (rule.name === "tailwind") {
730
+ includesPreflight || (includesPreflight = rule.params.trim() === "base");
731
+ return;
732
+ }
733
+ if (rule.name !== "import") return;
734
+ const request = parseImportRequest(rule.params)?.replaceAll("\\", "/");
735
+ includesPreflight || (includesPreflight = request === "tailwindcss" || request === "tailwindcss/preflight.css" || request?.endsWith("/tailwindcss/index.css") === true || request?.endsWith("/tailwindcss/preflight.css") === true);
736
+ });
737
+ return includesPreflight;
738
+ } catch {
739
+ return false;
740
+ }
679
741
  }
680
742
  function finalizeMiniProgramUserCssAssetSource(source, compilerOptions, isWebGeneratorTarget, options = {}) {
681
743
  const styleOptions = resolveStyleOptionsFromContext(compilerOptions);
682
744
  if (isWebGeneratorTarget) return source;
683
745
  return stripMiniProgramCssSpecificityPlaceholders(removeTailwindV4StandaloneHostPreflightRule(finalizeMiniProgramCss(removeMiniProgramHoverSelectors(source, styleOptions.cssRemoveHoverPseudoClass), {
684
- cssPreflight: options.cssPreflight !== false && !hasMiniProgramTailwindV4PreflightReset(source) ? compilerOptions.cssPreflight : void 0,
746
+ cssPreflight: options.cssPreflight === false ? false : !hasMiniProgramTailwindV4PreflightReset(source) ? compilerOptions.cssPreflight : void 0,
685
747
  isTailwindcssV4: true,
686
748
  tailwindcssV4GradientFallback: styleOptions.tailwindcssV4GradientFallback
687
749
  })));
@@ -759,10 +821,10 @@ function finalizeWebpackCssAssetSource(source, compilerOptions, isWebGeneratorTa
759
821
  let finalized = removeTailwindSourceDirectives(stripBundlerGeneratedCssMarkers(source), { importFallback: true });
760
822
  if (options.generatedCss !== true) return stripMiniProgramCssSpecificityPlaceholders(removeMiniProgramHoverSelectors(finalized, styleOptions.cssRemoveHoverPseudoClass));
761
823
  try {
762
- finalized = pruneMiniProgramGeneratedCss(finalized, { preservePreflight: true });
824
+ finalized = pruneMiniProgramGeneratedCss(finalized, { preservePreflight: options.cssPreflight !== false });
763
825
  } catch {
764
826
  finalized = finalizeMiniProgramCss(finalized, {
765
- cssPreflight: !hasMiniProgramTailwindV4PreflightReset(finalized) ? compilerOptions.cssPreflight : void 0,
827
+ cssPreflight: options.cssPreflight === false ? false : !hasMiniProgramTailwindV4PreflightReset(finalized) ? compilerOptions.cssPreflight : void 0,
766
828
  isTailwindcssV4: true,
767
829
  tailwindcssV4GradientFallback: styleOptions.tailwindcssV4GradientFallback
768
830
  });
@@ -814,19 +876,31 @@ function createWebpackCssSourceResolvers(options) {
814
876
  const tailwindOptions = resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
815
877
  return (tailwindOptions?.v4?.cssEntries?.length ?? 0) > 0 || (tailwindOptions?.v4?.cssSources?.length ?? 0) > 0;
816
878
  };
817
- const configuredMainCssEntryFiles = (() => {
818
- return [...resolveTailwindcssOptions(runtimeState.tailwindRuntime.options)?.v4?.cssEntries ?? []].filter((file) => typeof file === "string" && file.length > 0).map((file) => path.resolve(file));
879
+ const configuredCssEntryFiles = (() => {
880
+ const tailwindOptions = resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
881
+ const entries = [...compilerOptions.cssEntries ?? [], ...tailwindOptions?.v4?.cssEntries ?? []].filter((file) => typeof file === "string" && file.length > 0).map((file) => path.resolve(file));
882
+ return [...new Set(entries)];
819
883
  })();
884
+ const configuredMainCssEntryFiles = configuredCssEntryFiles.slice(0, 1);
820
885
  const inferredMainCssFiles = inferWebpackMainCssFiles(compilation.chunks, compilerOptions.cssMatcher, {
821
886
  mainSourceFiles: new Set(configuredMainCssEntryFiles),
822
887
  resourcesByAsset: cssAssetResources
823
888
  });
824
889
  const singleConfiguredCssAsset = isWebGeneratorTarget && configuredMainCssEntryFiles.length > 0 && groupedCssEntriesLength === 1 ? singleCssAssetFile : void 0;
825
- const isMainCssChunk = (file) => compilerOptions.mainCssChunkMatcher(file, appType) || inferredMainCssFiles.has(file) || file === singleConfiguredCssAsset;
890
+ const isMainCssChunk = (file) => {
891
+ const resources = cssAssetResources.get(file);
892
+ if (resources && configuredCssEntryFiles.length > 0) for (const resource of resources) {
893
+ const index = configuredCssEntryFiles.findIndex((entry) => path.resolve(entry) === path.resolve(resource));
894
+ if (index >= 0) return index === 0;
895
+ }
896
+ if (configuredCssEntryFiles.length > 1) return false;
897
+ return compilerOptions.mainCssChunkMatcher(file, appType) || inferredMainCssFiles.has(file) || file === singleConfiguredCssAsset;
898
+ };
826
899
  const activeWebpackCssSourceFiles = /* @__PURE__ */ new Set();
827
900
  const resolveConfiguredMainCssSourceFile = (file) => {
828
901
  if (!isMainCssChunk(file)) return;
829
902
  if (configuredMainCssEntryFiles.length !== 1) return;
903
+ if (groupedCssEntriesLength !== 1 && file !== singleCssAssetFile) return;
830
904
  for (const sourceFile of configuredMainCssEntryFiles) if (cssSources.has(sourceFile)) {
831
905
  activeWebpackCssSourceFiles.add(sourceFile);
832
906
  return sourceFile;
@@ -1685,7 +1759,10 @@ function setupWebpackV5ProcessAssetsHook(options) {
1685
1759
  },
1686
1760
  transform: async () => {
1687
1761
  const source = readCurrentProcessedRawSource();
1688
- const nextCss = stripTrailingLineWhitespace(finalizeCssAssetSource(hasTailwindGeneratedAssetCss && !hasGeneratedCssMarker ? isWebGeneratorTarget ? source : (await compilerOptions.styleHandler(source, cssHandlerOptionsForProcessedAsset)).css : source, { generatedCss: hasGeneratedCssMarker || hasTailwindGeneratedAssetCss }));
1762
+ const nextCss = stripTrailingLineWhitespace(finalizeCssAssetSource(hasTailwindGeneratedAssetCss && !hasGeneratedCssMarker ? isWebGeneratorTarget ? source : (await compilerOptions.styleHandler(source, cssHandlerOptionsForProcessedAsset)).css : source, {
1763
+ cssPreflight: cssHandlerOptionsForProcessedAsset.isMainChunk,
1764
+ generatedCss: hasGeneratedCssMarker || hasTailwindGeneratedAssetCss
1765
+ }));
1689
1766
  debug("css skip webpack-loader-pipeline asset: %s", file);
1690
1767
  return { result: new ConcatSource(finalizeTracedCss(nextCss, cssHandlerOptionsForProcessedAsset)) };
1691
1768
  }
@@ -1771,7 +1848,10 @@ function setupWebpackV5ProcessAssetsHook(options) {
1771
1848
  }, {
1772
1849
  css: currentAssetUserCss,
1773
1850
  processed: true
1774
- }).css, { generatedCss: true }), cssHandlerOptions);
1851
+ }).css, {
1852
+ cssPreflight: cssHandlerOptions.isMainChunk,
1853
+ generatedCss: true
1854
+ }), cssHandlerOptions);
1775
1855
  debug("css consume webpack loader generation: %s <- %s", file, sourceFile);
1776
1856
  return { result: new ConcatSource(css) };
1777
1857
  }
@@ -1805,7 +1885,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
1805
1885
  const fallbackGeneratorRuntimeSet = getGeneratorRuntimeSet();
1806
1886
  const hasExplicitTailwindV4SourceCss = sourceCss !== void 0 && (hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || sourceCss.includes("@config"));
1807
1887
  const currentAssetHasTailwindDirectives = hasTailwindRootDirectives(generatorRawSource, { importFallback: true }) || hasTailwindSourceDirectives(generatorRawSource, { importFallback: true }) || hasTailwindApplyDirective(generatorRawSource);
1808
- const shouldForceTailwindV4Generation = cssHandlerOptions.isMainChunk && hasConfiguredTailwindV4SourceRoots() && (configuredMainCssEntryFiles.length > 0 || currentAssetHasTailwindDirectives || hasExplicitTailwindV4SourceCss);
1888
+ const shouldForceTailwindV4Generation = hasConfiguredTailwindV4SourceRoots() && (configuredMainCssEntryFiles.length > 0 && sourceFile !== void 0 || currentAssetHasTailwindDirectives || hasExplicitTailwindV4SourceCss);
1809
1889
  const shouldSkipUnmatchedMainCssGeneration = !isWebGeneratorTarget && cssHandlerOptions.isMainChunk && sourceFile === void 0 && configuredMainCssEntryFiles.length > 0 && !currentAssetHasTailwindDirectives;
1810
1890
  const resolvedScopedGeneratorRuntimeSet = await createScopedGeneratorRuntime({
1811
1891
  cssHandlerOptions,
@@ -1868,7 +1948,10 @@ function setupWebpackV5ProcessAssetsHook(options) {
1868
1948
  }, {
1869
1949
  css: removeWebpackTailwindGeneratedAssetCss(currentRawSource),
1870
1950
  processed: true
1871
- })?.css ?? generated.css : generated.css, { generatedCss: true }) : isWebGeneratorTarget ? finalizeCssAssetSource(generatorRawSource, { generatedCss: false }) : finalizeCssAssetSource((await compilerOptions.styleHandler(generatorRawSource, cssHandlerOptions)).css, { generatedCss: false }), cssHandlerOptions));
1951
+ })?.css ?? generated.css : generated.css, {
1952
+ cssPreflight: cssHandlerOptions.isMainChunk,
1953
+ generatedCss: true
1954
+ }) : isWebGeneratorTarget ? finalizeCssAssetSource(generatorRawSource, { generatedCss: false }) : finalizeCssAssetSource((await compilerOptions.styleHandler(generatorRawSource, cssHandlerOptions)).css, { generatedCss: false }), cssHandlerOptions));
1872
1955
  if (generated) {
1873
1956
  for (const className of generated.classSet) generatorRuntimeSet.add(className);
1874
1957
  debug("css handle via tailwind v%s engine(%s): %s", runtimeState.tailwindRuntime.majorVersion, generated.target, file);
@@ -1916,7 +1999,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
1916
1999
  });
1917
2000
  }
1918
2001
  //#endregion
1919
- //#region ../../node_modules/.pnpm/tsdown@0.22.3_oxc-resolver@11.20.0_tsx@4.22.4_typescript@6.0.3_unrun@0.2.37_synckit@0.1_6cbb3bb94bab8b3379a6056ffc71c3e9/node_modules/tsdown/esm-shims.js
2002
+ //#region ../../node_modules/.pnpm/tsdown@0.22.3_oxc-resolver@11.20.0_tsx@4.22.4_typescript@6.0.3_unrun@0.2.37_synckit@0.1_0beb1ab7e72f5f18144e3bcca1caefc0/node_modules/tsdown/esm-shims.js
1920
2003
  const getFilename = () => fileURLToPath(import.meta.url);
1921
2004
  const getDirname = () => path.dirname(getFilename());
1922
2005
  const __dirname = /* @__PURE__ */ getDirname();
@@ -2152,7 +2235,7 @@ var WeappTailwindcss = class {
2152
2235
  }
2153
2236
  apply(compiler) {
2154
2237
  compiler.options = compiler.options || {};
2155
- const { disabled, onLoad, runtimeLoaderPath, tailwindRuntime, refreshTailwindcssRuntime } = this.options;
2238
+ const { disabled, onLoad, runtimeLoaderPath, tailwindRuntime, refreshTailwindcssRuntime, styleInjector } = this.options;
2156
2239
  const initialTailwindRuntime = tailwindRuntime;
2157
2240
  const refreshTailwindRuntime = refreshTailwindcssRuntime;
2158
2241
  const disabledOptions = resolvePluginDisabledState(disabled);
@@ -2272,6 +2355,7 @@ var WeappTailwindcss = class {
2272
2355
  const pruneWebpackCssSources = (activeSourceFiles, _options = {}) => {
2273
2356
  const tailwindOptions = resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
2274
2357
  const configuredSourceFiles = /* @__PURE__ */ new Set();
2358
+ for (const entry of this.options.cssEntries ?? []) configuredSourceFiles.add(path.resolve(entry));
2275
2359
  for (const entry of tailwindOptions?.v4?.cssEntries ?? []) configuredSourceFiles.add(path.resolve(entry));
2276
2360
  for (const source of tailwindOptions?.v4?.cssSources ?? []) if (source.file) configuredSourceFiles.add(path.resolve(source.file));
2277
2361
  for (const file of webpackCssSources.keys()) if (!activeSourceFiles.has(file) && !configuredSourceFiles.has(file)) webpackCssSources.delete(file);
@@ -2280,6 +2364,7 @@ var WeappTailwindcss = class {
2280
2364
  const prepareWebpackCssSources = (activeAssetResources = /* @__PURE__ */ new Set()) => {
2281
2365
  const tailwindOptions = resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
2282
2366
  const configuredSourceFiles = /* @__PURE__ */ new Set();
2367
+ for (const entry of this.options.cssEntries ?? []) configuredSourceFiles.add(path.resolve(entry));
2283
2368
  for (const entry of tailwindOptions?.v4?.cssEntries ?? []) configuredSourceFiles.add(path.resolve(entry));
2284
2369
  for (const source of tailwindOptions?.v4?.cssSources ?? []) if (source.file) configuredSourceFiles.add(path.resolve(source.file));
2285
2370
  const activeSourceFiles = /* @__PURE__ */ new Set([
@@ -2296,6 +2381,7 @@ var WeappTailwindcss = class {
2296
2381
  const isWebpackProcessedTailwindEntryAsset = (isMainCssChunk) => {
2297
2382
  if (isMainCssChunk !== true || webpackProcessedCssSourceFiles.size === 0) return false;
2298
2383
  const tailwindOptions = resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
2384
+ for (const entry of this.options.cssEntries ?? []) if (webpackProcessedCssSourceFiles.has(path.resolve(entry))) return true;
2299
2385
  for (const entry of tailwindOptions?.v4?.cssEntries ?? []) if (webpackProcessedCssSourceFiles.has(path.resolve(entry))) return true;
2300
2386
  for (const source of tailwindOptions?.v4?.cssSources ?? []) if (source.file && webpackProcessedCssSourceFiles.has(path.resolve(source.file))) return true;
2301
2387
  return false;
@@ -2376,6 +2462,7 @@ var WeappTailwindcss = class {
2376
2462
  prepareWebpackCssSources,
2377
2463
  debug
2378
2464
  });
2465
+ createBuiltinWebpackStyleInjectorPlugin(styleInjector, this.appType)?.apply(compiler);
2379
2466
  }
2380
2467
  };
2381
2468
  //#endregion
@@ -1,11 +1,11 @@
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");
2
+ const require_v4_engine = require("./v4-engine-CKtsdKxK.js");
3
+ const require_generator = require("./generator-CilgHtxb.js");
4
4
  const require_utils = require("./utils-D3h8j7Mk.js");
5
- const require_context = require("./context-D75pwtBW.js");
6
- const require_tailwindcss = require("./tailwindcss-BSCvrs1p.js");
7
- const require_hmr_timing = require("./hmr-timing-DOoHun3i.js");
8
- const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-DzwebZrf.js");
5
+ const require_context = require("./context-BziwyWy1.js");
6
+ const require_tailwindcss = require("./tailwindcss-BwoNQ3t8.js");
7
+ const require_hmr_timing = require("./hmr-timing-BKdCeIrn.js");
8
+ const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-DIj9m4wB.js");
9
9
  let node_fs = require("node:fs");
10
10
  node_fs = require_rolldown_runtime.__toESM(node_fs);
11
11
  let node_path = require("node:path");
@@ -476,6 +476,7 @@ const WEBPACK_TAILWIND_GENERATED_LAYER_NAMES = /* @__PURE__ */ new Set([
476
476
  ]);
477
477
  const WEBPACK_TAILWIND_UTILITY_RULE_MARKER_RE = /(?:^|[^\w-])\.[^,{]{0,512}(?:\\:|\\\[|\\#)/;
478
478
  const WEBPACK_TAILWIND_UTILITY_PREFIX_RE = /^\.(?:-?(?:bg|text|border|ring|shadow|drop-shadow|[pmwhz]|px|py|pt|pr|pb|pl|mx|my|mt|mr|mb|ml|min-w|min-h|max-w|max-h|flex|grid|inline|block|hidden|rounded|opacity|translate|scale|rotate|skew|top|right|bottom|left|inset|gap|font|leading|tracking|underline|container)(?:[\-\\{]|$)|\\\[)/;
479
+ const WEBPACK_TAILWIND_BANNER_RE = /tailwindcss v4\./;
479
480
  function parseWebpackCssLayerNames(params) {
480
481
  return params.split(",").map((name) => name.trim()).filter(Boolean);
481
482
  }
@@ -484,6 +485,22 @@ function removeWebpackTailwindGeneratedAssetCss(source) {
484
485
  try {
485
486
  const root = _weapp_tailwindcss_postcss.postcss.parse(cleaned);
486
487
  let changed = false;
488
+ let removingBannerPrefix = false;
489
+ for (const node of [...root.nodes]) {
490
+ if (node.type === "comment" && WEBPACK_TAILWIND_BANNER_RE.test(node.text)) {
491
+ node.remove();
492
+ changed = true;
493
+ removingBannerPrefix = true;
494
+ continue;
495
+ }
496
+ if (!removingBannerPrefix) continue;
497
+ if (isWebpackTailwindGeneratedPrefixNode(node)) {
498
+ node.remove();
499
+ changed = true;
500
+ continue;
501
+ }
502
+ removingBannerPrefix = false;
503
+ }
487
504
  root.walkAtRules("layer", (rule) => {
488
505
  const names = parseWebpackCssLayerNames(rule.params);
489
506
  const hasGeneratedLayerName = names.some((name) => WEBPACK_TAILWIND_GENERATED_LAYER_NAMES.has(name));
@@ -513,6 +530,20 @@ function removeWebpackTailwindGeneratedAssetCss(source) {
513
530
  }
514
531
  }
515
532
  });
533
+ root.walkRules((rule) => {
534
+ if (rule.parent?.type === "atrule" && rule.parent.name === "layer") return;
535
+ const selector = rule.selector.trim();
536
+ if (WEBPACK_TAILWIND_UTILITY_RULE_MARKER_RE.test(selector)) {
537
+ rule.remove();
538
+ changed = true;
539
+ }
540
+ });
541
+ root.walkComments((comment) => {
542
+ if (WEBPACK_TAILWIND_BANNER_RE.test(comment.text)) {
543
+ comment.remove();
544
+ changed = true;
545
+ }
546
+ });
516
547
  root.walkAtRules((rule) => {
517
548
  if (rule.nodes !== void 0 && rule.nodes.length === 0) {
518
549
  rule.remove();
@@ -524,6 +555,18 @@ function removeWebpackTailwindGeneratedAssetCss(source) {
524
555
  return cleaned;
525
556
  }
526
557
  }
558
+ function isWebpackTailwindGeneratedPrefixNode(node) {
559
+ if (node.type === "rule") return node.selectors.every((selector) => isWebpackTailwindGeneratedUtilitySelector(selector.trim(), true));
560
+ if (node.type !== "atrule") return false;
561
+ const names = node.name === "layer" ? parseWebpackCssLayerNames(node.params) : [];
562
+ if (node.name === "property" && node.params.trim().startsWith("--tw-")) return true;
563
+ if (names.length > 0 && names.every((name) => WEBPACK_TAILWIND_GENERATED_LAYER_NAMES.has(name))) return true;
564
+ if (node.nodes === void 0 || node.nodes.length === 0) return false;
565
+ return node.nodes.every((child) => isWebpackTailwindGeneratedPrefixNode(child));
566
+ }
567
+ function isWebpackTailwindGeneratedUtilitySelector(selector, includePrefix) {
568
+ return WEBPACK_TAILWIND_UTILITY_RULE_MARKER_RE.test(selector) || includePrefix && WEBPACK_TAILWIND_UTILITY_PREFIX_RE.test(selector);
569
+ }
527
570
  function collectWebpackCssRuleIdentityMarkers(source) {
528
571
  const markers = /* @__PURE__ */ new Set();
529
572
  try {
@@ -680,14 +723,33 @@ function resolveWebpackMemoryDebugStats(context) {
680
723
  tailwind: { v4: require_v4_engine.getTailwindV4IncrementalGenerateCacheStats() }
681
724
  };
682
725
  }
683
- function shouldInjectWebpackCssTracePreflight(appType, cssHandlerOptions) {
684
- return appType !== "mpx" || cssHandlerOptions.isMainChunk !== false;
726
+ function shouldInjectWebpackCssTracePreflight(_appType, cssHandlerOptions) {
727
+ if (includesTailwindPreflightImport(cssHandlerOptions.sourceOptions?.sourceCss)) return true;
728
+ return cssHandlerOptions.isMainChunk !== false;
729
+ }
730
+ function includesTailwindPreflightImport(source) {
731
+ if (!source) return false;
732
+ try {
733
+ let includesPreflight = false;
734
+ _weapp_tailwindcss_postcss.postcss.parse(source).walkAtRules((rule) => {
735
+ if (rule.name === "tailwind") {
736
+ includesPreflight || (includesPreflight = rule.params.trim() === "base");
737
+ return;
738
+ }
739
+ if (rule.name !== "import") return;
740
+ const request = require_v4_engine.parseImportRequest(rule.params)?.replaceAll("\\", "/");
741
+ includesPreflight || (includesPreflight = request === "tailwindcss" || request === "tailwindcss/preflight.css" || request?.endsWith("/tailwindcss/index.css") === true || request?.endsWith("/tailwindcss/preflight.css") === true);
742
+ });
743
+ return includesPreflight;
744
+ } catch {
745
+ return false;
746
+ }
685
747
  }
686
748
  function finalizeMiniProgramUserCssAssetSource(source, compilerOptions, isWebGeneratorTarget, options = {}) {
687
749
  const styleOptions = require_context.resolveStyleOptionsFromContext(compilerOptions);
688
750
  if (isWebGeneratorTarget) return source;
689
751
  return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(removeTailwindV4StandaloneHostPreflightRule((0, _weapp_tailwindcss_postcss.finalizeMiniProgramCss)(require_hmr_timing.removeMiniProgramHoverSelectors(source, styleOptions.cssRemoveHoverPseudoClass), {
690
- cssPreflight: options.cssPreflight !== false && !require_hmr_timing.hasMiniProgramTailwindV4PreflightReset(source) ? compilerOptions.cssPreflight : void 0,
752
+ cssPreflight: options.cssPreflight === false ? false : !require_hmr_timing.hasMiniProgramTailwindV4PreflightReset(source) ? compilerOptions.cssPreflight : void 0,
691
753
  isTailwindcssV4: true,
692
754
  tailwindcssV4GradientFallback: styleOptions.tailwindcssV4GradientFallback
693
755
  })));
@@ -765,10 +827,10 @@ function finalizeWebpackCssAssetSource(source, compilerOptions, isWebGeneratorTa
765
827
  let finalized = require_v4_engine.removeTailwindSourceDirectives(require_source_candidate_scan_signature.stripBundlerGeneratedCssMarkers(source), { importFallback: true });
766
828
  if (options.generatedCss !== true) return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(require_hmr_timing.removeMiniProgramHoverSelectors(finalized, styleOptions.cssRemoveHoverPseudoClass));
767
829
  try {
768
- finalized = (0, _weapp_tailwindcss_postcss.pruneMiniProgramGeneratedCss)(finalized, { preservePreflight: true });
830
+ finalized = (0, _weapp_tailwindcss_postcss.pruneMiniProgramGeneratedCss)(finalized, { preservePreflight: options.cssPreflight !== false });
769
831
  } catch {
770
832
  finalized = (0, _weapp_tailwindcss_postcss.finalizeMiniProgramCss)(finalized, {
771
- cssPreflight: !require_hmr_timing.hasMiniProgramTailwindV4PreflightReset(finalized) ? compilerOptions.cssPreflight : void 0,
833
+ cssPreflight: options.cssPreflight === false ? false : !require_hmr_timing.hasMiniProgramTailwindV4PreflightReset(finalized) ? compilerOptions.cssPreflight : void 0,
772
834
  isTailwindcssV4: true,
773
835
  tailwindcssV4GradientFallback: styleOptions.tailwindcssV4GradientFallback
774
836
  });
@@ -820,19 +882,31 @@ function createWebpackCssSourceResolvers(options) {
820
882
  const tailwindOptions = require_v4_engine.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
821
883
  return (tailwindOptions?.v4?.cssEntries?.length ?? 0) > 0 || (tailwindOptions?.v4?.cssSources?.length ?? 0) > 0;
822
884
  };
823
- const configuredMainCssEntryFiles = (() => {
824
- return [...require_v4_engine.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options)?.v4?.cssEntries ?? []].filter((file) => typeof file === "string" && file.length > 0).map((file) => node_path.default.resolve(file));
885
+ const configuredCssEntryFiles = (() => {
886
+ const tailwindOptions = require_v4_engine.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
887
+ const entries = [...compilerOptions.cssEntries ?? [], ...tailwindOptions?.v4?.cssEntries ?? []].filter((file) => typeof file === "string" && file.length > 0).map((file) => node_path.default.resolve(file));
888
+ return [...new Set(entries)];
825
889
  })();
890
+ const configuredMainCssEntryFiles = configuredCssEntryFiles.slice(0, 1);
826
891
  const inferredMainCssFiles = inferWebpackMainCssFiles(compilation.chunks, compilerOptions.cssMatcher, {
827
892
  mainSourceFiles: new Set(configuredMainCssEntryFiles),
828
893
  resourcesByAsset: cssAssetResources
829
894
  });
830
895
  const singleConfiguredCssAsset = isWebGeneratorTarget && configuredMainCssEntryFiles.length > 0 && groupedCssEntriesLength === 1 ? singleCssAssetFile : void 0;
831
- const isMainCssChunk = (file) => compilerOptions.mainCssChunkMatcher(file, appType) || inferredMainCssFiles.has(file) || file === singleConfiguredCssAsset;
896
+ const isMainCssChunk = (file) => {
897
+ const resources = cssAssetResources.get(file);
898
+ if (resources && configuredCssEntryFiles.length > 0) for (const resource of resources) {
899
+ const index = configuredCssEntryFiles.findIndex((entry) => node_path.default.resolve(entry) === node_path.default.resolve(resource));
900
+ if (index >= 0) return index === 0;
901
+ }
902
+ if (configuredCssEntryFiles.length > 1) return false;
903
+ return compilerOptions.mainCssChunkMatcher(file, appType) || inferredMainCssFiles.has(file) || file === singleConfiguredCssAsset;
904
+ };
832
905
  const activeWebpackCssSourceFiles = /* @__PURE__ */ new Set();
833
906
  const resolveConfiguredMainCssSourceFile = (file) => {
834
907
  if (!isMainCssChunk(file)) return;
835
908
  if (configuredMainCssEntryFiles.length !== 1) return;
909
+ if (groupedCssEntriesLength !== 1 && file !== singleCssAssetFile) return;
836
910
  for (const sourceFile of configuredMainCssEntryFiles) if (cssSources.has(sourceFile)) {
837
911
  activeWebpackCssSourceFiles.add(sourceFile);
838
912
  return sourceFile;
@@ -1691,7 +1765,10 @@ function setupWebpackV5ProcessAssetsHook(options) {
1691
1765
  },
1692
1766
  transform: async () => {
1693
1767
  const source = readCurrentProcessedRawSource();
1694
- const nextCss = stripTrailingLineWhitespace(finalizeCssAssetSource(hasTailwindGeneratedAssetCss && !hasGeneratedCssMarker ? isWebGeneratorTarget ? source : (await compilerOptions.styleHandler(source, cssHandlerOptionsForProcessedAsset)).css : source, { generatedCss: hasGeneratedCssMarker || hasTailwindGeneratedAssetCss }));
1768
+ const nextCss = stripTrailingLineWhitespace(finalizeCssAssetSource(hasTailwindGeneratedAssetCss && !hasGeneratedCssMarker ? isWebGeneratorTarget ? source : (await compilerOptions.styleHandler(source, cssHandlerOptionsForProcessedAsset)).css : source, {
1769
+ cssPreflight: cssHandlerOptionsForProcessedAsset.isMainChunk,
1770
+ generatedCss: hasGeneratedCssMarker || hasTailwindGeneratedAssetCss
1771
+ }));
1695
1772
  debug("css skip webpack-loader-pipeline asset: %s", file);
1696
1773
  return { result: new ConcatSource(finalizeTracedCss(nextCss, cssHandlerOptionsForProcessedAsset)) };
1697
1774
  }
@@ -1777,7 +1854,10 @@ function setupWebpackV5ProcessAssetsHook(options) {
1777
1854
  }, {
1778
1855
  css: currentAssetUserCss,
1779
1856
  processed: true
1780
- }).css, { generatedCss: true }), cssHandlerOptions);
1857
+ }).css, {
1858
+ cssPreflight: cssHandlerOptions.isMainChunk,
1859
+ generatedCss: true
1860
+ }), cssHandlerOptions);
1781
1861
  debug("css consume webpack loader generation: %s <- %s", file, sourceFile);
1782
1862
  return { result: new ConcatSource(css) };
1783
1863
  }
@@ -1807,11 +1887,11 @@ function setupWebpackV5ProcessAssetsHook(options) {
1807
1887
  }),
1808
1888
  sourceCssProcessed
1809
1889
  }), registeredUserRawSource);
1810
- if (require_hmr_timing.isPureLocalCssImportWrapper(currentRawSource)) return { result: new ConcatSource(require_v4_engine.removeTailwindSourceDirectives(require_source_candidate_scan_signature.stripBundlerGeneratedCssMarkers(currentRawSource), { importFallback: true })) };
1890
+ if ((0, _weapp_tailwindcss_postcss.isPureLocalCssImportWrapper)(currentRawSource)) return { result: new ConcatSource(require_v4_engine.removeTailwindSourceDirectives(require_source_candidate_scan_signature.stripBundlerGeneratedCssMarkers(currentRawSource), { importFallback: true })) };
1811
1891
  const fallbackGeneratorRuntimeSet = getGeneratorRuntimeSet();
1812
1892
  const hasExplicitTailwindV4SourceCss = sourceCss !== void 0 && (require_v4_engine.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || sourceCss.includes("@config"));
1813
1893
  const currentAssetHasTailwindDirectives = require_v4_engine.hasTailwindRootDirectives(generatorRawSource, { importFallback: true }) || require_v4_engine.hasTailwindSourceDirectives(generatorRawSource, { importFallback: true }) || require_v4_engine.hasTailwindApplyDirective(generatorRawSource);
1814
- const shouldForceTailwindV4Generation = cssHandlerOptions.isMainChunk && hasConfiguredTailwindV4SourceRoots() && (configuredMainCssEntryFiles.length > 0 || currentAssetHasTailwindDirectives || hasExplicitTailwindV4SourceCss);
1894
+ const shouldForceTailwindV4Generation = hasConfiguredTailwindV4SourceRoots() && (configuredMainCssEntryFiles.length > 0 && sourceFile !== void 0 || currentAssetHasTailwindDirectives || hasExplicitTailwindV4SourceCss);
1815
1895
  const shouldSkipUnmatchedMainCssGeneration = !isWebGeneratorTarget && cssHandlerOptions.isMainChunk && sourceFile === void 0 && configuredMainCssEntryFiles.length > 0 && !currentAssetHasTailwindDirectives;
1816
1896
  const resolvedScopedGeneratorRuntimeSet = await require_source_candidate_scan_signature.createScopedGeneratorRuntime({
1817
1897
  cssHandlerOptions,
@@ -1874,7 +1954,10 @@ function setupWebpackV5ProcessAssetsHook(options) {
1874
1954
  }, {
1875
1955
  css: removeWebpackTailwindGeneratedAssetCss(currentRawSource),
1876
1956
  processed: true
1877
- })?.css ?? generated.css : generated.css, { generatedCss: true }) : isWebGeneratorTarget ? finalizeCssAssetSource(generatorRawSource, { generatedCss: false }) : finalizeCssAssetSource((await compilerOptions.styleHandler(generatorRawSource, cssHandlerOptions)).css, { generatedCss: false }), cssHandlerOptions));
1957
+ })?.css ?? generated.css : generated.css, {
1958
+ cssPreflight: cssHandlerOptions.isMainChunk,
1959
+ generatedCss: true
1960
+ }) : isWebGeneratorTarget ? finalizeCssAssetSource(generatorRawSource, { generatedCss: false }) : finalizeCssAssetSource((await compilerOptions.styleHandler(generatorRawSource, cssHandlerOptions)).css, { generatedCss: false }), cssHandlerOptions));
1878
1961
  if (generated) {
1879
1962
  for (const className of generated.classSet) generatorRuntimeSet.add(className);
1880
1963
  debug("css handle via tailwind v%s engine(%s): %s", runtimeState.tailwindRuntime.majorVersion, generated.target, file);
@@ -2153,7 +2236,7 @@ var WeappTailwindcss = class {
2153
2236
  }
2154
2237
  apply(compiler) {
2155
2238
  compiler.options = compiler.options || {};
2156
- const { disabled, onLoad, runtimeLoaderPath, tailwindRuntime, refreshTailwindcssRuntime } = this.options;
2239
+ const { disabled, onLoad, runtimeLoaderPath, tailwindRuntime, refreshTailwindcssRuntime, styleInjector } = this.options;
2157
2240
  const initialTailwindRuntime = tailwindRuntime;
2158
2241
  const refreshTailwindRuntime = refreshTailwindcssRuntime;
2159
2242
  const disabledOptions = require_source_candidate_scan_signature.resolvePluginDisabledState(disabled);
@@ -2273,6 +2356,7 @@ var WeappTailwindcss = class {
2273
2356
  const pruneWebpackCssSources = (activeSourceFiles, _options = {}) => {
2274
2357
  const tailwindOptions = require_v4_engine.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
2275
2358
  const configuredSourceFiles = /* @__PURE__ */ new Set();
2359
+ for (const entry of this.options.cssEntries ?? []) configuredSourceFiles.add(node_path.default.resolve(entry));
2276
2360
  for (const entry of tailwindOptions?.v4?.cssEntries ?? []) configuredSourceFiles.add(node_path.default.resolve(entry));
2277
2361
  for (const source of tailwindOptions?.v4?.cssSources ?? []) if (source.file) configuredSourceFiles.add(node_path.default.resolve(source.file));
2278
2362
  for (const file of webpackCssSources.keys()) if (!activeSourceFiles.has(file) && !configuredSourceFiles.has(file)) webpackCssSources.delete(file);
@@ -2281,6 +2365,7 @@ var WeappTailwindcss = class {
2281
2365
  const prepareWebpackCssSources = (activeAssetResources = /* @__PURE__ */ new Set()) => {
2282
2366
  const tailwindOptions = require_v4_engine.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
2283
2367
  const configuredSourceFiles = /* @__PURE__ */ new Set();
2368
+ for (const entry of this.options.cssEntries ?? []) configuredSourceFiles.add(node_path.default.resolve(entry));
2284
2369
  for (const entry of tailwindOptions?.v4?.cssEntries ?? []) configuredSourceFiles.add(node_path.default.resolve(entry));
2285
2370
  for (const source of tailwindOptions?.v4?.cssSources ?? []) if (source.file) configuredSourceFiles.add(node_path.default.resolve(source.file));
2286
2371
  const activeSourceFiles = /* @__PURE__ */ new Set([
@@ -2297,6 +2382,7 @@ var WeappTailwindcss = class {
2297
2382
  const isWebpackProcessedTailwindEntryAsset = (isMainCssChunk) => {
2298
2383
  if (isMainCssChunk !== true || webpackProcessedCssSourceFiles.size === 0) return false;
2299
2384
  const tailwindOptions = require_v4_engine.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
2385
+ for (const entry of this.options.cssEntries ?? []) if (webpackProcessedCssSourceFiles.has(node_path.default.resolve(entry))) return true;
2300
2386
  for (const entry of tailwindOptions?.v4?.cssEntries ?? []) if (webpackProcessedCssSourceFiles.has(node_path.default.resolve(entry))) return true;
2301
2387
  for (const source of tailwindOptions?.v4?.cssSources ?? []) if (source.file && webpackProcessedCssSourceFiles.has(node_path.default.resolve(source.file))) return true;
2302
2388
  return false;
@@ -2377,6 +2463,7 @@ var WeappTailwindcss = class {
2377
2463
  prepareWebpackCssSources,
2378
2464
  debug
2379
2465
  });
2466
+ require_source_candidate_scan_signature.createBuiltinWebpackStyleInjectorPlugin(styleInjector, this.appType)?.apply(compiler);
2380
2467
  }
2381
2468
  };
2382
2469
  //#endregion
package/dist/webpack.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_webpack = require("./webpack-hvSFaicc.js");
2
+ const require_webpack = require("./webpack-DN3tgLbF.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-DEag6ueE.mjs";
1
+ import { n as weappTailwindcssPackageDir, t as WeappTailwindcss } from "./webpack-DBhmJ-_P.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.1.3",
3
+ "version": "5.1.5",
4
4
  "description": "把 tailwindcss 原子化样式思想,带给小程序开发者们! bring tailwindcss to miniprogram developers!",
5
5
  "author": "ice breaker <1324318532@qq.com>",
6
6
  "license": "MIT",
@@ -172,16 +172,26 @@
172
172
  "engines": {
173
173
  "node": "^20.19.0 || >=22.12.0"
174
174
  },
175
+ "tsd": {
176
+ "compilerOptions": {
177
+ "module": "NodeNext",
178
+ "moduleResolution": "NodeNext",
179
+ "paths": {
180
+ "@/*": [
181
+ "./src/*"
182
+ ]
183
+ }
184
+ }
185
+ },
175
186
  "publishConfig": {
176
187
  "access": "public",
177
188
  "registry": "https://registry.npmjs.org"
178
189
  },
179
190
  "dependencies": {
180
- "@ast-core/escape": "~1.0.1",
181
191
  "@babel/parser": "~7.29.7",
182
192
  "@babel/traverse": "~7.29.7",
183
193
  "@babel/types": "~7.29.7",
184
- "@tailwindcss-mangle/engine": "0.1.1",
194
+ "@tailwindcss-mangle/engine": "0.1.2",
185
195
  "@vue/compiler-dom": "^3.5.39",
186
196
  "@weapp-core/escape": "~8.0.0",
187
197
  "comment-json": "^5.0.0",
@@ -194,10 +204,11 @@
194
204
  "semver": "~7.8.5",
195
205
  "yaml": "^2.9.0",
196
206
  "@weapp-tailwindcss/logger": "2.0.0",
197
- "@weapp-tailwindcss/postcss": "3.1.3",
207
+ "@weapp-tailwindcss/postcss": "3.1.5",
198
208
  "@weapp-tailwindcss/reset": "0.1.1",
199
209
  "@weapp-tailwindcss/shared": "2.0.0",
200
- "tailwindcss-config": "2.0.0"
210
+ "tailwindcss-config": "2.0.1",
211
+ "weapp-style-injector": "1.0.0"
201
212
  },
202
213
  "devDependencies": {
203
214
  "htmlparser2": "12.0.0"
@@ -1,13 +0,0 @@
1
- import { hasCssMacroStyleOptions, hasCssMacroTailwindV4Directive, transformCssMacroCss, withCssMacroStyleOptions } from "@weapp-tailwindcss/postcss";
2
- //#region src/css-macro/auto.ts
3
- const CSS_MACRO_PLUGIN_MARKER = "__weappTailwindcssCssMacro";
4
- function markCssMacroPlugin(value) {
5
- Object.defineProperty(value, CSS_MACRO_PLUGIN_MARKER, {
6
- configurable: false,
7
- enumerable: false,
8
- value: true
9
- });
10
- return value;
11
- }
12
- //#endregion
13
- export { withCssMacroStyleOptions as a, transformCssMacroCss as i, hasCssMacroTailwindV4Directive as n, markCssMacroPlugin as r, hasCssMacroStyleOptions as t };