weapp-tailwindcss 5.1.4 → 5.1.6
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 +1 -1
- package/README.md +1 -1
- package/dist/bundlers/shared/generator-css/generation-helpers.d.ts +8 -2
- package/dist/bundlers/shared/generator-css/source-resolver/metadata.d.ts +5 -1
- package/dist/bundlers/shared/generator-css/types.d.ts +1 -0
- package/dist/bundlers/shared/generator-css/user-css.d.ts +4 -1
- package/dist/bundlers/vite/generate-bundle/finalize.d.ts +1 -0
- package/dist/bundlers/vite/generate-bundle/remembered-css-replay.d.ts +1 -0
- package/dist/bundlers/vite/generate-bundle/tailwind-v4-css-source.d.ts +6 -3
- package/dist/bundlers/vite/hot-css-modules.d.ts +1 -0
- package/dist/bundlers/vite/processed-css-assets.d.ts +7 -0
- package/dist/bundlers/vite/source-scan/css-entries.d.ts +1 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers.d.ts +2 -1
- package/dist/cli.js +18 -3
- package/dist/cli.mjs +16 -1
- package/dist/{context-Bkpmt3ja.mjs → context-3GGqW9vw.mjs} +20 -5
- package/dist/{context-DCVMkTRj.js → context-BCSk_YnL.js} +23 -8
- package/dist/core.js +1 -1
- package/dist/core.mjs +1 -1
- package/dist/css-macro/index.d.ts +2 -1
- package/dist/{defaults-BhE26nSw.mjs → defaults-9B6aMyZb.mjs} +2 -2
- package/dist/{defaults-DQhgnnn-.js → defaults-nsf4VNMX.js} +2 -2
- package/dist/defaults.d.ts +1 -1
- package/dist/defaults.js +1 -1
- package/dist/defaults.mjs +1 -1
- package/dist/{generator-24-HgU9F.mjs → generator-CoT5vu9w.mjs} +2 -2
- package/dist/{generator-CilgHtxb.js → generator-CqWzj2Z1.js} +2 -2
- package/dist/generator.js +2 -2
- package/dist/generator.mjs +2 -2
- package/dist/{gulp-0RsqkF_d.mjs → gulp-Bss4wJ8t.mjs} +4 -4
- package/dist/{gulp-Bogfnoki.js → gulp-hXE1U4Cu.js} +4 -4
- package/dist/gulp.js +1 -1
- package/dist/gulp.mjs +1 -1
- package/dist/{hmr-timing-BRNaz8Od.mjs → hmr-timing-Cfu-4Bnf.mjs} +229 -576
- package/dist/{hmr-timing-BV6nFPoT.js → hmr-timing-Df4203aI.js} +253 -630
- package/dist/index.js +4 -4
- package/dist/index.mjs +4 -4
- package/dist/js/js-string-escape.d.ts +1 -0
- package/dist/postcss.js +2 -2
- package/dist/postcss.mjs +2 -2
- package/dist/presets.js +6 -3
- package/dist/presets.mjs +6 -3
- package/dist/rspack.js +1 -1
- package/dist/rspack.mjs +1 -1
- package/dist/runtime-branch/generator-target-env.d.ts +1 -0
- package/dist/{source-candidate-scan-signature-CaDT0gkj.js → source-candidate-scan-signature-5Uk6U72B.js} +168 -5
- package/dist/{source-candidate-scan-signature-BB1hvW68.mjs → source-candidate-scan-signature-BbCmW975.mjs} +157 -6
- package/dist/style-injector/internal.d.ts +7 -0
- package/dist/style-injector/options.d.ts +25 -0
- package/dist/tailwindcss/v4/preflight.d.ts +4 -0
- package/dist/{tailwindcss-D0JF0fuZ.mjs → tailwindcss-Bjr3aphG.mjs} +62 -15
- package/dist/{tailwindcss-D2xs4OEu.js → tailwindcss-DYJ3HZD2.js} +67 -14
- package/dist/{transform-BP86eSZp.mjs → transform--155BmeJ.mjs} +1 -1
- package/dist/{transform-CXCQ28Tc.js → transform-B6_y_yCB.js} +1 -1
- package/dist/typedoc.export.d.ts +1 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/user-defined-options/general.d.ts +2 -0
- package/dist/{v4-engine-CKtsdKxK.js → v4-engine-C9cmNlP8.js} +610 -3
- package/dist/{v4-engine-BuuYDXt1.mjs → v4-engine-DRQaCFMm.mjs} +529 -6
- package/dist/{vite-BYgT1ir9.js → vite-Baw9qNrc.js} +652 -140
- package/dist/{vite-B1SlBmqO.mjs → vite-PdxjaqhO.mjs} +653 -141
- package/dist/vite.js +1 -1
- package/dist/vite.mjs +1 -1
- package/dist/weapp-tw-css-import-rewrite-loader.js +2981 -2752
- package/dist/{webpack-Bg6pefpb.mjs → webpack-BffTDmod.mjs} +69 -26
- package/dist/{webpack-khSwkXP5.js → webpack-C9u7mfGE.js} +74 -31
- package/dist/webpack.js +1 -1
- package/dist/webpack.mjs +1 -1
- package/package.json +16 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ct as collectCssInlineSourceCandidates, Et as omitUndefined, _ as resolveTailwindcssOptions, _t as normalizeLegacyContentEntries, a as filterTailwindV4CssSourceRoots, c as groupCssEntriesByBase, d as normalizeCssEntries, f as findNearestPackageRoot, g as normalizeTailwindcssRuntimeOptions, h as normalizeExtendLengthUnits, ht as expandTailwindSourceEntries, i as resolveTailwindV4SourceOptionsFromRuntime, kt as loadTailwindV4DesignSystem, l as guessBasedirFromEntries, m as findWorkspaceRoot, mt as createTailwindSourceEntryMatcher, n as resolveTailwindV4SourceFromRuntime, o as hasConfiguredTailwindV4CssRoots, p as findWorkspacePackageDir, pt as FULL_SOURCE_SCAN_PATTERN, u as isTailwindV4CssEntry, v as normalizeStringListOption, vt as parseConfigParam, wt as resolveCssMacroTailwindV4Source, xt as resolveTailwindV4CssSourceBase, yt as resolveCssSourceEntries } from "./v4-engine-DRQaCFMm.mjs";
|
|
2
2
|
import { n as defuOverrideArray$1 } from "./utils-DodxWHGz.mjs";
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
4
|
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
@@ -12,6 +12,41 @@ import { logger } from "@weapp-tailwindcss/logger";
|
|
|
12
12
|
import fg from "fast-glob";
|
|
13
13
|
import { loadConfig } from "tailwindcss-config";
|
|
14
14
|
import { fileURLToPath } from "node:url";
|
|
15
|
+
//#region src/tailwindcss/v4/preflight.ts
|
|
16
|
+
function parseCssImportSpecifier(params) {
|
|
17
|
+
const value = params.trim();
|
|
18
|
+
const quoted = /^(['"])(.*?)\1/.exec(value);
|
|
19
|
+
if (quoted) return quoted[2];
|
|
20
|
+
const url = /^url\(\s*(?:(['"])(.*?)\1|([^'")\s]+))\s*\)/.exec(value);
|
|
21
|
+
return url?.[2] ?? url?.[3];
|
|
22
|
+
}
|
|
23
|
+
function normalizeTailwindImportSpecifier(params) {
|
|
24
|
+
return parseCssImportSpecifier(params)?.replaceAll("\\", "/");
|
|
25
|
+
}
|
|
26
|
+
function isTailwindV4CssImportParam(params) {
|
|
27
|
+
const specifier = normalizeTailwindImportSpecifier(params);
|
|
28
|
+
return specifier === "tailwindcss" || specifier === "tailwindcss4" || specifier?.startsWith("tailwindcss/") === true || specifier?.startsWith("tailwindcss4/") === true || specifier?.endsWith("/tailwindcss/index.css") === true;
|
|
29
|
+
}
|
|
30
|
+
function isTailwindV4PreflightImportParam(params) {
|
|
31
|
+
const specifier = normalizeTailwindImportSpecifier(params);
|
|
32
|
+
return specifier === "tailwindcss" || specifier === "tailwindcss4" || specifier === "tailwindcss/preflight" || specifier === "tailwindcss/preflight.css" || specifier === "tailwindcss4/preflight" || specifier === "tailwindcss4/preflight.css" || specifier?.endsWith("/tailwindcss/index.css") === true || specifier?.endsWith("/tailwindcss/preflight.css") === true;
|
|
33
|
+
}
|
|
34
|
+
function includesTailwindV4PreflightDirective(css) {
|
|
35
|
+
try {
|
|
36
|
+
const root = postcss.parse(css);
|
|
37
|
+
let includesPreflight = false;
|
|
38
|
+
root.walkAtRules("import", (rule) => {
|
|
39
|
+
includesPreflight || (includesPreflight = isTailwindV4PreflightImportParam(rule.params));
|
|
40
|
+
});
|
|
41
|
+
root.walkAtRules("tailwind", (rule) => {
|
|
42
|
+
includesPreflight || (includesPreflight = rule.params.trim() === "base");
|
|
43
|
+
});
|
|
44
|
+
return includesPreflight;
|
|
45
|
+
} catch {
|
|
46
|
+
return /@import\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/(?:preflight(?:\.css)?|index\.css))?["')\s;]/.test(css) || /@tailwind\s+base\b/.test(css);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//#endregion
|
|
15
50
|
//#region src/bundlers/vite/static-config-content.ts
|
|
16
51
|
function skipWhitespaceAndComments(source, start) {
|
|
17
52
|
let index = start;
|
|
@@ -194,17 +229,6 @@ function parseImportSourceParam(params) {
|
|
|
194
229
|
sourcePath: match[3]
|
|
195
230
|
};
|
|
196
231
|
}
|
|
197
|
-
function parseCssImportSpecifier(params) {
|
|
198
|
-
const value = params.trim();
|
|
199
|
-
const quoted = /^(['"])(.*?)\1/.exec(value);
|
|
200
|
-
if (quoted) return quoted[2];
|
|
201
|
-
const url = /^url\(\s*(?:(['"])(.*?)\1|([^'")\s]+))\s*\)/.exec(value);
|
|
202
|
-
return url?.[2] ?? url?.[3];
|
|
203
|
-
}
|
|
204
|
-
function isTailwindCssImport(params) {
|
|
205
|
-
const specifier = parseCssImportSpecifier(params);
|
|
206
|
-
return specifier === "tailwindcss" || specifier?.startsWith("tailwindcss/") || specifier?.replaceAll("\\", "/").endsWith("/tailwindcss/index.css");
|
|
207
|
-
}
|
|
208
232
|
function resolveSourceBase(base, sourcePath) {
|
|
209
233
|
return path.isAbsolute(sourcePath) ? sourcePath : path.resolve(base, sourcePath);
|
|
210
234
|
}
|
|
@@ -294,17 +318,22 @@ async function resolveTailwindV4EntriesFromCss(css, base) {
|
|
|
294
318
|
let importSourceBase;
|
|
295
319
|
let hasSourceNone = false;
|
|
296
320
|
let hasTailwindCssImport = false;
|
|
321
|
+
let includesPreflight = false;
|
|
297
322
|
const [sourceEntries, configEntries] = await Promise.all([resolveCssSourceEntries(root, base, VITE_SOURCE_CANDIDATE_PATTERN), resolveConfigContentEntries(root, base)]);
|
|
298
323
|
const entries = [...configEntries.entries, ...sourceEntries];
|
|
299
324
|
const hasPositiveEntries = entries.some((entry) => !entry.negated);
|
|
300
325
|
const inlineCandidates = collectCssInlineSourceCandidates(root);
|
|
301
326
|
root.walkAtRules("import", (rule) => {
|
|
302
|
-
if (!
|
|
327
|
+
if (!isTailwindV4CssImportParam(rule.params)) return;
|
|
303
328
|
hasTailwindCssImport = true;
|
|
329
|
+
includesPreflight || (includesPreflight = isTailwindV4PreflightImportParam(rule.params));
|
|
304
330
|
const sourceParam = parseImportSourceParam(rule.params);
|
|
305
331
|
if (sourceParam?.none) hasSourceNone = true;
|
|
306
332
|
if (sourceParam?.sourcePath) importSourceBase = resolveSourceBase(base, sourceParam.sourcePath);
|
|
307
333
|
});
|
|
334
|
+
root.walkAtRules("tailwind", (rule) => {
|
|
335
|
+
includesPreflight || (includesPreflight = rule.params.trim() === "base");
|
|
336
|
+
});
|
|
308
337
|
if (importSourceBase) return {
|
|
309
338
|
entries: [{
|
|
310
339
|
base: importSourceBase,
|
|
@@ -312,30 +341,35 @@ async function resolveTailwindV4EntriesFromCss(css, base) {
|
|
|
312
341
|
pattern: VITE_SOURCE_CANDIDATE_PATTERN
|
|
313
342
|
}, ...entries],
|
|
314
343
|
explicit: true,
|
|
344
|
+
includesPreflight,
|
|
315
345
|
inlineCandidates,
|
|
316
346
|
dependencies: configEntries.dependencies
|
|
317
347
|
};
|
|
318
348
|
if (hasSourceNone) return {
|
|
319
349
|
entries,
|
|
320
350
|
explicit: true,
|
|
351
|
+
includesPreflight,
|
|
321
352
|
inlineCandidates,
|
|
322
353
|
dependencies: configEntries.dependencies
|
|
323
354
|
};
|
|
324
355
|
if (hasPositiveEntries) return {
|
|
325
356
|
entries,
|
|
326
357
|
explicit: true,
|
|
358
|
+
includesPreflight,
|
|
327
359
|
inlineCandidates,
|
|
328
360
|
dependencies: configEntries.dependencies
|
|
329
361
|
};
|
|
330
362
|
if (inlineCandidates.included.size > 0 || inlineCandidates.excluded.size > 0) return {
|
|
331
363
|
entries: [],
|
|
332
364
|
explicit: true,
|
|
365
|
+
includesPreflight,
|
|
333
366
|
inlineCandidates,
|
|
334
367
|
dependencies: configEntries.dependencies
|
|
335
368
|
};
|
|
336
369
|
return hasTailwindCssImport ? {
|
|
337
370
|
entries,
|
|
338
371
|
explicit: false,
|
|
372
|
+
includesPreflight,
|
|
339
373
|
inlineCandidates,
|
|
340
374
|
dependencies: configEntries.dependencies
|
|
341
375
|
} : void 0;
|
|
@@ -940,6 +974,19 @@ function createEngineTailwindcssRuntime(options) {
|
|
|
940
974
|
if (typeof options.filter !== "function") return classSet;
|
|
941
975
|
return new Set([...classSet].filter((className) => options.filter?.(className) !== false));
|
|
942
976
|
}
|
|
977
|
+
function hasTailwindV4ApplyContext(css) {
|
|
978
|
+
if (!css.includes("@apply")) return false;
|
|
979
|
+
try {
|
|
980
|
+
const root = postcss.parse(css);
|
|
981
|
+
let hasContext = false;
|
|
982
|
+
root.walkAtRules((rule) => {
|
|
983
|
+
if (rule.name === "reference" || rule.name === "import" || rule.name === "tailwind" && rule.params.trim() === "utilities") hasContext = true;
|
|
984
|
+
});
|
|
985
|
+
return hasContext;
|
|
986
|
+
} catch {
|
|
987
|
+
return false;
|
|
988
|
+
}
|
|
989
|
+
}
|
|
943
990
|
async function collectClassSet() {
|
|
944
991
|
const report = await collectContentTokens();
|
|
945
992
|
const rawCandidates = new Set(report.entries.map((entry) => {
|
|
@@ -955,7 +1002,7 @@ function createEngineTailwindcssRuntime(options) {
|
|
|
955
1002
|
const source = resolveCssMacroTailwindV4Source(await resolveTailwindV4SourceFromRuntime(runtime));
|
|
956
1003
|
const cssList = [source.css, ...(source.cssSources ?? []).map((cssSource) => cssSource.css).filter((css) => typeof css === "string")];
|
|
957
1004
|
for (const css of cssList) {
|
|
958
|
-
if (!css
|
|
1005
|
+
if (!hasTailwindV4ApplyContext(css)) continue;
|
|
959
1006
|
try {
|
|
960
1007
|
postcss.parse(css).walkAtRules("apply", (rule) => {
|
|
961
1008
|
for (const candidate of rule.params.split(/\s+/)) {
|
|
@@ -1420,4 +1467,4 @@ function createTailwindcssRuntimeFromContext(ctx) {
|
|
|
1420
1467
|
return createTailwindcssRuntimeForBase(resolvedTailwindcssBasedir, normalizedCssEntries ?? rawCssEntries, runtimeOptions);
|
|
1421
1468
|
}
|
|
1422
1469
|
//#endregion
|
|
1423
|
-
export { resolveViteTailwindV4CssDependencies as _, findTailwindConfig as a, getRuntimeClassSetCacheEntry as c, invalidateRuntimeClassSet as d, createViteSourceScanMatcher as f, resolveTailwindV4EntriesFromCssCached as g, resolveTailwindV4EntriesFromCss as h, resolveUniAppXOptions as i, getRuntimeClassSetSignature as l, discoverTailwindV4CssEntries as m, resolveTailwindcssBasedir as n, applyV4CssCalcDefaults as o, resolveViteSourceScanEntries as p, isUniAppXEnabled as r, warnMissingCssEntries as s, createTailwindcssRuntimeFromContext as t, getRuntimeClassSetSignatureWithSources as u };
|
|
1470
|
+
export { resolveViteTailwindV4CssDependencies as _, findTailwindConfig as a, getRuntimeClassSetCacheEntry as c, invalidateRuntimeClassSet as d, createViteSourceScanMatcher as f, resolveTailwindV4EntriesFromCssCached as g, resolveTailwindV4EntriesFromCss as h, resolveUniAppXOptions as i, getRuntimeClassSetSignature as l, discoverTailwindV4CssEntries as m, resolveTailwindcssBasedir as n, applyV4CssCalcDefaults as o, resolveViteSourceScanEntries as p, isUniAppXEnabled as r, warnMissingCssEntries as s, createTailwindcssRuntimeFromContext as t, getRuntimeClassSetSignatureWithSources as u, includesTailwindV4PreflightDirective as v };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.js");
|
|
2
|
-
const require_v4_engine = require("./v4-engine-
|
|
2
|
+
const require_v4_engine = require("./v4-engine-C9cmNlP8.js");
|
|
3
3
|
require("./utils-D3h8j7Mk.js");
|
|
4
4
|
let node_fs = require("node:fs");
|
|
5
5
|
let node_path = require("node:path");
|
|
@@ -16,6 +16,41 @@ let fast_glob = require("fast-glob");
|
|
|
16
16
|
fast_glob = require_rolldown_runtime.__toESM(fast_glob);
|
|
17
17
|
let tailwindcss_config = require("tailwindcss-config");
|
|
18
18
|
let node_url = require("node:url");
|
|
19
|
+
//#region src/tailwindcss/v4/preflight.ts
|
|
20
|
+
function parseCssImportSpecifier(params) {
|
|
21
|
+
const value = params.trim();
|
|
22
|
+
const quoted = /^(['"])(.*?)\1/.exec(value);
|
|
23
|
+
if (quoted) return quoted[2];
|
|
24
|
+
const url = /^url\(\s*(?:(['"])(.*?)\1|([^'")\s]+))\s*\)/.exec(value);
|
|
25
|
+
return url?.[2] ?? url?.[3];
|
|
26
|
+
}
|
|
27
|
+
function normalizeTailwindImportSpecifier(params) {
|
|
28
|
+
return parseCssImportSpecifier(params)?.replaceAll("\\", "/");
|
|
29
|
+
}
|
|
30
|
+
function isTailwindV4CssImportParam(params) {
|
|
31
|
+
const specifier = normalizeTailwindImportSpecifier(params);
|
|
32
|
+
return specifier === "tailwindcss" || specifier === "tailwindcss4" || specifier?.startsWith("tailwindcss/") === true || specifier?.startsWith("tailwindcss4/") === true || specifier?.endsWith("/tailwindcss/index.css") === true;
|
|
33
|
+
}
|
|
34
|
+
function isTailwindV4PreflightImportParam(params) {
|
|
35
|
+
const specifier = normalizeTailwindImportSpecifier(params);
|
|
36
|
+
return specifier === "tailwindcss" || specifier === "tailwindcss4" || specifier === "tailwindcss/preflight" || specifier === "tailwindcss/preflight.css" || specifier === "tailwindcss4/preflight" || specifier === "tailwindcss4/preflight.css" || specifier?.endsWith("/tailwindcss/index.css") === true || specifier?.endsWith("/tailwindcss/preflight.css") === true;
|
|
37
|
+
}
|
|
38
|
+
function includesTailwindV4PreflightDirective(css) {
|
|
39
|
+
try {
|
|
40
|
+
const root = _weapp_tailwindcss_postcss.postcss.parse(css);
|
|
41
|
+
let includesPreflight = false;
|
|
42
|
+
root.walkAtRules("import", (rule) => {
|
|
43
|
+
includesPreflight || (includesPreflight = isTailwindV4PreflightImportParam(rule.params));
|
|
44
|
+
});
|
|
45
|
+
root.walkAtRules("tailwind", (rule) => {
|
|
46
|
+
includesPreflight || (includesPreflight = rule.params.trim() === "base");
|
|
47
|
+
});
|
|
48
|
+
return includesPreflight;
|
|
49
|
+
} catch {
|
|
50
|
+
return /@import\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/(?:preflight(?:\.css)?|index\.css))?["')\s;]/.test(css) || /@tailwind\s+base\b/.test(css);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
19
54
|
//#region src/bundlers/vite/static-config-content.ts
|
|
20
55
|
function skipWhitespaceAndComments(source, start) {
|
|
21
56
|
let index = start;
|
|
@@ -198,17 +233,6 @@ function parseImportSourceParam(params) {
|
|
|
198
233
|
sourcePath: match[3]
|
|
199
234
|
};
|
|
200
235
|
}
|
|
201
|
-
function parseCssImportSpecifier(params) {
|
|
202
|
-
const value = params.trim();
|
|
203
|
-
const quoted = /^(['"])(.*?)\1/.exec(value);
|
|
204
|
-
if (quoted) return quoted[2];
|
|
205
|
-
const url = /^url\(\s*(?:(['"])(.*?)\1|([^'")\s]+))\s*\)/.exec(value);
|
|
206
|
-
return url?.[2] ?? url?.[3];
|
|
207
|
-
}
|
|
208
|
-
function isTailwindCssImport(params) {
|
|
209
|
-
const specifier = parseCssImportSpecifier(params);
|
|
210
|
-
return specifier === "tailwindcss" || specifier?.startsWith("tailwindcss/") || specifier?.replaceAll("\\", "/").endsWith("/tailwindcss/index.css");
|
|
211
|
-
}
|
|
212
236
|
function resolveSourceBase(base, sourcePath) {
|
|
213
237
|
return node_path.default.isAbsolute(sourcePath) ? sourcePath : node_path.default.resolve(base, sourcePath);
|
|
214
238
|
}
|
|
@@ -298,17 +322,22 @@ async function resolveTailwindV4EntriesFromCss(css, base) {
|
|
|
298
322
|
let importSourceBase;
|
|
299
323
|
let hasSourceNone = false;
|
|
300
324
|
let hasTailwindCssImport = false;
|
|
325
|
+
let includesPreflight = false;
|
|
301
326
|
const [sourceEntries, configEntries] = await Promise.all([require_v4_engine.resolveCssSourceEntries(root, base, VITE_SOURCE_CANDIDATE_PATTERN), resolveConfigContentEntries(root, base)]);
|
|
302
327
|
const entries = [...configEntries.entries, ...sourceEntries];
|
|
303
328
|
const hasPositiveEntries = entries.some((entry) => !entry.negated);
|
|
304
329
|
const inlineCandidates = require_v4_engine.collectCssInlineSourceCandidates(root);
|
|
305
330
|
root.walkAtRules("import", (rule) => {
|
|
306
|
-
if (!
|
|
331
|
+
if (!isTailwindV4CssImportParam(rule.params)) return;
|
|
307
332
|
hasTailwindCssImport = true;
|
|
333
|
+
includesPreflight || (includesPreflight = isTailwindV4PreflightImportParam(rule.params));
|
|
308
334
|
const sourceParam = parseImportSourceParam(rule.params);
|
|
309
335
|
if (sourceParam?.none) hasSourceNone = true;
|
|
310
336
|
if (sourceParam?.sourcePath) importSourceBase = resolveSourceBase(base, sourceParam.sourcePath);
|
|
311
337
|
});
|
|
338
|
+
root.walkAtRules("tailwind", (rule) => {
|
|
339
|
+
includesPreflight || (includesPreflight = rule.params.trim() === "base");
|
|
340
|
+
});
|
|
312
341
|
if (importSourceBase) return {
|
|
313
342
|
entries: [{
|
|
314
343
|
base: importSourceBase,
|
|
@@ -316,30 +345,35 @@ async function resolveTailwindV4EntriesFromCss(css, base) {
|
|
|
316
345
|
pattern: VITE_SOURCE_CANDIDATE_PATTERN
|
|
317
346
|
}, ...entries],
|
|
318
347
|
explicit: true,
|
|
348
|
+
includesPreflight,
|
|
319
349
|
inlineCandidates,
|
|
320
350
|
dependencies: configEntries.dependencies
|
|
321
351
|
};
|
|
322
352
|
if (hasSourceNone) return {
|
|
323
353
|
entries,
|
|
324
354
|
explicit: true,
|
|
355
|
+
includesPreflight,
|
|
325
356
|
inlineCandidates,
|
|
326
357
|
dependencies: configEntries.dependencies
|
|
327
358
|
};
|
|
328
359
|
if (hasPositiveEntries) return {
|
|
329
360
|
entries,
|
|
330
361
|
explicit: true,
|
|
362
|
+
includesPreflight,
|
|
331
363
|
inlineCandidates,
|
|
332
364
|
dependencies: configEntries.dependencies
|
|
333
365
|
};
|
|
334
366
|
if (inlineCandidates.included.size > 0 || inlineCandidates.excluded.size > 0) return {
|
|
335
367
|
entries: [],
|
|
336
368
|
explicit: true,
|
|
369
|
+
includesPreflight,
|
|
337
370
|
inlineCandidates,
|
|
338
371
|
dependencies: configEntries.dependencies
|
|
339
372
|
};
|
|
340
373
|
return hasTailwindCssImport ? {
|
|
341
374
|
entries,
|
|
342
375
|
explicit: false,
|
|
376
|
+
includesPreflight,
|
|
343
377
|
inlineCandidates,
|
|
344
378
|
dependencies: configEntries.dependencies
|
|
345
379
|
} : void 0;
|
|
@@ -944,6 +978,19 @@ function createEngineTailwindcssRuntime(options) {
|
|
|
944
978
|
if (typeof options.filter !== "function") return classSet;
|
|
945
979
|
return new Set([...classSet].filter((className) => options.filter?.(className) !== false));
|
|
946
980
|
}
|
|
981
|
+
function hasTailwindV4ApplyContext(css) {
|
|
982
|
+
if (!css.includes("@apply")) return false;
|
|
983
|
+
try {
|
|
984
|
+
const root = _weapp_tailwindcss_postcss.postcss.parse(css);
|
|
985
|
+
let hasContext = false;
|
|
986
|
+
root.walkAtRules((rule) => {
|
|
987
|
+
if (rule.name === "reference" || rule.name === "import" || rule.name === "tailwind" && rule.params.trim() === "utilities") hasContext = true;
|
|
988
|
+
});
|
|
989
|
+
return hasContext;
|
|
990
|
+
} catch {
|
|
991
|
+
return false;
|
|
992
|
+
}
|
|
993
|
+
}
|
|
947
994
|
async function collectClassSet() {
|
|
948
995
|
const report = await collectContentTokens();
|
|
949
996
|
const rawCandidates = new Set(report.entries.map((entry) => {
|
|
@@ -959,7 +1006,7 @@ function createEngineTailwindcssRuntime(options) {
|
|
|
959
1006
|
const source = require_v4_engine.resolveCssMacroTailwindV4Source(await require_v4_engine.resolveTailwindV4SourceFromRuntime(runtime));
|
|
960
1007
|
const cssList = [source.css, ...(source.cssSources ?? []).map((cssSource) => cssSource.css).filter((css) => typeof css === "string")];
|
|
961
1008
|
for (const css of cssList) {
|
|
962
|
-
if (!css
|
|
1009
|
+
if (!hasTailwindV4ApplyContext(css)) continue;
|
|
963
1010
|
try {
|
|
964
1011
|
_weapp_tailwindcss_postcss.postcss.parse(css).walkAtRules("apply", (rule) => {
|
|
965
1012
|
for (const candidate of rule.params.split(/\s+/)) {
|
|
@@ -1472,6 +1519,12 @@ Object.defineProperty(exports, "getRuntimeClassSetSignatureWithSources", {
|
|
|
1472
1519
|
return getRuntimeClassSetSignatureWithSources;
|
|
1473
1520
|
}
|
|
1474
1521
|
});
|
|
1522
|
+
Object.defineProperty(exports, "includesTailwindV4PreflightDirective", {
|
|
1523
|
+
enumerable: true,
|
|
1524
|
+
get: function() {
|
|
1525
|
+
return includesTailwindV4PreflightDirective;
|
|
1526
|
+
}
|
|
1527
|
+
});
|
|
1475
1528
|
Object.defineProperty(exports, "invalidateRuntimeClassSet", {
|
|
1476
1529
|
enumerable: true,
|
|
1477
1530
|
get: function() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as createAttributeMatcher, d as JsTokenUpdater, f as _defineProperty, h as babelParse, m as replaceWxml, p as isClassContextLiteralPath, s as generateCode, u as analyzeSource } from "./context-
|
|
1
|
+
import { c as createAttributeMatcher, d as JsTokenUpdater, f as _defineProperty, h as babelParse, m as replaceWxml, p as isClassContextLiteralPath, s as generateCode, u as analyzeSource } from "./context-3GGqW9vw.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import { splitCandidateTokens } from "@tailwindcss-mangle/engine";
|
|
4
4
|
import MagicString from "magic-string";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.js");
|
|
2
|
-
const require_context = require("./context-
|
|
2
|
+
const require_context = require("./context-BCSk_YnL.js");
|
|
3
3
|
let _tailwindcss_mangle_engine = require("@tailwindcss-mangle/engine");
|
|
4
4
|
let magic_string = require("magic-string");
|
|
5
5
|
magic_string = require_rolldown_runtime.__toESM(magic_string);
|
package/dist/typedoc.export.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export type { WeappTailwindcssGenerateOptions, WeappTailwindcssGenerateResult, WeappTailwindcssGenerator, WeappTailwindcssGeneratorTarget, WeappTailwindcssPostcssPluginOptions, } from './index';
|
|
2
|
+
export type { WeappTailwindcssStyleInjectorOptions } from './types';
|
|
2
3
|
export type { ApplyOptions, CacheOptions, ExtractOptions, TailwindCssOptions, TailwindCssRuntimeOptions, TailwindV4Options, } from './types/typedoc-tailwindcss-runtime';
|
|
3
4
|
export type { UserDefinedOptions } from './types/user-defined-options';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -7,8 +7,9 @@ import type { AppType, IArbitraryValues, ICustomAttributesEntities } from './sha
|
|
|
7
7
|
import type { UniAppXComponentLocalStylesOptions, UniAppXOptions as UniAppXUserDefinedOptions, UserDefinedOptions } from './user-defined-options';
|
|
8
8
|
import type { LengthUnitsRuntimeOptions, TailwindContentTokenReport, TailwindcssExtractOptions, TailwindcssExtractResult, TailwindCssOptions, TailwindCssRuntimeOptions, TailwindPackageInfo } from '../tailwindcss/runtime-types';
|
|
9
9
|
export type { TailwindCssOptions, TailwindCssRuntimeOptions, UniAppXComponentLocalStylesOptions, UniAppXUserDefinedOptions, UserDefinedOptions, };
|
|
10
|
-
export type { CssPreflightOptions, IStyleHandlerOptions, ItemOrItemArray };
|
|
11
10
|
export type { AppType, IArbitraryValues, ICustomAttributes, ICustomAttributesEntities, IUnocssCompatibilityOptions } from './shared';
|
|
11
|
+
export type { CssPreflightOptions, IStyleHandlerOptions, ItemOrItemArray };
|
|
12
|
+
export type { WeappTailwindcssStyleInjectorOptions } from '../style-injector/internal';
|
|
12
13
|
export type RequiredDefined<T> = {
|
|
13
14
|
[K in keyof T]-?: Exclude<T[K], undefined>;
|
|
14
15
|
};
|
|
@@ -2,6 +2,7 @@ import type { ParserOptions } from '@babel/parser';
|
|
|
2
2
|
import type { CssOptions, LoadedPostcssOptions } from '@weapp-tailwindcss/postcss/types';
|
|
3
3
|
import type { ICreateCacheReturnType } from '../../cache';
|
|
4
4
|
import type { WeappTailwindcssGeneratorUserOptions } from '../../generator';
|
|
5
|
+
import type { WeappTailwindcssStyleInjectorUserOptions } from '../../style-injector/internal';
|
|
5
6
|
import type { AppType, IArbitraryValues, IUnocssCompatibilityOptions } from '../shared';
|
|
6
7
|
import type { LengthUnitsRuntimeOptions, TailwindCssRuntimeOptions } from '../../tailwindcss/runtime-types';
|
|
7
8
|
export interface CssSourceTraceOptions {
|
|
@@ -18,6 +19,7 @@ export interface UserDefinedOptionsGeneralPart {
|
|
|
18
19
|
replaceRuntimePackages?: boolean | Record<string, string> | undefined;
|
|
19
20
|
rewriteCssImports?: boolean | undefined;
|
|
20
21
|
generator?: WeappTailwindcssGeneratorUserOptions | undefined;
|
|
22
|
+
styleInjector?: WeappTailwindcssStyleInjectorUserOptions | undefined;
|
|
21
23
|
cssSourceTrace?: CssSourceTraceUserOptions | undefined;
|
|
22
24
|
disabledDefaultTemplateHandler?: boolean | undefined;
|
|
23
25
|
runtimeLoaderPath?: string | undefined;
|