weapp-tailwindcss 5.1.3 → 5.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/auto-CrJJc5rK.mjs +13 -0
  2. package/dist/bundlers/shared/generator-css/local-imports.d.ts +1 -10
  3. package/dist/bundlers/vite/generate-bundle/css-handler-options.d.ts +1 -0
  4. package/dist/bundlers/vite/generate-bundle/temporary-css-assets.d.ts +1 -1
  5. package/dist/bundlers/vite/processed-css-assets.d.ts +1 -0
  6. package/dist/{context-B07Vf584.mjs → context-Bkpmt3ja.mjs} +31 -5
  7. package/dist/{context-D75pwtBW.js → context-DCVMkTRj.js} +36 -4
  8. package/dist/core.js +1 -1
  9. package/dist/core.mjs +1 -1
  10. package/dist/css-macro/auto.d.ts +1 -1
  11. package/dist/css-macro.mjs +1 -1
  12. package/dist/framework/platform.d.ts +2 -0
  13. package/dist/{generator-DNs6ekoC.mjs → generator-24-HgU9F.mjs} +5 -3
  14. package/dist/{generator-CV_0irKO.js → generator-CilgHtxb.js} +5 -3
  15. package/dist/generator.js +2 -2
  16. package/dist/generator.mjs +2 -2
  17. package/dist/{gulp-aQMZ0M7c.mjs → gulp-0RsqkF_d.mjs} +4 -4
  18. package/dist/{gulp-B_u8NjQL.js → gulp-Bogfnoki.js} +7 -6
  19. package/dist/gulp.js +1 -1
  20. package/dist/gulp.mjs +1 -1
  21. package/dist/{hmr-timing-DLYQTCDb.mjs → hmr-timing-BRNaz8Od.mjs} +41 -148
  22. package/dist/{hmr-timing-DOoHun3i.js → hmr-timing-BV6nFPoT.js} +41 -166
  23. package/dist/index.js +4 -4
  24. package/dist/index.mjs +4 -4
  25. package/dist/postcss.js +2 -2
  26. package/dist/postcss.mjs +2 -2
  27. package/dist/presets.js +2 -2
  28. package/dist/presets.mjs +2 -2
  29. package/dist/rspack.js +1 -1
  30. package/dist/rspack.mjs +1 -1
  31. package/dist/{source-candidate-scan-signature-pS87mdHZ.mjs → source-candidate-scan-signature-BB1hvW68.mjs} +12 -6
  32. package/dist/{source-candidate-scan-signature-DzwebZrf.js → source-candidate-scan-signature-CaDT0gkj.js} +13 -6
  33. package/dist/tailwindcss/v4-engine/css-macro-source.d.ts +2 -0
  34. package/dist/{tailwindcss-BwV3_Ryc.mjs → tailwindcss-D0JF0fuZ.mjs} +4 -4
  35. package/dist/{tailwindcss-BSCvrs1p.js → tailwindcss-D2xs4OEu.js} +4 -4
  36. package/dist/{transform-Clj7R818.mjs → transform-BP86eSZp.mjs} +1 -1
  37. package/dist/{transform-fin-OTVD.js → transform-CXCQ28Tc.js} +1 -1
  38. package/dist/{v4-engine-BklH3CpJ.mjs → v4-engine-BuuYDXt1.mjs} +54 -114
  39. package/dist/{v4-engine-CKbS27-o.js → v4-engine-CKtsdKxK.js} +57 -111
  40. package/dist/{vite-5Wn0PIzJ.mjs → vite-B1SlBmqO.mjs} +212 -44
  41. package/dist/{vite-CkVMSDDp.js → vite-BYgT1ir9.js} +214 -46
  42. package/dist/vite.js +1 -1
  43. package/dist/vite.mjs +1 -1
  44. package/dist/weapp-tw-css-import-rewrite-loader.js +89 -191
  45. package/dist/{webpack-DEag6ueE.mjs → webpack-Bg6pefpb.mjs} +49 -6
  46. package/dist/{webpack-hvSFaicc.js → webpack-khSwkXP5.js} +50 -7
  47. package/dist/webpack.js +1 -1
  48. package/dist/webpack.mjs +1 -1
  49. package/package.json +3 -3
  50. package/dist/auto-Ba6hDrse.mjs +0 -13
@@ -0,0 +1,13 @@
1
+ import { hasCssMacroStyleOptions, hasCssMacroTailwindV4CustomVariantConditionalComments, hasCssMacroTailwindV4Source, transformCssMacroCss, transformCssMacroTailwindV4Source, 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 { transformCssMacroCss as a, markCssMacroPlugin as i, hasCssMacroTailwindV4CustomVariantConditionalComments as n, transformCssMacroTailwindV4Source as o, hasCssMacroTailwindV4Source as r, withCssMacroStyleOptions as s, hasCssMacroStyleOptions as t };
@@ -1,10 +1 @@
1
- export declare function isPureLocalCssImportWrapper(css: string): boolean;
2
- export declare function cleanLocalCssImportWrapperTailwindDirectives(css: string): string | undefined;
3
- export declare function splitLocalCssImports(source: string): {
4
- imports: string;
5
- source: string;
6
- } | undefined;
7
- export declare function restoreLocalCssImports(css: string, imports: string | undefined): string;
8
- export declare function rewriteLocalCssImportRequestsForOutput(css: string, options?: {
9
- styleOutputExtension?: string | undefined;
10
- }): string;
1
+ export { cleanLocalCssImportWrapperTailwindDirectives, cleanLocalCssImportWrapperTailwindDirectivesRoot, createCssSourceOrderAppend, isLocalCssImportRequest, isPureLocalCssImportWrapper, isPureLocalCssImportWrapperRoot, normalizeOutputImportRequest, restoreLocalCssImports, rewriteLocalCssImportRequestsForOutput, rewriteLocalCssImportRequestsForOutputRoot, splitLocalCssImports, splitLocalCssImportsRoot, } from '@weapp-tailwindcss/postcss';
@@ -16,6 +16,7 @@ interface CssHandlerOptionsCacheOptions {
16
16
  getMajorVersion: () => number | undefined;
17
17
  getOutputRoot?: (() => string | undefined) | undefined;
18
18
  getExtraOptions?: ((file: string) => Partial<IStyleHandlerOptions>) | undefined;
19
+ getDynamicCssOptions?: (() => Partial<IStyleHandlerOptions>) | undefined;
19
20
  }
20
21
  export interface CssHandlerOptionsCache {
21
22
  getCssHandlerOptions: (file: string) => CssHandlerOptions;
@@ -8,5 +8,5 @@ export declare function isTemporaryCssAssetFile(file: string): boolean;
8
8
  export declare function createTemporaryCssAssetSourceResolver(entries: TemporaryCssSourceEntry[]): {
9
9
  entries: TemporaryCssSourceEntry[];
10
10
  markUsed(sourceFile: string | undefined): void;
11
- resolve(outputFile: string): RememberedCssSource | undefined;
11
+ resolve(outputFile: string, rawSource?: string): RememberedCssSource | undefined;
12
12
  };
@@ -28,6 +28,7 @@ interface CollectViteProcessedCssAssetOptions {
28
28
  recordViteProcessedCssAssetResult?: CssAssetResultRecorder | undefined;
29
29
  resolveViteProcessedCssOutputFile?: ((file: string) => string | undefined) | undefined;
30
30
  subpackageRoots?: Set<string> | undefined;
31
+ transformCss?: ((css: string, file: string) => string) | undefined;
31
32
  debug?: ((format: string, ...args: unknown[]) => void) | undefined;
32
33
  }
33
34
  interface InjectViteProcessedCssAssetOptions {
@@ -1,8 +1,9 @@
1
- import { W as createTailwindV4Engine$1, lt as loadTailwindV4DesignSystem, n as resolveTailwindV4SourceFromRuntime, st as omitUndefined, ut as resolveValidTailwindV4Candidates$1, y as resolveBooleanObjectOption } from "./v4-engine-BklH3CpJ.mjs";
2
- import { a as resolveGeneratorRuntimeBranch, i as normalizeWeappTailwindcssGeneratorOptions } from "./generator-DNs6ekoC.mjs";
1
+ import { resolveMpxPlatform } from "./framework.mjs";
2
+ import { W as createTailwindV4Engine$1, ct as omitUndefined, dt as resolveValidTailwindV4Candidates$1, n as resolveTailwindV4SourceFromRuntime, ot as resolveCssMacroTailwindV4Source, ut as loadTailwindV4DesignSystem, y as resolveBooleanObjectOption } from "./v4-engine-BuuYDXt1.mjs";
3
+ import { a as resolveGeneratorRuntimeBranch, i as normalizeWeappTailwindcssGeneratorOptions } from "./generator-24-HgU9F.mjs";
3
4
  import { i as isMap, n as defuOverrideArray } from "./utils-DodxWHGz.mjs";
4
5
  import { a as DEFAULT_PARSE_CACHE_MAX_SOURCE_LENGTH, i as resolveDefaultCssPreflight, o as HARD_PARSE_CACHE_MAX_ENTRIES, r as getDefaultOptions } from "./defaults-BhE26nSw.mjs";
5
- import { c as getRuntimeClassSetCacheEntry, d as invalidateRuntimeClassSet, i as resolveUniAppXOptions, o as applyV4CssCalcDefaults, s as warnMissingCssEntries, t as createTailwindcssRuntimeFromContext, u as getRuntimeClassSetSignatureWithSources } from "./tailwindcss-BwV3_Ryc.mjs";
6
+ import { c as getRuntimeClassSetCacheEntry, d as invalidateRuntimeClassSet, i as resolveUniAppXOptions, o as applyV4CssCalcDefaults, s as warnMissingCssEntries, t as createTailwindcssRuntimeFromContext, u as getRuntimeClassSetSignatureWithSources } from "./tailwindcss-D0JF0fuZ.mjs";
6
7
  import { createRequire } from "node:module";
7
8
  import path from "node:path";
8
9
  import process from "node:process";
@@ -113,6 +114,23 @@ function initializeCache(cacheConfig) {
113
114
  return cacheConfig;
114
115
  }
115
116
  //#endregion
117
+ //#region src/framework/platform.ts
118
+ const MPX_TO_UNI_PLATFORM = {
119
+ ali: "mp-alipay",
120
+ dd: "mp-dingtalk",
121
+ jd: "mp-jd",
122
+ qq: "mp-qq",
123
+ swan: "mp-baidu",
124
+ tt: "mp-toutiao",
125
+ wx: "mp-weixin"
126
+ };
127
+ function normalizeFrameworkStylePlatform(platform, appType) {
128
+ const normalized = platform?.trim().toLowerCase();
129
+ if (!normalized) return;
130
+ if (appType === "mpx") return MPX_TO_UNI_PLATFORM[normalized] ?? normalized;
131
+ return normalized;
132
+ }
133
+ //#endregion
116
134
  //#region src/debug/index.ts
117
135
  const _debug = _createDebug("weapp-tw");
118
136
  function createDebug(prefix) {
@@ -233,7 +251,7 @@ function tryGetRuntimeClassSetSync(tailwindRuntime) {
233
251
  async function collectTailwindV4GeneratorClassSet(tailwindRuntime) {
234
252
  if (typeof tailwindRuntime.collectContentTokens !== "function") return;
235
253
  try {
236
- const source = await resolveTailwindV4SourceFromRuntime(tailwindRuntime);
254
+ const source = resolveCssMacroTailwindV4Source(await resolveTailwindV4SourceFromRuntime(tailwindRuntime));
237
255
  const generated = await createTailwindV4Engine$1(source).generate({
238
256
  scanSources: true,
239
257
  target: "web"
@@ -4957,6 +4975,13 @@ function syncLegacyFieldsToCssOptions(ctx) {
4957
4975
  injectAdditionalCssVarScope: ctx.injectAdditionalCssVarScope
4958
4976
  };
4959
4977
  }
4978
+ function applyFrameworkPlatformDefaults(ctx) {
4979
+ if (ctx.cssOptions?.platform || ctx.platform) {
4980
+ ctx.platform = normalizeFrameworkStylePlatform(ctx.cssOptions?.platform ?? ctx.platform, ctx.appType);
4981
+ return;
4982
+ }
4983
+ if (ctx.appType === "mpx") ctx.platform = normalizeFrameworkStylePlatform(resolveMpxPlatform().normalized, ctx.appType);
4984
+ }
4960
4985
  async function clearTailwindcssRuntimeCache(tailwindRuntime, options) {
4961
4986
  if (!tailwindRuntime) return;
4962
4987
  const cacheOptions = tailwindRuntime.options?.cache;
@@ -4990,6 +5015,7 @@ function createInternalCompilerContext(opts) {
4990
5015
  ctx.arbitraryValues = resolveUnocssBareArbitraryValues(ctx.arbitraryValues, ctx.unocss);
4991
5016
  ctx.escapeMap = ctx.customReplaceDictionary;
4992
5017
  syncCssOptionsToLegacyFields(ctx);
5018
+ applyFrameworkPlatformDefaults(ctx);
4993
5019
  applyLoggerLevel(ctx.logLevel);
4994
5020
  const tailwindRuntime = createTailwindcssRuntimeFromContext(ctx);
4995
5021
  logTailwindcssTarget(tailwindRuntime, ctx.tailwindcssBasedir);
@@ -5030,4 +5056,4 @@ function getCompilerContext(opts) {
5030
5056
  return withCompilerContextCache(opts, () => createInternalCompilerContext(opts));
5031
5057
  }
5032
5058
  //#endregion
5033
- export { md5Hash as C, createDebug as S, toCustomAttributesEntities as _, vitePluginName as a, ensureRuntimeClassSet as b, createAttributeMatcher as c, JsTokenUpdater as d, _defineProperty as f, traverse as g, babelParse as h, pluginName as i, shouldSkipJsTransform as l, replaceWxml as m, normalizeStyleHandlerMajorVersion as n, Parser as o, isClassContextLiteralPath as p, resolveStyleOptionsFromContext as r, generateCode as s, getCompilerContext as t, analyzeSource as u, collectRuntimeClassSet as v, refreshTailwindRuntimeState as x, createTailwindRuntimeReadyPromise as y };
5059
+ export { normalizeFrameworkStylePlatform as C, createDebug as S, toCustomAttributesEntities as _, vitePluginName as a, ensureRuntimeClassSet as b, createAttributeMatcher as c, JsTokenUpdater as d, _defineProperty as f, traverse as g, babelParse as h, pluginName as i, shouldSkipJsTransform as l, replaceWxml as m, normalizeStyleHandlerMajorVersion as n, Parser as o, isClassContextLiteralPath as p, resolveStyleOptionsFromContext as r, generateCode as s, getCompilerContext as t, analyzeSource as u, collectRuntimeClassSet as v, md5Hash as w, refreshTailwindRuntimeState as x, createTailwindRuntimeReadyPromise as y };
@@ -1,9 +1,10 @@
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_framework = require("./framework.js");
3
+ const require_v4_engine = require("./v4-engine-CKtsdKxK.js");
4
+ const require_generator = require("./generator-CilgHtxb.js");
4
5
  require("./utils-D3h8j7Mk.js");
5
6
  const require_defaults = require("./defaults-DQhgnnn-.js");
6
- const require_tailwindcss = require("./tailwindcss-BSCvrs1p.js");
7
+ const require_tailwindcss = require("./tailwindcss-D2xs4OEu.js");
7
8
  let node_path = require("node:path");
8
9
  node_path = require_rolldown_runtime.__toESM(node_path);
9
10
  let node_process = require("node:process");
@@ -121,6 +122,23 @@ function initializeCache(cacheConfig) {
121
122
  return cacheConfig;
122
123
  }
123
124
  //#endregion
125
+ //#region src/framework/platform.ts
126
+ const MPX_TO_UNI_PLATFORM = {
127
+ ali: "mp-alipay",
128
+ dd: "mp-dingtalk",
129
+ jd: "mp-jd",
130
+ qq: "mp-qq",
131
+ swan: "mp-baidu",
132
+ tt: "mp-toutiao",
133
+ wx: "mp-weixin"
134
+ };
135
+ function normalizeFrameworkStylePlatform(platform, appType) {
136
+ const normalized = platform?.trim().toLowerCase();
137
+ if (!normalized) return;
138
+ if (appType === "mpx") return MPX_TO_UNI_PLATFORM[normalized] ?? normalized;
139
+ return normalized;
140
+ }
141
+ //#endregion
124
142
  //#region src/debug/index.ts
125
143
  const _debug = (0, debug.default)("weapp-tw");
126
144
  function createDebug(prefix) {
@@ -241,7 +259,7 @@ function tryGetRuntimeClassSetSync(tailwindRuntime) {
241
259
  async function collectTailwindV4GeneratorClassSet(tailwindRuntime) {
242
260
  if (typeof tailwindRuntime.collectContentTokens !== "function") return;
243
261
  try {
244
- const source = await require_v4_engine.resolveTailwindV4SourceFromRuntime(tailwindRuntime);
262
+ const source = require_v4_engine.resolveCssMacroTailwindV4Source(await require_v4_engine.resolveTailwindV4SourceFromRuntime(tailwindRuntime));
245
263
  const generated = await require_v4_engine.createTailwindV4Engine(source).generate({
246
264
  scanSources: true,
247
265
  target: "web"
@@ -4965,6 +4983,13 @@ function syncLegacyFieldsToCssOptions(ctx) {
4965
4983
  injectAdditionalCssVarScope: ctx.injectAdditionalCssVarScope
4966
4984
  };
4967
4985
  }
4986
+ function applyFrameworkPlatformDefaults(ctx) {
4987
+ if (ctx.cssOptions?.platform || ctx.platform) {
4988
+ ctx.platform = normalizeFrameworkStylePlatform(ctx.cssOptions?.platform ?? ctx.platform, ctx.appType);
4989
+ return;
4990
+ }
4991
+ if (ctx.appType === "mpx") ctx.platform = normalizeFrameworkStylePlatform(require_framework.resolveMpxPlatform().normalized, ctx.appType);
4992
+ }
4968
4993
  async function clearTailwindcssRuntimeCache(tailwindRuntime, options) {
4969
4994
  if (!tailwindRuntime) return;
4970
4995
  const cacheOptions = tailwindRuntime.options?.cache;
@@ -4998,6 +5023,7 @@ function createInternalCompilerContext(opts) {
4998
5023
  ctx.arbitraryValues = resolveUnocssBareArbitraryValues(ctx.arbitraryValues, ctx.unocss);
4999
5024
  ctx.escapeMap = ctx.customReplaceDictionary;
5000
5025
  syncCssOptionsToLegacyFields(ctx);
5026
+ applyFrameworkPlatformDefaults(ctx);
5001
5027
  applyLoggerLevel(ctx.logLevel);
5002
5028
  const tailwindRuntime = require_tailwindcss.createTailwindcssRuntimeFromContext(ctx);
5003
5029
  logTailwindcssTarget(tailwindRuntime, ctx.tailwindcssBasedir);
@@ -5116,6 +5142,12 @@ Object.defineProperty(exports, "isClassContextLiteralPath", {
5116
5142
  return isClassContextLiteralPath;
5117
5143
  }
5118
5144
  });
5145
+ Object.defineProperty(exports, "normalizeFrameworkStylePlatform", {
5146
+ enumerable: true,
5147
+ get: function() {
5148
+ return normalizeFrameworkStylePlatform;
5149
+ }
5150
+ });
5119
5151
  Object.defineProperty(exports, "normalizeStyleHandlerMajorVersion", {
5120
5152
  enumerable: true,
5121
5153
  get: function() {
package/dist/core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_context = require("./context-D75pwtBW.js");
2
+ const require_context = require("./context-DCVMkTRj.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 { b as ensureRuntimeClassSet, l as shouldSkipJsTransform, t as getCompilerContext, y as createTailwindRuntimeReadyPromise } from "./context-B07Vf584.mjs";
1
+ import { b as ensureRuntimeClassSet, l as shouldSkipJsTransform, t as getCompilerContext, y as createTailwindRuntimeReadyPromise } from "./context-Bkpmt3ja.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
- export { compileCssMacroConditionalComments, CSS_MACRO_STYLE_OPTIONS_MARKER, hasCssMacroStyleOptions, hasCssMacroTailwindV4Directive, transformCssMacroCss, withCssMacroStyleOptions, } from '@weapp-tailwindcss/postcss';
1
+ export { compileCssMacroConditionalComments, CSS_MACRO_STYLE_OPTIONS_MARKER, hasCssMacroStyleOptions, hasCssMacroTailwindV4CustomVariantConditionalComments, hasCssMacroTailwindV4Directive, hasCssMacroTailwindV4InternalAtRules, hasCssMacroTailwindV4Source, transformCssMacroCss, transformCssMacroTailwindV4Source, withCssMacroStyleOptions, } from '@weapp-tailwindcss/postcss';
2
2
  export declare const CSS_MACRO_PLUGIN_MARKER = "__weappTailwindcssCssMacro";
3
3
  export declare function markCssMacroPlugin<T extends object>(value: T): T;
4
4
  export declare function isCssMacroTailwindPlugin(value: unknown): boolean;
@@ -1,4 +1,4 @@
1
- import { r as markCssMacroPlugin } from "./auto-Ba6hDrse.mjs";
1
+ import { i as markCssMacroPlugin } from "./auto-CrJJc5rK.mjs";
2
2
  import { t as defu } from "./utils-DodxWHGz.mjs";
3
3
  import plugin from "tailwindcss/plugin";
4
4
  //#region src/css-macro/constants.ts
@@ -0,0 +1,2 @@
1
+ import type { DetectableAppType } from './index';
2
+ export declare function normalizeFrameworkStylePlatform(platform: string | undefined, appType: DetectableAppType | undefined): string | undefined;
@@ -1,4 +1,4 @@
1
- import { W as createTailwindV4Engine, ct as inferGeneratorTargetFromEnv, n as resolveTailwindV4SourceFromRuntime } from "./v4-engine-BklH3CpJ.mjs";
1
+ import { W as createTailwindV4Engine, lt as inferGeneratorTargetFromEnv, n as resolveTailwindV4SourceFromRuntime } from "./v4-engine-BuuYDXt1.mjs";
2
2
  import { o as resolveUniUtsPlatform } from "./utils-DodxWHGz.mjs";
3
3
  //#region src/runtime-branch/create-branch.ts
4
4
  function createRuntimeBranch(base, platformFamily, options) {
@@ -93,10 +93,12 @@ function normalizeWeappTailwindcssGeneratorOptions(options, context = {}) {
93
93
  ...context,
94
94
  generatorTarget: target
95
95
  });
96
+ const hasExplicitTarget = options !== void 0 && Object.hasOwn(options, "target");
97
+ const webCompat = options?.webCompat ?? (!hasExplicitTarget && branch.isWeb ? true : void 0);
96
98
  if (options == null) return {
97
99
  target,
98
100
  branch,
99
- webCompat: void 0,
101
+ webCompat,
100
102
  importFallback: false,
101
103
  bareArbitraryValues: void 0
102
104
  };
@@ -105,7 +107,7 @@ function normalizeWeappTailwindcssGeneratorOptions(options, context = {}) {
105
107
  branch,
106
108
  config: options.config,
107
109
  styleOptions: options.styleOptions,
108
- webCompat: options.webCompat,
110
+ webCompat,
109
111
  importFallback: options.importFallback ?? false,
110
112
  bareArbitraryValues: options.bareArbitraryValues
111
113
  };
@@ -1,4 +1,4 @@
1
- const require_v4_engine = require("./v4-engine-CKbS27-o.js");
1
+ const require_v4_engine = require("./v4-engine-CKtsdKxK.js");
2
2
  const require_utils = require("./utils-D3h8j7Mk.js");
3
3
  //#region src/runtime-branch/create-branch.ts
4
4
  function createRuntimeBranch(base, platformFamily, options) {
@@ -93,10 +93,12 @@ function normalizeWeappTailwindcssGeneratorOptions(options, context = {}) {
93
93
  ...context,
94
94
  generatorTarget: target
95
95
  });
96
+ const hasExplicitTarget = options !== void 0 && Object.hasOwn(options, "target");
97
+ const webCompat = options?.webCompat ?? (!hasExplicitTarget && branch.isWeb ? true : void 0);
96
98
  if (options == null) return {
97
99
  target,
98
100
  branch,
99
- webCompat: void 0,
101
+ webCompat,
100
102
  importFallback: false,
101
103
  bareArbitraryValues: void 0
102
104
  };
@@ -105,7 +107,7 @@ function normalizeWeappTailwindcssGeneratorOptions(options, context = {}) {
105
107
  branch,
106
108
  config: options.config,
107
109
  styleOptions: options.styleOptions,
108
- webCompat: options.webCompat,
110
+ webCompat,
109
111
  importFallback: options.importFallback ?? false,
110
112
  bareArbitraryValues: options.bareArbitraryValues
111
113
  };
package/dist/generator.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
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
  exports.createWeappTailwindcssGenerator = require_generator.createWeappTailwindcssGenerator;
5
5
  exports.createWeappTailwindcssGeneratorFromRuntime = require_generator.createWeappTailwindcssGeneratorFromRuntime;
6
6
  exports.normalizeWeappTailwindcssGeneratorOptions = require_generator.normalizeWeappTailwindcssGeneratorOptions;
@@ -1,3 +1,3 @@
1
- import { K as transformTailwindV4CssByTarget, i as resolveTailwindV4SourceOptionsFromRuntime, n as resolveTailwindV4SourceFromRuntime, q as transformTailwindV4CssToWeapp, r as resolveTailwindV4SourceFromRuntimeOptions, t as resolveTailwindV4Source } from "./v4-engine-BklH3CpJ.mjs";
2
- import { i as normalizeWeappTailwindcssGeneratorOptions, n as createWeappTailwindcssGeneratorFromRuntime, r as resolveTailwindSourceFromRuntime, t as createWeappTailwindcssGenerator } from "./generator-DNs6ekoC.mjs";
1
+ import { K as transformTailwindV4CssByTarget, i as resolveTailwindV4SourceOptionsFromRuntime, n as resolveTailwindV4SourceFromRuntime, q as transformTailwindV4CssToWeapp, r as resolveTailwindV4SourceFromRuntimeOptions, t as resolveTailwindV4Source } from "./v4-engine-BuuYDXt1.mjs";
2
+ import { i as normalizeWeappTailwindcssGeneratorOptions, n as createWeappTailwindcssGeneratorFromRuntime, r as resolveTailwindSourceFromRuntime, t as createWeappTailwindcssGenerator } from "./generator-24-HgU9F.mjs";
3
3
  export { createWeappTailwindcssGenerator, createWeappTailwindcssGeneratorFromRuntime, normalizeWeappTailwindcssGeneratorOptions, resolveTailwindSourceFromRuntime, resolveTailwindV4Source, resolveTailwindV4SourceFromRuntime, resolveTailwindV4SourceFromRuntimeOptions, resolveTailwindV4SourceOptionsFromRuntime, transformTailwindV4CssByTarget, transformTailwindV4CssToWeapp };
@@ -1,7 +1,7 @@
1
- import { C as hasTailwindRootDirectives, D as normalizeTailwindSourceForGenerator, G as getTailwindV4IncrementalGenerateCacheStats, T as normalizeTailwindConfigDirectives, U as prependConfigDirective, o as hasConfiguredTailwindV4CssRoots, s as upsertTailwindV4CssSource } from "./v4-engine-BklH3CpJ.mjs";
2
- import { S as createDebug, b as ensureRuntimeClassSet, l as shouldSkipJsTransform, n as normalizeStyleHandlerMajorVersion, t as getCompilerContext, y as createTailwindRuntimeReadyPromise } from "./context-B07Vf584.mjs";
3
- import { l as getRuntimeClassSetSignature, p as resolveViteSourceScanEntries } from "./tailwindcss-BwV3_Ryc.mjs";
4
- import { F as createCssTokenSourceMap, L as processCachedTask, N as annotateCssSourceTrace, P as createCssSourceTraceCacheSignature, n as emitHmrTiming, r as createSourceCandidateCollector, s as createBundleRuntimeClassSetManager, u as generateCssByGenerator, v as rewriteLocalCssImportRequestsForOutput, y as splitLocalCssImports } from "./hmr-timing-DLYQTCDb.mjs";
1
+ import { C as hasTailwindRootDirectives, D as normalizeTailwindSourceForGenerator, G as getTailwindV4IncrementalGenerateCacheStats, T as normalizeTailwindConfigDirectives, U as prependConfigDirective, o as hasConfiguredTailwindV4CssRoots, s as upsertTailwindV4CssSource } from "./v4-engine-BuuYDXt1.mjs";
2
+ import { S as createDebug, b as ensureRuntimeClassSet, l as shouldSkipJsTransform, n as normalizeStyleHandlerMajorVersion, t as getCompilerContext, y as createTailwindRuntimeReadyPromise } from "./context-Bkpmt3ja.mjs";
3
+ import { l as getRuntimeClassSetSignature, p as resolveViteSourceScanEntries } from "./tailwindcss-D0JF0fuZ.mjs";
4
+ import { F as createCssTokenSourceMap, L as processCachedTask, N as annotateCssSourceTrace, P as createCssSourceTraceCacheSignature, n as emitHmrTiming, r as createSourceCandidateCollector, s as createBundleRuntimeClassSetManager, u as generateCssByGenerator, v as rewriteLocalCssImportRequestsForOutput, y as splitLocalCssImports } from "./hmr-timing-BRNaz8Od.mjs";
5
5
  import fs from "node:fs";
6
6
  import path from "node:path";
7
7
  import process from "node:process";
@@ -1,8 +1,8 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.js");
2
- const require_v4_engine = require("./v4-engine-CKbS27-o.js");
3
- const require_context = require("./context-D75pwtBW.js");
4
- const require_tailwindcss = require("./tailwindcss-BSCvrs1p.js");
5
- const require_hmr_timing = require("./hmr-timing-DOoHun3i.js");
2
+ const require_v4_engine = require("./v4-engine-CKtsdKxK.js");
3
+ const require_context = require("./context-DCVMkTRj.js");
4
+ const require_tailwindcss = require("./tailwindcss-D2xs4OEu.js");
5
+ const require_hmr_timing = require("./hmr-timing-BV6nFPoT.js");
6
6
  let node_fs = require("node:fs");
7
7
  node_fs = require_rolldown_runtime.__toESM(node_fs);
8
8
  let node_path = require("node:path");
@@ -12,6 +12,7 @@ node_process = require_rolldown_runtime.__toESM(node_process);
12
12
  let node_buffer = require("node:buffer");
13
13
  let node_stream = require("node:stream");
14
14
  node_stream = require_rolldown_runtime.__toESM(node_stream);
15
+ let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
15
16
  //#region src/bundlers/gulp/module-graph.ts
16
17
  const MODULE_EXTENSIONS = [
17
18
  ".js",
@@ -313,7 +314,7 @@ function createPlugins(options = {}) {
313
314
  const sourceFile = node_path.default.resolve(file.path);
314
315
  const sourceCss = require_v4_engine.normalizeTailwindSourceForGenerator(require_v4_engine.normalizeTailwindConfigDirectives(rawSource, node_path.default.dirname(sourceFile)), { importFallback: true });
315
316
  const config = runtimeState.tailwindRuntime.options?.tailwindcss?.config;
316
- const generatorSourceCss = require_v4_engine.prependConfigDirective(require_hmr_timing.splitLocalCssImports(sourceCss)?.source ?? sourceCss, config);
317
+ const generatorSourceCss = require_v4_engine.prependConfigDirective((0, _weapp_tailwindcss_postcss.splitLocalCssImports)(sourceCss)?.source ?? sourceCss, config);
317
318
  if (!require_v4_engine.upsertTailwindV4CssSource(opts, {
318
319
  file: sourceFile,
319
320
  base: node_path.default.dirname(sourceFile),
@@ -444,7 +445,7 @@ function createPlugins(options = {}) {
444
445
  async transform() {
445
446
  await runtimeState.readyPromise;
446
447
  const cssHandlerOptions = resolveWxssFileHandlerOptions(file, rawSource, options);
447
- const outputCss = require_hmr_timing.rewriteLocalCssImportRequestsForOutput(require_hmr_timing.annotateCssSourceTrace((shouldUseGenerator ? await require_hmr_timing.generateCssByGenerator({
448
+ const outputCss = (0, _weapp_tailwindcss_postcss.rewriteLocalCssImportRequestsForOutput)(require_hmr_timing.annotateCssSourceTrace((shouldUseGenerator ? await require_hmr_timing.generateCssByGenerator({
448
449
  opts,
449
450
  runtimeState,
450
451
  runtime: nextRuntimeSet,
package/dist/gulp.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_gulp = require("./gulp-B_u8NjQL.js");
2
+ const require_gulp = require("./gulp-Bogfnoki.js");
3
3
  exports.WeappTailwindcss = require_gulp.createPlugins;
4
4
  exports.createPlugins = require_gulp.createPlugins;
5
5
  exports.weappTailwindcss = require_gulp.createPlugins;
package/dist/gulp.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as createPlugins } from "./gulp-aQMZ0M7c.mjs";
1
+ import { t as createPlugins } from "./gulp-0RsqkF_d.mjs";
2
2
  export { createPlugins as WeappTailwindcss, createPlugins, createPlugins as weappTailwindcss };
@@ -1,12 +1,12 @@
1
- import { A as resolveCssEntrySource, B as stripTailwindBanner, C as hasTailwindRootDirectives, E as normalizeTailwindSourceDirectives, F as hasTailwindGeneratedCssMarkers, H as normalizeConfigDirective, I as splitGeneratorPlaceholderCssBySourceOrder, J as FULL_SOURCE_SCAN_EXTENSION_RE, L as splitTailwindGeneratedCssByBanner, M as VITE_MARKER_RE, N as createCssAppend, O as parseImportRequest, P as hasTailwindGeneratedCss, Q as isFileMatchedByTailwindSourceEntries, R as splitTailwindV4GeneratedCssBySourceOrder, U as prependConfigDirective, V as stripTailwindBanners, i as resolveTailwindV4SourceOptionsFromRuntime, it as toPosixPath$1, j as GENERATOR_PLACEHOLDER_MARKER_RE, k as removeTailwindSourceDirectives, lt as loadTailwindV4DesignSystem, n as resolveTailwindV4SourceFromRuntime, nt as resolveSourceScanPath, ot as filterUnsupportedMiniProgramTailwindV4Candidates, rt as resolveTailwindV4CssSourceBase, st as omitUndefined, t as resolveTailwindV4Source$1, w as hasTailwindSourceDirectives, x as hasTailwindApplyDirective, z as stripGeneratorPlaceholderMarkers } from "./v4-engine-BklH3CpJ.mjs";
2
- import { a as resolveGeneratorRuntimeBranch, i as normalizeWeappTailwindcssGeneratorOptions, s as shouldUseMiniProgramCssBranch, t as createWeappTailwindcssGenerator } from "./generator-DNs6ekoC.mjs";
3
- import { C as md5Hash, S as createDebug, g as traverse, h as babelParse, m as replaceWxml, r as resolveStyleOptionsFromContext } from "./context-B07Vf584.mjs";
4
- import { h as resolveTailwindV4EntriesFromCss, l as getRuntimeClassSetSignature, r as isUniAppXEnabled } from "./tailwindcss-BwV3_Ryc.mjs";
1
+ import { A as resolveCssEntrySource, B as stripTailwindBanner, C as hasTailwindRootDirectives, E as normalizeTailwindSourceDirectives, F as hasTailwindGeneratedCssMarkers, H as normalizeConfigDirective, I as splitGeneratorPlaceholderCssBySourceOrder, J as FULL_SOURCE_SCAN_EXTENSION_RE, L as splitTailwindGeneratedCssByBanner, M as VITE_MARKER_RE, N as createCssAppend, O as parseImportRequest, P as hasTailwindGeneratedCss, Q as isFileMatchedByTailwindSourceEntries, R as splitTailwindV4GeneratedCssBySourceOrder, U as prependConfigDirective, V as stripTailwindBanners, ct as omitUndefined, i as resolveTailwindV4SourceOptionsFromRuntime, it as toPosixPath$1, j as GENERATOR_PLACEHOLDER_MARKER_RE, k as removeTailwindSourceDirectives, n as resolveTailwindV4SourceFromRuntime, nt as resolveSourceScanPath, rt as resolveTailwindV4CssSourceBase, st as filterUnsupportedMiniProgramTailwindV4Candidates, t as resolveTailwindV4Source$1, ut as loadTailwindV4DesignSystem, w as hasTailwindSourceDirectives, x as hasTailwindApplyDirective, z as stripGeneratorPlaceholderMarkers } from "./v4-engine-BuuYDXt1.mjs";
2
+ import { a as resolveGeneratorRuntimeBranch, i as normalizeWeappTailwindcssGeneratorOptions, s as shouldUseMiniProgramCssBranch, t as createWeappTailwindcssGenerator } from "./generator-24-HgU9F.mjs";
3
+ import { S as createDebug, g as traverse, h as babelParse, m as replaceWxml, r as resolveStyleOptionsFromContext, w as md5Hash } from "./context-Bkpmt3ja.mjs";
4
+ import { h as resolveTailwindV4EntriesFromCss, l as getRuntimeClassSetSignature, r as isUniAppXEnabled } from "./tailwindcss-D0JF0fuZ.mjs";
5
5
  import { existsSync, readFileSync } from "node:fs";
6
6
  import path from "node:path";
7
7
  import process from "node:process";
8
8
  import { extractRawCandidatesWithPositions, extractSourceCandidates, extractValidCandidates, resolveProjectSourceFiles, resolveValidTailwindV4Candidates, splitCandidateTokens } from "@tailwindcss-mangle/engine";
9
- import { filterExistingCssRules, finalizeMiniProgramCss, hasMiniProgramCssSpecificityPlaceholders, postcss, pruneMiniProgramGeneratedCss, removeUnsupportedCascadeLayers, removeUnsupportedMiniProgramAtRules, stripMiniProgramCssSpecificityPlaceholders, transformWebCssCompat } from "@weapp-tailwindcss/postcss";
9
+ import { cleanLocalCssImportWrapperTailwindDirectives, cleanLocalCssImportWrapperTailwindDirectivesRoot, filterExistingCssRules, finalizeMiniProgramCss, hasMiniProgramCssSpecificityPlaceholders, isPureLocalCssImportWrapper, isPureLocalCssImportWrapperRoot, postcss, pruneMiniProgramGeneratedCss, removeUnsupportedCascadeLayers, removeUnsupportedMiniProgramAtRules, restoreLocalCssImports, rewriteLocalCssImportRequestsForOutput, splitLocalCssImports, splitLocalCssImportsRoot, stripMiniProgramCssSpecificityPlaceholders, transformWebCssCompat } from "@weapp-tailwindcss/postcss";
10
10
  import { LRUCache } from "lru-cache";
11
11
  import { readFile } from "node:fs/promises";
12
12
  import { MappingChars2String, unescape } from "@weapp-core/escape";
@@ -158,8 +158,10 @@ function hasMiniProgramTailwindV4PreflightReset(css) {
158
158
  }
159
159
  function finalizeMiniProgramGeneratorCss(css, target, _majorVersion, cssPreflight, options = {}) {
160
160
  if (target !== "weapp") return css;
161
+ const injectPreflight = options.injectPreflight !== false && !hasMiniProgramTailwindV4PreflightReset(css);
161
162
  return finalizeMiniProgramCss(css, {
162
- cssPreflight: options.injectPreflight !== false && !hasMiniProgramTailwindV4PreflightReset(css) ? cssPreflight : void 0,
163
+ cssPreflight: cssPreflight === false ? false : injectPreflight ? cssPreflight : void 0,
164
+ cssSelectorReplacement: options.styleOptions?.cssOptions?.cssSelectorReplacement ?? options.styleOptions?.cssSelectorReplacement,
163
165
  isTailwindcssV4: true,
164
166
  tailwindcssV4GradientFallback: options.styleOptions?.cssOptions?.tailwindcssV4GradientFallback ?? options.styleOptions?.tailwindcssV4GradientFallback
165
167
  });
@@ -1999,133 +2001,6 @@ function inheritLegacyUnitConvertedDeclarations(css, legacyCss) {
1999
2001
  }
2000
2002
  }
2001
2003
  //#endregion
2002
- //#region src/bundlers/shared/generator-css/local-imports.ts
2003
- const REMOTE_IMPORT_RE = /^(?:https?:)?\/\//i;
2004
- const CSS_STYLE_EXTENSION_RE = /\.(?:css|wxss|acss|ttss|qss|jxss|tyss|scss|sass|less|styl|stylus|pcss|postcss)(?:$|[?#])/i;
2005
- const SOURCE_STYLE_EXTENSION_RE = /\.(?:css|scss|sass|less|styl|stylus|pcss|postcss)(?:$|[?#])/i;
2006
- function createCssSourceOrderAppend(base, extra) {
2007
- if (!base) return extra;
2008
- if (!extra) return base;
2009
- if (/\s$/.test(base) || /^\s/.test(extra)) return `${base}${extra}`;
2010
- return `${base}\n${extra}`;
2011
- }
2012
- function isLocalImportRequest(request) {
2013
- return request.length > 0 && !request.startsWith("#") && !request.startsWith("tailwindcss") && !request.startsWith("weapp-tailwindcss") && !request.startsWith("data:") && !REMOTE_IMPORT_RE.test(request);
2014
- }
2015
- function isPureLocalCssImportWrapper(css) {
2016
- let hasImport = false;
2017
- try {
2018
- const root = postcss.parse(css);
2019
- for (const node of root.nodes) {
2020
- if (node.type === "comment") continue;
2021
- if (node.type !== "atrule" || node.name !== "import") return false;
2022
- const request = parseImportRequest(node.params);
2023
- if (!request || !isLocalImportRequest(request)) return false;
2024
- hasImport = true;
2025
- }
2026
- } catch {
2027
- return false;
2028
- }
2029
- return hasImport;
2030
- }
2031
- function cleanLocalCssImportWrapperTailwindDirectives(css) {
2032
- let hasLocalImport = false;
2033
- let hasTailwindDirective = false;
2034
- try {
2035
- const root = postcss.parse(css);
2036
- for (const node of root.nodes) {
2037
- if (node.type === "comment") continue;
2038
- if (node.type === "atrule" && node.name === "import") {
2039
- const request = parseImportRequest(node.params);
2040
- if (!request || !isLocalImportRequest(request)) return;
2041
- hasLocalImport = true;
2042
- continue;
2043
- }
2044
- if (node.type === "atrule" && node.name === "source") {
2045
- hasTailwindDirective = true;
2046
- continue;
2047
- }
2048
- return;
2049
- }
2050
- } catch {
2051
- return;
2052
- }
2053
- return hasLocalImport && hasTailwindDirective ? prefixLocalCssImportsWithWebpackIgnore(removeTailwindSourceDirectives(css)) : void 0;
2054
- }
2055
- function prefixLocalCssImportsWithWebpackIgnore(css) {
2056
- try {
2057
- const root = postcss.parse(css);
2058
- root.walkAtRules("import", (atRule) => {
2059
- const request = parseImportRequest(atRule.params);
2060
- if (request && isLocalImportRequest(request)) atRule.raws.before = `${atRule.raws.before ?? ""}/* webpackIgnore: true */\n`;
2061
- });
2062
- return root.toString();
2063
- } catch {
2064
- return css;
2065
- }
2066
- }
2067
- function splitLocalCssImports(source) {
2068
- try {
2069
- const root = postcss.parse(source);
2070
- const importRoot = postcss.root();
2071
- let changed = false;
2072
- for (const node of [...root.nodes]) {
2073
- if (node.type !== "atrule" || node.name !== "import") continue;
2074
- const request = parseImportRequest(node.params);
2075
- if (!request || !isLocalImportRequest(request)) continue;
2076
- importRoot.append(node.clone());
2077
- node.remove();
2078
- changed = true;
2079
- }
2080
- const imports = importRoot.nodes.filter((node) => node.type === "atrule" && node.name === "import").map((node) => `@import ${node.params};`).join("\n");
2081
- return changed ? {
2082
- imports,
2083
- source: root.toString()
2084
- } : void 0;
2085
- } catch {
2086
- return;
2087
- }
2088
- }
2089
- function restoreLocalCssImports(css, imports) {
2090
- if (!imports?.trim()) return css;
2091
- return createCssSourceOrderAppend(imports, css);
2092
- }
2093
- function splitRequestSuffix(request) {
2094
- const suffixIndexCandidates = [request.indexOf("?"), request.indexOf("#")].filter((index) => index >= 0);
2095
- const suffixIndex = suffixIndexCandidates.length > 0 ? Math.min(...suffixIndexCandidates) : -1;
2096
- if (suffixIndex < 0) return {
2097
- clean: request,
2098
- suffix: ""
2099
- };
2100
- return {
2101
- clean: request.slice(0, suffixIndex),
2102
- suffix: request.slice(suffixIndex)
2103
- };
2104
- }
2105
- function normalizeOutputImportRequest(request, styleOutputExtension) {
2106
- const normalizedStyleOutputExtension = styleOutputExtension?.startsWith(".") ? styleOutputExtension : styleOutputExtension ? `.${styleOutputExtension}` : void 0;
2107
- const { clean, suffix } = splitRequestSuffix(request.replace(/\\/g, "/"));
2108
- return `${clean.replace(/^(?:\.\/)?src\//, "./").replace(SOURCE_STYLE_EXTENSION_RE, normalizedStyleOutputExtension ?? ".css")}${suffix}`;
2109
- }
2110
- function rewriteLocalCssImportRequestsForOutput(css, options = {}) {
2111
- if (!css.includes("@import")) return css;
2112
- try {
2113
- const root = postcss.parse(css);
2114
- let changed = false;
2115
- root.walkAtRules("import", (atRule) => {
2116
- const request = parseImportRequest(atRule.params);
2117
- if (!request || !isLocalImportRequest(request) || !CSS_STYLE_EXTENSION_RE.test(request)) return;
2118
- const rewritten = normalizeOutputImportRequest(request, options.styleOutputExtension);
2119
- if (rewritten === request) return;
2120
- atRule.params = atRule.params.replace(request, rewritten);
2121
- changed = true;
2122
- });
2123
- return changed ? root.toString() : css;
2124
- } catch {
2125
- return css;
2126
- }
2127
- }
2128
- //#endregion
2129
2004
  //#region src/bundlers/shared/generator-css/user-layer-order.ts
2130
2005
  const USER_LAYER_COMPONENTS_START = "/*! weapp-tailwindcss layer components start */";
2131
2006
  const USER_LAYER_COMPONENTS_END = "/*! weapp-tailwindcss layer components end */";
@@ -2323,6 +2198,23 @@ function intersectCandidateSets(left, right) {
2323
2198
  for (const candidate of small) if (large.has(candidate)) matched.add(candidate);
2324
2199
  return matched;
2325
2200
  }
2201
+ function parseCssSourceRoot(rawSource) {
2202
+ try {
2203
+ return postcss.parse(rawSource);
2204
+ } catch {
2205
+ return;
2206
+ }
2207
+ }
2208
+ function cleanLocalCssImportWrapperFromParsedRoot(rawSource, root) {
2209
+ if (!root) return cleanLocalCssImportWrapperTailwindDirectives(rawSource);
2210
+ return cleanLocalCssImportWrapperTailwindDirectivesRoot(root) ? root.toString() : void 0;
2211
+ }
2212
+ function isPureLocalCssImportWrapperFromParsedRoot(rawSource, root) {
2213
+ return root ? isPureLocalCssImportWrapperRoot(root) : isPureLocalCssImportWrapper(rawSource);
2214
+ }
2215
+ function splitLocalCssImportsFromParsedRoot(rawSource, root) {
2216
+ return root ? splitLocalCssImportsRoot(root) : splitLocalCssImports(rawSource);
2217
+ }
2326
2218
  function collectCssRuleIdentityMarkers(source) {
2327
2219
  const markers = /* @__PURE__ */ new Set();
2328
2220
  try {
@@ -2371,20 +2263,8 @@ async function generateCssByGenerator(options) {
2371
2263
  const majorVersion = runtimeState.tailwindRuntime.majorVersion;
2372
2264
  if (majorVersion !== 4) throw new Error("weapp-tailwindcss 生成管线仅支持 Tailwind CSS v4。");
2373
2265
  const effectiveRawSource = stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(normalizeTailwindSourceDirectives(rawSource, { importFallback: generatorOptions.importFallback })));
2374
- const localImportParts = splitLocalCssImports(effectiveRawSource);
2375
- const localImports = options.restoreLocalCssImports === false ? void 0 : localImportParts?.imports;
2376
- const finalizeGeneratorCss = (css, target, finalizeOptions = {}) => {
2377
- return finalizeWebGeneratorCss(restoreLocalCssImports(finalizeMiniProgramGeneratorCss(css, target, majorVersion, opts.cssPreflight, finalizeOptions), localImports), target, generatorOptions.webCompat);
2378
- };
2379
- const generatorRawSource = localImportParts?.source ?? effectiveRawSource;
2380
- const rawUserSource = userRawSource === void 0 ? generatorRawSource : userRawSourceProcessed ? userRawSource : stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(normalizeTailwindSourceDirectives(userRawSource, { importFallback: generatorOptions.importFallback })));
2381
- const userSource = splitLocalCssImports(rawUserSource)?.source ?? rawUserSource;
2382
- const userCssRawSource = removeTailwindV4GeneratorAtRules(userSource);
2383
- const generatedUserCssOrderSource = hasTailwindGeneratedCss(userSource) ? splitTailwindV4GeneratedCssBySourceOrder(userSource, generatorRawSource) : void 0;
2384
- const generatedUserCssRawSource = generatedUserCssOrderSource ? createCssAppend(generatedUserCssOrderSource.before, generatedUserCssOrderSource.after) : hasTailwindGeneratedCss(userSource) ? "" : userCssRawSource;
2385
- const userCssOrderSource = GENERATOR_PLACEHOLDER_MARKER_RE.test(userSource) ? userSource : hasTailwindGeneratedCss(userSource) ? userSource : generatedUserCssRawSource;
2386
- const hasDistinctUserRawSource = typeof userRawSource === "string" && normalizeCssSourceForCompare(generatedUserCssRawSource) !== normalizeCssSourceForCompare(generatorRawSource);
2387
- const cleanedLocalImportWrapper = cleanLocalCssImportWrapperTailwindDirectives(effectiveRawSource);
2266
+ const effectiveRawSourceRoot = parseCssSourceRoot(effectiveRawSource);
2267
+ const cleanedLocalImportWrapper = cleanLocalCssImportWrapperFromParsedRoot(effectiveRawSource, effectiveRawSourceRoot);
2388
2268
  if (cleanedLocalImportWrapper !== void 0) return {
2389
2269
  css: shouldUseMiniProgramCssBranch(generatorBranch) ? removeUnsupportedMiniProgramAtRules(cleanedLocalImportWrapper) : cleanedLocalImportWrapper,
2390
2270
  classSet: /* @__PURE__ */ new Set(),
@@ -2396,7 +2276,20 @@ async function generateCssByGenerator(options) {
2396
2276
  majorVersion
2397
2277
  }
2398
2278
  };
2399
- if (isPureLocalCssImportWrapper(effectiveRawSource)) return;
2279
+ if (isPureLocalCssImportWrapperFromParsedRoot(effectiveRawSource, effectiveRawSourceRoot)) return;
2280
+ const localImportParts = splitLocalCssImportsFromParsedRoot(effectiveRawSource, effectiveRawSourceRoot);
2281
+ const localImports = options.restoreLocalCssImports === false ? void 0 : localImportParts?.imports;
2282
+ const finalizeGeneratorCss = (css, target, finalizeOptions = {}) => {
2283
+ return finalizeWebGeneratorCss(restoreLocalCssImports(finalizeMiniProgramGeneratorCss(css, target, majorVersion, opts.cssPreflight, finalizeOptions), localImports), target, generatorOptions.webCompat);
2284
+ };
2285
+ const generatorRawSource = localImportParts?.source ?? effectiveRawSource;
2286
+ const rawUserSource = userRawSource === void 0 ? generatorRawSource : userRawSourceProcessed ? userRawSource : stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(normalizeTailwindSourceDirectives(userRawSource, { importFallback: generatorOptions.importFallback })));
2287
+ const userSource = (rawUserSource === generatorRawSource ? void 0 : splitLocalCssImports(rawUserSource))?.source ?? rawUserSource;
2288
+ const userCssRawSource = removeTailwindV4GeneratorAtRules(userSource);
2289
+ const generatedUserCssOrderSource = hasTailwindGeneratedCss(userSource) ? splitTailwindV4GeneratedCssBySourceOrder(userSource, generatorRawSource) : void 0;
2290
+ const generatedUserCssRawSource = generatedUserCssOrderSource ? createCssAppend(generatedUserCssOrderSource.before, generatedUserCssOrderSource.after) : hasTailwindGeneratedCss(userSource) ? "" : userCssRawSource;
2291
+ const userCssOrderSource = GENERATOR_PLACEHOLDER_MARKER_RE.test(userSource) ? userSource : hasTailwindGeneratedCss(userSource) ? userSource : generatedUserCssRawSource;
2292
+ const hasDistinctUserRawSource = typeof userRawSource === "string" && normalizeCssSourceForCompare(generatedUserCssRawSource) !== normalizeCssSourceForCompare(generatorRawSource);
2400
2293
  const hasGeneratedCss = hasTailwindGeneratedCss(generatorRawSource);
2401
2294
  const hasSourceDirectives = hasTailwindSourceDirectives(generatorRawSource, { importFallback: generatorOptions.importFallback });
2402
2295
  const hasGeneratedMarkers = hasTailwindGeneratedCssMarkers(generatorRawSource);