weapp-tailwindcss 5.1.9 → 5.1.11
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.
- package/dist/bundlers/shared/generator-css/generation-helpers.d.ts +1 -0
- package/dist/bundlers/shared/generator-css/output-import-shell.d.ts +4 -0
- package/dist/bundlers/shared/generator-css/source-resolver/metadata.d.ts +1 -0
- package/dist/bundlers/shared/generator-css/types.d.ts +2 -0
- package/dist/bundlers/vite/generate-bundle/css-assets.d.ts +1 -1
- package/dist/bundlers/vite/generate-bundle/remembered-css-replay.d.ts +2 -0
- package/dist/bundlers/vite/generate-bundle/scoped-generator.d.ts +1 -0
- package/dist/bundlers/vite/hot-css-modules.d.ts +1 -1
- package/dist/bundlers/vite/source-candidates.d.ts +7 -2
- package/dist/bundlers/vite/web-css-compat.d.ts +3 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/css-source-resolvers.d.ts +9 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers.d.ts +3 -0
- package/dist/cli.js +3 -2
- package/dist/cli.mjs +2 -1
- package/dist/{context-CfXr3hWz.mjs → context-DzkSFEVL.mjs} +4 -4
- package/dist/{context-CRhUs_5e.js → context-y2BGCok4.js} +10 -10
- package/dist/core.js +1 -1
- package/dist/core.mjs +1 -1
- package/dist/generator/options.d.ts +8 -1
- package/dist/{v4-engine-BZP2462H.js → generator-Bz94KTkH.js} +229 -17
- package/dist/{v4-engine-CjjWONB0.mjs → generator-ROzBodj6.mjs} +185 -9
- package/dist/generator.js +7 -8
- package/dist/generator.mjs +1 -2
- package/dist/{gulp-CRjkPsbX.mjs → gulp-BKqMb_Ds.mjs} +4 -4
- package/dist/{gulp-JUfnhOOo.js → gulp-DfOLvYLs.js} +10 -10
- package/dist/gulp.js +1 -1
- package/dist/gulp.mjs +1 -1
- package/dist/{hmr-timing-DcIEXnf8.js → hmr-timing-DOTdH18A.js} +556 -170
- package/dist/{hmr-timing-BecOXMd8.mjs → hmr-timing-DwtYJdwb.mjs} +430 -56
- package/dist/index.js +4 -4
- package/dist/index.mjs +4 -4
- package/dist/postcss.js +2 -3
- package/dist/postcss.mjs +1 -2
- package/dist/presets.js +7 -6
- package/dist/presets.mjs +5 -4
- package/dist/rspack.js +1 -1
- package/dist/rspack.mjs +1 -1
- package/dist/{source-candidate-scan-signature-10tvdJVC.js → source-candidate-scan-signature-BrWuBTjY.js} +34 -6
- package/dist/{source-candidate-scan-signature-DAg8QSgh.mjs → source-candidate-scan-signature-CQ04hiox.mjs} +29 -7
- package/dist/{tailwindcss-BZjZZi60.js → tailwindcss-Dn5DVlkI.js} +55 -47
- package/dist/{tailwindcss-PA2jHHpx.mjs → tailwindcss-hzy_WaC9.mjs} +14 -6
- package/dist/{transform-wNEbcZeQ.mjs → transform-BgnNYkIG.mjs} +1 -1
- package/dist/{transform-B0BxX3XB.js → transform-DZQETx51.js} +1 -1
- package/dist/{vite-CHk7V9EA.js → vite-DODC15Fr.js} +865 -254
- package/dist/{vite-ClpyoD9e.mjs → vite-oI2ReOic.mjs} +818 -207
- package/dist/vite.js +1 -1
- package/dist/vite.mjs +1 -1
- package/dist/weapp-tw-css-import-rewrite-loader.js +613 -63
- package/dist/{webpack-2s-TFhgm.mjs → webpack-CCapGlNg.mjs} +235 -38
- package/dist/{webpack-BhM4Hqla.js → webpack-XxBCIrBp.js} +276 -79
- package/dist/webpack.js +1 -1
- package/dist/webpack.mjs +1 -1
- package/package.json +5 -5
- package/dist/generator-DaaFxR5V.js +0 -174
- package/dist/generator-DugIHBgl.mjs +0 -127
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.js");
|
|
2
|
-
const
|
|
3
|
-
const require_generator = require("./generator-DaaFxR5V.js");
|
|
2
|
+
const require_generator = require("./generator-Bz94KTkH.js");
|
|
4
3
|
const require_utils = require("./utils-D3h8j7Mk.js");
|
|
5
|
-
const require_context = require("./context-
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
4
|
+
const require_context = require("./context-y2BGCok4.js");
|
|
5
|
+
const require_defaults = require("./defaults-nsf4VNMX.js");
|
|
6
|
+
const require_tailwindcss = require("./tailwindcss-Dn5DVlkI.js");
|
|
7
|
+
const require_hmr_timing = require("./hmr-timing-DOTdH18A.js");
|
|
8
|
+
const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-BrWuBTjY.js");
|
|
9
9
|
let node_fs = require("node:fs");
|
|
10
10
|
node_fs = require_rolldown_runtime.__toESM(node_fs);
|
|
11
11
|
let node_path = require("node:path");
|
|
@@ -13,11 +13,11 @@ node_path = require_rolldown_runtime.__toESM(node_path);
|
|
|
13
13
|
let node_process = require("node:process");
|
|
14
14
|
node_process = require_rolldown_runtime.__toESM(node_process);
|
|
15
15
|
let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
|
|
16
|
+
let node_module = require("node:module");
|
|
17
|
+
node_module = require_rolldown_runtime.__toESM(node_module);
|
|
16
18
|
let node_fs_promises = require("node:fs/promises");
|
|
17
19
|
let micromatch = require("micromatch");
|
|
18
20
|
micromatch = require_rolldown_runtime.__toESM(micromatch);
|
|
19
|
-
let node_module = require("node:module");
|
|
20
|
-
node_module = require_rolldown_runtime.__toESM(node_module);
|
|
21
21
|
let _weapp_core_escape = require("@weapp-core/escape");
|
|
22
22
|
let _weapp_tailwindcss_shared_node = require("@weapp-tailwindcss/shared/node");
|
|
23
23
|
//#region src/bundlers/webpack/BaseUnifiedPlugin/shared.ts
|
|
@@ -149,6 +149,99 @@ function isWebpackCssLoaderRuntimeSource(source) {
|
|
|
149
149
|
//#endregion
|
|
150
150
|
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers.ts
|
|
151
151
|
const WEBPACK_CSS_HANDLER_OPTIONS_CACHE_MAX = 128;
|
|
152
|
+
function resolveConfiguredWebpackCssPreflight(compilerOptions, styleOptions) {
|
|
153
|
+
return styleOptions.cssPreflight ?? compilerOptions.cssPreflight ?? require_defaults.getDefaultCssPreflight();
|
|
154
|
+
}
|
|
155
|
+
function resolveExistingWebpackCssPreflight(compilerOptions, styleOptions, source) {
|
|
156
|
+
return hasMiniProgramPreflightSelector(source) ? resolveConfiguredWebpackCssPreflight(compilerOptions, styleOptions) : void 0;
|
|
157
|
+
}
|
|
158
|
+
function removeMiniProgramPreflightSelectorRule(source) {
|
|
159
|
+
try {
|
|
160
|
+
const root = _weapp_tailwindcss_postcss.postcss.parse(source);
|
|
161
|
+
let changed = false;
|
|
162
|
+
root.walkRules((rule) => {
|
|
163
|
+
const selectors = new Set((rule.selectors ?? [rule.selector]).map((selector) => selector.trim().replace(/^:before$/, "::before").replace(/^:after$/, "::after")));
|
|
164
|
+
if (selectors.has("view") && selectors.has("text") && selectors.has("::before") && selectors.has("::after")) {
|
|
165
|
+
rule.remove();
|
|
166
|
+
changed = true;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
return changed ? root.toString() : source;
|
|
170
|
+
} catch {
|
|
171
|
+
return source.replace(/(?:^|[}\s])\s*view\s*,\s*text\s*,\s*::after\s*,\s*::before\s*\{[^}]*\}/g, "");
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
function dedupeMiniProgramPreflightSelectorRules(source) {
|
|
175
|
+
try {
|
|
176
|
+
const root = _weapp_tailwindcss_postcss.postcss.parse(source);
|
|
177
|
+
let firstRule;
|
|
178
|
+
let changed = false;
|
|
179
|
+
root.walkRules((rule) => {
|
|
180
|
+
const selectors = new Set((rule.selectors ?? [rule.selector]).map((selector) => selector.trim().replace(/^:before$/, "::before").replace(/^:after$/, "::after")));
|
|
181
|
+
if (!selectors.has("view") || !selectors.has("text") || !selectors.has("::before") || !selectors.has("::after")) return;
|
|
182
|
+
if (!firstRule) {
|
|
183
|
+
firstRule = rule;
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
const existingProps = /* @__PURE__ */ new Set();
|
|
187
|
+
firstRule.walkDecls((decl) => {
|
|
188
|
+
existingProps.add(decl.prop);
|
|
189
|
+
});
|
|
190
|
+
rule.walkDecls((decl) => {
|
|
191
|
+
if (!existingProps.has(decl.prop)) {
|
|
192
|
+
firstRule?.append(decl.clone());
|
|
193
|
+
existingProps.add(decl.prop);
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
rule.remove();
|
|
197
|
+
changed = true;
|
|
198
|
+
});
|
|
199
|
+
return changed ? root.toString() : source;
|
|
200
|
+
} catch {
|
|
201
|
+
return source;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
function hasMiniProgramPreflightSelector(source) {
|
|
205
|
+
try {
|
|
206
|
+
let found = false;
|
|
207
|
+
_weapp_tailwindcss_postcss.postcss.parse(source).walkRules((rule) => {
|
|
208
|
+
const selectors = new Set((rule.selectors ?? [rule.selector]).map((selector) => selector.trim().replace(/^:before$/, "::before").replace(/^:after$/, "::after")));
|
|
209
|
+
if (selectors.has("view") && selectors.has("text") && selectors.has("::before") && selectors.has("::after")) {
|
|
210
|
+
found = true;
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
return found;
|
|
215
|
+
} catch {
|
|
216
|
+
return /(?:^|[},])\s*view\s*,\s*text\s*,\s*::after\s*,\s*::before\s*\{/.test(source);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
function ensureWebpackMiniProgramTwContentInit(source) {
|
|
220
|
+
if (!source.includes("var(--tw-content)")) return source;
|
|
221
|
+
try {
|
|
222
|
+
const root = _weapp_tailwindcss_postcss.postcss.parse(source);
|
|
223
|
+
let changed = false;
|
|
224
|
+
root.walkRules((rule) => {
|
|
225
|
+
const selectors = new Set((rule.selectors ?? [rule.selector]).map((selector) => selector.trim().replace(/^:before$/, "::before").replace(/^:after$/, "::after")));
|
|
226
|
+
if (!selectors.has("view") || !selectors.has("text") || !selectors.has("::before") || !selectors.has("::after")) return;
|
|
227
|
+
let hasContentInit = false;
|
|
228
|
+
rule.walkDecls("--tw-content", () => {
|
|
229
|
+
hasContentInit = true;
|
|
230
|
+
});
|
|
231
|
+
if (!hasContentInit) {
|
|
232
|
+
rule.append(_weapp_tailwindcss_postcss.postcss.decl({
|
|
233
|
+
prop: "--tw-content",
|
|
234
|
+
value: "''"
|
|
235
|
+
}));
|
|
236
|
+
changed = true;
|
|
237
|
+
}
|
|
238
|
+
return false;
|
|
239
|
+
});
|
|
240
|
+
return changed ? root.toString() : source;
|
|
241
|
+
} catch {
|
|
242
|
+
return source;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
152
245
|
function removeTailwindV4StandaloneHostPreflightRule(source) {
|
|
153
246
|
if (!source.includes("--theme(")) return source;
|
|
154
247
|
try {
|
|
@@ -216,7 +309,7 @@ function pruneWebpackCssHandlerOptionCaches(cssHandlerOptionsCache, cssUserHandl
|
|
|
216
309
|
}
|
|
217
310
|
function resolveWebpackGeneratorRawSource(rawSource, cssHandlerOptions) {
|
|
218
311
|
const sourceCss = cssHandlerOptions.sourceOptions?.sourceCss;
|
|
219
|
-
if (sourceCss && (
|
|
312
|
+
if (sourceCss && (require_generator.hasTailwindRootDirectives(sourceCss, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || require_generator.hasTailwindApplyDirective(sourceCss) || require_generator.hasTailwindGeneratedCss(sourceCss) || require_generator.hasTailwindGeneratedCssMarkers(sourceCss))) return sourceCss;
|
|
220
313
|
return rawSource;
|
|
221
314
|
}
|
|
222
315
|
function shouldConsumeWebpackLoaderGeneratedCss(options) {
|
|
@@ -276,7 +369,7 @@ function hasProcessedCssAssetUrl(css) {
|
|
|
276
369
|
}
|
|
277
370
|
function shouldUseWebpackAssetAsGeneratorUserCss(rawSource, generatorRawSource, options = {}) {
|
|
278
371
|
const rawMarkers = collectWebpackAssetUserCssMarkers(rawSource);
|
|
279
|
-
return rawSource !== generatorRawSource && (options.processed === true || !rawSource.includes("data:")) && !
|
|
372
|
+
return rawSource !== generatorRawSource && (options.processed === true || !rawSource.includes("data:")) && !require_generator.hasTailwindRootDirectives(rawSource, { importFallback: true }) && !require_generator.hasTailwindSourceDirectives(rawSource, { importFallback: true }) && !require_generator.hasTailwindApplyDirective(rawSource) && rawMarkers.size > 0 && !isOnlyWebpackTailwindGeneratedPreflightCss(rawSource) && (!require_generator.hasTailwindGeneratedCssMarkers(rawSource) || hasAdditionalWebpackAssetUserCssMarkers(rawSource, generatorRawSource));
|
|
280
373
|
}
|
|
281
374
|
function collectWebpackAssetUserCssMarkers(source) {
|
|
282
375
|
const markers = /* @__PURE__ */ new Set();
|
|
@@ -311,7 +404,7 @@ function isWebpackKeyframesRule(rule) {
|
|
|
311
404
|
}
|
|
312
405
|
function collectWebpackBareSelectorUserCss(source) {
|
|
313
406
|
try {
|
|
314
|
-
const root = _weapp_tailwindcss_postcss.postcss.parse(
|
|
407
|
+
const root = _weapp_tailwindcss_postcss.postcss.parse(require_generator.removeTailwindSourceDirectives(require_generator.stripTailwindSourceMediaFragments(require_generator.removeTailwindV4GeneratorAtRules(source)), { importFallback: true }));
|
|
315
408
|
let changed = false;
|
|
316
409
|
root.walkAtRules((rule) => {
|
|
317
410
|
if (rule.name === "import" || rule.name === "font-face" || rule.name.endsWith("keyframes")) {
|
|
@@ -368,7 +461,7 @@ function parseWebpackCssLayerNames(params) {
|
|
|
368
461
|
return params.split(",").map((name) => name.trim()).filter(Boolean);
|
|
369
462
|
}
|
|
370
463
|
function removeWebpackTailwindGeneratedAssetCss(source) {
|
|
371
|
-
const cleaned =
|
|
464
|
+
const cleaned = require_generator.removeTailwindV4GeneratedUserCssArtifacts(source);
|
|
372
465
|
try {
|
|
373
466
|
const root = _weapp_tailwindcss_postcss.postcss.parse(cleaned);
|
|
374
467
|
let changed = false;
|
|
@@ -524,7 +617,7 @@ function unescapeCssIdentifier(value) {
|
|
|
524
617
|
}
|
|
525
618
|
function collectGeneratedCssRuntimeCandidates(source) {
|
|
526
619
|
const candidates = /* @__PURE__ */ new Set();
|
|
527
|
-
if (require_source_candidate_scan_signature.hasBundlerGeneratedCssMarker(source) || !
|
|
620
|
+
if (require_source_candidate_scan_signature.hasBundlerGeneratedCssMarker(source) || !require_generator.hasTailwindGeneratedCss(source) && !require_generator.hasTailwindGeneratedCssMarkers(source)) return candidates;
|
|
528
621
|
try {
|
|
529
622
|
_weapp_tailwindcss_postcss.postcss.parse(source).walkRules((rule) => {
|
|
530
623
|
for (const selector of rule.selectors) for (const match of selector.matchAll(/\.((?:\\.|[\w\u00A0-\uFFFF-])(?:\\.|[\w\u00A0-\uFFFF-])*)/g)) {
|
|
@@ -543,7 +636,7 @@ function hasAdditionalWebpackAssetUserCssMarkers(rawSource, generatorRawSource)
|
|
|
543
636
|
return false;
|
|
544
637
|
}
|
|
545
638
|
function hasWebpackTailwindSourceDirectives(source) {
|
|
546
|
-
return Boolean(source) && (
|
|
639
|
+
return Boolean(source) && (require_generator.hasTailwindRootDirectives(source, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(source, { importFallback: true }) || require_generator.hasTailwindApplyDirective(source) || require_generator.hasTailwindGeneratedCss(source) || require_generator.hasTailwindGeneratedCssMarkers(source));
|
|
547
640
|
}
|
|
548
641
|
function isWebpackTailwindImportRequest(request) {
|
|
549
642
|
return request === "tailwindcss" || request === "tailwindcss4" || request?.startsWith("tailwindcss/") || request?.startsWith("tailwindcss4/") || request === "weapp-tailwindcss" || request?.startsWith("weapp-tailwindcss/");
|
|
@@ -554,7 +647,7 @@ function removeWebpackGeneratorNonTailwindImports(source) {
|
|
|
554
647
|
const root = _weapp_tailwindcss_postcss.postcss.parse(source);
|
|
555
648
|
let changed = false;
|
|
556
649
|
root.walkAtRules("import", (rule) => {
|
|
557
|
-
if (isWebpackTailwindImportRequest(
|
|
650
|
+
if (isWebpackTailwindImportRequest(require_generator.parseImportRequest(rule.params))) return;
|
|
558
651
|
rule.remove();
|
|
559
652
|
changed = true;
|
|
560
653
|
});
|
|
@@ -655,7 +748,7 @@ function resolveWebpackMemoryDebugStats(context) {
|
|
|
655
748
|
maxHandlerOptions: WEBPACK_CSS_HANDLER_OPTIONS_CACHE_MAX
|
|
656
749
|
},
|
|
657
750
|
sourceCandidateScan: context.sourceCandidateScan,
|
|
658
|
-
tailwind: { v4:
|
|
751
|
+
tailwind: { v4: require_generator.getTailwindV4IncrementalGenerateCacheStats() }
|
|
659
752
|
};
|
|
660
753
|
}
|
|
661
754
|
function shouldInjectWebpackCssTracePreflight(_appType, cssHandlerOptions) {
|
|
@@ -672,7 +765,7 @@ function includesTailwindPreflightImport(source) {
|
|
|
672
765
|
return;
|
|
673
766
|
}
|
|
674
767
|
if (rule.name !== "import") return;
|
|
675
|
-
const request =
|
|
768
|
+
const request = require_generator.parseImportRequest(rule.params)?.replaceAll("\\", "/");
|
|
676
769
|
includesPreflight || (includesPreflight = request === "tailwindcss" || request === "tailwindcss/preflight.css" || request?.endsWith("/tailwindcss/index.css") === true || request?.endsWith("/tailwindcss/preflight.css") === true);
|
|
677
770
|
});
|
|
678
771
|
return includesPreflight;
|
|
@@ -683,14 +776,14 @@ function includesTailwindPreflightImport(source) {
|
|
|
683
776
|
function finalizeMiniProgramUserCssAssetSource(source, compilerOptions, isWebGeneratorTarget, options = {}) {
|
|
684
777
|
const styleOptions = require_context.resolveStyleOptionsFromContext(compilerOptions);
|
|
685
778
|
if (isWebGeneratorTarget) return source;
|
|
686
|
-
return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(removeTailwindV4StandaloneHostPreflightRule((0, _weapp_tailwindcss_postcss.finalizeMiniProgramCss)(
|
|
687
|
-
cssPreflight: options.cssPreflight === false ? false : !require_hmr_timing.hasMiniProgramTailwindV4PreflightReset(source) ? compilerOptions
|
|
779
|
+
return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(removeTailwindV4StandaloneHostPreflightRule((0, _weapp_tailwindcss_postcss.finalizeMiniProgramCss)(require_generator.removeMiniProgramHoverSelectors(source, styleOptions.cssRemoveHoverPseudoClass), {
|
|
780
|
+
cssPreflight: options.cssPreflight === false ? false : !require_hmr_timing.hasMiniProgramTailwindV4PreflightReset(source) ? resolveConfiguredWebpackCssPreflight(compilerOptions, styleOptions) : void 0,
|
|
688
781
|
isTailwindcssV4: true,
|
|
689
782
|
tailwindcssV4GradientFallback: styleOptions.tailwindcssV4GradientFallback
|
|
690
783
|
})));
|
|
691
784
|
}
|
|
692
785
|
function shouldFallbackToWebpackUserCssOnGeneratorError(options) {
|
|
693
|
-
return !
|
|
786
|
+
return !require_generator.hasTailwindRootDirectives(options.generatorRawSource, { importFallback: true }) && !require_generator.hasTailwindSourceDirectives(options.generatorRawSource, { importFallback: true }) && !require_generator.hasTailwindApplyDirective(options.generatorRawSource) && !options.hasExplicitTailwindV4SourceCss && options.configuredMainCssEntryFilesLength === 0;
|
|
694
787
|
}
|
|
695
788
|
function isWindowsAbsoluteResourcePath(file) {
|
|
696
789
|
return /^[a-z]:[\\/]/i.test(file) || /^[/\\]{2}[^/\\]/.test(file);
|
|
@@ -749,27 +842,47 @@ function createWebpackCurrentAssetUserRawSource(options) {
|
|
|
749
842
|
};
|
|
750
843
|
}
|
|
751
844
|
function finalizeTracedWebpackCssAsset(css, cssHandlerOptions, options) {
|
|
752
|
-
|
|
753
|
-
if (options.isWebGeneratorTarget || !require_hmr_timing.isCssSourceTraceEnabled(options.compilerOptions)) return
|
|
754
|
-
|
|
845
|
+
if (options.finalized === true) return options.annotateCss(css);
|
|
846
|
+
if (options.isWebGeneratorTarget || !require_hmr_timing.isCssSourceTraceEnabled(options.compilerOptions)) return options.annotateCss(css);
|
|
847
|
+
const finalized = finalizeMiniProgramUserCssAssetSource(css, options.compilerOptions, options.isWebGeneratorTarget, { cssPreflight: shouldInjectWebpackCssTracePreflight(options.compilerOptions.appType, cssHandlerOptions) });
|
|
848
|
+
return options.annotateCss(finalized);
|
|
755
849
|
}
|
|
756
850
|
function finalizeWebpackCssAssetSource(source, compilerOptions, isWebGeneratorTarget, options = {}) {
|
|
757
851
|
const styleOptions = require_context.resolveStyleOptionsFromContext(compilerOptions);
|
|
758
852
|
if (isWebGeneratorTarget) {
|
|
759
|
-
if (options.generatedCss === true) return stripTrailingLineWhitespace(
|
|
760
|
-
return stripTrailingLineWhitespace(
|
|
853
|
+
if (options.generatedCss === true) return stripTrailingLineWhitespace(require_generator.stripUnmatchedTailwindSourceMediaCloseFragments(require_generator.stripTailwindSourceMediaFragments(require_source_candidate_scan_signature.stripBundlerGeneratedCssMarkers(source))));
|
|
854
|
+
return stripTrailingLineWhitespace(require_generator.stripUnmatchedTailwindSourceMediaCloseFragments(require_generator.stripTailwindSourceMediaFragments(require_generator.removeTailwindV4GeneratorAtRules(require_generator.removeTailwindSourceDirectives(require_source_candidate_scan_signature.stripBundlerGeneratedCssMarkers(source), { importFallback: true })))));
|
|
855
|
+
}
|
|
856
|
+
let finalized = require_generator.removeTailwindSourceDirectives(require_source_candidate_scan_signature.stripBundlerGeneratedCssMarkers(source), { importFallback: true });
|
|
857
|
+
if (options.generatedCss !== true) {
|
|
858
|
+
finalized = (0, _weapp_tailwindcss_postcss.finalizeMiniProgramCss)(finalized, {
|
|
859
|
+
cssPreflight: false,
|
|
860
|
+
isTailwindcssV4: true,
|
|
861
|
+
tailwindcssV4GradientFallback: styleOptions.tailwindcssV4GradientFallback
|
|
862
|
+
});
|
|
863
|
+
finalized = dedupeMiniProgramPreflightSelectorRules(finalized);
|
|
864
|
+
return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(require_generator.removeMiniProgramHoverSelectors(finalized, styleOptions.cssRemoveHoverPseudoClass));
|
|
761
865
|
}
|
|
762
|
-
let finalized = require_v4_engine.removeTailwindSourceDirectives(require_source_candidate_scan_signature.stripBundlerGeneratedCssMarkers(source), { importFallback: true });
|
|
763
|
-
if (options.generatedCss !== true) return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(require_v4_engine.removeMiniProgramHoverSelectors(finalized, styleOptions.cssRemoveHoverPseudoClass));
|
|
764
866
|
try {
|
|
765
867
|
finalized = (0, _weapp_tailwindcss_postcss.pruneMiniProgramGeneratedCss)(finalized, { preservePreflight: options.cssPreflight !== false });
|
|
766
868
|
} catch {}
|
|
869
|
+
const shouldRemoveExistingPreflight = options.cssPreflight === false && options.preserveExistingPreflight === false;
|
|
870
|
+
if (shouldRemoveExistingPreflight) finalized = removeMiniProgramPreflightSelectorRule(finalized);
|
|
871
|
+
const hasExistingMiniProgramPreflight = options.preserveExistingPreflight !== false && hasMiniProgramPreflightSelector(source);
|
|
767
872
|
finalized = (0, _weapp_tailwindcss_postcss.finalizeMiniProgramCss)(finalized, {
|
|
768
|
-
cssPreflight: options.cssPreflight === false ? false : !require_hmr_timing.hasMiniProgramTailwindV4PreflightReset(finalized) ? compilerOptions
|
|
873
|
+
cssPreflight: options.cssPreflight === false && !hasExistingMiniProgramPreflight ? false : !require_hmr_timing.hasMiniProgramTailwindV4PreflightReset(finalized) ? resolveExistingWebpackCssPreflight(compilerOptions, styleOptions, source) : void 0,
|
|
769
874
|
isTailwindcssV4: true,
|
|
770
875
|
tailwindcssV4GradientFallback: styleOptions.tailwindcssV4GradientFallback
|
|
771
876
|
});
|
|
772
|
-
|
|
877
|
+
finalized = ensureWebpackMiniProgramTwContentInit(finalized);
|
|
878
|
+
if (shouldRemoveExistingPreflight) finalized = removeMiniProgramPreflightSelectorRule(finalized);
|
|
879
|
+
else finalized = dedupeMiniProgramPreflightSelectorRules(finalized);
|
|
880
|
+
return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(require_generator.removeMiniProgramHoverSelectors(finalized, styleOptions.cssRemoveHoverPseudoClass));
|
|
881
|
+
}
|
|
882
|
+
function finalizeWebpackCssAssetOutputSource(source, compilerOptions, isWebGeneratorTarget) {
|
|
883
|
+
if (isWebGeneratorTarget) return source;
|
|
884
|
+
const styleOptions = require_context.resolveStyleOptionsFromContext(compilerOptions);
|
|
885
|
+
return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(require_generator.removeMiniProgramHoverSelectors(dedupeMiniProgramPreflightSelectorRules(source), styleOptions.cssRemoveHoverPseudoClass));
|
|
773
886
|
}
|
|
774
887
|
function collectWebpackJsRuntimeCandidatesFromAssets(options) {
|
|
775
888
|
if (options.isWebGeneratorTarget) return;
|
|
@@ -830,22 +943,62 @@ function collectWebpackCssTokenSourceRefs(source) {
|
|
|
830
943
|
}
|
|
831
944
|
return refs;
|
|
832
945
|
}
|
|
946
|
+
function readWebpackCompilationAssetSource(compilation, file) {
|
|
947
|
+
const source = compilation.getAsset?.(file)?.source?.source?.();
|
|
948
|
+
if (source === void 0) return;
|
|
949
|
+
return typeof source === "string" ? source : source.toString();
|
|
950
|
+
}
|
|
951
|
+
function resolveWebpackCssImportFile(file, request) {
|
|
952
|
+
if (/^(?:https?:)?\/\//i.test(request) || request.startsWith("/")) return;
|
|
953
|
+
if (!/\.(?:css|wxss|acss|ttss|qss|jxss|tyss)(?:$|[?#])/i.test(request)) return;
|
|
954
|
+
const cleanRequest = request.replace(/[?#].*$/, "");
|
|
955
|
+
return normalizeWebpackCssSourceRef(node_path.default.posix.join(node_path.default.posix.dirname(normalizeWebpackCssSourceRef(file)), cleanRequest));
|
|
956
|
+
}
|
|
957
|
+
function collectCssImportRequests(source) {
|
|
958
|
+
return [...source.matchAll(/@import\s+(?:url\(\s*)?(?:"([^"]+)"|'([^']+)'|([^\s;)]+))/g)].map((match) => match[1] ?? match[2] ?? match[3]).filter((request) => typeof request === "string" && request.length > 0);
|
|
959
|
+
}
|
|
960
|
+
function collectMainImportedCssFiles(compilation, cssAssetFiles, cssMatcher, isMainCssFile) {
|
|
961
|
+
const files = /* @__PURE__ */ new Set();
|
|
962
|
+
const candidates = new Set(cssAssetFiles);
|
|
963
|
+
for (const chunk of compilation.chunks) for (const file of chunk.files ?? []) candidates.add(file);
|
|
964
|
+
for (const file of candidates) {
|
|
965
|
+
if (!cssMatcher(file) || !isMainCssFile(file)) continue;
|
|
966
|
+
const source = readWebpackCompilationAssetSource(compilation, file);
|
|
967
|
+
if (!source?.includes("@import")) continue;
|
|
968
|
+
for (const request of collectCssImportRequests(source)) {
|
|
969
|
+
const importedFile = resolveWebpackCssImportFile(file, request);
|
|
970
|
+
if (importedFile) files.add(importedFile);
|
|
971
|
+
}
|
|
972
|
+
}
|
|
973
|
+
return files;
|
|
974
|
+
}
|
|
833
975
|
function createWebpackCssSourceResolvers(options) {
|
|
834
|
-
const { activeWebpackAssetResourceFiles, appType, compilerOptions, compilation, cssAssetResources, cssHandlerOptionsCache, cssSources, cssUserHandlerOptionsCache, groupedCssEntriesLength, singleCssAssetFile, isWebGeneratorTarget, outputDir, runtimeState } = options;
|
|
976
|
+
const { activeWebpackAssetResourceFiles, appType, compilerOptions, compilation, cssAssetFiles, cssAssetResources, cssHandlerOptionsCache, cssSources, cssUserHandlerOptionsCache, groupedCssEntriesLength, singleCssAssetFile, isWebGeneratorTarget, outputDir, runtimeState } = options;
|
|
835
977
|
const hasConfiguredTailwindV4SourceRoots = () => {
|
|
836
|
-
const tailwindOptions =
|
|
978
|
+
const tailwindOptions = require_generator.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
|
|
837
979
|
return (tailwindOptions?.v4?.cssEntries?.length ?? 0) > 0 || (tailwindOptions?.v4?.cssSources?.length ?? 0) > 0;
|
|
838
980
|
};
|
|
839
981
|
const configuredCssEntryFiles = (() => {
|
|
840
|
-
const tailwindOptions =
|
|
982
|
+
const tailwindOptions = require_generator.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
|
|
841
983
|
const entries = [...compilerOptions.cssEntries ?? [], ...tailwindOptions?.v4?.cssEntries ?? []].filter((file) => typeof file === "string" && file.length > 0).map((file) => node_path.default.resolve(file));
|
|
842
984
|
return [...new Set(entries)];
|
|
843
985
|
})();
|
|
844
986
|
const configuredMainCssEntryFiles = configuredCssEntryFiles.slice(0, 1);
|
|
845
|
-
const
|
|
987
|
+
const scoreCssSourceOutputMatch = (file, sourceFile) => require_hmr_timing.scoreTailwindV4CssSourceFileMatch(file, sourceFile, {
|
|
988
|
+
outputRoot: outputDir,
|
|
989
|
+
projectRoot: compilerOptions.tailwindcssBasedir,
|
|
990
|
+
cwd: compilerOptions.tailwindcssBasedir
|
|
991
|
+
});
|
|
992
|
+
const isConfiguredMainCssEntryFile = (sourceFile) => configuredMainCssEntryFiles.some((entry) => node_path.default.resolve(entry) === node_path.default.resolve(sourceFile));
|
|
993
|
+
const isCssSourceAllowedForOutput = (file, sourceFile) => !isConfiguredMainCssEntryFile(sourceFile) || scoreCssSourceOutputMatch(file, sourceFile) > 0;
|
|
994
|
+
const inferredMainCssFiles = new Set([...inferWebpackMainCssFiles(compilation.chunks, compilerOptions.cssMatcher, {
|
|
846
995
|
mainSourceFiles: new Set(configuredMainCssEntryFiles),
|
|
847
996
|
resourcesByAsset: cssAssetResources
|
|
848
|
-
})
|
|
997
|
+
})].filter((file) => {
|
|
998
|
+
if (configuredMainCssEntryFiles.length === 0) return true;
|
|
999
|
+
return [...cssAssetResources.get(file) ?? []].some((resource) => isConfiguredMainCssEntryFile(resource) && isCssSourceAllowedForOutput(file, resource));
|
|
1000
|
+
}));
|
|
1001
|
+
const mainImportedCssFiles = collectMainImportedCssFiles(compilation, cssAssetFiles, compilerOptions.cssMatcher, (file) => compilerOptions.mainCssChunkMatcher(file, appType) || inferredMainCssFiles.has(file));
|
|
849
1002
|
const singleConfiguredCssAsset = isWebGeneratorTarget && configuredMainCssEntryFiles.length > 0 && groupedCssEntriesLength === 1 ? singleCssAssetFile : void 0;
|
|
850
1003
|
const isMainCssChunk = (file) => {
|
|
851
1004
|
const resources = cssAssetResources.get(file);
|
|
@@ -854,7 +1007,7 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
854
1007
|
if (index >= 0) return index === 0;
|
|
855
1008
|
}
|
|
856
1009
|
if (configuredCssEntryFiles.length > 1) return false;
|
|
857
|
-
return compilerOptions.mainCssChunkMatcher(file, appType) || inferredMainCssFiles.has(file) || file === singleConfiguredCssAsset;
|
|
1010
|
+
return compilerOptions.mainCssChunkMatcher(file, appType) || inferredMainCssFiles.has(file) || mainImportedCssFiles.has(normalizeWebpackCssSourceRef(file)) || file === singleConfiguredCssAsset;
|
|
858
1011
|
};
|
|
859
1012
|
const activeWebpackCssSourceFiles = /* @__PURE__ */ new Set();
|
|
860
1013
|
const resolveConfiguredMainCssSourceFile = (file) => {
|
|
@@ -870,14 +1023,14 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
870
1023
|
const assetResources = cssAssetResources.get(file);
|
|
871
1024
|
const activeAssetResource = resolveSingleActiveWebpackCssResource(assetResources, activeWebpackAssetResourceFiles);
|
|
872
1025
|
if (cssSources.size === 0) {
|
|
873
|
-
if (activeAssetResource) {
|
|
1026
|
+
if (activeAssetResource && isCssSourceAllowedForOutput(file, activeAssetResource)) {
|
|
874
1027
|
activeWebpackCssSourceFiles.add(activeAssetResource);
|
|
875
1028
|
return activeAssetResource;
|
|
876
1029
|
}
|
|
877
1030
|
if (assetResources && assetResources.size > 0) return;
|
|
878
1031
|
return resolveConfiguredMainCssSourceFile(file);
|
|
879
1032
|
}
|
|
880
|
-
const resourceMatches = [...assetResources ?? []].filter((sourceFile) => cssSources.has(sourceFile)).sort();
|
|
1033
|
+
const resourceMatches = [...assetResources ?? []].filter((sourceFile) => cssSources.has(sourceFile)).filter((sourceFile) => isCssSourceAllowedForOutput(file, sourceFile)).sort();
|
|
881
1034
|
if (resourceMatches.length === 1) {
|
|
882
1035
|
const sourceFile = resourceMatches[0];
|
|
883
1036
|
activeWebpackCssSourceFiles.add(sourceFile);
|
|
@@ -885,14 +1038,14 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
885
1038
|
}
|
|
886
1039
|
const tailwindSourceMatches = resourceMatches.filter((sourceFile) => {
|
|
887
1040
|
const sourceCss = cssSources.get(sourceFile)?.css;
|
|
888
|
-
return sourceCss && (
|
|
1041
|
+
return sourceCss && (require_generator.hasTailwindRootDirectives(sourceCss, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || require_generator.hasTailwindApplyDirective(sourceCss) || require_generator.hasTailwindGeneratedCss(sourceCss) || require_generator.hasTailwindGeneratedCssMarkers(sourceCss));
|
|
889
1042
|
});
|
|
890
1043
|
if (tailwindSourceMatches.length === 1) {
|
|
891
1044
|
const sourceFile = tailwindSourceMatches[0];
|
|
892
1045
|
activeWebpackCssSourceFiles.add(sourceFile);
|
|
893
1046
|
return sourceFile;
|
|
894
1047
|
}
|
|
895
|
-
if (activeAssetResource) {
|
|
1048
|
+
if (activeAssetResource && isCssSourceAllowedForOutput(file, activeAssetResource)) {
|
|
896
1049
|
activeWebpackCssSourceFiles.add(activeAssetResource);
|
|
897
1050
|
return activeAssetResource;
|
|
898
1051
|
}
|
|
@@ -952,8 +1105,10 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
952
1105
|
});
|
|
953
1106
|
const getCssHandlerOptions = (file, rawSource) => {
|
|
954
1107
|
const majorVersion = runtimeState.tailwindRuntime.majorVersion;
|
|
955
|
-
const
|
|
1108
|
+
const isMainCssAsset = isMainCssChunk(file);
|
|
956
1109
|
const sourceFile = resolveWebpackCssSourceFile(file, rawSource);
|
|
1110
|
+
const sourceMatchedMainCssEntry = sourceFile !== void 0 && isConfiguredMainCssEntryFile(sourceFile) && isCssSourceAllowedForOutput(file, sourceFile);
|
|
1111
|
+
const isMainChunk = isMainCssAsset || sourceMatchedMainCssEntry;
|
|
957
1112
|
const sourceCss = sourceFile ? cssSources.get(sourceFile)?.css : void 0;
|
|
958
1113
|
const generatorSourceCss = removeWebpackGeneratorNonTailwindImports(sourceCss);
|
|
959
1114
|
const generatorCssSource = createWebpackGeneratorCssSource(sourceFile, generatorSourceCss);
|
|
@@ -1004,6 +1159,7 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
1004
1159
|
};
|
|
1005
1160
|
return {
|
|
1006
1161
|
activeWebpackCssSourceFiles,
|
|
1162
|
+
configuredCssEntryFiles,
|
|
1007
1163
|
configuredMainCssEntryFiles,
|
|
1008
1164
|
getCssHandlerOptions,
|
|
1009
1165
|
getCssUserHandlerOptions,
|
|
@@ -1229,7 +1385,7 @@ function compactSnapshot(snapshot) {
|
|
|
1229
1385
|
};
|
|
1230
1386
|
}
|
|
1231
1387
|
function normalizeChangedFiles(changedFiles) {
|
|
1232
|
-
return new Set([...changedFiles ?? []].map((file) =>
|
|
1388
|
+
return new Set([...changedFiles ?? []].map((file) => require_generator.resolveSourceScanPath(file)));
|
|
1233
1389
|
}
|
|
1234
1390
|
async function resolveScanFileSnapshot(file) {
|
|
1235
1391
|
try {
|
|
@@ -1261,7 +1417,7 @@ async function resolveScanFiles(roots, outDir) {
|
|
|
1261
1417
|
outDir,
|
|
1262
1418
|
root: root.root
|
|
1263
1419
|
});
|
|
1264
|
-
for (const file of rootFiles) files.add(
|
|
1420
|
+
for (const file of rootFiles) files.add(require_generator.resolveSourceScanPath(file));
|
|
1265
1421
|
}));
|
|
1266
1422
|
return files;
|
|
1267
1423
|
}
|
|
@@ -1373,7 +1529,12 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1373
1529
|
const { compiler, options: compilerOptions, appType, runtimeState, getRuntimeRefreshRequirement, refreshRuntimeMetadata, isKnownWebpackProcessedCssAsset, isWebpackProcessedCssAsset, consumeRuntimeRefreshRequirement, isWatchMode, getWatchChangedFiles, runtimeClassSetManager, getWebpackCssSources, getWebpackGeneratedCssSources, pruneWebpackCssSources, prepareWebpackCssSources, debug } = options;
|
|
1374
1530
|
const { Compilation, sources } = compiler.webpack;
|
|
1375
1531
|
const { ConcatSource } = sources;
|
|
1376
|
-
const isWebGeneratorTarget = compilerOptions.generator
|
|
1532
|
+
const isWebGeneratorTarget = require_generator.normalizeWeappTailwindcssGeneratorOptions(compilerOptions.generator, {
|
|
1533
|
+
appType: compilerOptions.appType,
|
|
1534
|
+
platform: compilerOptions.cssOptions?.platform ?? compilerOptions.platform,
|
|
1535
|
+
tailwindcssMajorVersion: runtimeState.tailwindRuntime.majorVersion,
|
|
1536
|
+
uniAppX: compilerOptions.uniAppX
|
|
1537
|
+
}).target === "web";
|
|
1377
1538
|
const cssHandlerOptionsCache = /* @__PURE__ */ new Map();
|
|
1378
1539
|
const cssUserHandlerOptionsCache = /* @__PURE__ */ new Map();
|
|
1379
1540
|
const webpackSourceCandidateScanCache = createWebpackSourceCandidateScanCache();
|
|
@@ -1429,11 +1590,12 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1429
1590
|
for (const chunk of compilation.chunks) if (chunk.id) activeProcessHashKeys.add(chunk.id);
|
|
1430
1591
|
const cssSources = new Map([...getWebpackCssSources?.() ?? []].map(([file, source]) => [node_path.default.resolve(file), source]));
|
|
1431
1592
|
const generatedCssSources = new Map([...getWebpackGeneratedCssSources?.() ?? []].map(([file, source]) => [node_path.default.resolve(file), source]));
|
|
1432
|
-
const { activeWebpackCssSourceFiles, configuredMainCssEntryFiles, getCssHandlerOptions, getCssUserHandlerOptions, hasConfiguredTailwindV4SourceRoots, isSameWebpackSourceScope, resolveWebpackCssSourceFile } = createWebpackCssSourceResolvers({
|
|
1593
|
+
const { activeWebpackCssSourceFiles, configuredCssEntryFiles, configuredMainCssEntryFiles, getCssHandlerOptions, getCssUserHandlerOptions, hasConfiguredTailwindV4SourceRoots, isSameWebpackSourceScope, resolveWebpackCssSourceFile } = createWebpackCssSourceResolvers({
|
|
1433
1594
|
activeWebpackAssetResourceFiles,
|
|
1434
1595
|
appType,
|
|
1435
1596
|
compilerOptions,
|
|
1436
1597
|
compilation,
|
|
1598
|
+
cssAssetFiles: entries.map(([file]) => file),
|
|
1437
1599
|
cssAssetResources,
|
|
1438
1600
|
cssHandlerOptionsCache,
|
|
1439
1601
|
cssSources,
|
|
@@ -1461,9 +1623,10 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1461
1623
|
opts: compilerOptions,
|
|
1462
1624
|
tokenSources: cssSourceTraceTokenSources
|
|
1463
1625
|
});
|
|
1464
|
-
const finalizeTracedCss = (css, cssHandlerOptions) => finalizeTracedWebpackCssAsset(css, cssHandlerOptions, {
|
|
1626
|
+
const finalizeTracedCss = (css, cssHandlerOptions, options = {}) => finalizeTracedWebpackCssAsset(css, cssHandlerOptions, {
|
|
1465
1627
|
annotateCss,
|
|
1466
1628
|
compilerOptions,
|
|
1629
|
+
...options,
|
|
1467
1630
|
isWebGeneratorTarget
|
|
1468
1631
|
});
|
|
1469
1632
|
const hasRuntimeTransformAssets = Boolean(!isWebGeneratorTarget && ((groupedEntries.html?.length ?? 0) > 0 || (groupedEntries.js?.length ?? 0) > 0));
|
|
@@ -1674,7 +1837,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1674
1837
|
const processedCssAssetMetadata = { isMainCssChunk: cssHandlerOptionsForProcessedAsset.isMainChunk };
|
|
1675
1838
|
const processedSourceFile = cssHandlerOptionsForProcessedAsset.sourceOptions?.sourceFile;
|
|
1676
1839
|
const processedSourceCss = processedSourceFile ? cssSources.get(node_path.default.resolve(processedSourceFile))?.css : void 0;
|
|
1677
|
-
const shouldRegenerateProcessedTailwindV4SourceCss = processedSourceCss !== void 0 && (
|
|
1840
|
+
const shouldRegenerateProcessedTailwindV4SourceCss = processedSourceCss !== void 0 && (require_generator.hasTailwindSourceDirectives(processedSourceCss, { importFallback: true }) || processedSourceCss.includes("@config"));
|
|
1678
1841
|
const processedCssAssetKnown = isKnownWebpackProcessedCssAsset?.(file, processedCssAssetMetadata) === true;
|
|
1679
1842
|
const processedLoaderGeneratedCss = processedSourceFile ? generatedCssSources.get(node_path.default.resolve(processedSourceFile)) : void 0;
|
|
1680
1843
|
const processedAssetSourceHash = watchMode && isWebGeneratorTarget && cssHandlerOptionsForProcessedAsset.isMainChunk ? compilerOptions.cache.computeHash(readRawSource()) : chunkHash === void 0 ? processedCssAssetKnown ? "webpack-css-asset:known" : compilerOptions.cache.computeHash(readRawSource()) : "webpack-css-asset:chunk";
|
|
@@ -1694,11 +1857,11 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1694
1857
|
} else {
|
|
1695
1858
|
const source = readCurrentProcessedRawSource();
|
|
1696
1859
|
hasGeneratedCssMarker = require_source_candidate_scan_signature.hasBundlerGeneratedCssMarker(source);
|
|
1697
|
-
hasTailwindGeneratedAssetCss =
|
|
1860
|
+
hasTailwindGeneratedAssetCss = require_generator.hasTailwindGeneratedCss(source) || require_generator.hasTailwindGeneratedCssMarkers(source);
|
|
1698
1861
|
}
|
|
1699
1862
|
const hasProcessedAssetTailwindDirectives = () => {
|
|
1700
1863
|
const source = readCurrentProcessedRawSource();
|
|
1701
|
-
return
|
|
1864
|
+
return require_generator.hasTailwindRootDirectives(source, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(source, { importFallback: true }) || require_generator.hasTailwindApplyDirective(source);
|
|
1702
1865
|
};
|
|
1703
1866
|
const shouldForceConfiguredMainCssGeneration = cssHandlerOptionsForProcessedAsset.isMainChunk && hasConfiguredTailwindV4SourceRoots() && !hasGeneratedCssMarker && (configuredMainCssEntryFiles.length > 0 || shouldRegenerateProcessedTailwindV4SourceCss || hasProcessedAssetTailwindDirectives());
|
|
1704
1867
|
const hasProcessedMainAssetUserCss = cachedSkipProcessedCssAsset === void 0 && cssHandlerOptionsForProcessedAsset.isMainChunk && (hasGeneratedCssMarker || hasTailwindGeneratedAssetCss) && createWebpackUserCssSourceAppend([...cssSources.entries()].map(([sourceFile, source]) => ({
|
|
@@ -1706,7 +1869,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1706
1869
|
file: sourceFile
|
|
1707
1870
|
})), readCurrentProcessedRawSource()) !== void 0;
|
|
1708
1871
|
const hasProcessedLoaderGeneratedUserCss = cachedSkipProcessedCssAsset === void 0 && processedLoaderGeneratedCss !== void 0 && hasAdditionalWebpackAssetUserCssMarkers(processedLoaderGeneratedCss.css, readCurrentProcessedRawSource());
|
|
1709
|
-
const shouldFinalizeProcessedWebCssAsset = isWebGeneratorTarget && !shouldForceConfiguredMainCssGeneration && !shouldRegenerateProcessedTailwindV4SourceCss &&
|
|
1872
|
+
const shouldFinalizeProcessedWebCssAsset = isWebGeneratorTarget && !shouldForceConfiguredMainCssGeneration && !shouldRegenerateProcessedTailwindV4SourceCss && require_generator.hasTailwindSourceDirectives(readCurrentProcessedRawSource(), { importFallback: true });
|
|
1710
1873
|
const shouldPreserveFinalWebCssAsset = isWebGeneratorTarget && processedSourceFile === void 0 && !shouldForceConfiguredMainCssGeneration && (hasGeneratedCssMarker || hasTailwindGeneratedAssetCss);
|
|
1711
1874
|
const shouldSkipKnownProcessedCssAsset = !shouldForceConfiguredMainCssGeneration && !shouldRegenerateProcessedTailwindV4SourceCss && !shouldRegenerateStaleProcessedWebCssAsset && (processedCssAssetKnown || isWebpackProcessedCssAsset?.(file, readCurrentProcessedRawSource(), processedCssAssetMetadata)) && !hasProcessedMainAssetUserCss && !hasProcessedLoaderGeneratedUserCss && (!cssHandlerOptionsForProcessedAsset.isMainChunk || hasGeneratedCssMarker || hasTailwindGeneratedAssetCss);
|
|
1712
1875
|
const shouldSkipProcessedCssAsset = cachedSkipProcessedCssAsset ?? (shouldFinalizeProcessedWebCssAsset || shouldPreserveFinalWebCssAsset || shouldSkipKnownProcessedCssAsset);
|
|
@@ -1755,7 +1918,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1755
1918
|
processed: true
|
|
1756
1919
|
}).css;
|
|
1757
1920
|
debug("css skip webpack-loader-pipeline asset: %s", file);
|
|
1758
|
-
return { result: new ConcatSource(finalizeTracedCss(css, cssHandlerOptionsForProcessedAsset)) };
|
|
1921
|
+
return { result: new ConcatSource(finalizeTracedCss(css, cssHandlerOptionsForProcessedAsset, { finalized: true })) };
|
|
1759
1922
|
}
|
|
1760
1923
|
});
|
|
1761
1924
|
}, cssTaskFactories);
|
|
@@ -1821,9 +1984,13 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1821
1984
|
const generatorRawSource = resolveWebpackGeneratorRawSource(currentRawSource, cssHandlerOptions);
|
|
1822
1985
|
if (isWebpackCssLoaderRuntimeSource(generatorRawSource)) return { result: new ConcatSource(currentRawSource) };
|
|
1823
1986
|
const sourceFile = cssHandlerOptions.sourceOptions?.sourceFile;
|
|
1824
|
-
const loaderGeneratedCss = sourceFile && !isWebGeneratorTarget ? generatedCssSources.get(node_path.default.resolve(sourceFile)) : void 0;
|
|
1825
1987
|
const sourceCss = sourceFile ? cssSources.get(node_path.default.resolve(sourceFile))?.css : void 0;
|
|
1826
|
-
const
|
|
1988
|
+
const isConfiguredCssSource = sourceFile !== void 0 && configuredCssEntryFiles.some((entry) => node_path.default.resolve(entry) === node_path.default.resolve(sourceFile));
|
|
1989
|
+
const isConfiguredMainCssSource = sourceFile !== void 0 && configuredMainCssEntryFiles.some((entry) => node_path.default.resolve(entry) === node_path.default.resolve(sourceFile));
|
|
1990
|
+
const sourceCssHasTailwindRoot = sourceCss !== void 0 && require_generator.hasTailwindRootDirectives(sourceCss, { importFallback: true });
|
|
1991
|
+
const shouldPreserveExistingPreflight = cssHandlerOptions.isMainChunk || !isConfiguredMainCssSource && (isConfiguredCssSource || sourceCssHasTailwindRoot);
|
|
1992
|
+
const loaderGeneratedCss = sourceFile && !isWebGeneratorTarget ? generatedCssSources.get(node_path.default.resolve(sourceFile)) : void 0;
|
|
1993
|
+
const shouldRegenerateExplicitTailwindV4CssSource = sourceCss !== void 0 && (require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || sourceCss.includes("@config"));
|
|
1827
1994
|
const explicitTailwindV4SourceCandidates = shouldRegenerateExplicitTailwindV4CssSource && sourceCss && sourceFile && webpackSourceCandidates?.getSourceCandidatesForEntries ? await require_tailwindcss.resolveTailwindV4EntriesFromCssCached(sourceCss, node_path.default.dirname(sourceFile)).then((resolved) => resolved?.entries ? webpackSourceCandidates.getSourceCandidatesForEntries(resolved.entries) : void 0) : void 0;
|
|
1828
1995
|
if (loaderGeneratedCss && shouldConsumeWebpackLoaderGeneratedCss({
|
|
1829
1996
|
hasBundlerGeneratedCssMarker: require_source_candidate_scan_signature.hasBundlerGeneratedCssMarker(currentRawSource),
|
|
@@ -1840,13 +2007,15 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1840
2007
|
const currentRawSourceWithoutBundlerMarkers = require_source_candidate_scan_signature.stripBundlerGeneratedCssMarkers(currentRawSource);
|
|
1841
2008
|
const currentAssetHasProcessedUrl = hasProcessedCssAssetUrl(currentRawSourceWithoutBundlerMarkers) && currentRawSourceWithoutBundlerMarkers !== loaderGeneratedCss.css;
|
|
1842
2009
|
const currentAssetUserCss = currentAssetHasProcessedUrl ? currentRawSourceWithoutBundlerMarkers : shouldUseWebpackAssetAsGeneratorUserCss(currentRawSourceWithoutBundlerMarkers, loaderGeneratedCss.css, { processed: true }) ? require_hmr_timing.removeGeneratedSelectorCompatCss(currentRawSourceWithoutBundlerMarkers, loaderGeneratedCss.css) : void 0;
|
|
1843
|
-
const isConfiguredMainCssSource = configuredMainCssEntryFiles.some((entry) => node_path.default.resolve(entry) === node_path.default.resolve(sourceFile));
|
|
1844
2010
|
const loaderGeneratedCssWithoutMarkers = require_source_candidate_scan_signature.stripBundlerGeneratedCssMarkers(loaderGeneratedCss.css);
|
|
1845
2011
|
const currentAssetUserCssWithoutMarkers = currentAssetUserCss === void 0 ? "" : require_source_candidate_scan_signature.stripBundlerGeneratedCssMarkers(currentAssetUserCss);
|
|
1846
|
-
const currentAssetMissingUserCss = !(currentAssetUserCssWithoutMarkers.trim().length > 0 && !
|
|
1847
|
-
if (isConfiguredMainCssSource && !cssHandlerOptions.isMainChunk
|
|
2012
|
+
const currentAssetMissingUserCss = !(currentAssetUserCssWithoutMarkers.trim().length > 0 && !require_generator.isCommentOnlyCss(currentAssetUserCssWithoutMarkers)) ? "" : (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(currentAssetUserCssWithoutMarkers, loaderGeneratedCssWithoutMarkers);
|
|
2013
|
+
if (isConfiguredMainCssSource && !cssHandlerOptions.isMainChunk) {
|
|
1848
2014
|
debug("css skip duplicate webpack loader main generation: %s <- %s", file, sourceFile);
|
|
1849
|
-
return { result: new ConcatSource(finalizeTracedCss("",
|
|
2015
|
+
return { result: new ConcatSource(finalizeTracedCss(currentAssetMissingUserCss.trim().length === 0 || require_generator.isCommentOnlyCss(currentAssetMissingUserCss) ? "" : finalizeCssAssetSource(currentAssetMissingUserCss, {
|
|
2016
|
+
cssPreflight: false,
|
|
2017
|
+
generatedCss: false
|
|
2018
|
+
}), cssHandlerOptions)) };
|
|
1850
2019
|
}
|
|
1851
2020
|
const finalizedLoaderCss = finalizeCssAssetSource(currentAssetUserCss === void 0 ? loaderGeneratedCss.css : createWebpackGeneratorUserCssSourceAppend({
|
|
1852
2021
|
css: currentAssetUserCss === void 0 ? loaderGeneratedCss.css : currentAssetHasProcessedUrl ? require_hmr_timing.removeGeneratedSelectorCompatCss(loaderGeneratedCss.css, currentAssetUserCss) : (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(currentAssetUserCss, loaderGeneratedCss.css),
|
|
@@ -1856,7 +2025,8 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1856
2025
|
processed: true
|
|
1857
2026
|
}).css, {
|
|
1858
2027
|
cssPreflight: cssHandlerOptions.isMainChunk,
|
|
1859
|
-
generatedCss: true
|
|
2028
|
+
generatedCss: true,
|
|
2029
|
+
preserveExistingPreflight: shouldPreserveExistingPreflight
|
|
1860
2030
|
});
|
|
1861
2031
|
const loaderSourceBareUserCss = isWebGeneratorTarget ? void 0 : createWebpackGeneratorUserCssSourceAppend(...[currentAssetUserCss === void 0 ? void 0 : {
|
|
1862
2032
|
css: currentAssetUserCss,
|
|
@@ -1882,7 +2052,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1882
2052
|
}, {
|
|
1883
2053
|
css: missingLoaderSourceBareUserCss,
|
|
1884
2054
|
processed: true
|
|
1885
|
-
}).css, cssHandlerOptions);
|
|
2055
|
+
}).css, cssHandlerOptions, { finalized: true });
|
|
1886
2056
|
debug("css consume webpack loader generation: %s <- %s", file, sourceFile);
|
|
1887
2057
|
return { result: new ConcatSource(css) };
|
|
1888
2058
|
}
|
|
@@ -1891,12 +2061,13 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1891
2061
|
...source,
|
|
1892
2062
|
file: registeredSourceFile
|
|
1893
2063
|
})), generatorRawSource, sourceFile, (registeredSourceFile) => isSameWebpackSourceScope(file, registeredSourceFile, sourceFile));
|
|
1894
|
-
const currentAssetLooksGenerated =
|
|
2064
|
+
const currentAssetLooksGenerated = require_generator.hasTailwindGeneratedCss(currentRawSource) || require_generator.hasTailwindGeneratedCssMarkers(currentRawSource);
|
|
1895
2065
|
const currentAssetHasBundlerGeneratedMarker = require_source_candidate_scan_signature.hasBundlerGeneratedCssMarker(currentRawSource);
|
|
1896
2066
|
const currentAssetUserCssSource = currentAssetLooksGenerated ? removeWebpackTailwindGeneratedAssetCss(currentRawSource) : currentRawSource;
|
|
2067
|
+
if (sourceFile === void 0 && currentAssetHasBundlerGeneratedMarker && (currentAssetUserCssSource.trim().length === 0 || require_generator.isCommentOnlyCss(currentAssetUserCssSource))) return { result: new ConcatSource(finalizeTracedCss("", cssHandlerOptions)) };
|
|
1897
2068
|
const currentAssetHasAdditionalUserCss = currentAssetLooksGenerated && (hasAdditionalWebpackAssetUserCssMarkers(currentAssetUserCssSource, generatorRawSource) || currentAssetUserCssSource.trim().length > 0);
|
|
1898
2069
|
const shouldPreserveGeneratedWebAssetUserCss = isWebGeneratorTarget && currentAssetLooksGenerated && !currentAssetHasBundlerGeneratedMarker && !currentAssetHasAdditionalUserCss;
|
|
1899
|
-
const hasExplicitSourceCssForCurrentAsset = sourceCss !== void 0 && (
|
|
2070
|
+
const hasExplicitSourceCssForCurrentAsset = sourceCss !== void 0 && (require_generator.hasTailwindRootDirectives(sourceCss, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || require_generator.hasTailwindApplyDirective(sourceCss));
|
|
1900
2071
|
const currentAssetHasUserCss = (sourceCssProcessed || hasExplicitSourceCssForCurrentAsset) && currentAssetLooksGenerated && !shouldPreserveGeneratedWebAssetUserCss ? currentAssetHasAdditionalUserCss : shouldUseWebpackAssetAsGeneratorUserCss(currentAssetUserCssSource, generatorRawSource, { processed: sourceCssProcessed || shouldPreserveGeneratedWebAssetUserCss });
|
|
1901
2072
|
const userRawSource = createWebpackGeneratorUserCssSourceAppend(createWebpackCurrentAssetUserRawSource({
|
|
1902
2073
|
currentAssetHasUserCss,
|
|
@@ -1912,15 +2083,18 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1912
2083
|
}),
|
|
1913
2084
|
sourceCssProcessed
|
|
1914
2085
|
}), registeredUserRawSource);
|
|
1915
|
-
if ((0, _weapp_tailwindcss_postcss.isPureLocalCssImportWrapper)(currentRawSource)) return { result: new ConcatSource(
|
|
2086
|
+
if ((0, _weapp_tailwindcss_postcss.isPureLocalCssImportWrapper)(currentRawSource)) return { result: new ConcatSource(require_generator.removeTailwindSourceDirectives(require_source_candidate_scan_signature.stripBundlerGeneratedCssMarkers(currentRawSource), { importFallback: true })) };
|
|
1916
2087
|
const fallbackGeneratorRuntimeSet = getGeneratorRuntimeSet();
|
|
1917
|
-
const hasExplicitTailwindV4SourceCss = sourceCss !== void 0 && (
|
|
1918
|
-
const currentAssetHasTailwindDirectives =
|
|
2088
|
+
const hasExplicitTailwindV4SourceCss = sourceCss !== void 0 && (require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || sourceCss.includes("@config"));
|
|
2089
|
+
const currentAssetHasTailwindDirectives = require_generator.hasTailwindRootDirectives(generatorRawSource, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(generatorRawSource, { importFallback: true }) || require_generator.hasTailwindApplyDirective(generatorRawSource);
|
|
1919
2090
|
const shouldForceTailwindV4Generation = hasConfiguredTailwindV4SourceRoots() && (configuredMainCssEntryFiles.length > 0 && sourceFile !== void 0 || currentAssetHasTailwindDirectives || hasExplicitTailwindV4SourceCss);
|
|
1920
2091
|
const shouldSkipUnmatchedMainCssGeneration = !isWebGeneratorTarget && cssHandlerOptions.isMainChunk && sourceFile === void 0 && configuredMainCssEntryFiles.length > 0 && !currentAssetHasTailwindDirectives;
|
|
2092
|
+
const shouldSkipPlainNonMainCssGeneration = !cssHandlerOptions.isMainChunk && sourceCss !== void 0 && !hasExplicitSourceCssForCurrentAsset && !hasExplicitTailwindV4SourceCss && !currentAssetHasTailwindDirectives;
|
|
2093
|
+
const shouldMergeFallbackGeneratorRuntime = cssHandlerOptions.isMainChunk || currentAssetHasTailwindDirectives || hasExplicitSourceCssForCurrentAsset;
|
|
2094
|
+
const scopedFallbackGeneratorRuntimeSet = hasExplicitTailwindV4SourceCss || !shouldMergeFallbackGeneratorRuntime ? /* @__PURE__ */ new Set() : fallbackGeneratorRuntimeSet;
|
|
1921
2095
|
const resolvedScopedGeneratorRuntimeSet = await require_source_candidate_scan_signature.createScopedGeneratorRuntime({
|
|
1922
2096
|
cssHandlerOptions,
|
|
1923
|
-
fallbackRuntime:
|
|
2097
|
+
fallbackRuntime: scopedFallbackGeneratorRuntimeSet,
|
|
1924
2098
|
getSourceCandidatesForEntries: webpackSourceCandidates?.getSourceCandidatesForEntries,
|
|
1925
2099
|
majorVersion: runtimeState.tailwindRuntime.majorVersion,
|
|
1926
2100
|
outputFile: file,
|
|
@@ -1929,7 +2103,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1929
2103
|
sourceFile: sourceFile ?? file,
|
|
1930
2104
|
scopedSourceCandidateGetter: webpackSourceCandidates?.getSourceCandidatesForEntries
|
|
1931
2105
|
});
|
|
1932
|
-
const scopedGeneratorRuntimeSet = !hasExplicitTailwindV4SourceCss && resolvedScopedGeneratorRuntimeSet !==
|
|
2106
|
+
const scopedGeneratorRuntimeSet = !hasExplicitTailwindV4SourceCss && resolvedScopedGeneratorRuntimeSet !== scopedFallbackGeneratorRuntimeSet && shouldMergeFallbackGeneratorRuntime ? /* @__PURE__ */ new Set([...fallbackGeneratorRuntimeSet, ...resolvedScopedGeneratorRuntimeSet]) : resolvedScopedGeneratorRuntimeSet;
|
|
1933
2107
|
const generatorCssSources = normalizeWebpackGeneratorCssSources(cssHandlerOptions.sourceOptions?.cssSources);
|
|
1934
2108
|
const scopedGeneratorCompilerOptions = scopeWebpackGeneratorOptionsToCssSource(compilerOptions, sourceFile, { disableUnmatchedCssEntries: !isWebGeneratorTarget && cssHandlerOptions.isMainChunk });
|
|
1935
2109
|
const generatorCssHandlerOptions = generatorCssSources === void 0 ? cssHandlerOptions : {
|
|
@@ -1958,7 +2132,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1958
2132
|
debug
|
|
1959
2133
|
};
|
|
1960
2134
|
let generated;
|
|
1961
|
-
if (!shouldSkipUnmatchedMainCssGeneration) try {
|
|
2135
|
+
if (!shouldSkipUnmatchedMainCssGeneration && !shouldSkipPlainNonMainCssGeneration) try {
|
|
1962
2136
|
generated = await require_source_candidate_scan_signature.generateTailwindV4Css({
|
|
1963
2137
|
...generatorOptions,
|
|
1964
2138
|
outputFile: file
|
|
@@ -1972,7 +2146,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1972
2146
|
debug("css generator skipped for plain webpack css asset: %s %O", file, error);
|
|
1973
2147
|
generated = void 0;
|
|
1974
2148
|
}
|
|
1975
|
-
else debug("css generator skipped for
|
|
2149
|
+
else debug("css generator skipped for plain webpack css asset: %s", file);
|
|
1976
2150
|
const finalizedGeneratedCss = generated ? finalizeCssAssetSource(isWebGeneratorTarget && currentRawSource.includes("tailwindcss v4.") ? createWebpackGeneratorUserCssSourceAppend({
|
|
1977
2151
|
css: generated.css,
|
|
1978
2152
|
processed: true
|
|
@@ -1981,7 +2155,8 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1981
2155
|
processed: true
|
|
1982
2156
|
})?.css ?? generated.css : generated.css, {
|
|
1983
2157
|
cssPreflight: cssHandlerOptions.isMainChunk,
|
|
1984
|
-
generatedCss: true
|
|
2158
|
+
generatedCss: true,
|
|
2159
|
+
preserveExistingPreflight: shouldPreserveExistingPreflight
|
|
1985
2160
|
}) : isWebGeneratorTarget ? finalizeCssAssetSource(generatorRawSource, { generatedCss: false }) : finalizeCssAssetSource((await compilerOptions.styleHandler(generatorRawSource, cssHandlerOptions)).css, { generatedCss: false });
|
|
1986
2161
|
const sourceBareUserCss = isWebGeneratorTarget ? void 0 : createWebpackGeneratorUserCssSourceAppend(...[
|
|
1987
2162
|
userRawSource,
|
|
@@ -2011,7 +2186,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
2011
2186
|
}, {
|
|
2012
2187
|
css: missingSourceBareUserCss,
|
|
2013
2188
|
processed: true
|
|
2014
|
-
}).css, cssHandlerOptions));
|
|
2189
|
+
}).css, cssHandlerOptions, { finalized: true }));
|
|
2015
2190
|
if (generated) {
|
|
2016
2191
|
for (const className of generated.classSet) generatorRuntimeSet.add(className);
|
|
2017
2192
|
debug("css handle via tailwind v%s engine(%s): %s", runtimeState.tailwindRuntime.majorVersion, generated.target, file);
|
|
@@ -2056,6 +2231,22 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
2056
2231
|
}) });
|
|
2057
2232
|
compilerOptions.onEnd();
|
|
2058
2233
|
});
|
|
2234
|
+
if (!isWebGeneratorTarget) compilation.hooks.processAssets.tapPromise({
|
|
2235
|
+
name: `${require_context.pluginName}:finalize-css-assets`,
|
|
2236
|
+
stage: Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_HASH
|
|
2237
|
+
}, async (assets) => {
|
|
2238
|
+
const entries = Object.entries(assets);
|
|
2239
|
+
if (entries.length === 0) return;
|
|
2240
|
+
const groupedEntries = require_utils.getGroupedEntries(entries, compilerOptions);
|
|
2241
|
+
if (groupedEntries.css.length === 0) return;
|
|
2242
|
+
const { updateAssetIfChanged } = createWebpackAssetUpdater({
|
|
2243
|
+
compilation,
|
|
2244
|
+
ConcatSource,
|
|
2245
|
+
onUpdate: compilerOptions.onUpdate,
|
|
2246
|
+
debug
|
|
2247
|
+
});
|
|
2248
|
+
for (const [file, asset] of groupedEntries.css) updateAssetIfChanged(file, finalizeWebpackCssAssetOutputSource(stringifyWebpackSourceLike(compilation.getAsset(file)?.source.source() ?? asset.source()), compilerOptions, isWebGeneratorTarget));
|
|
2249
|
+
});
|
|
2059
2250
|
});
|
|
2060
2251
|
}
|
|
2061
2252
|
//#endregion
|
|
@@ -2279,7 +2470,13 @@ function createDefaultLoaderAnchorFinders() {
|
|
|
2279
2470
|
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-loaders.ts
|
|
2280
2471
|
function setupWebpackV5Loaders(options) {
|
|
2281
2472
|
const { compiler, options: compilerOptions, appType, weappTailwindcssPackageDir, shouldRewriteCssImports, runtimeLoaderPath, registerAutoCssSource, runtimeState, getClassSetInLoader, getRuntimeSetInLoader, markWebpackProcessedCssSource, markWebpackCssSourceModule, registerWebpackGeneratedCss, registerWebpackCssSourceFile, getRuntimeWatchDependencies, loaderAnchorFinders = createDefaultLoaderAnchorFinders(), mpxCssImportRewrite = false, runtimeRegistryKey = `weapp-tailwindcss-${Date.now()}-${Math.random().toString(36).slice(2)}`, debug } = options;
|
|
2282
|
-
const
|
|
2473
|
+
const generatorOptions = require_generator.normalizeWeappTailwindcssGeneratorOptions(compilerOptions.generator, {
|
|
2474
|
+
appType: compilerOptions.appType,
|
|
2475
|
+
platform: compilerOptions.cssOptions?.platform ?? compilerOptions.platform,
|
|
2476
|
+
tailwindcssMajorVersion: runtimeState.tailwindRuntime.majorVersion,
|
|
2477
|
+
uniAppX: compilerOptions.uniAppX
|
|
2478
|
+
});
|
|
2479
|
+
const generatorTarget = generatorOptions.target;
|
|
2283
2480
|
const generatorBranch = require_generator.resolveRuntimeBranch({
|
|
2284
2481
|
appType: compilerOptions.appType,
|
|
2285
2482
|
generatorTarget,
|
|
@@ -2290,7 +2487,7 @@ function setupWebpackV5Loaders(options) {
|
|
|
2290
2487
|
if (shouldRewriteCssImports && mpxCssImportRewrite) ensureMpxTailwindcssAliases(compiler, weappTailwindcssPackageDir);
|
|
2291
2488
|
const runtimeClassSetLoader = runtimeLoaderPath ?? node_path.default.resolve(__dirname, "./weapp-tw-runtime-classset-loader.js");
|
|
2292
2489
|
const shouldInjectRuntimeClassSetLoader = !generatorBranch.isWeb;
|
|
2293
|
-
const shouldInjectCssImportRewriteLoader = shouldRewriteCssImports || !generatorBranch.isWeb || runtimeState.tailwindRuntime.majorVersion === 4;
|
|
2490
|
+
const shouldInjectCssImportRewriteLoader = shouldRewriteCssImports || generatorOptions.enabled && (!generatorBranch.isWeb || runtimeState.tailwindRuntime.majorVersion === 4);
|
|
2294
2491
|
const runtimeCssImportRewriteLoader = shouldInjectCssImportRewriteLoader ? node_path.default.resolve(__dirname, "./weapp-tw-css-import-rewrite-loader.js") : void 0;
|
|
2295
2492
|
const runtimeClassSetLoaderExists = node_fs.default.existsSync(runtimeClassSetLoader);
|
|
2296
2493
|
const runtimeCssImportRewriteLoaderExists = runtimeCssImportRewriteLoader ? node_fs.default.existsSync(runtimeCssImportRewriteLoader) : false;
|
|
@@ -2462,7 +2659,7 @@ var WebpackFrameworkPlugin = class {
|
|
|
2462
2659
|
require_context._defineProperty(this, "hasInitialTailwindCssRoots", void 0);
|
|
2463
2660
|
require_context._defineProperty(this, "frameworkBranch", void 0);
|
|
2464
2661
|
this.frameworkBranch = frameworkBranch;
|
|
2465
|
-
this.hasInitialTailwindCssRoots =
|
|
2662
|
+
this.hasInitialTailwindCssRoots = require_generator.hasConfiguredTailwindV4CssRoots(options);
|
|
2466
2663
|
this.options = isInternalUserDefinedOptions(options) ? options : require_context.getCompilerContext({
|
|
2467
2664
|
...options,
|
|
2468
2665
|
__internalDeferMissingCssEntriesWarning: true
|
|
@@ -2509,7 +2706,7 @@ var WebpackFrameworkPlugin = class {
|
|
|
2509
2706
|
const updateRuntimeWatchDependencies = async () => {
|
|
2510
2707
|
runtimeWatchDependencyFiles.clear();
|
|
2511
2708
|
runtimeWatchDependencyContexts.clear();
|
|
2512
|
-
const tailwindOptions =
|
|
2709
|
+
const tailwindOptions = require_generator.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
|
|
2513
2710
|
if (tailwindOptions?.config) runtimeWatchDependencyFiles.add(tailwindOptions.config);
|
|
2514
2711
|
for (const entry of tailwindOptions?.v4?.cssEntries ?? []) runtimeWatchDependencyFiles.add(entry);
|
|
2515
2712
|
for (const source of tailwindOptions?.v4?.cssSources ?? []) {
|
|
@@ -2559,7 +2756,7 @@ var WebpackFrameworkPlugin = class {
|
|
|
2559
2756
|
};
|
|
2560
2757
|
const registerAutoCssSource = async (source) => {
|
|
2561
2758
|
if (!source.file) return;
|
|
2562
|
-
if (!
|
|
2759
|
+
if (!require_generator.upsertTailwindV4CssSource(this.options, source)) return;
|
|
2563
2760
|
runtimeSetPrepared = false;
|
|
2564
2761
|
runtimeMetadataPrepared = false;
|
|
2565
2762
|
runtimeRefreshRequiredForCompilation = true;
|
|
@@ -2579,7 +2776,7 @@ var WebpackFrameworkPlugin = class {
|
|
|
2579
2776
|
const file = node_path.default.resolve(source.file);
|
|
2580
2777
|
const previous = webpackCssSources.get(file);
|
|
2581
2778
|
const next = {
|
|
2582
|
-
css: typeof source.css === "string" ?
|
|
2779
|
+
css: typeof source.css === "string" ? require_generator.normalizeTailwindConfigDirectives(source.css, node_path.default.dirname(file)) : source.css,
|
|
2583
2780
|
processed: source.processed
|
|
2584
2781
|
};
|
|
2585
2782
|
if (previous && shouldKeepPreviousWebpackCssSource(previous, next)) {
|
|
@@ -2598,7 +2795,7 @@ var WebpackFrameworkPlugin = class {
|
|
|
2598
2795
|
currentWebpackCssSourceFiles.add(file);
|
|
2599
2796
|
};
|
|
2600
2797
|
const pruneWebpackCssSources = (activeSourceFiles, _options = {}) => {
|
|
2601
|
-
const tailwindOptions =
|
|
2798
|
+
const tailwindOptions = require_generator.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
|
|
2602
2799
|
const configuredSourceFiles = /* @__PURE__ */ new Set();
|
|
2603
2800
|
for (const entry of this.options.cssEntries ?? []) configuredSourceFiles.add(node_path.default.resolve(entry));
|
|
2604
2801
|
for (const entry of tailwindOptions?.v4?.cssEntries ?? []) configuredSourceFiles.add(node_path.default.resolve(entry));
|
|
@@ -2607,7 +2804,7 @@ var WebpackFrameworkPlugin = class {
|
|
|
2607
2804
|
for (const file of webpackGeneratedCssSources.keys()) if (!activeSourceFiles.has(file) && !configuredSourceFiles.has(file)) webpackGeneratedCssSources.delete(file);
|
|
2608
2805
|
};
|
|
2609
2806
|
const prepareWebpackCssSources = (activeAssetResources = /* @__PURE__ */ new Set()) => {
|
|
2610
|
-
const tailwindOptions =
|
|
2807
|
+
const tailwindOptions = require_generator.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
|
|
2611
2808
|
const configuredSourceFiles = /* @__PURE__ */ new Set();
|
|
2612
2809
|
for (const entry of this.options.cssEntries ?? []) configuredSourceFiles.add(node_path.default.resolve(entry));
|
|
2613
2810
|
for (const entry of tailwindOptions?.v4?.cssEntries ?? []) configuredSourceFiles.add(node_path.default.resolve(entry));
|
|
@@ -2625,7 +2822,7 @@ var WebpackFrameworkPlugin = class {
|
|
|
2625
2822
|
};
|
|
2626
2823
|
const isWebpackProcessedTailwindEntryAsset = (isMainCssChunk) => {
|
|
2627
2824
|
if (isMainCssChunk !== true || webpackProcessedCssSourceFiles.size === 0) return false;
|
|
2628
|
-
const tailwindOptions =
|
|
2825
|
+
const tailwindOptions = require_generator.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
|
|
2629
2826
|
for (const entry of this.options.cssEntries ?? []) if (webpackProcessedCssSourceFiles.has(node_path.default.resolve(entry))) return true;
|
|
2630
2827
|
for (const entry of tailwindOptions?.v4?.cssEntries ?? []) if (webpackProcessedCssSourceFiles.has(node_path.default.resolve(entry))) return true;
|
|
2631
2828
|
for (const source of tailwindOptions?.v4?.cssSources ?? []) if (source.file && webpackProcessedCssSourceFiles.has(node_path.default.resolve(source.file))) return true;
|
|
@@ -2695,7 +2892,7 @@ var WebpackFrameworkPlugin = class {
|
|
|
2695
2892
|
return webpackProcessedCssSourceFiles.has(node_path.default.resolve(file)) || isWebpackProcessedTailwindEntryAsset(metadata?.isMainCssChunk);
|
|
2696
2893
|
},
|
|
2697
2894
|
isWebpackProcessedCssAsset(file, rawSource, metadata) {
|
|
2698
|
-
return webpackProcessedCssSourceFiles.has(node_path.default.resolve(file)) || isWebpackProcessedTailwindEntryAsset(metadata?.isMainCssChunk) ||
|
|
2895
|
+
return webpackProcessedCssSourceFiles.has(node_path.default.resolve(file)) || isWebpackProcessedTailwindEntryAsset(metadata?.isMainCssChunk) || require_generator.hasTailwindGeneratedCss(rawSource) || require_generator.hasTailwindGeneratedCssMarkers(rawSource) || rawSource.includes("weapp-tailwindcss webpack-generated-css");
|
|
2699
2896
|
},
|
|
2700
2897
|
consumeRuntimeRefreshRequirement() {
|
|
2701
2898
|
runtimeRefreshRequiredForCompilation = false;
|