weapp-tailwindcss 5.0.0-next.2 → 5.0.0-next.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -5
- package/bin/weapp-tailwindcss.js +1 -21
- package/dist/bundlers/shared/generator-css.d.ts +5 -2
- package/dist/bundlers/vite/generate-bundle.d.ts +1 -0
- package/dist/bundlers/vite/index.d.ts +1 -1
- package/dist/bundlers/vite/rewrite-css-imports.d.ts +1 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-loaders.d.ts +0 -1
- package/dist/bundlers/webpack/loaders/weapp-tw-css-import-rewrite-loader.d.ts +1 -1
- package/dist/cli/context.d.ts +0 -3
- package/dist/cli/mount-options.d.ts +2 -0
- package/dist/cli.js +8 -2
- package/dist/cli.mjs +8 -2
- package/dist/constants.d.ts +1 -1
- package/dist/core.js +1 -1
- package/dist/core.mjs +1 -1
- package/dist/css-macro.d.ts +1 -0
- package/dist/defaults.js +5 -7
- package/dist/defaults.mjs +5 -7
- package/dist/generator/index.d.ts +1 -1
- package/dist/generator/options.d.ts +3 -4
- package/dist/{generator-mmhXzZnv.js → generator-9UEp8OoQ.js} +259 -21
- package/dist/{generator-Y-Ikv4Fu.mjs → generator-Dpp-5s8z.mjs} +260 -22
- package/dist/{generator-css-D3OdPRiS.js → generator-css-CGueCYbX.js} +182 -42
- package/dist/{generator-css-B5ejWUMv.mjs → generator-css-MyjZhF0z.mjs} +182 -42
- package/dist/generator.js +1 -1
- package/dist/generator.mjs +1 -1
- package/dist/gulp.js +17 -14
- package/dist/gulp.mjs +17 -14
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -4
- package/dist/index.mjs +4 -4
- package/dist/js/index.d.ts +1 -0
- package/dist/js/literal-transform.d.ts +2 -0
- package/dist/{logger-BoVx1Dbt.mjs → logger-1gx9UllH.mjs} +21 -51
- package/dist/{logger-BZ45DZJT.js → logger-D9clu_3f.js} +21 -51
- package/dist/patcher-options-DnqazL9E.js +34 -0
- package/dist/patcher-options-GuOwX0-k.mjs +17 -0
- package/dist/postcss.d.ts +2 -2
- package/dist/postcss.js +37 -28
- package/dist/postcss.mjs +37 -28
- package/dist/presets.js +1 -1
- package/dist/presets.mjs +1 -1
- package/dist/{recorder-zsgatmkB.mjs → recorder-BIW3Kuke.mjs} +5 -12
- package/dist/{recorder-gYSNLfOP.js → recorder-D4BKt75Q.js} +5 -12
- package/dist/reset.d.ts +1 -0
- package/dist/{css-imports-BbrbluP9.js → run-tasks-Cq5A5nVD.js} +6 -55
- package/dist/{css-imports-CSdPq_Sc.mjs → run-tasks-DUVrDJGl.mjs} +5 -42
- package/dist/tailwindcss/miniprogram.d.ts +5 -1
- package/dist/tailwindcss/patcher-options.d.ts +3 -51
- package/dist/tailwindcss/patcher.d.ts +1 -2
- package/dist/tailwindcss/v4/patcher-options.d.ts +1 -23
- package/dist/tailwindcss/v4/patcher.d.ts +1 -0
- package/dist/tailwindcss/v4-engine/types.d.ts +1 -1
- package/dist/tailwindcss/version.d.ts +4 -0
- package/dist/typedoc.export.d.ts +0 -2
- package/dist/types/index.d.ts +1 -3
- package/dist/types/shared.d.ts +3 -0
- package/dist/types/user-defined-options/general.d.ts +0 -2
- package/dist/types/user-defined-options/important.d.ts +3 -3
- package/dist/utils/disabled.d.ts +2 -3
- package/dist/version-CWBxRFPB.js +56 -0
- package/dist/version-WNz3MwRv.mjs +49 -0
- package/dist/{vite-BC9U7ahn.js → vite-BkMGwDeH.js} +106 -39
- package/dist/{vite-CrlzCNqz.mjs → vite-fDM-UQpR.mjs} +89 -22
- package/dist/vite.d.ts +1 -2
- package/dist/vite.js +3 -4
- package/dist/vite.mjs +2 -2
- package/dist/weapp-tw-css-import-rewrite-loader.js +1 -1
- package/dist/{webpack-DD7A6V0u.js → webpack-CICGEKT9.js} +225 -43
- package/dist/{webpack-Bu6M-Hbw.mjs → webpack-D2Wdk28V.mjs} +214 -27
- package/dist/webpack.js +1 -1
- package/dist/webpack.mjs +1 -1
- package/package.json +21 -30
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v4-assets.d.ts +0 -14
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v4-loaders.d.ts +0 -15
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v4.d.ts +0 -9
- package/dist/experimental/index.d.ts +0 -2
- package/dist/experimental/oxc/ast-utils.d.ts +0 -30
- package/dist/experimental/oxc/index.d.ts +0 -2
- package/dist/experimental/oxc/module-specifiers.d.ts +0 -2
- package/dist/experimental/shared/cache.d.ts +0 -3
- package/dist/experimental/shared/transform.d.ts +0 -3
- package/dist/experimental/shared.d.ts +0 -8
- package/dist/experimental/swc/ast-utils.d.ts +0 -30
- package/dist/experimental/swc/index.d.ts +0 -2
- package/dist/experimental/swc/module-specifiers.d.ts +0 -2
- package/dist/loader-anchors-CNkWT8hx.js +0 -273
- package/dist/loader-anchors-TrU7EUr7.mjs +0 -205
- package/dist/patcher-options-6gJN2EXy.js +0 -115
- package/dist/patcher-options-DQfR5xxT.mjs +0 -92
- package/dist/types/disabled-options.d.ts +0 -4
- package/dist/webpack4.d.ts +0 -4
- package/dist/webpack4.js +0 -387
- package/dist/webpack4.mjs +0 -379
- package/scripts/postinstall.mjs +0 -59
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as normalizeTailwindcssPatcherOptions, r as resolveTailwindcssOptions, t as normalizeExtendLengthUnits } from "./patcher-options-GuOwX0-k.mjs";
|
|
2
2
|
import { n as defuOverrideArray$1 } from "./utils-7DUGTFED.mjs";
|
|
3
|
+
import { t as readInstalledPackageMajorVersion } from "./version-WNz3MwRv.mjs";
|
|
3
4
|
import { createRequire } from "node:module";
|
|
4
5
|
import path from "node:path";
|
|
5
6
|
import process from "node:process";
|
|
@@ -231,8 +232,6 @@ function hasConfiguredCssEntries(ctx) {
|
|
|
231
232
|
const patcherOptions = ctx.tailwindcssPatcherOptions;
|
|
232
233
|
if (patcherOptions) {
|
|
233
234
|
if (normalizeCssEntriesConfig(patcherOptions.tailwindcss?.v4?.cssEntries)) return true;
|
|
234
|
-
if (normalizeCssEntriesConfig(patcherOptions.tailwind?.v4?.cssEntries)) return true;
|
|
235
|
-
if (normalizeCssEntriesConfig(patcherOptions.patch?.tailwindcss?.v4?.cssEntries)) return true;
|
|
236
235
|
}
|
|
237
236
|
return false;
|
|
238
237
|
}
|
|
@@ -333,6 +332,7 @@ function createFallbackTailwindcssPatcher() {
|
|
|
333
332
|
packageJsonPath: "",
|
|
334
333
|
packageJson: {}
|
|
335
334
|
},
|
|
335
|
+
majorVersion: 4,
|
|
336
336
|
async patch() {
|
|
337
337
|
return {
|
|
338
338
|
exposeContext: void 0,
|
|
@@ -381,16 +381,13 @@ function createTailwindcssPatcher(options) {
|
|
|
381
381
|
cwd: normalizedBasedir,
|
|
382
382
|
resolve: { paths: resolvePaths }
|
|
383
383
|
});
|
|
384
|
-
if (baseTailwindOptions.
|
|
385
|
-
if (!baseTailwindOptions.packageName) baseTailwindOptions.packageName = "@tailwindcss/postcss7-compat";
|
|
386
|
-
if (!baseTailwindOptions.postcssPlugin) baseTailwindOptions.postcssPlugin = "@tailwindcss/postcss7-compat";
|
|
387
|
-
} else if (!baseTailwindOptions.packageName) baseTailwindOptions.packageName = "tailwindcss";
|
|
384
|
+
if (!baseTailwindOptions.packageName) baseTailwindOptions.packageName = "tailwindcss";
|
|
388
385
|
if (!baseTailwindOptions.postcssPlugin) baseTailwindOptions.postcssPlugin = baseTailwindOptions.version === 4 || isTailwindcssV4PackageName(baseTailwindOptions.packageName) ? "@tailwindcss/postcss" : "tailwindcss";
|
|
389
386
|
if (typeof baseTailwindOptions.postcssPlugin === "string") {
|
|
390
387
|
const resolvedPlugin = resolveModuleFromPaths(baseTailwindOptions.postcssPlugin, resolvePaths);
|
|
391
388
|
if (resolvedPlugin) baseTailwindOptions.postcssPlugin = resolvedPlugin;
|
|
392
389
|
}
|
|
393
|
-
const resolvedOptions =
|
|
390
|
+
const resolvedOptions = defuOverrideArray(normalizedUserOptions ?? {}, {
|
|
394
391
|
projectRoot: normalizedBasedir,
|
|
395
392
|
cache,
|
|
396
393
|
tailwindcss: baseTailwindOptions,
|
|
@@ -398,7 +395,7 @@ function createTailwindcssPatcher(options) {
|
|
|
398
395
|
exposeContext: true,
|
|
399
396
|
extendLengthUnits
|
|
400
397
|
}
|
|
401
|
-
})
|
|
398
|
+
});
|
|
402
399
|
const resolvedTailwindOptions = resolvedOptions.tailwindcss;
|
|
403
400
|
if (resolvedTailwindOptions) {
|
|
404
401
|
const existingResolve = resolvedTailwindOptions.resolve ?? {};
|
|
@@ -516,46 +513,13 @@ function createMultiTailwindcssPatcher(patchers) {
|
|
|
516
513
|
}
|
|
517
514
|
//#endregion
|
|
518
515
|
//#region src/tailwindcss/v4/patcher-options.ts
|
|
519
|
-
function isLegacyTailwindcssPatcherOptions(options) {
|
|
520
|
-
return typeof options === "object" && options !== null && "patch" in options;
|
|
521
|
-
}
|
|
522
|
-
function isModernTailwindcssPatchOptions(options) {
|
|
523
|
-
return typeof options === "object" && options !== null && !("patch" in options);
|
|
524
|
-
}
|
|
525
516
|
function overrideTailwindcssPatcherOptionsForBase(options, baseDir, cssEntries) {
|
|
526
517
|
const hasCssEntries = cssEntries.length > 0;
|
|
527
518
|
if (!options) return options;
|
|
528
|
-
|
|
529
|
-
const patchOptions = options.patch;
|
|
530
|
-
if (!patchOptions) return options;
|
|
531
|
-
const nextPatch = {
|
|
532
|
-
...patchOptions,
|
|
533
|
-
basedir: baseDir,
|
|
534
|
-
cwd: patchOptions.cwd ?? baseDir
|
|
535
|
-
};
|
|
536
|
-
if (patchOptions.tailwindcss) {
|
|
537
|
-
const nextV4 = { ...patchOptions.tailwindcss.v4 ?? {} };
|
|
538
|
-
if (hasCssEntries) nextV4.cssEntries = cssEntries;
|
|
539
|
-
else {
|
|
540
|
-
nextV4.cssEntries = nextV4.cssEntries ?? cssEntries;
|
|
541
|
-
if (nextV4.base === void 0) nextV4.base = baseDir;
|
|
542
|
-
}
|
|
543
|
-
nextPatch.tailwindcss = {
|
|
544
|
-
...patchOptions.tailwindcss,
|
|
545
|
-
v4: nextV4
|
|
546
|
-
};
|
|
547
|
-
}
|
|
548
|
-
return {
|
|
549
|
-
...options,
|
|
550
|
-
patch: nextPatch
|
|
551
|
-
};
|
|
552
|
-
}
|
|
553
|
-
if (!isModernTailwindcssPatchOptions(options)) return options;
|
|
554
|
-
const modernTailwind = options.tailwindcss ?? options.tailwind;
|
|
519
|
+
const modernTailwind = options.tailwindcss;
|
|
555
520
|
if (!modernTailwind) return options;
|
|
556
|
-
const { tailwind: _legacyTailwind, ...rest } = options;
|
|
557
521
|
return {
|
|
558
|
-
...
|
|
522
|
+
...options,
|
|
559
523
|
tailwindcss: {
|
|
560
524
|
...modernTailwind,
|
|
561
525
|
v4: {
|
|
@@ -638,7 +602,7 @@ function isTailwindVersionMismatchError(error) {
|
|
|
638
602
|
return error instanceof Error && CONFIGURED_TAILWIND_VERSION_RE.test(error.message) && RESOLVED_TAILWIND_VERSION_RE.test(error.message);
|
|
639
603
|
}
|
|
640
604
|
function createPatcherForBase(baseDir, cssEntries, options) {
|
|
641
|
-
const { tailwindcss, tailwindcssPatcherOptions, supportCustomLengthUnitsPatch } = options;
|
|
605
|
+
const { tailwindcss, tailwindcssPatcherOptions, supportCustomLengthUnitsPatch, bareArbitraryValues } = options;
|
|
642
606
|
const hasCssEntries = Boolean(cssEntries?.length);
|
|
643
607
|
const mergedTailwindOptions = defuOverrideArray$1(tailwindcss ?? {}, {
|
|
644
608
|
cwd: baseDir,
|
|
@@ -660,11 +624,15 @@ function createPatcherForBase(baseDir, cssEntries, options) {
|
|
|
660
624
|
else if (!mergedTailwindOptions.v4.cssEntries) mergedTailwindOptions.v4.cssEntries = [];
|
|
661
625
|
} else if (!mergedTailwindOptions.v4.cssEntries) mergedTailwindOptions.v4.cssEntries = cssEntries ?? [];
|
|
662
626
|
}
|
|
627
|
+
if (bareArbitraryValues !== void 0 && bareArbitraryValues !== false) mergedTailwindOptions.v4.bareArbitraryValues = bareArbitraryValues;
|
|
663
628
|
const patchedOptions = overrideTailwindcssPatcherOptionsForBase(tailwindcssPatcherOptions, baseDir, cssEntries ?? []);
|
|
664
|
-
const configuredPackageName = tailwindcss?.packageName || tailwindcssPatcherOptions?.tailwindcss?.packageName
|
|
665
|
-
const explicitTailwindVersion = resolveExplicitTailwindVersion(tailwindcss?.version || tailwindcssPatcherOptions?.tailwindcss?.version ||
|
|
666
|
-
const hasExplicitV4Signals = hasCssEntries || hasOwnV4Signal(tailwindcss) || hasOwnV4Signal(tailwindcssPatcherOptions?.tailwindcss)
|
|
667
|
-
const
|
|
629
|
+
const configuredPackageName = tailwindcss?.packageName || tailwindcssPatcherOptions?.tailwindcss?.packageName;
|
|
630
|
+
const explicitTailwindVersion = resolveExplicitTailwindVersion(tailwindcss?.version || tailwindcssPatcherOptions?.tailwindcss?.version || mergedTailwindOptions.version, configuredPackageName);
|
|
631
|
+
const hasExplicitV4Signals = hasCssEntries || hasOwnV4Signal(tailwindcss) || hasOwnV4Signal(tailwindcssPatcherOptions?.tailwindcss);
|
|
632
|
+
const packageNameForVersionDetection = configuredPackageName ?? mergedTailwindOptions.packageName ?? "tailwindcss";
|
|
633
|
+
const installedTailwindVersion = readInstalledPackageMajorVersion(packageNameForVersionDetection, baseDir);
|
|
634
|
+
const resolvedTailwindVersion = installedTailwindVersion ?? explicitTailwindVersion;
|
|
635
|
+
const shouldPatchV4PostcssPackage = (resolvedTailwindVersion === 4 && (installedTailwindVersion === 4 || explicitTailwindVersion === 4 || hasExplicitV4Signals && isTailwindcss4Package(packageNameForVersionDetection)) || resolvedTailwindVersion === void 0 && (hasCssEntries || hasOwnV4Signal(tailwindcss) || hasOwnV4Signal(tailwindcssPatcherOptions?.tailwindcss))) && !Boolean(configuredPackageName);
|
|
668
636
|
const packageCandidates = /* @__PURE__ */ new Set();
|
|
669
637
|
if (shouldPatchV4PostcssPackage) packageCandidates.add("@tailwindcss/postcss");
|
|
670
638
|
packageCandidates.add(mergedTailwindOptions.packageName ?? configuredPackageName ?? "tailwindcss");
|
|
@@ -676,6 +644,7 @@ function createPatcherForBase(baseDir, cssEntries, options) {
|
|
|
676
644
|
...mergedTailwindOptions,
|
|
677
645
|
packageName
|
|
678
646
|
};
|
|
647
|
+
if (resolvedTailwindVersion) tailwindOptionsForPackage.version = resolvedTailwindVersion;
|
|
679
648
|
try {
|
|
680
649
|
patchers.push(createTailwindcssPatcher({
|
|
681
650
|
basedir: baseDir,
|
|
@@ -901,7 +870,7 @@ function detectImplicitCssEntries(appType, baseDir) {
|
|
|
901
870
|
//#endregion
|
|
902
871
|
//#region src/context/tailwindcss.ts
|
|
903
872
|
function createTailwindcssPatcherFromContext(ctx) {
|
|
904
|
-
const { tailwindcssBasedir, supportCustomLengthUnitsPatch, tailwindcss, tailwindcssPatcherOptions, cssEntries: rawCssEntries, appType } = ctx;
|
|
873
|
+
const { tailwindcssBasedir, supportCustomLengthUnitsPatch, tailwindcss, tailwindcssPatcherOptions, cssEntries: rawCssEntries, appType, arbitraryValues } = ctx;
|
|
905
874
|
const absoluteCssEntryBasedir = guessBasedirFromEntries(rawCssEntries);
|
|
906
875
|
const resolvedTailwindcssBasedir = resolveTailwindcssBasedir(tailwindcssBasedir, absoluteCssEntryBasedir);
|
|
907
876
|
ctx.tailwindcssBasedir = resolvedTailwindcssBasedir;
|
|
@@ -913,7 +882,8 @@ function createTailwindcssPatcherFromContext(ctx) {
|
|
|
913
882
|
tailwindcss,
|
|
914
883
|
tailwindcssPatcherOptions,
|
|
915
884
|
supportCustomLengthUnitsPatch,
|
|
916
|
-
appType
|
|
885
|
+
appType,
|
|
886
|
+
bareArbitraryValues: arbitraryValues?.bareArbitraryValues
|
|
917
887
|
};
|
|
918
888
|
const workspaceRoot = findWorkspaceRoot(resolvedTailwindcssBasedir) ?? (absoluteCssEntryBasedir ? findWorkspaceRoot(absoluteCssEntryBasedir) : void 0);
|
|
919
889
|
const groupedCssEntries = normalizedCssEntries ? groupCssEntriesByBase(normalizedCssEntries, {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-8l464Juk.js");
|
|
2
|
-
const require_patcher_options = require("./patcher-options-
|
|
2
|
+
const require_patcher_options = require("./patcher-options-DnqazL9E.js");
|
|
3
3
|
require("./utils-DmC9_In3.js");
|
|
4
|
+
const require_version = require("./version-CWBxRFPB.js");
|
|
4
5
|
let node_module = require("node:module");
|
|
5
6
|
let node_path = require("node:path");
|
|
6
7
|
node_path = require_chunk.__toESM(node_path);
|
|
@@ -234,8 +235,6 @@ function hasConfiguredCssEntries(ctx) {
|
|
|
234
235
|
const patcherOptions = ctx.tailwindcssPatcherOptions;
|
|
235
236
|
if (patcherOptions) {
|
|
236
237
|
if (normalizeCssEntriesConfig(patcherOptions.tailwindcss?.v4?.cssEntries)) return true;
|
|
237
|
-
if (normalizeCssEntriesConfig(patcherOptions.tailwind?.v4?.cssEntries)) return true;
|
|
238
|
-
if (normalizeCssEntriesConfig(patcherOptions.patch?.tailwindcss?.v4?.cssEntries)) return true;
|
|
239
238
|
}
|
|
240
239
|
return false;
|
|
241
240
|
}
|
|
@@ -336,6 +335,7 @@ function createFallbackTailwindcssPatcher() {
|
|
|
336
335
|
packageJsonPath: "",
|
|
337
336
|
packageJson: {}
|
|
338
337
|
},
|
|
338
|
+
majorVersion: 4,
|
|
339
339
|
async patch() {
|
|
340
340
|
return {
|
|
341
341
|
exposeContext: void 0,
|
|
@@ -384,16 +384,13 @@ function createTailwindcssPatcher(options) {
|
|
|
384
384
|
cwd: normalizedBasedir,
|
|
385
385
|
resolve: { paths: resolvePaths }
|
|
386
386
|
});
|
|
387
|
-
if (baseTailwindOptions.
|
|
388
|
-
if (!baseTailwindOptions.packageName) baseTailwindOptions.packageName = "@tailwindcss/postcss7-compat";
|
|
389
|
-
if (!baseTailwindOptions.postcssPlugin) baseTailwindOptions.postcssPlugin = "@tailwindcss/postcss7-compat";
|
|
390
|
-
} else if (!baseTailwindOptions.packageName) baseTailwindOptions.packageName = "tailwindcss";
|
|
387
|
+
if (!baseTailwindOptions.packageName) baseTailwindOptions.packageName = "tailwindcss";
|
|
391
388
|
if (!baseTailwindOptions.postcssPlugin) baseTailwindOptions.postcssPlugin = baseTailwindOptions.version === 4 || isTailwindcssV4PackageName(baseTailwindOptions.packageName) ? "@tailwindcss/postcss" : "tailwindcss";
|
|
392
389
|
if (typeof baseTailwindOptions.postcssPlugin === "string") {
|
|
393
390
|
const resolvedPlugin = resolveModuleFromPaths(baseTailwindOptions.postcssPlugin, resolvePaths);
|
|
394
391
|
if (resolvedPlugin) baseTailwindOptions.postcssPlugin = resolvedPlugin;
|
|
395
392
|
}
|
|
396
|
-
const resolvedOptions =
|
|
393
|
+
const resolvedOptions = (0, _weapp_tailwindcss_shared.defuOverrideArray)(normalizedUserOptions ?? {}, {
|
|
397
394
|
projectRoot: normalizedBasedir,
|
|
398
395
|
cache,
|
|
399
396
|
tailwindcss: baseTailwindOptions,
|
|
@@ -401,7 +398,7 @@ function createTailwindcssPatcher(options) {
|
|
|
401
398
|
exposeContext: true,
|
|
402
399
|
extendLengthUnits
|
|
403
400
|
}
|
|
404
|
-
})
|
|
401
|
+
});
|
|
405
402
|
const resolvedTailwindOptions = resolvedOptions.tailwindcss;
|
|
406
403
|
if (resolvedTailwindOptions) {
|
|
407
404
|
const existingResolve = resolvedTailwindOptions.resolve ?? {};
|
|
@@ -519,46 +516,13 @@ function createMultiTailwindcssPatcher(patchers) {
|
|
|
519
516
|
}
|
|
520
517
|
//#endregion
|
|
521
518
|
//#region src/tailwindcss/v4/patcher-options.ts
|
|
522
|
-
function isLegacyTailwindcssPatcherOptions(options) {
|
|
523
|
-
return typeof options === "object" && options !== null && "patch" in options;
|
|
524
|
-
}
|
|
525
|
-
function isModernTailwindcssPatchOptions(options) {
|
|
526
|
-
return typeof options === "object" && options !== null && !("patch" in options);
|
|
527
|
-
}
|
|
528
519
|
function overrideTailwindcssPatcherOptionsForBase(options, baseDir, cssEntries) {
|
|
529
520
|
const hasCssEntries = cssEntries.length > 0;
|
|
530
521
|
if (!options) return options;
|
|
531
|
-
|
|
532
|
-
const patchOptions = options.patch;
|
|
533
|
-
if (!patchOptions) return options;
|
|
534
|
-
const nextPatch = {
|
|
535
|
-
...patchOptions,
|
|
536
|
-
basedir: baseDir,
|
|
537
|
-
cwd: patchOptions.cwd ?? baseDir
|
|
538
|
-
};
|
|
539
|
-
if (patchOptions.tailwindcss) {
|
|
540
|
-
const nextV4 = { ...patchOptions.tailwindcss.v4 ?? {} };
|
|
541
|
-
if (hasCssEntries) nextV4.cssEntries = cssEntries;
|
|
542
|
-
else {
|
|
543
|
-
nextV4.cssEntries = nextV4.cssEntries ?? cssEntries;
|
|
544
|
-
if (nextV4.base === void 0) nextV4.base = baseDir;
|
|
545
|
-
}
|
|
546
|
-
nextPatch.tailwindcss = {
|
|
547
|
-
...patchOptions.tailwindcss,
|
|
548
|
-
v4: nextV4
|
|
549
|
-
};
|
|
550
|
-
}
|
|
551
|
-
return {
|
|
552
|
-
...options,
|
|
553
|
-
patch: nextPatch
|
|
554
|
-
};
|
|
555
|
-
}
|
|
556
|
-
if (!isModernTailwindcssPatchOptions(options)) return options;
|
|
557
|
-
const modernTailwind = options.tailwindcss ?? options.tailwind;
|
|
522
|
+
const modernTailwind = options.tailwindcss;
|
|
558
523
|
if (!modernTailwind) return options;
|
|
559
|
-
const { tailwind: _legacyTailwind, ...rest } = options;
|
|
560
524
|
return {
|
|
561
|
-
...
|
|
525
|
+
...options,
|
|
562
526
|
tailwindcss: {
|
|
563
527
|
...modernTailwind,
|
|
564
528
|
v4: {
|
|
@@ -641,7 +605,7 @@ function isTailwindVersionMismatchError(error) {
|
|
|
641
605
|
return error instanceof Error && CONFIGURED_TAILWIND_VERSION_RE.test(error.message) && RESOLVED_TAILWIND_VERSION_RE.test(error.message);
|
|
642
606
|
}
|
|
643
607
|
function createPatcherForBase(baseDir, cssEntries, options) {
|
|
644
|
-
const { tailwindcss, tailwindcssPatcherOptions, supportCustomLengthUnitsPatch } = options;
|
|
608
|
+
const { tailwindcss, tailwindcssPatcherOptions, supportCustomLengthUnitsPatch, bareArbitraryValues } = options;
|
|
645
609
|
const hasCssEntries = Boolean(cssEntries?.length);
|
|
646
610
|
const mergedTailwindOptions = (0, _weapp_tailwindcss_shared.defuOverrideArray)(tailwindcss ?? {}, {
|
|
647
611
|
cwd: baseDir,
|
|
@@ -663,11 +627,15 @@ function createPatcherForBase(baseDir, cssEntries, options) {
|
|
|
663
627
|
else if (!mergedTailwindOptions.v4.cssEntries) mergedTailwindOptions.v4.cssEntries = [];
|
|
664
628
|
} else if (!mergedTailwindOptions.v4.cssEntries) mergedTailwindOptions.v4.cssEntries = cssEntries ?? [];
|
|
665
629
|
}
|
|
630
|
+
if (bareArbitraryValues !== void 0 && bareArbitraryValues !== false) mergedTailwindOptions.v4.bareArbitraryValues = bareArbitraryValues;
|
|
666
631
|
const patchedOptions = overrideTailwindcssPatcherOptionsForBase(tailwindcssPatcherOptions, baseDir, cssEntries ?? []);
|
|
667
|
-
const configuredPackageName = tailwindcss?.packageName || tailwindcssPatcherOptions?.tailwindcss?.packageName
|
|
668
|
-
const explicitTailwindVersion = resolveExplicitTailwindVersion(tailwindcss?.version || tailwindcssPatcherOptions?.tailwindcss?.version ||
|
|
669
|
-
const hasExplicitV4Signals = hasCssEntries || hasOwnV4Signal(tailwindcss) || hasOwnV4Signal(tailwindcssPatcherOptions?.tailwindcss)
|
|
670
|
-
const
|
|
632
|
+
const configuredPackageName = tailwindcss?.packageName || tailwindcssPatcherOptions?.tailwindcss?.packageName;
|
|
633
|
+
const explicitTailwindVersion = resolveExplicitTailwindVersion(tailwindcss?.version || tailwindcssPatcherOptions?.tailwindcss?.version || mergedTailwindOptions.version, configuredPackageName);
|
|
634
|
+
const hasExplicitV4Signals = hasCssEntries || hasOwnV4Signal(tailwindcss) || hasOwnV4Signal(tailwindcssPatcherOptions?.tailwindcss);
|
|
635
|
+
const packageNameForVersionDetection = configuredPackageName ?? mergedTailwindOptions.packageName ?? "tailwindcss";
|
|
636
|
+
const installedTailwindVersion = require_version.readInstalledPackageMajorVersion(packageNameForVersionDetection, baseDir);
|
|
637
|
+
const resolvedTailwindVersion = installedTailwindVersion ?? explicitTailwindVersion;
|
|
638
|
+
const shouldPatchV4PostcssPackage = (resolvedTailwindVersion === 4 && (installedTailwindVersion === 4 || explicitTailwindVersion === 4 || hasExplicitV4Signals && isTailwindcss4Package(packageNameForVersionDetection)) || resolvedTailwindVersion === void 0 && (hasCssEntries || hasOwnV4Signal(tailwindcss) || hasOwnV4Signal(tailwindcssPatcherOptions?.tailwindcss))) && !Boolean(configuredPackageName);
|
|
671
639
|
const packageCandidates = /* @__PURE__ */ new Set();
|
|
672
640
|
if (shouldPatchV4PostcssPackage) packageCandidates.add("@tailwindcss/postcss");
|
|
673
641
|
packageCandidates.add(mergedTailwindOptions.packageName ?? configuredPackageName ?? "tailwindcss");
|
|
@@ -679,6 +647,7 @@ function createPatcherForBase(baseDir, cssEntries, options) {
|
|
|
679
647
|
...mergedTailwindOptions,
|
|
680
648
|
packageName
|
|
681
649
|
};
|
|
650
|
+
if (resolvedTailwindVersion) tailwindOptionsForPackage.version = resolvedTailwindVersion;
|
|
682
651
|
try {
|
|
683
652
|
patchers.push(createTailwindcssPatcher({
|
|
684
653
|
basedir: baseDir,
|
|
@@ -904,7 +873,7 @@ function detectImplicitCssEntries(appType, baseDir) {
|
|
|
904
873
|
//#endregion
|
|
905
874
|
//#region src/context/tailwindcss.ts
|
|
906
875
|
function createTailwindcssPatcherFromContext(ctx) {
|
|
907
|
-
const { tailwindcssBasedir, supportCustomLengthUnitsPatch, tailwindcss, tailwindcssPatcherOptions, cssEntries: rawCssEntries, appType } = ctx;
|
|
876
|
+
const { tailwindcssBasedir, supportCustomLengthUnitsPatch, tailwindcss, tailwindcssPatcherOptions, cssEntries: rawCssEntries, appType, arbitraryValues } = ctx;
|
|
908
877
|
const absoluteCssEntryBasedir = guessBasedirFromEntries(rawCssEntries);
|
|
909
878
|
const resolvedTailwindcssBasedir = resolveTailwindcssBasedir(tailwindcssBasedir, absoluteCssEntryBasedir);
|
|
910
879
|
ctx.tailwindcssBasedir = resolvedTailwindcssBasedir;
|
|
@@ -916,7 +885,8 @@ function createTailwindcssPatcherFromContext(ctx) {
|
|
|
916
885
|
tailwindcss,
|
|
917
886
|
tailwindcssPatcherOptions,
|
|
918
887
|
supportCustomLengthUnitsPatch,
|
|
919
|
-
appType
|
|
888
|
+
appType,
|
|
889
|
+
bareArbitraryValues: arbitraryValues?.bareArbitraryValues
|
|
920
890
|
};
|
|
921
891
|
const workspaceRoot = findWorkspaceRoot(resolvedTailwindcssBasedir) ?? (absoluteCssEntryBasedir ? findWorkspaceRoot(absoluteCssEntryBasedir) : void 0);
|
|
922
892
|
const groupedCssEntries = normalizedCssEntries ? groupCssEntriesByBase(normalizedCssEntries, {
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region src/tailwindcss/patcher-options.ts
|
|
2
|
+
function resolveTailwindcssOptions(options) {
|
|
3
|
+
return options?.tailwindcss ?? options?.tailwind;
|
|
4
|
+
}
|
|
5
|
+
function normalizeExtendLengthUnits(value) {
|
|
6
|
+
if (value === false) return false;
|
|
7
|
+
if (value === true) return { enabled: true };
|
|
8
|
+
if (value && typeof value === "object") return {
|
|
9
|
+
enabled: true,
|
|
10
|
+
...value
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function normalizeTailwindcssPatcherOptions(options) {
|
|
14
|
+
return options;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
Object.defineProperty(exports, "normalizeExtendLengthUnits", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function() {
|
|
20
|
+
return normalizeExtendLengthUnits;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, "normalizeTailwindcssPatcherOptions", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function() {
|
|
26
|
+
return normalizeTailwindcssPatcherOptions;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(exports, "resolveTailwindcssOptions", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function() {
|
|
32
|
+
return resolveTailwindcssOptions;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/tailwindcss/patcher-options.ts
|
|
2
|
+
function resolveTailwindcssOptions(options) {
|
|
3
|
+
return options?.tailwindcss ?? options?.tailwind;
|
|
4
|
+
}
|
|
5
|
+
function normalizeExtendLengthUnits(value) {
|
|
6
|
+
if (value === false) return false;
|
|
7
|
+
if (value === true) return { enabled: true };
|
|
8
|
+
if (value && typeof value === "object") return {
|
|
9
|
+
enabled: true,
|
|
10
|
+
...value
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function normalizeTailwindcssPatcherOptions(options) {
|
|
14
|
+
return options;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { normalizeTailwindcssPatcherOptions as n, resolveTailwindcssOptions as r, normalizeExtendLengthUnits as t };
|
package/dist/postcss.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { IStyleHandlerOptions } from '@weapp-tailwindcss/postcss/types';
|
|
2
2
|
import type { PluginCreator } from 'postcss';
|
|
3
|
-
import type { TailwindV4CandidateSource, TailwindV4SourceOptions,
|
|
3
|
+
import type { TailwindV4CandidateSource, TailwindV4SourceOptions, WeappTailwindcssGenerateOptions, WeappTailwindcssGeneratorUserOptions } from './generator';
|
|
4
4
|
export interface WeappTailwindcssPostcssPluginOptions extends TailwindV4SourceOptions {
|
|
5
5
|
generator?: WeappTailwindcssGeneratorUserOptions;
|
|
6
|
-
target?: WeappTailwindcssGeneratorTarget;
|
|
7
6
|
version?: 3 | 4;
|
|
8
7
|
config?: string;
|
|
9
8
|
postcssPlugin?: string;
|
|
10
9
|
candidates?: Iterable<string>;
|
|
10
|
+
scanSources?: WeappTailwindcssGenerateOptions['scanSources'];
|
|
11
11
|
sources?: TailwindV4CandidateSource[];
|
|
12
12
|
styleOptions?: Partial<IStyleHandlerOptions>;
|
|
13
13
|
}
|
package/dist/postcss.js
CHANGED
|
@@ -3,8 +3,8 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("./chunk-8l464Juk.js");
|
|
6
|
-
const require_generator = require("./generator-
|
|
7
|
-
|
|
6
|
+
const require_generator = require("./generator-9UEp8OoQ.js");
|
|
7
|
+
const require_version = require("./version-CWBxRFPB.js");
|
|
8
8
|
let postcss = require("postcss");
|
|
9
9
|
postcss = require_chunk.__toESM(postcss);
|
|
10
10
|
let node_path = require("node:path");
|
|
@@ -18,7 +18,7 @@ let fast_glob = require("fast-glob");
|
|
|
18
18
|
fast_glob = require_chunk.__toESM(fast_glob);
|
|
19
19
|
//#region src/postcss.ts
|
|
20
20
|
const PLUGIN_NAME = "weapp-tailwindcss";
|
|
21
|
-
const
|
|
21
|
+
const POSTCSS_SOURCE_PATTERN = `**/*.{${[
|
|
22
22
|
"html",
|
|
23
23
|
"wxml",
|
|
24
24
|
"axml",
|
|
@@ -35,10 +35,11 @@ const POSTCSS_SOURCE_EXTENSIONS = [
|
|
|
35
35
|
"jsx",
|
|
36
36
|
"ts",
|
|
37
37
|
"tsx"
|
|
38
|
-
]
|
|
38
|
+
].join(",")}}`;
|
|
39
39
|
function resolveInputFile(result) {
|
|
40
40
|
const from = result.opts.from;
|
|
41
|
-
|
|
41
|
+
if (typeof from !== "string" || from.length === 0) return;
|
|
42
|
+
return node_path.default.isAbsolute(from) ? from : node_path.default.resolve(node_process.default.cwd(), from);
|
|
42
43
|
}
|
|
43
44
|
function resolvePostcssBase(result, options) {
|
|
44
45
|
if (options.base) return options.base;
|
|
@@ -51,9 +52,13 @@ function resolvePostcssProjectRoot(result, options) {
|
|
|
51
52
|
return inputFile ? node_path.default.dirname(inputFile) : node_process.default.cwd();
|
|
52
53
|
}
|
|
53
54
|
function replaceRootCss(root, css, result) {
|
|
54
|
-
const nextRoot = postcss.default.parse(css, { from: resolveInputFile(result) });
|
|
55
55
|
root.removeAll();
|
|
56
|
-
|
|
56
|
+
try {
|
|
57
|
+
const nextRoot = postcss.default.parse(css, { from: resolveInputFile(result) });
|
|
58
|
+
root.append(nextRoot.nodes);
|
|
59
|
+
} catch {
|
|
60
|
+
root.raws = { after: css };
|
|
61
|
+
}
|
|
57
62
|
}
|
|
58
63
|
function addDependencyMessages(result, generated) {
|
|
59
64
|
for (const file of generated.dependencies) result.messages.push({
|
|
@@ -90,22 +95,15 @@ function hasTailwindV4CssSyntax(root) {
|
|
|
90
95
|
});
|
|
91
96
|
return hasV4Syntax;
|
|
92
97
|
}
|
|
93
|
-
function readPackageMajorVersion(packageName, base) {
|
|
94
|
-
try {
|
|
95
|
-
const pkg = (0, node_module.createRequire)(`${base}/package.json`)(`${packageName}/package.json`);
|
|
96
|
-
const major = Number(pkg.version?.split(".")[0]);
|
|
97
|
-
return major === 3 || major === 4 ? major : void 0;
|
|
98
|
-
} catch {
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
98
|
function resolvePostcssTailwindVersion(root, result, options) {
|
|
103
|
-
if (options.version) return options.version;
|
|
104
|
-
if (hasTailwindV4CssSyntax(root)) return 4;
|
|
105
99
|
const packageName = options.packageName ?? "tailwindcss";
|
|
100
|
+
const installedVersion = require_version.readInstalledPackageMajorVersion(packageName, resolvePostcssProjectRoot(result, options));
|
|
101
|
+
if (installedVersion) return installedVersion;
|
|
102
|
+
if (options.version) return options.version;
|
|
106
103
|
if (packageName === "@tailwindcss/postcss" || packageName.includes("tailwindcss4")) return 4;
|
|
107
104
|
if (packageName.includes("tailwindcss3")) return 3;
|
|
108
|
-
|
|
105
|
+
if (hasTailwindV4CssSyntax(root)) return 4;
|
|
106
|
+
return 4;
|
|
109
107
|
}
|
|
110
108
|
function getSourceExtension(file) {
|
|
111
109
|
return node_path.default.extname(file).slice(1) || void 0;
|
|
@@ -119,7 +117,7 @@ async function pathExistsAsDirectory(file) {
|
|
|
119
117
|
}
|
|
120
118
|
async function expandLocalSourceFiles(sourcePath, base) {
|
|
121
119
|
const absoluteSource = node_path.default.isAbsolute(sourcePath) ? sourcePath : node_path.default.resolve(base, sourcePath);
|
|
122
|
-
if (await pathExistsAsDirectory(absoluteSource)) return (0, fast_glob.default)(
|
|
120
|
+
if (await pathExistsAsDirectory(absoluteSource)) return (0, fast_glob.default)(POSTCSS_SOURCE_PATTERN, {
|
|
123
121
|
absolute: true,
|
|
124
122
|
cwd: absoluteSource,
|
|
125
123
|
onlyFiles: true
|
|
@@ -135,7 +133,7 @@ async function resolveTailwindSourceEntry(sourcePath, base, negated) {
|
|
|
135
133
|
if (await pathExistsAsDirectory(absoluteSource)) return {
|
|
136
134
|
base: absoluteSource,
|
|
137
135
|
negated,
|
|
138
|
-
pattern:
|
|
136
|
+
pattern: POSTCSS_SOURCE_PATTERN
|
|
139
137
|
};
|
|
140
138
|
if (node_path.default.isAbsolute(sourcePath)) return {
|
|
141
139
|
base: node_path.default.dirname(absoluteSource),
|
|
@@ -178,13 +176,14 @@ async function collectConfigContentFiles(root, base) {
|
|
|
178
176
|
};
|
|
179
177
|
}
|
|
180
178
|
async function collectAutoTailwindCandidates(root, result, options) {
|
|
179
|
+
if (options.scanSources === false) return /* @__PURE__ */ new Set();
|
|
181
180
|
const base = resolvePostcssBase(result, options);
|
|
182
181
|
const projectRoot = resolvePostcssProjectRoot(result, options);
|
|
183
182
|
const sourceEntryTasks = [];
|
|
184
183
|
if (!root.toString().includes("source(none)")) sourceEntryTasks.push(Promise.resolve({
|
|
185
184
|
base,
|
|
186
185
|
negated: false,
|
|
187
|
-
pattern:
|
|
186
|
+
pattern: POSTCSS_SOURCE_PATTERN
|
|
188
187
|
}));
|
|
189
188
|
root.walkAtRules("source", (rule) => {
|
|
190
189
|
const parsed = parseSourceFileParam(rule.params);
|
|
@@ -226,17 +225,27 @@ function addSourceDependencyMessages(result, files) {
|
|
|
226
225
|
file
|
|
227
226
|
});
|
|
228
227
|
}
|
|
228
|
+
function quoteCssString(value) {
|
|
229
|
+
return value.replaceAll("\\", "\\\\").replaceAll("\"", "\\\"");
|
|
230
|
+
}
|
|
231
|
+
function toCssPath(value) {
|
|
232
|
+
return value.replaceAll("\\", "/");
|
|
233
|
+
}
|
|
234
|
+
function prependConfigDirective(css, config) {
|
|
235
|
+
if (!config || /@config\s+/.test(css)) return css;
|
|
236
|
+
return `@config "${quoteCssString(toCssPath(config))}";\n${css}`;
|
|
237
|
+
}
|
|
229
238
|
const weappTailwindcssPostcssPlugin = (options = {}) => {
|
|
230
239
|
return {
|
|
231
240
|
postcssPlugin: PLUGIN_NAME,
|
|
232
241
|
async Once(root, { result }) {
|
|
233
|
-
const { candidates, generator: userGeneratorOptions, sources, styleOptions,
|
|
242
|
+
const { candidates, generator: userGeneratorOptions, scanSources, sources, styleOptions, ...sourceOptions } = options;
|
|
234
243
|
const generatorOptions = require_generator.normalizeWeappTailwindcssGeneratorOptions(userGeneratorOptions);
|
|
235
|
-
if (generatorOptions.mode === "off") return;
|
|
236
244
|
const tailwindVersion = resolvePostcssTailwindVersion(root, result, options);
|
|
237
245
|
const [collectedSources, autoCandidates] = await Promise.all([collectPostcssLocalSources(root, result, options), collectAutoTailwindCandidates(root, result, options)]);
|
|
246
|
+
const generatorConfig = generatorOptions.config ?? options.config;
|
|
238
247
|
const generator = require_generator.createWeappTailwindcssGenerator(tailwindVersion === 3 ? await require_generator.resolveTailwindV3Source({
|
|
239
|
-
config:
|
|
248
|
+
config: generatorConfig,
|
|
240
249
|
css: sourceOptions.css ?? root.toString(),
|
|
241
250
|
base: resolvePostcssBase(result, options),
|
|
242
251
|
cwd: resolvePostcssProjectRoot(result, options),
|
|
@@ -245,20 +254,20 @@ const weappTailwindcssPostcssPlugin = (options = {}) => {
|
|
|
245
254
|
postcssPlugin: options.postcssPlugin
|
|
246
255
|
}) : await require_generator.resolveTailwindV4Source({
|
|
247
256
|
...sourceOptions,
|
|
248
|
-
css: sourceOptions.css ?? root.toString(),
|
|
257
|
+
css: prependConfigDirective(sourceOptions.css ?? root.toString(), generatorConfig),
|
|
249
258
|
base: resolvePostcssBase(result, options),
|
|
250
259
|
projectRoot: resolvePostcssProjectRoot(result, options)
|
|
251
260
|
}));
|
|
252
261
|
const generateOptions = {
|
|
253
262
|
candidates: new Set([...autoCandidates, ...candidates ?? []]),
|
|
254
|
-
scanSources: false,
|
|
263
|
+
scanSources: scanSources ?? false,
|
|
255
264
|
sources: [...collectedSources.sources, ...sources ?? []],
|
|
256
265
|
styleOptions: {
|
|
257
266
|
...generatorOptions.styleOptions,
|
|
258
267
|
...styleOptions
|
|
259
268
|
},
|
|
260
269
|
tailwindcssV3Compatibility: generatorOptions.tailwindcssV3Compatibility,
|
|
261
|
-
target:
|
|
270
|
+
target: generatorOptions.target
|
|
262
271
|
};
|
|
263
272
|
const generated = await generator.generate(generateOptions);
|
|
264
273
|
replaceRootCss(root, generated.css, result);
|