weapp-tailwindcss 5.0.0-next.7 → 5.0.0-next.8

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 (48) hide show
  1. package/dist/bundlers/shared/generator-css/directives.d.ts +1 -0
  2. package/dist/bundlers/vite/rewrite-css-imports.d.ts +1 -0
  3. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-loaders.d.ts +2 -0
  4. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5.d.ts +1 -0
  5. package/dist/bundlers/webpack/loaders/weapp-tw-css-import-rewrite-loader.d.ts +2 -0
  6. package/dist/{cache-DPN5yKSX.js → cache-BVAiJV3J.js} +5 -0
  7. package/dist/{cache-nq0_XJoS.mjs → cache-CHs4DXui.mjs} +5 -0
  8. package/dist/core.js +1 -1
  9. package/dist/core.mjs +1 -1
  10. package/dist/css-macro.js +1 -1
  11. package/dist/css-macro.mjs +1 -1
  12. package/dist/defaults.js +1 -1
  13. package/dist/defaults.mjs +1 -1
  14. package/dist/{generator-TOp4uz7c.js → generator-DKkhJbOg.js} +3 -2
  15. package/dist/{generator-CzfdCZyd.mjs → generator-UBmfduYg.mjs} +3 -2
  16. package/dist/{generator-css-B938WI9a.mjs → generator-css-BIapP56i.mjs} +184 -146
  17. package/dist/{generator-css-Dnpl-IY2.js → generator-css-Mksw8PgB.js} +189 -145
  18. package/dist/generator.js +1 -1
  19. package/dist/generator.mjs +1 -1
  20. package/dist/gulp.js +20 -5
  21. package/dist/gulp.mjs +20 -5
  22. package/dist/index.js +4 -4
  23. package/dist/index.mjs +4 -4
  24. package/dist/{postcss-WsXlC7A-.js → postcss-QIXwT40c.js} +2 -2
  25. package/dist/{postcss-BtAP6sQO.mjs → postcss-w48mGIhe.mjs} +2 -2
  26. package/dist/postcss.js +1 -1
  27. package/dist/postcss.mjs +1 -1
  28. package/dist/{precheck-Dka94ArV.js → precheck-B32p-gLI.js} +5 -5
  29. package/dist/{precheck-DlrmwCc-.mjs → precheck-B4RH6ZNN.mjs} +5 -5
  30. package/dist/presets.js +3 -3
  31. package/dist/presets.mjs +3 -3
  32. package/dist/{runtime-patch-pGdCqAEu.mjs → runtime-patch-CwN5ya72.mjs} +1 -1
  33. package/dist/{runtime-patch-qwuisukL.js → runtime-patch-D6mBo_KB.js} +1 -1
  34. package/dist/tailwindcss/v4/css-sources.d.ts +5 -0
  35. package/dist/{tailwindcss-T1U5T-iF.js → tailwindcss-Bu-RWIHx.js} +68 -3
  36. package/dist/{tailwindcss-BIJ185GB.mjs → tailwindcss-C5IgPlQ0.mjs} +57 -4
  37. package/dist/{vite-BXChkciE.mjs → vite-BwgRVgxH.mjs} +56 -25
  38. package/dist/{vite-D0CoRblu.js → vite-DyZuiyap.js} +56 -25
  39. package/dist/vite.js +1 -1
  40. package/dist/vite.mjs +1 -1
  41. package/dist/weapp-tw-css-import-rewrite-loader.js +10 -1
  42. package/dist/{webpack-D-sUCY0u.js → webpack-CNV2dx3Q.js} +46 -10
  43. package/dist/{webpack-BNdGm9KL.mjs → webpack-CT6EEENx.mjs} +46 -10
  44. package/dist/webpack.js +1 -1
  45. package/dist/webpack.mjs +1 -1
  46. package/package.json +4 -4
  47. /package/dist/{utils-VZvGusYs.js → utils-BiShvil9.js} +0 -0
  48. /package/dist/{utils-BJjKRQgf.mjs → utils-Btw1iOVV.mjs} +0 -0
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require("./chunk-8l464Juk.js");
2
- const require_generator = require("./generator-TOp4uz7c.js");
3
- const require_precheck = require("./precheck-Dka94ArV.js");
2
+ const require_generator = require("./generator-DKkhJbOg.js");
3
+ const require_precheck = require("./precheck-B32p-gLI.js");
4
4
  let postcss = require("postcss");
5
5
  postcss = require_chunk.__toESM(postcss);
6
6
  let node_path = require("node:path");
@@ -8,6 +8,179 @@ node_path = require_chunk.__toESM(node_path);
8
8
  let node_process = require("node:process");
9
9
  node_process = require_chunk.__toESM(node_process);
10
10
  let node_fs = require("node:fs");
11
+ //#region src/bundlers/shared/generator-css/markers.ts
12
+ const TAILWIND_V4_BANNER_RE = /\/\*!\s*tailwindcss v4\./;
13
+ const TAILWIND_GENERATED_CSS_MARKER_RE = /\/\*!\s*tailwindcss v|@property\s+--tw-|--tw-|:not\(#\\#\)|\.[^,{]*(?:\\:|\\\[|\\#)|(?::host|page|\.tw-root|wx-root-portal-content)[^{]*\{[^}]*--(?:color|spacing|text|font-weight|radius)-/;
14
+ const GENERATOR_PLACEHOLDER_MARKER_RE = /\/\*!\s*weapp-tailwindcss generator-placeholder\s*\*\//i;
15
+ const GENERATOR_PLACEHOLDER_MARKER_GLOBAL_RE = /\/\*!\s*weapp-tailwindcss generator-placeholder\s*\*\/\s*/gi;
16
+ const TAILWIND_BANNER_PREFIX_RE = /^\/\*!\s*tailwindcss v[^*]*\*\/\s*/i;
17
+ const TAILWIND_BANNER_GLOBAL_RE = /\/\*!\s*tailwindcss v[^*]*\*\/\s*/gi;
18
+ const VITE_MARKER_RE = /\/\*\$vite\$:[^*]*\*\//g;
19
+ function createCssAppend(base, extra) {
20
+ if (!base) return extra;
21
+ if (!extra) return base;
22
+ return `${base}\n${extra}`;
23
+ }
24
+ function splitTailwindV4GeneratedCss(rawSource, rawTailwindCss) {
25
+ const trimmedRaw = rawSource.trim();
26
+ const trimmedTailwind = rawTailwindCss.trim();
27
+ if (trimmedRaw === trimmedTailwind) return "";
28
+ if (trimmedTailwind.startsWith(trimmedRaw)) return "";
29
+ const start = rawSource.indexOf(rawTailwindCss);
30
+ if (start === -1) return;
31
+ return createCssAppend(rawSource.slice(0, start), rawSource.slice(start + rawTailwindCss.length));
32
+ }
33
+ function stripTailwindBanner(css) {
34
+ return css.replace(TAILWIND_BANNER_PREFIX_RE, "");
35
+ }
36
+ function stripTailwindBanners(css) {
37
+ return css.replace(TAILWIND_BANNER_GLOBAL_RE, "");
38
+ }
39
+ function stripGeneratorPlaceholderMarkers(css) {
40
+ return css.replace(GENERATOR_PLACEHOLDER_MARKER_GLOBAL_RE, "");
41
+ }
42
+ function hasTailwindGeneratedCss(rawSource) {
43
+ return TAILWIND_V4_BANNER_RE.test(rawSource);
44
+ }
45
+ function hasTailwindGeneratedCssMarkers(rawSource) {
46
+ return TAILWIND_GENERATED_CSS_MARKER_RE.test(rawSource) || GENERATOR_PLACEHOLDER_MARKER_RE.test(rawSource);
47
+ }
48
+ //#endregion
49
+ //#region src/bundlers/shared/generator-css/directives.ts
50
+ const TAILWIND_REMOVABLE_SOURCE_DIRECTIVE_NAMES = new Set([
51
+ "config",
52
+ "custom-variant",
53
+ "layer",
54
+ "plugin",
55
+ "reference",
56
+ "source",
57
+ "tailwind",
58
+ "theme",
59
+ "utility",
60
+ "variant"
61
+ ]);
62
+ const TAILWIND_ROOT_DIRECTIVE_NAMES = new Set([
63
+ "config",
64
+ "custom-variant",
65
+ "plugin",
66
+ "source",
67
+ "tailwind",
68
+ "theme",
69
+ "utility",
70
+ "variant"
71
+ ]);
72
+ const TAILWIND_ROOT_DIRECTIVE_RE = /@(?:import\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|tailwind|config|custom-variant|plugin|source|theme|utility|variant)\b/;
73
+ function parseImportRequest(params) {
74
+ return /^(?:url\(\s*)?(["']?)([^"')\s]+)\1\s*\)?/.exec(params.trim())?.[2];
75
+ }
76
+ function parseConfigRequest(params) {
77
+ return /^(["'])(.+)\1\s*;?$/.exec(params.trim())?.[2];
78
+ }
79
+ function isPackageJsonImportRequest(request) {
80
+ return typeof request === "string" && request.startsWith("#");
81
+ }
82
+ function isTailwindImportAtRule(node) {
83
+ if (node.name === "tailwind") return true;
84
+ if (node.name !== "import") return false;
85
+ const request = parseImportRequest(node.params);
86
+ return request === "tailwindcss" || request === "tailwindcss4" || request?.startsWith("tailwindcss/") || request?.startsWith("tailwindcss4/");
87
+ }
88
+ function isTailwindSourceDirective(node) {
89
+ if (node.type !== "atrule") return false;
90
+ const atRule = node;
91
+ if (isTailwindImportAtRule(atRule)) return true;
92
+ if (atRule.name === "import" && isPackageJsonImportRequest(parseImportRequest(atRule.params))) return true;
93
+ return TAILWIND_REMOVABLE_SOURCE_DIRECTIVE_NAMES.has(atRule.name);
94
+ }
95
+ function isTailwindGenerationDirective(node) {
96
+ if (node.type !== "atrule") return false;
97
+ const atRule = node;
98
+ const request = atRule.name === "import" ? parseImportRequest(atRule.params) : atRule.name === "config" || atRule.name === "plugin" || atRule.name === "reference" ? parseConfigRequest(atRule.params) : void 0;
99
+ return isTailwindImportAtRule(atRule) || isPackageJsonImportRequest(request) || atRule.name === "apply" || atRule.name === "layer" || atRule.name === "config" || atRule.name === "source";
100
+ }
101
+ function removeTailwindSourceDirectives(rawSource) {
102
+ try {
103
+ const source = stripGeneratorPlaceholderMarkers(rawSource);
104
+ const root = postcss.default.parse(source);
105
+ let removed = false;
106
+ root.walk((node) => {
107
+ if (isTailwindSourceDirective(node)) {
108
+ node.remove();
109
+ removed = true;
110
+ }
111
+ });
112
+ return removed ? root.toString() : source;
113
+ } catch {
114
+ return stripGeneratorPlaceholderMarkers(rawSource);
115
+ }
116
+ }
117
+ function hasTailwindSourceDirectives(rawSource) {
118
+ try {
119
+ if (GENERATOR_PLACEHOLDER_MARKER_RE.test(rawSource)) return true;
120
+ const root = postcss.default.parse(rawSource);
121
+ let found = false;
122
+ root.walk((node) => {
123
+ if (isTailwindGenerationDirective(node)) {
124
+ found = true;
125
+ return false;
126
+ }
127
+ });
128
+ return found;
129
+ } catch {
130
+ return false;
131
+ }
132
+ }
133
+ function hasTailwindRootDirectives(rawSource) {
134
+ if (!TAILWIND_ROOT_DIRECTIVE_RE.test(rawSource)) return false;
135
+ try {
136
+ const root = postcss.default.parse(rawSource);
137
+ let found = false;
138
+ root.walkAtRules((node) => {
139
+ const request = node.name === "import" ? parseImportRequest(node.params) : node.name === "config" || node.name === "plugin" ? parseConfigRequest(node.params) : void 0;
140
+ if (isTailwindImportAtRule(node) || isPackageJsonImportRequest(request) || TAILWIND_ROOT_DIRECTIVE_NAMES.has(node.name)) {
141
+ found = true;
142
+ return false;
143
+ }
144
+ });
145
+ return found;
146
+ } catch {
147
+ return true;
148
+ }
149
+ }
150
+ function resolveCssEntrySource(rawSource, base, options = {}) {
151
+ try {
152
+ const root = postcss.default.parse(rawSource);
153
+ let found = false;
154
+ let config;
155
+ let configRequest;
156
+ let removedConfig = false;
157
+ const removeConfig = options.removeConfig ?? true;
158
+ root.walk((node) => {
159
+ if (isTailwindGenerationDirective(node)) found = true;
160
+ if (node.type === "atrule" && node.name === "config") {
161
+ const configPath = parseConfigRequest(node.params);
162
+ if (configPath && !config) {
163
+ configRequest = configPath;
164
+ config = isPackageJsonImportRequest(configPath) ? void 0 : node_path.default.isAbsolute(configPath) ? configPath : node_path.default.resolve(base, configPath);
165
+ }
166
+ if (removeConfig) {
167
+ node.remove();
168
+ removedConfig = true;
169
+ }
170
+ }
171
+ });
172
+ if (!found) return;
173
+ return {
174
+ css: removedConfig ? root.toString() : rawSource,
175
+ config,
176
+ configRequest,
177
+ base
178
+ };
179
+ } catch {
180
+ return;
181
+ }
182
+ }
183
+ //#endregion
11
184
  //#region src/bundlers/shared/cache.ts
12
185
  async function processCachedTask({ cache, cacheKey, hashKey = cacheKey, rawSource, hash, readCache, applyResult, transform, onCacheHit }) {
13
186
  let cacheHit = false;
@@ -373,149 +546,6 @@ function finalizeMiniProgramCss(css) {
373
546
  }
374
547
  }
375
548
  //#endregion
376
- //#region src/bundlers/shared/generator-css/markers.ts
377
- const TAILWIND_V4_BANNER_RE = /\/\*!\s*tailwindcss v4\./;
378
- const TAILWIND_GENERATED_CSS_MARKER_RE = /\/\*!\s*tailwindcss v|@property\s+--tw-|--tw-|:not\(#\\#\)|\.[^,{]*(?:\\:|\\\[|\\#)|(?::host|page|\.tw-root|wx-root-portal-content)[^{]*\{[^}]*--(?:color|spacing|text|font-weight|radius)-/;
379
- const GENERATOR_PLACEHOLDER_MARKER_RE = /\/\*!\s*weapp-tailwindcss generator-placeholder\s*\*\//i;
380
- const GENERATOR_PLACEHOLDER_MARKER_GLOBAL_RE = /\/\*!\s*weapp-tailwindcss generator-placeholder\s*\*\/\s*/gi;
381
- const TAILWIND_BANNER_PREFIX_RE = /^\/\*!\s*tailwindcss v[^*]*\*\/\s*/i;
382
- const TAILWIND_BANNER_GLOBAL_RE = /\/\*!\s*tailwindcss v[^*]*\*\/\s*/gi;
383
- const VITE_MARKER_RE = /\/\*\$vite\$:[^*]*\*\//g;
384
- function createCssAppend(base, extra) {
385
- if (!base) return extra;
386
- if (!extra) return base;
387
- return `${base}\n${extra}`;
388
- }
389
- function splitTailwindV4GeneratedCss(rawSource, rawTailwindCss) {
390
- const trimmedRaw = rawSource.trim();
391
- const trimmedTailwind = rawTailwindCss.trim();
392
- if (trimmedRaw === trimmedTailwind) return "";
393
- if (trimmedTailwind.startsWith(trimmedRaw)) return "";
394
- const start = rawSource.indexOf(rawTailwindCss);
395
- if (start === -1) return;
396
- return createCssAppend(rawSource.slice(0, start), rawSource.slice(start + rawTailwindCss.length));
397
- }
398
- function stripTailwindBanner(css) {
399
- return css.replace(TAILWIND_BANNER_PREFIX_RE, "");
400
- }
401
- function stripTailwindBanners(css) {
402
- return css.replace(TAILWIND_BANNER_GLOBAL_RE, "");
403
- }
404
- function stripGeneratorPlaceholderMarkers(css) {
405
- return css.replace(GENERATOR_PLACEHOLDER_MARKER_GLOBAL_RE, "");
406
- }
407
- function hasTailwindGeneratedCss(rawSource) {
408
- return TAILWIND_V4_BANNER_RE.test(rawSource);
409
- }
410
- function hasTailwindGeneratedCssMarkers(rawSource) {
411
- return TAILWIND_GENERATED_CSS_MARKER_RE.test(rawSource) || GENERATOR_PLACEHOLDER_MARKER_RE.test(rawSource);
412
- }
413
- //#endregion
414
- //#region src/bundlers/shared/generator-css/directives.ts
415
- const TAILWIND_REMOVABLE_SOURCE_DIRECTIVE_NAMES = new Set([
416
- "config",
417
- "custom-variant",
418
- "layer",
419
- "plugin",
420
- "reference",
421
- "source",
422
- "tailwind",
423
- "theme",
424
- "utility",
425
- "variant"
426
- ]);
427
- function parseImportRequest(params) {
428
- return /^(?:url\(\s*)?(["']?)([^"')\s]+)\1\s*\)?/.exec(params.trim())?.[2];
429
- }
430
- function parseConfigRequest(params) {
431
- return /^(["'])(.+)\1\s*;?$/.exec(params.trim())?.[2];
432
- }
433
- function isPackageJsonImportRequest(request) {
434
- return typeof request === "string" && request.startsWith("#");
435
- }
436
- function isTailwindImportAtRule(node) {
437
- if (node.name === "tailwind") return true;
438
- if (node.name !== "import") return false;
439
- const request = parseImportRequest(node.params);
440
- return request === "tailwindcss" || request === "tailwindcss4" || request?.startsWith("tailwindcss/") || request?.startsWith("tailwindcss4/");
441
- }
442
- function isTailwindSourceDirective(node) {
443
- if (node.type !== "atrule") return false;
444
- if (isTailwindImportAtRule(node)) return true;
445
- if (node.name === "import" && isPackageJsonImportRequest(parseImportRequest(node.params))) return true;
446
- return TAILWIND_REMOVABLE_SOURCE_DIRECTIVE_NAMES.has(node.name);
447
- }
448
- function isTailwindGenerationDirective(node) {
449
- if (node.type !== "atrule") return false;
450
- const request = node.name === "import" ? parseImportRequest(node.params) : node.name === "config" || node.name === "plugin" || node.name === "reference" ? parseConfigRequest(node.params) : void 0;
451
- return isTailwindImportAtRule(node) || isPackageJsonImportRequest(request) || node.name === "apply" || node.name === "layer" || node.name === "config" || node.name === "source";
452
- }
453
- function removeTailwindSourceDirectives(rawSource) {
454
- try {
455
- const source = stripGeneratorPlaceholderMarkers(rawSource);
456
- const root = postcss.default.parse(source);
457
- let removed = false;
458
- root.walk((node) => {
459
- if (isTailwindSourceDirective(node)) {
460
- node.remove();
461
- removed = true;
462
- }
463
- });
464
- return removed ? root.toString() : source;
465
- } catch {
466
- return stripGeneratorPlaceholderMarkers(rawSource);
467
- }
468
- }
469
- function hasTailwindSourceDirectives(rawSource) {
470
- try {
471
- if (GENERATOR_PLACEHOLDER_MARKER_RE.test(rawSource)) return true;
472
- const root = postcss.default.parse(rawSource);
473
- let found = false;
474
- root.walk((node) => {
475
- if (isTailwindGenerationDirective(node)) {
476
- found = true;
477
- return false;
478
- }
479
- });
480
- return found;
481
- } catch {
482
- return false;
483
- }
484
- }
485
- function resolveCssEntrySource(rawSource, base, options = {}) {
486
- try {
487
- const root = postcss.default.parse(rawSource);
488
- let found = false;
489
- let config;
490
- let configRequest;
491
- let removedConfig = false;
492
- const removeConfig = options.removeConfig ?? true;
493
- root.walk((node) => {
494
- if (isTailwindGenerationDirective(node)) found = true;
495
- if (node.type === "atrule" && node.name === "config") {
496
- const configPath = parseConfigRequest(node.params);
497
- if (configPath && !config) {
498
- configRequest = configPath;
499
- config = isPackageJsonImportRequest(configPath) ? void 0 : node_path.default.isAbsolute(configPath) ? configPath : node_path.default.resolve(base, configPath);
500
- }
501
- if (removeConfig) {
502
- node.remove();
503
- removedConfig = true;
504
- }
505
- }
506
- });
507
- if (!found) return;
508
- return {
509
- css: removedConfig ? root.toString() : rawSource,
510
- config,
511
- configRequest,
512
- base
513
- };
514
- } catch {
515
- return;
516
- }
517
- }
518
- //#endregion
519
549
  //#region src/bundlers/shared/generator-css/legacy-selectors.ts
520
550
  const CLASS_SELECTOR_RE = /(?:^|[^\w-])\.[_a-z\u00A0-\uFFFF\\-]/i;
521
551
  const MINI_PROGRAM_THEME_SCOPE_SELECTORS = new Set([
@@ -872,6 +902,9 @@ function tryResolveTailwindV4SourceOptions(runtimeState) {
872
902
  return;
873
903
  }
874
904
  }
905
+ function hasConfiguredTailwindV4CssSource(sourceOptions) {
906
+ return Boolean(sourceOptions?.css) || Boolean(sourceOptions?.cssSources?.length);
907
+ }
875
908
  async function resolveGeneratorSource(majorVersion, runtimeState, rawSource, file, cssHandlerOptions, generatorOptions) {
876
909
  const cssEntrySource = resolveCssEntrySource(rawSource, resolveCssSourceBase(file, cssHandlerOptions), { removeConfig: majorVersion === 3 });
877
910
  if (majorVersion === 3) {
@@ -892,6 +925,11 @@ async function resolveGeneratorSource(majorVersion, runtimeState, rawSource, fil
892
925
  });
893
926
  }
894
927
  const sourceOptions = tryResolveTailwindV4SourceOptions(runtimeState);
928
+ const configuredCssSource = sourceOptions && hasConfiguredTailwindV4CssSource(sourceOptions) && hasTailwindGeneratedCssMarkers(rawSource) ? await require_generator.resolveTailwindV4Source(sourceOptions) : void 0;
929
+ if (configuredCssSource) return generatorOptions?.config ? {
930
+ ...configuredCssSource,
931
+ css: prependConfigDirective(configuredCssSource.css, generatorOptions.config)
932
+ } : configuredCssSource;
895
933
  const shouldPreferSourceSideEntry = shouldResolveSourceSideCssEntry(rawSource) || Boolean(cssEntrySource?.css.includes("weapp-tailwindcss generator-placeholder"));
896
934
  const sourceSideEntrySource = sourceOptions && shouldPreferSourceSideEntry ? resolveSourceSideCssEntrySource(file, sourceOptions, { removeConfig: false }) : void 0;
897
935
  const matchedCssEntrySource = sourceOptions && cssEntrySource ? await resolveMatchingTailwindV4CssEntry(rawSource, file, sourceOptions) : void 0;
@@ -1298,6 +1336,12 @@ Object.defineProperty(exports, "hasTailwindGeneratedCssMarkers", {
1298
1336
  return hasTailwindGeneratedCssMarkers;
1299
1337
  }
1300
1338
  });
1339
+ Object.defineProperty(exports, "hasTailwindRootDirectives", {
1340
+ enumerable: true,
1341
+ get: function() {
1342
+ return hasTailwindRootDirectives;
1343
+ }
1344
+ });
1301
1345
  Object.defineProperty(exports, "hasTailwindSourceDirectives", {
1302
1346
  enumerable: true,
1303
1347
  get: function() {
package/dist/generator.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("./chunk-8l464Juk.js");
3
- const require_generator = require("./generator-TOp4uz7c.js");
3
+ const require_generator = require("./generator-DKkhJbOg.js");
4
4
  let tailwindcss_patch = require("tailwindcss-patch");
5
5
  exports.createWeappTailwindcssGenerator = require_generator.createWeappTailwindcssGenerator;
6
6
  exports.createWeappTailwindcssGeneratorFromPatcher = require_generator.createWeappTailwindcssGeneratorFromPatcher;
@@ -1,2 +1,2 @@
1
- import { _ as transformTailwindV3CssToWeapp, a as resolveTailwindV4Source, c as resolveTailwindV4SourceOptionsFromPatcher, g as transformTailwindV3CssByTarget, h as resolveTailwindV3SourceOptionsFromPatcher, i as normalizeWeappTailwindcssGeneratorOptions, l as transformTailwindV4CssByTarget, m as resolveTailwindV3SourceFromPatcher, n as createWeappTailwindcssGeneratorFromPatcher, o as resolveTailwindV4SourceFromPatchOptions, p as resolveTailwindV3Source, r as resolveTailwindSourceFromPatcher, s as resolveTailwindV4SourceFromPatcher, t as createWeappTailwindcssGenerator, u as transformTailwindV4CssToWeapp } from "./generator-CzfdCZyd.mjs";
1
+ import { _ as transformTailwindV3CssToWeapp, a as resolveTailwindV4Source, c as resolveTailwindV4SourceOptionsFromPatcher, g as transformTailwindV3CssByTarget, h as resolveTailwindV3SourceOptionsFromPatcher, i as normalizeWeappTailwindcssGeneratorOptions, l as transformTailwindV4CssByTarget, m as resolveTailwindV3SourceFromPatcher, n as createWeappTailwindcssGeneratorFromPatcher, o as resolveTailwindV4SourceFromPatchOptions, p as resolveTailwindV3Source, r as resolveTailwindSourceFromPatcher, s as resolveTailwindV4SourceFromPatcher, t as createWeappTailwindcssGenerator, u as transformTailwindV4CssToWeapp } from "./generator-UBmfduYg.mjs";
2
2
  export { createWeappTailwindcssGenerator, createWeappTailwindcssGeneratorFromPatcher, normalizeWeappTailwindcssGeneratorOptions, resolveTailwindSourceFromPatcher, resolveTailwindV3Source, resolveTailwindV3SourceFromPatcher, resolveTailwindV3SourceOptionsFromPatcher, resolveTailwindV4Source, resolveTailwindV4SourceFromPatchOptions, resolveTailwindV4SourceFromPatcher, resolveTailwindV4SourceOptionsFromPatcher, transformTailwindV3CssByTarget, transformTailwindV3CssToWeapp, transformTailwindV4CssByTarget, transformTailwindV4CssToWeapp };
package/dist/gulp.js CHANGED
@@ -1,9 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-8l464Juk.js");
3
- const require_cache = require("./cache-DPN5yKSX.js");
4
- const require_runtime_patch = require("./runtime-patch-qwuisukL.js");
5
- const require_precheck = require("./precheck-Dka94ArV.js");
6
- const require_generator_css = require("./generator-css-Dnpl-IY2.js");
3
+ const require_cache = require("./cache-BVAiJV3J.js");
4
+ const require_runtime_patch = require("./runtime-patch-D6mBo_KB.js");
5
+ const require_generator_css = require("./generator-css-Mksw8PgB.js");
6
+ const require_precheck = require("./precheck-B32p-gLI.js");
7
+ const require_tailwindcss = require("./tailwindcss-Bu-RWIHx.js");
7
8
  let node_path = require("node:path");
8
9
  node_path = require_chunk.__toESM(node_path);
9
10
  let node_process = require("node:process");
@@ -22,7 +23,11 @@ const Transform = node_stream.default.Transform;
22
23
  * @link https://tw.icebreaker.top/docs/quick-start/frameworks/native
23
24
  */
24
25
  function createPlugins(options = {}) {
25
- const opts = require_precheck.getCompilerContext(options);
26
+ const hasInitialTailwindCssRoots = require_tailwindcss.hasConfiguredTailwindV4CssRoots(options);
27
+ const opts = require_precheck.getCompilerContext({
28
+ ...options,
29
+ __internalDeferMissingCssEntriesWarning: true
30
+ });
26
31
  const { templateHandler, styleHandler, jsHandler, cache, twPatcher: initialTwPatcher, refreshTailwindcssPatcher } = opts;
27
32
  const readyPromise = require_precheck.createTailwindRuntimeReadyPromise(initialTwPatcher);
28
33
  let runtimeSet = /* @__PURE__ */ new Set();
@@ -62,6 +67,15 @@ function createPlugins(options = {}) {
62
67
  [...nextRuntimeSet].sort().join("\n")
63
68
  ].join("\n\n"));
64
69
  }
70
+ async function registerAutoCssSource(file, rawSource) {
71
+ if (hasInitialTailwindCssRoots || (runtimeState.twPatcher.majorVersion ?? 0) < 4 || !file.path || !require_generator_css.hasTailwindRootDirectives(rawSource)) return;
72
+ if (!require_tailwindcss.upsertTailwindV4CssSource(opts, {
73
+ file: node_path.default.resolve(file.path),
74
+ css: rawSource
75
+ })) return;
76
+ runtimeSetInitialized = false;
77
+ debug("detected tailwindcss v4 css source from gulp css file: %s", file.path);
78
+ }
65
79
  function resolveWithExtensions(base) {
66
80
  for (const ext of MODULE_EXTENSIONS) {
67
81
  const candidate = `${base}${ext}`;
@@ -169,6 +183,7 @@ function createPlugins(options = {}) {
169
183
  const transformWxss = (options = {}) => createVinylTransform(async (file) => {
170
184
  if (!file.contents) return;
171
185
  const rawSource = file.contents.toString();
186
+ await registerAutoCssSource(file, rawSource);
172
187
  const nextRuntimeSet = await refreshRuntimeSet(true);
173
188
  await require_generator_css.processCachedTask({
174
189
  cache,
package/dist/gulp.mjs CHANGED
@@ -1,7 +1,8 @@
1
- import { n as getRuntimeClassSetSignature } from "./cache-nq0_XJoS.mjs";
2
- import { n as createDebug } from "./runtime-patch-pGdCqAEu.mjs";
3
- import { _ as ensureRuntimeClassSet, g as createTailwindRuntimeReadyPromise, n as getCompilerContext, t as shouldSkipJsTransform } from "./precheck-DlrmwCc-.mjs";
4
- import { a as processCachedTask, t as generateCssByGenerator } from "./generator-css-B938WI9a.mjs";
1
+ import { n as getRuntimeClassSetSignature } from "./cache-CHs4DXui.mjs";
2
+ import { n as createDebug } from "./runtime-patch-CwN5ya72.mjs";
3
+ import { i as hasTailwindRootDirectives, r as processCachedTask, t as generateCssByGenerator } from "./generator-css-BIapP56i.mjs";
4
+ import { _ as ensureRuntimeClassSet, g as createTailwindRuntimeReadyPromise, n as getCompilerContext, t as shouldSkipJsTransform } from "./precheck-B4RH6ZNN.mjs";
5
+ import { c as upsertTailwindV4CssSource, s as hasConfiguredTailwindV4CssRoots } from "./tailwindcss-C5IgPlQ0.mjs";
5
6
  import path from "node:path";
6
7
  import process from "node:process";
7
8
  import fs from "node:fs";
@@ -16,7 +17,11 @@ const Transform = stream.Transform;
16
17
  * @link https://tw.icebreaker.top/docs/quick-start/frameworks/native
17
18
  */
18
19
  function createPlugins(options = {}) {
19
- const opts = getCompilerContext(options);
20
+ const hasInitialTailwindCssRoots = hasConfiguredTailwindV4CssRoots(options);
21
+ const opts = getCompilerContext({
22
+ ...options,
23
+ __internalDeferMissingCssEntriesWarning: true
24
+ });
20
25
  const { templateHandler, styleHandler, jsHandler, cache, twPatcher: initialTwPatcher, refreshTailwindcssPatcher } = opts;
21
26
  const readyPromise = createTailwindRuntimeReadyPromise(initialTwPatcher);
22
27
  let runtimeSet = /* @__PURE__ */ new Set();
@@ -56,6 +61,15 @@ function createPlugins(options = {}) {
56
61
  [...nextRuntimeSet].sort().join("\n")
57
62
  ].join("\n\n"));
58
63
  }
64
+ async function registerAutoCssSource(file, rawSource) {
65
+ if (hasInitialTailwindCssRoots || (runtimeState.twPatcher.majorVersion ?? 0) < 4 || !file.path || !hasTailwindRootDirectives(rawSource)) return;
66
+ if (!upsertTailwindV4CssSource(opts, {
67
+ file: path.resolve(file.path),
68
+ css: rawSource
69
+ })) return;
70
+ runtimeSetInitialized = false;
71
+ debug("detected tailwindcss v4 css source from gulp css file: %s", file.path);
72
+ }
59
73
  function resolveWithExtensions(base) {
60
74
  for (const ext of MODULE_EXTENSIONS) {
61
75
  const candidate = `${base}${ext}`;
@@ -163,6 +177,7 @@ function createPlugins(options = {}) {
163
177
  const transformWxss = (options = {}) => createVinylTransform(async (file) => {
164
178
  if (!file.contents) return;
165
179
  const rawSource = file.contents.toString();
180
+ await registerAutoCssSource(file, rawSource);
166
181
  const nextRuntimeSet = await refreshRuntimeSet(true);
167
182
  await processCachedTask({
168
183
  cache,
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_generator = require("./generator-TOp4uz7c.js");
2
+ const require_generator = require("./generator-DKkhJbOg.js");
3
3
  const require_gulp = require("./gulp.js");
4
- const require_postcss = require("./postcss-WsXlC7A-.js");
5
- const require_vite = require("./vite-D0CoRblu.js");
6
- const require_webpack = require("./webpack-D-sUCY0u.js");
4
+ const require_postcss = require("./postcss-QIXwT40c.js");
5
+ const require_vite = require("./vite-DyZuiyap.js");
6
+ const require_webpack = require("./webpack-CNV2dx3Q.js");
7
7
  exports.UnifiedWebpackPluginV5 = require_webpack.UnifiedWebpackPluginV5;
8
8
  exports.WeappTailwindcss = require_vite.WeappTailwindcss;
9
9
  exports.createPlugins = require_gulp.createPlugins;
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { t as createWeappTailwindcssGenerator } from "./generator-CzfdCZyd.mjs";
1
+ import { t as createWeappTailwindcssGenerator } from "./generator-UBmfduYg.mjs";
2
2
  import { WeappTailwindcss as createPlugins } from "./gulp.mjs";
3
- import { t as weappTailwindcssPostcssPlugin } from "./postcss-BtAP6sQO.mjs";
4
- import { t as WeappTailwindcss } from "./vite-BXChkciE.mjs";
5
- import { n as weappTailwindcssPackageDir, t as UnifiedWebpackPluginV5 } from "./webpack-BNdGm9KL.mjs";
3
+ import { t as weappTailwindcssPostcssPlugin } from "./postcss-w48mGIhe.mjs";
4
+ import { t as WeappTailwindcss } from "./vite-BwgRVgxH.mjs";
5
+ import { n as weappTailwindcssPackageDir, t as UnifiedWebpackPluginV5 } from "./webpack-CT6EEENx.mjs";
6
6
  export { UnifiedWebpackPluginV5, WeappTailwindcss, createPlugins, createWeappTailwindcssGenerator, weappTailwindcssPackageDir, weappTailwindcssPostcssPlugin };
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require("./chunk-8l464Juk.js");
2
- const require_cache = require("./cache-DPN5yKSX.js");
3
- const require_generator = require("./generator-TOp4uz7c.js");
2
+ const require_cache = require("./cache-BVAiJV3J.js");
3
+ const require_generator = require("./generator-DKkhJbOg.js");
4
4
  let postcss = require("postcss");
5
5
  postcss = require_chunk.__toESM(postcss);
6
6
  let node_path = require("node:path");
@@ -1,5 +1,5 @@
1
- import { o as readInstalledPackageMajorVersion } from "./cache-nq0_XJoS.mjs";
2
- import { a as resolveTailwindV4Source$1, i as normalizeWeappTailwindcssGeneratorOptions, p as resolveTailwindV3Source, t as createWeappTailwindcssGenerator } from "./generator-CzfdCZyd.mjs";
1
+ import { o as readInstalledPackageMajorVersion } from "./cache-CHs4DXui.mjs";
2
+ import { a as resolveTailwindV4Source$1, i as normalizeWeappTailwindcssGeneratorOptions, p as resolveTailwindV3Source, t as createWeappTailwindcssGenerator } from "./generator-UBmfduYg.mjs";
3
3
  import postcss from "postcss";
4
4
  import path from "node:path";
5
5
  import process from "node:process";
package/dist/postcss.js CHANGED
@@ -2,6 +2,6 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_postcss = require("./postcss-WsXlC7A-.js");
5
+ const require_postcss = require("./postcss-QIXwT40c.js");
6
6
  exports.default = require_postcss.weappTailwindcssPostcssPlugin;
7
7
  exports.weappTailwindcssPostcssPlugin = require_postcss.weappTailwindcssPostcssPlugin;
package/dist/postcss.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as weappTailwindcssPostcssPlugin } from "./postcss-BtAP6sQO.mjs";
1
+ import { t as weappTailwindcssPostcssPlugin } from "./postcss-w48mGIhe.mjs";
2
2
  export { weappTailwindcssPostcssPlugin as default, weappTailwindcssPostcssPlugin };
@@ -1,9 +1,9 @@
1
1
  const require_chunk = require("./chunk-8l464Juk.js");
2
- const require_cache = require("./cache-DPN5yKSX.js");
3
- const require_runtime_patch = require("./runtime-patch-qwuisukL.js");
4
- require("./utils-VZvGusYs.js");
2
+ const require_cache = require("./cache-BVAiJV3J.js");
3
+ const require_runtime_patch = require("./runtime-patch-D6mBo_KB.js");
4
+ require("./utils-BiShvil9.js");
5
5
  const require_defaults = require("./defaults.js");
6
- const require_tailwindcss = require("./tailwindcss-T1U5T-iF.js");
6
+ const require_tailwindcss = require("./tailwindcss-Bu-RWIHx.js");
7
7
  let node_path = require("node:path");
8
8
  node_path = require_chunk.__toESM(node_path);
9
9
  let node_process = require("node:process");
@@ -2568,7 +2568,7 @@ function createInternalCompilerContext(opts) {
2568
2568
  const twPatcher = require_tailwindcss.createTailwindcssPatcherFromContext(ctx);
2569
2569
  logTailwindcssTarget(twPatcher, ctx.tailwindcssBasedir);
2570
2570
  logRuntimeTailwindcssVersion(ctx.tailwindcssBasedir, twPatcher.packageInfo?.rootPath, twPatcher.packageInfo?.version);
2571
- require_tailwindcss.warnMissingCssEntries(ctx, twPatcher);
2571
+ if (opts?.__internalDeferMissingCssEntriesWarning !== true) require_tailwindcss.warnMissingCssEntries(ctx, twPatcher);
2572
2572
  ctx.cssPreflight = require_defaults.resolveDefaultCssPreflight(opts?.cssPreflight, twPatcher.majorVersion);
2573
2573
  const cssCalcOptions = require_tailwindcss.applyV4CssCalcDefaults(ctx.cssCalc, twPatcher);
2574
2574
  ctx.cssCalc = cssCalcOptions;
@@ -1,8 +1,8 @@
1
- import { n as getRuntimeClassSetSignature, r as invalidateRuntimeClassSet, t as getRuntimeClassSetCacheEntry } from "./cache-nq0_XJoS.mjs";
2
- import { n as createDebug, t as ensureTailwindcssRuntimePatch } from "./runtime-patch-pGdCqAEu.mjs";
3
- import { i as isMap, n as defuOverrideArray } from "./utils-BJjKRQgf.mjs";
1
+ import { n as getRuntimeClassSetSignature, r as invalidateRuntimeClassSet, t as getRuntimeClassSetCacheEntry } from "./cache-CHs4DXui.mjs";
2
+ import { n as createDebug, t as ensureTailwindcssRuntimePatch } from "./runtime-patch-CwN5ya72.mjs";
3
+ import { i as isMap, n as defuOverrideArray } from "./utils-Btw1iOVV.mjs";
4
4
  import { getDefaultOptions, resolveDefaultCssPreflight } from "./defaults.mjs";
5
- import { a as applyV4CssCalcDefaults, i as resolveUniAppXOptions, o as warnMissingCssEntries, r as isUniAppXEnabled, t as createTailwindcssPatcherFromContext } from "./tailwindcss-BIJ185GB.mjs";
5
+ import { a as applyV4CssCalcDefaults, i as resolveUniAppXOptions, o as warnMissingCssEntries, r as isUniAppXEnabled, t as createTailwindcssPatcherFromContext } from "./tailwindcss-C5IgPlQ0.mjs";
6
6
  import path from "node:path";
7
7
  import process from "node:process";
8
8
  import { logger, pc } from "@weapp-tailwindcss/logger";
@@ -2561,7 +2561,7 @@ function createInternalCompilerContext(opts) {
2561
2561
  const twPatcher = createTailwindcssPatcherFromContext(ctx);
2562
2562
  logTailwindcssTarget(twPatcher, ctx.tailwindcssBasedir);
2563
2563
  logRuntimeTailwindcssVersion(ctx.tailwindcssBasedir, twPatcher.packageInfo?.rootPath, twPatcher.packageInfo?.version);
2564
- warnMissingCssEntries(ctx, twPatcher);
2564
+ if (opts?.__internalDeferMissingCssEntriesWarning !== true) warnMissingCssEntries(ctx, twPatcher);
2565
2565
  ctx.cssPreflight = resolveDefaultCssPreflight(opts?.cssPreflight, twPatcher.majorVersion);
2566
2566
  const cssCalcOptions = applyV4CssCalcDefaults(ctx.cssCalc, twPatcher);
2567
2567
  ctx.cssCalc = cssCalcOptions;
package/dist/presets.js CHANGED
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-8l464Juk.js");
3
- require("./cache-DPN5yKSX.js");
4
- const require_utils = require("./utils-VZvGusYs.js");
5
- const require_tailwindcss = require("./tailwindcss-T1U5T-iF.js");
3
+ require("./cache-BVAiJV3J.js");
4
+ const require_utils = require("./utils-BiShvil9.js");
5
+ const require_tailwindcss = require("./tailwindcss-Bu-RWIHx.js");
6
6
  require("./logger-BRy6XPQ2.js");
7
7
  let node_process = require("node:process");
8
8
  node_process = require_chunk.__toESM(node_process);
package/dist/presets.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import "./cache-nq0_XJoS.mjs";
2
- import { n as defuOverrideArray, o as resolveUniUtsPlatform } from "./utils-BJjKRQgf.mjs";
3
- import { i as resolveUniAppXOptions, n as resolveTailwindcssBasedir } from "./tailwindcss-BIJ185GB.mjs";
1
+ import "./cache-CHs4DXui.mjs";
2
+ import { n as defuOverrideArray, o as resolveUniUtsPlatform } from "./utils-Btw1iOVV.mjs";
3
+ import { i as resolveUniAppXOptions, n as resolveTailwindcssBasedir } from "./tailwindcss-C5IgPlQ0.mjs";
4
4
  import { t as logger } from "./logger-Bub1jggA.mjs";
5
5
  import process from "node:process";
6
6
  import { getPackageInfoSync } from "local-pkg";
@@ -1,4 +1,4 @@
1
- import { i as runtimeSignaturePatchersSymbol } from "./cache-nq0_XJoS.mjs";
1
+ import { i as runtimeSignaturePatchersSymbol } from "./cache-CHs4DXui.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import path from "node:path";
4
4
  import _createDebug from "debug";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-8l464Juk.js");
2
- const require_cache = require("./cache-DPN5yKSX.js");
2
+ const require_cache = require("./cache-BVAiJV3J.js");
3
3
  let node_module = require("node:module");
4
4
  let node_path = require("node:path");
5
5
  node_path = require_chunk.__toESM(node_path);
@@ -0,0 +1,5 @@
1
+ import type { TailwindV4CssSource } from 'tailwindcss-patch';
2
+ import type { UserDefinedOptions } from '../../types';
3
+ export declare function hasCssSourcesValue(value: unknown): boolean;
4
+ export declare function hasConfiguredTailwindV4CssRoots(options: Pick<UserDefinedOptions, 'cssEntries' | 'tailwindcss' | 'tailwindcssPatcherOptions'>): boolean;
5
+ export declare function upsertTailwindV4CssSource(opts: UserDefinedOptions, source: TailwindV4CssSource): boolean;