weapp-tailwindcss 5.1.13 → 5.1.15
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/auto-2dg_uhEJ.mjs +13 -0
- package/dist/bundlers/gulp/frameworks/native/index.d.ts +2 -0
- package/dist/bundlers/gulp/index.d.ts +2 -0
- package/dist/bundlers/gulp/shared/create-native-framework-plugins.d.ts +2 -0
- package/dist/bundlers/shared/generated-css-marker.d.ts +2 -2
- package/dist/bundlers/shared/generator-css/local-imports.d.ts +1 -1
- package/dist/bundlers/shared/generator-css/source-resolver/postcss-source.d.ts +2 -0
- package/dist/bundlers/shared/generator-css/types.d.ts +5 -0
- package/dist/bundlers/shared/style-requests.d.ts +1 -0
- package/dist/bundlers/vite/bundle-state.d.ts +1 -0
- package/dist/bundlers/vite/css-finalizer.d.ts +1 -0
- package/dist/bundlers/vite/frameworks/taro/index.d.ts +2 -0
- package/dist/bundlers/vite/frameworks/uni-app/index.d.ts +2 -0
- package/dist/bundlers/vite/frameworks/uni-app-x/index.d.ts +2 -0
- package/dist/bundlers/vite/generate-bundle/bundle-markup-candidates.d.ts +20 -0
- package/dist/bundlers/vite/generate-bundle/css-handler-options.d.ts +1 -0
- package/dist/bundlers/vite/generate-bundle/remembered-css-replay.d.ts +4 -0
- package/dist/bundlers/vite/generate-bundle/root-style-output.d.ts +18 -0
- package/dist/bundlers/vite/generate-bundle/sfc-style-source.d.ts +2 -1
- package/dist/bundlers/vite/generate-bundle/source-candidate-source.d.ts +1 -0
- package/dist/bundlers/vite/generate-bundle/types.d.ts +7 -0
- package/dist/bundlers/vite/serve-css-generation.d.ts +3 -2
- package/dist/bundlers/vite/serve-root-import-shell.d.ts +8 -0
- package/dist/bundlers/vite/shared/create-framework-plugins.d.ts +1 -0
- package/dist/bundlers/vite/source-candidates.d.ts +3 -0
- package/dist/bundlers/vite/watch-css-post.d.ts +10 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/shared.d.ts +6 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/css-source-resolvers.d.ts +1 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers.d.ts +2 -0
- package/dist/bundlers/webpack/loaders/runtime-registry.d.ts +1 -0
- package/dist/bundlers/webpack/loaders/weapp-tw-css-generation-loader.d.ts +4 -0
- package/dist/bundlers/webpack/loaders/weapp-tw-css-import-rewrite-loader.d.ts +3 -0
- package/dist/{context-xSJE588m.mjs → context-BgGWVAmN.mjs} +5 -3
- package/dist/{context-DRRgW7i2.js → context-VeFq_8vW.js} +5 -3
- package/dist/core.js +1 -1
- package/dist/core.mjs +1 -1
- package/dist/css-macro.mjs +1 -1
- package/dist/{generator-CS10c9g1.js → generator-CEnUsjed.js} +17 -3
- package/dist/{generator-BvPcmqxU.mjs → generator-CEo920So.mjs} +18 -4
- package/dist/generator.js +1 -1
- package/dist/generator.mjs +1 -1
- package/dist/{gulp-DNZZvUMq.js → gulp-3m1dAiig.js} +92 -54
- package/dist/{gulp-BEOzXrbp.mjs → gulp-DP71z1jG.mjs} +92 -54
- package/dist/gulp.js +1 -1
- package/dist/gulp.mjs +1 -1
- package/dist/{hmr-timing-hRhRAjYV.mjs → hmr-timing-1aS6--U7.mjs} +272 -56
- package/dist/{hmr-timing-DW1g3zjl.js → hmr-timing-B8p4f0ca.js} +323 -53
- package/dist/index.js +4 -4
- package/dist/index.mjs +4 -4
- package/dist/postcss.js +1 -1
- package/dist/postcss.mjs +1 -1
- package/dist/presets.js +1 -1
- package/dist/presets.mjs +1 -1
- package/dist/rspack.js +1 -1
- package/dist/rspack.mjs +1 -1
- package/dist/shared/mpx.d.ts +4 -1
- package/dist/{source-candidate-scan-signature-CMgu5bJk.js → source-candidate-scan-signature-BAahhiwb.js} +20 -139
- package/dist/{source-candidate-scan-signature-t4XKAQ04.mjs → source-candidate-scan-signature-Cf7259PR.mjs} +21 -104
- package/dist/tailwindcss/candidates.d.ts +4 -0
- package/dist/{tailwindcss-z9JMF-qU.js → tailwindcss-KBYPJ2DW.js} +1 -1
- package/dist/{tailwindcss-DZT_pWrd.mjs → tailwindcss-xs704TRw.mjs} +1 -1
- package/dist/{transform-D5JUgMpE.mjs → transform-B_KM9sLX.mjs} +47 -5
- package/dist/{transform-COFRlmDF.js → transform-CcYptivi.js} +47 -5
- package/dist/uni-app-x/component-local-style.d.ts +1 -0
- package/dist/uni-app-x/style-asset/style-value.d.ts +1 -1
- package/dist/{vite-DnkObu2L.js → vite-DUVjMduj.js} +807 -320
- package/dist/{vite-Tpgi77vE.mjs → vite-nXZEiwG0.mjs} +757 -270
- package/dist/vite.js +1 -1
- package/dist/vite.mjs +1 -1
- package/dist/weapp-tw-css-generation-loader.js +12 -0
- package/dist/weapp-tw-css-import-rewrite-loader-DNk0IxAt.js +10198 -0
- package/dist/weapp-tw-css-import-rewrite-loader.js +6 -8209
- package/dist/{webpack-CTYm19zA.mjs → webpack-C_UUFRgj.mjs} +228 -58
- package/dist/{webpack-CzXjfvYS.js → webpack-nppysF4B.js} +240 -70
- package/dist/webpack.js +1 -1
- package/dist/webpack.mjs +1 -1
- package/package.json +11 -3
- package/dist/auto-CrJJc5rK.mjs +0 -13
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.js");
|
|
2
|
-
const require_generator = require("./generator-
|
|
3
|
-
const require_tailwindcss = require("./tailwindcss-
|
|
2
|
+
const require_generator = require("./generator-CEnUsjed.js");
|
|
3
|
+
const require_tailwindcss = require("./tailwindcss-KBYPJ2DW.js");
|
|
4
4
|
const require_utils = require("./utils-CuKLf1Zv.js");
|
|
5
5
|
const require_wxml = require("./wxml-Ce10eREX.js");
|
|
6
|
-
const require_context = require("./context-
|
|
6
|
+
const require_context = require("./context-VeFq_8vW.js");
|
|
7
7
|
const require_defaults = require("./defaults.js");
|
|
8
|
-
const require_hmr_timing = require("./hmr-timing-
|
|
9
|
-
const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-
|
|
8
|
+
const require_hmr_timing = require("./hmr-timing-B8p4f0ca.js");
|
|
9
|
+
const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-BAahhiwb.js");
|
|
10
10
|
let node_fs = require("node:fs");
|
|
11
11
|
node_fs = require_rolldown_runtime.__toESM(node_fs);
|
|
12
12
|
let node_path = require("node:path");
|
|
@@ -27,13 +27,13 @@ function getCacheKey(filename) {
|
|
|
27
27
|
}
|
|
28
28
|
function stripResourceQuery(resource) {
|
|
29
29
|
if (typeof resource !== "string") return resource;
|
|
30
|
-
return
|
|
30
|
+
return require_hmr_timing.stripRequestQuery(resource);
|
|
31
31
|
}
|
|
32
32
|
function isCssLikeModuleResource(resource, cssMatcher) {
|
|
33
33
|
if (typeof resource !== "string") return false;
|
|
34
34
|
const normalizedResource = stripResourceQuery(resource);
|
|
35
35
|
if (normalizedResource && cssMatcher(normalizedResource)) return true;
|
|
36
|
-
if (
|
|
36
|
+
if (require_hmr_timing.isSourceStyleRequest(resource)) return true;
|
|
37
37
|
return false;
|
|
38
38
|
}
|
|
39
39
|
function hasLoaderEntry(entries, target) {
|
|
@@ -73,17 +73,27 @@ function resolveSingleActiveWebpackCssResource(assetResources, activeWebpackAsse
|
|
|
73
73
|
const activeAssetResourceMatches = [...assetResources ?? []].map((sourceFile) => node_path.default.resolve(sourceFile)).filter((sourceFile) => activeWebpackAssetResourceFiles.has(sourceFile)).sort();
|
|
74
74
|
return activeAssetResourceMatches.length === 1 ? activeAssetResourceMatches[0] : void 0;
|
|
75
75
|
}
|
|
76
|
-
function
|
|
76
|
+
function resolveWebpackCssModuleIdentifierResource(module) {
|
|
77
|
+
if (!module.type?.startsWith("css/") || typeof module.identifier !== "function") return;
|
|
78
|
+
const identifier = module.identifier();
|
|
79
|
+
const request = identifier.startsWith("css|") ? identifier.slice(4) : identifier;
|
|
80
|
+
const resourceWithMetadata = request.slice(request.lastIndexOf("!") + 1);
|
|
81
|
+
const metadataIndex = resourceWithMetadata.indexOf("|");
|
|
82
|
+
return metadataIndex === -1 ? resourceWithMetadata : resourceWithMetadata.slice(0, metadataIndex);
|
|
83
|
+
}
|
|
84
|
+
function createWebpackCssAssetResourceMapInternal(chunks, chunkGraph, cssMatcher, normalizeResource, onlyUnambiguousCssAssets) {
|
|
77
85
|
const resourcesByAsset = /* @__PURE__ */ new Map();
|
|
78
86
|
if (!chunkGraph?.getChunkModulesIterable) return resourcesByAsset;
|
|
79
87
|
const collectModuleResources = (module, resources, seen = /* @__PURE__ */ new Set()) => {
|
|
80
88
|
if (!module || seen.has(module)) return;
|
|
81
89
|
seen.add(module);
|
|
82
|
-
|
|
90
|
+
const candidates = [
|
|
83
91
|
module.resource,
|
|
84
92
|
module.request,
|
|
85
93
|
module.userRequest
|
|
86
|
-
]
|
|
94
|
+
];
|
|
95
|
+
if (onlyUnambiguousCssAssets) candidates.push(resolveWebpackCssModuleIdentifierResource(module));
|
|
96
|
+
for (const candidate of candidates) {
|
|
87
97
|
if (typeof candidate !== "string") continue;
|
|
88
98
|
const normalized = normalizeResource(candidate, module);
|
|
89
99
|
if (normalized) resources.add(normalized);
|
|
@@ -103,7 +113,7 @@ function createWebpackCssAssetResourceMap(chunks, chunkGraph, cssMatcher, normal
|
|
|
103
113
|
};
|
|
104
114
|
for (const chunk of chunks) {
|
|
105
115
|
const cssFiles = toChunkFiles(chunk.files).filter((file) => cssMatcher(file));
|
|
106
|
-
if (cssFiles.length === 0) continue;
|
|
116
|
+
if (cssFiles.length === 0 || onlyUnambiguousCssAssets && cssFiles.length !== 1) continue;
|
|
107
117
|
const modules = chunkGraph.getChunkModulesIterable(chunk);
|
|
108
118
|
if (!modules) continue;
|
|
109
119
|
const cssResources = /* @__PURE__ */ new Set();
|
|
@@ -113,6 +123,12 @@ function createWebpackCssAssetResourceMap(chunks, chunkGraph, cssMatcher, normal
|
|
|
113
123
|
}
|
|
114
124
|
return resourcesByAsset;
|
|
115
125
|
}
|
|
126
|
+
function createWebpackCssAssetResourceMap(chunks, chunkGraph, cssMatcher, normalizeResource) {
|
|
127
|
+
return createWebpackCssAssetResourceMapInternal(chunks, chunkGraph, cssMatcher, normalizeResource, false);
|
|
128
|
+
}
|
|
129
|
+
function createWebpackDirectCssAssetResourceMap(chunks, chunkGraph, cssMatcher, normalizeResource) {
|
|
130
|
+
return createWebpackCssAssetResourceMapInternal(chunks, chunkGraph, cssMatcher, normalizeResource, true);
|
|
131
|
+
}
|
|
116
132
|
function createAssetHashByChunkMap(chunks) {
|
|
117
133
|
const partsByFile = /* @__PURE__ */ new Map();
|
|
118
134
|
for (const chunk of chunks) {
|
|
@@ -315,8 +331,15 @@ function resolveWebpackGeneratorRawSource(rawSource, cssHandlerOptions) {
|
|
|
315
331
|
}
|
|
316
332
|
function shouldConsumeWebpackLoaderGeneratedCss(options) {
|
|
317
333
|
if (!options.shouldRegenerateExplicitTailwindV4CssSource) return true;
|
|
318
|
-
if (options.watchMode === true && options.loaderGeneratedClassSet && options.sourceCandidates &&
|
|
319
|
-
|
|
334
|
+
if (options.watchMode === true && options.loaderGeneratedClassSet && options.sourceCandidates && hasStaleRuntimeCandidates(options.loaderGeneratedClassSet, options.sourceCandidates)) return false;
|
|
335
|
+
if (options.hasBundlerGeneratedCssMarker) return true;
|
|
336
|
+
if (options.watchMode === true && options.loaderGeneratedClassSet && options.sourceCandidates && hasMissingRuntimeCandidates(options.loaderGeneratedClassSet, options.sourceCandidates)) return false;
|
|
337
|
+
return Boolean(options.allowMarkerlessRegistryMatch && options.loaderGeneratedClassSet && options.sourceCandidates && !hasMissingRuntimeCandidates(options.loaderGeneratedClassSet, options.sourceCandidates) && !hasStaleRuntimeCandidates(options.loaderGeneratedClassSet, options.sourceCandidates));
|
|
338
|
+
}
|
|
339
|
+
function hasDeferredWebpackGeneratedCss(source, generatedClassSets) {
|
|
340
|
+
const selectors = require_hmr_timing.collectRawSourceClassSelectors(source);
|
|
341
|
+
for (const classSet of generatedClassSets) for (const candidate of classSet) if (selectors.has(candidate)) return true;
|
|
342
|
+
return false;
|
|
320
343
|
}
|
|
321
344
|
function hasUsableWebpackGeneratorCssSources(cssSources) {
|
|
322
345
|
return Array.isArray(cssSources) && cssSources.some((source) => typeof source?.css === "string" && source.css.length > 0);
|
|
@@ -405,7 +428,8 @@ function isWebpackKeyframesRule(rule) {
|
|
|
405
428
|
}
|
|
406
429
|
function collectWebpackBareSelectorUserCss(source) {
|
|
407
430
|
try {
|
|
408
|
-
const
|
|
431
|
+
const normalizedSource = require_generator.removeTailwindSourceDirectives(require_generator.stripTailwindSourceMediaFragments(require_generator.removeTailwindV4GeneratorAtRules(source)), { importFallback: true });
|
|
432
|
+
const root = _weapp_tailwindcss_postcss.postcss.parse(normalizedSource);
|
|
409
433
|
let changed = false;
|
|
410
434
|
root.walkAtRules((rule) => {
|
|
411
435
|
if (rule.name === "import" || rule.name === "font-face" || rule.name.endsWith("keyframes")) {
|
|
@@ -425,7 +449,7 @@ function collectWebpackBareSelectorUserCss(source) {
|
|
|
425
449
|
changed = true;
|
|
426
450
|
}
|
|
427
451
|
});
|
|
428
|
-
return changed ? root.toString() :
|
|
452
|
+
return changed ? root.toString() : normalizedSource;
|
|
429
453
|
} catch {
|
|
430
454
|
return "";
|
|
431
455
|
}
|
|
@@ -618,7 +642,7 @@ function unescapeCssIdentifier(value) {
|
|
|
618
642
|
}
|
|
619
643
|
function collectGeneratedCssRuntimeCandidates(source) {
|
|
620
644
|
const candidates = /* @__PURE__ */ new Set();
|
|
621
|
-
if (
|
|
645
|
+
if (require_hmr_timing.hasBundlerGeneratedCssMarker(source) || !require_generator.hasTailwindGeneratedCss(source) && !require_generator.hasTailwindGeneratedCssMarkers(source)) return candidates;
|
|
622
646
|
try {
|
|
623
647
|
_weapp_tailwindcss_postcss.postcss.parse(source).walkRules((rule) => {
|
|
624
648
|
for (const selector of rule.selectors) for (const match of selector.matchAll(/\.((?:\\.|[\w\u00A0-\uFFFF-])(?:\\.|[\w\u00A0-\uFFFF-])*)/g)) {
|
|
@@ -705,7 +729,9 @@ function createWebpackGeneratorUserCssSourceAppend(...sources) {
|
|
|
705
729
|
let css = "";
|
|
706
730
|
const usedParts = [];
|
|
707
731
|
for (const source of parts) {
|
|
708
|
-
const
|
|
732
|
+
const merged = css.trim().length > 0 ? (0, _weapp_tailwindcss_postcss.mergeCoveredCssRuleDeclarations)(css, source.css) : void 0;
|
|
733
|
+
if (merged?.changed) css = merged.baseCss;
|
|
734
|
+
const nextCss = css.trim().length > 0 ? (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(css, merged?.css ?? source.css) : source.css;
|
|
709
735
|
if (!(nextCss.trim().length > 0)) continue;
|
|
710
736
|
css = require_hmr_timing.createCssSourceOrderAppend(css, nextCss);
|
|
711
737
|
usedParts.push(source);
|
|
@@ -851,10 +877,10 @@ function finalizeTracedWebpackCssAsset(css, cssHandlerOptions, options) {
|
|
|
851
877
|
function finalizeWebpackCssAssetSource(source, compilerOptions, isWebGeneratorTarget, options = {}) {
|
|
852
878
|
const styleOptions = require_context.resolveStyleOptionsFromContext(compilerOptions);
|
|
853
879
|
if (isWebGeneratorTarget) {
|
|
854
|
-
if (options.generatedCss === true) return stripTrailingLineWhitespace(require_generator.stripUnmatchedTailwindSourceMediaCloseFragments(require_generator.stripTailwindSourceMediaFragments(
|
|
855
|
-
return stripTrailingLineWhitespace(require_generator.stripUnmatchedTailwindSourceMediaCloseFragments(require_generator.stripTailwindSourceMediaFragments(require_generator.removeTailwindV4GeneratorAtRules(require_generator.removeTailwindSourceDirectives(
|
|
880
|
+
if (options.generatedCss === true) return stripTrailingLineWhitespace(require_generator.stripUnmatchedTailwindSourceMediaCloseFragments(require_generator.stripTailwindSourceMediaFragments(require_hmr_timing.stripBundlerGeneratedCssMarkers(source))));
|
|
881
|
+
return stripTrailingLineWhitespace(require_generator.stripUnmatchedTailwindSourceMediaCloseFragments(require_generator.stripTailwindSourceMediaFragments(require_generator.removeTailwindV4GeneratorAtRules(require_generator.removeTailwindSourceDirectives(require_hmr_timing.stripBundlerGeneratedCssMarkers(source), { importFallback: true })))));
|
|
856
882
|
}
|
|
857
|
-
let finalized = require_generator.removeTailwindSourceDirectives(
|
|
883
|
+
let finalized = require_generator.removeTailwindSourceDirectives(require_hmr_timing.stripBundlerGeneratedCssMarkers(source), { importFallback: true });
|
|
858
884
|
if (options.generatedCss !== true) {
|
|
859
885
|
finalized = (0, _weapp_tailwindcss_postcss.finalizeMiniProgramCss)(finalized, {
|
|
860
886
|
cssPreflight: false,
|
|
@@ -883,7 +909,7 @@ function finalizeWebpackCssAssetSource(source, compilerOptions, isWebGeneratorTa
|
|
|
883
909
|
function finalizeWebpackCssAssetOutputSource(source, compilerOptions, isWebGeneratorTarget) {
|
|
884
910
|
if (isWebGeneratorTarget) return source;
|
|
885
911
|
const styleOptions = require_context.resolveStyleOptionsFromContext(compilerOptions);
|
|
886
|
-
return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(require_generator.removeMiniProgramHoverSelectors(dedupeMiniProgramPreflightSelectorRules(source), styleOptions.cssRemoveHoverPseudoClass));
|
|
912
|
+
return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(require_generator.removeMiniProgramHoverSelectors((0, _weapp_tailwindcss_postcss.dedupeCoveredCssRules)(dedupeMiniProgramPreflightSelectorRules(source)), styleOptions.cssRemoveHoverPseudoClass));
|
|
887
913
|
}
|
|
888
914
|
function collectWebpackJsRuntimeCandidatesFromAssets(options) {
|
|
889
915
|
if (options.isWebGeneratorTarget) return;
|
|
@@ -974,7 +1000,7 @@ function collectMainImportedCssFiles(compilation, cssAssetFiles, cssMatcher, isM
|
|
|
974
1000
|
return files;
|
|
975
1001
|
}
|
|
976
1002
|
function createWebpackCssSourceResolvers(options) {
|
|
977
|
-
const { activeWebpackAssetResourceFiles, appType, compilerOptions, compilation, cssAssetFiles, cssAssetResources, cssHandlerOptionsCache, cssSources, cssUserHandlerOptionsCache, groupedCssEntriesLength, singleCssAssetFile, isWebGeneratorTarget, outputDir, runtimeState } = options;
|
|
1003
|
+
const { activeWebpackAssetResourceFiles, appType, compilerOptions, compilation, cssAssetFiles, cssAssetResources, directCssAssetResources, cssHandlerOptionsCache, cssSources, cssUserHandlerOptionsCache, groupedCssEntriesLength, singleCssAssetFile, isWebGeneratorTarget, outputDir, runtimeState } = options;
|
|
978
1004
|
const hasConfiguredTailwindV4SourceRoots = () => {
|
|
979
1005
|
const tailwindOptions = require_generator.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
|
|
980
1006
|
return (tailwindOptions?.v4?.cssEntries?.length ?? 0) > 0 || (tailwindOptions?.v4?.cssSources?.length ?? 0) > 0;
|
|
@@ -991,7 +1017,7 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
991
1017
|
cwd: compilerOptions.tailwindcssBasedir
|
|
992
1018
|
});
|
|
993
1019
|
const isConfiguredMainCssEntryFile = (sourceFile) => configuredMainCssEntryFiles.some((entry) => node_path.default.resolve(entry) === node_path.default.resolve(sourceFile));
|
|
994
|
-
const isCssSourceAllowedForOutput = (file, sourceFile) => !isConfiguredMainCssEntryFile(sourceFile) || scoreCssSourceOutputMatch(file, sourceFile) > 0;
|
|
1020
|
+
const isCssSourceAllowedForOutput = (file, sourceFile) => !isConfiguredMainCssEntryFile(sourceFile) || directCssAssetResources.get(file)?.has(sourceFile) === true || scoreCssSourceOutputMatch(file, sourceFile) > 0;
|
|
995
1021
|
const inferredMainCssFiles = new Set([...inferWebpackMainCssFiles(compilation.chunks, compilerOptions.cssMatcher, {
|
|
996
1022
|
mainSourceFiles: new Set(configuredMainCssEntryFiles),
|
|
997
1023
|
resourcesByAsset: cssAssetResources
|
|
@@ -1032,6 +1058,12 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
1032
1058
|
return resolveConfiguredMainCssSourceFile(file);
|
|
1033
1059
|
}
|
|
1034
1060
|
const resourceMatches = [...assetResources ?? []].filter((sourceFile) => cssSources.has(sourceFile)).filter((sourceFile) => isCssSourceAllowedForOutput(file, sourceFile)).sort();
|
|
1061
|
+
const configuredResourceMatches = resourceMatches.filter((sourceFile) => configuredCssEntryFiles.some((entry) => node_path.default.resolve(entry) === node_path.default.resolve(sourceFile)));
|
|
1062
|
+
if (configuredResourceMatches.length === 1) {
|
|
1063
|
+
const sourceFile = configuredResourceMatches[0];
|
|
1064
|
+
activeWebpackCssSourceFiles.add(sourceFile);
|
|
1065
|
+
return sourceFile;
|
|
1066
|
+
}
|
|
1035
1067
|
if (resourceMatches.length === 1) {
|
|
1036
1068
|
const sourceFile = resourceMatches[0];
|
|
1037
1069
|
activeWebpackCssSourceFiles.add(sourceFile);
|
|
@@ -1517,7 +1549,11 @@ async function refreshWebpackSourceCandidates(options) {
|
|
|
1517
1549
|
if (!sourceScan || !sourceScan.explicit && !sourceScan.entries?.length && !sourceScan.inlineCandidates) return;
|
|
1518
1550
|
return options.scanCache.resolve({
|
|
1519
1551
|
changedFiles: options.watchChangedFiles,
|
|
1520
|
-
collector: require_hmr_timing.createSourceCandidateStore({
|
|
1552
|
+
collector: require_hmr_timing.createSourceCandidateStore({
|
|
1553
|
+
bareArbitraryValues: options.compilerOptions.arbitraryValues?.bareArbitraryValues,
|
|
1554
|
+
customAttributesEntities: options.compilerOptions.customAttributesEntities,
|
|
1555
|
+
disabledDefaultTemplateHandler: options.compilerOptions.disabledDefaultTemplateHandler
|
|
1556
|
+
}),
|
|
1521
1557
|
outDir: options.outputDir,
|
|
1522
1558
|
root,
|
|
1523
1559
|
sourceScan,
|
|
@@ -1578,6 +1614,10 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1578
1614
|
appType,
|
|
1579
1615
|
cssMatcher: compilerOptions.cssMatcher
|
|
1580
1616
|
}));
|
|
1617
|
+
const directCssAssetResources = createWebpackDirectCssAssetResourceMap(compilation.chunks, compilation.chunkGraph, compilerOptions.cssMatcher, (resource, issuer) => resolveWebpackCssAssetModuleResource(resource, issuer, {
|
|
1618
|
+
appType,
|
|
1619
|
+
cssMatcher: compilerOptions.cssMatcher
|
|
1620
|
+
}));
|
|
1581
1621
|
const watchChangedFiles = new Set([...getWatchChangedFiles?.() ?? []].map((file) => node_path.default.resolve(file)));
|
|
1582
1622
|
const taskConcurrency = watchMode ? require_hmr_timing.resolveTaskConcurrency(1) : void 0;
|
|
1583
1623
|
const activeProcessCacheKeys = /* @__PURE__ */ new Set();
|
|
@@ -1598,6 +1638,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1598
1638
|
compilation,
|
|
1599
1639
|
cssAssetFiles: entries.map(([file]) => file),
|
|
1600
1640
|
cssAssetResources,
|
|
1641
|
+
directCssAssetResources,
|
|
1601
1642
|
cssHandlerOptionsCache,
|
|
1602
1643
|
cssSources,
|
|
1603
1644
|
cssUserHandlerOptionsCache,
|
|
@@ -1858,7 +1899,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1858
1899
|
hasTailwindGeneratedAssetCss = hasGeneratedCssMarker;
|
|
1859
1900
|
} else {
|
|
1860
1901
|
const source = readCurrentProcessedRawSource();
|
|
1861
|
-
hasGeneratedCssMarker =
|
|
1902
|
+
hasGeneratedCssMarker = require_hmr_timing.hasBundlerGeneratedCssMarker(source);
|
|
1862
1903
|
hasTailwindGeneratedAssetCss = require_generator.hasTailwindGeneratedCss(source) || require_generator.hasTailwindGeneratedCssMarkers(source);
|
|
1863
1904
|
}
|
|
1864
1905
|
const hasProcessedAssetTailwindDirectives = () => {
|
|
@@ -1898,8 +1939,16 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1898
1939
|
},
|
|
1899
1940
|
transform: async () => {
|
|
1900
1941
|
const source = readCurrentProcessedRawSource();
|
|
1901
|
-
const
|
|
1902
|
-
const
|
|
1942
|
+
const missingProcessedLoaderGeneratedCss = isWebGeneratorTarget && processedLoaderGeneratedCss ? (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(source, require_hmr_timing.stripBundlerGeneratedCssMarkers(processedLoaderGeneratedCss.css)) : "";
|
|
1943
|
+
const sourceWithLoaderGeneratedCss = missingProcessedLoaderGeneratedCss.trim().length === 0 ? source : createWebpackGeneratorUserCssSourceAppend({
|
|
1944
|
+
css: source,
|
|
1945
|
+
processed: true
|
|
1946
|
+
}, {
|
|
1947
|
+
css: missingProcessedLoaderGeneratedCss,
|
|
1948
|
+
processed: true
|
|
1949
|
+
}).css;
|
|
1950
|
+
const processedBareSelectorSourceCss = processedSourceCss ?? (hasTailwindGeneratedAssetCss ? removeWebpackTailwindGeneratedAssetCss(sourceWithLoaderGeneratedCss) : void 0);
|
|
1951
|
+
const handledCss = hasTailwindGeneratedAssetCss && (!hasGeneratedCssMarker || !isWebGeneratorTarget && hasDeferredWebpackGeneratedCss(source, [...generatedCssSources.values()].map((item) => item.classSet))) ? isWebGeneratorTarget ? sourceWithLoaderGeneratedCss : (await compilerOptions.styleHandler(sourceWithLoaderGeneratedCss, cssHandlerOptionsForProcessedAsset)).css : sourceWithLoaderGeneratedCss;
|
|
1903
1952
|
const nextCss = stripTrailingLineWhitespace(finalizeCssAssetSource(handledCss, {
|
|
1904
1953
|
cssPreflight: cssHandlerOptionsForProcessedAsset.isMainChunk,
|
|
1905
1954
|
generatedCss: hasGeneratedCssMarker || hasTailwindGeneratedAssetCss
|
|
@@ -1992,11 +2041,12 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1992
2041
|
const isConfiguredMainCssSource = sourceFile !== void 0 && configuredMainCssEntryFiles.some((entry) => node_path.default.resolve(entry) === node_path.default.resolve(sourceFile));
|
|
1993
2042
|
const sourceCssHasTailwindRoot = sourceCss !== void 0 && require_generator.hasTailwindRootDirectives(sourceCss, { importFallback: true });
|
|
1994
2043
|
const shouldPreserveExistingPreflight = cssHandlerOptions.isMainChunk || !isConfiguredMainCssSource && (isConfiguredCssSource || sourceCssHasTailwindRoot);
|
|
1995
|
-
const loaderGeneratedCss = sourceFile
|
|
2044
|
+
const loaderGeneratedCss = sourceFile ? generatedCssSources.get(node_path.default.resolve(sourceFile)) : void 0;
|
|
1996
2045
|
const shouldRegenerateExplicitTailwindV4CssSource = sourceCss !== void 0 && (require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || sourceCss.includes("@config"));
|
|
1997
2046
|
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;
|
|
1998
2047
|
if (loaderGeneratedCss && shouldConsumeWebpackLoaderGeneratedCss({
|
|
1999
|
-
|
|
2048
|
+
allowMarkerlessRegistryMatch: configuredCssEntryFiles.length === 1,
|
|
2049
|
+
hasBundlerGeneratedCssMarker: require_hmr_timing.hasBundlerGeneratedCssMarker(currentRawSource),
|
|
2000
2050
|
loaderGeneratedClassSet: loaderGeneratedCss.classSet,
|
|
2001
2051
|
sourceCandidates: explicitTailwindV4SourceCandidates,
|
|
2002
2052
|
shouldRegenerateExplicitTailwindV4CssSource,
|
|
@@ -2007,11 +2057,11 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
2007
2057
|
transformRuntimeSet.add(className);
|
|
2008
2058
|
}
|
|
2009
2059
|
for (const dependency of loaderGeneratedCss.dependencies) compilation.fileDependencies?.add?.(dependency);
|
|
2010
|
-
const currentRawSourceWithoutBundlerMarkers =
|
|
2060
|
+
const currentRawSourceWithoutBundlerMarkers = require_hmr_timing.stripBundlerGeneratedCssMarkers(currentRawSource);
|
|
2011
2061
|
const currentAssetHasProcessedUrl = hasProcessedCssAssetUrl(currentRawSourceWithoutBundlerMarkers) && currentRawSourceWithoutBundlerMarkers !== loaderGeneratedCss.css;
|
|
2012
2062
|
const currentAssetUserCss = currentAssetHasProcessedUrl ? currentRawSourceWithoutBundlerMarkers : shouldUseWebpackAssetAsGeneratorUserCss(currentRawSourceWithoutBundlerMarkers, loaderGeneratedCss.css, { processed: true }) ? require_hmr_timing.removeGeneratedSelectorCompatCss(currentRawSourceWithoutBundlerMarkers, loaderGeneratedCss.css) : void 0;
|
|
2013
|
-
const loaderGeneratedCssWithoutMarkers =
|
|
2014
|
-
const currentAssetUserCssWithoutMarkers = currentAssetUserCss === void 0 ? "" :
|
|
2063
|
+
const loaderGeneratedCssWithoutMarkers = require_hmr_timing.stripBundlerGeneratedCssMarkers(loaderGeneratedCss.css);
|
|
2064
|
+
const currentAssetUserCssWithoutMarkers = currentAssetUserCss === void 0 ? "" : require_hmr_timing.stripBundlerGeneratedCssMarkers(currentAssetUserCss);
|
|
2015
2065
|
const currentAssetMissingUserCss = !(currentAssetUserCssWithoutMarkers.trim().length > 0 && !require_generator.isCommentOnlyCss(currentAssetUserCssWithoutMarkers)) ? "" : (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(currentAssetUserCssWithoutMarkers, loaderGeneratedCssWithoutMarkers);
|
|
2016
2066
|
if (isConfiguredMainCssSource && !cssHandlerOptions.isMainChunk) {
|
|
2017
2067
|
debug("css skip duplicate webpack loader main generation: %s <- %s", file, sourceFile);
|
|
@@ -2028,7 +2078,8 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
2028
2078
|
css: currentAssetUserCss,
|
|
2029
2079
|
processed: true
|
|
2030
2080
|
}).css;
|
|
2031
|
-
const
|
|
2081
|
+
const handledLoaderCss = isWebGeneratorTarget ? mergedLoaderCss : (await compilerOptions.styleHandler(mergedLoaderCss, cssHandlerOptions)).css;
|
|
2082
|
+
const finalizedLoaderCss = finalizeCssAssetSource(handledLoaderCss, {
|
|
2032
2083
|
cssPreflight: cssHandlerOptions.isMainChunk,
|
|
2033
2084
|
generatedCss: true,
|
|
2034
2085
|
preserveExistingPreflight: shouldPreserveExistingPreflight
|
|
@@ -2046,7 +2097,8 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
2046
2097
|
processed: source.processed
|
|
2047
2098
|
};
|
|
2048
2099
|
}));
|
|
2049
|
-
const
|
|
2100
|
+
const handledLoaderSourceBareUserCss = loaderSourceBareUserCss === void 0 ? "" : loaderSourceBareUserCss.processed ? loaderSourceBareUserCss.css : (await compilerOptions.styleHandler(loaderSourceBareUserCss.css, cssHandlerOptions)).css;
|
|
2101
|
+
const finalizedLoaderSourceBareUserCss = handledLoaderSourceBareUserCss.trim().length === 0 ? "" : finalizeCssAssetSource(handledLoaderSourceBareUserCss, {
|
|
2050
2102
|
cssPreflight: false,
|
|
2051
2103
|
generatedCss: false
|
|
2052
2104
|
});
|
|
@@ -2067,7 +2119,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
2067
2119
|
file: registeredSourceFile
|
|
2068
2120
|
})), generatorRawSource, sourceFile, (registeredSourceFile) => isSameWebpackSourceScope(file, registeredSourceFile, sourceFile));
|
|
2069
2121
|
const currentAssetLooksGenerated = require_generator.hasTailwindGeneratedCss(currentRawSource) || require_generator.hasTailwindGeneratedCssMarkers(currentRawSource);
|
|
2070
|
-
const currentAssetHasBundlerGeneratedMarker =
|
|
2122
|
+
const currentAssetHasBundlerGeneratedMarker = require_hmr_timing.hasBundlerGeneratedCssMarker(currentRawSource);
|
|
2071
2123
|
const currentAssetUserCssSource = currentAssetLooksGenerated ? removeWebpackTailwindGeneratedAssetCss(currentRawSource) : currentRawSource;
|
|
2072
2124
|
if (sourceFile === void 0 && currentAssetHasBundlerGeneratedMarker && (currentAssetUserCssSource.trim().length === 0 || require_generator.isCommentOnlyCss(currentAssetUserCssSource))) return { result: new ConcatSource(finalizeTracedCss("", cssHandlerOptions)) };
|
|
2073
2125
|
const currentAssetHasAdditionalUserCss = currentAssetLooksGenerated && (hasAdditionalWebpackAssetUserCssMarkers(currentAssetUserCssSource, generatorRawSource) || currentAssetUserCssSource.trim().length > 0);
|
|
@@ -2088,7 +2140,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
2088
2140
|
}),
|
|
2089
2141
|
sourceCssProcessed
|
|
2090
2142
|
}), registeredUserRawSource);
|
|
2091
|
-
if ((0, _weapp_tailwindcss_postcss.isPureLocalCssImportWrapper)(currentRawSource)) return { result: new ConcatSource(require_generator.removeTailwindSourceDirectives(
|
|
2143
|
+
if ((0, _weapp_tailwindcss_postcss.isPureLocalCssImportWrapper)(currentRawSource)) return { result: new ConcatSource(require_generator.removeTailwindSourceDirectives(require_hmr_timing.stripBundlerGeneratedCssMarkers(currentRawSource), { importFallback: true })) };
|
|
2092
2144
|
const fallbackGeneratorRuntimeSet = getGeneratorRuntimeSet();
|
|
2093
2145
|
const hasExplicitTailwindV4SourceCss = sourceCss !== void 0 && (require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || sourceCss.includes("@config"));
|
|
2094
2146
|
const currentAssetHasTailwindDirectives = require_generator.hasTailwindRootDirectives(generatorRawSource, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(generatorRawSource, { importFallback: true }) || require_generator.hasTailwindApplyDirective(generatorRawSource);
|
|
@@ -2180,7 +2232,8 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
2180
2232
|
processed: source.processed
|
|
2181
2233
|
};
|
|
2182
2234
|
}));
|
|
2183
|
-
const
|
|
2235
|
+
const handledSourceBareUserCss = sourceBareUserCss === void 0 ? "" : sourceBareUserCss.processed ? sourceBareUserCss.css : (await compilerOptions.styleHandler(sourceBareUserCss.css, cssHandlerOptions)).css;
|
|
2236
|
+
const finalizedSourceBareUserCss = handledSourceBareUserCss.trim().length === 0 ? "" : finalizeCssAssetSource(handledSourceBareUserCss, {
|
|
2184
2237
|
cssPreflight: false,
|
|
2185
2238
|
generatedCss: false
|
|
2186
2239
|
});
|
|
@@ -2277,6 +2330,30 @@ function installTailwindcssCssRedirect(pkgDir) {
|
|
|
2277
2330
|
const localRequire = (0, node_module.createRequire)(require("url").pathToFileURL(__filename).href);
|
|
2278
2331
|
const MPX_STYLE_RESOURCE_QUERY_RE = /(?:^|[?&])type=styles(?:&|$)/;
|
|
2279
2332
|
const MPX_WEBPACK_PLUGIN_PACKAGE_RE = /@mpxjs[\\/]webpack-plugin[\\/]package\.json$/;
|
|
2333
|
+
const MPX_WEBPACK_PLUGIN_LIB_RE = /^(.*[\\/]@mpxjs[\\/]webpack-plugin)[\\/]lib[\\/]/;
|
|
2334
|
+
const MPX_WEBPACK_PLUGIN_REQUEST_RE = /@mpxjs\/webpack-plugin\/([^!?]+)/g;
|
|
2335
|
+
function findMpxWebpackPluginDirFromRules(rules) {
|
|
2336
|
+
const visit = (value) => {
|
|
2337
|
+
if (typeof value === "string") return value.match(MPX_WEBPACK_PLUGIN_LIB_RE)?.[1];
|
|
2338
|
+
if (Array.isArray(value)) {
|
|
2339
|
+
for (const item of value) {
|
|
2340
|
+
const result = visit(item);
|
|
2341
|
+
if (result) return result;
|
|
2342
|
+
}
|
|
2343
|
+
return;
|
|
2344
|
+
}
|
|
2345
|
+
if (value && typeof value === "object") for (const key of [
|
|
2346
|
+
"loader",
|
|
2347
|
+
"use",
|
|
2348
|
+
"rules",
|
|
2349
|
+
"oneOf"
|
|
2350
|
+
]) {
|
|
2351
|
+
const result = visit(value[key]);
|
|
2352
|
+
if (result) return result;
|
|
2353
|
+
}
|
|
2354
|
+
};
|
|
2355
|
+
return visit(rules);
|
|
2356
|
+
}
|
|
2280
2357
|
function isMpxStyleResourceQuery(query) {
|
|
2281
2358
|
if (typeof query !== "string") return false;
|
|
2282
2359
|
return MPX_STYLE_RESOURCE_QUERY_RE.test(query);
|
|
@@ -2285,6 +2362,12 @@ function getTailwindcssCssEntry(pkgDir) {
|
|
|
2285
2362
|
return node_path.default.join(pkgDir, "index.css");
|
|
2286
2363
|
}
|
|
2287
2364
|
function resolveMpxWebpackPluginDir(compiler) {
|
|
2365
|
+
const rulePluginDir = findMpxWebpackPluginDirFromRules([
|
|
2366
|
+
compiler?._module?.loaders,
|
|
2367
|
+
compiler?.loaders,
|
|
2368
|
+
compiler?.options?.module?.rules
|
|
2369
|
+
]);
|
|
2370
|
+
if (rulePluginDir) return rulePluginDir;
|
|
2288
2371
|
const candidates = [
|
|
2289
2372
|
compiler?.context,
|
|
2290
2373
|
compiler?.options?.context,
|
|
@@ -2302,6 +2385,45 @@ function resolveMpxWebpackPluginDir(compiler) {
|
|
|
2302
2385
|
return;
|
|
2303
2386
|
}
|
|
2304
2387
|
}
|
|
2388
|
+
function rewriteMpxWebpackPluginRequests(request, mpxWebpackPluginDir, pathImpl = node_path.default) {
|
|
2389
|
+
return request.replace(MPX_WEBPACK_PLUGIN_REQUEST_RE, (_full, subpath) => {
|
|
2390
|
+
return pathImpl.join(mpxWebpackPluginDir, ...subpath.split("/"));
|
|
2391
|
+
});
|
|
2392
|
+
}
|
|
2393
|
+
function patchMpxWebpackPluginRequests(compiler, mpxWebpackPluginDir) {
|
|
2394
|
+
if (!mpxWebpackPluginDir || !compiler) return false;
|
|
2395
|
+
const pluginName = "weapp-tailwindcss-mpx-loader-resolve";
|
|
2396
|
+
const patchedCompilers = /* @__PURE__ */ new WeakSet();
|
|
2397
|
+
const patchedLoaderResolvers = /* @__PURE__ */ new WeakSet();
|
|
2398
|
+
const patchedResolverFactories = /* @__PURE__ */ new WeakSet();
|
|
2399
|
+
const install = (targetCompiler) => {
|
|
2400
|
+
if (!targetCompiler || typeof targetCompiler !== "object" || patchedCompilers.has(targetCompiler)) return;
|
|
2401
|
+
patchedCompilers.add(targetCompiler);
|
|
2402
|
+
ensureResolveLoaderAlias(targetCompiler, mpxWebpackPluginDir);
|
|
2403
|
+
const resolverFactory = targetCompiler.resolverFactory;
|
|
2404
|
+
if (resolverFactory && typeof resolverFactory === "object" && !patchedResolverFactories.has(resolverFactory)) {
|
|
2405
|
+
patchedResolverFactories.add(resolverFactory);
|
|
2406
|
+
installMpxResolveLoaderAlias(targetCompiler, mpxWebpackPluginDir);
|
|
2407
|
+
}
|
|
2408
|
+
targetCompiler.hooks?.normalModuleFactory?.tap?.(pluginName, (normalModuleFactory) => {
|
|
2409
|
+
const loaderResolver = normalModuleFactory.getResolver?.("loader");
|
|
2410
|
+
if (loaderResolver && typeof loaderResolver === "object" && !patchedLoaderResolvers.has(loaderResolver)) {
|
|
2411
|
+
patchedLoaderResolvers.add(loaderResolver);
|
|
2412
|
+
patchMpxLoaderResolver(loaderResolver, mpxWebpackPluginDir);
|
|
2413
|
+
}
|
|
2414
|
+
normalModuleFactory.hooks.beforeResolve.tap(pluginName, (resolveData) => {
|
|
2415
|
+
if (typeof resolveData?.request === "string") resolveData.request = rewriteMpxWebpackPluginRequests(resolveData.request, mpxWebpackPluginDir);
|
|
2416
|
+
});
|
|
2417
|
+
});
|
|
2418
|
+
targetCompiler.hooks?.compilation?.tap?.(pluginName, (compilation) => {
|
|
2419
|
+
compilation.hooks?.childCompiler?.tap?.(pluginName, (childCompiler) => {
|
|
2420
|
+
install(childCompiler);
|
|
2421
|
+
});
|
|
2422
|
+
});
|
|
2423
|
+
};
|
|
2424
|
+
install(compiler);
|
|
2425
|
+
return true;
|
|
2426
|
+
}
|
|
2305
2427
|
function isMpxWebpackPluginRequest(request) {
|
|
2306
2428
|
return request === "@mpxjs/webpack-plugin" || Boolean(request?.startsWith("@mpxjs/webpack-plugin/"));
|
|
2307
2429
|
}
|
|
@@ -2340,27 +2462,39 @@ function ensureResolveLoaderAlias(compiler, mpxWebpackPluginDir) {
|
|
|
2340
2462
|
compiler.options.resolveLoader.alias = alias;
|
|
2341
2463
|
addMpxWebpackPluginAlias(alias, mpxWebpackPluginDir);
|
|
2342
2464
|
}
|
|
2343
|
-
function
|
|
2344
|
-
const
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
const
|
|
2351
|
-
|
|
2352
|
-
return
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2465
|
+
function installMpxResolveLoaderAlias(compiler, mpxWebpackPluginDir) {
|
|
2466
|
+
const resolveOptionsHook = compiler?.resolverFactory?.hooks?.resolveOptions?.for?.("loader");
|
|
2467
|
+
if (!resolveOptionsHook?.tap) return;
|
|
2468
|
+
resolveOptionsHook.tap({
|
|
2469
|
+
name: "weapp-tailwindcss-mpx-loader-resolve",
|
|
2470
|
+
stage: 100
|
|
2471
|
+
}, (resolveOptions) => {
|
|
2472
|
+
const alias = Array.isArray(resolveOptions.alias) ? [...resolveOptions.alias] : { ...resolveOptions.alias };
|
|
2473
|
+
addMpxWebpackPluginAlias(alias, mpxWebpackPluginDir);
|
|
2474
|
+
return {
|
|
2475
|
+
...resolveOptions,
|
|
2476
|
+
alias
|
|
2477
|
+
};
|
|
2478
|
+
});
|
|
2479
|
+
}
|
|
2480
|
+
function patchMpxLoaderResolver(resolver, mpxWebpackPluginDir) {
|
|
2481
|
+
const originalResolve = resolver?.resolve;
|
|
2482
|
+
if (typeof originalResolve !== "function" || originalResolve.__weappTwPatched) return;
|
|
2483
|
+
const wrappedResolve = function(...args) {
|
|
2484
|
+
const requestIndex = typeof args[0] === "string" ? 1 : 2;
|
|
2485
|
+
const request = args[requestIndex];
|
|
2486
|
+
if (typeof request === "string" && isMpxWebpackPluginRequest(request)) args[requestIndex] = resolveMpxWebpackPluginRequest(request, mpxWebpackPluginDir);
|
|
2487
|
+
return originalResolve.apply(this, args);
|
|
2488
|
+
};
|
|
2489
|
+
wrappedResolve.__weappTwPatched = true;
|
|
2490
|
+
wrappedResolve.__weappTwOriginal = originalResolve;
|
|
2491
|
+
resolver.resolve = wrappedResolve;
|
|
2357
2492
|
}
|
|
2358
|
-
function patchMpxWebpackPluginNormalizeLib(
|
|
2493
|
+
function patchMpxWebpackPluginNormalizeLib(_compiler, mpxWebpackPluginDir) {
|
|
2359
2494
|
if (!mpxWebpackPluginDir) return false;
|
|
2360
|
-
const projectRequire = resolveMpxWebpackPluginRequire(compiler);
|
|
2361
2495
|
let normalize;
|
|
2362
2496
|
try {
|
|
2363
|
-
normalize =
|
|
2497
|
+
normalize = (0, node_module.createRequire)(node_path.default.join(mpxWebpackPluginDir, "package.json"))(node_path.default.join(mpxWebpackPluginDir, "lib/utils/normalize"));
|
|
2364
2498
|
} catch {
|
|
2365
2499
|
return false;
|
|
2366
2500
|
}
|
|
@@ -2378,6 +2512,7 @@ function ensureMpxTailwindcssAliases(compiler, pkgDir) {
|
|
|
2378
2512
|
compiler.options.resolve = compiler.options.resolve || {};
|
|
2379
2513
|
const mpxWebpackPluginDir = resolveMpxWebpackPluginDir(compiler);
|
|
2380
2514
|
patchMpxWebpackPluginNormalizeLib(compiler, mpxWebpackPluginDir);
|
|
2515
|
+
patchMpxWebpackPluginRequests(compiler, mpxWebpackPluginDir);
|
|
2381
2516
|
if (mpxWebpackPluginDir) ensureResolveLoaderAlias(compiler, mpxWebpackPluginDir);
|
|
2382
2517
|
const alias = compiler.options.resolve.alias ?? {};
|
|
2383
2518
|
compiler.options.resolve.alias = alias;
|
|
@@ -2396,19 +2531,29 @@ function ensureMpxTailwindcssAliases(compiler, pkgDir) {
|
|
|
2396
2531
|
return tailwindcssCssEntry;
|
|
2397
2532
|
}
|
|
2398
2533
|
function patchMpxLoaderResolve(loaderContext, pkgDir, enabled) {
|
|
2399
|
-
if (!enabled
|
|
2400
|
-
const originalResolve = loaderContext.resolve;
|
|
2401
|
-
if (originalResolve.__weappTwPatched) return;
|
|
2534
|
+
if (!enabled) return;
|
|
2402
2535
|
const tailwindcssCssEntry = getTailwindcssCssEntry(pkgDir);
|
|
2403
2536
|
const mpxWebpackPluginDir = resolveMpxWebpackPluginDir(loaderContext);
|
|
2404
|
-
const
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2537
|
+
const originalResolve = loaderContext.resolve;
|
|
2538
|
+
if (typeof originalResolve === "function" && !originalResolve.__weappTwPatched) {
|
|
2539
|
+
const wrappedResolve = function(context, request, callback) {
|
|
2540
|
+
if (request === "tailwindcss" || request === "tailwindcss$") return callback(null, tailwindcssCssEntry);
|
|
2541
|
+
if (request?.startsWith("tailwindcss/")) return callback(null, node_path.default.join(pkgDir, request.slice(12)));
|
|
2542
|
+
if (mpxWebpackPluginDir && isMpxWebpackPluginRequest(request)) return callback(null, resolveMpxWebpackPluginRequest(request, mpxWebpackPluginDir));
|
|
2543
|
+
return originalResolve.call(this, context, request, callback);
|
|
2544
|
+
};
|
|
2545
|
+
wrappedResolve.__weappTwPatched = true;
|
|
2546
|
+
loaderContext.resolve = wrappedResolve;
|
|
2547
|
+
}
|
|
2548
|
+
const originalImportModule = loaderContext.importModule;
|
|
2549
|
+
if (mpxWebpackPluginDir && typeof originalImportModule === "function" && !originalImportModule.__weappTwPatched) {
|
|
2550
|
+
const wrappedImportModule = function(request, ...args) {
|
|
2551
|
+
const resolvedRequest = typeof request === "string" ? rewriteMpxWebpackPluginRequests(request, mpxWebpackPluginDir) : request;
|
|
2552
|
+
return originalImportModule.call(this, resolvedRequest, ...args);
|
|
2553
|
+
};
|
|
2554
|
+
wrappedImportModule.__weappTwPatched = true;
|
|
2555
|
+
loaderContext.importModule = wrappedImportModule;
|
|
2556
|
+
}
|
|
2412
2557
|
}
|
|
2413
2558
|
function setupMpxTailwindcssRedirect(pkgDir, enabled) {
|
|
2414
2559
|
if (enabled) installTailwindcssCssRedirect(pkgDir);
|
|
@@ -2493,11 +2638,14 @@ function setupWebpackV5Loaders(options) {
|
|
|
2493
2638
|
if (shouldRewriteCssImports && mpxCssImportRewrite) ensureMpxTailwindcssAliases(compiler, weappTailwindcssPackageDir);
|
|
2494
2639
|
const runtimeClassSetLoader = runtimeLoaderPath ?? node_path.default.resolve(__dirname, "./weapp-tw-runtime-classset-loader.js");
|
|
2495
2640
|
const shouldInjectRuntimeClassSetLoader = !generatorBranch.isWeb;
|
|
2496
|
-
const
|
|
2641
|
+
const shouldInjectCssGenerationLoader = generatorOptions.enabled && runtimeState.tailwindRuntime.majorVersion === 4 && (generatorTarget === "web" || generatorTarget === "weapp");
|
|
2642
|
+
const shouldInjectCssImportRewriteLoader = shouldRewriteCssImports || shouldInjectCssGenerationLoader;
|
|
2643
|
+
const runtimeCssGenerationLoader = shouldInjectCssGenerationLoader ? node_path.default.resolve(__dirname, "./weapp-tw-css-generation-loader.js") : void 0;
|
|
2497
2644
|
const runtimeCssImportRewriteLoader = shouldInjectCssImportRewriteLoader ? node_path.default.resolve(__dirname, "./weapp-tw-css-import-rewrite-loader.js") : void 0;
|
|
2498
2645
|
const runtimeClassSetLoaderExists = node_fs.default.existsSync(runtimeClassSetLoader);
|
|
2646
|
+
const runtimeCssGenerationLoaderExists = runtimeCssGenerationLoader ? node_fs.default.existsSync(runtimeCssGenerationLoader) : false;
|
|
2499
2647
|
const runtimeCssImportRewriteLoaderExists = runtimeCssImportRewriteLoader ? node_fs.default.existsSync(runtimeCssImportRewriteLoader) : false;
|
|
2500
|
-
const runtimeLoaderRewriteOptions = shouldInjectCssImportRewriteLoader ? {
|
|
2648
|
+
const runtimeLoaderRewriteOptions = shouldInjectCssImportRewriteLoader || shouldInjectCssGenerationLoader ? {
|
|
2501
2649
|
pkgDir: weappTailwindcssPackageDir,
|
|
2502
2650
|
compilerOptions,
|
|
2503
2651
|
runtimeState,
|
|
@@ -2522,7 +2670,11 @@ function setupWebpackV5Loaders(options) {
|
|
|
2522
2670
|
compiler.hooks.watchClose?.tap?.(require_context.pluginName, cleanupWebpackLoaderRuntime);
|
|
2523
2671
|
compiler.hooks.shutdown?.tap?.(require_context.pluginName, cleanupWebpackLoaderRuntime);
|
|
2524
2672
|
const { findRewriteAnchor, findClassSetAnchor } = loaderAnchorFinders;
|
|
2525
|
-
const cssImportRewriteLoaderOptions = runtimeLoaderRewriteOptions ? {
|
|
2673
|
+
const cssImportRewriteLoaderOptions = runtimeLoaderRewriteOptions && shouldInjectCssImportRewriteLoader ? {
|
|
2674
|
+
generateCss: false,
|
|
2675
|
+
tailwindcssImportRewriteRuntimeKey: runtimeRegistryKey
|
|
2676
|
+
} : void 0;
|
|
2677
|
+
const cssGenerationLoaderOptions = runtimeLoaderRewriteOptions && shouldInjectCssGenerationLoader ? { tailwindcssImportRewriteRuntimeKey: runtimeRegistryKey } : void 0;
|
|
2526
2678
|
if (runtimeCssImportRewriteLoader && shouldRewriteCssImports && cssImportRewriteLoaderOptions && mpxCssImportRewrite) injectMpxCssRewritePreRules(compiler, runtimeCssImportRewriteLoader, cssImportRewriteLoaderOptions);
|
|
2527
2679
|
const createRuntimeClassSetLoaderEntry = () => ({
|
|
2528
2680
|
loader: runtimeClassSetLoader,
|
|
@@ -2539,10 +2691,22 @@ function setupWebpackV5Loaders(options) {
|
|
|
2539
2691
|
type: null
|
|
2540
2692
|
};
|
|
2541
2693
|
};
|
|
2694
|
+
const createCssGenerationLoaderEntry = () => {
|
|
2695
|
+
if (!runtimeCssGenerationLoader || !cssGenerationLoaderOptions) return null;
|
|
2696
|
+
return {
|
|
2697
|
+
loader: runtimeCssGenerationLoader,
|
|
2698
|
+
options: cssGenerationLoaderOptions,
|
|
2699
|
+
ident: null,
|
|
2700
|
+
type: null
|
|
2701
|
+
};
|
|
2702
|
+
};
|
|
2542
2703
|
const { NormalModule } = compiler.webpack;
|
|
2543
2704
|
compiler.hooks.compilation.tap(require_context.pluginName, (compilation) => {
|
|
2544
|
-
NormalModule.getCompilationHooks(compilation).loader.tap(
|
|
2545
|
-
|
|
2705
|
+
NormalModule.getCompilationHooks(compilation).loader.tap({
|
|
2706
|
+
name: require_context.pluginName,
|
|
2707
|
+
stage: 100
|
|
2708
|
+
}, (_loaderContext, module) => {
|
|
2709
|
+
if (!(runtimeClassSetLoaderExists || runtimeCssGenerationLoaderExists || runtimeCssImportRewriteLoaderExists)) return;
|
|
2546
2710
|
patchMpxLoaderResolve(_loaderContext, weappTailwindcssPackageDir, shouldRewriteCssImports && mpxCssImportRewrite);
|
|
2547
2711
|
const loaderEntries = module.loaders || [];
|
|
2548
2712
|
let rewriteAnchorIdx = findRewriteAnchor(loaderEntries);
|
|
@@ -2562,6 +2726,12 @@ function setupWebpackV5Loaders(options) {
|
|
|
2562
2726
|
if (position === "after") loaderEntries.push(entry);
|
|
2563
2727
|
else loaderEntries.unshift(entry);
|
|
2564
2728
|
};
|
|
2729
|
+
if (cssGenerationLoaderOptions && runtimeCssGenerationLoaderExists && runtimeCssGenerationLoader && isCssModule && !hasLoaderEntry(loaderEntries, runtimeCssGenerationLoader)) {
|
|
2730
|
+
const generationLoaderEntry = createCssGenerationLoaderEntry();
|
|
2731
|
+
const anchorIndex = findRewriteAnchor(loaderEntries);
|
|
2732
|
+
if (generationLoaderEntry) if (anchorIndex === -1) anchorlessInsert(generationLoaderEntry, "after");
|
|
2733
|
+
else loaderEntries.splice(anchorIndex + 1, 0, generationLoaderEntry);
|
|
2734
|
+
}
|
|
2565
2735
|
if (cssImportRewriteLoaderOptions && runtimeCssImportRewriteLoaderExists && runtimeCssImportRewriteLoader && isCssModule) {
|
|
2566
2736
|
const existingIndex = loaderEntries.findIndex((entry) => entry.loader?.includes?.(runtimeCssImportRewriteLoader));
|
|
2567
2737
|
const rewriteLoaderEntry = existingIndex !== -1 ? {
|
package/dist/webpack.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_webpack = require("./webpack-
|
|
2
|
+
const require_webpack = require("./webpack-nppysF4B.js");
|
|
3
3
|
exports.WeappTailwindcss = require_webpack.WeappTailwindcss;
|
|
4
4
|
exports.weappTailwindcss = require_webpack.WeappTailwindcss;
|
|
5
5
|
exports.weappTailwindcssPackageDir = require_webpack.weappTailwindcssPackageDir;
|
package/dist/webpack.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as weappTailwindcssPackageDir, t as WeappTailwindcss } from "./webpack-
|
|
1
|
+
import { n as weappTailwindcssPackageDir, t as WeappTailwindcss } from "./webpack-C_UUFRgj.mjs";
|
|
2
2
|
export { WeappTailwindcss, WeappTailwindcss as weappTailwindcss, weappTailwindcssPackageDir };
|