weapp-tailwindcss 5.1.1 → 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.en.md +2 -0
- package/README.md +2 -0
- 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/css-output-helpers.d.ts +1 -1
- 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-DlpKD7aN.mjs → context-B07Vf584.mjs} +34 -34
- package/dist/{context-B6hVF7dr.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/options.d.ts +3 -1
- package/dist/{generator-6oMJtTDO.js → generator-CV_0irKO.js} +4 -2
- package/dist/{generator-CjzBK7h-.mjs → generator-DNs6ekoC.mjs} +3 -1
- package/dist/generator.js +2 -2
- package/dist/generator.mjs +2 -2
- package/dist/{gulp-BtGq6LP9.js → gulp-B_u8NjQL.js} +9 -9
- package/dist/{gulp-DNU10Vtc.mjs → gulp-aQMZ0M7c.mjs} +4 -4
- package/dist/gulp.js +1 -1
- package/dist/gulp.mjs +1 -1
- package/dist/{hmr-timing-B0KuWDjV.mjs → hmr-timing-DLYQTCDb.mjs} +40 -31
- package/dist/{hmr-timing-CegXR9O4.js → hmr-timing-DOoHun3i.js} +42 -33
- 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-BKYb9jxa.js → source-candidate-scan-signature-DzwebZrf.js} +6 -6
- package/dist/{source-candidate-scan-signature-B5af2Ahe.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-fRBeuuK-.mjs → transform-Clj7R818.mjs} +19 -19
- package/dist/{transform-vLwZpiTE.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-CWRooooa.mjs → vite-5Wn0PIzJ.mjs} +244 -45
- package/dist/{vite-w-RkgaTY.js → vite-CkVMSDDp.js} +249 -50
- package/dist/vite.js +1 -1
- package/dist/vite.mjs +1 -1
- package/dist/weapp-tw-css-import-rewrite-loader.js +71 -34
- package/dist/weapp-tw-runtime-classset-loader.js +2 -2
- package/dist/{webpack-8PaV1gG3.mjs → webpack-DEag6ueE.mjs} +66 -18
- package/dist/{webpack-CGgBOx9l.js → webpack-hvSFaicc.js} +71 -23
- package/dist/webpack.js +1 -1
- package/dist/webpack.mjs +1 -1
- package/package.json +10 -5
- /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);
|
|
@@ -1170,8 +1192,12 @@ function resolveCssBundleOutputFile(options) {
|
|
|
1170
1192
|
if (outputFile === file && isRootMiniProgramStyleOutputFile$1(file) && shouldMoveRootMiniProgramStyleToImportShellOrigin(opts.appType)) outputFile = createRootMiniProgramOriginStyleOutputFile(file);
|
|
1171
1193
|
return outputFile;
|
|
1172
1194
|
}
|
|
1173
|
-
function shouldSkipRawSourceStyleAsset(outputFile, file, rawSource) {
|
|
1174
|
-
|
|
1195
|
+
function shouldSkipRawSourceStyleAsset(outputFile, file, rawSource, assetSourceFile = file, cssMatcher) {
|
|
1196
|
+
const source = rawSource.trim();
|
|
1197
|
+
if (source.length === 0) return false;
|
|
1198
|
+
if (canProcessViteSourceStyleAsCss(source, file)) return false;
|
|
1199
|
+
const isKnownStyleSource = require_source_candidate_scan_signature.isSourceStyleRequest(assetSourceFile) || cssMatcher?.(assetSourceFile) === true;
|
|
1200
|
+
return outputFile !== file || !isKnownStyleSource;
|
|
1175
1201
|
}
|
|
1176
1202
|
function resolveOutputFileFromMatchedCssSource(options) {
|
|
1177
1203
|
const { bundleFiles, defaultStyleOutputExtension, isWebGeneratorTarget, opts, rootDir, shouldPreserveAppCssExtension, sourceFile, sourceRoot } = options;
|
|
@@ -1938,7 +1964,7 @@ function collectMiniProgramSubpackageSourceEntries(snapshot, subpackageRoots, so
|
|
|
1938
1964
|
const sourceEntries = [];
|
|
1939
1965
|
for (const entry of snapshot.entries) {
|
|
1940
1966
|
if (entry.output.type !== "chunk" || !isSubpackageOutputFile(entry.file, subpackageRoots)) continue;
|
|
1941
|
-
const matchedSubpackageRoot = [...subpackageRoots].find((root) => isSubpackageOutputFile(entry.file, new Set([root])));
|
|
1967
|
+
const matchedSubpackageRoot = [...subpackageRoots].find((root) => isSubpackageOutputFile(entry.file, /* @__PURE__ */ new Set([root])));
|
|
1942
1968
|
if (!matchedSubpackageRoot) continue;
|
|
1943
1969
|
for (const moduleId of collectChunkModuleIds$2(entry.output)) {
|
|
1944
1970
|
if (!node_path.default.isAbsolute(moduleId.replace(/[?#].*$/, ""))) continue;
|
|
@@ -2109,6 +2135,14 @@ function shouldInjectViteProcessedCssResult(opts, targetFile, sourceFile, option
|
|
|
2109
2135
|
const targetFileKey = require_source_candidate_scan_signature.normalizeOutputPathKey(targetFile);
|
|
2110
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));
|
|
2111
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
|
+
}
|
|
2112
2146
|
function isRootStyleOutputFile(file) {
|
|
2113
2147
|
const normalized = require_source_candidate_scan_signature.normalizeOutputPathKey(file.replace(/[?#].*$/, ""));
|
|
2114
2148
|
return isCssOutputFile(normalized) && !normalized.includes("/");
|
|
@@ -2221,7 +2255,7 @@ function collectViteProcessedCssAssetResults(bundle, options) {
|
|
|
2221
2255
|
options.markCssAssetProcessed?.(output, file);
|
|
2222
2256
|
options.recordCssAssetResult?.(file, nextCss);
|
|
2223
2257
|
const resolvedOutputFile = options.resolveViteProcessedCssOutputFile?.(file) ?? file;
|
|
2224
|
-
const shouldReplayIntoMainCss = options.opts != null && (
|
|
2258
|
+
const shouldReplayIntoMainCss = options.opts != null && shouldReplayViteProcessedCssIntoMainCss(options.opts, file, singleMarkerFile, resolvedOutputFile, options.subpackageRoots);
|
|
2225
2259
|
options.recordViteProcessedCssAssetResult?.(file, nextCss, {
|
|
2226
2260
|
injectIntoMain: shouldReplayIntoMainCss || void 0,
|
|
2227
2261
|
outputFile: resolvedOutputFile
|
|
@@ -2546,7 +2580,7 @@ async function handleUniAppXPostCssTasks(options) {
|
|
|
2546
2580
|
const generated = await require_source_candidate_scan_signature.generateTailwindV4Css({
|
|
2547
2581
|
opts,
|
|
2548
2582
|
runtimeState,
|
|
2549
|
-
runtime: new Set([...generatorRuntime, ...applyUtilities]),
|
|
2583
|
+
runtime: /* @__PURE__ */ new Set([...generatorRuntime, ...applyUtilities]),
|
|
2550
2584
|
rawSource: createUniAppXHarmonyApplyGeneratorSource(applyStyleSources, applyUtilities),
|
|
2551
2585
|
file: outputFile,
|
|
2552
2586
|
outputFile,
|
|
@@ -2795,7 +2829,7 @@ async function finalizeGenerateBundle(options) {
|
|
|
2795
2829
|
pruneLastCssResults(lastCssResultByFile, lastCssSourceHashByFile, activeViteCssCacheFiles);
|
|
2796
2830
|
pruneViteCssCaches?.({
|
|
2797
2831
|
activeFiles: activeViteCssCacheFiles,
|
|
2798
|
-
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)])
|
|
2799
2833
|
});
|
|
2800
2834
|
}
|
|
2801
2835
|
recordTimingDetail("state.update", stateUpdateStart);
|
|
@@ -2896,7 +2930,7 @@ function processHtmlBundleEntry(options) {
|
|
|
2896
2930
|
const { cache, context, debug, dynamicRetryCandidates, file, metrics, onUpdate, originalEntrySource, originalSource, rememberProcessCacheKey, resolveCurrentSourceCandidateSource, tasks, templateHandler, timeTask, transformRuntime, transformRuntimeSignature } = options;
|
|
2897
2931
|
const rawSource = resolveCurrentSourceCandidateSource(file) ?? originalEntrySource;
|
|
2898
2932
|
const currentRawDynamicCandidates = collectUnescapedDynamicCandidates(rawSource);
|
|
2899
|
-
const templateRuntime = currentRawDynamicCandidates.length > 0 ? new Set([...transformRuntime, ...currentRawDynamicCandidates]) : transformRuntime;
|
|
2933
|
+
const templateRuntime = currentRawDynamicCandidates.length > 0 ? /* @__PURE__ */ new Set([...transformRuntime, ...currentRawDynamicCandidates]) : transformRuntime;
|
|
2900
2934
|
const templateRuntimeSignature = templateRuntime === transformRuntime ? transformRuntimeSignature : require_source_candidate_scan_signature.createCandidateSignature(templateRuntime);
|
|
2901
2935
|
const htmlProcessHash = `${cache.computeHash(rawSource)}:${cache.computeHash(require_source_candidate_scan_signature.createRuntimeAffectingSourceSignature(rawSource, "html"))}:${templateRuntimeSignature}`;
|
|
2902
2936
|
const cacheKey = `${file}:html:${htmlProcessHash}`;
|
|
@@ -2922,7 +2956,7 @@ function processHtmlBundleEntry(options) {
|
|
|
2922
2956
|
if (unresolvedDynamicCandidates.length > 0) {
|
|
2923
2957
|
const fullRuntimeSet = await context.ensureRuntimeClassSet(true);
|
|
2924
2958
|
const allowedRetryCandidates = fullRuntimeSet.size === 0 ? unresolvedDynamicCandidates : unresolvedDynamicCandidates.filter((candidate) => dynamicRetryCandidates.has(candidate) || fullRuntimeSet.has(candidate));
|
|
2925
|
-
retryRuntimeSet = new Set([...fullRuntimeSet, ...allowedRetryCandidates]);
|
|
2959
|
+
retryRuntimeSet = /* @__PURE__ */ new Set([...fullRuntimeSet, ...allowedRetryCandidates]);
|
|
2926
2960
|
unresolvedDynamicCandidates = unresolvedDynamicCandidates.filter((candidate) => retryRuntimeSet?.has(candidate) === true);
|
|
2927
2961
|
}
|
|
2928
2962
|
if (retryRuntimeSet && unresolvedDynamicCandidates.length > 0) {
|
|
@@ -3137,6 +3171,15 @@ function createRememberedCssRuntimeSignature(cssRuntimeSignature, cssRuntimeAffe
|
|
|
3137
3171
|
function normalizeRememberedSourceIdentity(file) {
|
|
3138
3172
|
return require_source_candidate_scan_signature.normalizeOutputPathKey(file.replace(/[?#].*$/, ""));
|
|
3139
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
|
+
}
|
|
3140
3183
|
function findRememberedCssSources(sources, outputFile, file, originalSource, outputRoot, sourceRoot) {
|
|
3141
3184
|
if (!sources) return [];
|
|
3142
3185
|
const rememberedSources = [...sources].map(([, remembered]) => remembered);
|
|
@@ -3144,7 +3187,7 @@ function findRememberedCssSources(sources, outputFile, file, originalSource, out
|
|
|
3144
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)));
|
|
3145
3188
|
if (markerFiles.size > 0) {
|
|
3146
3189
|
const markerMatched = rememberedSources.filter((remembered) => markerFiles.has(normalizeRememberedSourceIdentity(remembered.sourceFile)));
|
|
3147
|
-
if (markerMatched.length > 0) return markerMatched;
|
|
3190
|
+
if (markerMatched.length > 0) return selectBestRememberedCssSourceMatches(markerMatched, outputFile, outputRoot, sourceRoot);
|
|
3148
3191
|
}
|
|
3149
3192
|
const originalFiles = [
|
|
3150
3193
|
file,
|
|
@@ -3156,12 +3199,8 @@ function findRememberedCssSources(sources, outputFile, file, originalSource, out
|
|
|
3156
3199
|
const outputMatched = rememberedSources.filter((remembered) => require_source_candidate_scan_signature.normalizeOutputPathKey(remembered.outputFile) === require_source_candidate_scan_signature.normalizeOutputPathKey(outputFile));
|
|
3157
3200
|
if (outputMatched.length > 0) return outputMatched;
|
|
3158
3201
|
if (!require_source_candidate_scan_signature.hasBundlerGeneratedCssMarker(source) && !hasTailwindGenerationSource(source)) return [];
|
|
3159
|
-
const scoredMatches = rememberedSources
|
|
3160
|
-
|
|
3161
|
-
score: Math.max(scoreMatchingStyleFileBase(outputFile, remembered.sourceFile, outputRoot, sourceRoot), scoreMatchingStyleFileBase(outputFile, remembered.outputFile, outputRoot, sourceRoot))
|
|
3162
|
-
})).filter((match) => match.score > 0).sort((a, b) => b.score - a.score);
|
|
3163
|
-
const bestScore = scoredMatches[0]?.score;
|
|
3164
|
-
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;
|
|
3165
3204
|
}
|
|
3166
3205
|
function mergeRememberedCssSources(sources, outputFile) {
|
|
3167
3206
|
if (sources.length <= 1) return sources[0];
|
|
@@ -3396,7 +3435,7 @@ function createSubpackageSourceCandidateScope(options) {
|
|
|
3396
3435
|
const isMainPackageStyleOutputFile = (file) => options.subpackageRoots != null && !isSubpackageOutputFile(file, options.subpackageRoots);
|
|
3397
3436
|
const resolveSubpackageOutputSourceEntries = (outputFile) => {
|
|
3398
3437
|
if (!options.subpackageRoots) return;
|
|
3399
|
-
const matchedRoots = [...options.subpackageRoots].filter((root) => isSubpackageOutputFile(outputFile, new Set([root])));
|
|
3438
|
+
const matchedRoots = [...options.subpackageRoots].filter((root) => isSubpackageOutputFile(outputFile, /* @__PURE__ */ new Set([root])));
|
|
3400
3439
|
if (matchedRoots.length !== 1) return;
|
|
3401
3440
|
const root = matchedRoots[0];
|
|
3402
3441
|
if (!root) return;
|
|
@@ -3457,7 +3496,7 @@ function createSubpackageSourceCandidateScope(options) {
|
|
|
3457
3496
|
excludeEntries: [...filterOptions?.excludeEntries ?? [], ...subpackageSourceExcludeEntries]
|
|
3458
3497
|
}) ?? /* @__PURE__ */ new Map();
|
|
3459
3498
|
};
|
|
3460
|
-
const shouldInjectCssIntoMainFromOutput = (outputFile,
|
|
3499
|
+
const shouldInjectCssIntoMainFromOutput = (outputFile, sourceFile, outputCssHandlerOptions) => outputCssHandlerOptions.isMainChunk === true && !outputFile.replace(/[?#].*$/, "").includes("/") || options.useIncrementalMode && isMainPackageStyleOutputFile(outputFile) && isMainPackageStyleOutputFile(sourceFile);
|
|
3461
3500
|
return {
|
|
3462
3501
|
createScopedSourceCandidateGetter,
|
|
3463
3502
|
createScopedSourceCandidateSourceGetter,
|
|
@@ -3540,7 +3579,7 @@ function scoreConfiguredTailwindV4SourceForRawSource(rawSource, entrySource) {
|
|
|
3540
3579
|
}
|
|
3541
3580
|
function resolveSubpackageRootForFile(file, subpackageRoots) {
|
|
3542
3581
|
if (!file || !subpackageRoots) return;
|
|
3543
|
-
return [...subpackageRoots].find((root) => isSubpackageOutputFile(file, new Set([root])));
|
|
3582
|
+
return [...subpackageRoots].find((root) => isSubpackageOutputFile(file, /* @__PURE__ */ new Set([root])));
|
|
3544
3583
|
}
|
|
3545
3584
|
function isSameSubpackageScope(outputFile, sourceFile, subpackageRoots) {
|
|
3546
3585
|
return resolveSubpackageRootForFile(outputFile, subpackageRoots) === resolveSubpackageRootForFile(sourceFile, subpackageRoots);
|
|
@@ -3563,7 +3602,7 @@ function selectTailwindV4GenerationCssSourceForOutput(outputFile, entries, rawSo
|
|
|
3563
3602
|
const outputMatchesSubpackage = isSubpackageOutputFile(outputFile, subpackageRoots);
|
|
3564
3603
|
const sourceMatchesSubpackage = isSubpackageOutputFile(entry.file, subpackageRoots);
|
|
3565
3604
|
if (!outputMatchesSubpackage) return !sourceMatchesSubpackage;
|
|
3566
|
-
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])));
|
|
3567
3606
|
}) : generationSources;
|
|
3568
3607
|
const explicitSources = scopedSources.filter((entry) => /@(?:config|source|plugin|custom-variant|theme|utility|variant|apply)\b/.test(entry.source));
|
|
3569
3608
|
const candidates = explicitSources.length === 1 ? explicitSources : scopedSources;
|
|
@@ -3571,6 +3610,44 @@ function selectTailwindV4GenerationCssSourceForOutput(outputFile, entries, rawSo
|
|
|
3571
3610
|
return selectByRawSourceFingerprint(candidates);
|
|
3572
3611
|
}
|
|
3573
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
|
|
3574
3651
|
//#region src/bundlers/vite/generate-bundle/timing.ts
|
|
3575
3652
|
function createBundleTaskTimer(recordTimingDetail) {
|
|
3576
3653
|
return async (name, task) => {
|
|
@@ -3774,12 +3851,13 @@ function createGenerateBundleHook(context) {
|
|
|
3774
3851
|
});
|
|
3775
3852
|
return async function generateBundle(_opt, bundle) {
|
|
3776
3853
|
const addWatchFile = (id) => this.addWatchFile?.(id);
|
|
3777
|
-
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;
|
|
3778
3855
|
const getBundlerSfcSource = (sourceFile) => {
|
|
3779
3856
|
const code = this.getModuleInfo?.(sourceFile)?.code;
|
|
3780
3857
|
return typeof code === "string" && hasSfcStyleSources(code) ? code : void 0;
|
|
3781
3858
|
};
|
|
3782
3859
|
const getSfcSource = (sourceFile) => getBundlerSfcSource(sourceFile) ?? getKnownSfcSource?.(sourceFile);
|
|
3860
|
+
const getCssSource = (sourceFile) => getKnownCssSource?.(sourceFile) ?? getSourceCandidateSource?.(sourceFile);
|
|
3783
3861
|
const { cache, onEnd, onStart, onUpdate, styleHandler, templateHandler, jsHandler, uniAppX } = opts;
|
|
3784
3862
|
const resolvedConfig = getResolvedConfig();
|
|
3785
3863
|
const uniUtsPlatform = require_utils.resolveUniUtsPlatform();
|
|
@@ -3915,7 +3993,7 @@ function createGenerateBundleHook(context) {
|
|
|
3915
3993
|
refreshBySource: forceV4RuntimeRefreshBySource
|
|
3916
3994
|
}) : await context.ensureRuntimeClassSet(envFlags.forceRuntimeRefreshByEnv);
|
|
3917
3995
|
const shouldFilterTailwindV4MiniProgramCandidates = require_generator.shouldUseMiniProgramCssBranch(generatorBranch);
|
|
3918
|
-
const collectedGeneratorCandidates = new Set([...runtime, ...sourceCandidates]);
|
|
3996
|
+
const collectedGeneratorCandidates = /* @__PURE__ */ new Set([...runtime, ...sourceCandidates]);
|
|
3919
3997
|
const filteredGeneratorCandidates = shouldFilterTailwindV4MiniProgramCandidates ? require_v4_engine.filterUnsupportedMiniProgramTailwindV4Candidates(collectedGeneratorCandidates) : collectedGeneratorCandidates;
|
|
3920
3998
|
const filteredSourceCandidates = shouldFilterTailwindV4MiniProgramCandidates ? require_v4_engine.filterUnsupportedMiniProgramTailwindV4Candidates(sourceCandidates) : sourceCandidates;
|
|
3921
3999
|
const transformRuntime = shouldFilterTailwindV4MiniProgramCandidates ? new Set(runtime) : new Set(filteredGeneratorCandidates);
|
|
@@ -3951,7 +4029,7 @@ function createGenerateBundleHook(context) {
|
|
|
3951
4029
|
const generatorCandidatesChanged = state.generatorCandidateSignature !== generatorCandidateSignature;
|
|
3952
4030
|
const cssExtensionByStem = collectCssExtensionByStem(bundleFiles, opts.cssMatcher);
|
|
3953
4031
|
const jsImportedCssFiles = collectJsImportedCssFiles(snapshot);
|
|
3954
|
-
const runtimeLinkedCssFiles = new Set([...collectRuntimeLinkedCssFiles(snapshot, cssExtensionByStem, defaultStyleOutputExtension), ...jsImportedCssFiles]);
|
|
4032
|
+
const runtimeLinkedCssFiles = /* @__PURE__ */ new Set([...collectRuntimeLinkedCssFiles(snapshot, cssExtensionByStem, defaultStyleOutputExtension), ...jsImportedCssFiles]);
|
|
3955
4033
|
rememberRuntimeLinkedCssSources({
|
|
3956
4034
|
bundleFiles,
|
|
3957
4035
|
debug,
|
|
@@ -3970,8 +4048,32 @@ function createGenerateBundleHook(context) {
|
|
|
3970
4048
|
snapshot,
|
|
3971
4049
|
sourceRoot
|
|
3972
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
|
+
]);
|
|
3973
4075
|
recordGeneratorCandidates?.(generatorRuntime);
|
|
3974
|
-
const dynamicRetryCandidates = new Set([
|
|
4076
|
+
const dynamicRetryCandidates = /* @__PURE__ */ new Set([
|
|
3975
4077
|
...sourceCandidates,
|
|
3976
4078
|
...generatorRuntime,
|
|
3977
4079
|
...transformRuntime
|
|
@@ -4063,13 +4165,14 @@ function createGenerateBundleHook(context) {
|
|
|
4063
4165
|
resolveOutputFileFromMatchedCssSource: resolveMatchedCssSourceOutputFile
|
|
4064
4166
|
});
|
|
4065
4167
|
activeViteCssCacheFiles.add(normalizeViteCssCacheKey(outputFile));
|
|
4066
|
-
if (shouldSkipRawSourceStyleAsset(outputFile, file, rawSource)) {
|
|
4168
|
+
if (shouldSkipRawSourceStyleAsset(outputFile, file, rawSource, assetSourceFile, opts.cssMatcher)) {
|
|
4067
4169
|
delete bundle[file];
|
|
4068
4170
|
debug("css skip raw source style asset: %s -> %s", file, outputFile);
|
|
4069
4171
|
continue;
|
|
4070
4172
|
}
|
|
4071
4173
|
const hasViteProcessedCssRecord = getViteProcessedCssAssetResult?.(file) != null;
|
|
4072
4174
|
const viteProcessedCssAsset = isViteProcessedCssAsset?.(originalSource, file) === true || hasViteProcessedCssRecord;
|
|
4175
|
+
let resolvedFromTemporaryCssAsset = false;
|
|
4073
4176
|
const applyCssResult = (source) => {
|
|
4074
4177
|
applyCssResultToBundle({
|
|
4075
4178
|
appType: opts.appType,
|
|
@@ -4111,14 +4214,39 @@ function createGenerateBundleHook(context) {
|
|
|
4111
4214
|
const rememberedSourcesBelongToInferredSfc = rememberedCssSources.length > 0 && rememberedCssSources.every((remembered) => normalizeSfcSourceFileForCompare(remembered.sourceFile) === inferredSourceFile);
|
|
4112
4215
|
if (!hasUsableRememberedTailwindSource || rememberedSourcesBelongToInferredSfc) rememberedCssSources = [inferredSfcStyleSource];
|
|
4113
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
|
+
}
|
|
4114
4221
|
let outputCssHandlerOptions = getCssHandlerOptions(outputFile);
|
|
4115
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))) {
|
|
4116
4223
|
rememberedCssSources = [];
|
|
4117
4224
|
hasUsableRememberedTailwindSource = false;
|
|
4118
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
|
+
}
|
|
4119
4247
|
if (!hasUsableRememberedTailwindSource) {
|
|
4120
4248
|
const configuredTailwindV4CssSourceEntries = getConfiguredTailwindV4CssSourceEntries();
|
|
4121
|
-
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));
|
|
4122
4250
|
if (inferredOriginalSourceStyle) {
|
|
4123
4251
|
outputFile = resolveMatchedOutputFileForCurrentAsset(inferredOriginalSourceStyle.sourceFile) ?? outputFile;
|
|
4124
4252
|
activeViteCssCacheFiles.add(normalizeViteCssCacheKey(outputFile));
|
|
@@ -4127,6 +4255,25 @@ function createGenerateBundleHook(context) {
|
|
|
4127
4255
|
...inferredOriginalSourceStyle,
|
|
4128
4256
|
outputFile
|
|
4129
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
|
+
}
|
|
4130
4277
|
} else if (hasTailwindGenerationSource(rawSource) && (originalSource.originalFileNames?.length ?? 0) === 0) {
|
|
4131
4278
|
const availableConfiguredTailwindV4CssSourceEntries = configuredTailwindV4CssSourceEntries.filter((entry) => !usedConfiguredTailwindV4CssSourceFiles.has(require_source_candidate_scan_signature.normalizeOutputPathKey(entry.file)));
|
|
4132
4279
|
const configuredGenerationSource = selectTailwindV4GenerationCssSourceForOutput(outputFile, availableConfiguredTailwindV4CssSourceEntries, rawSource, currentSubpackageRoots);
|
|
@@ -4178,10 +4325,13 @@ function createGenerateBundleHook(context) {
|
|
|
4178
4325
|
const hasSameOutputRememberedTailwindGenerationSource = hasRememberedTailwindGenerationSource && rememberedCssSource != null && require_source_candidate_scan_signature.normalizeOutputPathKey(rememberedCssSource.outputFile) === require_source_candidate_scan_signature.normalizeOutputPathKey(outputFile);
|
|
4179
4326
|
const hasStaleViteProcessedCssSource = vitePipelineCssAsset && hasDifferentRememberedCssSource && (hasCurrentTailwindGenerationDirective || hasRememberedApplyDirective || hasRememberedTailwindGenerationSource);
|
|
4180
4327
|
const generatorSourceFile = vitePipelineCssAsset ? rememberedCssSource?.sourceFile ?? assetSourceFile : assetSourceFile;
|
|
4181
|
-
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
|
+
}
|
|
4182
4332
|
const cssHandlerOptions = vitePipelineCssAsset ? {
|
|
4183
4333
|
...getCssHandlerOptions(generatorSourceFile),
|
|
4184
|
-
isMainChunk: outputCssHandlerOptions.isMainChunk
|
|
4334
|
+
isMainChunk: resolvedFromTemporaryCssAsset ? false : outputCssHandlerOptions.isMainChunk
|
|
4185
4335
|
} : getCssHandlerOptions(file);
|
|
4186
4336
|
const generatorCssHandlerOptions = {
|
|
4187
4337
|
...cssHandlerOptions,
|
|
@@ -4577,7 +4727,7 @@ function createViteCssFinalizerOutputPlugin(context) {
|
|
|
4577
4727
|
const applyUtilities = collectUniAppXHarmonyApplyUtilities(bundle);
|
|
4578
4728
|
const applyStyleSources = collectUniAppXHarmonyApplyStyleSources(bundle);
|
|
4579
4729
|
if (applyUtilities.size === 0 || applyStyleSources.length === 0) return cssSources;
|
|
4580
|
-
const harmonyRuntime = new Set([...runtime, ...applyUtilities]);
|
|
4730
|
+
const harmonyRuntime = /* @__PURE__ */ new Set([...runtime, ...applyUtilities]);
|
|
4581
4731
|
const harmonyCssHandlerOptions = createCssHandlerOptions(opts, runtimeState.tailwindRuntime.majorVersion, "uni-app-x-harmony-apply.css");
|
|
4582
4732
|
const generated = await require_source_candidate_scan_signature.generateTailwindV4Css({
|
|
4583
4733
|
opts,
|
|
@@ -4624,7 +4774,7 @@ function createViteCssFinalizerOutputPlugin(context) {
|
|
|
4624
4774
|
await runtimeState.readyPromise;
|
|
4625
4775
|
await waitForSourceCandidateSyncs?.();
|
|
4626
4776
|
const runtime = getRecordedGeneratorCandidates?.() ?? getSourceCandidates?.() ?? await ensureRuntimeClassSet();
|
|
4627
|
-
const collectedGeneratorCandidates = new Set([...runtime, ...getSourceCandidates?.() ?? []]);
|
|
4777
|
+
const collectedGeneratorCandidates = /* @__PURE__ */ new Set([...runtime, ...getSourceCandidates?.() ?? []]);
|
|
4628
4778
|
const generatorRuntime = require_generator.shouldUseMiniProgramCssBranch(generatorBranch) ? require_v4_engine.filterUnsupportedMiniProgramTailwindV4Candidates(collectedGeneratorCandidates) : collectedGeneratorCandidates;
|
|
4629
4779
|
await Promise.all(entries.map(async ([bundleFile, output]) => {
|
|
4630
4780
|
const file = output.fileName || bundleFile;
|
|
@@ -4797,6 +4947,11 @@ function createViteCssMemory(options) {
|
|
|
4797
4947
|
if (source != null) touchMapEntry(knownSfcSources, key, source);
|
|
4798
4948
|
return source;
|
|
4799
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
|
+
};
|
|
4800
4955
|
const rememberCssSource = (entry, cssRuntimeSignature) => {
|
|
4801
4956
|
const outputKey = require_source_candidate_scan_signature.normalizeOutputPathKey(entry.outputFile);
|
|
4802
4957
|
const normalizedSourceFile = normalizeCssSourceIdentity(entry.sourceFile);
|
|
@@ -4915,6 +5070,7 @@ function createViteCssMemory(options) {
|
|
|
4915
5070
|
};
|
|
4916
5071
|
return {
|
|
4917
5072
|
getKnownSfcSource,
|
|
5073
|
+
getKnownCssSource,
|
|
4918
5074
|
getRememberedCssSignature: (file) => rememberedCssSignatureByFile.get(require_source_candidate_scan_signature.normalizeOutputPathKey(file)),
|
|
4919
5075
|
getRememberedCssSourceEntry: (file) => rememberedCssSources.get(require_source_candidate_scan_signature.normalizeOutputPathKey(file)),
|
|
4920
5076
|
getRememberedCssSources: () => rememberedCssSources,
|
|
@@ -5301,7 +5457,7 @@ function createViteRuntimeClassSet(options) {
|
|
|
5301
5457
|
}
|
|
5302
5458
|
//#endregion
|
|
5303
5459
|
//#region src/bundlers/vite/serve-css-generation.ts
|
|
5304
|
-
const SPECIAL_QUERY_RE = /[?&](?:worker|sharedworker|raw|url)\b/;
|
|
5460
|
+
const SPECIAL_QUERY_RE$1 = /[?&](?:worker|sharedworker|raw|url)\b/;
|
|
5305
5461
|
const COMMON_JS_PROXY_RE = /\?commonjs-proxy/;
|
|
5306
5462
|
const VITE_CSS_HMR_MODULE_RE = /\b__vite__updateStyle\s*\(/;
|
|
5307
5463
|
const VITE_CSS_CONST_RE = /\bconst\s+__vite__css\s*=\s*("(?:\\[\s\S]|[^"])*")/;
|
|
@@ -5332,10 +5488,10 @@ function replaceViteCssHmrModuleCss(code, css) {
|
|
|
5332
5488
|
return `${code.slice(0, extracted.start)}${encodeJsStringLiteral(css)}${code.slice(extracted.end)}`;
|
|
5333
5489
|
}
|
|
5334
5490
|
function isViteServeStyleRequest(id, command) {
|
|
5335
|
-
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);
|
|
5336
5492
|
}
|
|
5337
5493
|
function isViteServeCssRootRequest(id, command) {
|
|
5338
|
-
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);
|
|
5339
5495
|
}
|
|
5340
5496
|
function isViteCssHmrModule(code, id, command) {
|
|
5341
5497
|
return isViteServeStyleRequest(id, command) && VITE_CSS_HMR_MODULE_RE.test(code) && /[?&](?:direct|vue)(?:&|$)/.test(id);
|
|
@@ -5377,6 +5533,32 @@ function createViteServeCssGenerationPlugins(options) {
|
|
|
5377
5533
|
}];
|
|
5378
5534
|
}
|
|
5379
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
|
|
5380
5562
|
//#region src/bundlers/vite/tailwind-basedir.ts
|
|
5381
5563
|
const PACKAGE_JSON_FILE = "package.json";
|
|
5382
5564
|
function resolveImplicitTailwindcssBasedirFromViteRoot(root) {
|
|
@@ -5471,6 +5653,7 @@ function WeappTailwindcss(options = {}) {
|
|
|
5471
5653
|
if (autoCssSourceContent.get(sourceFile) === sourceCss) return;
|
|
5472
5654
|
autoCssSourceContent.set(sourceFile, sourceCss);
|
|
5473
5655
|
await syncTailwindCssSourceCandidates(sourceFile, sourceCss);
|
|
5656
|
+
cssMemory.refreshRememberedCssSourceBySourceFile(sourceFile, sourceCss);
|
|
5474
5657
|
const transientSource = {
|
|
5475
5658
|
file: sourceFile,
|
|
5476
5659
|
base: sourceBase,
|
|
@@ -5597,7 +5780,7 @@ function WeappTailwindcss(options = {}) {
|
|
|
5597
5780
|
root
|
|
5598
5781
|
}];
|
|
5599
5782
|
const normalizedRoot = node_path.default.resolve(root);
|
|
5600
|
-
const seenRoots = new Set([normalizedRoot]);
|
|
5783
|
+
const seenRoots = /* @__PURE__ */ new Set([normalizedRoot]);
|
|
5601
5784
|
const basedir = opts.tailwindcssBasedir ? node_path.default.resolve(opts.tailwindcssBasedir) : void 0;
|
|
5602
5785
|
if (basedir && !seenRoots.has(basedir)) {
|
|
5603
5786
|
roots.push({ root: basedir });
|
|
@@ -5780,6 +5963,10 @@ function WeappTailwindcss(options = {}) {
|
|
|
5780
5963
|
...resolveUniAppXNativeCssHandlerOptions(opts)
|
|
5781
5964
|
})
|
|
5782
5965
|
});
|
|
5966
|
+
const serveJsHandlerOptions = createJsHandlerOptionsFactory({
|
|
5967
|
+
getMajorVersion: () => runtimeState.tailwindRuntime.majorVersion,
|
|
5968
|
+
moduleGraph: void 0
|
|
5969
|
+
});
|
|
5783
5970
|
const generateTailwindCssForVitePipeline = async (id, code, hookContext) => {
|
|
5784
5971
|
if (!shouldOwnTailwindGeneration) return;
|
|
5785
5972
|
await runtimeState.readyPromise;
|
|
@@ -5798,7 +5985,11 @@ function WeappTailwindcss(options = {}) {
|
|
|
5798
5985
|
...transformCssHandlerOptions.getCssHandlerOptions(file),
|
|
5799
5986
|
isMainChunk: outputCssHandlerOptions.isMainChunk
|
|
5800
5987
|
};
|
|
5801
|
-
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);
|
|
5802
5993
|
const shouldDeferEmptyScopedCssSource = transientCssSource == null && !(opts.appType === "uni-app-x" && !cssHandlerOptions.isMainChunk && require_v4_engine.hasTailwindApplyDirective(code));
|
|
5803
5994
|
const generated = await require_source_candidate_scan_signature.generateTailwindV4Css({
|
|
5804
5995
|
opts,
|
|
@@ -5886,6 +6077,7 @@ function WeappTailwindcss(options = {}) {
|
|
|
5886
6077
|
getRememberedCssSources: cssMemory.getRememberedCssSources,
|
|
5887
6078
|
getRememberedCssSignature: cssMemory.getRememberedCssSignature,
|
|
5888
6079
|
setRememberedCssSignature: cssMemory.setRememberedCssSignature,
|
|
6080
|
+
getKnownCssSource: cssMemory.getKnownCssSource,
|
|
5889
6081
|
getKnownSfcSource: cssMemory.getKnownSfcSource,
|
|
5890
6082
|
recordGeneratorCandidates,
|
|
5891
6083
|
pruneViteCssCaches,
|
|
@@ -5993,6 +6185,13 @@ function WeappTailwindcss(options = {}) {
|
|
|
5993
6185
|
onTailwindRootCss: (id, code) => registerAutoCssSource(id, code),
|
|
5994
6186
|
shouldGenerate: () => shouldOwnTailwindGeneration
|
|
5995
6187
|
}),
|
|
6188
|
+
createViteServeJsTransformPlugin({
|
|
6189
|
+
createHandlerOptions: serveJsHandlerOptions,
|
|
6190
|
+
getCommand: () => resolvedConfig?.command,
|
|
6191
|
+
jsHandler,
|
|
6192
|
+
shouldTransform: () => shouldOwnTailwindGeneration && !generatorBranch.isWeb,
|
|
6193
|
+
transformRuntime: ensureRuntimeClassSet
|
|
6194
|
+
}),
|
|
5996
6195
|
{
|
|
5997
6196
|
name: `${require_context.vitePluginName}:post`,
|
|
5998
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 };
|