weapp-tailwindcss 5.0.0-next.2 → 5.0.0-next.20

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 (220) hide show
  1. package/README.md +6 -7
  2. package/bin/weapp-tailwindcss.js +1 -21
  3. package/dist/bundle-state-BlXvU4jl.js +530 -0
  4. package/dist/bundle-state-PO6MysTJ.mjs +414 -0
  5. package/dist/bundlers/shared/cache.d.ts +6 -6
  6. package/dist/bundlers/shared/css-cleanup/at-rules.d.ts +2 -0
  7. package/dist/bundlers/shared/css-cleanup/color-gamut.d.ts +3 -0
  8. package/dist/bundlers/shared/css-cleanup/root-cleanups.d.ts +5 -0
  9. package/dist/bundlers/shared/css-cleanup/selectors.d.ts +8 -0
  10. package/dist/bundlers/shared/css-cleanup.d.ts +7 -3
  11. package/dist/bundlers/shared/css-imports.d.ts +3 -3
  12. package/dist/bundlers/shared/generated-css-marker.d.ts +3 -0
  13. package/dist/bundlers/shared/generator-css/config-directive.d.ts +2 -0
  14. package/dist/bundlers/shared/generator-css/directives.d.ts +20 -0
  15. package/dist/bundlers/shared/generator-css/legacy-compat.d.ts +7 -0
  16. package/dist/bundlers/shared/generator-css/legacy-selectors.d.ts +5 -0
  17. package/dist/bundlers/shared/generator-css/legacy-units.d.ts +1 -0
  18. package/dist/bundlers/shared/generator-css/markers.d.ts +28 -0
  19. package/dist/bundlers/shared/generator-css/source-files.d.ts +14 -0
  20. package/dist/bundlers/shared/generator-css/source-resolver.d.ts +24 -0
  21. package/dist/bundlers/shared/generator-css.d.ts +16 -22
  22. package/dist/bundlers/shared/hmr-timing.d.ts +22 -0
  23. package/dist/bundlers/shared/style-requests.d.ts +2 -0
  24. package/dist/bundlers/vite/bundle-state.d.ts +1 -0
  25. package/dist/bundlers/vite/css-finalizer.d.ts +7 -1
  26. package/dist/bundlers/vite/generate-bundle/candidates.d.ts +2 -0
  27. package/dist/bundlers/vite/generate-bundle/css-handler-options.d.ts +24 -0
  28. package/dist/bundlers/vite/generate-bundle/css-share-scope.d.ts +4 -0
  29. package/dist/bundlers/vite/generate-bundle/dirty-state.d.ts +1 -0
  30. package/dist/bundlers/vite/generate-bundle/js-entries.d.ts +2 -0
  31. package/dist/bundlers/vite/generate-bundle/js-handler-options.d.ts +8 -0
  32. package/dist/bundlers/vite/generate-bundle/js-linking.d.ts +13 -0
  33. package/dist/bundlers/vite/generate-bundle/metrics.d.ts +17 -0
  34. package/dist/bundlers/vite/generate-bundle/process-plan.d.ts +9 -0
  35. package/dist/bundlers/vite/generate-bundle/rollup-assets.d.ts +7 -0
  36. package/dist/bundlers/vite/generate-bundle/signatures.d.ts +8 -0
  37. package/dist/bundlers/vite/generate-bundle.d.ts +14 -2
  38. package/dist/bundlers/vite/incremental-runtime-class-set.d.ts +5 -1
  39. package/dist/bundlers/vite/index.d.ts +1 -1
  40. package/dist/bundlers/vite/official-tailwind-plugins.d.ts +5 -0
  41. package/dist/bundlers/vite/postcss-config.d.ts +6 -0
  42. package/dist/bundlers/vite/processed-css-assets.d.ts +32 -0
  43. package/dist/bundlers/vite/rewrite-css-imports.d.ts +8 -3
  44. package/dist/bundlers/vite/runtime-class-set.d.ts +25 -0
  45. package/dist/bundlers/vite/source-candidates.d.ts +16 -1
  46. package/dist/bundlers/vite/source-scan.d.ts +26 -0
  47. package/dist/bundlers/vite/static-config-content.d.ts +5 -0
  48. package/dist/bundlers/vite/tailwind-basedir.d.ts +1 -0
  49. package/dist/bundlers/webpack/BaseUnifiedPlugin/shared.d.ts +6 -0
  50. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets.d.ts +6 -2
  51. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-loaders.d.ts +9 -3
  52. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5.d.ts +1 -0
  53. package/dist/bundlers/webpack/loaders/runtime-registry.d.ts +31 -0
  54. package/dist/bundlers/webpack/loaders/weapp-tw-css-import-rewrite-loader.d.ts +2 -6
  55. package/dist/bundlers/webpack/loaders/weapp-tw-runtime-classset-loader.d.ts +3 -7
  56. package/dist/cache/index.d.ts +6 -6
  57. package/dist/cli/context.d.ts +1 -14
  58. package/dist/cli/doctor/types.d.ts +11 -11
  59. package/dist/cli/helpers.d.ts +1 -2
  60. package/dist/cli/mount-options.d.ts +2 -0
  61. package/dist/cli/types.d.ts +0 -2
  62. package/dist/cli/vscode-entry.d.ts +3 -3
  63. package/dist/cli.js +605 -611
  64. package/dist/cli.mjs +614 -620
  65. package/dist/constants.d.ts +1 -2
  66. package/dist/core.js +13 -20
  67. package/dist/core.mjs +8 -14
  68. package/dist/css-macro/postcss.js +3 -2
  69. package/dist/css-macro/postcss.mjs +3 -2
  70. package/dist/css-macro.d.ts +1 -0
  71. package/dist/css-macro.js +2 -2
  72. package/dist/css-macro.mjs +2 -2
  73. package/dist/defaults-B1igPF_e.mjs +150 -0
  74. package/dist/defaults-IHhYxNeU.js +193 -0
  75. package/dist/defaults.d.ts +15 -1
  76. package/dist/defaults.js +6 -131
  77. package/dist/defaults.mjs +2 -129
  78. package/dist/escape.js +10 -2
  79. package/dist/escape.mjs +10 -2
  80. package/dist/generator/index.d.ts +1 -1
  81. package/dist/generator/options.d.ts +9 -8
  82. package/dist/generator/types.d.ts +3 -3
  83. package/dist/generator-DIuglJub.mjs +32 -0
  84. package/dist/generator-N4jy1HCk.js +55 -0
  85. package/dist/generator.js +12 -11
  86. package/dist/generator.mjs +2 -1
  87. package/dist/gulp.js +185 -47
  88. package/dist/gulp.mjs +179 -41
  89. package/dist/incremental-runtime-class-set-CJ0Pnsw2.js +2348 -0
  90. package/dist/incremental-runtime-class-set-hF-uiw6W.mjs +2285 -0
  91. package/dist/index.d.ts +1 -1
  92. package/dist/index.js +6 -6
  93. package/dist/index.mjs +5 -5
  94. package/dist/js/babel/cache-options.d.ts +3 -0
  95. package/dist/js/babel/parse.d.ts +7 -4
  96. package/dist/js/index.d.ts +1 -0
  97. package/dist/js/literal-transform.d.ts +2 -0
  98. package/dist/js/precheck.d.ts +2 -2
  99. package/dist/lightningcss/style-handler/selector-transform.d.ts +1 -1
  100. package/dist/lightningcss/style-handler.d.ts +3 -3
  101. package/dist/logger-CZUxvJJD.mjs +2 -0
  102. package/dist/logger-EVNB9z7i.js +1 -0
  103. package/dist/postcss/config-directive.d.ts +1 -0
  104. package/dist/postcss/context.d.ts +9 -0
  105. package/dist/postcss/source-files.d.ts +8 -0
  106. package/dist/postcss/tailwind-version.d.ts +3 -0
  107. package/dist/postcss-D4UdbBQ6.mjs +228 -0
  108. package/dist/postcss-DlY-YRvA.js +237 -0
  109. package/dist/postcss.d.ts +2 -2
  110. package/dist/postcss.js +3 -276
  111. package/dist/postcss.mjs +1 -269
  112. package/dist/{recorder-gYSNLfOP.js → precheck-BjEbVEpX.js} +218 -314
  113. package/dist/{recorder-zsgatmkB.mjs → precheck-tbk626YL.mjs} +186 -281
  114. package/dist/presets.js +13 -11
  115. package/dist/presets.mjs +11 -9
  116. package/dist/reset.d.ts +1 -0
  117. package/dist/runtime-registry-D5qnaSpo.js +5516 -0
  118. package/dist/shared/mpx.d.ts +1 -0
  119. package/dist/source-candidates-BrvneDDd.mjs +209 -0
  120. package/dist/source-candidates-gxijpPI3.js +222 -0
  121. package/dist/tailwindcss/miniprogram.d.ts +5 -1
  122. package/dist/tailwindcss/patcher-options.d.ts +3 -51
  123. package/dist/tailwindcss/patcher.d.ts +1 -2
  124. package/dist/tailwindcss/runtime/cache.d.ts +4 -3
  125. package/dist/tailwindcss/runtime-patch.d.ts +5 -0
  126. package/dist/tailwindcss/runtime.d.ts +11 -12
  127. package/dist/tailwindcss/source-scan.d.ts +35 -0
  128. package/dist/tailwindcss/targets.d.ts +1 -5
  129. package/dist/tailwindcss/v3-engine/types.d.ts +17 -14
  130. package/dist/tailwindcss/v4/css-entries.d.ts +2 -2
  131. package/dist/tailwindcss/v4/css-sources.d.ts +5 -0
  132. package/dist/tailwindcss/v4/patcher-options.d.ts +1 -23
  133. package/dist/tailwindcss/v4/patcher.d.ts +1 -0
  134. package/dist/tailwindcss/v4-engine/source.d.ts +2 -2
  135. package/dist/tailwindcss/v4-engine/types.d.ts +17 -5
  136. package/dist/tailwindcss/version.d.ts +4 -0
  137. package/dist/tailwindcss-BhG7BtB-.js +651 -0
  138. package/dist/tailwindcss-c6ROlNNW.mjs +600 -0
  139. package/dist/typedoc.export.d.ts +0 -2
  140. package/dist/types/index.d.ts +51 -48
  141. package/dist/types/shared.d.ts +3 -0
  142. package/dist/types/user-defined-options/general.d.ts +23 -23
  143. package/dist/types/user-defined-options/important.d.ts +31 -28
  144. package/dist/types/user-defined-options/lifecycle.d.ts +4 -4
  145. package/dist/types/user-defined-options/matcher.d.ts +6 -6
  146. package/dist/uni-app-x/vite.d.ts +1 -1
  147. package/dist/utils/disabled.d.ts +2 -3
  148. package/dist/utils/object.d.ts +9 -0
  149. package/dist/{utils-DmC9_In3.js → utils-4ODFyoqD.js} +1 -1
  150. package/dist/{utils-7DUGTFED.mjs → utils-CGBVVNm6.mjs} +1 -1
  151. package/dist/v3-engine-5LoZUH-4.js +3695 -0
  152. package/dist/v3-engine-DIXDEDmL.mjs +3406 -0
  153. package/dist/{vite-CrlzCNqz.mjs → vite-B5faZcbE.mjs} +1256 -1088
  154. package/dist/vite-MyXBNux0.js +2368 -0
  155. package/dist/vite.d.ts +1 -2
  156. package/dist/vite.js +3 -4
  157. package/dist/vite.mjs +2 -2
  158. package/dist/weapp-tw-css-import-rewrite-loader.js +5157 -16
  159. package/dist/weapp-tw-runtime-classset-loader.js +32 -7
  160. package/dist/webpack-BnVyDmsD.mjs +836 -0
  161. package/dist/webpack-Mz1V0A9p.js +846 -0
  162. package/dist/webpack.js +1 -1
  163. package/dist/webpack.mjs +1 -1
  164. package/package.json +27 -37
  165. package/dist/bundlers/shared/generator-candidates.d.ts +0 -5
  166. package/dist/bundlers/webpack/BaseUnifiedPlugin/v4-assets.d.ts +0 -14
  167. package/dist/bundlers/webpack/BaseUnifiedPlugin/v4-loaders.d.ts +0 -15
  168. package/dist/bundlers/webpack/BaseUnifiedPlugin/v4.d.ts +0 -9
  169. package/dist/bundlers/webpack/shared/css-imports.d.ts +0 -6
  170. package/dist/cli/config.d.ts +0 -5
  171. package/dist/cli/helpers/patch-cwd.d.ts +0 -1
  172. package/dist/cli/mount-options/patch-status.d.ts +0 -2
  173. package/dist/cli/patch-options.d.ts +0 -6
  174. package/dist/cli/tokens.d.ts +0 -4
  175. package/dist/cli/workspace/package-dirs.d.ts +0 -3
  176. package/dist/cli/workspace/patch-package.d.ts +0 -3
  177. package/dist/cli/workspace/patch-utils.d.ts +0 -3
  178. package/dist/cli/workspace/types.d.ts +0 -11
  179. package/dist/cli/workspace/workspace-globs.d.ts +0 -2
  180. package/dist/cli/workspace/workspace-io.d.ts +0 -1
  181. package/dist/cli/workspace/workspace-lock.d.ts +0 -1
  182. package/dist/cli/workspace.d.ts +0 -2
  183. package/dist/css-imports-BbrbluP9.js +0 -177
  184. package/dist/css-imports-CSdPq_Sc.mjs +0 -128
  185. package/dist/experimental/index.d.ts +0 -2
  186. package/dist/experimental/oxc/ast-utils.d.ts +0 -30
  187. package/dist/experimental/oxc/index.d.ts +0 -2
  188. package/dist/experimental/oxc/module-specifiers.d.ts +0 -2
  189. package/dist/experimental/shared/cache.d.ts +0 -3
  190. package/dist/experimental/shared/transform.d.ts +0 -3
  191. package/dist/experimental/shared.d.ts +0 -8
  192. package/dist/experimental/swc/ast-utils.d.ts +0 -30
  193. package/dist/experimental/swc/index.d.ts +0 -2
  194. package/dist/experimental/swc/module-specifiers.d.ts +0 -2
  195. package/dist/generator-Y-Ikv4Fu.mjs +0 -1177
  196. package/dist/generator-css-B5ejWUMv.mjs +0 -1098
  197. package/dist/generator-css-D3OdPRiS.js +0 -1125
  198. package/dist/generator-mmhXzZnv.js +0 -1276
  199. package/dist/js/syntax.d.ts +0 -10
  200. package/dist/loader-anchors-CNkWT8hx.js +0 -273
  201. package/dist/loader-anchors-TrU7EUr7.mjs +0 -205
  202. package/dist/logger-BZ45DZJT.js +0 -1003
  203. package/dist/logger-BoVx1Dbt.mjs +0 -935
  204. package/dist/patcher-options-6gJN2EXy.js +0 -115
  205. package/dist/patcher-options-DQfR5xxT.mjs +0 -92
  206. package/dist/tailwindcss/recorder.d.ts +0 -13
  207. package/dist/tailwindcss/targets/paths.d.ts +0 -13
  208. package/dist/tailwindcss/targets/record-io.d.ts +0 -5
  209. package/dist/tailwindcss/targets/recorder.d.ts +0 -3
  210. package/dist/tailwindcss/targets/types.d.ts +0 -35
  211. package/dist/types/disabled-options.d.ts +0 -4
  212. package/dist/vite-BC9U7ahn.js +0 -2199
  213. package/dist/webpack-Bu6M-Hbw.mjs +0 -441
  214. package/dist/webpack-DD7A6V0u.js +0 -456
  215. package/dist/webpack4.d.ts +0 -4
  216. package/dist/webpack4.js +0 -387
  217. package/dist/webpack4.mjs +0 -379
  218. package/scripts/postinstall.mjs +0 -59
  219. /package/dist/{constants-B-_T5UnW.mjs → constants-BG12WAKw.mjs} +0 -0
  220. /package/dist/{constants-p1dyh1x1.js → constants-BeeyfJ9k.js} +0 -0
@@ -1,456 +0,0 @@
1
- const require_chunk = require("./chunk-8l464Juk.js");
2
- const require_patcher_options = require("./patcher-options-6gJN2EXy.js");
3
- const require_recorder = require("./recorder-gYSNLfOP.js");
4
- const require_utils = require("./utils-DmC9_In3.js");
5
- const require_logger = require("./logger-BZ45DZJT.js");
6
- const require_generator_css = require("./generator-css-D3OdPRiS.js");
7
- const require_css_imports = require("./css-imports-BbrbluP9.js");
8
- const require_loader_anchors = require("./loader-anchors-CNkWT8hx.js");
9
- let node_path = require("node:path");
10
- node_path = require_chunk.__toESM(node_path);
11
- let node_process = require("node:process");
12
- node_process = require_chunk.__toESM(node_process);
13
- let node_fs = require("node:fs");
14
- node_fs = require_chunk.__toESM(node_fs);
15
- //#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets.ts
16
- function resolveWebpackStaleClassNameFallback(option, _compiler) {
17
- if (typeof option === "boolean") return option;
18
- return false;
19
- }
20
- function setupWebpackV5ProcessAssetsHook(options) {
21
- const { compiler, options: compilerOptions, appType, runtimeState, getRuntimeRefreshRequirement, refreshRuntimeMetadata, consumeRuntimeRefreshRequirement, debug } = options;
22
- const { Compilation, sources } = compiler.webpack;
23
- const { ConcatSource } = sources;
24
- const cssHandlerOptionsCache = /* @__PURE__ */ new Map();
25
- const cssUserHandlerOptionsCache = /* @__PURE__ */ new Map();
26
- compiler.hooks.compilation.tap(require_recorder.pluginName, (compilation) => {
27
- compilation.hooks.processAssets.tapPromise({
28
- name: require_recorder.pluginName,
29
- stage: Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE
30
- }, async (assets) => {
31
- compilerOptions.onStart();
32
- debug("start");
33
- await runtimeState.patchPromise;
34
- for (const chunk of compilation.chunks) if (chunk.id && chunk.hash) compilerOptions.cache.calcHashValueChanged(chunk.id, chunk.hash);
35
- const assetHashByChunk = require_loader_anchors.createAssetHashByChunkMap(compilation.chunks);
36
- const entries = Object.entries(assets);
37
- const compilerOutputPath = compilation.compiler?.outputPath ?? compiler.outputPath;
38
- const outputDir = compilerOutputPath ? node_path.default.resolve(compilerOutputPath) : compilation.outputOptions?.path ?? node_process.default.cwd();
39
- const jsAssets = /* @__PURE__ */ new Map();
40
- for (const [file] of entries) if (compilerOptions.jsMatcher(file) || compilerOptions.wxsMatcher(file)) {
41
- const absolute = require_css_imports.toAbsoluteOutputPath(file, outputDir);
42
- jsAssets.set(absolute, file);
43
- }
44
- const moduleGraphOptions = {
45
- resolve(specifier, importer) {
46
- return require_css_imports.resolveOutputSpecifier(specifier, importer, outputDir, (candidate) => jsAssets.has(candidate));
47
- },
48
- load: (id) => {
49
- const assetName = jsAssets.get(id);
50
- if (!assetName) return;
51
- const asset = compilation.getAsset(assetName);
52
- if (!asset) return;
53
- const source = asset.source.source();
54
- return typeof source === "string" ? source : source.toString();
55
- },
56
- filter(id) {
57
- return jsAssets.has(id);
58
- }
59
- };
60
- const applyLinkedResults = (linked) => {
61
- if (!linked) return;
62
- for (const [id, { code }] of Object.entries(linked)) {
63
- const assetName = jsAssets.get(id);
64
- if (!assetName) continue;
65
- const asset = compilation.getAsset(assetName);
66
- if (!asset) continue;
67
- const previousSource = asset.source.source();
68
- const previous = typeof previousSource === "string" ? previousSource : previousSource.toString();
69
- if (previous === code) continue;
70
- const source = new ConcatSource(code);
71
- compilation.updateAsset(assetName, source);
72
- compilerOptions.onUpdate(assetName, previous, code);
73
- debug("js linked handle: %s", assetName);
74
- }
75
- };
76
- const groupedEntries = require_utils.getGroupedEntries(entries, compilerOptions);
77
- const getCssHandlerOptions = (file) => {
78
- const majorVersion = runtimeState.twPatcher.majorVersion;
79
- const isMainChunk = compilerOptions.mainCssChunkMatcher(file, appType);
80
- const cacheKey = `${majorVersion ?? "unknown"}:${isMainChunk ? "1" : "0"}:${file}`;
81
- const cached = cssHandlerOptionsCache.get(cacheKey);
82
- if (cached) return cached;
83
- const created = {
84
- isMainChunk,
85
- postcssOptions: { options: { from: file } },
86
- majorVersion
87
- };
88
- cssHandlerOptionsCache.set(cacheKey, created);
89
- return created;
90
- };
91
- const getCssUserHandlerOptions = (file) => {
92
- const cacheKey = `${runtimeState.twPatcher.majorVersion ?? "unknown"}:${file}`;
93
- const cached = cssUserHandlerOptionsCache.get(cacheKey);
94
- if (cached) return cached;
95
- const created = {
96
- ...getCssHandlerOptions(file),
97
- isMainChunk: false
98
- };
99
- cssUserHandlerOptionsCache.set(cacheKey, created);
100
- return created;
101
- };
102
- const staleClassNameFallback = resolveWebpackStaleClassNameFallback(compilerOptions.staleClassNameFallback, compiler);
103
- const forceRuntimeRefresh = getRuntimeRefreshRequirement();
104
- debug("processAssets ensure runtime set forceRefresh=%s major=%s", forceRuntimeRefresh, runtimeState.twPatcher.majorVersion ?? "unknown");
105
- const runtimeSet = await require_recorder.ensureRuntimeClassSet(runtimeState, {
106
- forceRefresh: forceRuntimeRefresh,
107
- forceCollect: true,
108
- clearCache: forceRuntimeRefresh,
109
- allowEmpty: false
110
- });
111
- await refreshRuntimeMetadata(forceRuntimeRefresh);
112
- consumeRuntimeRefreshRequirement();
113
- const defaultTemplateHandlerOptions = { runtimeSet };
114
- debug("get runtimeSet, class count: %d", runtimeSet.size);
115
- const tasks = [];
116
- if (Array.isArray(groupedEntries.html)) for (const element of groupedEntries.html) {
117
- const [file, originalSource] = element;
118
- const rawSource = originalSource.source().toString();
119
- const cacheKey = file;
120
- const chunkHash = assetHashByChunk.get(file);
121
- tasks.push(require_generator_css.processCachedTask({
122
- cache: compilerOptions.cache,
123
- cacheKey,
124
- hashKey: `${file}:asset`,
125
- rawSource,
126
- hash: chunkHash,
127
- applyResult(source) {
128
- compilation.updateAsset(file, source);
129
- },
130
- onCacheHit() {
131
- debug("html cache hit: %s", file);
132
- },
133
- transform: async () => {
134
- const wxml = await compilerOptions.templateHandler(rawSource, defaultTemplateHandlerOptions);
135
- const source = new ConcatSource(wxml);
136
- compilerOptions.onUpdate(file, rawSource, wxml);
137
- debug("html handle: %s", file);
138
- return { result: source };
139
- }
140
- }));
141
- }
142
- const jsTaskFactories = [];
143
- if (Array.isArray(groupedEntries.js)) for (const [file] of groupedEntries.js) {
144
- const cacheKey = require_loader_anchors.getCacheKey(file);
145
- const asset = compilation.getAsset(file);
146
- if (!asset) continue;
147
- const absoluteFile = require_css_imports.toAbsoluteOutputPath(file, outputDir);
148
- const initialSource = asset.source.source();
149
- const initialRawSource = typeof initialSource === "string" ? initialSource : initialSource.toString();
150
- const chunkHash = assetHashByChunk.get(file);
151
- jsTaskFactories.push(async () => {
152
- await require_generator_css.processCachedTask({
153
- cache: compilerOptions.cache,
154
- cacheKey,
155
- hashKey: `${file}:asset`,
156
- rawSource: initialRawSource,
157
- hash: chunkHash,
158
- applyResult(source) {
159
- compilation.updateAsset(file, source);
160
- },
161
- onCacheHit() {
162
- debug("js cache hit: %s", file);
163
- },
164
- transform: async () => {
165
- const currentSourceValue = compilation.getAsset(file)?.source.source();
166
- const currentSource = typeof currentSourceValue === "string" ? currentSourceValue : currentSourceValue?.toString() ?? "";
167
- const handlerOptions = {
168
- staleClassNameFallback,
169
- tailwindcssMajorVersion: runtimeState.twPatcher.majorVersion,
170
- filename: absoluteFile,
171
- moduleGraph: moduleGraphOptions,
172
- babelParserOptions: { sourceFilename: absoluteFile }
173
- };
174
- if (require_recorder.shouldSkipJsTransform(currentSource, handlerOptions)) return { result: new ConcatSource(currentSource) };
175
- const { code, linked } = await compilerOptions.jsHandler(currentSource, runtimeSet, handlerOptions);
176
- const source = new ConcatSource(code);
177
- compilerOptions.onUpdate(file, currentSource, code);
178
- debug("js handle: %s", file);
179
- applyLinkedResults(linked);
180
- return { result: source };
181
- }
182
- });
183
- });
184
- }
185
- if (Array.isArray(groupedEntries.css)) for (const element of groupedEntries.css) {
186
- const [file, originalSource] = element;
187
- const rawSource = originalSource.source().toString();
188
- const cacheKey = file;
189
- const chunkHash = assetHashByChunk.get(file);
190
- tasks.push(require_generator_css.processCachedTask({
191
- cache: compilerOptions.cache,
192
- cacheKey,
193
- hashKey: `${file}:asset`,
194
- rawSource,
195
- hash: chunkHash,
196
- applyResult(source) {
197
- compilation.updateAsset(file, source);
198
- },
199
- onCacheHit() {
200
- debug("css cache hit: %s", file);
201
- },
202
- transform: async () => {
203
- await runtimeState.patchPromise;
204
- const cssHandlerOptions = getCssHandlerOptions(file);
205
- const generated = await require_generator_css.generateCssByGenerator({
206
- opts: compilerOptions,
207
- runtimeState,
208
- runtime: runtimeSet,
209
- rawSource,
210
- file,
211
- cssHandlerOptions,
212
- cssUserHandlerOptions: getCssUserHandlerOptions(file),
213
- styleHandler: compilerOptions.styleHandler,
214
- debug
215
- });
216
- const css = generated?.css ?? (await compilerOptions.styleHandler(rawSource, cssHandlerOptions)).css;
217
- const source = new ConcatSource(css);
218
- compilerOptions.onUpdate(file, rawSource, css);
219
- if (generated) debug("css handle via tailwind v%s engine(%s): %s", runtimeState.twPatcher.majorVersion, generated.target, file);
220
- else debug("css handle: %s", file);
221
- return { result: source };
222
- }
223
- }));
224
- }
225
- require_css_imports.pushConcurrentTaskFactories(tasks, jsTaskFactories);
226
- await Promise.all(tasks);
227
- debug("end");
228
- compilerOptions.onEnd();
229
- });
230
- });
231
- }
232
- //#endregion
233
- //#region src/bundlers/webpack/BaseUnifiedPlugin/v5-loaders.ts
234
- function setupWebpackV5Loaders(options) {
235
- const { compiler, options: compilerOptions, appType, weappTailwindcssPackageDir, shouldRewriteCssImports, runtimeLoaderPath, runtimeCssImportRewriteLoaderPath, getClassSetInLoader, getRuntimeWatchDependencies, debug } = options;
236
- const isMpxApp = require_loader_anchors.isMpx(appType);
237
- if (shouldRewriteCssImports && isMpxApp) require_loader_anchors.ensureMpxTailwindcssAliases(compiler, weappTailwindcssPackageDir);
238
- const runtimeClassSetLoader = runtimeLoaderPath ?? node_path.default.resolve(__dirname, "./weapp-tw-runtime-classset-loader.js");
239
- const runtimeCssImportRewriteLoader = shouldRewriteCssImports ? runtimeCssImportRewriteLoaderPath ?? node_path.default.resolve(__dirname, "./weapp-tw-css-import-rewrite-loader.js") : void 0;
240
- const runtimeClassSetLoaderExists = node_fs.default.existsSync(runtimeClassSetLoader);
241
- const runtimeCssImportRewriteLoaderExists = runtimeCssImportRewriteLoader ? node_fs.default.existsSync(runtimeCssImportRewriteLoader) : false;
242
- const runtimeLoaderRewriteOptions = shouldRewriteCssImports ? {
243
- pkgDir: weappTailwindcssPackageDir,
244
- appType
245
- } : void 0;
246
- const classSetLoaderOptions = {
247
- getClassSet: getClassSetInLoader,
248
- getWatchDependencies: getRuntimeWatchDependencies
249
- };
250
- const { findRewriteAnchor, findClassSetAnchor } = require_loader_anchors.createLoaderAnchorFinders(appType);
251
- const cssImportRewriteLoaderOptions = runtimeLoaderRewriteOptions ? { rewriteCssImports: runtimeLoaderRewriteOptions } : void 0;
252
- if (runtimeCssImportRewriteLoader && shouldRewriteCssImports && cssImportRewriteLoaderOptions && isMpxApp) require_loader_anchors.injectMpxCssRewritePreRules(compiler, runtimeCssImportRewriteLoader, cssImportRewriteLoaderOptions);
253
- const createRuntimeClassSetLoaderEntry = () => ({
254
- loader: runtimeClassSetLoader,
255
- options: classSetLoaderOptions,
256
- ident: null,
257
- type: null
258
- });
259
- const createCssImportRewriteLoaderEntry = () => {
260
- if (!runtimeCssImportRewriteLoader) return null;
261
- return {
262
- loader: runtimeCssImportRewriteLoader,
263
- options: cssImportRewriteLoaderOptions,
264
- ident: null,
265
- type: null
266
- };
267
- };
268
- const { NormalModule } = compiler.webpack;
269
- compiler.hooks.compilation.tap(require_recorder.pluginName, (compilation) => {
270
- NormalModule.getCompilationHooks(compilation).loader.tap(require_recorder.pluginName, (_loaderContext, module) => {
271
- if (!(runtimeClassSetLoaderExists || runtimeCssImportRewriteLoaderExists)) return;
272
- require_loader_anchors.patchMpxLoaderResolve(_loaderContext, weappTailwindcssPackageDir, shouldRewriteCssImports && isMpxApp);
273
- const loaderEntries = module.loaders || [];
274
- let rewriteAnchorIdx = findRewriteAnchor(loaderEntries);
275
- const classSetAnchorIdx = findClassSetAnchor(loaderEntries);
276
- const isCssModule = require_loader_anchors.isCssLikeModuleResource(module.resource, compilerOptions.cssMatcher, appType);
277
- if (node_process.default.env.WEAPP_TW_LOADER_DEBUG && isCssModule) debug("loader hook css module: %s loaders=%o anchors=%o", module.resource, loaderEntries.map((x) => x.loader), {
278
- rewriteAnchorIdx,
279
- classSetAnchorIdx
280
- });
281
- if (node_process.default.env.WEAPP_TW_LOADER_DEBUG && typeof module.resource === "string" && module.resource.includes("app.css")) debug("app.css module loaders=%o anchors=%o", loaderEntries.map((x) => x.loader), {
282
- rewriteAnchorIdx,
283
- classSetAnchorIdx
284
- });
285
- else if (node_process.default.env.WEAPP_TW_LOADER_DEBUG && typeof module.resource === "string" && module.resource.endsWith(".css")) debug("css module seen: %s loaders=%o anchors=%o", module.resource, loaderEntries.map((x) => x.loader), {
286
- rewriteAnchorIdx,
287
- classSetAnchorIdx
288
- });
289
- if (rewriteAnchorIdx === -1 && classSetAnchorIdx === -1 && !isCssModule) return;
290
- const anchorlessInsert = (entry, position) => {
291
- if (position === "after") loaderEntries.push(entry);
292
- else loaderEntries.unshift(entry);
293
- };
294
- if (cssImportRewriteLoaderOptions && runtimeCssImportRewriteLoaderExists && runtimeCssImportRewriteLoader) {
295
- const existingIndex = loaderEntries.findIndex((entry) => entry.loader?.includes?.(runtimeCssImportRewriteLoader));
296
- const rewriteLoaderEntry = existingIndex !== -1 ? loaderEntries.splice(existingIndex, 1)[0] : createCssImportRewriteLoaderEntry();
297
- if (rewriteLoaderEntry) {
298
- const anchorIndex = findRewriteAnchor(loaderEntries);
299
- if (anchorIndex === -1) anchorlessInsert(rewriteLoaderEntry, "after");
300
- else loaderEntries.splice(anchorIndex + 1, 0, rewriteLoaderEntry);
301
- rewriteAnchorIdx = findRewriteAnchor(loaderEntries);
302
- }
303
- }
304
- if (runtimeClassSetLoaderExists && !require_loader_anchors.hasLoaderEntry(loaderEntries, runtimeClassSetLoader)) {
305
- const classSetLoaderEntry = createRuntimeClassSetLoaderEntry();
306
- const anchorIndex = findClassSetAnchor(loaderEntries);
307
- if (anchorIndex === -1) anchorlessInsert(classSetLoaderEntry, "before");
308
- else {
309
- const insertIndex = anchorIndex === -1 ? rewriteAnchorIdx : anchorIndex;
310
- loaderEntries.splice(insertIndex, 0, classSetLoaderEntry);
311
- }
312
- }
313
- });
314
- });
315
- }
316
- //#endregion
317
- //#region src/bundlers/webpack/BaseUnifiedPlugin/v5.ts
318
- const debug = require_recorder.createDebug();
319
- const weappTailwindcssPackageDir = require_css_imports.resolvePackageDir("weapp-tailwindcss");
320
- /**
321
- * @name UnifiedWebpackPluginV5
322
- * @description webpack5 核心转义插件
323
- * @link https://tw.icebreaker.top/docs/intro
324
- */
325
- var UnifiedWebpackPluginV5 = class {
326
- constructor(options = {}) {
327
- this.options = require_recorder.getCompilerContext(options);
328
- this.appType = this.options.appType;
329
- }
330
- apply(compiler) {
331
- compiler.options = compiler.options || {};
332
- const { disabled, onLoad, runtimeLoaderPath, runtimeCssImportRewriteLoaderPath, twPatcher: initialTwPatcher, refreshTailwindcssPatcher } = this.options;
333
- const disabledOptions = require_css_imports.resolveDisabledOptions(disabled);
334
- const shouldRewriteCssImports = (initialTwPatcher.majorVersion ?? 0) >= 4 && this.options.rewriteCssImports !== false && !disabledOptions.rewriteCssImports;
335
- const isMpxApp = require_loader_anchors.isMpx(this.appType);
336
- if (shouldRewriteCssImports) {
337
- require_loader_anchors.applyTailwindcssCssImportRewrite(compiler, {
338
- pkgDir: weappTailwindcssPackageDir,
339
- enabled: true,
340
- appType: this.appType
341
- });
342
- require_loader_anchors.setupMpxTailwindcssRedirect(weappTailwindcssPackageDir, isMpxApp);
343
- }
344
- if (disabledOptions.plugin) return;
345
- const patchRecorderState = require_recorder.setupPatchRecorder(initialTwPatcher, this.options.tailwindcssBasedir, {
346
- source: "runtime",
347
- cwd: this.options.tailwindcssBasedir ?? node_process.default.cwd()
348
- });
349
- const runtimeState = {
350
- twPatcher: initialTwPatcher,
351
- patchPromise: patchRecorderState.patchPromise,
352
- refreshTailwindcssPatcher,
353
- onPatchCompleted: patchRecorderState.onPatchCompleted
354
- };
355
- let runtimeSetPrepared = false;
356
- let runtimeSetSignature;
357
- let runtimeRefreshRequiredForCompilation = false;
358
- const runtimeWatchDependencyFiles = /* @__PURE__ */ new Set();
359
- const runtimeWatchDependencyContexts = /* @__PURE__ */ new Set();
360
- let runtimeMetadataPrepared = false;
361
- const updateRuntimeWatchDependencies = async () => {
362
- runtimeWatchDependencyFiles.clear();
363
- runtimeWatchDependencyContexts.clear();
364
- const tailwindOptions = require_patcher_options.resolveTailwindcssOptions(runtimeState.twPatcher.options);
365
- if (tailwindOptions?.config) runtimeWatchDependencyFiles.add(tailwindOptions.config);
366
- for (const entry of tailwindOptions?.v4?.cssEntries ?? []) runtimeWatchDependencyFiles.add(entry);
367
- for (const source of tailwindOptions?.v4?.sources ?? []) if (source?.base) runtimeWatchDependencyContexts.add(source.base);
368
- if (typeof runtimeState.twPatcher.collectContentTokens !== "function") return;
369
- try {
370
- const report = await runtimeState.twPatcher.collectContentTokens();
371
- for (const entry of report.entries ?? []) if (entry.file) runtimeWatchDependencyFiles.add(entry.file);
372
- for (const source of report.sources ?? []) if (source?.base) runtimeWatchDependencyContexts.add(source.base);
373
- } catch (error) {
374
- debug("collect runtime watch dependencies failed: %O", error);
375
- }
376
- };
377
- const ensureRuntimeMetadata = async (force = false) => {
378
- if (runtimeMetadataPrepared && !force) return;
379
- await updateRuntimeWatchDependencies();
380
- runtimeMetadataPrepared = true;
381
- };
382
- const syncRuntimeRefreshRequirement = () => {
383
- runtimeRefreshRequiredForCompilation = runtimeRefreshRequiredForCompilation || require_loader_anchors.hasWatchChanges(compiler);
384
- };
385
- const resetRuntimePreparation = () => {
386
- runtimeSetPrepared = false;
387
- runtimeMetadataPrepared = false;
388
- syncRuntimeRefreshRequirement();
389
- };
390
- compiler.hooks.invalid?.tap?.(require_recorder.pluginName, () => {
391
- runtimeRefreshRequiredForCompilation = true;
392
- });
393
- compiler.hooks.watchRun?.tap?.(require_recorder.pluginName, syncRuntimeRefreshRequirement);
394
- if (compiler.hooks.thisCompilation?.tap) compiler.hooks.thisCompilation.tap(require_recorder.pluginName, resetRuntimePreparation);
395
- else if (compiler.hooks.compilation?.tap) compiler.hooks.compilation.tap(require_recorder.pluginName, resetRuntimePreparation);
396
- async function getClassSetInLoader() {
397
- if (runtimeSetPrepared) return;
398
- const signature = require_logger.getRuntimeClassSetSignature(runtimeState.twPatcher);
399
- const forceRefresh = runtimeRefreshRequiredForCompilation || signature !== runtimeSetSignature;
400
- debug("runtime loader ensure class set forceRefresh=%s watchDirty=%s signatureChanged=%s", forceRefresh, runtimeRefreshRequiredForCompilation, signature !== runtimeSetSignature);
401
- runtimeSetPrepared = true;
402
- await require_recorder.ensureRuntimeClassSet(runtimeState, {
403
- forceRefresh,
404
- forceCollect: true,
405
- clearCache: forceRefresh,
406
- allowEmpty: true
407
- });
408
- await ensureRuntimeMetadata(forceRefresh);
409
- runtimeSetSignature = signature;
410
- runtimeRefreshRequiredForCompilation = false;
411
- }
412
- onLoad();
413
- setupWebpackV5Loaders({
414
- compiler,
415
- options: this.options,
416
- appType: this.appType,
417
- weappTailwindcssPackageDir,
418
- shouldRewriteCssImports,
419
- runtimeLoaderPath,
420
- runtimeCssImportRewriteLoaderPath,
421
- getClassSetInLoader,
422
- getRuntimeWatchDependencies() {
423
- return {
424
- files: runtimeWatchDependencyFiles,
425
- contexts: runtimeWatchDependencyContexts
426
- };
427
- },
428
- debug
429
- });
430
- setupWebpackV5ProcessAssetsHook({
431
- compiler,
432
- options: this.options,
433
- appType: this.appType,
434
- runtimeState,
435
- getRuntimeRefreshRequirement: () => runtimeRefreshRequiredForCompilation,
436
- refreshRuntimeMetadata: ensureRuntimeMetadata,
437
- consumeRuntimeRefreshRequirement() {
438
- runtimeRefreshRequiredForCompilation = false;
439
- },
440
- debug
441
- });
442
- }
443
- };
444
- //#endregion
445
- Object.defineProperty(exports, "UnifiedWebpackPluginV5", {
446
- enumerable: true,
447
- get: function() {
448
- return UnifiedWebpackPluginV5;
449
- }
450
- });
451
- Object.defineProperty(exports, "weappTailwindcssPackageDir", {
452
- enumerable: true,
453
- get: function() {
454
- return weappTailwindcssPackageDir;
455
- }
456
- });
@@ -1,4 +0,0 @@
1
- export * from './bundlers/webpack/BaseUnifiedPlugin/v4';
2
- export { UnifiedWebpackPluginV4 as WeappTailwindcss } from './bundlers/webpack/BaseUnifiedPlugin/v4';
3
- export { UnifiedWebpackPluginV4 as weappTailwindcss } from './bundlers/webpack/BaseUnifiedPlugin/v4';
4
- export type { UserDefinedOptions } from './types';