weapp-tailwindcss 5.0.0-next.22 → 5.0.0-next.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{bundle-state-BnV8o2Yn.js → bundle-state-BxWD-X7F.js} +1 -1
- package/dist/{bundle-state-CLnuf2CW.mjs → bundle-state-CCjtHdeS.mjs} +1 -1
- package/dist/core.js +1 -1
- package/dist/core.mjs +1 -1
- package/dist/{defaults-B1igPF_e.mjs → defaults-C6sIKXgC.mjs} +1 -1
- package/dist/{defaults-IHhYxNeU.js → defaults-D3cFX6Cq.js} +1 -1
- package/dist/defaults.js +1 -1
- package/dist/defaults.mjs +1 -1
- package/dist/{generator-DPX8vA2P.mjs → generator-BP_VdS_x.mjs} +1 -1
- package/dist/{generator-CV_APjnB.js → generator-D6gEmxIp.js} +1 -1
- package/dist/generator.js +2 -2
- package/dist/generator.mjs +2 -2
- package/dist/gulp.js +5 -5
- package/dist/gulp.mjs +5 -5
- package/dist/{incremental-runtime-class-set-C6akmwlk.js → incremental-runtime-class-set-CdcqejGM.js} +20 -11
- package/dist/{incremental-runtime-class-set-Cwpw6aZK.mjs → incremental-runtime-class-set-DEf-VOwB.mjs} +20 -11
- package/dist/index.js +4 -4
- package/dist/index.mjs +4 -4
- package/dist/{postcss-Csaggbm7.js → postcss-D8kdiqHg.js} +2 -2
- package/dist/{postcss-ioX7S9x5.mjs → postcss-KBUSjpTr.mjs} +2 -2
- package/dist/postcss.js +1 -1
- package/dist/postcss.mjs +1 -1
- package/dist/{precheck-D1O5AWzy.mjs → precheck-DT3ydSET.mjs} +3 -3
- package/dist/{precheck-8pQbjqpq.js → precheck-DrBpp5HA.js} +3 -3
- package/dist/presets.js +2 -2
- package/dist/presets.mjs +2 -2
- package/dist/{source-candidates-CUTNdsiz.js → source-candidates-CHJBRaDA.js} +81 -10
- package/dist/{source-candidates-CnD4vyic.mjs → source-candidates-CvmmNj4x.mjs} +81 -10
- package/dist/{tailwindcss-whZE3HpL.js → tailwindcss-CxAd28dW.js} +1 -1
- package/dist/{tailwindcss-B_JAdOQf.mjs → tailwindcss-eov9DmH3.mjs} +1 -1
- package/dist/{v3-engine-CCwvhRrQ.js → v3-engine-CxCp7Ydh.js} +97 -13
- package/dist/{v3-engine-DyIcbpZm.mjs → v3-engine-CzD7OvXg.mjs} +97 -13
- package/dist/{vite-BcXuBYy3.mjs → vite-DyQrAtpx.mjs} +34 -14
- package/dist/{vite-k4Nlk42j.js → vite-xq8oINaq.js} +34 -14
- package/dist/vite.js +1 -1
- package/dist/vite.mjs +1 -1
- package/dist/weapp-tw-css-import-rewrite-loader.js +112 -19
- package/dist/{webpack-C4pViZ7V.mjs → webpack-CZIJ7caJ.mjs} +5 -5
- package/dist/{webpack-DC7v6ylA.js → webpack-bTvAcuj4.js} +5 -5
- package/dist/webpack.js +1 -1
- package/dist/webpack.mjs +1 -1
- package/package.json +4 -4
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-8l464Juk.js");
|
|
2
|
-
const require_v3_engine = require("./v3-engine-
|
|
3
|
-
const require_generator = require("./generator-
|
|
4
|
-
const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-
|
|
5
|
-
const require_precheck = require("./precheck-
|
|
2
|
+
const require_v3_engine = require("./v3-engine-CxCp7Ydh.js");
|
|
3
|
+
const require_generator = require("./generator-D6gEmxIp.js");
|
|
4
|
+
const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-CdcqejGM.js");
|
|
5
|
+
const require_precheck = require("./precheck-DrBpp5HA.js");
|
|
6
6
|
const require_utils = require("./utils-4ODFyoqD.js");
|
|
7
|
-
const require_tailwindcss = require("./tailwindcss-
|
|
8
|
-
const require_source_candidates = require("./source-candidates-
|
|
9
|
-
const require_bundle_state = require("./bundle-state-
|
|
7
|
+
const require_tailwindcss = require("./tailwindcss-CxAd28dW.js");
|
|
8
|
+
const require_source_candidates = require("./source-candidates-CHJBRaDA.js");
|
|
9
|
+
const require_bundle_state = require("./bundle-state-BxWD-X7F.js");
|
|
10
10
|
require("./logger-EVNB9z7i.js");
|
|
11
11
|
let node_fs = require("node:fs");
|
|
12
12
|
node_fs = require_chunk.__toESM(node_fs);
|
|
@@ -568,7 +568,7 @@ function createCssHandlerOptions(opts, majorVersion, file) {
|
|
|
568
568
|
}
|
|
569
569
|
function shouldGenerateCssByGenerator(opts, file, rawSource, processed) {
|
|
570
570
|
const generatorOptions = require_generator.normalizeWeappTailwindcssGeneratorOptions(opts.generator);
|
|
571
|
-
if (generatorOptions.target === "web") return false;
|
|
571
|
+
if (generatorOptions.target === "web" && opts.twPatcher.majorVersion !== 3) return false;
|
|
572
572
|
if (require_incremental_runtime_class_set.hasTailwindGeneratedCssMarkers(rawSource) || require_incremental_runtime_class_set.hasTailwindSourceDirectives(rawSource, { importFallback: generatorOptions.importFallback })) return true;
|
|
573
573
|
if (opts.twPatcher.majorVersion === 3) return false;
|
|
574
574
|
return processed && shouldFinalizeProcessedCssAsset(opts, file);
|
|
@@ -644,7 +644,7 @@ function createViteCssFinalizerOutputPlugin(context) {
|
|
|
644
644
|
styleHandler: opts.styleHandler,
|
|
645
645
|
debug
|
|
646
646
|
}) : void 0;
|
|
647
|
-
const nextCss = generated?.css ?? (await opts.styleHandler(rawSource, cssHandlerOptions)).css;
|
|
647
|
+
const nextCss = generated?.css ?? (generatorOptions.target === "web" ? rawSource : (await opts.styleHandler(rawSource, cssHandlerOptions)).css);
|
|
648
648
|
if (generated) {
|
|
649
649
|
registerGeneratorDependencies$1(this, generated.dependencies);
|
|
650
650
|
debug("css finalizer generated result: %s bytes=%d", file, nextCss.length);
|
|
@@ -1000,6 +1000,7 @@ function createGenerateBundleHook(context) {
|
|
|
1000
1000
|
const { cache, onEnd, onStart, onUpdate, styleHandler, templateHandler, jsHandler, uniAppX } = opts;
|
|
1001
1001
|
const generatorOptions = require_generator.normalizeWeappTailwindcssGeneratorOptions(opts.generator);
|
|
1002
1002
|
const isWebGeneratorTarget = generatorOptions.target === "web";
|
|
1003
|
+
const shouldGenerateWebCssByGenerator = isWebGeneratorTarget && runtimeState.twPatcher.majorVersion === 3;
|
|
1003
1004
|
const { getCssHandlerOptions, getCssUserHandlerOptions } = cssHandlerOptions;
|
|
1004
1005
|
await runtimeState.readyPromise;
|
|
1005
1006
|
debug("start");
|
|
@@ -1041,7 +1042,7 @@ function createGenerateBundleHook(context) {
|
|
|
1041
1042
|
const snapshotStart = performance.now();
|
|
1042
1043
|
const snapshot = require_bundle_state.buildBundleSnapshot(bundle, opts, outDir, state, disableDirtyOptimization || !useIncrementalMode);
|
|
1043
1044
|
recordTimingDetail("snapshot", snapshotStart);
|
|
1044
|
-
const useBundleRuntimeClassSet = useIncrementalMode || runtimeState.twPatcher.majorVersion === 4;
|
|
1045
|
+
const useBundleRuntimeClassSet = !isWebGeneratorTarget && (useIncrementalMode || runtimeState.twPatcher.majorVersion === 4);
|
|
1045
1046
|
const forceRuntimeRefreshBySource = useIncrementalMode && hasRuntimeAffectingSourceChanges(snapshot.runtimeAffectingChangedByType);
|
|
1046
1047
|
const processFiles = snapshot.processFiles;
|
|
1047
1048
|
logBundleProcessPlan({
|
|
@@ -1061,7 +1062,7 @@ function createGenerateBundleHook(context) {
|
|
|
1061
1062
|
const hasRuntimeAffectingChanges = hasRuntimeAffectingSourceChanges(snapshot.runtimeAffectingChangedByType);
|
|
1062
1063
|
const useV3OxideSourceRuntime = runtimeState.twPatcher.majorVersion === 3 && sourceCandidates.size > 0 && hasCssAssetEntry && !forceRuntimeRefreshByEnv && !disableV3OxideSourceRuntime;
|
|
1063
1064
|
const runtimeStart = performance.now();
|
|
1064
|
-
const runtime = useV3OxideSourceRuntime ? await ensureBundleRuntimeClassSet(snapshot, forceRuntimeRefreshByEnv, {
|
|
1065
|
+
const runtime = isWebGeneratorTarget && !shouldGenerateWebCssByGenerator ? /* @__PURE__ */ new Set() : useV3OxideSourceRuntime ? await ensureBundleRuntimeClassSet(snapshot, forceRuntimeRefreshByEnv, {
|
|
1065
1066
|
allowBaselineOnlyInitialSync: true,
|
|
1066
1067
|
baseClassSet: sourceCandidates
|
|
1067
1068
|
}) : useBundleRuntimeClassSet ? await ensureBundleRuntimeClassSet(snapshot, forceRuntimeRefreshByEnv, { allowBaselineOnlyInitialSync: buildCommand }) : await context.ensureRuntimeClassSet(forceRuntimeRefreshByEnv);
|
|
@@ -1122,6 +1123,10 @@ function createGenerateBundleHook(context) {
|
|
|
1122
1123
|
const { file, output: originalSource, source: originalEntrySource, type } = entry;
|
|
1123
1124
|
if (type === "html" && originalSource.type === "asset") {
|
|
1124
1125
|
metrics.html.total++;
|
|
1126
|
+
if (isWebGeneratorTarget) {
|
|
1127
|
+
debug("html skip web target: %s", file);
|
|
1128
|
+
continue;
|
|
1129
|
+
}
|
|
1125
1130
|
if (!processFiles.html.has(file)) continue;
|
|
1126
1131
|
const rawSource = originalEntrySource;
|
|
1127
1132
|
tasks.push(timeTask("html", () => require_incremental_runtime_class_set.processCachedTask({
|
|
@@ -1186,7 +1191,7 @@ function createGenerateBundleHook(context) {
|
|
|
1186
1191
|
debug("css skip vite-processed asset: %s", outputFile);
|
|
1187
1192
|
continue;
|
|
1188
1193
|
}
|
|
1189
|
-
if (isWebGeneratorTarget) {
|
|
1194
|
+
if (isWebGeneratorTarget && !shouldGenerateWebCssByGenerator) {
|
|
1190
1195
|
applyCssResult(rawSource);
|
|
1191
1196
|
markCssAssetProcessed?.(originalSource, outputFile);
|
|
1192
1197
|
onUpdate(outputFile, rawSource, rawSource);
|
|
@@ -1263,6 +1268,12 @@ function createGenerateBundleHook(context) {
|
|
|
1263
1268
|
debug("css handle via tailwind v%s engine(%s): %s", runtimeState.twPatcher.majorVersion, generated.target, outputFile);
|
|
1264
1269
|
return generated.css;
|
|
1265
1270
|
}
|
|
1271
|
+
if (isWebGeneratorTarget) {
|
|
1272
|
+
metrics.css.elapsed += measureElapsed(start);
|
|
1273
|
+
metrics.css.transformed++;
|
|
1274
|
+
debug("css preserve web target: %s", outputFile);
|
|
1275
|
+
return rawSource;
|
|
1276
|
+
}
|
|
1266
1277
|
const { css } = await styleHandler(rawSource, getCssHandlerOptions(file));
|
|
1267
1278
|
if (debugCssDiff) debug("css diff %s: %s", file, summarizeStringDiff(rawSource, css));
|
|
1268
1279
|
metrics.css.elapsed += measureElapsed(start);
|
|
@@ -1281,6 +1292,10 @@ function createGenerateBundleHook(context) {
|
|
|
1281
1292
|
}
|
|
1282
1293
|
if (type !== "js") continue;
|
|
1283
1294
|
metrics.js.total++;
|
|
1295
|
+
if (isWebGeneratorTarget) {
|
|
1296
|
+
debug("js skip web target: %s", file);
|
|
1297
|
+
continue;
|
|
1298
|
+
}
|
|
1284
1299
|
const shouldTransformJs = !useIncrementalMode || processFiles.js.has(file);
|
|
1285
1300
|
if (!shouldTransformJs) debug("js skip transform (clean), replay cache: %s", file);
|
|
1286
1301
|
if (originalSource.type === "chunk") {
|
|
@@ -1630,13 +1645,14 @@ function stripTailwindConfigDirectives(code) {
|
|
|
1630
1645
|
return code.replace(/^\s*@config\s+(?:"[^"]+"|'[^']+')[^;\n]*;\s*$/gm, "");
|
|
1631
1646
|
}
|
|
1632
1647
|
function createRewriteCssImportsPlugins(options) {
|
|
1633
|
-
if (!options.shouldRewrite) return [];
|
|
1648
|
+
if (!options.shouldRewrite && !options.shouldOwnTailwindGeneration) return [];
|
|
1634
1649
|
const { appType, getAppType, rootImport, shouldOwnTailwindGeneration, weappTailwindcssDirPosix } = options;
|
|
1635
1650
|
const resolveAppType = () => getAppType?.() ?? appType;
|
|
1636
1651
|
return [{
|
|
1637
1652
|
name: `${require_precheck.vitePluginName}:rewrite-css-imports`,
|
|
1638
1653
|
enforce: "pre",
|
|
1639
1654
|
resolveId(id, importer) {
|
|
1655
|
+
if (!options.shouldRewrite) return null;
|
|
1640
1656
|
const replacement = resolveTailwindcssImport(id, weappTailwindcssDirPosix, {
|
|
1641
1657
|
join: joinPosixPath,
|
|
1642
1658
|
appType: resolveAppType(),
|
|
@@ -1658,6 +1674,7 @@ function createRewriteCssImportsPlugins(options) {
|
|
|
1658
1674
|
};
|
|
1659
1675
|
}
|
|
1660
1676
|
}
|
|
1677
|
+
if (!options.shouldRewrite) return null;
|
|
1661
1678
|
const rewritten = rewriteTailwindcssImportsInCode(code, weappTailwindcssDirPosix, {
|
|
1662
1679
|
join: joinPosixPath,
|
|
1663
1680
|
appType: resolveAppType(),
|
|
@@ -1867,7 +1884,9 @@ function WeappTailwindcss(options = {}) {
|
|
|
1867
1884
|
const tailwindcssMajorVersion = initialTwPatcher.majorVersion ?? 0;
|
|
1868
1885
|
const shouldOwnTailwindGeneration = !disabledOptions.plugin;
|
|
1869
1886
|
const shouldRewriteCssImports = tailwindcssMajorVersion >= 4;
|
|
1870
|
-
const
|
|
1887
|
+
const generatorOptions = require_generator.normalizeWeappTailwindcssGeneratorOptions(opts.generator);
|
|
1888
|
+
const isWebGeneratorTarget = generatorOptions.target === "web";
|
|
1889
|
+
const shouldInferAppType = !hasExplicitAppType && generatorOptions.target !== "web";
|
|
1871
1890
|
const hasInitialTailwindCssRoots = require_tailwindcss.hasConfiguredTailwindV4CssRoots({
|
|
1872
1891
|
...options,
|
|
1873
1892
|
cssEntries: opts.cssEntries ?? options.cssEntries
|
|
@@ -2222,6 +2241,7 @@ function WeappTailwindcss(options = {}) {
|
|
|
2222
2241
|
});
|
|
2223
2242
|
const isIosPlatform = require_utils.resolveUniUtsPlatform().isAppIos;
|
|
2224
2243
|
const prepareTailwindGeneration = async () => {
|
|
2244
|
+
if (isWebGeneratorTarget && runtimeState.twPatcher.majorVersion !== 3) return;
|
|
2225
2245
|
if (shouldDiscoverAutoCssSources()) await discoverAndRegisterAutoCssSources();
|
|
2226
2246
|
await syncSourceCandidateScan();
|
|
2227
2247
|
};
|
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-xq8oINaq.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-DyQrAtpx.mjs";
|
|
2
2
|
export { WeappTailwindcss, WeappTailwindcss as weappTailwindcss };
|
|
@@ -1378,6 +1378,37 @@ function createTailwindV4DefaultColorThemeCss() {
|
|
|
1378
1378
|
//#region src/tailwindcss/v4-engine/generator.ts
|
|
1379
1379
|
const incrementalGenerateCache$1 = /* @__PURE__ */ new Map();
|
|
1380
1380
|
const incrementalGenerateTaskCache = /* @__PURE__ */ new Map();
|
|
1381
|
+
const BARE_RPX_TEXT_CANDIDATE_RE = /(^|:)text-\[([-+]?(?:\d+|\d*\.\d+)rpx)\](.*)$/u;
|
|
1382
|
+
const RPX_TEXT_LENGTH_SELECTOR_RE = /text-\\\[length\\:([-+]?(?:\d+|\d*\.\d+)rpx)\\\]/g;
|
|
1383
|
+
const TAILWIND_V4_DEFAULT_IGNORED_SOURCE_PATTERNS = [
|
|
1384
|
+
"**/.git/**",
|
|
1385
|
+
"**/.hg/**",
|
|
1386
|
+
"**/.jj/**",
|
|
1387
|
+
"**/.next/**",
|
|
1388
|
+
"**/.parcel-cache/**",
|
|
1389
|
+
"**/.pnpm-store/**",
|
|
1390
|
+
"**/.svelte-kit/**",
|
|
1391
|
+
"**/.svn/**",
|
|
1392
|
+
"**/.turbo/**",
|
|
1393
|
+
"**/.venv/**",
|
|
1394
|
+
"**/.vercel/**",
|
|
1395
|
+
"**/.yarn/**",
|
|
1396
|
+
"**/__pycache__/**",
|
|
1397
|
+
"**/node_modules/**",
|
|
1398
|
+
"**/venv/**",
|
|
1399
|
+
"**/*.less",
|
|
1400
|
+
"**/*.lock",
|
|
1401
|
+
"**/*.sass",
|
|
1402
|
+
"**/*.scss",
|
|
1403
|
+
"**/*.styl",
|
|
1404
|
+
"**/*.log",
|
|
1405
|
+
"**/package-lock.json",
|
|
1406
|
+
"**/pnpm-lock.yaml",
|
|
1407
|
+
"**/bun.lockb",
|
|
1408
|
+
"**/.gitignore",
|
|
1409
|
+
"**/.env",
|
|
1410
|
+
"**/.env.*"
|
|
1411
|
+
];
|
|
1381
1412
|
function findLeadingImportInsertionIndex(css) {
|
|
1382
1413
|
const importPattern = /(?:^|\n)\s*@import\b[^;]*;/g;
|
|
1383
1414
|
let insertionIndex = 0;
|
|
@@ -1397,6 +1428,35 @@ function applyMiniProgramTailwindV4DefaultColorCss(css) {
|
|
|
1397
1428
|
function collectCandidates$1(candidates) {
|
|
1398
1429
|
return new Set(candidates ?? []);
|
|
1399
1430
|
}
|
|
1431
|
+
function normalizeRpxTextCandidate(candidate) {
|
|
1432
|
+
return candidate.replace(BARE_RPX_TEXT_CANDIDATE_RE, "$1text-[length:$2]$3");
|
|
1433
|
+
}
|
|
1434
|
+
function normalizeRpxTextCandidates(candidates) {
|
|
1435
|
+
const normalized = /* @__PURE__ */ new Set();
|
|
1436
|
+
const restoreCandidates = /* @__PURE__ */ new Map();
|
|
1437
|
+
for (const candidate of candidates) {
|
|
1438
|
+
const normalizedCandidate = normalizeRpxTextCandidate(candidate);
|
|
1439
|
+
normalized.add(normalizedCandidate);
|
|
1440
|
+
if (normalizedCandidate !== candidate) restoreCandidates.set(normalizedCandidate, candidate);
|
|
1441
|
+
}
|
|
1442
|
+
return {
|
|
1443
|
+
candidates: normalized,
|
|
1444
|
+
restoreCandidates
|
|
1445
|
+
};
|
|
1446
|
+
}
|
|
1447
|
+
function restoreRpxTextCandidates(candidates, restoreCandidates) {
|
|
1448
|
+
if (restoreCandidates.size === 0) return new Set(candidates);
|
|
1449
|
+
return new Set([...candidates].map((candidate) => restoreCandidates.get(candidate) ?? candidate));
|
|
1450
|
+
}
|
|
1451
|
+
function restoreRpxTextCssSelectors(css, restoreCandidates) {
|
|
1452
|
+
if (restoreCandidates.size === 0 || !css.includes("text-\\[length\\:")) return css;
|
|
1453
|
+
const restoredValues = new Set([...restoreCandidates.keys()].map((candidate) => {
|
|
1454
|
+
return BARE_RPX_TEXT_CANDIDATE_RE.exec(candidate.replace("[length:", "["))?.[2];
|
|
1455
|
+
}).filter((value) => Boolean(value)));
|
|
1456
|
+
return css.replace(RPX_TEXT_LENGTH_SELECTOR_RE, (match, value) => {
|
|
1457
|
+
return restoredValues.has(value) ? `text-\\[${value}\\]` : match;
|
|
1458
|
+
});
|
|
1459
|
+
}
|
|
1400
1460
|
function createStableJson$2(value) {
|
|
1401
1461
|
if (value === void 0) return "undefined";
|
|
1402
1462
|
if (value === null || typeof value !== "object") return JSON.stringify(value);
|
|
@@ -1553,6 +1613,20 @@ function removeUnlayeredTailwindV4PreflightImports(css) {
|
|
|
1553
1613
|
function resolveSourceBase$1(base, sourcePath) {
|
|
1554
1614
|
return node_path.default.isAbsolute(sourcePath) ? sourcePath : node_path.default.resolve(base, sourcePath);
|
|
1555
1615
|
}
|
|
1616
|
+
function createDefaultIgnoredScanSources(base) {
|
|
1617
|
+
return TAILWIND_V4_DEFAULT_IGNORED_SOURCE_PATTERNS.map((pattern) => ({
|
|
1618
|
+
base,
|
|
1619
|
+
pattern,
|
|
1620
|
+
negated: true
|
|
1621
|
+
}));
|
|
1622
|
+
}
|
|
1623
|
+
function normalizeCssDefinedScanSources(base, entries) {
|
|
1624
|
+
return entries.length > 0 && entries.every((entry) => entry.negated) ? [{
|
|
1625
|
+
base,
|
|
1626
|
+
pattern: "**/*",
|
|
1627
|
+
negated: false
|
|
1628
|
+
}, ...entries] : entries;
|
|
1629
|
+
}
|
|
1556
1630
|
async function resolveCssDefinedScanSources(source) {
|
|
1557
1631
|
let importSourceBase;
|
|
1558
1632
|
let hasSourceNone = false;
|
|
@@ -1573,11 +1647,15 @@ async function resolveCssDefinedScanSources(source) {
|
|
|
1573
1647
|
});
|
|
1574
1648
|
const sourcePatterns = await resolveCssSourceEntries(root, source.base, "**/*");
|
|
1575
1649
|
if (!importSourceBase) {
|
|
1576
|
-
if (sourcePatterns.length > 0) return sourcePatterns;
|
|
1650
|
+
if (sourcePatterns.length > 0) return [...normalizeCssDefinedScanSources(source.base, sourcePatterns), ...createDefaultIgnoredScanSources(source.base)];
|
|
1577
1651
|
if (hasSourceNone) return false;
|
|
1578
1652
|
return;
|
|
1579
1653
|
}
|
|
1580
|
-
return [
|
|
1654
|
+
return [
|
|
1655
|
+
await resolveTailwindSourceEntry(".", importSourceBase, false, "**/*"),
|
|
1656
|
+
...sourcePatterns,
|
|
1657
|
+
...createDefaultIgnoredScanSources(importSourceBase)
|
|
1658
|
+
];
|
|
1581
1659
|
}
|
|
1582
1660
|
async function resolveScanSources(source, scanSources) {
|
|
1583
1661
|
if (scanSources !== true) return scanSources;
|
|
@@ -1617,16 +1695,18 @@ function createTailwindV4Engine(source) {
|
|
|
1617
1695
|
const engine = (0, tailwindcss_patch.createTailwindV4Engine)(createCompatibleSource(generateSource, target, tailwindcssV3Compatibility));
|
|
1618
1696
|
const resolvedScanSources = await resolveScanSources(generateSource, scanSources);
|
|
1619
1697
|
const filesystemCandidates = Array.isArray(resolvedScanSources) ? new Set(await (0, tailwindcss_patch.extractRawCandidates)(resolvedScanSources)) : void 0;
|
|
1620
|
-
const
|
|
1698
|
+
const normalizedCandidates = normalizeRpxTextCandidates(resolveTargetCandidates(new Set([...collectCandidates$1(patchOptions.candidates), ...filesystemCandidates ?? []]), target));
|
|
1621
1699
|
const result = await engine.generate(omitUndefined({
|
|
1622
1700
|
scanSources: false,
|
|
1623
1701
|
...patchOptions,
|
|
1624
|
-
candidates:
|
|
1702
|
+
candidates: normalizedCandidates.candidates
|
|
1625
1703
|
}));
|
|
1626
|
-
const rawCss = result.css;
|
|
1704
|
+
const rawCss = restoreRpxTextCssSelectors(result.css, normalizedCandidates.restoreCandidates);
|
|
1627
1705
|
const css = await transformTailwindV4CssByTarget(rawCss, target, styleOptions);
|
|
1628
1706
|
return {
|
|
1629
1707
|
...result,
|
|
1708
|
+
classSet: restoreRpxTextCandidates(result.classSet, normalizedCandidates.restoreCandidates),
|
|
1709
|
+
rawCandidates: restoreRpxTextCandidates(result.rawCandidates, normalizedCandidates.restoreCandidates),
|
|
1630
1710
|
css,
|
|
1631
1711
|
rawCss,
|
|
1632
1712
|
target
|
|
@@ -1666,15 +1746,18 @@ function createTailwindV4Engine(source) {
|
|
|
1666
1746
|
target: cached.target
|
|
1667
1747
|
};
|
|
1668
1748
|
return runIncrementalGenerateTask(cacheKey, requestedCandidates, options.scanSources, async () => {
|
|
1669
|
-
const
|
|
1749
|
+
const designSystem = await cached.designSystemPromise;
|
|
1750
|
+
const normalizedMissing = normalizeRpxTextCandidates(missingCandidates);
|
|
1751
|
+
const normalizedMissingCandidates = [...normalizedMissing.candidates];
|
|
1752
|
+
const cssByCandidate = designSystem.candidatesToCss(normalizedMissingCandidates);
|
|
1670
1753
|
const rawCssParts = [];
|
|
1671
1754
|
const classSet = /* @__PURE__ */ new Set();
|
|
1672
|
-
for (let index = 0; index <
|
|
1673
|
-
const candidate =
|
|
1755
|
+
for (let index = 0; index < normalizedMissingCandidates.length; index += 1) {
|
|
1756
|
+
const candidate = normalizedMissingCandidates[index];
|
|
1674
1757
|
const css = cssByCandidate[index];
|
|
1675
1758
|
if (candidate && typeof css === "string" && css.trim().length > 0) {
|
|
1676
|
-
rawCssParts.push(css);
|
|
1677
|
-
classSet.add(candidate);
|
|
1759
|
+
rawCssParts.push(restoreRpxTextCssSelectors(css, normalizedMissing.restoreCandidates));
|
|
1760
|
+
classSet.add(normalizedMissing.restoreCandidates.get(candidate) ?? candidate);
|
|
1678
1761
|
}
|
|
1679
1762
|
}
|
|
1680
1763
|
const rawCss = rawCssParts.join("\n");
|
|
@@ -2090,6 +2173,7 @@ async function resolveTailwindV4EntriesFromCss(css, base) {
|
|
|
2090
2173
|
let hasTailwindCssImport = false;
|
|
2091
2174
|
const [sourceEntries, configEntries] = await Promise.all([resolveCssSourceEntries(root, base, VITE_SOURCE_CANDIDATE_PATTERN), resolveConfigContentEntries(root, base)]);
|
|
2092
2175
|
const entries = [...configEntries.entries, ...sourceEntries];
|
|
2176
|
+
const hasPositiveEntries = entries.some((entry) => !entry.negated);
|
|
2093
2177
|
const inlineCandidates = collectCssInlineSourceCandidates(root);
|
|
2094
2178
|
root.walkAtRules("import", (rule) => {
|
|
2095
2179
|
if (!isTailwindCssImport(rule.params)) return;
|
|
@@ -2114,7 +2198,7 @@ async function resolveTailwindV4EntriesFromCss(css, base) {
|
|
|
2114
2198
|
inlineCandidates,
|
|
2115
2199
|
dependencies: configEntries.dependencies
|
|
2116
2200
|
};
|
|
2117
|
-
if (
|
|
2201
|
+
if (hasPositiveEntries) return {
|
|
2118
2202
|
entries,
|
|
2119
2203
|
explicit: true,
|
|
2120
2204
|
inlineCandidates,
|
|
@@ -2127,7 +2211,7 @@ async function resolveTailwindV4EntriesFromCss(css, base) {
|
|
|
2127
2211
|
dependencies: configEntries.dependencies
|
|
2128
2212
|
};
|
|
2129
2213
|
return hasTailwindCssImport ? {
|
|
2130
|
-
entries
|
|
2214
|
+
entries,
|
|
2131
2215
|
explicit: false,
|
|
2132
2216
|
inlineCandidates,
|
|
2133
2217
|
dependencies: configEntries.dependencies
|
|
@@ -2908,8 +2992,8 @@ const TAILWIND_ROOT_DIRECTIVE_NAMES = new Set([
|
|
|
2908
2992
|
"utility",
|
|
2909
2993
|
"variant"
|
|
2910
2994
|
]);
|
|
2911
|
-
const TAILWIND_ROOT_DIRECTIVE_RE = /@(?:import\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|tailwind|config|custom-variant|plugin|source|theme|utility|variant)\b/;
|
|
2912
|
-
const TAILWIND_EXTRACTABLE_DIRECTIVE_RE = /^\s*@(?:import|tailwind|config|source|reference|plugin)\b[\s\S]*?(?:;|$)/;
|
|
2995
|
+
const TAILWIND_ROOT_DIRECTIVE_RE = /@(?:import\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|(?:use|forward)\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|tailwind|config|custom-variant|plugin|source|theme|utility|variant)\b/;
|
|
2996
|
+
const TAILWIND_EXTRACTABLE_DIRECTIVE_RE = /^\s*@(?:import|use|forward|tailwind|config|source|reference|plugin)\b[\s\S]*?(?:;|$)/;
|
|
2913
2997
|
const TAILWIND_EXTRACTABLE_BLOCK_DIRECTIVE_RE = /^\s*@(?:theme|utility|variant|custom-variant)\b[\s\S]*$/;
|
|
2914
2998
|
const TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE = /^\s*@layer\s[^;{]+;\s*$/;
|
|
2915
2999
|
function parseImportRequest(params) {
|
|
@@ -2957,8 +3041,17 @@ function normalizeTailwindImportAtRules(root, options = {}) {
|
|
|
2957
3041
|
return changed;
|
|
2958
3042
|
}
|
|
2959
3043
|
function normalizeTailwindDirectiveLine(line, options = {}) {
|
|
2960
|
-
|
|
2961
|
-
|
|
3044
|
+
const trimmed = line.trimStart();
|
|
3045
|
+
if (/^@(?:use|forward)\b/.test(trimmed)) {
|
|
3046
|
+
const request = parseImportRequest(trimmed.replace(/^@(?:use|forward)\b/, ""));
|
|
3047
|
+
if (isTailwindImportRequest(request) || options.importFallback && isWeappTailwindcssImportRequest(request)) {
|
|
3048
|
+
const normalizedRequest = normalizeTailwindImportRequest(request, options);
|
|
3049
|
+
return replaceImportRequest(line.replace(/^(\s*)@(?:use|forward)\b/, "$1@import"), request, normalizedRequest);
|
|
3050
|
+
}
|
|
3051
|
+
return line;
|
|
3052
|
+
}
|
|
3053
|
+
if (!options.importFallback || !trimmed.startsWith("@import")) return line;
|
|
3054
|
+
const request = parseImportRequest(trimmed.replace(/^@import\b/, ""));
|
|
2962
3055
|
if (!request || !isWeappTailwindcssImportRequest(request)) return line;
|
|
2963
3056
|
return replaceImportRequest(line, request, request.replace(/^weapp-tailwindcss/, "tailwindcss"));
|
|
2964
3057
|
}
|
|
@@ -2973,9 +3066,9 @@ function extractTailwindDirectiveLines(rawSource, options = {}) {
|
|
|
2973
3066
|
const normalized = normalizeTailwindDirectiveLine(directive.trimEnd(), options);
|
|
2974
3067
|
const normalizedTrimmed = normalized.trim();
|
|
2975
3068
|
if (options.removeConfig && normalizedTrimmed.startsWith("@config")) continue;
|
|
2976
|
-
const request = /^@import\b/.test(normalizedTrimmed) ? parseImportRequest(normalizedTrimmed.replace(/^@import\b/, "")) : void 0;
|
|
3069
|
+
const request = /^@(?:import|use|forward)\b/.test(normalizedTrimmed) ? parseImportRequest(normalizedTrimmed.replace(/^@(?:import|use|forward)\b/, "")) : void 0;
|
|
2977
3070
|
if (request && !isTailwindImportRequest(request) && !isPackageJsonImportRequest$1(request)) continue;
|
|
2978
|
-
if (/^@import\b/.test(normalizedTrimmed) && !request) continue;
|
|
3071
|
+
if (/^@(?:import|use|forward)\b/.test(normalizedTrimmed) && !request) continue;
|
|
2979
3072
|
if (request && isTailwindImportRequest(request)) {
|
|
2980
3073
|
const key = normalizedTrimmed;
|
|
2981
3074
|
if (seenImports.has(key)) continue;
|
|
@@ -3016,7 +3109,7 @@ function isTailwindImportRequest(request) {
|
|
|
3016
3109
|
}
|
|
3017
3110
|
function isTailwindImportAtRule(node, options = {}) {
|
|
3018
3111
|
if (node.name === "tailwind") return true;
|
|
3019
|
-
if (node.name !== "import") return false;
|
|
3112
|
+
if (node.name !== "import" && node.name !== "use" && node.name !== "forward") return false;
|
|
3020
3113
|
return isTailwindImportRequest(normalizeTailwindImportRequest(parseImportRequest(node.params), options));
|
|
3021
3114
|
}
|
|
3022
3115
|
function isTailwindSourceDirective(node, options = {}) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { B as createDebug, W as resolveTailwindcssOptions, l as getRuntimeClassSetSignature } from "./v3-engine-
|
|
2
|
-
import { i as generateCssByGenerator, o as processCachedTask, r as emitHmrTiming, t as createBundleRuntimeClassSetManager } from "./incremental-runtime-class-set-
|
|
3
|
-
import { _ as ensureRuntimeClassSet, f as pluginName, g as createTailwindRuntimeReadyPromise, n as getCompilerContext, s as _defineProperty, t as shouldSkipJsTransform, v as refreshTailwindRuntimeState } from "./precheck-
|
|
1
|
+
import { B as createDebug, W as resolveTailwindcssOptions, l as getRuntimeClassSetSignature } from "./v3-engine-CzD7OvXg.mjs";
|
|
2
|
+
import { i as generateCssByGenerator, o as processCachedTask, r as emitHmrTiming, t as createBundleRuntimeClassSetManager } from "./incremental-runtime-class-set-DEf-VOwB.mjs";
|
|
3
|
+
import { _ as ensureRuntimeClassSet, f as pluginName, g as createTailwindRuntimeReadyPromise, n as getCompilerContext, s as _defineProperty, t as shouldSkipJsTransform, v as refreshTailwindRuntimeState } from "./precheck-DT3ydSET.mjs";
|
|
4
4
|
import { r as getGroupedEntries } from "./utils-CGBVVNm6.mjs";
|
|
5
|
-
import { c as upsertTailwindV4CssSource, s as hasConfiguredTailwindV4CssRoots } from "./tailwindcss-
|
|
6
|
-
import { _ as stripRequestQuery, b as toAbsoluteOutputPath, d as resolvePluginDisabledState, g as isSourceStyleRequest, l as stripBundlerGeneratedCssMarkers, n as createBundleBuildState, o as pushConcurrentTaskFactories, r as updateBundleBuildState, t as buildBundleSnapshot, u as resolvePackageDir, y as resolveOutputSpecifier } from "./bundle-state-
|
|
5
|
+
import { c as upsertTailwindV4CssSource, s as hasConfiguredTailwindV4CssRoots } from "./tailwindcss-eov9DmH3.mjs";
|
|
6
|
+
import { _ as stripRequestQuery, b as toAbsoluteOutputPath, d as resolvePluginDisabledState, g as isSourceStyleRequest, l as stripBundlerGeneratedCssMarkers, n as createBundleBuildState, o as pushConcurrentTaskFactories, r as updateBundleBuildState, t as buildBundleSnapshot, u as resolvePackageDir, y as resolveOutputSpecifier } from "./bundle-state-CCjtHdeS.mjs";
|
|
7
7
|
import Module, { createRequire } from "node:module";
|
|
8
8
|
import fs from "node:fs";
|
|
9
9
|
import path from "node:path";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-8l464Juk.js");
|
|
2
|
-
const require_v3_engine = require("./v3-engine-
|
|
3
|
-
const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-
|
|
4
|
-
const require_precheck = require("./precheck-
|
|
2
|
+
const require_v3_engine = require("./v3-engine-CxCp7Ydh.js");
|
|
3
|
+
const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-CdcqejGM.js");
|
|
4
|
+
const require_precheck = require("./precheck-DrBpp5HA.js");
|
|
5
5
|
const require_utils = require("./utils-4ODFyoqD.js");
|
|
6
|
-
const require_tailwindcss = require("./tailwindcss-
|
|
7
|
-
const require_bundle_state = require("./bundle-state-
|
|
6
|
+
const require_tailwindcss = require("./tailwindcss-CxAd28dW.js");
|
|
7
|
+
const require_bundle_state = require("./bundle-state-BxWD-X7F.js");
|
|
8
8
|
let node_fs = require("node:fs");
|
|
9
9
|
node_fs = require_chunk.__toESM(node_fs);
|
|
10
10
|
let node_module = require("node:module");
|
package/dist/webpack.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_webpack = require("./webpack-
|
|
2
|
+
const require_webpack = require("./webpack-bTvAcuj4.js");
|
|
3
3
|
exports.UnifiedWebpackPluginV5 = require_webpack.UnifiedWebpackPluginV5;
|
|
4
4
|
exports.WeappTailwindcss = require_webpack.UnifiedWebpackPluginV5;
|
|
5
5
|
exports.weappTailwindcss = require_webpack.UnifiedWebpackPluginV5;
|
package/dist/webpack.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as weappTailwindcssPackageDir, t as UnifiedWebpackPluginV5 } from "./webpack-
|
|
1
|
+
import { n as weappTailwindcssPackageDir, t as UnifiedWebpackPluginV5 } from "./webpack-CZIJ7caJ.mjs";
|
|
2
2
|
export { UnifiedWebpackPluginV5, UnifiedWebpackPluginV5 as WeappTailwindcss, UnifiedWebpackPluginV5 as weappTailwindcss, weappTailwindcssPackageDir };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "weapp-tailwindcss",
|
|
3
|
-
"version": "5.0.0-next.
|
|
3
|
+
"version": "5.0.0-next.23",
|
|
4
4
|
"description": "把 tailwindcss 原子化样式思想,带给小程序开发者们! bring tailwindcss to miniprogram developers!",
|
|
5
5
|
"author": "ice breaker <1324318532@qq.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -189,11 +189,11 @@
|
|
|
189
189
|
"semver": "~7.8.1",
|
|
190
190
|
"tailwindcss-patch": "9.3.7",
|
|
191
191
|
"yaml": "^2.9.0",
|
|
192
|
-
"@weapp-tailwindcss/reset": "0.1.1-next.0",
|
|
193
192
|
"@weapp-tailwindcss/logger": "1.1.0",
|
|
193
|
+
"@weapp-tailwindcss/postcss": "3.0.0-next.6",
|
|
194
|
+
"@weapp-tailwindcss/reset": "0.1.1-next.0",
|
|
194
195
|
"@weapp-tailwindcss/shared": "1.1.3",
|
|
195
|
-
"tailwindcss-config": "1.1.6-next.1"
|
|
196
|
-
"@weapp-tailwindcss/postcss": "3.0.0-next.6"
|
|
196
|
+
"tailwindcss-config": "1.1.6-next.1"
|
|
197
197
|
},
|
|
198
198
|
"scripts": {
|
|
199
199
|
"dev": "tsdown --watch --sourcemap",
|