weapp-tailwindcss 5.1.2 → 5.1.3
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/README.md +1 -1
- package/dist/bundlers/gulp/index.d.ts +3 -3
- package/dist/bundlers/rspack/index.d.ts +20 -0
- package/dist/bundlers/shared/generator-css/source-resolver.d.ts +1 -1
- package/dist/bundlers/vite/css-memory.d.ts +1 -0
- package/dist/bundlers/vite/generate-bundle/source-candidate-scope.d.ts +1 -1
- package/dist/bundlers/vite/generate-bundle/temporary-css-assets.d.ts +12 -0
- package/dist/bundlers/vite/generate-bundle/types.d.ts +1 -0
- package/dist/bundlers/vite/serve-js-transform.d.ts +11 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers.d.ts +4 -1
- package/dist/cli.js +8 -8
- package/dist/cli.mjs +8 -8
- package/dist/{context-C-r8ki7x.mjs → context-B07Vf584.mjs} +34 -34
- package/dist/{context-CH4HFZP2.js → context-D75pwtBW.js} +43 -43
- package/dist/core.js +1 -1
- package/dist/core.mjs +1 -1
- package/dist/css-macro/postcss.js +2 -2
- package/dist/css-macro.js +3 -3
- package/dist/{defaults-CmFBmxsr.js → defaults-DQhgnnn-.js} +1 -1
- package/dist/defaults.js +1 -1
- package/dist/framework/index.d.ts +7 -2
- package/dist/framework.js +39 -8
- package/dist/framework.mjs +33 -6
- package/dist/{generator-B6pUjNdD.js → generator-CV_0irKO.js} +2 -2
- package/dist/{generator-BsPIaLtV.mjs → generator-DNs6ekoC.mjs} +1 -1
- package/dist/generator.js +2 -2
- package/dist/generator.mjs +2 -2
- package/dist/{gulp-BBCeA7ky.js → gulp-B_u8NjQL.js} +9 -9
- package/dist/{gulp-CTdcASq8.mjs → gulp-aQMZ0M7c.mjs} +4 -4
- package/dist/gulp.js +1 -1
- package/dist/gulp.mjs +1 -1
- package/dist/{hmr-timing-BRx-KnBh.mjs → hmr-timing-DLYQTCDb.mjs} +25 -22
- package/dist/{hmr-timing-Da1eI8S0.js → hmr-timing-DOoHun3i.js} +28 -25
- package/dist/index.js +9 -4
- package/dist/index.mjs +7 -6
- package/dist/postcss-html-transform.js +2 -2
- package/dist/postcss.js +2 -2
- package/dist/postcss.mjs +2 -2
- package/dist/presets/shared.d.ts +4 -0
- package/dist/presets.js +32 -16
- package/dist/presets.mjs +28 -14
- package/dist/reset.js +2 -2
- package/dist/rspack.d.ts +3 -0
- package/dist/rspack.js +68 -0
- package/dist/rspack.mjs +62 -0
- package/dist/{source-candidate-scan-signature-BO6JSskQ.js → source-candidate-scan-signature-DzwebZrf.js} +6 -6
- package/dist/{source-candidate-scan-signature-Dugfplms.mjs → source-candidate-scan-signature-pS87mdHZ.mjs} +3 -3
- package/dist/{tailwindcss-dbrbY4cd.js → tailwindcss-BSCvrs1p.js} +8 -8
- package/dist/{tailwindcss-B5mRo0-M.mjs → tailwindcss-BwV3_Ryc.mjs} +3 -3
- package/dist/{transform-DeqFRp1D.mjs → transform-Clj7R818.mjs} +19 -19
- package/dist/{transform-BLleu_bA.js → transform-fin-OTVD.js} +47 -47
- package/dist/{utils-BCa37Wqj.js → utils-D3h8j7Mk.js} +2 -2
- package/dist/{v4-engine-C3qSwQ-e.mjs → v4-engine-BklH3CpJ.mjs} +5 -5
- package/dist/{v4-engine-ON_oSLfO.js → v4-engine-CKbS27-o.js} +10 -10
- package/dist/{vite-CXmUiI9f.mjs → vite-5Wn0PIzJ.mjs} +237 -42
- package/dist/{vite-Da4uEG_u.js → vite-CkVMSDDp.js} +242 -47
- package/dist/vite.js +1 -1
- package/dist/vite.mjs +1 -1
- package/dist/weapp-tw-css-import-rewrite-loader.js +55 -26
- package/dist/weapp-tw-runtime-classset-loader.js +2 -2
- package/dist/{webpack-CrFZmdo7.mjs → webpack-DEag6ueE.mjs} +66 -18
- package/dist/{webpack-Cwqnznng.js → webpack-hvSFaicc.js} +71 -23
- package/dist/webpack.js +1 -1
- package/dist/webpack.mjs +1 -1
- package/package.json +8 -3
- /package/dist/{chunk-emK7D4bc.js → rolldown-runtime-emK7D4bc.js} +0 -0
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.js");
|
|
2
2
|
const require_framework = require("./framework.js");
|
|
3
|
-
const require_v4_engine = require("./v4-engine-
|
|
4
|
-
const require_generator = require("./generator-
|
|
5
|
-
const require_utils = require("./utils-
|
|
6
|
-
const require_context = require("./context-
|
|
7
|
-
const require_tailwindcss = require("./tailwindcss-
|
|
8
|
-
const require_hmr_timing = require("./hmr-timing-
|
|
9
|
-
const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-
|
|
3
|
+
const require_v4_engine = require("./v4-engine-CKbS27-o.js");
|
|
4
|
+
const require_generator = require("./generator-CV_0irKO.js");
|
|
5
|
+
const require_utils = require("./utils-D3h8j7Mk.js");
|
|
6
|
+
const require_context = require("./context-D75pwtBW.js");
|
|
7
|
+
const require_tailwindcss = require("./tailwindcss-BSCvrs1p.js");
|
|
8
|
+
const require_hmr_timing = require("./hmr-timing-DOoHun3i.js");
|
|
9
|
+
const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-DzwebZrf.js");
|
|
10
10
|
require("./logger-TlKT3xmR.js");
|
|
11
11
|
let node_fs = require("node:fs");
|
|
12
|
-
node_fs =
|
|
12
|
+
node_fs = require_rolldown_runtime.__toESM(node_fs);
|
|
13
13
|
let node_path = require("node:path");
|
|
14
|
-
node_path =
|
|
14
|
+
node_path = require_rolldown_runtime.__toESM(node_path);
|
|
15
15
|
let node_process = require("node:process");
|
|
16
|
-
node_process =
|
|
16
|
+
node_process = require_rolldown_runtime.__toESM(node_process);
|
|
17
17
|
let _tailwindcss_mangle_engine = require("@tailwindcss-mangle/engine");
|
|
18
18
|
let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
|
|
19
19
|
let lru_cache = require("lru-cache");
|
|
20
20
|
let node_fs_promises = require("node:fs/promises");
|
|
21
21
|
let micromatch = require("micromatch");
|
|
22
|
-
micromatch =
|
|
22
|
+
micromatch = require_rolldown_runtime.__toESM(micromatch);
|
|
23
23
|
let node_buffer = require("node:buffer");
|
|
24
24
|
let _weapp_tailwindcss_logger = require("@weapp-tailwindcss/logger");
|
|
25
25
|
let comment_json = require("comment-json");
|
|
@@ -256,7 +256,7 @@ const UVUE_TS_RE = /\.uvue\.ts$/;
|
|
|
256
256
|
const JS_RE = /\.js$/;
|
|
257
257
|
const APP_JS_RE = /(?:^|\/)App\.js$/;
|
|
258
258
|
const COMPONENT_JS_RE = /(?:^|\/)components\/.+\.js$/;
|
|
259
|
-
const HARMONY_BUNDLE_MARKER_FILES = new Set([
|
|
259
|
+
const HARMONY_BUNDLE_MARKER_FILES = /* @__PURE__ */ new Set([
|
|
260
260
|
"import/app-service.ets",
|
|
261
261
|
"import/dynamic.ets",
|
|
262
262
|
"uni_modules/oh-package.json5"
|
|
@@ -515,10 +515,10 @@ function resolveUniAppXStyleIsolationEnabled(root) {
|
|
|
515
515
|
//#region src/uni-app-x/vite.ts
|
|
516
516
|
let transformUVuePromise;
|
|
517
517
|
function loadTransformUVue() {
|
|
518
|
-
transformUVuePromise ?? (transformUVuePromise = Promise.resolve().then(() => require("./transform-
|
|
518
|
+
transformUVuePromise ?? (transformUVuePromise = Promise.resolve().then(() => require("./transform-fin-OTVD.js")).then((mod) => mod.transformUVue));
|
|
519
519
|
return transformUVuePromise;
|
|
520
520
|
}
|
|
521
|
-
const preprocessorLangs = new Set([
|
|
521
|
+
const preprocessorLangs = /* @__PURE__ */ new Set([
|
|
522
522
|
"scss",
|
|
523
523
|
"sass",
|
|
524
524
|
"less",
|
|
@@ -689,7 +689,7 @@ function createUniAppXPlugins(options) {
|
|
|
689
689
|
if (isHarmonyTarget) {
|
|
690
690
|
const cssSources = [];
|
|
691
691
|
const applyStyleSources = [...harmonyApplyStyleSources, ...collectUniAppXHarmonyApplyStyleSources(bundle)];
|
|
692
|
-
const applyUtilities = new Set([...harmonyApplyUtilities, ...collectUniAppXHarmonyApplyUtilities(bundle)]);
|
|
692
|
+
const applyUtilities = /* @__PURE__ */ new Set([...harmonyApplyUtilities, ...collectUniAppXHarmonyApplyUtilities(bundle)]);
|
|
693
693
|
if (applyStyleSources.length > 0 && applyUtilities.size > 0) {
|
|
694
694
|
const harmonyApplyCssFile = node_path.default.resolve(getResolvedConfig()?.root ?? node_process.default.cwd(), "uni-app-x-harmony-apply.css");
|
|
695
695
|
const generatedCss = await generateCss?.(harmonyApplyCssFile, createUniAppXHarmonyApplyGeneratorSource(applyStyleSources, applyUtilities), this);
|
|
@@ -755,9 +755,31 @@ function collectConfiguredTailwindV4CssSources(opts) {
|
|
|
755
755
|
const runtimeCssSources = opts.tailwindcssRuntimeOptions?.tailwindcss?.v4?.cssSources ?? [];
|
|
756
756
|
return require_v4_engine.filterTailwindV4CssSourceRoots([...opts.tailwindcss?.v4?.cssSources ?? [], ...runtimeCssSources]) ?? [];
|
|
757
757
|
}
|
|
758
|
+
function collectExplicitTailwindV4CssEntries(opts) {
|
|
759
|
+
const entries = [
|
|
760
|
+
...opts.cssEntries ?? [],
|
|
761
|
+
...opts.tailwindcss?.v4?.cssEntries ?? [],
|
|
762
|
+
...opts.tailwindcssRuntimeOptions?.tailwindcss?.v4?.cssEntries ?? []
|
|
763
|
+
];
|
|
764
|
+
return [...new Set(entries.filter((entry) => typeof entry === "string" && entry.length > 0))];
|
|
765
|
+
}
|
|
758
766
|
function collectConfiguredTailwindV4CssSourceEntries(opts, fallbackBase) {
|
|
759
767
|
const entries = [];
|
|
760
768
|
const seen = /* @__PURE__ */ new Set();
|
|
769
|
+
const explicitCssEntries = collectExplicitTailwindV4CssEntries(opts);
|
|
770
|
+
for (const cssEntry of explicitCssEntries.length > 1 ? explicitCssEntries : []) {
|
|
771
|
+
if (typeof cssEntry !== "string" || cssEntry.length === 0) continue;
|
|
772
|
+
const resolvedFile = node_path.default.isAbsolute(cssEntry) ? node_path.default.resolve(cssEntry) : node_path.default.resolve(fallbackBase, cssEntry);
|
|
773
|
+
if (!(0, node_fs.existsSync)(resolvedFile)) continue;
|
|
774
|
+
const source = (0, node_fs.readFileSync)(resolvedFile, "utf8");
|
|
775
|
+
const key = `${resolvedFile}\0${source}`;
|
|
776
|
+
if (seen.has(key)) continue;
|
|
777
|
+
seen.add(key);
|
|
778
|
+
entries.push({
|
|
779
|
+
file: resolvedFile,
|
|
780
|
+
source
|
|
781
|
+
});
|
|
782
|
+
}
|
|
761
783
|
for (const cssSource of collectConfiguredTailwindV4CssSources(opts)) {
|
|
762
784
|
if (typeof cssSource.css !== "string" || cssSource.css.length === 0) continue;
|
|
763
785
|
const base = require_v4_engine.resolveTailwindV4CssSourceBase(cssSource, fallbackBase);
|
|
@@ -1942,7 +1964,7 @@ function collectMiniProgramSubpackageSourceEntries(snapshot, subpackageRoots, so
|
|
|
1942
1964
|
const sourceEntries = [];
|
|
1943
1965
|
for (const entry of snapshot.entries) {
|
|
1944
1966
|
if (entry.output.type !== "chunk" || !isSubpackageOutputFile(entry.file, subpackageRoots)) continue;
|
|
1945
|
-
const matchedSubpackageRoot = [...subpackageRoots].find((root) => isSubpackageOutputFile(entry.file, new Set([root])));
|
|
1967
|
+
const matchedSubpackageRoot = [...subpackageRoots].find((root) => isSubpackageOutputFile(entry.file, /* @__PURE__ */ new Set([root])));
|
|
1946
1968
|
if (!matchedSubpackageRoot) continue;
|
|
1947
1969
|
for (const moduleId of collectChunkModuleIds$2(entry.output)) {
|
|
1948
1970
|
if (!node_path.default.isAbsolute(moduleId.replace(/[?#].*$/, ""))) continue;
|
|
@@ -2113,6 +2135,14 @@ function shouldInjectViteProcessedCssResult(opts, targetFile, sourceFile, option
|
|
|
2113
2135
|
const targetFileKey = require_source_candidate_scan_signature.normalizeOutputPathKey(targetFile);
|
|
2114
2136
|
return require_source_candidate_scan_signature.normalizeOutputPathKey(sourceFile) !== targetFileKey && (opts.mainCssChunkMatcher(sourceFile, opts.appType) || typeof options.outputFile === "string" && require_source_candidate_scan_signature.normalizeOutputPathKey(options.outputFile) !== targetFileKey && opts.mainCssChunkMatcher(options.outputFile, opts.appType));
|
|
2115
2137
|
}
|
|
2138
|
+
function shouldReplayViteProcessedCssIntoMainCss(opts, file, sourceFile, outputFile, subpackageRoots) {
|
|
2139
|
+
if (subpackageRoots) {
|
|
2140
|
+
const sourceIsSubpackage = isSubpackageOutputFile(sourceFile ?? file, subpackageRoots);
|
|
2141
|
+
const outputIsSubpackage = isSubpackageOutputFile(outputFile, subpackageRoots);
|
|
2142
|
+
if (sourceIsSubpackage || outputIsSubpackage) return false;
|
|
2143
|
+
}
|
|
2144
|
+
return isRootStyleOutputFile(file) && opts.mainCssChunkMatcher(file, opts.appType) || isSourceRootPrefixedOutputFile(file, outputFile) && isRootStyleOutputFile(outputFile) && opts.mainCssChunkMatcher(outputFile, opts.appType);
|
|
2145
|
+
}
|
|
2116
2146
|
function isRootStyleOutputFile(file) {
|
|
2117
2147
|
const normalized = require_source_candidate_scan_signature.normalizeOutputPathKey(file.replace(/[?#].*$/, ""));
|
|
2118
2148
|
return isCssOutputFile(normalized) && !normalized.includes("/");
|
|
@@ -2225,7 +2255,7 @@ function collectViteProcessedCssAssetResults(bundle, options) {
|
|
|
2225
2255
|
options.markCssAssetProcessed?.(output, file);
|
|
2226
2256
|
options.recordCssAssetResult?.(file, nextCss);
|
|
2227
2257
|
const resolvedOutputFile = options.resolveViteProcessedCssOutputFile?.(file) ?? file;
|
|
2228
|
-
const shouldReplayIntoMainCss = options.opts != null && (
|
|
2258
|
+
const shouldReplayIntoMainCss = options.opts != null && shouldReplayViteProcessedCssIntoMainCss(options.opts, file, singleMarkerFile, resolvedOutputFile, options.subpackageRoots);
|
|
2229
2259
|
options.recordViteProcessedCssAssetResult?.(file, nextCss, {
|
|
2230
2260
|
injectIntoMain: shouldReplayIntoMainCss || void 0,
|
|
2231
2261
|
outputFile: resolvedOutputFile
|
|
@@ -2550,7 +2580,7 @@ async function handleUniAppXPostCssTasks(options) {
|
|
|
2550
2580
|
const generated = await require_source_candidate_scan_signature.generateTailwindV4Css({
|
|
2551
2581
|
opts,
|
|
2552
2582
|
runtimeState,
|
|
2553
|
-
runtime: new Set([...generatorRuntime, ...applyUtilities]),
|
|
2583
|
+
runtime: /* @__PURE__ */ new Set([...generatorRuntime, ...applyUtilities]),
|
|
2554
2584
|
rawSource: createUniAppXHarmonyApplyGeneratorSource(applyStyleSources, applyUtilities),
|
|
2555
2585
|
file: outputFile,
|
|
2556
2586
|
outputFile,
|
|
@@ -2799,7 +2829,7 @@ async function finalizeGenerateBundle(options) {
|
|
|
2799
2829
|
pruneLastCssResults(lastCssResultByFile, lastCssSourceHashByFile, activeViteCssCacheFiles);
|
|
2800
2830
|
pruneViteCssCaches?.({
|
|
2801
2831
|
activeFiles: activeViteCssCacheFiles,
|
|
2802
|
-
activeKnownSfcFiles: new Set([...snapshot.sourceHashByFile.keys(), ...snapshot.entries.map((entry) => entry.file)])
|
|
2832
|
+
activeKnownSfcFiles: /* @__PURE__ */ new Set([...snapshot.sourceHashByFile.keys(), ...snapshot.entries.map((entry) => entry.file)])
|
|
2803
2833
|
});
|
|
2804
2834
|
}
|
|
2805
2835
|
recordTimingDetail("state.update", stateUpdateStart);
|
|
@@ -2900,7 +2930,7 @@ function processHtmlBundleEntry(options) {
|
|
|
2900
2930
|
const { cache, context, debug, dynamicRetryCandidates, file, metrics, onUpdate, originalEntrySource, originalSource, rememberProcessCacheKey, resolveCurrentSourceCandidateSource, tasks, templateHandler, timeTask, transformRuntime, transformRuntimeSignature } = options;
|
|
2901
2931
|
const rawSource = resolveCurrentSourceCandidateSource(file) ?? originalEntrySource;
|
|
2902
2932
|
const currentRawDynamicCandidates = collectUnescapedDynamicCandidates(rawSource);
|
|
2903
|
-
const templateRuntime = currentRawDynamicCandidates.length > 0 ? new Set([...transformRuntime, ...currentRawDynamicCandidates]) : transformRuntime;
|
|
2933
|
+
const templateRuntime = currentRawDynamicCandidates.length > 0 ? /* @__PURE__ */ new Set([...transformRuntime, ...currentRawDynamicCandidates]) : transformRuntime;
|
|
2904
2934
|
const templateRuntimeSignature = templateRuntime === transformRuntime ? transformRuntimeSignature : require_source_candidate_scan_signature.createCandidateSignature(templateRuntime);
|
|
2905
2935
|
const htmlProcessHash = `${cache.computeHash(rawSource)}:${cache.computeHash(require_source_candidate_scan_signature.createRuntimeAffectingSourceSignature(rawSource, "html"))}:${templateRuntimeSignature}`;
|
|
2906
2936
|
const cacheKey = `${file}:html:${htmlProcessHash}`;
|
|
@@ -2926,7 +2956,7 @@ function processHtmlBundleEntry(options) {
|
|
|
2926
2956
|
if (unresolvedDynamicCandidates.length > 0) {
|
|
2927
2957
|
const fullRuntimeSet = await context.ensureRuntimeClassSet(true);
|
|
2928
2958
|
const allowedRetryCandidates = fullRuntimeSet.size === 0 ? unresolvedDynamicCandidates : unresolvedDynamicCandidates.filter((candidate) => dynamicRetryCandidates.has(candidate) || fullRuntimeSet.has(candidate));
|
|
2929
|
-
retryRuntimeSet = new Set([...fullRuntimeSet, ...allowedRetryCandidates]);
|
|
2959
|
+
retryRuntimeSet = /* @__PURE__ */ new Set([...fullRuntimeSet, ...allowedRetryCandidates]);
|
|
2930
2960
|
unresolvedDynamicCandidates = unresolvedDynamicCandidates.filter((candidate) => retryRuntimeSet?.has(candidate) === true);
|
|
2931
2961
|
}
|
|
2932
2962
|
if (retryRuntimeSet && unresolvedDynamicCandidates.length > 0) {
|
|
@@ -3141,6 +3171,15 @@ function createRememberedCssRuntimeSignature(cssRuntimeSignature, cssRuntimeAffe
|
|
|
3141
3171
|
function normalizeRememberedSourceIdentity(file) {
|
|
3142
3172
|
return require_source_candidate_scan_signature.normalizeOutputPathKey(file.replace(/[?#].*$/, ""));
|
|
3143
3173
|
}
|
|
3174
|
+
function selectBestRememberedCssSourceMatches(sources, outputFile, outputRoot, sourceRoot) {
|
|
3175
|
+
if (sources.length <= 1) return sources;
|
|
3176
|
+
const scoredMatches = sources.map((remembered) => ({
|
|
3177
|
+
remembered,
|
|
3178
|
+
score: Math.max(scoreMatchingStyleFileBase(outputFile, remembered.sourceFile, outputRoot, sourceRoot), scoreMatchingStyleFileBase(outputFile, remembered.outputFile, outputRoot, sourceRoot))
|
|
3179
|
+
})).filter((match) => match.score > 0).sort((a, b) => b.score - a.score);
|
|
3180
|
+
const bestScore = scoredMatches[0]?.score;
|
|
3181
|
+
return bestScore ? scoredMatches.filter((match) => match.score === bestScore).map((match) => match.remembered) : sources;
|
|
3182
|
+
}
|
|
3144
3183
|
function findRememberedCssSources(sources, outputFile, file, originalSource, outputRoot, sourceRoot) {
|
|
3145
3184
|
if (!sources) return [];
|
|
3146
3185
|
const rememberedSources = [...sources].map(([, remembered]) => remembered);
|
|
@@ -3148,7 +3187,7 @@ function findRememberedCssSources(sources, outputFile, file, originalSource, out
|
|
|
3148
3187
|
const markerFiles = new Set(require_source_candidate_scan_signature.parseBundlerGeneratedCssMarkerBlocks(source).filter((block) => block.bundler === "vite" && typeof block.file === "string" && block.file.length > 0).map((block) => require_source_candidate_scan_signature.normalizeOutputPathKey(block.file)));
|
|
3149
3188
|
if (markerFiles.size > 0) {
|
|
3150
3189
|
const markerMatched = rememberedSources.filter((remembered) => markerFiles.has(normalizeRememberedSourceIdentity(remembered.sourceFile)));
|
|
3151
|
-
if (markerMatched.length > 0) return markerMatched;
|
|
3190
|
+
if (markerMatched.length > 0) return selectBestRememberedCssSourceMatches(markerMatched, outputFile, outputRoot, sourceRoot);
|
|
3152
3191
|
}
|
|
3153
3192
|
const originalFiles = [
|
|
3154
3193
|
file,
|
|
@@ -3160,12 +3199,8 @@ function findRememberedCssSources(sources, outputFile, file, originalSource, out
|
|
|
3160
3199
|
const outputMatched = rememberedSources.filter((remembered) => require_source_candidate_scan_signature.normalizeOutputPathKey(remembered.outputFile) === require_source_candidate_scan_signature.normalizeOutputPathKey(outputFile));
|
|
3161
3200
|
if (outputMatched.length > 0) return outputMatched;
|
|
3162
3201
|
if (!require_source_candidate_scan_signature.hasBundlerGeneratedCssMarker(source) && !hasTailwindGenerationSource(source)) return [];
|
|
3163
|
-
const scoredMatches = rememberedSources
|
|
3164
|
-
|
|
3165
|
-
score: Math.max(scoreMatchingStyleFileBase(outputFile, remembered.sourceFile, outputRoot, sourceRoot), scoreMatchingStyleFileBase(outputFile, remembered.outputFile, outputRoot, sourceRoot))
|
|
3166
|
-
})).filter((match) => match.score > 0).sort((a, b) => b.score - a.score);
|
|
3167
|
-
const bestScore = scoredMatches[0]?.score;
|
|
3168
|
-
return bestScore ? scoredMatches.filter((match) => match.score === bestScore).map((match) => match.remembered) : [];
|
|
3202
|
+
const scoredMatches = selectBestRememberedCssSourceMatches(rememberedSources, outputFile, outputRoot, sourceRoot);
|
|
3203
|
+
return scoredMatches.length === rememberedSources.length ? [] : scoredMatches;
|
|
3169
3204
|
}
|
|
3170
3205
|
function mergeRememberedCssSources(sources, outputFile) {
|
|
3171
3206
|
if (sources.length <= 1) return sources[0];
|
|
@@ -3400,7 +3435,7 @@ function createSubpackageSourceCandidateScope(options) {
|
|
|
3400
3435
|
const isMainPackageStyleOutputFile = (file) => options.subpackageRoots != null && !isSubpackageOutputFile(file, options.subpackageRoots);
|
|
3401
3436
|
const resolveSubpackageOutputSourceEntries = (outputFile) => {
|
|
3402
3437
|
if (!options.subpackageRoots) return;
|
|
3403
|
-
const matchedRoots = [...options.subpackageRoots].filter((root) => isSubpackageOutputFile(outputFile, new Set([root])));
|
|
3438
|
+
const matchedRoots = [...options.subpackageRoots].filter((root) => isSubpackageOutputFile(outputFile, /* @__PURE__ */ new Set([root])));
|
|
3404
3439
|
if (matchedRoots.length !== 1) return;
|
|
3405
3440
|
const root = matchedRoots[0];
|
|
3406
3441
|
if (!root) return;
|
|
@@ -3461,7 +3496,7 @@ function createSubpackageSourceCandidateScope(options) {
|
|
|
3461
3496
|
excludeEntries: [...filterOptions?.excludeEntries ?? [], ...subpackageSourceExcludeEntries]
|
|
3462
3497
|
}) ?? /* @__PURE__ */ new Map();
|
|
3463
3498
|
};
|
|
3464
|
-
const shouldInjectCssIntoMainFromOutput = (outputFile,
|
|
3499
|
+
const shouldInjectCssIntoMainFromOutput = (outputFile, sourceFile, outputCssHandlerOptions) => outputCssHandlerOptions.isMainChunk === true && !outputFile.replace(/[?#].*$/, "").includes("/") || options.useIncrementalMode && isMainPackageStyleOutputFile(outputFile) && isMainPackageStyleOutputFile(sourceFile);
|
|
3465
3500
|
return {
|
|
3466
3501
|
createScopedSourceCandidateGetter,
|
|
3467
3502
|
createScopedSourceCandidateSourceGetter,
|
|
@@ -3544,7 +3579,7 @@ function scoreConfiguredTailwindV4SourceForRawSource(rawSource, entrySource) {
|
|
|
3544
3579
|
}
|
|
3545
3580
|
function resolveSubpackageRootForFile(file, subpackageRoots) {
|
|
3546
3581
|
if (!file || !subpackageRoots) return;
|
|
3547
|
-
return [...subpackageRoots].find((root) => isSubpackageOutputFile(file, new Set([root])));
|
|
3582
|
+
return [...subpackageRoots].find((root) => isSubpackageOutputFile(file, /* @__PURE__ */ new Set([root])));
|
|
3548
3583
|
}
|
|
3549
3584
|
function isSameSubpackageScope(outputFile, sourceFile, subpackageRoots) {
|
|
3550
3585
|
return resolveSubpackageRootForFile(outputFile, subpackageRoots) === resolveSubpackageRootForFile(sourceFile, subpackageRoots);
|
|
@@ -3567,7 +3602,7 @@ function selectTailwindV4GenerationCssSourceForOutput(outputFile, entries, rawSo
|
|
|
3567
3602
|
const outputMatchesSubpackage = isSubpackageOutputFile(outputFile, subpackageRoots);
|
|
3568
3603
|
const sourceMatchesSubpackage = isSubpackageOutputFile(entry.file, subpackageRoots);
|
|
3569
3604
|
if (!outputMatchesSubpackage) return !sourceMatchesSubpackage;
|
|
3570
|
-
return sourceMatchesSubpackage && [...subpackageRoots].some((root) => isSubpackageOutputFile(outputFile, new Set([root])) && isSubpackageOutputFile(entry.file, new Set([root])));
|
|
3605
|
+
return sourceMatchesSubpackage && [...subpackageRoots].some((root) => isSubpackageOutputFile(outputFile, /* @__PURE__ */ new Set([root])) && isSubpackageOutputFile(entry.file, /* @__PURE__ */ new Set([root])));
|
|
3571
3606
|
}) : generationSources;
|
|
3572
3607
|
const explicitSources = scopedSources.filter((entry) => /@(?:config|source|plugin|custom-variant|theme|utility|variant|apply)\b/.test(entry.source));
|
|
3573
3608
|
const candidates = explicitSources.length === 1 ? explicitSources : scopedSources;
|
|
@@ -3575,6 +3610,44 @@ function selectTailwindV4GenerationCssSourceForOutput(outputFile, entries, rawSo
|
|
|
3575
3610
|
return selectByRawSourceFingerprint(candidates);
|
|
3576
3611
|
}
|
|
3577
3612
|
//#endregion
|
|
3613
|
+
//#region src/bundlers/vite/generate-bundle/temporary-css-assets.ts
|
|
3614
|
+
function isTemporaryCssAssetFile(file) {
|
|
3615
|
+
const normalized = require_source_candidate_scan_signature.normalizeOutputPathKey(file.replace(/[?#].*$/, ""));
|
|
3616
|
+
return /\.css$/i.test(normalized) && !normalized.includes("/");
|
|
3617
|
+
}
|
|
3618
|
+
function normalizeCssSourceKey(file) {
|
|
3619
|
+
return require_source_candidate_scan_signature.normalizeOutputPathKey(file.replace(/[?#].*$/, ""));
|
|
3620
|
+
}
|
|
3621
|
+
function createTemporaryCssAssetSourceResolver(entries) {
|
|
3622
|
+
const seenEntryFiles = /* @__PURE__ */ new Set();
|
|
3623
|
+
const queuedEntries = entries.filter((entry) => {
|
|
3624
|
+
const entryFile = normalizeCssSourceKey(entry.file);
|
|
3625
|
+
const outputFile = normalizeCssSourceKey(entry.outputFile);
|
|
3626
|
+
if (!hasTailwindGenerationSource(entry.source) || outputFile === entryFile || !outputFile.includes("/") || seenEntryFiles.has(entryFile)) return false;
|
|
3627
|
+
seenEntryFiles.add(entryFile);
|
|
3628
|
+
return true;
|
|
3629
|
+
});
|
|
3630
|
+
const usedEntryFiles = /* @__PURE__ */ new Set();
|
|
3631
|
+
return {
|
|
3632
|
+
entries: queuedEntries,
|
|
3633
|
+
markUsed(sourceFile) {
|
|
3634
|
+
if (!sourceFile) return;
|
|
3635
|
+
usedEntryFiles.add(normalizeCssSourceKey(sourceFile));
|
|
3636
|
+
},
|
|
3637
|
+
resolve(outputFile) {
|
|
3638
|
+
if (!isTemporaryCssAssetFile(outputFile)) return;
|
|
3639
|
+
const entry = queuedEntries.find((item) => !usedEntryFiles.has(normalizeCssSourceKey(item.file)));
|
|
3640
|
+
if (!entry) return;
|
|
3641
|
+
usedEntryFiles.add(normalizeCssSourceKey(entry.file));
|
|
3642
|
+
return {
|
|
3643
|
+
outputFile: entry.outputFile,
|
|
3644
|
+
rawSource: entry.source,
|
|
3645
|
+
sourceFile: entry.file
|
|
3646
|
+
};
|
|
3647
|
+
}
|
|
3648
|
+
};
|
|
3649
|
+
}
|
|
3650
|
+
//#endregion
|
|
3578
3651
|
//#region src/bundlers/vite/generate-bundle/timing.ts
|
|
3579
3652
|
function createBundleTaskTimer(recordTimingDetail) {
|
|
3580
3653
|
return async (name, task) => {
|
|
@@ -3778,12 +3851,13 @@ function createGenerateBundleHook(context) {
|
|
|
3778
3851
|
});
|
|
3779
3852
|
return async function generateBundle(_opt, bundle) {
|
|
3780
3853
|
const addWatchFile = (id) => this.addWatchFile?.(id);
|
|
3781
|
-
const { opts, runtimeState, ensureBundleRuntimeClassSet, debug, getResolvedConfig, markCssAssetProcessed, isCssAssetProcessed, isViteProcessedCssAsset, recordCssAssetResult, recordViteProcessedCssAssetResult, getViteProcessedCssAssetResults, getViteProcessedCssAssetResult, getSourceCandidates, getSourceCandidateSource, getSourceCandidateSources, getSourceCandidatesForEntries, getSourceCandidateSourcesForEntries, waitForSourceCandidateSyncs, rememberCssSource, refreshRememberedCssSource, getRememberedCssSources, getRememberedCssSignature, setRememberedCssSignature, getKnownSfcSource, recordGeneratorCandidates, pruneViteCssCaches, getViteCssCacheStats, hmrTimingRecorder } = context;
|
|
3854
|
+
const { opts, runtimeState, ensureBundleRuntimeClassSet, debug, getResolvedConfig, markCssAssetProcessed, isCssAssetProcessed, isViteProcessedCssAsset, recordCssAssetResult, recordViteProcessedCssAssetResult, getViteProcessedCssAssetResults, getViteProcessedCssAssetResult, getSourceCandidates, getSourceCandidateSource, getSourceCandidateSources, getSourceCandidatesForEntries, getSourceCandidateSourcesForEntries, waitForSourceCandidateSyncs, rememberCssSource, refreshRememberedCssSource, getRememberedCssSources, getRememberedCssSignature, setRememberedCssSignature, getKnownCssSource, getKnownSfcSource, recordGeneratorCandidates, pruneViteCssCaches, getViteCssCacheStats, hmrTimingRecorder } = context;
|
|
3782
3855
|
const getBundlerSfcSource = (sourceFile) => {
|
|
3783
3856
|
const code = this.getModuleInfo?.(sourceFile)?.code;
|
|
3784
3857
|
return typeof code === "string" && hasSfcStyleSources(code) ? code : void 0;
|
|
3785
3858
|
};
|
|
3786
3859
|
const getSfcSource = (sourceFile) => getBundlerSfcSource(sourceFile) ?? getKnownSfcSource?.(sourceFile);
|
|
3860
|
+
const getCssSource = (sourceFile) => getKnownCssSource?.(sourceFile) ?? getSourceCandidateSource?.(sourceFile);
|
|
3787
3861
|
const { cache, onEnd, onStart, onUpdate, styleHandler, templateHandler, jsHandler, uniAppX } = opts;
|
|
3788
3862
|
const resolvedConfig = getResolvedConfig();
|
|
3789
3863
|
const uniUtsPlatform = require_utils.resolveUniUtsPlatform();
|
|
@@ -3919,7 +3993,7 @@ function createGenerateBundleHook(context) {
|
|
|
3919
3993
|
refreshBySource: forceV4RuntimeRefreshBySource
|
|
3920
3994
|
}) : await context.ensureRuntimeClassSet(envFlags.forceRuntimeRefreshByEnv);
|
|
3921
3995
|
const shouldFilterTailwindV4MiniProgramCandidates = require_generator.shouldUseMiniProgramCssBranch(generatorBranch);
|
|
3922
|
-
const collectedGeneratorCandidates = new Set([...runtime, ...sourceCandidates]);
|
|
3996
|
+
const collectedGeneratorCandidates = /* @__PURE__ */ new Set([...runtime, ...sourceCandidates]);
|
|
3923
3997
|
const filteredGeneratorCandidates = shouldFilterTailwindV4MiniProgramCandidates ? require_v4_engine.filterUnsupportedMiniProgramTailwindV4Candidates(collectedGeneratorCandidates) : collectedGeneratorCandidates;
|
|
3924
3998
|
const filteredSourceCandidates = shouldFilterTailwindV4MiniProgramCandidates ? require_v4_engine.filterUnsupportedMiniProgramTailwindV4Candidates(sourceCandidates) : sourceCandidates;
|
|
3925
3999
|
const transformRuntime = shouldFilterTailwindV4MiniProgramCandidates ? new Set(runtime) : new Set(filteredGeneratorCandidates);
|
|
@@ -3955,7 +4029,7 @@ function createGenerateBundleHook(context) {
|
|
|
3955
4029
|
const generatorCandidatesChanged = state.generatorCandidateSignature !== generatorCandidateSignature;
|
|
3956
4030
|
const cssExtensionByStem = collectCssExtensionByStem(bundleFiles, opts.cssMatcher);
|
|
3957
4031
|
const jsImportedCssFiles = collectJsImportedCssFiles(snapshot);
|
|
3958
|
-
const runtimeLinkedCssFiles = new Set([...collectRuntimeLinkedCssFiles(snapshot, cssExtensionByStem, defaultStyleOutputExtension), ...jsImportedCssFiles]);
|
|
4032
|
+
const runtimeLinkedCssFiles = /* @__PURE__ */ new Set([...collectRuntimeLinkedCssFiles(snapshot, cssExtensionByStem, defaultStyleOutputExtension), ...jsImportedCssFiles]);
|
|
3959
4033
|
rememberRuntimeLinkedCssSources({
|
|
3960
4034
|
bundleFiles,
|
|
3961
4035
|
debug,
|
|
@@ -3974,8 +4048,32 @@ function createGenerateBundleHook(context) {
|
|
|
3974
4048
|
snapshot,
|
|
3975
4049
|
sourceRoot
|
|
3976
4050
|
});
|
|
4051
|
+
const temporaryCssAssetSourceResolver = createTemporaryCssAssetSourceResolver([
|
|
4052
|
+
...[...runtimeLinkedCssFiles].filter((file) => !snapshot.sourceHashByFile.has(file)).map((file) => {
|
|
4053
|
+
const outputFile = resolveViteCssPipelineOutputFile(file, opts, rootDir, isWebGeneratorTarget, shouldPreserveAppCssExtension, sourceRoot, defaultStyleOutputExtension, bundleFiles);
|
|
4054
|
+
const inferredSourceStyle = resolveSourceStyleSourceFromOutputFile(outputFile, snapshot, outDir, sourceRoot, getCssSource, jsImportedCssFiles.has(file) ? getSourceCandidateSources : void 0, getConfiguredTailwindV4CssSourceEntries().map((entry) => [entry.file, entry.source]), debug);
|
|
4055
|
+
return inferredSourceStyle && currentSubpackageRoots && isSubpackageOutputFile(outputFile, currentSubpackageRoots) ? {
|
|
4056
|
+
file: inferredSourceStyle.sourceFile,
|
|
4057
|
+
outputFile,
|
|
4058
|
+
source: inferredSourceStyle.rawSource
|
|
4059
|
+
} : void 0;
|
|
4060
|
+
}).filter((entry) => entry != null),
|
|
4061
|
+
...[...getRememberedCssSources?.() ?? []].map(([, remembered]) => ({
|
|
4062
|
+
file: remembered.sourceFile,
|
|
4063
|
+
outputFile: remembered.outputFile,
|
|
4064
|
+
source: remembered.rawSource
|
|
4065
|
+
})),
|
|
4066
|
+
...configuredTailwindV4CssSourceEntriesForScope.map((entry) => {
|
|
4067
|
+
const outputFile = resolveMatchedCssSourceOutputFile(entry.file);
|
|
4068
|
+
return outputFile && currentSubpackageRoots && isSubpackageOutputFile(outputFile, currentSubpackageRoots) ? {
|
|
4069
|
+
file: entry.file,
|
|
4070
|
+
outputFile,
|
|
4071
|
+
source: entry.source
|
|
4072
|
+
} : void 0;
|
|
4073
|
+
}).filter((entry) => entry != null)
|
|
4074
|
+
]);
|
|
3977
4075
|
recordGeneratorCandidates?.(generatorRuntime);
|
|
3978
|
-
const dynamicRetryCandidates = new Set([
|
|
4076
|
+
const dynamicRetryCandidates = /* @__PURE__ */ new Set([
|
|
3979
4077
|
...sourceCandidates,
|
|
3980
4078
|
...generatorRuntime,
|
|
3981
4079
|
...transformRuntime
|
|
@@ -4074,6 +4172,7 @@ function createGenerateBundleHook(context) {
|
|
|
4074
4172
|
}
|
|
4075
4173
|
const hasViteProcessedCssRecord = getViteProcessedCssAssetResult?.(file) != null;
|
|
4076
4174
|
const viteProcessedCssAsset = isViteProcessedCssAsset?.(originalSource, file) === true || hasViteProcessedCssRecord;
|
|
4175
|
+
let resolvedFromTemporaryCssAsset = false;
|
|
4077
4176
|
const applyCssResult = (source) => {
|
|
4078
4177
|
applyCssResultToBundle({
|
|
4079
4178
|
appType: opts.appType,
|
|
@@ -4115,14 +4214,39 @@ function createGenerateBundleHook(context) {
|
|
|
4115
4214
|
const rememberedSourcesBelongToInferredSfc = rememberedCssSources.length > 0 && rememberedCssSources.every((remembered) => normalizeSfcSourceFileForCompare(remembered.sourceFile) === inferredSourceFile);
|
|
4116
4215
|
if (!hasUsableRememberedTailwindSource || rememberedSourcesBelongToInferredSfc) rememberedCssSources = [inferredSfcStyleSource];
|
|
4117
4216
|
}
|
|
4217
|
+
if (isTemporaryCssAssetFile(outputFile) && rememberedCssSources.some((remembered) => configuredTailwindV4CssSourceFileKeysForScope.has(require_source_candidate_scan_signature.normalizeOutputPathKey(remembered.sourceFile.replace(/[?#].*$/, ""))))) {
|
|
4218
|
+
rememberedCssSources = [];
|
|
4219
|
+
hasUsableRememberedTailwindSource = false;
|
|
4220
|
+
}
|
|
4118
4221
|
let outputCssHandlerOptions = getCssHandlerOptions(outputFile);
|
|
4119
4222
|
if (currentSubpackageRoots && rememberedCssSources.length > 0 && rememberedCssSources.some((remembered) => configuredTailwindV4CssSourceFileKeysForScope.has(require_source_candidate_scan_signature.normalizeOutputPathKey(remembered.sourceFile.replace(/[?#].*$/, ""))) && !isSameSubpackageScope(outputFile, remembered.sourceFile, currentSubpackageRoots))) {
|
|
4120
4223
|
rememberedCssSources = [];
|
|
4121
4224
|
hasUsableRememberedTailwindSource = false;
|
|
4122
4225
|
}
|
|
4226
|
+
if (isTemporaryCssAssetFile(outputFile) && hasTailwindGenerationSource(rawSource)) {
|
|
4227
|
+
const resolvedTemporarySource = temporaryCssAssetSourceResolver.resolve(outputFile);
|
|
4228
|
+
if (resolvedTemporarySource) {
|
|
4229
|
+
outputFile = resolveMatchedOutputFileForCurrentAsset(resolvedTemporarySource.sourceFile) ?? resolvedTemporarySource.outputFile;
|
|
4230
|
+
activeViteCssCacheFiles.add(normalizeViteCssCacheKey(outputFile));
|
|
4231
|
+
outputCssHandlerOptions = getCssHandlerOptions(outputFile);
|
|
4232
|
+
outputCssHandlerOptions = {
|
|
4233
|
+
...outputCssHandlerOptions,
|
|
4234
|
+
isMainChunk: false
|
|
4235
|
+
};
|
|
4236
|
+
resolvedFromTemporaryCssAsset = true;
|
|
4237
|
+
usedConfiguredTailwindV4CssSourceFiles.add(require_source_candidate_scan_signature.normalizeOutputPathKey(resolvedTemporarySource.sourceFile));
|
|
4238
|
+
rememberedCssSources = [{
|
|
4239
|
+
outputFile,
|
|
4240
|
+
rawSource: resolvedTemporarySource.rawSource,
|
|
4241
|
+
sourceFile: resolvedTemporarySource.sourceFile
|
|
4242
|
+
}];
|
|
4243
|
+
hasUsableRememberedTailwindSource = true;
|
|
4244
|
+
debug("source style source inferred from temporary remembered tailwind v4 css source: %s -> %s", outputFile, resolvedTemporarySource.sourceFile);
|
|
4245
|
+
}
|
|
4246
|
+
}
|
|
4123
4247
|
if (!hasUsableRememberedTailwindSource) {
|
|
4124
4248
|
const configuredTailwindV4CssSourceEntries = getConfiguredTailwindV4CssSourceEntries();
|
|
4125
|
-
const inferredOriginalSourceStyle = resolveSourceStyleSourceFromOutputFile(outputFile, snapshot, outDir, sourceRoot,
|
|
4249
|
+
const inferredOriginalSourceStyle = resolveSourceStyleSourceFromOutputFile(outputFile, snapshot, outDir, sourceRoot, getCssSource, getSourceCandidateSources, configuredTailwindV4CssSourceEntries.map((entry) => [entry.file, entry.source]), debug) ?? (outputFile === file ? void 0 : resolveSourceStyleSourceFromOutputFile(file, snapshot, outDir, sourceRoot, getCssSource, getSourceCandidateSources, configuredTailwindV4CssSourceEntries.map((entry) => [entry.file, entry.source]), debug));
|
|
4126
4250
|
if (inferredOriginalSourceStyle) {
|
|
4127
4251
|
outputFile = resolveMatchedOutputFileForCurrentAsset(inferredOriginalSourceStyle.sourceFile) ?? outputFile;
|
|
4128
4252
|
activeViteCssCacheFiles.add(normalizeViteCssCacheKey(outputFile));
|
|
@@ -4131,6 +4255,25 @@ function createGenerateBundleHook(context) {
|
|
|
4131
4255
|
...inferredOriginalSourceStyle,
|
|
4132
4256
|
outputFile
|
|
4133
4257
|
}];
|
|
4258
|
+
} else if (isTemporaryCssAssetFile(outputFile) && configuredTailwindV4CssSourceEntries.length > 1) {
|
|
4259
|
+
const resolvedTemporarySource = temporaryCssAssetSourceResolver.resolve(outputFile);
|
|
4260
|
+
if (resolvedTemporarySource) {
|
|
4261
|
+
outputFile = resolveMatchedOutputFileForCurrentAsset(resolvedTemporarySource.sourceFile) ?? resolvedTemporarySource.outputFile;
|
|
4262
|
+
activeViteCssCacheFiles.add(normalizeViteCssCacheKey(outputFile));
|
|
4263
|
+
outputCssHandlerOptions = getCssHandlerOptions(outputFile);
|
|
4264
|
+
outputCssHandlerOptions = {
|
|
4265
|
+
...outputCssHandlerOptions,
|
|
4266
|
+
isMainChunk: false
|
|
4267
|
+
};
|
|
4268
|
+
resolvedFromTemporaryCssAsset = true;
|
|
4269
|
+
usedConfiguredTailwindV4CssSourceFiles.add(require_source_candidate_scan_signature.normalizeOutputPathKey(resolvedTemporarySource.sourceFile));
|
|
4270
|
+
rememberedCssSources = [{
|
|
4271
|
+
outputFile,
|
|
4272
|
+
rawSource: resolvedTemporarySource.rawSource,
|
|
4273
|
+
sourceFile: resolvedTemporarySource.sourceFile
|
|
4274
|
+
}];
|
|
4275
|
+
debug("source style source inferred from temporary configured tailwind v4 css source: %s -> %s", outputFile, resolvedTemporarySource.sourceFile);
|
|
4276
|
+
}
|
|
4134
4277
|
} else if (hasTailwindGenerationSource(rawSource) && (originalSource.originalFileNames?.length ?? 0) === 0) {
|
|
4135
4278
|
const availableConfiguredTailwindV4CssSourceEntries = configuredTailwindV4CssSourceEntries.filter((entry) => !usedConfiguredTailwindV4CssSourceFiles.has(require_source_candidate_scan_signature.normalizeOutputPathKey(entry.file)));
|
|
4136
4279
|
const configuredGenerationSource = selectTailwindV4GenerationCssSourceForOutput(outputFile, availableConfiguredTailwindV4CssSourceEntries, rawSource, currentSubpackageRoots);
|
|
@@ -4182,10 +4325,13 @@ function createGenerateBundleHook(context) {
|
|
|
4182
4325
|
const hasSameOutputRememberedTailwindGenerationSource = hasRememberedTailwindGenerationSource && rememberedCssSource != null && require_source_candidate_scan_signature.normalizeOutputPathKey(rememberedCssSource.outputFile) === require_source_candidate_scan_signature.normalizeOutputPathKey(outputFile);
|
|
4183
4326
|
const hasStaleViteProcessedCssSource = vitePipelineCssAsset && hasDifferentRememberedCssSource && (hasCurrentTailwindGenerationDirective || hasRememberedApplyDirective || hasRememberedTailwindGenerationSource);
|
|
4184
4327
|
const generatorSourceFile = vitePipelineCssAsset ? rememberedCssSource?.sourceFile ?? assetSourceFile : assetSourceFile;
|
|
4185
|
-
if (vitePipelineCssAsset && outputCssHandlerOptions.isMainChunk !== true && configuredTailwindV4CssSourceFileKeysForScope.has(require_source_candidate_scan_signature.normalizeOutputPathKey(generatorSourceFile.replace(/[?#].*$/, ""))))
|
|
4328
|
+
if (vitePipelineCssAsset && outputCssHandlerOptions.isMainChunk !== true && configuredTailwindV4CssSourceFileKeysForScope.has(require_source_candidate_scan_signature.normalizeOutputPathKey(generatorSourceFile.replace(/[?#].*$/, "")))) {
|
|
4329
|
+
usedConfiguredTailwindV4CssSourceFiles.add(require_source_candidate_scan_signature.normalizeOutputPathKey(generatorSourceFile));
|
|
4330
|
+
temporaryCssAssetSourceResolver.markUsed(generatorSourceFile);
|
|
4331
|
+
}
|
|
4186
4332
|
const cssHandlerOptions = vitePipelineCssAsset ? {
|
|
4187
4333
|
...getCssHandlerOptions(generatorSourceFile),
|
|
4188
|
-
isMainChunk: outputCssHandlerOptions.isMainChunk
|
|
4334
|
+
isMainChunk: resolvedFromTemporaryCssAsset ? false : outputCssHandlerOptions.isMainChunk
|
|
4189
4335
|
} : getCssHandlerOptions(file);
|
|
4190
4336
|
const generatorCssHandlerOptions = {
|
|
4191
4337
|
...cssHandlerOptions,
|
|
@@ -4581,7 +4727,7 @@ function createViteCssFinalizerOutputPlugin(context) {
|
|
|
4581
4727
|
const applyUtilities = collectUniAppXHarmonyApplyUtilities(bundle);
|
|
4582
4728
|
const applyStyleSources = collectUniAppXHarmonyApplyStyleSources(bundle);
|
|
4583
4729
|
if (applyUtilities.size === 0 || applyStyleSources.length === 0) return cssSources;
|
|
4584
|
-
const harmonyRuntime = new Set([...runtime, ...applyUtilities]);
|
|
4730
|
+
const harmonyRuntime = /* @__PURE__ */ new Set([...runtime, ...applyUtilities]);
|
|
4585
4731
|
const harmonyCssHandlerOptions = createCssHandlerOptions(opts, runtimeState.tailwindRuntime.majorVersion, "uni-app-x-harmony-apply.css");
|
|
4586
4732
|
const generated = await require_source_candidate_scan_signature.generateTailwindV4Css({
|
|
4587
4733
|
opts,
|
|
@@ -4628,7 +4774,7 @@ function createViteCssFinalizerOutputPlugin(context) {
|
|
|
4628
4774
|
await runtimeState.readyPromise;
|
|
4629
4775
|
await waitForSourceCandidateSyncs?.();
|
|
4630
4776
|
const runtime = getRecordedGeneratorCandidates?.() ?? getSourceCandidates?.() ?? await ensureRuntimeClassSet();
|
|
4631
|
-
const collectedGeneratorCandidates = new Set([...runtime, ...getSourceCandidates?.() ?? []]);
|
|
4777
|
+
const collectedGeneratorCandidates = /* @__PURE__ */ new Set([...runtime, ...getSourceCandidates?.() ?? []]);
|
|
4632
4778
|
const generatorRuntime = require_generator.shouldUseMiniProgramCssBranch(generatorBranch) ? require_v4_engine.filterUnsupportedMiniProgramTailwindV4Candidates(collectedGeneratorCandidates) : collectedGeneratorCandidates;
|
|
4633
4779
|
await Promise.all(entries.map(async ([bundleFile, output]) => {
|
|
4634
4780
|
const file = output.fileName || bundleFile;
|
|
@@ -4801,6 +4947,11 @@ function createViteCssMemory(options) {
|
|
|
4801
4947
|
if (source != null) touchMapEntry(knownSfcSources, key, source);
|
|
4802
4948
|
return source;
|
|
4803
4949
|
};
|
|
4950
|
+
const getKnownCssSource = (file) => {
|
|
4951
|
+
const source = knownCssSources.get(normalizeCssSourceIdentity(file));
|
|
4952
|
+
if (source != null) touchMapEntry(knownCssSources, normalizeCssSourceIdentity(file), source);
|
|
4953
|
+
return source;
|
|
4954
|
+
};
|
|
4804
4955
|
const rememberCssSource = (entry, cssRuntimeSignature) => {
|
|
4805
4956
|
const outputKey = require_source_candidate_scan_signature.normalizeOutputPathKey(entry.outputFile);
|
|
4806
4957
|
const normalizedSourceFile = normalizeCssSourceIdentity(entry.sourceFile);
|
|
@@ -4919,6 +5070,7 @@ function createViteCssMemory(options) {
|
|
|
4919
5070
|
};
|
|
4920
5071
|
return {
|
|
4921
5072
|
getKnownSfcSource,
|
|
5073
|
+
getKnownCssSource,
|
|
4922
5074
|
getRememberedCssSignature: (file) => rememberedCssSignatureByFile.get(require_source_candidate_scan_signature.normalizeOutputPathKey(file)),
|
|
4923
5075
|
getRememberedCssSourceEntry: (file) => rememberedCssSources.get(require_source_candidate_scan_signature.normalizeOutputPathKey(file)),
|
|
4924
5076
|
getRememberedCssSources: () => rememberedCssSources,
|
|
@@ -5305,7 +5457,7 @@ function createViteRuntimeClassSet(options) {
|
|
|
5305
5457
|
}
|
|
5306
5458
|
//#endregion
|
|
5307
5459
|
//#region src/bundlers/vite/serve-css-generation.ts
|
|
5308
|
-
const SPECIAL_QUERY_RE = /[?&](?:worker|sharedworker|raw|url)\b/;
|
|
5460
|
+
const SPECIAL_QUERY_RE$1 = /[?&](?:worker|sharedworker|raw|url)\b/;
|
|
5309
5461
|
const COMMON_JS_PROXY_RE = /\?commonjs-proxy/;
|
|
5310
5462
|
const VITE_CSS_HMR_MODULE_RE = /\b__vite__updateStyle\s*\(/;
|
|
5311
5463
|
const VITE_CSS_CONST_RE = /\bconst\s+__vite__css\s*=\s*("(?:\\[\s\S]|[^"])*")/;
|
|
@@ -5336,10 +5488,10 @@ function replaceViteCssHmrModuleCss(code, css) {
|
|
|
5336
5488
|
return `${code.slice(0, extracted.start)}${encodeJsStringLiteral(css)}${code.slice(extracted.end)}`;
|
|
5337
5489
|
}
|
|
5338
5490
|
function isViteServeStyleRequest(id, command) {
|
|
5339
|
-
return command === "serve" && require_source_candidate_scan_signature.isSourceStyleRequest(id) && !SPECIAL_QUERY_RE.test(id) && !COMMON_JS_PROXY_RE.test(id);
|
|
5491
|
+
return command === "serve" && require_source_candidate_scan_signature.isSourceStyleRequest(id) && !SPECIAL_QUERY_RE$1.test(id) && !COMMON_JS_PROXY_RE.test(id);
|
|
5340
5492
|
}
|
|
5341
5493
|
function isViteServeCssRootRequest(id, command) {
|
|
5342
|
-
return command === "serve" && require_source_candidate_scan_signature.isSourceStyleRequest(id) && !SPECIAL_QUERY_RE.test(id) && !COMMON_JS_PROXY_RE.test(id);
|
|
5494
|
+
return command === "serve" && require_source_candidate_scan_signature.isSourceStyleRequest(id) && !SPECIAL_QUERY_RE$1.test(id) && !COMMON_JS_PROXY_RE.test(id);
|
|
5343
5495
|
}
|
|
5344
5496
|
function isViteCssHmrModule(code, id, command) {
|
|
5345
5497
|
return isViteServeStyleRequest(id, command) && VITE_CSS_HMR_MODULE_RE.test(code) && /[?&](?:direct|vue)(?:&|$)/.test(id);
|
|
@@ -5381,6 +5533,32 @@ function createViteServeCssGenerationPlugins(options) {
|
|
|
5381
5533
|
}];
|
|
5382
5534
|
}
|
|
5383
5535
|
//#endregion
|
|
5536
|
+
//#region src/bundlers/vite/serve-js-transform.ts
|
|
5537
|
+
const SPECIAL_QUERY_RE = /[?&](?:worker|sharedworker|raw|url)\b/;
|
|
5538
|
+
function isViteServeJsRequest(id, command) {
|
|
5539
|
+
if (command !== "serve" || SPECIAL_QUERY_RE.test(id) || require_source_candidate_scan_signature.isCSSRequest(id) || require_source_candidate_scan_signature.isHTMLRequest(id)) return false;
|
|
5540
|
+
return /\.(?:[cm]?[jt]sx?|vue|svelte)(?:$|\?)/.test(id);
|
|
5541
|
+
}
|
|
5542
|
+
function createViteServeJsTransformPlugin(options) {
|
|
5543
|
+
return {
|
|
5544
|
+
name: `${require_context.vitePluginName}:js:serve`,
|
|
5545
|
+
apply: "serve",
|
|
5546
|
+
enforce: "post",
|
|
5547
|
+
async transform(code, id) {
|
|
5548
|
+
if (!options.shouldTransform() || !isViteServeJsRequest(id, options.getCommand())) return;
|
|
5549
|
+
const handlerOptions = options.createHandlerOptions(id);
|
|
5550
|
+
if (require_context.shouldSkipJsTransform(code, handlerOptions)) return;
|
|
5551
|
+
const runtime = await options.transformRuntime();
|
|
5552
|
+
const { code: transformed } = await options.jsHandler(code, runtime, handlerOptions);
|
|
5553
|
+
if (transformed === code) return;
|
|
5554
|
+
return {
|
|
5555
|
+
code: transformed,
|
|
5556
|
+
map: null
|
|
5557
|
+
};
|
|
5558
|
+
}
|
|
5559
|
+
};
|
|
5560
|
+
}
|
|
5561
|
+
//#endregion
|
|
5384
5562
|
//#region src/bundlers/vite/tailwind-basedir.ts
|
|
5385
5563
|
const PACKAGE_JSON_FILE = "package.json";
|
|
5386
5564
|
function resolveImplicitTailwindcssBasedirFromViteRoot(root) {
|
|
@@ -5475,6 +5653,7 @@ function WeappTailwindcss(options = {}) {
|
|
|
5475
5653
|
if (autoCssSourceContent.get(sourceFile) === sourceCss) return;
|
|
5476
5654
|
autoCssSourceContent.set(sourceFile, sourceCss);
|
|
5477
5655
|
await syncTailwindCssSourceCandidates(sourceFile, sourceCss);
|
|
5656
|
+
cssMemory.refreshRememberedCssSourceBySourceFile(sourceFile, sourceCss);
|
|
5478
5657
|
const transientSource = {
|
|
5479
5658
|
file: sourceFile,
|
|
5480
5659
|
base: sourceBase,
|
|
@@ -5601,7 +5780,7 @@ function WeappTailwindcss(options = {}) {
|
|
|
5601
5780
|
root
|
|
5602
5781
|
}];
|
|
5603
5782
|
const normalizedRoot = node_path.default.resolve(root);
|
|
5604
|
-
const seenRoots = new Set([normalizedRoot]);
|
|
5783
|
+
const seenRoots = /* @__PURE__ */ new Set([normalizedRoot]);
|
|
5605
5784
|
const basedir = opts.tailwindcssBasedir ? node_path.default.resolve(opts.tailwindcssBasedir) : void 0;
|
|
5606
5785
|
if (basedir && !seenRoots.has(basedir)) {
|
|
5607
5786
|
roots.push({ root: basedir });
|
|
@@ -5784,6 +5963,10 @@ function WeappTailwindcss(options = {}) {
|
|
|
5784
5963
|
...resolveUniAppXNativeCssHandlerOptions(opts)
|
|
5785
5964
|
})
|
|
5786
5965
|
});
|
|
5966
|
+
const serveJsHandlerOptions = createJsHandlerOptionsFactory({
|
|
5967
|
+
getMajorVersion: () => runtimeState.tailwindRuntime.majorVersion,
|
|
5968
|
+
moduleGraph: void 0
|
|
5969
|
+
});
|
|
5787
5970
|
const generateTailwindCssForVitePipeline = async (id, code, hookContext) => {
|
|
5788
5971
|
if (!shouldOwnTailwindGeneration) return;
|
|
5789
5972
|
await runtimeState.readyPromise;
|
|
@@ -5802,7 +5985,11 @@ function WeappTailwindcss(options = {}) {
|
|
|
5802
5985
|
...transformCssHandlerOptions.getCssHandlerOptions(file),
|
|
5803
5986
|
isMainChunk: outputCssHandlerOptions.isMainChunk
|
|
5804
5987
|
};
|
|
5805
|
-
const transientCssSource = transientAutoCssSources.get(file)
|
|
5988
|
+
const transientCssSource = transientAutoCssSources.get(file) ?? (require_v4_engine.hasTailwindRootDirectives(code, { importFallback: generatorOptions.importFallback }) || require_v4_engine.hasTailwindSourceDirectives(code, { importFallback: generatorOptions.importFallback }) || require_v4_engine.hasTailwindApplyDirective(code) ? {
|
|
5989
|
+
base: node_path.default.dirname(node_path.default.resolve(file)),
|
|
5990
|
+
css: code,
|
|
5991
|
+
file: node_path.default.resolve(file)
|
|
5992
|
+
} : void 0);
|
|
5806
5993
|
const shouldDeferEmptyScopedCssSource = transientCssSource == null && !(opts.appType === "uni-app-x" && !cssHandlerOptions.isMainChunk && require_v4_engine.hasTailwindApplyDirective(code));
|
|
5807
5994
|
const generated = await require_source_candidate_scan_signature.generateTailwindV4Css({
|
|
5808
5995
|
opts,
|
|
@@ -5890,6 +6077,7 @@ function WeappTailwindcss(options = {}) {
|
|
|
5890
6077
|
getRememberedCssSources: cssMemory.getRememberedCssSources,
|
|
5891
6078
|
getRememberedCssSignature: cssMemory.getRememberedCssSignature,
|
|
5892
6079
|
setRememberedCssSignature: cssMemory.setRememberedCssSignature,
|
|
6080
|
+
getKnownCssSource: cssMemory.getKnownCssSource,
|
|
5893
6081
|
getKnownSfcSource: cssMemory.getKnownSfcSource,
|
|
5894
6082
|
recordGeneratorCandidates,
|
|
5895
6083
|
pruneViteCssCaches,
|
|
@@ -5997,6 +6185,13 @@ function WeappTailwindcss(options = {}) {
|
|
|
5997
6185
|
onTailwindRootCss: (id, code) => registerAutoCssSource(id, code),
|
|
5998
6186
|
shouldGenerate: () => shouldOwnTailwindGeneration
|
|
5999
6187
|
}),
|
|
6188
|
+
createViteServeJsTransformPlugin({
|
|
6189
|
+
createHandlerOptions: serveJsHandlerOptions,
|
|
6190
|
+
getCommand: () => resolvedConfig?.command,
|
|
6191
|
+
jsHandler,
|
|
6192
|
+
shouldTransform: () => shouldOwnTailwindGeneration && !generatorBranch.isWeb,
|
|
6193
|
+
transformRuntime: ensureRuntimeClassSet
|
|
6194
|
+
}),
|
|
6000
6195
|
{
|
|
6001
6196
|
name: `${require_context.vitePluginName}:post`,
|
|
6002
6197
|
enforce: "post",
|
package/dist/vite.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_vite = require("./vite-
|
|
2
|
+
const require_vite = require("./vite-CkVMSDDp.js");
|
|
3
3
|
exports.WeappTailwindcss = require_vite.WeappTailwindcss;
|
|
4
4
|
exports.weappTailwindcss = require_vite.WeappTailwindcss;
|
package/dist/vite.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as WeappTailwindcss } from "./vite-
|
|
1
|
+
import { t as WeappTailwindcss } from "./vite-5Wn0PIzJ.mjs";
|
|
2
2
|
export { WeappTailwindcss, WeappTailwindcss as weappTailwindcss };
|