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

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 +2 -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-Dnpl-IY2.js → generator-css-Bwp3nbrl.js} +209 -146
  17. package/dist/{generator-css-B938WI9a.mjs → generator-css-DeLLmp2N.mjs} +204 -147
  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-D0CoRblu.js → vite-By5KQi9s.js} +59 -27
  38. package/dist/{vite-BXChkciE.mjs → vite-Cyp42bBf.mjs} +59 -27
  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-BzN2ly34.js} +46 -10
  43. package/dist/{webpack-BNdGm9KL.mjs → webpack-DJazm5sT.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,9 +1,196 @@
1
- import { a as resolveTailwindV4Source, c as resolveTailwindV4SourceOptionsFromPatcher, h as resolveTailwindV3SourceOptionsFromPatcher, i as normalizeWeappTailwindcssGeneratorOptions, m as resolveTailwindV3SourceFromPatcher, p as resolveTailwindV3Source, s as resolveTailwindV4SourceFromPatcher, t as createWeappTailwindcssGenerator, v as removeUnsupportedCascadeLayers } from "./generator-CzfdCZyd.mjs";
2
- import { l as replaceWxml } from "./precheck-DlrmwCc-.mjs";
1
+ import { a as resolveTailwindV4Source, c as resolveTailwindV4SourceOptionsFromPatcher, h as resolveTailwindV3SourceOptionsFromPatcher, i as normalizeWeappTailwindcssGeneratorOptions, m as resolveTailwindV3SourceFromPatcher, p as resolveTailwindV3Source, s as resolveTailwindV4SourceFromPatcher, t as createWeappTailwindcssGenerator, v as removeUnsupportedCascadeLayers } from "./generator-UBmfduYg.mjs";
2
+ import { l as replaceWxml } from "./precheck-B4RH6ZNN.mjs";
3
3
  import postcss from "postcss";
4
4
  import path from "node:path";
5
5
  import process from "node:process";
6
6
  import { existsSync, readFileSync } from "node:fs";
7
+ //#region src/bundlers/shared/generator-css/markers.ts
8
+ const TAILWIND_V4_BANNER_RE = /\/\*!\s*tailwindcss v4\./;
9
+ 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)-/;
10
+ const GENERATOR_PLACEHOLDER_MARKER_RE = /\/\*!\s*weapp-tailwindcss generator-placeholder\s*\*\//i;
11
+ const GENERATOR_PLACEHOLDER_MARKER_GLOBAL_RE = /\/\*!\s*weapp-tailwindcss generator-placeholder\s*\*\/\s*/gi;
12
+ const TAILWIND_BANNER_PREFIX_RE = /^\/\*!\s*tailwindcss v[^*]*\*\/\s*/i;
13
+ const TAILWIND_BANNER_GLOBAL_RE = /\/\*!\s*tailwindcss v[^*]*\*\/\s*/gi;
14
+ const VITE_MARKER_RE = /\/\*\$vite\$:[^*]*\*\//g;
15
+ function createCssAppend(base, extra) {
16
+ if (!base) return extra;
17
+ if (!extra) return base;
18
+ return `${base}\n${extra}`;
19
+ }
20
+ function splitTailwindV4GeneratedCss(rawSource, rawTailwindCss) {
21
+ const trimmedRaw = rawSource.trim();
22
+ const trimmedTailwind = rawTailwindCss.trim();
23
+ if (trimmedRaw === trimmedTailwind) return "";
24
+ if (trimmedTailwind.startsWith(trimmedRaw)) return "";
25
+ const start = rawSource.indexOf(rawTailwindCss);
26
+ if (start === -1) return;
27
+ return createCssAppend(rawSource.slice(0, start), rawSource.slice(start + rawTailwindCss.length));
28
+ }
29
+ function stripTailwindBanner(css) {
30
+ return css.replace(TAILWIND_BANNER_PREFIX_RE, "");
31
+ }
32
+ function stripTailwindBanners(css) {
33
+ return css.replace(TAILWIND_BANNER_GLOBAL_RE, "");
34
+ }
35
+ function stripGeneratorPlaceholderMarkers(css) {
36
+ return css.replace(GENERATOR_PLACEHOLDER_MARKER_GLOBAL_RE, "");
37
+ }
38
+ function hasTailwindGeneratedCss(rawSource) {
39
+ return TAILWIND_V4_BANNER_RE.test(rawSource);
40
+ }
41
+ function hasTailwindGeneratedCssMarkers(rawSource) {
42
+ return TAILWIND_GENERATED_CSS_MARKER_RE.test(rawSource) || GENERATOR_PLACEHOLDER_MARKER_RE.test(rawSource);
43
+ }
44
+ //#endregion
45
+ //#region src/bundlers/shared/generator-css/directives.ts
46
+ const TAILWIND_REMOVABLE_SOURCE_DIRECTIVE_NAMES = new Set([
47
+ "config",
48
+ "custom-variant",
49
+ "layer",
50
+ "plugin",
51
+ "reference",
52
+ "source",
53
+ "tailwind",
54
+ "theme",
55
+ "utility",
56
+ "variant"
57
+ ]);
58
+ const TAILWIND_ROOT_DIRECTIVE_NAMES = new Set([
59
+ "config",
60
+ "custom-variant",
61
+ "plugin",
62
+ "source",
63
+ "tailwind",
64
+ "theme",
65
+ "utility",
66
+ "variant"
67
+ ]);
68
+ const TAILWIND_ROOT_DIRECTIVE_RE = /@(?:import\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|tailwind|config|custom-variant|plugin|source|theme|utility|variant)\b/;
69
+ function parseImportRequest(params) {
70
+ return /^(?:url\(\s*)?(["']?)([^"')\s]+)\1\s*\)?/.exec(params.trim())?.[2];
71
+ }
72
+ function parseConfigRequest(params) {
73
+ return /^(["'])(.+)\1\s*;?$/.exec(params.trim())?.[2];
74
+ }
75
+ function isPackageJsonImportRequest(request) {
76
+ return typeof request === "string" && request.startsWith("#");
77
+ }
78
+ function isTailwindImportAtRule(node) {
79
+ if (node.name === "tailwind") return true;
80
+ if (node.name !== "import") return false;
81
+ const request = parseImportRequest(node.params);
82
+ return request === "tailwindcss" || request === "tailwindcss4" || request?.startsWith("tailwindcss/") || request?.startsWith("tailwindcss4/");
83
+ }
84
+ function isTailwindSourceDirective(node) {
85
+ if (node.type !== "atrule") return false;
86
+ const atRule = node;
87
+ if (isTailwindImportAtRule(atRule)) return true;
88
+ if (atRule.name === "import" && isPackageJsonImportRequest(parseImportRequest(atRule.params))) return true;
89
+ return TAILWIND_REMOVABLE_SOURCE_DIRECTIVE_NAMES.has(atRule.name);
90
+ }
91
+ function isTailwindGenerationDirective(node) {
92
+ if (node.type !== "atrule") return false;
93
+ const atRule = node;
94
+ const request = atRule.name === "import" ? parseImportRequest(atRule.params) : atRule.name === "config" || atRule.name === "plugin" || atRule.name === "reference" ? parseConfigRequest(atRule.params) : void 0;
95
+ return isTailwindImportAtRule(atRule) || isPackageJsonImportRequest(request) || atRule.name === "apply" || atRule.name === "layer" || atRule.name === "config" || atRule.name === "source";
96
+ }
97
+ function removeTailwindSourceDirectives(rawSource) {
98
+ try {
99
+ const source = stripGeneratorPlaceholderMarkers(rawSource);
100
+ const root = postcss.parse(source);
101
+ let removed = false;
102
+ root.walk((node) => {
103
+ if (isTailwindSourceDirective(node)) {
104
+ node.remove();
105
+ removed = true;
106
+ }
107
+ });
108
+ return removed ? root.toString() : source;
109
+ } catch {
110
+ return stripGeneratorPlaceholderMarkers(rawSource);
111
+ }
112
+ }
113
+ function hasTailwindSourceDirectives(rawSource) {
114
+ try {
115
+ if (GENERATOR_PLACEHOLDER_MARKER_RE.test(rawSource)) return true;
116
+ const root = postcss.parse(rawSource);
117
+ let found = false;
118
+ root.walk((node) => {
119
+ if (isTailwindGenerationDirective(node)) {
120
+ found = true;
121
+ return false;
122
+ }
123
+ });
124
+ return found;
125
+ } catch {
126
+ return false;
127
+ }
128
+ }
129
+ function hasTailwindRootDirectives(rawSource) {
130
+ if (!TAILWIND_ROOT_DIRECTIVE_RE.test(rawSource)) return false;
131
+ try {
132
+ const root = postcss.parse(rawSource);
133
+ let found = false;
134
+ root.walkAtRules((node) => {
135
+ const request = node.name === "import" ? parseImportRequest(node.params) : node.name === "config" || node.name === "plugin" ? parseConfigRequest(node.params) : void 0;
136
+ if (isTailwindImportAtRule(node) || isPackageJsonImportRequest(request) || TAILWIND_ROOT_DIRECTIVE_NAMES.has(node.name)) {
137
+ found = true;
138
+ return false;
139
+ }
140
+ });
141
+ return found;
142
+ } catch {
143
+ return true;
144
+ }
145
+ }
146
+ function hasTailwindApplyDirective(rawSource) {
147
+ if (!rawSource.includes("@apply")) return false;
148
+ try {
149
+ const root = postcss.parse(rawSource);
150
+ let found = false;
151
+ root.walkAtRules("apply", () => {
152
+ found = true;
153
+ return false;
154
+ });
155
+ return found;
156
+ } catch {
157
+ return false;
158
+ }
159
+ }
160
+ function resolveCssEntrySource(rawSource, base, options = {}) {
161
+ try {
162
+ const root = postcss.parse(rawSource);
163
+ let found = false;
164
+ let config;
165
+ let configRequest;
166
+ let removedConfig = false;
167
+ const removeConfig = options.removeConfig ?? true;
168
+ root.walk((node) => {
169
+ if (isTailwindGenerationDirective(node)) found = true;
170
+ if (node.type === "atrule" && node.name === "config") {
171
+ const configPath = parseConfigRequest(node.params);
172
+ if (configPath && !config) {
173
+ configRequest = configPath;
174
+ config = isPackageJsonImportRequest(configPath) ? void 0 : path.isAbsolute(configPath) ? configPath : path.resolve(base, configPath);
175
+ }
176
+ if (removeConfig) {
177
+ node.remove();
178
+ removedConfig = true;
179
+ }
180
+ }
181
+ });
182
+ if (!found) return;
183
+ return {
184
+ css: removedConfig ? root.toString() : rawSource,
185
+ config,
186
+ configRequest,
187
+ base
188
+ };
189
+ } catch {
190
+ return;
191
+ }
192
+ }
193
+ //#endregion
7
194
  //#region src/bundlers/shared/cache.ts
8
195
  async function processCachedTask({ cache, cacheKey, hashKey = cacheKey, rawSource, hash, readCache, applyResult, transform, onCacheHit }) {
9
196
  let cacheHit = false;
@@ -369,149 +556,6 @@ function finalizeMiniProgramCss(css) {
369
556
  }
370
557
  }
371
558
  //#endregion
372
- //#region src/bundlers/shared/generator-css/markers.ts
373
- const TAILWIND_V4_BANNER_RE = /\/\*!\s*tailwindcss v4\./;
374
- 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)-/;
375
- const GENERATOR_PLACEHOLDER_MARKER_RE = /\/\*!\s*weapp-tailwindcss generator-placeholder\s*\*\//i;
376
- const GENERATOR_PLACEHOLDER_MARKER_GLOBAL_RE = /\/\*!\s*weapp-tailwindcss generator-placeholder\s*\*\/\s*/gi;
377
- const TAILWIND_BANNER_PREFIX_RE = /^\/\*!\s*tailwindcss v[^*]*\*\/\s*/i;
378
- const TAILWIND_BANNER_GLOBAL_RE = /\/\*!\s*tailwindcss v[^*]*\*\/\s*/gi;
379
- const VITE_MARKER_RE = /\/\*\$vite\$:[^*]*\*\//g;
380
- function createCssAppend(base, extra) {
381
- if (!base) return extra;
382
- if (!extra) return base;
383
- return `${base}\n${extra}`;
384
- }
385
- function splitTailwindV4GeneratedCss(rawSource, rawTailwindCss) {
386
- const trimmedRaw = rawSource.trim();
387
- const trimmedTailwind = rawTailwindCss.trim();
388
- if (trimmedRaw === trimmedTailwind) return "";
389
- if (trimmedTailwind.startsWith(trimmedRaw)) return "";
390
- const start = rawSource.indexOf(rawTailwindCss);
391
- if (start === -1) return;
392
- return createCssAppend(rawSource.slice(0, start), rawSource.slice(start + rawTailwindCss.length));
393
- }
394
- function stripTailwindBanner(css) {
395
- return css.replace(TAILWIND_BANNER_PREFIX_RE, "");
396
- }
397
- function stripTailwindBanners(css) {
398
- return css.replace(TAILWIND_BANNER_GLOBAL_RE, "");
399
- }
400
- function stripGeneratorPlaceholderMarkers(css) {
401
- return css.replace(GENERATOR_PLACEHOLDER_MARKER_GLOBAL_RE, "");
402
- }
403
- function hasTailwindGeneratedCss(rawSource) {
404
- return TAILWIND_V4_BANNER_RE.test(rawSource);
405
- }
406
- function hasTailwindGeneratedCssMarkers(rawSource) {
407
- return TAILWIND_GENERATED_CSS_MARKER_RE.test(rawSource) || GENERATOR_PLACEHOLDER_MARKER_RE.test(rawSource);
408
- }
409
- //#endregion
410
- //#region src/bundlers/shared/generator-css/directives.ts
411
- const TAILWIND_REMOVABLE_SOURCE_DIRECTIVE_NAMES = new Set([
412
- "config",
413
- "custom-variant",
414
- "layer",
415
- "plugin",
416
- "reference",
417
- "source",
418
- "tailwind",
419
- "theme",
420
- "utility",
421
- "variant"
422
- ]);
423
- function parseImportRequest(params) {
424
- return /^(?:url\(\s*)?(["']?)([^"')\s]+)\1\s*\)?/.exec(params.trim())?.[2];
425
- }
426
- function parseConfigRequest(params) {
427
- return /^(["'])(.+)\1\s*;?$/.exec(params.trim())?.[2];
428
- }
429
- function isPackageJsonImportRequest(request) {
430
- return typeof request === "string" && request.startsWith("#");
431
- }
432
- function isTailwindImportAtRule(node) {
433
- if (node.name === "tailwind") return true;
434
- if (node.name !== "import") return false;
435
- const request = parseImportRequest(node.params);
436
- return request === "tailwindcss" || request === "tailwindcss4" || request?.startsWith("tailwindcss/") || request?.startsWith("tailwindcss4/");
437
- }
438
- function isTailwindSourceDirective(node) {
439
- if (node.type !== "atrule") return false;
440
- if (isTailwindImportAtRule(node)) return true;
441
- if (node.name === "import" && isPackageJsonImportRequest(parseImportRequest(node.params))) return true;
442
- return TAILWIND_REMOVABLE_SOURCE_DIRECTIVE_NAMES.has(node.name);
443
- }
444
- function isTailwindGenerationDirective(node) {
445
- if (node.type !== "atrule") return false;
446
- const request = node.name === "import" ? parseImportRequest(node.params) : node.name === "config" || node.name === "plugin" || node.name === "reference" ? parseConfigRequest(node.params) : void 0;
447
- return isTailwindImportAtRule(node) || isPackageJsonImportRequest(request) || node.name === "apply" || node.name === "layer" || node.name === "config" || node.name === "source";
448
- }
449
- function removeTailwindSourceDirectives(rawSource) {
450
- try {
451
- const source = stripGeneratorPlaceholderMarkers(rawSource);
452
- const root = postcss.parse(source);
453
- let removed = false;
454
- root.walk((node) => {
455
- if (isTailwindSourceDirective(node)) {
456
- node.remove();
457
- removed = true;
458
- }
459
- });
460
- return removed ? root.toString() : source;
461
- } catch {
462
- return stripGeneratorPlaceholderMarkers(rawSource);
463
- }
464
- }
465
- function hasTailwindSourceDirectives(rawSource) {
466
- try {
467
- if (GENERATOR_PLACEHOLDER_MARKER_RE.test(rawSource)) return true;
468
- const root = postcss.parse(rawSource);
469
- let found = false;
470
- root.walk((node) => {
471
- if (isTailwindGenerationDirective(node)) {
472
- found = true;
473
- return false;
474
- }
475
- });
476
- return found;
477
- } catch {
478
- return false;
479
- }
480
- }
481
- function resolveCssEntrySource(rawSource, base, options = {}) {
482
- try {
483
- const root = postcss.parse(rawSource);
484
- let found = false;
485
- let config;
486
- let configRequest;
487
- let removedConfig = false;
488
- const removeConfig = options.removeConfig ?? true;
489
- root.walk((node) => {
490
- if (isTailwindGenerationDirective(node)) found = true;
491
- if (node.type === "atrule" && node.name === "config") {
492
- const configPath = parseConfigRequest(node.params);
493
- if (configPath && !config) {
494
- configRequest = configPath;
495
- config = isPackageJsonImportRequest(configPath) ? void 0 : path.isAbsolute(configPath) ? configPath : path.resolve(base, configPath);
496
- }
497
- if (removeConfig) {
498
- node.remove();
499
- removedConfig = true;
500
- }
501
- }
502
- });
503
- if (!found) return;
504
- return {
505
- css: removedConfig ? root.toString() : rawSource,
506
- config,
507
- configRequest,
508
- base
509
- };
510
- } catch {
511
- return;
512
- }
513
- }
514
- //#endregion
515
559
  //#region src/bundlers/shared/generator-css/legacy-selectors.ts
516
560
  const CLASS_SELECTOR_RE = /(?:^|[^\w-])\.[_a-z\u00A0-\uFFFF\\-]/i;
517
561
  const MINI_PROGRAM_THEME_SCOPE_SELECTORS = new Set([
@@ -868,6 +912,13 @@ function tryResolveTailwindV4SourceOptions(runtimeState) {
868
912
  return;
869
913
  }
870
914
  }
915
+ function hasConfiguredTailwindV4CssSource(sourceOptions) {
916
+ return Boolean(sourceOptions?.css) || Boolean(sourceOptions?.cssSources?.length);
917
+ }
918
+ function createTailwindV4ApplyReferenceSource(css, sourceOptions) {
919
+ if (!hasTailwindApplyDirective(css) || hasTailwindRootDirectives(css)) return css;
920
+ return `@reference "${sourceOptions.packageName ?? "tailwindcss"}";\n${css}`;
921
+ }
871
922
  async function resolveGeneratorSource(majorVersion, runtimeState, rawSource, file, cssHandlerOptions, generatorOptions) {
872
923
  const cssEntrySource = resolveCssEntrySource(rawSource, resolveCssSourceBase(file, cssHandlerOptions), { removeConfig: majorVersion === 3 });
873
924
  if (majorVersion === 3) {
@@ -888,6 +939,11 @@ async function resolveGeneratorSource(majorVersion, runtimeState, rawSource, fil
888
939
  });
889
940
  }
890
941
  const sourceOptions = tryResolveTailwindV4SourceOptions(runtimeState);
942
+ const configuredCssSource = sourceOptions && hasConfiguredTailwindV4CssSource(sourceOptions) && hasTailwindGeneratedCssMarkers(rawSource) ? await resolveTailwindV4Source(sourceOptions) : void 0;
943
+ if (configuredCssSource) return generatorOptions?.config ? {
944
+ ...configuredCssSource,
945
+ css: prependConfigDirective(configuredCssSource.css, generatorOptions.config)
946
+ } : configuredCssSource;
891
947
  const shouldPreferSourceSideEntry = shouldResolveSourceSideCssEntry(rawSource) || Boolean(cssEntrySource?.css.includes("weapp-tailwindcss generator-placeholder"));
892
948
  const sourceSideEntrySource = sourceOptions && shouldPreferSourceSideEntry ? resolveSourceSideCssEntrySource(file, sourceOptions, { removeConfig: false }) : void 0;
893
949
  const matchedCssEntrySource = sourceOptions && cssEntrySource ? await resolveMatchingTailwindV4CssEntry(rawSource, file, sourceOptions) : void 0;
@@ -911,10 +967,11 @@ async function resolveGeneratorSource(majorVersion, runtimeState, rawSource, fil
911
967
  }
912
968
  const resolvedSourceOptions = sourceOptions ?? {};
913
969
  const config = resolveExistingConfigPath(resolvedEntrySource.config, resolvedEntrySource.configRequest, file, resolvedSourceOptions);
970
+ const css = createTailwindV4ApplyReferenceSource(normalizeConfigDirective(prependConfigDirective(resolvedEntrySource.css, generatorOptions?.config), config), resolvedSourceOptions);
914
971
  return resolveTailwindV4Source({
915
972
  ...resolvedSourceOptions,
916
973
  base: resolvedEntrySource.base,
917
- css: normalizeConfigDirective(prependConfigDirective(resolvedEntrySource.css, generatorOptions?.config), config)
974
+ css
918
975
  });
919
976
  }
920
977
  async function resolveGeneratorSources(majorVersion, runtimeState, rawSource, file, cssHandlerOptions, generatorOptions) {
@@ -1282,4 +1339,4 @@ async function validateCandidatesByGenerator(options) {
1282
1339
  return classSet;
1283
1340
  }
1284
1341
  //#endregion
1285
- export { processCachedTask as a, hasTailwindGeneratedCssMarkers as i, validateCandidatesByGenerator as n, hasTailwindSourceDirectives as r, generateCssByGenerator as t };
1342
+ export { hasTailwindSourceDirectives as a, hasTailwindRootDirectives as i, validateCandidatesByGenerator as n, hasTailwindGeneratedCssMarkers as o, processCachedTask as r, generateCssByGenerator as t };
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-Bwp3nbrl.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-DeLLmp2N.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-By5KQi9s.js");
6
+ const require_webpack = require("./webpack-BzN2ly34.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-Cyp42bBf.mjs";
5
+ import { n as weappTailwindcssPackageDir, t as UnifiedWebpackPluginV5 } from "./webpack-DJazm5sT.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";