weapp-tailwindcss 5.1.0 → 5.1.1

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 (83) hide show
  1. package/dist/bundlers/shared/generator-css/class-selectors.d.ts +2 -0
  2. package/dist/bundlers/shared/generator-css/generation-helpers.d.ts +6 -14
  3. package/dist/bundlers/shared/generator-css/source-resolver/metadata.d.ts +1 -1
  4. package/dist/bundlers/shared/generator-css/source-resolver.d.ts +2 -2
  5. package/dist/bundlers/shared/generator-css/validate.d.ts +1 -0
  6. package/dist/bundlers/vite/css-memory.d.ts +6 -0
  7. package/dist/bundlers/vite/generate-bundle/css-assets.d.ts +1 -1
  8. package/dist/bundlers/vite/generate-bundle/css-handler-options.d.ts +1 -1
  9. package/dist/bundlers/vite/generate-bundle/css-output-helpers.d.ts +39 -0
  10. package/dist/bundlers/vite/generate-bundle/env-flags.d.ts +1 -0
  11. package/dist/bundlers/vite/generate-bundle/final-css-assets.d.ts +2 -1
  12. package/dist/bundlers/vite/generate-bundle/finalize.d.ts +2 -0
  13. package/dist/bundlers/vite/generate-bundle/html-processing.d.ts +26 -0
  14. package/dist/bundlers/vite/generate-bundle/js-processing.d.ts +4 -0
  15. package/dist/bundlers/vite/generate-bundle/remembered-css-replay.d.ts +1 -1
  16. package/dist/bundlers/vite/generate-bundle/remembered-css.d.ts +1 -1
  17. package/dist/bundlers/vite/generate-bundle/root-style-output.d.ts +6 -0
  18. package/dist/bundlers/vite/generate-bundle/runtime-linked-source-memory.d.ts +25 -0
  19. package/dist/bundlers/vite/generate-bundle/source-candidate-source.d.ts +9 -0
  20. package/dist/bundlers/vite/generate-bundle/tailwind-v4-css-source.d.ts +9 -0
  21. package/dist/bundlers/vite/generate-bundle/transform-filter.d.ts +15 -0
  22. package/dist/bundlers/vite/generate-bundle/types.d.ts +1 -0
  23. package/dist/bundlers/vite/generate-bundle.d.ts +1 -2
  24. package/dist/bundlers/vite/plugin-cache.d.ts +15 -0
  25. package/dist/bundlers/vite/runtime-class-set.d.ts +2 -1
  26. package/dist/bundlers/webpack/BaseUnifiedPlugin/shared.d.ts +3 -3
  27. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/css-source-resolvers.d.ts +34 -0
  28. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/js-module-graph.d.ts +37 -0
  29. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers.d.ts +199 -0
  30. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/source-candidate-refresh.d.ts +11 -0
  31. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets.d.ts +1 -0
  32. package/dist/cli.js +15 -8
  33. package/dist/cli.mjs +15 -8
  34. package/dist/context/style-options.d.ts +1 -0
  35. package/dist/{context-BHxLe743.js → context-B6hVF7dr.js} +20 -9
  36. package/dist/{context-Mbzkek1q.mjs → context-DlpKD7aN.mjs} +15 -10
  37. package/dist/core.js +1 -1
  38. package/dist/core.mjs +1 -1
  39. package/dist/css-macro/index.d.ts +3 -7
  40. package/dist/{defaults-ZElj1zKc.mjs → defaults-BhE26nSw.mjs} +7 -3
  41. package/dist/{defaults-CVcKbXBG.js → defaults-CmFBmxsr.js} +7 -3
  42. package/dist/defaults.d.ts +1 -1
  43. package/dist/defaults.js +1 -1
  44. package/dist/defaults.mjs +1 -1
  45. package/dist/generator/types.d.ts +1 -1
  46. package/dist/{generator-9rUz4Hcb.js → generator-6oMJtTDO.js} +1 -1
  47. package/dist/{generator-Dc4qaPmT.mjs → generator-CjzBK7h-.mjs} +1 -1
  48. package/dist/generator.js +2 -2
  49. package/dist/generator.mjs +2 -2
  50. package/dist/{gulp-B_sdP6dx.js → gulp-BtGq6LP9.js} +11 -9
  51. package/dist/{gulp-uM36oIJs.mjs → gulp-DNU10Vtc.mjs} +11 -9
  52. package/dist/gulp.js +1 -1
  53. package/dist/gulp.mjs +1 -1
  54. package/dist/{hmr-timing-BXMLsF4b.mjs → hmr-timing-B0KuWDjV.mjs} +121 -85
  55. package/dist/{hmr-timing-CogqkFaF.js → hmr-timing-CegXR9O4.js} +132 -84
  56. package/dist/index.js +4 -4
  57. package/dist/index.mjs +4 -4
  58. package/dist/postcss.js +2 -2
  59. package/dist/postcss.mjs +2 -2
  60. package/dist/presets.js +2 -2
  61. package/dist/presets.mjs +2 -2
  62. package/dist/{source-candidate-scan-signature-Cvb5z1ha.mjs → source-candidate-scan-signature-B5af2Ahe.mjs} +3 -3
  63. package/dist/{source-candidate-scan-signature-2ybpptAK.js → source-candidate-scan-signature-BKYb9jxa.js} +3 -3
  64. package/dist/tailwindcss/runtime-types.d.ts +1 -0
  65. package/dist/tailwindcss/v4-engine/source.d.ts +5 -14
  66. package/dist/tailwindcss/v4-engine/types.d.ts +10 -2
  67. package/dist/{tailwindcss-wyUHrfil.mjs → tailwindcss-B5mRo0-M.mjs} +12 -7
  68. package/dist/{tailwindcss-DHIYcqXT.js → tailwindcss-dbrbY4cd.js} +11 -6
  69. package/dist/{transform-tExdt40m.mjs → transform-fRBeuuK-.mjs} +1 -1
  70. package/dist/{transform-CQVOgmzM.js → transform-vLwZpiTE.js} +1 -1
  71. package/dist/types/user-defined-options/matcher.d.ts +7 -0
  72. package/dist/{v4-engine-CF9zt4Cw.mjs → v4-engine-C3qSwQ-e.mjs} +7 -27
  73. package/dist/{v4-engine-D4ubP7N5.js → v4-engine-ON_oSLfO.js} +5 -31
  74. package/dist/{vite-CPO83EhA.mjs → vite-CWRooooa.mjs} +730 -393
  75. package/dist/{vite-CP0ylSxZ.js → vite-w-RkgaTY.js} +730 -392
  76. package/dist/vite.js +1 -1
  77. package/dist/vite.mjs +1 -1
  78. package/dist/weapp-tw-css-import-rewrite-loader.js +122 -85
  79. package/dist/{webpack-BzqhJ8yK.mjs → webpack-8PaV1gG3.mjs} +923 -671
  80. package/dist/{webpack-Bsek8VhR.js → webpack-CGgBOx9l.js} +923 -671
  81. package/dist/webpack.js +1 -1
  82. package/dist/webpack.mjs +1 -1
  83. package/package.json +5 -5
@@ -1,7 +1,7 @@
1
- import { $ as isFileMatchedByTailwindSourceEntries, A as removeTailwindSourceDirectives, B as stripGeneratorPlaceholderMarkers, C as hasTailwindRootDirectives, D as normalizeTailwindSourceDirectives, F as hasTailwindGeneratedCss, H as stripTailwindBanners, I as hasTailwindGeneratedCssMarkers, L as splitGeneratorPlaceholderCssBySourceOrder, M as GENERATOR_PLACEHOLDER_MARKER_RE, N as VITE_MARKER_RE, P as createCssAppend, R as splitTailwindGeneratedCssByBanner, T as hasTailwindSourceDirectives, U as normalizeConfigDirective, V as stripTailwindBanner, W as prependConfigDirective, Y as FULL_SOURCE_SCAN_EXTENSION_RE, at as toPosixPath$1, ct as omitUndefined, i as resolveTailwindV4SourceOptionsFromRuntime, it as resolveTailwindV4CssSourceBase, j as resolveCssEntrySource, k as parseImportRequest, n as resolveTailwindV4SourceFromRuntime, rt as resolveSourceScanPath, st as filterUnsupportedMiniProgramTailwindV4Candidates, t as resolveTailwindV4Source$1, ut as loadTailwindV4DesignSystem, x as hasTailwindApplyDirective, z as splitTailwindV4GeneratedCssBySourceOrder } from "./v4-engine-CF9zt4Cw.mjs";
2
- import { a as resolveGeneratorRuntimeBranch, i as normalizeWeappTailwindcssGeneratorOptions, s as shouldUseMiniProgramCssBranch, t as createWeappTailwindcssGenerator } from "./generator-Dc4qaPmT.mjs";
3
- import { S as md5Hash, h as traverse, m as babelParse, n as resolveStyleOptionsFromContext, p as replaceWxml, x as createDebug } from "./context-Mbzkek1q.mjs";
4
- import { h as resolveTailwindV4EntriesFromCss, l as getRuntimeClassSetSignature, r as isUniAppXEnabled } from "./tailwindcss-wyUHrfil.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, 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-C3qSwQ-e.mjs";
2
+ import { a as resolveGeneratorRuntimeBranch, i as normalizeWeappTailwindcssGeneratorOptions, s as shouldUseMiniProgramCssBranch, t as createWeappTailwindcssGenerator } from "./generator-CjzBK7h-.mjs";
3
+ import { C as md5Hash, S as createDebug, g as traverse, h as babelParse, m as replaceWxml, r as resolveStyleOptionsFromContext } from "./context-DlpKD7aN.mjs";
4
+ import { h as resolveTailwindV4EntriesFromCss, l as getRuntimeClassSetSignature, r as isUniAppXEnabled } from "./tailwindcss-B5mRo0-M.mjs";
5
5
  import { existsSync, readFileSync } from "node:fs";
6
6
  import path from "node:path";
7
7
  import process from "node:process";
@@ -128,6 +128,30 @@ function annotateCssSourceTrace(css, options) {
128
128
  }
129
129
  }
130
130
  //#endregion
131
+ //#region src/bundlers/shared/generator-css/class-selectors.ts
132
+ function normalizeCssClassSelector(value) {
133
+ return value.replace(/\\([^\da-f\r\n])/gi, "$1").replace(/\\([\da-f]{1,6})\s?/gi, (_, code) => String.fromCodePoint(Number.parseInt(code, 16)));
134
+ }
135
+ function collectRawSourceClassSelectors(rawSource) {
136
+ const selectors = /* @__PURE__ */ new Set();
137
+ try {
138
+ postcss.parse(rawSource).walkRules((rule) => {
139
+ for (const selector of rule.selectors ?? [rule.selector]) for (const match of selector.matchAll(/\.((?:\\.|[_a-z\u00A0-\uFFFF-])(?:\\.|[\w\u00A0-\uFFFF-])*)/gi)) selectors.add(normalizeCssClassSelector(match[1]));
140
+ });
141
+ } catch {}
142
+ return selectors;
143
+ }
144
+ function collectGeneratedRawSourceCandidates(candidates, rawSource, escapeMap) {
145
+ const selectors = collectRawSourceClassSelectors(rawSource);
146
+ if (selectors.size === 0) return /* @__PURE__ */ new Set();
147
+ const matched = /* @__PURE__ */ new Set();
148
+ for (const candidate of candidates) {
149
+ const escaped = normalizeCssClassSelector(replaceWxml(candidate, { escapeMap }));
150
+ if (selectors.has(candidate) || selectors.has(escaped)) matched.add(candidate);
151
+ }
152
+ return matched;
153
+ }
154
+ //#endregion
131
155
  //#region src/bundlers/shared/generator-css/generation-helpers.ts
132
156
  function hasMiniProgramTailwindV4PreflightReset(css) {
133
157
  return /(?:^|[},])\s*view\s*,\s*text\s*,\s*::after\s*,\s*::before\s*\{[^}]*\bborder\s*:\s*0\s+solid\b/.test(css);
@@ -210,7 +234,7 @@ function shouldUseGeneratorForCurrentCss(_majorVersion, cssHandlerOptions, optio
210
234
  const hasApplyDirectives = hasTailwindApplyDirective(options.rawSource);
211
235
  const sourceCss = cssHandlerOptions.sourceOptions?.sourceCss;
212
236
  const hasSourceCssDirectives = typeof sourceCss === "string" && (hasTailwindRootDirectives(sourceCss, { importFallback: true }) || hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || hasTailwindApplyDirective(sourceCss));
213
- return options.forceGenerator === true || options.hasGeneratedCss || options.hasGeneratedMarkers || options.hasSourceDirectives || hasApplyDirectives || hasSourceCssDirectives;
237
+ return options.forceGenerator === true || options.hasGeneratedCss || options.hasGeneratedMarkers || options.hasSourceDirectives || hasApplyDirectives || hasSourceCssDirectives || cssHandlerOptions.isMainChunk && (options.configuredCssSourceCount ?? 0) > 0 || cssHandlerOptions.isMainChunk && options.rawSource.includes("weapp-tailwindcss") || options.target === "web" && cssHandlerOptions.isMainChunk && (options.runtimeCandidateCount ?? 0) > 0;
214
238
  }
215
239
  function createRuntimeWithCurrentCssCandidates(runtime, currentCssCandidates, isolateCurrentCssCandidates) {
216
240
  return isolateCurrentCssCandidates ? new Set(currentCssCandidates) : currentCssCandidates.length > 0 ? new Set([...runtime, ...currentCssCandidates]) : runtime;
@@ -620,7 +644,7 @@ function collectLocalStyleImportFiles(source, base) {
620
644
  postcss.parse(styleSource).walkAtRules("import", (rule) => {
621
645
  const request = parseImportRequest(rule.params);
622
646
  if (!isLocalStyleImportRequest(request)) return;
623
- const file = resolveLocalStyleImportFile(request, base);
647
+ const file = request ? resolveLocalStyleImportFile(request, base) : void 0;
624
648
  if (file) files.push(file);
625
649
  });
626
650
  } catch {}
@@ -1881,7 +1905,7 @@ function hasConfiguredContainerCompatSource(source) {
1881
1905
  if (cssEntrySource?.config) try {
1882
1906
  if (/\bcontainer\b/.test(readFileSync(cssEntrySource.config, "utf8"))) return true;
1883
1907
  } catch {}
1884
- if ("config" in source && source.config) try {
1908
+ if ("config" in source && typeof source.config === "string") try {
1885
1909
  if (/\bcontainer\b/.test(readFileSync(source.config, "utf8"))) return true;
1886
1910
  } catch {}
1887
1911
  return false;
@@ -2257,30 +2281,28 @@ function pushConcurrentTaskFactories(queue, factories, limit) {
2257
2281
  //#endregion
2258
2282
  //#region src/bundlers/shared/generator-css/validate.ts
2259
2283
  async function validateCandidatesByGenerator(options) {
2260
- const { candidates, cssHandlerOptions, debug, file, opts, rawSource, runtimeState, skipGenerateFallback } = options;
2284
+ const { candidates, cssHandlerOptions, debug, file, opts, rawSource, runtimeState } = options;
2261
2285
  const majorVersion = runtimeState.tailwindRuntime.majorVersion;
2262
2286
  if (majorVersion !== 4 || candidates.size === 0) return /* @__PURE__ */ new Set();
2263
- const generatorOptions = {
2264
- ...normalizeWeappTailwindcssGeneratorOptions(opts.generator),
2265
- bareArbitraryValues: opts.arbitraryValues?.bareArbitraryValues
2266
- };
2267
- const sources = await resolveGeneratorSources(majorVersion, runtimeState, rawSource, file, cssHandlerOptions, generatorOptions, {
2268
- cssEntries: opts.cssEntries,
2269
- runtime: candidates
2270
- });
2271
- const classSets = await Promise.all(sources.map(async (source) => {
2272
- const generator = createWeappTailwindcssGenerator(source);
2273
- if (generatorOptions.bareArbitraryValues === void 0 || generatorOptions.bareArbitraryValues === false) {
2274
- if (typeof generator.validateCandidates === "function") return generator.validateCandidates(candidates);
2275
- }
2276
- if (skipGenerateFallback) return /* @__PURE__ */ new Set();
2277
- return (await generator.generate({
2278
- bareArbitraryValues: generatorOptions.bareArbitraryValues,
2279
- candidates,
2280
- target: "web"
2281
- })).classSet;
2282
- }));
2283
- const classSet = new Set(classSets.flatMap((item) => [...item]));
2287
+ const classSet = /* @__PURE__ */ new Set();
2288
+ try {
2289
+ const sources = await resolveGeneratorSources(majorVersion, runtimeState, rawSource, file, cssHandlerOptions, {
2290
+ ...normalizeWeappTailwindcssGeneratorOptions(opts.generator),
2291
+ bareArbitraryValues: opts.arbitraryValues?.bareArbitraryValues
2292
+ }, {
2293
+ cssEntries: opts.cssEntries,
2294
+ runtime: candidates
2295
+ });
2296
+ const classSets = await Promise.all(sources.map(async (source) => {
2297
+ const generator = createWeappTailwindcssGenerator(source);
2298
+ if (typeof generator.validateCandidates !== "function") return /* @__PURE__ */ new Set();
2299
+ return generator.validateCandidates(candidates);
2300
+ }));
2301
+ for (const candidate of classSets.flatMap((item) => [...item])) classSet.add(candidate);
2302
+ } catch {}
2303
+ const rawSourceCandidates = collectGeneratedRawSourceCandidates(candidates, rawSource, opts.escapeMap);
2304
+ for (const candidate of rawSourceCandidates) classSet.add(candidate);
2305
+ for (const generatedCss of options.generatedCssSources ?? []) for (const candidate of collectGeneratedRawSourceCandidates(candidates, generatedCss, opts.escapeMap)) classSet.add(candidate);
2284
2306
  debug("tailwind generator validated candidates: %s candidates=%d classSet=%d", file, candidates.size, classSet.size);
2285
2307
  return classSet;
2286
2308
  }
@@ -2318,6 +2340,11 @@ function isCssAlreadyRepresentedByMarkers(css, source) {
2318
2340
  for (const marker of sourceMarkers) if (!cssMarkers.has(marker)) return false;
2319
2341
  return true;
2320
2342
  }
2343
+ function mergeGeneratedCssClassSet(classSet, candidates, css, escapeMap) {
2344
+ const merged = new Set(classSet);
2345
+ for (const candidate of collectGeneratedRawSourceCandidates(candidates, css, escapeMap)) merged.add(candidate);
2346
+ return merged;
2347
+ }
2321
2348
  async function generateCssByGenerator(options) {
2322
2349
  const { opts, runtimeState, runtime, rawSource, file, cssHandlerOptions, cssUserHandlerOptions, getSourceCandidatesForEntries, styleHandler, userRawSource, userRawSourceProcessed, debug } = options;
2323
2350
  const generatorOptions = {
@@ -2344,8 +2371,10 @@ async function generateCssByGenerator(options) {
2344
2371
  const rawUserSource = userRawSource === void 0 ? generatorRawSource : userRawSourceProcessed ? userRawSource : stripUnmatchedTailwindSourceMediaCloseFragments(stripTailwindSourceMediaFragments(normalizeTailwindSourceDirectives(userRawSource, { importFallback: generatorOptions.importFallback })));
2345
2372
  const userSource = splitLocalCssImports(rawUserSource)?.source ?? rawUserSource;
2346
2373
  const userCssRawSource = removeTailwindV4GeneratorAtRules(userSource);
2347
- const userCssOrderSource = GENERATOR_PLACEHOLDER_MARKER_RE.test(userSource) ? userSource : userCssRawSource;
2348
- const hasDistinctUserRawSource = typeof userRawSource === "string" && normalizeCssSourceForCompare(userCssRawSource) !== normalizeCssSourceForCompare(generatorRawSource);
2374
+ const generatedUserCssOrderSource = hasTailwindGeneratedCss(userSource) ? splitTailwindV4GeneratedCssBySourceOrder(userSource, generatorRawSource) : void 0;
2375
+ const generatedUserCssRawSource = generatedUserCssOrderSource ? createCssAppend(generatedUserCssOrderSource.before, generatedUserCssOrderSource.after) : hasTailwindGeneratedCss(userSource) ? "" : userCssRawSource;
2376
+ const userCssOrderSource = GENERATOR_PLACEHOLDER_MARKER_RE.test(userSource) ? userSource : hasTailwindGeneratedCss(userSource) ? userSource : generatedUserCssRawSource;
2377
+ const hasDistinctUserRawSource = typeof userRawSource === "string" && normalizeCssSourceForCompare(generatedUserCssRawSource) !== normalizeCssSourceForCompare(generatorRawSource);
2349
2378
  const cleanedLocalImportWrapper = cleanLocalCssImportWrapperTailwindDirectives(effectiveRawSource);
2350
2379
  if (cleanedLocalImportWrapper !== void 0) return {
2351
2380
  css: shouldUseMiniProgramCssBranch(generatorBranch) ? removeUnsupportedMiniProgramAtRules(cleanedLocalImportWrapper) : cleanedLocalImportWrapper,
@@ -2367,7 +2396,10 @@ async function generateCssByGenerator(options) {
2367
2396
  hasGeneratedCss,
2368
2397
  hasGeneratedMarkers,
2369
2398
  hasSourceDirectives,
2370
- rawSource: generatorRawSource
2399
+ rawSource: generatorRawSource,
2400
+ runtimeCandidateCount: runtime.size,
2401
+ target: generatorOptions.target,
2402
+ configuredCssSourceCount: options.cssSources?.length
2371
2403
  })) return;
2372
2404
  try {
2373
2405
  await runtimeState.readyPromise;
@@ -2423,12 +2455,13 @@ async function generateCssByGenerator(options) {
2423
2455
  debug("tailwind generator result: %s rawBytes=%d cssBytes=%d candidates=%d", file, generated.rawCss.length, generated.css.length, generated.classSet.size);
2424
2456
  if ((generated.target !== "weapp" || !hasUserCssLayerBlocks(generatorRawSource)) && typeof options.previousCss === "string" && typeof generated.incrementalCss === "string") {
2425
2457
  const incrementalCss = stripTailwindBanner(generated.incrementalCss);
2458
+ const finalCss = restoreLocalCssImports(incrementalCss.trim().length > 0 ? createCssAppend(options.previousCss, finalizeMiniProgramGeneratorCss(incrementalCss, generated.target, majorVersion, opts.cssPreflight, {
2459
+ injectPreflight: false,
2460
+ styleOptions: generatorStyleOptions
2461
+ })) : options.previousCss, localImports);
2426
2462
  return {
2427
- css: restoreLocalCssImports(incrementalCss.trim().length > 0 ? createCssAppend(options.previousCss, finalizeMiniProgramGeneratorCss(incrementalCss, generated.target, majorVersion, opts.cssPreflight, {
2428
- injectPreflight: false,
2429
- styleOptions: generatorStyleOptions
2430
- })) : options.previousCss, localImports),
2431
- classSet: generated.classSet,
2463
+ css: finalCss,
2464
+ classSet: mergeGeneratedCssClassSet(generated.classSet, runtimeWithCurrentCss, finalCss, opts.escapeMap),
2432
2465
  target: generated.target,
2433
2466
  source: "generator",
2434
2467
  dependencies: generated.dependencies,
@@ -2481,28 +2514,29 @@ async function generateCssByGenerator(options) {
2481
2514
  const missingUserCss = isCommentOnlyCss(userCss) ? "" : filterExistingCssRules(css, userCss);
2482
2515
  css = createCssSourceOrderAppend$1(css, missingUserCss);
2483
2516
  }
2484
- if (generated.target === "weapp" && isEmptyCssSourceOrderParts(orderedExtraCss) && hasDistinctUserRawSource && !hasGeneratedCss && !hasGeneratedMarkers && !hasTailwindApplyDirective(userCssRawSource)) {
2485
- const userCss = await transformGeneratorUserCss(userCssRawSource, userCssOptions);
2486
- const missingUserCss = isCssAlreadyRepresentedByMarkers(css, userCssRawSource) ? filterExistingCssRules(css, userCss) : userCss;
2517
+ if (generated.target === "weapp" && isEmptyCssSourceOrderParts(orderedExtraCss) && hasDistinctUserRawSource && !hasGeneratedCss && !hasGeneratedMarkers && !hasTailwindApplyDirective(generatedUserCssRawSource)) {
2518
+ const userCss = await transformGeneratorUserCss(generatedUserCssRawSource, userCssOptions);
2519
+ const missingUserCss = isCssAlreadyRepresentedByMarkers(css, generatedUserCssRawSource) ? filterExistingCssRules(css, userCss) : userCss;
2487
2520
  css = createCssSourceOrderAppend$1(css, missingUserCss);
2488
2521
  }
2489
2522
  if (generated.target === "weapp" && shouldAppendMatchedCssSourceCompat) {
2490
2523
  if (shouldFinalizeMarkedUserLayerComponentsCss(file)) css = reorderMarkedUserLayerComponentsCss(css);
2491
- if (!shouldFilterApplyOnlyCss && !userRawSourceProcessed) {
2492
- css = await appendLegacyCompatCss(css, userCssRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
2493
- if (!isolateCurrentCssCandidates) css = await appendLegacyContainerCompatCss(css, userCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
2524
+ if (!shouldFilterApplyOnlyCss && !userRawSourceProcessed && !hasGeneratedCss && !hasGeneratedMarkers) {
2525
+ css = await appendLegacyCompatCss(css, generatedUserCssRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
2526
+ if (!isolateCurrentCssCandidates) css = await appendLegacyContainerCompatCss(css, generatedUserCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
2494
2527
  }
2495
2528
  } else if (generated.target === "weapp" && shouldFinalizeMarkedUserLayerComponentsCss(file)) css = reorderMarkedUserLayerComponentsCss(css);
2529
+ const finalCss = restoreLocalCssImports(finalizeMiniProgramGeneratorCss(css, generated.target, majorVersion, opts.cssPreflight, {
2530
+ injectPreflight: shouldInjectMiniProgramPreflightForGeneratorCss(opts, {
2531
+ cssHandlerOptions,
2532
+ isolateCurrentCssCandidates,
2533
+ localImports
2534
+ }),
2535
+ styleOptions: generatorStyleOptions
2536
+ }), localImports);
2496
2537
  return {
2497
- css: restoreLocalCssImports(finalizeMiniProgramGeneratorCss(css, generated.target, majorVersion, opts.cssPreflight, {
2498
- injectPreflight: shouldInjectMiniProgramPreflightForGeneratorCss(opts, {
2499
- cssHandlerOptions,
2500
- isolateCurrentCssCandidates,
2501
- localImports
2502
- }),
2503
- styleOptions: generatorStyleOptions
2504
- }), localImports),
2505
- classSet: generated.classSet,
2538
+ css: finalCss,
2539
+ classSet: mergeGeneratedCssClassSet(generated.classSet, runtimeWithCurrentCss, finalCss, opts.escapeMap),
2506
2540
  target: generated.target,
2507
2541
  source: "generator",
2508
2542
  dependencies: generated.dependencies,
@@ -2515,7 +2549,7 @@ async function generateCssByGenerator(options) {
2515
2549
  }
2516
2550
  debug("tailwind direct css generation prefix mismatch, append transformed bundle css %s", file);
2517
2551
  let css = generatedCss;
2518
- if (generated.target === "weapp" && generatorRawSource.includes("weapp-tailwindcss generator-placeholder") && !hasUserCssLayerBlocks(generatorRawSource)) css = createCssSourceOrderAppend$1(await transformGeneratorUserCss(userCssRawSource, {
2552
+ if (generated.target === "weapp" && generatorRawSource.includes("weapp-tailwindcss generator-placeholder") && !hasUserCssLayerBlocks(generatorRawSource)) css = createCssSourceOrderAppend$1(await transformGeneratorUserCss(generatedUserCssRawSource, {
2519
2553
  generatorTarget: generated.target,
2520
2554
  generatorStyleOptions,
2521
2555
  cssUserHandlerOptions,
@@ -2547,7 +2581,7 @@ async function generateCssByGenerator(options) {
2547
2581
  }
2548
2582
  if (hasMatchedCssSourceFile || generated.target === "web") {
2549
2583
  if (generated.target === "weapp" && !hasGeneratedCss && !hasGeneratedMarkers) {
2550
- const userCss = await transformGeneratorUserCss(userCssRawSource, {
2584
+ const userCss = await transformGeneratorUserCss(generatedUserCssRawSource, {
2551
2585
  generatorTarget: generated.target,
2552
2586
  generatorStyleOptions,
2553
2587
  cssUserHandlerOptions,
@@ -2555,9 +2589,9 @@ async function generateCssByGenerator(options) {
2555
2589
  importFallback: generatorOptions.importFallback,
2556
2590
  processed: userRawSourceProcessed
2557
2591
  });
2558
- const missingUserCss = isCssAlreadyRepresentedByMarkers(css, userCssRawSource) ? filterExistingCssRules(css, userCss) : userCss;
2592
+ const missingUserCss = isCssAlreadyRepresentedByMarkers(css, generatedUserCssRawSource) ? filterExistingCssRules(css, userCss) : userCss;
2559
2593
  css = createCssSourceOrderAppend$1(css, missingUserCss);
2560
- } else if (hasMatchedCssSourceFile && generated.target === "weapp" && hasGeneratedMarkers) {
2594
+ } else if (hasMatchedCssSourceFile && generated.target === "weapp" && hasGeneratedMarkers && !hasGeneratedCss) {
2561
2595
  const userCss = await transformGeneratorUserCss(removeTailwindV4GeneratedUserCssArtifacts(userCssRawSource), {
2562
2596
  generatorTarget: generated.target,
2563
2597
  generatorStyleOptions,
@@ -2568,8 +2602,8 @@ async function generateCssByGenerator(options) {
2568
2602
  });
2569
2603
  const missingUserCss = filterExistingCssRules(css, userCss);
2570
2604
  css = createCssSourceOrderAppend$1(css, missingUserCss);
2571
- } else if (hasMatchedCssSourceFile && generated.target === "weapp" && hasUserCssLayerBlocks(userCssRawSource)) {
2572
- const layerUserCss = await transformGeneratorUserCss(splitUserCssLayerBlocks(userCssRawSource).layer, {
2605
+ } else if (hasMatchedCssSourceFile && generated.target === "weapp" && hasUserCssLayerBlocks(generatedUserCssRawSource)) {
2606
+ const layerUserCss = await transformGeneratorUserCss(splitUserCssLayerBlocks(generatedUserCssRawSource).layer, {
2573
2607
  generatorTarget: generated.target,
2574
2608
  generatorStyleOptions,
2575
2609
  cssUserHandlerOptions,
@@ -2583,13 +2617,13 @@ async function generateCssByGenerator(options) {
2583
2617
  }
2584
2618
  }
2585
2619
  if (hasMatchedCssSourceFile && generated.target === "weapp") {
2586
- if (!isolateCurrentCssCandidates && !shouldFilterApplyOnlyCss && !userRawSourceProcessed) css = await appendLegacyContainerCompatCss(css, userCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
2620
+ if (!isolateCurrentCssCandidates && !shouldFilterApplyOnlyCss && !userRawSourceProcessed && !hasGeneratedCss && !hasGeneratedMarkers) css = await appendLegacyContainerCompatCss(css, generatedUserCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
2587
2621
  }
2588
2622
  if (shouldAppendWebBundleCssFallback(generated.target, {
2589
2623
  hasSourceDirectives,
2590
2624
  hasMatchedCssSourceFile
2591
2625
  })) {
2592
- const userCss = await transformGeneratorUserCss(userCssRawSource, {
2626
+ const userCss = await transformGeneratorUserCss(generatedUserCssRawSource, {
2593
2627
  generatorTarget: generated.target,
2594
2628
  generatorStyleOptions,
2595
2629
  cssUserHandlerOptions,
@@ -2600,16 +2634,17 @@ async function generateCssByGenerator(options) {
2600
2634
  const missingUserCss = isCommentOnlyCss(userCss) ? "" : filterExistingCssRules(css, userCss);
2601
2635
  css = createCssSourceOrderAppend$1(css, missingUserCss);
2602
2636
  }
2637
+ const finalCss = restoreLocalCssImports(finalizeMiniProgramGeneratorCss(css, generated.target, majorVersion, opts.cssPreflight, {
2638
+ injectPreflight: shouldInjectMiniProgramPreflightForGeneratorCss(opts, {
2639
+ cssHandlerOptions,
2640
+ isolateCurrentCssCandidates,
2641
+ localImports
2642
+ }),
2643
+ styleOptions: generatorStyleOptions
2644
+ }), localImports);
2603
2645
  return {
2604
- css: restoreLocalCssImports(finalizeMiniProgramGeneratorCss(css, generated.target, majorVersion, opts.cssPreflight, {
2605
- injectPreflight: shouldInjectMiniProgramPreflightForGeneratorCss(opts, {
2606
- cssHandlerOptions,
2607
- isolateCurrentCssCandidates,
2608
- localImports
2609
- }),
2610
- styleOptions: generatorStyleOptions
2611
- }), localImports),
2612
- classSet: generated.classSet,
2646
+ css: finalCss,
2647
+ classSet: mergeGeneratedCssClassSet(generated.classSet, runtimeWithCurrentCss, finalCss, opts.escapeMap),
2613
2648
  target: generated.target,
2614
2649
  source: "generator",
2615
2650
  dependencies: generated.dependencies,
@@ -2620,12 +2655,12 @@ async function generateCssByGenerator(options) {
2620
2655
  }
2621
2656
  };
2622
2657
  }
2623
- if (!shouldFilterApplyOnlyCss && !userRawSourceProcessed) {
2624
- css = await appendLegacyCompatCss(css, userCssRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
2625
- css = await appendLegacyContainerCompatCss(css, userCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
2658
+ if (!shouldFilterApplyOnlyCss && !userRawSourceProcessed && !hasGeneratedCss && !hasGeneratedMarkers) {
2659
+ css = await appendLegacyCompatCss(css, generatedUserCssRawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
2660
+ css = await appendLegacyContainerCompatCss(css, generatedUserCssRawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
2626
2661
  }
2627
- if (generated.target === "weapp" && hasDistinctUserRawSource && !hasGeneratedCss && !hasGeneratedMarkers && !hasTailwindApplyDirective(userCssRawSource)) {
2628
- const userCss = await transformGeneratorUserCss(userCssRawSource, {
2662
+ if (generated.target === "weapp" && hasDistinctUserRawSource && !hasGeneratedCss && !hasGeneratedMarkers && !hasTailwindApplyDirective(generatedUserCssRawSource)) {
2663
+ const userCss = await transformGeneratorUserCss(generatedUserCssRawSource, {
2629
2664
  generatorTarget: generated.target,
2630
2665
  generatorStyleOptions,
2631
2666
  cssUserHandlerOptions,
@@ -2633,19 +2668,20 @@ async function generateCssByGenerator(options) {
2633
2668
  importFallback: generatorOptions.importFallback,
2634
2669
  processed: userRawSourceProcessed
2635
2670
  });
2636
- const missingUserCss = isCssAlreadyRepresentedByMarkers(css, userCssRawSource) ? filterExistingCssRules(css, userCss) : userCss;
2671
+ const missingUserCss = isCssAlreadyRepresentedByMarkers(css, generatedUserCssRawSource) ? filterExistingCssRules(css, userCss) : userCss;
2637
2672
  css = createCssSourceOrderAppend$1(css, missingUserCss);
2638
2673
  }
2674
+ const finalCss = restoreLocalCssImports(finalizeMiniProgramGeneratorCss(css, generated.target, majorVersion, opts.cssPreflight, {
2675
+ injectPreflight: shouldInjectMiniProgramPreflightForGeneratorCss(opts, {
2676
+ cssHandlerOptions,
2677
+ isolateCurrentCssCandidates,
2678
+ localImports
2679
+ }),
2680
+ styleOptions: generatorStyleOptions
2681
+ }), localImports);
2639
2682
  return {
2640
- css: restoreLocalCssImports(finalizeMiniProgramGeneratorCss(css, generated.target, majorVersion, opts.cssPreflight, {
2641
- injectPreflight: shouldInjectMiniProgramPreflightForGeneratorCss(opts, {
2642
- cssHandlerOptions,
2643
- isolateCurrentCssCandidates,
2644
- localImports
2645
- }),
2646
- styleOptions: generatorStyleOptions
2647
- }), localImports),
2648
- classSet: generated.classSet,
2683
+ css: finalCss,
2684
+ classSet: mergeGeneratedCssClassSet(generated.classSet, runtimeWithCurrentCss, finalCss, opts.escapeMap),
2649
2685
  target: generated.target,
2650
2686
  source: "generator",
2651
2687
  dependencies: generated.dependencies,
@@ -3479,4 +3515,4 @@ function createHmrTimingRecorder(bundler) {
3479
3515
  };
3480
3516
  }
3481
3517
  //#endregion
3482
- export { stripMiniProgramCssSpecificityPlaceholders as A, stripUnmatchedTailwindSourceMediaCloseFragments as C, finalizeMiniProgramCss as D, hasMiniProgramTailwindV4PreflightReset as E, processCachedTask as F, createCssSourceTraceCacheSignature as M, createCssTokenSourceMap as N, hasMiniProgramCssSpecificityPlaceholders as O, isCssSourceTraceEnabled as P, stripTailwindSourceMediaFragments as S, createCssSourceOrderAppend$1 as T, isPureLocalCssImportWrapper as _, isSourceCandidateRequest as a, removeMiniProgramHoverSelectors as b, collectStrictEscapedRuntimeCandidates as c, validateCandidatesByGenerator as d, pushConcurrentTaskFactories as f, mergeMarkedUserLayerComponentsCss as g, extractMarkedUserLayerComponentsCss as h, createSourceCandidateStore as i, annotateCssSourceTrace as j, pruneMiniProgramGeneratedCss as k, createEscapeFragments as l, runWithConcurrency as m, emitHmrTiming as n, resolveSourceCandidateScanFiles as o, resolveTaskConcurrency as p, createSourceCandidateCollector as r, createBundleRuntimeClassSetManager as s, createHmrTimingRecorder as t, generateCssByGenerator as u, rewriteLocalCssImportRequestsForOutput as v, scoreTailwindV4CssSourceFileMatch as w, removeTailwindV4GeneratorAtRules as x, splitLocalCssImports as y };
3518
+ export { hasMiniProgramCssSpecificityPlaceholders as A, stripTailwindSourceMediaFragments as C, createCssSourceOrderAppend$1 as D, removeGeneratedSelectorCompatCss as E, createCssTokenSourceMap as F, isCssSourceTraceEnabled as I, processCachedTask as L, stripMiniProgramCssSpecificityPlaceholders as M, annotateCssSourceTrace as N, hasMiniProgramTailwindV4PreflightReset as O, createCssSourceTraceCacheSignature as P, removeTailwindV4GeneratorAtRules as S, scoreTailwindV4CssSourceFileMatch as T, isPureLocalCssImportWrapper as _, isSourceCandidateRequest as a, removeMiniProgramHoverSelectors as b, collectStrictEscapedRuntimeCandidates as c, validateCandidatesByGenerator as d, pushConcurrentTaskFactories as f, mergeMarkedUserLayerComponentsCss as g, extractMarkedUserLayerComponentsCss as h, createSourceCandidateStore as i, pruneMiniProgramGeneratedCss as j, finalizeMiniProgramCss as k, createEscapeFragments as l, runWithConcurrency as m, emitHmrTiming as n, resolveSourceCandidateScanFiles as o, resolveTaskConcurrency as p, createSourceCandidateCollector as r, createBundleRuntimeClassSetManager as s, createHmrTimingRecorder as t, generateCssByGenerator as u, rewriteLocalCssImportRequestsForOutput as v, stripUnmatchedTailwindSourceMediaCloseFragments as w, removeTailwindV4GeneratedUserCssArtifacts as x, splitLocalCssImports as y };