weapp-tailwindcss 5.2.4 → 5.2.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 (30) hide show
  1. package/dist/bundlers/shared/generator-css/source-resolver/apply-reference.d.ts +11 -4
  2. package/dist/bundlers/vite/hot-css-modules.d.ts +1 -1
  3. package/dist/bundlers/vite/shared/create-framework-plugins.d.ts +2 -0
  4. package/dist/bundlers/vite/shared/framework-tailwind-root-css.d.ts +19 -0
  5. package/dist/{gulp-Nhszi1kK.cjs → gulp-CPIE1yPk.cjs} +2 -2
  6. package/dist/{gulp-DSi73qr-.js → gulp-DCItlfoq.js} +1 -1
  7. package/dist/gulp.cjs +1 -1
  8. package/dist/gulp.js +1 -1
  9. package/dist/{hmr-timing-WgN_3dIC.js → hmr-timing-BevXxu6p.js} +20 -3
  10. package/dist/{hmr-timing-Cye_A4mI.cjs → hmr-timing-Chyd_Yfw.cjs} +1 -1
  11. package/dist/index.cjs +3 -3
  12. package/dist/index.js +3 -3
  13. package/dist/{pipeline-helpers-DMO0otI8.cjs → pipeline-helpers-Cwv-X4Rj.cjs} +1 -1
  14. package/dist/rspack.cjs +1 -1
  15. package/dist/rspack.js +1 -1
  16. package/dist/{source-candidate-scan-signature-D4X_VprL.cjs → source-candidate-scan-signature-DG5mQZ8o.cjs} +1 -1
  17. package/dist/{source-candidate-scan-signature-ZozKGBbH.js → source-candidate-scan-signature-DLFqYads.js} +1 -1
  18. package/dist/uni-app-x/vite/native-hmr.d.ts +13 -0
  19. package/dist/uni-app-x/vite.d.ts +6 -5
  20. package/dist/{v4-generation-core-CDI6ChiH.cjs → v4-generation-core-Dtmu8Yax.cjs} +20 -3
  21. package/dist/{vite-DTWQPkyq.js → vite-Bk1YU9L0.js} +240 -161
  22. package/dist/{vite-BvbnZ6aZ.cjs → vite-DmN_Y8Uk.cjs} +241 -162
  23. package/dist/vite.cjs +1 -1
  24. package/dist/vite.js +1 -1
  25. package/dist/weapp-tw-css-import-rewrite-loader.cjs +2 -2
  26. package/dist/{webpack-Rx3u2_2x.js → webpack-DtkSnYyR.js} +2 -2
  27. package/dist/{webpack-B2ojv_HI.cjs → webpack-DvmrFist.cjs} +4 -4
  28. package/dist/webpack.cjs +1 -1
  29. package/dist/webpack.js +1 -1
  30. package/package.json +4 -4
@@ -4,13 +4,13 @@ const require_generator = require("./generator-BE34PYSC.cjs");
4
4
  const require_object = require("./object-C_Vr6_S5.cjs");
5
5
  const require_options = require("./options-hVsoTfwL.cjs");
6
6
  require("./utils-CuKLf1Zv.cjs");
7
- const require_v4_generation_core = require("./v4-generation-core-CDI6ChiH.cjs");
7
+ const require_v4_generation_core = require("./v4-generation-core-Dtmu8Yax.cjs");
8
8
  const require_wxml = require("./wxml-DSMNuUaP.cjs");
9
- const require_hmr_timing = require("./hmr-timing-Cye_A4mI.cjs");
9
+ const require_hmr_timing = require("./hmr-timing-Chyd_Yfw.cjs");
10
10
  const require_context = require("./context-OqD_eBxQ.cjs");
11
11
  const require_tailwindcss = require("./tailwindcss-DcpiKvmJ.cjs");
12
12
  const require_style_options = require("./style-options-B_ppaVIg.cjs");
13
- const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-D4X_VprL.cjs");
13
+ const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-DG5mQZ8o.cjs");
14
14
  require("./logger-TlKT3xmR.cjs");
15
15
  const require_css_imports = require("./css-imports-DfNC3e6a.cjs");
16
16
  let node_fs = require("node:fs");
@@ -5756,6 +5756,169 @@ function createUniAppXHarmonyApplyExpander(options) {
5756
5756
  };
5757
5757
  }
5758
5758
  //#endregion
5759
+ //#region src/bundlers/vite/hot-css-modules.ts
5760
+ function resolveHotTailwindCssModules(ctx, tailwindRootCssModuleIds) {
5761
+ const modules = [];
5762
+ const seenModules = /* @__PURE__ */ new Set();
5763
+ const seenModuleIds = /* @__PURE__ */ new Set();
5764
+ const root = ctx.server.config?.root ?? node_process.default.cwd();
5765
+ const outDir = ctx.server.config?.build?.outDir ? normalizeAbsoluteFilePath(node_path.default.resolve(root, ctx.server.config.build.outDir)) : void 0;
5766
+ const isHotSourceStyleModule = (id) => {
5767
+ if (!require_v4_generation_core.isSourceStyleRequest(id)) return false;
5768
+ const file = (0, _weapp_tailwindcss_shared.cleanUrl)(id);
5769
+ if (isRootMiniProgramStyleUrl(file) || !isAbsoluteFilePath(file) && !file.startsWith("/")) return false;
5770
+ if (outDir && isAbsoluteFilePath(file)) {
5771
+ const normalizedFile = normalizeAbsoluteFilePath(file);
5772
+ if (normalizedFile === outDir || normalizedFile.startsWith(`${outDir}/`)) return false;
5773
+ }
5774
+ return true;
5775
+ };
5776
+ const collectModule = (mod) => {
5777
+ if (mod == null || seenModules.has(mod)) return;
5778
+ const modId = mod.id ?? mod.url;
5779
+ if (!isHotSourceStyleModule(modId)) return;
5780
+ seenModules.add(mod);
5781
+ ctx.server.moduleGraph.invalidateModule(mod);
5782
+ modules.push(mod);
5783
+ };
5784
+ for (const id of tailwindRootCssModuleIds) {
5785
+ if (typeof id !== "string" || id.length === 0) continue;
5786
+ for (const moduleId of [id, (0, _weapp_tailwindcss_shared.cleanUrl)(id)]) {
5787
+ if (moduleId.length === 0 || seenModuleIds.has(moduleId)) continue;
5788
+ seenModuleIds.add(moduleId);
5789
+ const candidates = [ctx.server.moduleGraph.getModuleById(moduleId), ...ctx.server.moduleGraph.getModulesByFile(moduleId) ?? []];
5790
+ for (const mod of candidates) collectModule(mod);
5791
+ }
5792
+ }
5793
+ return modules;
5794
+ }
5795
+ function resolveHotSourceModules(ctx) {
5796
+ const modules = [];
5797
+ const seenModules = /* @__PURE__ */ new Set();
5798
+ const collectModule = (mod) => {
5799
+ if (mod == null || seenModules.has(mod)) return;
5800
+ if (require_v4_generation_core.isSourceStyleRequest(mod.id ?? mod.url)) return;
5801
+ seenModules.add(mod);
5802
+ modules.push(mod);
5803
+ };
5804
+ for (const mod of ctx.modules) collectModule(mod);
5805
+ for (const mod of ctx.server.moduleGraph.getModulesByFile(ctx.file) ?? []) collectModule(mod);
5806
+ for (const mod of ctx.server.moduleGraph.getModulesByFile((0, _weapp_tailwindcss_shared.cleanUrl)(ctx.file)) ?? []) collectModule(mod);
5807
+ collectModule(ctx.server.moduleGraph.getModuleById?.(ctx.file));
5808
+ collectModule(ctx.server.moduleGraph.getModuleById?.((0, _weapp_tailwindcss_shared.cleanUrl)(ctx.file)));
5809
+ return modules;
5810
+ }
5811
+ function resolveModuleHotUrl(mod) {
5812
+ if (typeof mod.url === "string" && mod.url.length > 0) return mod.url;
5813
+ if (typeof mod.id === "string" && mod.id.startsWith("/")) return mod.id;
5814
+ }
5815
+ function isAbsoluteFilePath(file) {
5816
+ return node_path.default.isAbsolute(file) || /^[A-Z]:[\\/]/i.test(file) || file.startsWith("\\\\");
5817
+ }
5818
+ function normalizeAbsoluteFilePath(file) {
5819
+ if (/^[A-Z]:[\\/]/i.test(file) || file.startsWith("\\\\")) return slash(node_path.default.win32.resolve(file));
5820
+ return slash(node_path.default.resolve(file));
5821
+ }
5822
+ function isRootMiniProgramStyleUrl(file) {
5823
+ return /^\/[^/]+\.(?:wxss|acss|ttss|qss|jxss|tyss)(?:$|[?#])/i.test(file);
5824
+ }
5825
+ function resolveCssHotUrl(id, root) {
5826
+ const suffix = /[?#]/.test(id) ? id.slice(id.search(/[?#]/)) : "";
5827
+ const file = (0, _weapp_tailwindcss_shared.cleanUrl)(id);
5828
+ if (/^\/(?![A-Z]:)/i.test(file) && !file.startsWith(slash(root))) {
5829
+ if (isRootMiniProgramStyleUrl(file)) return;
5830
+ return `${file}${suffix}`;
5831
+ }
5832
+ if (!isAbsoluteFilePath(file)) return;
5833
+ const normalizedRoot = normalizeAbsoluteFilePath(root);
5834
+ const normalizedFile = normalizeAbsoluteFilePath(file);
5835
+ if (!normalizedFile.startsWith(`${normalizedRoot}/`)) return;
5836
+ return `/${slash(node_path.default.relative(normalizedRoot, normalizedFile))}${suffix}`;
5837
+ }
5838
+ function includesHotModule(modules, target) {
5839
+ const targetUrl = resolveModuleHotUrl(target);
5840
+ const targetId = target.id;
5841
+ return modules.some((mod) => {
5842
+ if (mod === target) return true;
5843
+ return targetUrl !== void 0 && resolveModuleHotUrl(mod) === targetUrl || typeof targetId === "string" && targetId.length > 0 && mod.id === targetId;
5844
+ });
5845
+ }
5846
+ function createSupplementalHotUpdate(hotUrl, timestamp) {
5847
+ return {
5848
+ type: "js-update",
5849
+ timestamp,
5850
+ path: hotUrl,
5851
+ acceptedPath: hotUrl,
5852
+ explicitImportRequired: false,
5853
+ isWithinCircularImport: false
5854
+ };
5855
+ }
5856
+ function hasSelfAcceptingNonStyleHotModule(modules) {
5857
+ return modules.some((mod) => {
5858
+ return !require_v4_generation_core.isSourceStyleRequest(mod.id ?? mod.url) && mod.isSelfAccepting === true;
5859
+ });
5860
+ }
5861
+ function sendSupplementalCssHotUpdates(ctx, cssModules, fallbackCssIds = []) {
5862
+ const seenUrls = /* @__PURE__ */ new Set();
5863
+ const root = ctx.server.config?.root ?? node_process.default.cwd();
5864
+ const updates = [];
5865
+ for (const id of fallbackCssIds) {
5866
+ if (!require_v4_generation_core.isSourceStyleRequest(id)) continue;
5867
+ const hotUrl = resolveCssHotUrl(id, root);
5868
+ if (!hotUrl || seenUrls.has(hotUrl)) continue;
5869
+ seenUrls.add(hotUrl);
5870
+ updates.push(createSupplementalHotUpdate(hotUrl, ctx.timestamp));
5871
+ }
5872
+ for (const mod of cssModules) {
5873
+ if (includesHotModule(ctx.modules, mod)) continue;
5874
+ const moduleHotUrl = resolveModuleHotUrl(mod);
5875
+ const hotUrl = moduleHotUrl ? resolveCssHotUrl(moduleHotUrl, root) : void 0;
5876
+ if (!hotUrl || seenUrls.has(hotUrl)) continue;
5877
+ seenUrls.add(hotUrl);
5878
+ updates.push(createSupplementalHotUpdate(hotUrl, ctx.timestamp));
5879
+ }
5880
+ if (updates.length === 0) return;
5881
+ queueMicrotask(() => {
5882
+ ctx.server.ws?.send?.({
5883
+ type: "update",
5884
+ updates
5885
+ });
5886
+ });
5887
+ }
5888
+ function sendFullReloadForUnresolvedHotUpdate(ctx) {
5889
+ ctx.server.ws?.send?.({
5890
+ type: "full-reload",
5891
+ path: "*",
5892
+ triggeredBy: ctx.file
5893
+ });
5894
+ }
5895
+ //#endregion
5896
+ //#region src/uni-app-x/vite/native-hmr.ts
5897
+ function createUniAppXNativeHmrReloader(options) {
5898
+ let previousRuntimeClassSet;
5899
+ function remember(runtimeClassSet) {
5900
+ previousRuntimeClassSet = new Set(runtimeClassSet);
5901
+ return runtimeClassSet;
5902
+ }
5903
+ async function refreshBaseline() {
5904
+ return remember(await options.ensureRuntimeClassSet(true));
5905
+ }
5906
+ async function handleHotUpdate(ctx) {
5907
+ if (!options.isNativeAppBuildTarget(ctx.file)) return;
5908
+ const cssModules = ctx.server?.moduleGraph ? resolveHotTailwindCssModules(ctx, /* @__PURE__ */ new Set([...options.tailwindRootCssModuleIds, ...options.viteProcessedCssSourceFiles])) : [];
5909
+ const currentRuntimeClassSet = await options.ensureRuntimeClassSet(true);
5910
+ const hasAddedClass = previousRuntimeClassSet !== void 0 && [...currentRuntimeClassSet].some((candidate) => !previousRuntimeClassSet.has(candidate));
5911
+ remember(currentRuntimeClassSet);
5912
+ if (hasAddedClass) sendFullReloadForUnresolvedHotUpdate(ctx);
5913
+ return cssModules.length > 0 ? [.../* @__PURE__ */ new Set([...ctx.modules, ...cssModules])] : void 0;
5914
+ }
5915
+ return {
5916
+ handleHotUpdate,
5917
+ refreshBaseline,
5918
+ remember
5919
+ };
5920
+ }
5921
+ //#endregion
5759
5922
  //#region src/uni-app-x/vite/native-target.ts
5760
5923
  function createUniAppXNativeBuildTargetResolver(getResolvedConfig) {
5761
5924
  let observedNativeAppBuildTarget = false;
@@ -5802,13 +5965,19 @@ function isCssModuleExport(code) {
5802
5965
  return CSS_MODULE_EXPORT_RE.test(code);
5803
5966
  }
5804
5967
  function createUniAppXPlugins(options) {
5805
- const { appType, customAttributesEntities, disabledDefaultTemplateHandler, isIosPlatform: providedIosPlatform, mainCssChunkMatcher, runtimeState, styleHandler, generateCss, jsHandler, ensureRuntimeClassSet, getResolvedConfig, isEnabled = () => true, uniAppX } = options;
5968
+ const { appType, customAttributesEntities, disabledDefaultTemplateHandler, isIosPlatform: providedIosPlatform, mainCssChunkMatcher, runtimeState, styleHandler, tailwindRootCssModuleIds = [], generateCss, jsHandler, ensureRuntimeClassSet, getResolvedConfig, isEnabled = () => true, uniAppX, viteProcessedCssSourceFiles = [] } = options;
5806
5969
  const resolvedUniAppXOptions = require_options.resolveUniAppXOptions(uniAppX);
5807
5970
  const utsPlatform = require_generator.resolveUniUtsPlatform();
5808
5971
  const isIosPlatform = providedIosPlatform ?? utsPlatform.isAppIos;
5809
5972
  const cssHandlerOptionsCache = /* @__PURE__ */ new Map();
5810
5973
  let componentLocalStyleEnabled;
5811
5974
  const isNativeAppBuildTarget = createUniAppXNativeBuildTargetResolver(getResolvedConfig);
5975
+ const nativeHmrReloader = createUniAppXNativeHmrReloader({
5976
+ ensureRuntimeClassSet,
5977
+ isNativeAppBuildTarget,
5978
+ tailwindRootCssModuleIds,
5979
+ viteProcessedCssSourceFiles
5980
+ });
5812
5981
  function shouldEnableComponentLocalStyle() {
5813
5982
  if (!resolvedUniAppXOptions.componentLocalStyles.enabled) {
5814
5983
  componentLocalStyleEnabled = false;
@@ -5836,7 +6005,7 @@ function createUniAppXPlugins(options) {
5836
6005
  if (!styleHandlerOptions) {
5837
6006
  styleHandlerOptions = require_object.omitUndefined({
5838
6007
  isMainChunk: mainCssChunkMatcher(id, appType),
5839
- uniAppXCssTarget: resolveUniAppXCssTarget(id),
6008
+ uniAppXCssTarget: isNativeAppBuildTarget(id) ? resolveUniAppXCssTarget(id) : void 0,
5840
6009
  uniAppXUnsupported: resolvedUniAppXOptions.uvueUnsupported,
5841
6010
  postcssOptions: { options: {
5842
6011
  from: id,
@@ -5861,6 +6030,7 @@ function createUniAppXPlugins(options) {
5861
6030
  if (isCSSRequest(id) || parsed.vue && parsed.type === "style") {
5862
6031
  if (isCssModuleExport(code)) return;
5863
6032
  const shouldGenerateCss = require_generator.hasTailwindSourceDirectives(code, { importFallback: true }) || require_generator.hasTailwindApplyDirective(code);
6033
+ if (!isNativeAppBuildTarget(id) && !shouldGenerateCss) return;
5864
6034
  harmonyApply.rememberSource(code, id);
5865
6035
  const generatedCss = shouldGenerateCss ? await generateCss?.(id, code, hookContext) : void 0;
5866
6036
  const styleCode = typeof generatedCss === "string" && generatedCss.trim().length > 0 ? generatedCss : code;
@@ -5914,7 +6084,7 @@ function createUniAppXPlugins(options) {
5914
6084
  enforce: "pre",
5915
6085
  async buildStart() {
5916
6086
  if (!isEnabled()) return;
5917
- await ensureRuntimeClassSet(true);
6087
+ await nativeHmrReloader.refreshBaseline();
5918
6088
  },
5919
6089
  async transform(code, id) {
5920
6090
  if (!isEnabled()) return;
@@ -5926,6 +6096,7 @@ function createUniAppXPlugins(options) {
5926
6096
  const isWatchBuild = resolvedConfig?.command === "build" && !!resolvedConfig.build?.watch;
5927
6097
  const isNonWatchBuild = resolvedConfig?.command === "build" && !resolvedConfig.build?.watch;
5928
6098
  const currentRuntimeSet = isServeCommand || isWatchBuild || isNonWatchBuild ? await ensureRuntimeClassSet(true) : await ensureRuntimeClassSet();
6099
+ nativeHmrReloader.remember(currentRuntimeSet);
5929
6100
  const transformUVue = await loadTransformUVue();
5930
6101
  const enableComponentLocalStyle = shouldEnableComponentLocalStyle();
5931
6102
  const enablePageLocalStyle = shouldEnableNativePageLocalStyle(id);
@@ -5949,7 +6120,7 @@ function createUniAppXPlugins(options) {
5949
6120
  if (!isEnabled()) return;
5950
6121
  if (getResolvedConfig()?.command !== "serve") return;
5951
6122
  if (!UVUE_NVUE_RE.test(ctx.file)) return;
5952
- await ensureRuntimeClassSet(true);
6123
+ return nativeHmrReloader.handleHotUpdate(ctx);
5953
6124
  },
5954
6125
  async watchChange(id) {
5955
6126
  if (!isEnabled()) return;
@@ -8826,142 +8997,6 @@ function sameStringList(first, second) {
8826
8997
  return first.every((item, index) => item === second[index]);
8827
8998
  }
8828
8999
  //#endregion
8829
- //#region src/bundlers/vite/hot-css-modules.ts
8830
- function resolveHotTailwindCssModules(ctx, tailwindRootCssModuleIds) {
8831
- const modules = [];
8832
- const seenModules = /* @__PURE__ */ new Set();
8833
- const root = ctx.server.config?.root ?? node_process.default.cwd();
8834
- const outDir = ctx.server.config?.build?.outDir ? normalizeAbsoluteFilePath(node_path.default.resolve(root, ctx.server.config.build.outDir)) : void 0;
8835
- const isHotSourceStyleModule = (id) => {
8836
- if (!require_v4_generation_core.isSourceStyleRequest(id)) return false;
8837
- const file = (0, _weapp_tailwindcss_shared.cleanUrl)(id);
8838
- if (isRootMiniProgramStyleUrl(file) || !isAbsoluteFilePath(file) && !file.startsWith("/")) return false;
8839
- if (outDir && isAbsoluteFilePath(file)) {
8840
- const normalizedFile = normalizeAbsoluteFilePath(file);
8841
- if (normalizedFile === outDir || normalizedFile.startsWith(`${outDir}/`)) return false;
8842
- }
8843
- return true;
8844
- };
8845
- const collectModule = (mod) => {
8846
- if (mod == null || seenModules.has(mod)) return;
8847
- const modId = mod.id ?? mod.url;
8848
- if (!isHotSourceStyleModule(modId)) return;
8849
- seenModules.add(mod);
8850
- ctx.server.moduleGraph.invalidateModule(mod);
8851
- modules.push(mod);
8852
- };
8853
- for (const id of tailwindRootCssModuleIds) {
8854
- const candidates = [
8855
- ctx.server.moduleGraph.getModuleById(id),
8856
- ctx.server.moduleGraph.getModuleById((0, _weapp_tailwindcss_shared.cleanUrl)(id)),
8857
- ...ctx.server.moduleGraph.getModulesByFile(id) ?? [],
8858
- ...ctx.server.moduleGraph.getModulesByFile((0, _weapp_tailwindcss_shared.cleanUrl)(id)) ?? []
8859
- ];
8860
- for (const mod of candidates) collectModule(mod);
8861
- }
8862
- return modules;
8863
- }
8864
- function resolveHotSourceModules(ctx) {
8865
- const modules = [];
8866
- const seenModules = /* @__PURE__ */ new Set();
8867
- const collectModule = (mod) => {
8868
- if (mod == null || seenModules.has(mod)) return;
8869
- if (require_v4_generation_core.isSourceStyleRequest(mod.id ?? mod.url)) return;
8870
- seenModules.add(mod);
8871
- modules.push(mod);
8872
- };
8873
- for (const mod of ctx.modules) collectModule(mod);
8874
- for (const mod of ctx.server.moduleGraph.getModulesByFile(ctx.file) ?? []) collectModule(mod);
8875
- for (const mod of ctx.server.moduleGraph.getModulesByFile((0, _weapp_tailwindcss_shared.cleanUrl)(ctx.file)) ?? []) collectModule(mod);
8876
- collectModule(ctx.server.moduleGraph.getModuleById?.(ctx.file));
8877
- collectModule(ctx.server.moduleGraph.getModuleById?.((0, _weapp_tailwindcss_shared.cleanUrl)(ctx.file)));
8878
- return modules;
8879
- }
8880
- function resolveModuleHotUrl(mod) {
8881
- if (typeof mod.url === "string" && mod.url.length > 0) return mod.url;
8882
- if (typeof mod.id === "string" && mod.id.startsWith("/")) return mod.id;
8883
- }
8884
- function isAbsoluteFilePath(file) {
8885
- return node_path.default.isAbsolute(file) || /^[A-Z]:[\\/]/i.test(file) || file.startsWith("\\\\");
8886
- }
8887
- function normalizeAbsoluteFilePath(file) {
8888
- if (/^[A-Z]:[\\/]/i.test(file) || file.startsWith("\\\\")) return slash(node_path.default.win32.resolve(file));
8889
- return slash(node_path.default.resolve(file));
8890
- }
8891
- function isRootMiniProgramStyleUrl(file) {
8892
- return /^\/[^/]+\.(?:wxss|acss|ttss|qss|jxss|tyss)(?:$|[?#])/i.test(file);
8893
- }
8894
- function resolveCssHotUrl(id, root) {
8895
- const suffix = /[?#]/.test(id) ? id.slice(id.search(/[?#]/)) : "";
8896
- const file = (0, _weapp_tailwindcss_shared.cleanUrl)(id);
8897
- if (/^\/(?![A-Z]:)/i.test(file) && !file.startsWith(slash(root))) {
8898
- if (isRootMiniProgramStyleUrl(file)) return;
8899
- return `${file}${suffix}`;
8900
- }
8901
- if (!isAbsoluteFilePath(file)) return;
8902
- const normalizedRoot = normalizeAbsoluteFilePath(root);
8903
- const normalizedFile = normalizeAbsoluteFilePath(file);
8904
- if (!normalizedFile.startsWith(`${normalizedRoot}/`)) return;
8905
- return `/${slash(node_path.default.relative(normalizedRoot, normalizedFile))}${suffix}`;
8906
- }
8907
- function includesHotModule(modules, target) {
8908
- const targetUrl = resolveModuleHotUrl(target);
8909
- const targetId = target.id;
8910
- return modules.some((mod) => {
8911
- if (mod === target) return true;
8912
- return targetUrl !== void 0 && resolveModuleHotUrl(mod) === targetUrl || typeof targetId === "string" && targetId.length > 0 && mod.id === targetId;
8913
- });
8914
- }
8915
- function createSupplementalHotUpdate(hotUrl, timestamp) {
8916
- return {
8917
- type: "js-update",
8918
- timestamp,
8919
- path: hotUrl,
8920
- acceptedPath: hotUrl,
8921
- explicitImportRequired: false,
8922
- isWithinCircularImport: false
8923
- };
8924
- }
8925
- function hasSelfAcceptingNonStyleHotModule(modules) {
8926
- return modules.some((mod) => {
8927
- return !require_v4_generation_core.isSourceStyleRequest(mod.id ?? mod.url) && mod.isSelfAccepting === true;
8928
- });
8929
- }
8930
- function sendSupplementalCssHotUpdates(ctx, cssModules, fallbackCssIds = []) {
8931
- const seenUrls = /* @__PURE__ */ new Set();
8932
- const root = ctx.server.config?.root ?? node_process.default.cwd();
8933
- const updates = [];
8934
- for (const id of fallbackCssIds) {
8935
- if (!require_v4_generation_core.isSourceStyleRequest(id)) continue;
8936
- const hotUrl = resolveCssHotUrl(id, root);
8937
- if (!hotUrl || seenUrls.has(hotUrl)) continue;
8938
- seenUrls.add(hotUrl);
8939
- updates.push(createSupplementalHotUpdate(hotUrl, ctx.timestamp));
8940
- }
8941
- for (const mod of cssModules) {
8942
- if (includesHotModule(ctx.modules, mod)) continue;
8943
- const moduleHotUrl = resolveModuleHotUrl(mod);
8944
- const hotUrl = moduleHotUrl ? resolveCssHotUrl(moduleHotUrl, root) : void 0;
8945
- if (!hotUrl || seenUrls.has(hotUrl)) continue;
8946
- seenUrls.add(hotUrl);
8947
- updates.push(createSupplementalHotUpdate(hotUrl, ctx.timestamp));
8948
- }
8949
- if (updates.length === 0) return;
8950
- queueMicrotask(() => {
8951
- ctx.server.ws?.send?.({
8952
- type: "update",
8953
- updates
8954
- });
8955
- });
8956
- }
8957
- function sendFullReloadForUnresolvedHotUpdate(ctx) {
8958
- ctx.server.ws?.send?.({
8959
- type: "full-reload",
8960
- path: "*",
8961
- triggeredBy: ctx.file
8962
- });
8963
- }
8964
- //#endregion
8965
9000
  //#region src/bundlers/vite/shared/framework-source-candidates-plugin.ts
8966
9001
  function createFrameworkSourceCandidatesPlugin(options) {
8967
9002
  return {
@@ -9021,20 +9056,30 @@ function createFrameworkSourceCandidatesPlugin(options) {
9021
9056
  options.hmrCandidateState.apply(options.hmrCandidateState.createChange(file, sourceCandidateChange, { runtimeAffecting: options.sourceScanSession.isDependency(file) }));
9022
9057
  return;
9023
9058
  }
9024
- await options.sourceScanSession.syncChangedFile(id);
9059
+ const changedSource = options.shouldOwnTailwindGeneration && require_v4_generation_core.isSourceCandidateRequest(id) && isCSSRequest(id) ? await (0, node_fs_promises.readFile)((0, _weapp_tailwindcss_shared.cleanUrl)(id), "utf8").catch(() => void 0) : void 0;
9060
+ if (typeof changedSource === "string") {
9061
+ options.rememberOriginalCssLayerSource(id, changedSource);
9062
+ await options.refreshTailwindRootCssSource(id, changedSource);
9063
+ }
9064
+ await options.sourceScanSession.syncChangedFile(id, changedSource);
9025
9065
  }, { emit: false });
9026
9066
  },
9027
9067
  async handleHotUpdate(ctx) {
9028
9068
  require_v4_generation_core.recordCompilationDependencyChanges(options.runtimeState, require_v4_generation_core.createCompilationDependencyChanges([node_path.default.resolve((0, _weapp_tailwindcss_shared.cleanUrl)(ctx.file))]));
9029
9069
  return options.hmrTimingRecorder.measure("sourceCandidates.handleHotUpdate", async () => {
9030
9070
  const isSourceCandidateHotUpdate = options.shouldOwnTailwindGeneration && require_v4_generation_core.isSourceCandidateRequest(ctx.file);
9031
- if (isSourceCandidateHotUpdate && require_v4_generation_core.isSourceStyleRequest(ctx.file)) for (const mod of ctx.modules) {
9032
- options.rememberTailwindRootCssModule(mod.id);
9033
- options.rememberTailwindRootCssModule(mod.url);
9034
- options.rememberTailwindRootCssModule(mod.file);
9071
+ if (isSourceCandidateHotUpdate && require_v4_generation_core.isSourceStyleRequest(ctx.file)) {
9072
+ for (const mod of ctx.modules) for (const id of [
9073
+ mod.id,
9074
+ mod.url,
9075
+ mod.file
9076
+ ]) if (typeof id === "string" && id.length > 0) options.rememberTailwindRootCssModule(id);
9035
9077
  }
9036
9078
  const hotSource = isSourceCandidateHotUpdate && typeof ctx.read === "function" ? await ctx.read().catch(() => void 0) : void 0;
9037
- if (typeof hotSource === "string" && isCSSRequest(ctx.file)) options.rememberOriginalCssLayerSource(ctx.file, hotSource);
9079
+ if (typeof hotSource === "string" && isCSSRequest(ctx.file)) {
9080
+ options.rememberOriginalCssLayerSource(ctx.file, hotSource);
9081
+ await options.refreshTailwindRootCssSource(ctx.file, hotSource);
9082
+ }
9038
9083
  const sourceCandidateChange = await options.sourceScanSession.syncChangedFile(ctx.file, hotSource);
9039
9084
  const isWebLikeHotUpdate = options.isCurrentWebLikeStylePlatform();
9040
9085
  let canUseHmrCandidateAppend = false;
@@ -9242,6 +9287,39 @@ function createFrameworkSourceScanSession(options) {
9242
9287
  };
9243
9288
  }
9244
9289
  //#endregion
9290
+ //#region src/bundlers/vite/shared/framework-tailwind-root-css.ts
9291
+ function createFrameworkTailwindRootCss(options) {
9292
+ const hotSourceByFile = /* @__PURE__ */ new Map();
9293
+ const moduleIds = /* @__PURE__ */ new Set();
9294
+ const normalizeSourceFile = (id) => node_path.default.normalize(node_path.default.resolve((0, _weapp_tailwindcss_shared.cleanUrl)(id)));
9295
+ const rememberModule = (id) => {
9296
+ if (!options.shouldOwnTailwindGeneration || typeof id !== "string" || id.length === 0) return;
9297
+ moduleIds.add(id);
9298
+ const cleanId = (0, _weapp_tailwindcss_shared.cleanUrl)(id);
9299
+ if (require_v4_generation_core.isSourceStyleRequest(cleanId)) moduleIds.add(cleanId);
9300
+ };
9301
+ const register = async (id, code) => {
9302
+ rememberModule(id);
9303
+ const hotSource = hotSourceByFile.get(normalizeSourceFile(id));
9304
+ await options.registerAutoCssSource(id, hotSource ?? code);
9305
+ };
9306
+ const refreshSource = async (id, code) => {
9307
+ const file = (0, _weapp_tailwindcss_shared.cleanUrl)(id);
9308
+ if (!moduleIds.has(id) && !moduleIds.has(file) && !require_generator.hasTailwindRootDirectives(code, { importFallback: options.getImportFallback() })) return;
9309
+ hotSourceByFile.set(normalizeSourceFile(id), code);
9310
+ await register(id, code);
9311
+ options.sourceScanSession.invalidate();
9312
+ await options.refreshRuntimeState(true);
9313
+ await options.sourceScanSession.sync({ force: true });
9314
+ };
9315
+ return {
9316
+ refreshSource,
9317
+ register,
9318
+ rememberModule,
9319
+ moduleIds
9320
+ };
9321
+ }
9322
+ //#endregion
9245
9323
  //#region src/bundlers/vite/shared/create-framework-plugins-runtime.ts
9246
9324
  const debug = require_wxml.createDebug();
9247
9325
  const weappTailwindcssPackageDir = require_source_candidate_scan_signature.resolvePackageDir("weapp-tailwindcss");
@@ -9466,7 +9544,6 @@ function createViteFrameworkPlugins$1(options = {}, frameworkBranch) {
9466
9544
  debug,
9467
9545
  getSourceCandidateSource: (file) => sourceCandidateCollector.source(file)
9468
9546
  });
9469
- const tailwindRootCssModuleIds = /* @__PURE__ */ new Set();
9470
9547
  const { runtimeState, refreshRuntimeState, ensureRuntimeClassSet, ensureBundleRuntimeClassSet } = createViteRuntimeClassSet({
9471
9548
  opts,
9472
9549
  initialTailwindRuntime,
@@ -9537,6 +9614,13 @@ function createViteFrameworkPlugins$1(options = {}, frameworkBranch) {
9537
9614
  shouldOwnTailwindGeneration,
9538
9615
  sourceCandidateCollector
9539
9616
  });
9617
+ const { moduleIds: tailwindRootCssModuleIds, refreshSource: refreshTailwindRootCssSource, register: registerTailwindRootCss, rememberModule: rememberTailwindRootCssModule } = createFrameworkTailwindRootCss({
9618
+ getImportFallback: () => resolveCurrentGeneratorOptions().importFallback,
9619
+ refreshRuntimeState,
9620
+ registerAutoCssSource,
9621
+ shouldOwnTailwindGeneration,
9622
+ sourceScanSession
9623
+ });
9540
9624
  const recordCssAssetResult = (file, css) => {
9541
9625
  touchMapEntry(cleanGeneratedCssByFile, normalizeVitePersistentCacheKey(file), css);
9542
9626
  };
@@ -9563,16 +9647,6 @@ function createViteFrameworkPlugins$1(options = {}, frameworkBranch) {
9563
9647
  };
9564
9648
  const normalizeViteProcessedCssFile = (file) => node_path.default.resolve((0, _weapp_tailwindcss_shared.cleanUrl)(file));
9565
9649
  const markViteProcessedCssSource = processedCssRegistry.markSource;
9566
- const rememberTailwindRootCssModule = (id) => {
9567
- if (!shouldOwnTailwindGeneration) return;
9568
- tailwindRootCssModuleIds.add(id);
9569
- const cleanId = (0, _weapp_tailwindcss_shared.cleanUrl)(id);
9570
- if (require_v4_generation_core.isSourceStyleRequest(cleanId)) tailwindRootCssModuleIds.add(cleanId);
9571
- };
9572
- const registerTailwindRootCss = async (id, code) => {
9573
- rememberTailwindRootCssModule(id);
9574
- await registerAutoCssSource(id, code);
9575
- };
9576
9650
  const isUniViteProject = () => {
9577
9651
  return resolvedConfig?.plugins?.some((plugin) => plugin.name.includes("uni")) ?? false;
9578
9652
  };
@@ -9882,7 +9956,9 @@ ${tracedCss}`;
9882
9956
  mainCssChunkMatcher,
9883
9957
  runtimeState,
9884
9958
  styleHandler,
9885
- uniAppX
9959
+ tailwindRootCssModuleIds,
9960
+ uniAppX,
9961
+ viteProcessedCssSourceFiles: processedCssRegistry.sourceFiles
9886
9962
  }) ?? [];
9887
9963
  const installFrameworkWatchCssCacheAdapter = async (config) => {
9888
9964
  if (!shouldAdaptFrameworkWatchCss()) return;
@@ -9912,6 +9988,7 @@ ${tracedCss}`;
9912
9988
  prepareTailwindGeneration,
9913
9989
  preGenerateBundleHook,
9914
9990
  refreshRuntimeStateForAutoCssSources,
9991
+ refreshTailwindRootCssSource,
9915
9992
  rememberOriginalCssLayerSource,
9916
9993
  rememberTailwindRootCssModule,
9917
9994
  resolveCurrentGeneratorBranch,
@@ -10291,7 +10368,9 @@ function createUniAppXVitePlugins(options = {}) {
10291
10368
  mainCssChunkMatcher: context.mainCssChunkMatcher,
10292
10369
  runtimeState: context.runtimeState,
10293
10370
  styleHandler: context.styleHandler,
10294
- uniAppX: context.uniAppX
10371
+ tailwindRootCssModuleIds: context.tailwindRootCssModuleIds,
10372
+ uniAppX: context.uniAppX,
10373
+ viteProcessedCssSourceFiles: context.viteProcessedCssSourceFiles
10295
10374
  })
10296
10375
  });
10297
10376
  }
package/dist/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_vite = require("./vite-BvbnZ6aZ.cjs");
2
+ const require_vite = require("./vite-DmN_Y8Uk.cjs");
3
3
  exports.WeappTailwindcss = require_vite.WeappTailwindcss;
4
4
  exports.weappTailwindcss = require_vite.WeappTailwindcss;
package/dist/vite.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as WeappTailwindcss } from "./vite-DTWQPkyq.js";
1
+ import { t as WeappTailwindcss } from "./vite-Bk1YU9L0.js";
2
2
  export { WeappTailwindcss, WeappTailwindcss as weappTailwindcss };
@@ -5,10 +5,10 @@ Object.defineProperties(exports, {
5
5
  const require_rolldown_runtime = require("./rolldown-runtime-CVvi-lCc.cjs");
6
6
  const require_generator = require("./generator-BE34PYSC.cjs");
7
7
  const require_options = require("./options-hVsoTfwL.cjs");
8
- const require_v4_generation_core = require("./v4-generation-core-CDI6ChiH.cjs");
8
+ const require_v4_generation_core = require("./v4-generation-core-Dtmu8Yax.cjs");
9
9
  const require_style_options = require("./style-options-B_ppaVIg.cjs");
10
10
  const require_css_imports = require("./css-imports-DfNC3e6a.cjs");
11
- const require_pipeline_helpers = require("./pipeline-helpers-DMO0otI8.cjs");
11
+ const require_pipeline_helpers = require("./pipeline-helpers-Cwv-X4Rj.cjs");
12
12
  const require_runtime_registry = require("./runtime-registry-Y7NrD2WH.cjs");
13
13
  const require_watch_dependencies = require("./watch-dependencies-BZGubvuJ.cjs");
14
14
  let node_path = require("node:path");
@@ -2,11 +2,11 @@ import { $ as hasTailwindSourceDirectives, B as stripMiniProgramCssSpecificityPl
2
2
  import { n as _defineProperty } from "./object-Bvy6-w9r.js";
3
3
  import { _ as resolveTailwindV4EntriesFromCssCached, l as getRuntimeClassSetSignature, p as resolveSourceScanEntries } from "./tailwindcss-CTpCc_nd.js";
4
4
  import { r as getGroupedEntries } from "./utils-MVwpU07P.js";
5
- import { $ as createCompilationDependencyChanges, A as isCssSourceTraceEnabled, B as createRuntimeCompilationAffectingSignature, D as annotateCssSourceTrace, E as stripBundlerGeneratedCssMarkers, F as isPureLocalCssImportWrapper, G as createRuntimeAffectingSourceSignature, K as disposeCompilerOwner, M as createRuntimeClassSetManager, N as collectStrictEscapedRuntimeCandidates, O as createCssSourceTraceCacheSignature, P as createEscapeFragments, Q as recordCompilationDependencyChanges, R as finalizeCompilerShadowRun, S as stripRequestQuery, U as resetRuntimeCompilationBuildState, V as createRuntimeCompilationBuildState, W as updateRuntimeCompilationBuildState, X as getCompilationScopeDependencyRevision, Y as AssetEmissionPlan, _ as collectFrameworkPostcssOptionsFromLoaderEntries, b as hasMiniProgramTailwindV4PreflightReset, c as pushConcurrentTaskFactories, g as captureResolvedFrameworkPostcssOptions, it as resolveSourceCandidateScanFiles, j as processCachedTask, k as createCssTokenSourceMap, l as resolveTaskConcurrency, m as removeGeneratedSelectorCompatCss, n as emitHmrTiming, nt as isSourceCandidateRequest, p as scoreTailwindV4CssSourceFileMatch, q as beginCompilerShadowRun, r as generateTailwindV4Css, s as collectRawSourceClassSelectors, tt as createSourceCandidateStore, v as createCssSourceOrderAppend, w as hasBundlerGeneratedCssMarker, x as isSourceStyleRequest, z as buildRuntimeCompilationSnapshot } from "./hmr-timing-WgN_3dIC.js";
5
+ import { $ as createCompilationDependencyChanges, A as isCssSourceTraceEnabled, B as createRuntimeCompilationAffectingSignature, D as annotateCssSourceTrace, E as stripBundlerGeneratedCssMarkers, F as isPureLocalCssImportWrapper, G as createRuntimeAffectingSourceSignature, K as disposeCompilerOwner, M as createRuntimeClassSetManager, N as collectStrictEscapedRuntimeCandidates, O as createCssSourceTraceCacheSignature, P as createEscapeFragments, Q as recordCompilationDependencyChanges, R as finalizeCompilerShadowRun, S as stripRequestQuery, U as resetRuntimeCompilationBuildState, V as createRuntimeCompilationBuildState, W as updateRuntimeCompilationBuildState, X as getCompilationScopeDependencyRevision, Y as AssetEmissionPlan, _ as collectFrameworkPostcssOptionsFromLoaderEntries, b as hasMiniProgramTailwindV4PreflightReset, c as pushConcurrentTaskFactories, g as captureResolvedFrameworkPostcssOptions, it as resolveSourceCandidateScanFiles, j as processCachedTask, k as createCssTokenSourceMap, l as resolveTaskConcurrency, m as removeGeneratedSelectorCompatCss, n as emitHmrTiming, nt as isSourceCandidateRequest, p as scoreTailwindV4CssSourceFileMatch, q as beginCompilerShadowRun, r as generateTailwindV4Css, s as collectRawSourceClassSelectors, tt as createSourceCandidateStore, v as createCssSourceOrderAppend, w as hasBundlerGeneratedCssMarker, x as isSourceStyleRequest, z as buildRuntimeCompilationSnapshot } from "./hmr-timing-BevXxu6p.js";
6
6
  import { h as createDebug, v as md5Hash } from "./wxml-IBzZSaQC.js";
7
7
  import { d as refreshTailwindRuntimeState, i as pluginName, l as createTailwindRuntimeReadyPromise, n as normalizeStyleHandlerMajorVersion, o as shouldSkipJsTransform, r as resolveStyleOptionsFromContext, t as getCompilerContext, u as ensureRuntimeClassSet } from "./context-YAvTyPV2.js";
8
8
  import { getDefaultCssPreflight } from "./defaults.js";
9
- import { S as resolveWebpackFrameworkProfile, a as createCandidateSignature, b as webpackStyleInjectorDelegates, d as classifyRuntimeEntry, f as resolvePackageDir, g as toAbsoluteOutputPath, h as resolveOutputSpecifier, p as resolvePluginDisabledState, r as createScopedGeneratorRuntime, t as createSourceCandidateScanSignature, v as createBuiltinWebpackStyleInjectorPlugin } from "./source-candidate-scan-signature-ZozKGBbH.js";
9
+ import { S as resolveWebpackFrameworkProfile, a as createCandidateSignature, b as webpackStyleInjectorDelegates, d as classifyRuntimeEntry, f as resolvePackageDir, g as toAbsoluteOutputPath, h as resolveOutputSpecifier, p as resolvePluginDisabledState, r as createScopedGeneratorRuntime, t as createSourceCandidateScanSignature, v as createBuiltinWebpackStyleInjectorPlugin } from "./source-candidate-scan-signature-DLFqYads.js";
10
10
  import Module, { createRequire } from "node:module";
11
11
  import fs from "node:fs";
12
12
  import path from "node:path";
@@ -3,14 +3,14 @@ const require_generator = require("./generator-BE34PYSC.cjs");
3
3
  const require_object = require("./object-C_Vr6_S5.cjs");
4
4
  const require_options = require("./options-hVsoTfwL.cjs");
5
5
  const require_utils = require("./utils-CuKLf1Zv.cjs");
6
- const require_v4_generation_core = require("./v4-generation-core-CDI6ChiH.cjs");
6
+ const require_v4_generation_core = require("./v4-generation-core-Dtmu8Yax.cjs");
7
7
  const require_wxml = require("./wxml-DSMNuUaP.cjs");
8
- const require_hmr_timing = require("./hmr-timing-Cye_A4mI.cjs");
8
+ const require_hmr_timing = require("./hmr-timing-Chyd_Yfw.cjs");
9
9
  const require_context = require("./context-OqD_eBxQ.cjs");
10
10
  const require_tailwindcss = require("./tailwindcss-DcpiKvmJ.cjs");
11
11
  const require_style_options = require("./style-options-B_ppaVIg.cjs");
12
- const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-D4X_VprL.cjs");
13
- const require_pipeline_helpers = require("./pipeline-helpers-DMO0otI8.cjs");
12
+ const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-DG5mQZ8o.cjs");
13
+ const require_pipeline_helpers = require("./pipeline-helpers-Cwv-X4Rj.cjs");
14
14
  const require_css_loader_runtime = require("./css-loader-runtime-CSv0lKqV.cjs");
15
15
  const require_runtime_registry = require("./runtime-registry-Y7NrD2WH.cjs");
16
16
  let node_fs = require("node:fs");
package/dist/webpack.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_webpack = require("./webpack-B2ojv_HI.cjs");
2
+ const require_webpack = require("./webpack-DvmrFist.cjs");
3
3
  exports.WeappTailwindcss = require_webpack.WeappTailwindcss;
4
4
  exports.weappTailwindcss = require_webpack.WeappTailwindcss;
5
5
  exports.weappTailwindcssPackageDir = require_webpack.weappTailwindcssPackageDir;
package/dist/webpack.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as weappTailwindcssPackageDir, t as WeappTailwindcss } from "./webpack-Rx3u2_2x.js";
1
+ import { n as weappTailwindcssPackageDir, t as WeappTailwindcss } from "./webpack-DtkSnYyR.js";
2
2
  export { WeappTailwindcss, WeappTailwindcss as weappTailwindcss, weappTailwindcssPackageDir };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weapp-tailwindcss",
3
3
  "type": "module",
4
- "version": "5.2.4",
4
+ "version": "5.2.6",
5
5
  "description": "把 tailwindcss 原子化样式思想,带给小程序开发者们! bring tailwindcss to miniprogram developers!",
6
6
  "author": "ice breaker <1324318532@qq.com>",
7
7
  "license": "MIT",
@@ -216,14 +216,14 @@
216
216
  "semver": "~7.8.5",
217
217
  "yaml": "^2.9.0",
218
218
  "@weapp-tailwindcss/logger": "2.0.1",
219
- "@weapp-tailwindcss/postcss": "3.2.4",
220
- "@weapp-tailwindcss/shared": "2.0.1",
219
+ "@weapp-tailwindcss/postcss": "3.2.5",
221
220
  "@weapp-tailwindcss/reset": "0.1.2",
221
+ "@weapp-tailwindcss/shared": "2.0.1",
222
222
  "tailwindcss-config": "2.0.2",
223
223
  "weapp-style-injector": "1.0.2"
224
224
  },
225
225
  "devDependencies": {
226
- "@mpxjs/webpack-plugin": "^2.11.0",
226
+ "@mpxjs/webpack-plugin": "^2.11.1",
227
227
  "webpack": "5.105.4"
228
228
  },
229
229
  "scripts": {