weapp-tailwindcss 5.0.0-next.3 → 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.
Files changed (95) hide show
  1. package/README.md +4 -5
  2. package/bin/weapp-tailwindcss.js +1 -21
  3. package/dist/bundlers/shared/generator-css.d.ts +5 -2
  4. package/dist/bundlers/vite/generate-bundle.d.ts +1 -0
  5. package/dist/bundlers/vite/index.d.ts +1 -1
  6. package/dist/bundlers/vite/rewrite-css-imports.d.ts +1 -0
  7. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-loaders.d.ts +0 -1
  8. package/dist/bundlers/webpack/loaders/weapp-tw-css-import-rewrite-loader.d.ts +1 -1
  9. package/dist/cli/context.d.ts +0 -3
  10. package/dist/cli/mount-options.d.ts +2 -0
  11. package/dist/cli.js +8 -2
  12. package/dist/cli.mjs +8 -2
  13. package/dist/constants.d.ts +1 -1
  14. package/dist/core.js +1 -1
  15. package/dist/core.mjs +1 -1
  16. package/dist/css-macro.d.ts +1 -0
  17. package/dist/defaults.js +5 -7
  18. package/dist/defaults.mjs +5 -7
  19. package/dist/generator/index.d.ts +1 -1
  20. package/dist/generator/options.d.ts +3 -4
  21. package/dist/{generator-mmhXzZnv.js → generator-9UEp8OoQ.js} +259 -21
  22. package/dist/{generator-Y-Ikv4Fu.mjs → generator-Dpp-5s8z.mjs} +260 -22
  23. package/dist/{generator-css-CRLrHW4F.js → generator-css-CGueCYbX.js} +173 -32
  24. package/dist/{generator-css-Bwy_Uz89.mjs → generator-css-MyjZhF0z.mjs} +173 -32
  25. package/dist/generator.js +1 -1
  26. package/dist/generator.mjs +1 -1
  27. package/dist/gulp.js +15 -11
  28. package/dist/gulp.mjs +15 -11
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.js +4 -4
  31. package/dist/index.mjs +4 -4
  32. package/dist/js/index.d.ts +1 -0
  33. package/dist/js/literal-transform.d.ts +2 -0
  34. package/dist/{logger-BoVx1Dbt.mjs → logger-1gx9UllH.mjs} +21 -51
  35. package/dist/{logger-BZ45DZJT.js → logger-D9clu_3f.js} +21 -51
  36. package/dist/patcher-options-DnqazL9E.js +34 -0
  37. package/dist/patcher-options-GuOwX0-k.mjs +17 -0
  38. package/dist/postcss.d.ts +2 -2
  39. package/dist/postcss.js +37 -28
  40. package/dist/postcss.mjs +37 -28
  41. package/dist/presets.js +1 -1
  42. package/dist/presets.mjs +1 -1
  43. package/dist/{recorder-XdFvVASS.mjs → recorder-BIW3Kuke.mjs} +5 -12
  44. package/dist/{recorder-GdTJ3QqX.js → recorder-D4BKt75Q.js} +5 -12
  45. package/dist/reset.d.ts +1 -0
  46. package/dist/{css-imports-BbrbluP9.js → run-tasks-Cq5A5nVD.js} +6 -55
  47. package/dist/{css-imports-CSdPq_Sc.mjs → run-tasks-DUVrDJGl.mjs} +5 -42
  48. package/dist/tailwindcss/miniprogram.d.ts +5 -1
  49. package/dist/tailwindcss/patcher-options.d.ts +3 -51
  50. package/dist/tailwindcss/patcher.d.ts +1 -2
  51. package/dist/tailwindcss/v4/patcher-options.d.ts +1 -23
  52. package/dist/tailwindcss/v4/patcher.d.ts +1 -0
  53. package/dist/tailwindcss/v4-engine/types.d.ts +1 -1
  54. package/dist/tailwindcss/version.d.ts +4 -0
  55. package/dist/typedoc.export.d.ts +0 -2
  56. package/dist/types/index.d.ts +1 -3
  57. package/dist/types/shared.d.ts +3 -0
  58. package/dist/types/user-defined-options/general.d.ts +0 -2
  59. package/dist/types/user-defined-options/important.d.ts +3 -3
  60. package/dist/utils/disabled.d.ts +2 -3
  61. package/dist/version-CWBxRFPB.js +56 -0
  62. package/dist/version-WNz3MwRv.mjs +49 -0
  63. package/dist/{vite-DgRh_GXn.js → vite-BkMGwDeH.js} +106 -39
  64. package/dist/{vite-BDywuCjn.mjs → vite-fDM-UQpR.mjs} +89 -22
  65. package/dist/vite.d.ts +1 -2
  66. package/dist/vite.js +3 -4
  67. package/dist/vite.mjs +2 -2
  68. package/dist/weapp-tw-css-import-rewrite-loader.js +1 -1
  69. package/dist/{webpack-CAJR4hhP.js → webpack-CICGEKT9.js} +225 -43
  70. package/dist/{webpack-CiHqVZTg.mjs → webpack-D2Wdk28V.mjs} +214 -27
  71. package/dist/webpack.js +1 -1
  72. package/dist/webpack.mjs +1 -1
  73. package/package.json +21 -30
  74. package/dist/bundlers/webpack/BaseUnifiedPlugin/v4-assets.d.ts +0 -14
  75. package/dist/bundlers/webpack/BaseUnifiedPlugin/v4-loaders.d.ts +0 -15
  76. package/dist/bundlers/webpack/BaseUnifiedPlugin/v4.d.ts +0 -9
  77. package/dist/experimental/index.d.ts +0 -2
  78. package/dist/experimental/oxc/ast-utils.d.ts +0 -30
  79. package/dist/experimental/oxc/index.d.ts +0 -2
  80. package/dist/experimental/oxc/module-specifiers.d.ts +0 -2
  81. package/dist/experimental/shared/cache.d.ts +0 -3
  82. package/dist/experimental/shared/transform.d.ts +0 -3
  83. package/dist/experimental/shared.d.ts +0 -8
  84. package/dist/experimental/swc/ast-utils.d.ts +0 -30
  85. package/dist/experimental/swc/index.d.ts +0 -2
  86. package/dist/experimental/swc/module-specifiers.d.ts +0 -2
  87. package/dist/loader-anchors-1MumTAtA.mjs +0 -205
  88. package/dist/loader-anchors-TrFvT6g1.js +0 -273
  89. package/dist/patcher-options-6gJN2EXy.js +0 -115
  90. package/dist/patcher-options-DQfR5xxT.mjs +0 -92
  91. package/dist/types/disabled-options.d.ts +0 -4
  92. package/dist/webpack4.d.ts +0 -4
  93. package/dist/webpack4.js +0 -387
  94. package/dist/webpack4.mjs +0 -379
  95. package/scripts/postinstall.mjs +0 -59
@@ -1,5 +1,6 @@
1
- import { i as toModernTailwindcssPatchOptions, n as normalizeTailwindcssPatcherOptions, r as resolveTailwindcssOptions, t as normalizeExtendLengthUnits } from "./patcher-options-DQfR5xxT.mjs";
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.version === 2) {
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 = toModernTailwindcssPatchOptions(defuOverrideArray(normalizedUserOptions ?? {}, {
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
- if (isLegacyTailwindcssPatcherOptions(options)) {
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
- ...rest,
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 || tailwindcssPatcherOptions?.tailwind?.packageName || tailwindcssPatcherOptions?.patch?.tailwindcss?.packageName;
665
- const explicitTailwindVersion = resolveExplicitTailwindVersion(tailwindcss?.version || tailwindcssPatcherOptions?.tailwindcss?.version || tailwindcssPatcherOptions?.tailwind?.version || tailwindcssPatcherOptions?.patch?.tailwindcss?.version || mergedTailwindOptions.version, configuredPackageName);
666
- const hasExplicitV4Signals = hasCssEntries || hasOwnV4Signal(tailwindcss) || hasOwnV4Signal(tailwindcssPatcherOptions?.tailwindcss) || hasOwnV4Signal(tailwindcssPatcherOptions?.tailwind) || hasOwnV4Signal(tailwindcssPatcherOptions?.patch?.tailwindcss);
667
- const shouldPatchV4PostcssPackage = (explicitTailwindVersion === 3 ? false : explicitTailwindVersion === 4 || explicitTailwindVersion === void 0 && (mergedTailwindOptions.version === 4 || isTailwindcss4Package(configuredPackageName ?? mergedTailwindOptions.packageName) || hasExplicitV4Signals)) && !Boolean(configuredPackageName);
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-6gJN2EXy.js");
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.version === 2) {
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 = require_patcher_options.toModernTailwindcssPatchOptions((0, _weapp_tailwindcss_shared.defuOverrideArray)(normalizedUserOptions ?? {}, {
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
- if (isLegacyTailwindcssPatcherOptions(options)) {
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
- ...rest,
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 || tailwindcssPatcherOptions?.tailwind?.packageName || tailwindcssPatcherOptions?.patch?.tailwindcss?.packageName;
668
- const explicitTailwindVersion = resolveExplicitTailwindVersion(tailwindcss?.version || tailwindcssPatcherOptions?.tailwindcss?.version || tailwindcssPatcherOptions?.tailwind?.version || tailwindcssPatcherOptions?.patch?.tailwindcss?.version || mergedTailwindOptions.version, configuredPackageName);
669
- const hasExplicitV4Signals = hasCssEntries || hasOwnV4Signal(tailwindcss) || hasOwnV4Signal(tailwindcssPatcherOptions?.tailwindcss) || hasOwnV4Signal(tailwindcssPatcherOptions?.tailwind) || hasOwnV4Signal(tailwindcssPatcherOptions?.patch?.tailwindcss);
670
- const shouldPatchV4PostcssPackage = (explicitTailwindVersion === 3 ? false : explicitTailwindVersion === 4 || explicitTailwindVersion === void 0 && (mergedTailwindOptions.version === 4 || isTailwindcss4Package(configuredPackageName ?? mergedTailwindOptions.packageName) || hasExplicitV4Signals)) && !Boolean(configuredPackageName);
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, WeappTailwindcssGeneratorTarget, WeappTailwindcssGeneratorUserOptions } from './generator';
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-mmhXzZnv.js");
7
- let node_module = require("node:module");
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 POSTCSS_SOURCE_EXTENSIONS = [
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
- return typeof from === "string" && from.length > 0 ? from : void 0;
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
- root.append(nextRoot.nodes);
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
- return readPackageMajorVersion(packageName, resolvePostcssProjectRoot(result, options)) ?? 4;
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)(`**/*.{${POSTCSS_SOURCE_EXTENSIONS.join(",")}}`, {
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, target: legacyTarget, ...sourceOptions } = options;
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: options.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: legacyTarget ?? generatorOptions.target
270
+ target: generatorOptions.target
262
271
  };
263
272
  const generated = await generator.generate(generateOptions);
264
273
  replaceRootCss(root, generated.css, result);