weapp-tailwindcss 5.1.16 → 5.2.1

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 (442) hide show
  1. package/README.en.md +6 -0
  2. package/README.md +6 -0
  3. package/bin/{weapp-tailwindcss.js → weapp-tailwindcss.cjs} +1 -1
  4. package/dist/bundlers/framework-selector.d.ts +2 -2
  5. package/dist/bundlers/gulp/asset-emission-plan.d.ts +10 -0
  6. package/dist/bundlers/gulp/frameworks/native/index.d.ts +10 -3
  7. package/dist/bundlers/gulp/index.d.ts +10 -3
  8. package/dist/bundlers/gulp/module-graph.d.ts +1 -1
  9. package/dist/bundlers/gulp/runtime-snapshot.d.ts +4 -2
  10. package/dist/bundlers/gulp/shared/create-native-framework-plugins/cache-state.d.ts +4 -4
  11. package/dist/bundlers/gulp/shared/create-native-framework-plugins/file-transforms.d.ts +5 -3
  12. package/dist/bundlers/gulp/shared/create-native-framework-plugins.d.ts +9 -2
  13. package/dist/bundlers/rspack/index.d.ts +2 -2
  14. package/dist/bundlers/shared/cache.d.ts +1 -1
  15. package/dist/bundlers/shared/css-imports.d.ts +1 -1
  16. package/dist/bundlers/shared/css-source-trace.d.ts +2 -2
  17. package/dist/bundlers/shared/framework-postcss.d.ts +9 -2
  18. package/dist/bundlers/shared/generator-css/candidates.d.ts +2 -0
  19. package/dist/bundlers/shared/generator-css/generation-helpers/preflight.d.ts +4 -3
  20. package/dist/bundlers/shared/generator-css/generation-helpers/results.d.ts +3 -3
  21. package/dist/bundlers/shared/generator-css/generation-helpers/runtime-isolation.d.ts +4 -4
  22. package/dist/bundlers/shared/generator-css/generation-helpers.d.ts +4 -4
  23. package/dist/bundlers/shared/generator-css/legacy-compat.d.ts +2 -2
  24. package/dist/bundlers/shared/generator-css/pipeline/context.d.ts +58 -0
  25. package/dist/bundlers/shared/generator-css/pipeline/deferred-output.d.ts +3 -14
  26. package/dist/bundlers/shared/generator-css/pipeline/execution.d.ts +3 -12
  27. package/dist/bundlers/shared/generator-css/pipeline/fallback-output.d.ts +3 -12
  28. package/dist/bundlers/shared/generator-css/pipeline/ordered-output.d.ts +3 -25
  29. package/dist/bundlers/shared/generator-css/pipeline.d.ts +1 -1
  30. package/dist/bundlers/shared/generator-css/result-helpers.d.ts +2 -2
  31. package/dist/bundlers/shared/generator-css/source-resolver/configuration.d.ts +3 -4
  32. package/dist/bundlers/shared/generator-css/source-resolver/matching.d.ts +1 -1
  33. package/dist/bundlers/shared/generator-css/source-resolver/metadata.d.ts +13 -5
  34. package/dist/bundlers/shared/generator-css/source-resolver/postcss-source.d.ts +1 -1
  35. package/dist/bundlers/shared/generator-css/source-resolver/resolve-source.d.ts +3 -3
  36. package/dist/bundlers/shared/generator-css/source-resolver/resolve-sources.d.ts +4 -3
  37. package/dist/bundlers/shared/generator-css/source-resolver/single-source.d.ts +9 -9
  38. package/dist/bundlers/shared/generator-css/source-resolver/source-entries.d.ts +3 -3
  39. package/dist/bundlers/shared/generator-css/source-resolver/source-matching.d.ts +4 -4
  40. package/dist/bundlers/shared/generator-css/source-resolver/types.d.ts +4 -4
  41. package/dist/bundlers/shared/generator-css/source-resolver.d.ts +7 -6
  42. package/dist/bundlers/shared/generator-css/types.d.ts +12 -3
  43. package/dist/bundlers/shared/generator-css/user-css/transform.d.ts +1 -1
  44. package/dist/bundlers/shared/generator-css/user-css.d.ts +5 -5
  45. package/dist/bundlers/shared/generator-css/validate.d.ts +1 -1
  46. package/dist/bundlers/shared/generator-css.d.ts +9 -9
  47. package/dist/bundlers/shared/runtime-class-set/entries.d.ts +4 -0
  48. package/dist/bundlers/shared/runtime-class-set/escaped-candidates.d.ts +9 -0
  49. package/dist/bundlers/shared/runtime-class-set.d.ts +30 -0
  50. package/dist/bundlers/shared/runtime-entry-type.d.ts +8 -0
  51. package/dist/bundlers/shared/runtime-signatures.d.ts +8 -0
  52. package/dist/bundlers/shared/source-candidate-scan-signature.d.ts +13 -0
  53. package/dist/bundlers/{vite → shared}/source-candidates/collector.d.ts +1 -1
  54. package/dist/bundlers/shared/source-candidates/scan-root.d.ts +10 -0
  55. package/dist/bundlers/{vite → shared}/source-candidates/script.d.ts +1 -1
  56. package/dist/bundlers/{vite → shared}/source-candidates/store.d.ts +1 -1
  57. package/dist/bundlers/{vite → shared}/source-candidates/types-and-cache.d.ts +3 -3
  58. package/dist/bundlers/shared/source-candidates.d.ts +4 -0
  59. package/dist/bundlers/shared/source-scan/css-entries.d.ts +18 -0
  60. package/dist/bundlers/shared/source-scan.d.ts +16 -0
  61. package/dist/bundlers/shared/static-config-content.d.ts +5 -0
  62. package/dist/bundlers/shared/v4-generation-core.d.ts +8 -3
  63. package/dist/bundlers/vite/bundle-entries.d.ts +1 -1
  64. package/dist/bundlers/vite/bundle-state.d.ts +11 -38
  65. package/dist/bundlers/vite/css-asset-identity.d.ts +11 -0
  66. package/dist/bundlers/vite/css-finalizer/options.d.ts +3 -3
  67. package/dist/bundlers/vite/css-finalizer/plugin.d.ts +1 -1
  68. package/dist/bundlers/vite/css-finalizer.d.ts +1 -1
  69. package/dist/bundlers/vite/css-memory.d.ts +1 -2
  70. package/dist/bundlers/vite/frameworks/generic/index.d.ts +2 -2
  71. package/dist/bundlers/vite/frameworks/taro/index.d.ts +2 -2
  72. package/dist/bundlers/vite/frameworks/uni-app/index.d.ts +3 -3
  73. package/dist/bundlers/vite/frameworks/uni-app-x/index.d.ts +3 -3
  74. package/dist/bundlers/vite/frameworks/weapp-vite/index.d.ts +2 -2
  75. package/dist/bundlers/vite/generate-bundle/asset-emission-plan.d.ts +8 -0
  76. package/dist/bundlers/vite/generate-bundle/bundle-markup-candidates.d.ts +4 -4
  77. package/dist/bundlers/vite/generate-bundle/configured-css-sources.d.ts +1 -1
  78. package/dist/bundlers/vite/generate-bundle/css-assets.d.ts +1 -1
  79. package/dist/bundlers/vite/generate-bundle/css-cache-task.d.ts +34 -0
  80. package/dist/bundlers/vite/generate-bundle/css-composition-plan.d.ts +58 -0
  81. package/dist/bundlers/vite/generate-bundle/css-config-directives.d.ts +1 -1
  82. package/dist/bundlers/vite/generate-bundle/css-entry-processing.d.ts +1 -0
  83. package/dist/bundlers/vite/generate-bundle/css-handler-options.d.ts +1 -1
  84. package/dist/bundlers/vite/generate-bundle/css-output-helpers.d.ts +21 -2
  85. package/dist/bundlers/vite/generate-bundle/css-output.d.ts +1 -1
  86. package/dist/bundlers/vite/generate-bundle/css-share-scope.d.ts +1 -1
  87. package/dist/bundlers/vite/generate-bundle/css-source-plan.d.ts +19 -0
  88. package/dist/bundlers/vite/generate-bundle/css-transform-decision-plan.d.ts +61 -0
  89. package/dist/bundlers/vite/generate-bundle/css-transform-result.d.ts +23 -0
  90. package/dist/bundlers/vite/generate-bundle/css-transform-task.d.ts +42 -0
  91. package/dist/bundlers/vite/generate-bundle/final-css-assets.d.ts +2 -2
  92. package/dist/bundlers/vite/generate-bundle/finalize/bundle.d.ts +1 -1
  93. package/dist/bundlers/vite/generate-bundle/finalize/root-import-shell.d.ts +5 -5
  94. package/dist/bundlers/vite/generate-bundle/finalize.d.ts +2 -2
  95. package/dist/bundlers/vite/generate-bundle/html-processing.d.ts +2 -2
  96. package/dist/bundlers/vite/generate-bundle/js-entries.d.ts +1 -1
  97. package/dist/bundlers/vite/generate-bundle/js-handler-options.d.ts +2 -1
  98. package/dist/bundlers/vite/generate-bundle/js-linking.d.ts +2 -2
  99. package/dist/bundlers/vite/generate-bundle/js-processing.d.ts +6 -5
  100. package/dist/bundlers/vite/generate-bundle/memory-debug.d.ts +1 -1
  101. package/dist/bundlers/vite/generate-bundle/process-plan.d.ts +1 -1
  102. package/dist/bundlers/vite/generate-bundle/remembered-css-plan.d.ts +35 -0
  103. package/dist/bundlers/vite/generate-bundle/remembered-css-replay.d.ts +5 -6
  104. package/dist/bundlers/vite/generate-bundle/remembered-css.d.ts +2 -2
  105. package/dist/bundlers/vite/generate-bundle/root-style-output.d.ts +20 -0
  106. package/dist/bundlers/vite/generate-bundle/runtime-configured-css.d.ts +54 -0
  107. package/dist/bundlers/vite/generate-bundle/runtime-linked-css.d.ts +1 -1
  108. package/dist/bundlers/vite/generate-bundle/runtime-linked-source-memory.d.ts +3 -3
  109. package/dist/bundlers/vite/{generate-bundle-runtime.d.ts → generate-bundle/runtime.d.ts} +4 -4
  110. package/dist/bundlers/vite/generate-bundle/scoped-generator.d.ts +2 -2
  111. package/dist/bundlers/vite/generate-bundle/sfc-style-source.d.ts +2 -2
  112. package/dist/bundlers/vite/generate-bundle/signatures.d.ts +1 -8
  113. package/dist/bundlers/vite/generate-bundle/source-candidate-scope.d.ts +3 -3
  114. package/dist/bundlers/vite/generate-bundle/source-candidate-source.d.ts +5 -0
  115. package/dist/bundlers/vite/generate-bundle/subpackages.d.ts +2 -2
  116. package/dist/bundlers/vite/generate-bundle/temporary-css-assets.d.ts +14 -1
  117. package/dist/bundlers/vite/generate-bundle/transform-filter.d.ts +1 -1
  118. package/dist/bundlers/vite/generate-bundle/transform-scheduling.d.ts +1 -0
  119. package/dist/bundlers/vite/generate-bundle/types.d.ts +8 -7
  120. package/dist/bundlers/vite/generate-bundle/uni-app-x-postprocess.d.ts +3 -2
  121. package/dist/bundlers/vite/generate-bundle/validate-runtime-candidates.d.ts +22 -0
  122. package/dist/bundlers/vite/generate-bundle.d.ts +6 -6
  123. package/dist/bundlers/vite/incremental-runtime-class-set/entries.d.ts +1 -4
  124. package/dist/bundlers/vite/incremental-runtime-class-set/escaped-candidates.d.ts +1 -3
  125. package/dist/bundlers/vite/incremental-runtime-class-set.d.ts +2 -30
  126. package/dist/bundlers/vite/index.d.ts +3 -3
  127. package/dist/bundlers/vite/js-precheck.d.ts +1 -1
  128. package/dist/bundlers/vite/processed-css-assets/cleanup.d.ts +2 -1
  129. package/dist/bundlers/vite/processed-css-assets/collector.d.ts +1 -1
  130. package/dist/bundlers/vite/processed-css-assets/coverage.d.ts +1 -1
  131. package/dist/bundlers/vite/processed-css-assets/empty-at-rule.d.ts +1 -0
  132. package/dist/bundlers/vite/processed-css-assets/injection-plan.d.ts +4 -4
  133. package/dist/bundlers/vite/processed-css-assets/markers-imports.d.ts +5 -5
  134. package/dist/bundlers/vite/processed-css-assets.d.ts +4 -4
  135. package/dist/bundlers/vite/resolve-app-type.d.ts +1 -1
  136. package/dist/bundlers/vite/rewrite-css-imports.d.ts +3 -2
  137. package/dist/bundlers/vite/runtime-affecting-signature.d.ts +1 -2
  138. package/dist/bundlers/vite/runtime-candidate-entry.d.ts +9 -0
  139. package/dist/bundlers/vite/runtime-class-set.d.ts +4 -4
  140. package/dist/bundlers/vite/serve-css-generation.d.ts +2 -1
  141. package/dist/bundlers/vite/serve-js-transform.d.ts +1 -1
  142. package/dist/bundlers/vite/serve-root-import-shell.d.ts +1 -1
  143. package/dist/bundlers/vite/shared/create-framework-plugins.d.ts +7 -7
  144. package/dist/bundlers/vite/shared/framework-hmr-candidate-state.d.ts +45 -0
  145. package/dist/bundlers/vite/shared/framework-post-plugin.d.ts +2 -0
  146. package/dist/bundlers/vite/shared/framework-processed-css-registry.d.ts +22 -0
  147. package/dist/bundlers/vite/shared/framework-runtime-options.d.ts +1 -0
  148. package/dist/bundlers/vite/shared/framework-source-candidates-plugin.d.ts +2 -0
  149. package/dist/bundlers/vite/shared/framework-source-scan-session.d.ts +38 -0
  150. package/dist/bundlers/vite/shared/framework-strategy.d.ts +4 -4
  151. package/dist/bundlers/vite/source-candidate-scan-signature.d.ts +2 -13
  152. package/dist/bundlers/vite/source-candidates/scan-root.d.ts +1 -10
  153. package/dist/bundlers/vite/source-candidates.d.ts +1 -4
  154. package/dist/bundlers/vite/source-output-relations.d.ts +24 -0
  155. package/dist/bundlers/vite/source-scan/css-entries.d.ts +2 -18
  156. package/dist/bundlers/vite/source-scan.d.ts +2 -16
  157. package/dist/bundlers/vite/static-config-content.d.ts +1 -5
  158. package/dist/bundlers/vite/uni-app-x-css-options.d.ts +1 -1
  159. package/dist/bundlers/vite/web-css-compat.d.ts +1 -1
  160. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/asset-emission-plan.d.ts +18 -0
  161. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/css-source-resolvers.d.ts +2 -2
  162. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/finalize-assets.d.ts +1 -1
  163. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/generated-css-task.d.ts +1 -1
  164. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/helpers.d.ts +11 -41
  165. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/html-js-tasks.d.ts +1 -1
  166. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/js-module-graph.d.ts +4 -10
  167. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/finalize.d.ts +4 -4
  168. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/memory-trace.d.ts +3 -3
  169. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/preflight-runtime.d.ts +6 -6
  170. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/resources.d.ts +2 -2
  171. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/sources.d.ts +4 -4
  172. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/user-css.d.ts +1 -1
  173. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers.d.ts +9 -9
  174. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/source-candidate-cache.d.ts +3 -3
  175. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/source-candidate-refresh.d.ts +3 -3
  176. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets.d.ts +2 -2
  177. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-loaders.d.ts +4 -4
  178. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5.d.ts +2 -2
  179. package/dist/bundlers/webpack/frameworks/generic/index.d.ts +2 -2
  180. package/dist/bundlers/webpack/frameworks/index.d.ts +7 -7
  181. package/dist/bundlers/webpack/frameworks/mpx/index.d.ts +2 -2
  182. package/dist/bundlers/webpack/frameworks/taro/index.d.ts +2 -2
  183. package/dist/bundlers/webpack/frameworks/uni-app/index.d.ts +2 -2
  184. package/dist/bundlers/webpack/frameworks/weapp-vite/index.d.ts +2 -2
  185. package/dist/bundlers/webpack/index.d.ts +1 -1
  186. package/dist/bundlers/webpack/loaders/runtime-registry.d.ts +2 -2
  187. package/dist/bundlers/webpack/loaders/weapp-tw-css-generation-loader.d.ts +1 -1
  188. package/dist/bundlers/webpack/loaders/weapp-tw-css-import-rewrite-loader.d.ts +1 -1
  189. package/dist/bundlers/webpack/loaders/weapp-tw-runtime-classset-loader.d.ts +1 -1
  190. package/dist/bundlers/webpack/shared/create-framework-plugin/plugin.d.ts +4 -4
  191. package/dist/bundlers/webpack/shared/create-framework-plugin.d.ts +3 -3
  192. package/dist/cli/context.d.ts +2 -2
  193. package/dist/cli/doctor.d.ts +1 -1
  194. package/dist/cli/helpers/options.d.ts +3 -3
  195. package/dist/cli/helpers.d.ts +1 -1
  196. package/dist/cli.cjs +37012 -0
  197. package/dist/cli.js +141 -168
  198. package/dist/compiler/artifact.d.ts +14 -0
  199. package/dist/compiler/candidate-index.d.ts +10 -0
  200. package/dist/compiler/compilation-change-coordinator.d.ts +28 -0
  201. package/dist/compiler/compilation-dependency-state.d.ts +16 -0
  202. package/dist/compiler/compilation-scope-graph.d.ts +31 -0
  203. package/dist/compiler/compilation-session-pool.d.ts +54 -0
  204. package/dist/compiler/compiler-owner-state.d.ts +3 -0
  205. package/dist/compiler/composition.d.ts +8 -0
  206. package/dist/compiler/emission-plan.d.ts +26 -0
  207. package/dist/compiler/index.d.ts +23 -0
  208. package/dist/compiler/invalidation.d.ts +3 -0
  209. package/dist/compiler/mode.d.ts +3 -0
  210. package/dist/compiler/owner-lifecycle.d.ts +1 -0
  211. package/dist/compiler/platform-adapter.d.ts +9 -0
  212. package/dist/compiler/runtime-affecting-signature.d.ts +2 -0
  213. package/dist/compiler/runtime-build-state.d.ts +6 -0
  214. package/dist/compiler/runtime-snapshot.d.ts +53 -0
  215. package/dist/compiler/scope-planner.d.ts +6 -0
  216. package/dist/compiler/semantic-css.d.ts +66 -0
  217. package/dist/compiler/session.d.ts +13 -0
  218. package/dist/compiler/shadow-gate.d.ts +26 -0
  219. package/dist/compiler/shadow-report-session.d.ts +37 -0
  220. package/dist/compiler/shadow-report.d.ts +15 -0
  221. package/dist/compiler/source-graph.d.ts +32 -0
  222. package/dist/compiler/tailwind-generation-session-pool.d.ts +22 -0
  223. package/dist/compiler/types.d.ts +95 -0
  224. package/dist/constants.d.ts +2 -2
  225. package/dist/context/compiler-context-cache.d.ts +1 -1
  226. package/dist/context/custom-attributes.d.ts +1 -1
  227. package/dist/context/handlers.d.ts +3 -3
  228. package/dist/context/index.d.ts +1 -1
  229. package/dist/context/runtime-package-replacements.d.ts +1 -1
  230. package/dist/context/style-options.d.ts +1 -1
  231. package/dist/context/tailwindcss.d.ts +3 -3
  232. package/dist/{context-BtLIID4m.js → context-OqD_eBxQ.cjs} +31 -93
  233. package/dist/{context-JzwzSX36.mjs → context-YAvTyPV2.js} +25 -12
  234. package/dist/{core.mjs → core.cjs} +13 -12
  235. package/dist/core.d.ts +2 -2
  236. package/dist/core.js +12 -13
  237. package/dist/css-imports-DfNC3e6a.cjs +43 -0
  238. package/dist/css-loader-runtime-CSv0lKqV.cjs +11 -0
  239. package/dist/css-macro/postcss.cjs +19 -0
  240. package/dist/css-macro/postcss.js +2 -19
  241. package/dist/{css-macro.mjs → css-macro.cjs} +11 -8
  242. package/dist/css-macro.d.ts +2 -2
  243. package/dist/css-macro.js +8 -11
  244. package/dist/{defaults.mjs → defaults.cjs} +16 -11
  245. package/dist/defaults.d.ts +1 -1
  246. package/dist/defaults.js +11 -16
  247. package/dist/{escape.mjs → escape.cjs} +18 -4
  248. package/dist/escape.js +4 -18
  249. package/dist/framework/platform.d.ts +1 -1
  250. package/dist/{framework.mjs → framework.cjs} +47 -25
  251. package/dist/framework.d.ts +1 -1
  252. package/dist/framework.js +25 -47
  253. package/dist/generator/index.d.ts +6 -6
  254. package/dist/generator/options.d.ts +3 -3
  255. package/dist/generator/types.d.ts +2 -2
  256. package/dist/{generator-B91GhUJQ.js → generator-BE34PYSC.cjs} +175 -38
  257. package/dist/{generator-Bv7myuhY.mjs → generator-DYeAa2-5.js} +160 -35
  258. package/dist/generator.cjs +12 -0
  259. package/dist/generator.d.ts +1 -1
  260. package/dist/generator.js +2 -12
  261. package/dist/{gulp-CKSklPlH.mjs → gulp-CxIXGmft.js} +141 -90
  262. package/dist/{gulp-Q1wITegn.js → gulp-DCRItId9.cjs} +157 -103
  263. package/dist/gulp.cjs +5 -0
  264. package/dist/gulp.d.ts +4 -4
  265. package/dist/gulp.js +2 -5
  266. package/dist/hmr-timing-BeJU2tmK.cjs +555 -0
  267. package/dist/{hmr-timing-BXg7nI8N.mjs → hmr-timing-Doqs3Z6q.js} +3824 -1988
  268. package/dist/index.cjs +45 -0
  269. package/dist/index.d.ts +9 -9
  270. package/dist/index.js +9 -45
  271. package/dist/js/JsTokenUpdater.d.ts +1 -1
  272. package/dist/js/ModuleGraph.d.ts +3 -3
  273. package/dist/js/NodePathWalker.d.ts +2 -2
  274. package/dist/js/babel/process.d.ts +2 -2
  275. package/dist/js/babel.d.ts +8 -8
  276. package/dist/js/evalTransforms.d.ts +2 -2
  277. package/dist/js/fast-path/oxc.d.ts +1 -1
  278. package/dist/js/handlers.d.ts +2 -2
  279. package/dist/js/index.d.ts +3 -3
  280. package/dist/js/literal-transform.d.ts +1 -1
  281. package/dist/js/module-graph/ignored-exports.d.ts +4 -4
  282. package/dist/js/module-graph/types.d.ts +2 -2
  283. package/dist/js/node-path-walker/export-handlers.d.ts +1 -1
  284. package/dist/js/precheck.d.ts +1 -1
  285. package/dist/js/replacement-cache.d.ts +1 -1
  286. package/dist/js/sourceAnalysis.d.ts +3 -3
  287. package/dist/js/taggedTemplateIgnore.d.ts +1 -1
  288. package/dist/object-Bvy6-w9r.js +47 -0
  289. package/dist/object-C_Vr6_S5.cjs +58 -0
  290. package/dist/options-hVsoTfwL.cjs +775 -0
  291. package/dist/pipeline-helpers-DbwUW5Er.cjs +955 -0
  292. package/dist/postcss-html-transform.cjs +7 -0
  293. package/dist/postcss-html-transform.js +3 -5
  294. package/dist/postcss.cjs +15 -0
  295. package/dist/postcss.js +7 -11
  296. package/dist/presets/hbuilderx.d.ts +2 -2
  297. package/dist/presets/index.d.ts +4 -4
  298. package/dist/presets/shared.d.ts +1 -1
  299. package/dist/presets/taro.d.ts +2 -2
  300. package/dist/presets/uni-app-x.d.ts +1 -1
  301. package/dist/presets/uni-app.d.ts +2 -2
  302. package/dist/{presets.mjs → presets.cjs} +37 -24
  303. package/dist/presets.d.ts +1 -1
  304. package/dist/presets.js +24 -36
  305. package/dist/reset.cjs +19 -0
  306. package/dist/reset.d.ts +2 -2
  307. package/dist/reset.js +2 -19
  308. package/dist/{rolldown-runtime-emK7D4bc.js → rolldown-runtime-CVvi-lCc.cjs} +15 -0
  309. package/dist/{rspack.mjs → rspack.cjs} +10 -4
  310. package/dist/rspack.d.ts +3 -3
  311. package/dist/rspack.js +4 -10
  312. package/dist/runtime-branch/create-branch.d.ts +1 -1
  313. package/dist/runtime-branch/generator-target-env.d.ts +2 -1
  314. package/dist/runtime-branch/index.d.ts +2 -2
  315. package/dist/runtime-branch/mini-program.d.ts +1 -1
  316. package/dist/runtime-branch/native-app.d.ts +1 -1
  317. package/dist/runtime-branch/platform.d.ts +2 -2
  318. package/dist/runtime-branch/tailwind-version.d.ts +1 -1
  319. package/dist/runtime-branch/types.d.ts +2 -2
  320. package/dist/runtime-branch/web.d.ts +1 -1
  321. package/dist/runtime-branch.d.ts +1 -1
  322. package/dist/runtime-registry-Y7NrD2WH.cjs +31 -0
  323. package/dist/shared/classname-transform.d.ts +1 -1
  324. package/dist/shared/mpx.d.ts +1 -1
  325. package/dist/source-candidate-scan-signature-BMBzTdhD.js +421 -0
  326. package/dist/source-candidate-scan-signature-CzrG7nGp.cjs +555 -0
  327. package/dist/style-injector/internal.d.ts +6 -6
  328. package/dist/style-options-B_ppaVIg.cjs +77 -0
  329. package/dist/tailwindcss/candidates.d.ts +2 -2
  330. package/dist/tailwindcss/index.d.ts +1 -1
  331. package/dist/tailwindcss/runtime/cache.d.ts +1 -1
  332. package/dist/tailwindcss/runtime-factory.d.ts +2 -2
  333. package/dist/tailwindcss/runtime-options.d.ts +1 -1
  334. package/dist/tailwindcss/runtime-types.d.ts +2 -2
  335. package/dist/tailwindcss/runtime.d.ts +2 -2
  336. package/dist/tailwindcss/source-scan.d.ts +2 -2
  337. package/dist/tailwindcss/targets.d.ts +1 -1
  338. package/dist/tailwindcss/v4/config.d.ts +1 -1
  339. package/dist/tailwindcss/v4/css-sources.d.ts +2 -1
  340. package/dist/tailwindcss/v4/index.d.ts +2 -2
  341. package/dist/tailwindcss/v4/multi-runtime.d.ts +1 -1
  342. package/dist/tailwindcss/v4/runtime-factory.d.ts +5 -5
  343. package/dist/tailwindcss/v4/runtime-options.d.ts +1 -1
  344. package/dist/tailwindcss/v4-engine/css-macro-source.d.ts +1 -1
  345. package/dist/tailwindcss/v4-engine/generator/css-compat.d.ts +1 -1
  346. package/dist/tailwindcss/v4-engine/generator/engine.d.ts +1 -1
  347. package/dist/tailwindcss/v4-engine/generator/incremental-cache.d.ts +4 -5
  348. package/dist/tailwindcss/v4-engine/generator/native-session.d.ts +17 -0
  349. package/dist/tailwindcss/v4-engine/generator/scan-sources.d.ts +2 -1
  350. package/dist/tailwindcss/v4-engine/generator.d.ts +2 -2
  351. package/dist/tailwindcss/v4-engine/index.d.ts +5 -5
  352. package/dist/tailwindcss/v4-engine/miniprogram.d.ts +2 -2
  353. package/dist/tailwindcss/v4-engine/source.d.ts +2 -2
  354. package/dist/tailwindcss/v4-engine/types.d.ts +1 -0
  355. package/dist/{tailwindcss-BTcXX8Ka.mjs → tailwindcss-CTpCc_nd.js} +22 -22
  356. package/dist/{tailwindcss-B4phC0kB.js → tailwindcss-DcpiKvmJ.cjs} +9 -769
  357. package/dist/transform-BUEyOCT7.cjs +341 -0
  358. package/dist/transform-BbaPIji9.js +342 -0
  359. package/dist/typedoc.export.d.ts +4 -4
  360. package/dist/types/index.d.ts +7 -7
  361. package/dist/types/shared.d.ts +1 -1
  362. package/dist/types/typedoc-tailwindcss-runtime.d.ts +3 -3
  363. package/dist/types/user-defined-options/general.d.ts +5 -5
  364. package/dist/types/user-defined-options/important.d.ts +2 -2
  365. package/dist/types/user-defined-options/index.d.ts +9 -9
  366. package/dist/types/user-defined-options/matcher.d.ts +2 -2
  367. package/dist/types.cjs +0 -0
  368. package/dist/types.d.ts +1 -1
  369. package/dist/types.js +1 -0
  370. package/dist/uni-app-x/harmony.d.ts +1 -0
  371. package/dist/uni-app-x/index.d.ts +2 -2
  372. package/dist/uni-app-x/options.d.ts +1 -1
  373. package/dist/uni-app-x/style-asset/harmony-apply.d.ts +1 -0
  374. package/dist/uni-app-x/style-asset/style-value.d.ts +3 -0
  375. package/dist/uni-app-x/style-asset.d.ts +5 -4
  376. package/dist/uni-app-x/transform.d.ts +1 -1
  377. package/dist/uni-app-x/vite/harmony-apply.d.ts +19 -0
  378. package/dist/uni-app-x/vite/native-target.d.ts +2 -0
  379. package/dist/uni-app-x/vite.d.ts +5 -2
  380. package/dist/unocss/index.d.ts +1 -1
  381. package/dist/utils/disabled.d.ts +1 -1
  382. package/dist/utils/index.d.ts +3 -3
  383. package/dist/{hmr-timing-CMPaWn9P.js → v4-generation-core-BrCR6ic8.cjs} +3468 -2059
  384. package/dist/{vite-DhVnXvAQ.js → vite-Bu6MB9Zo.cjs} +6156 -4670
  385. package/dist/{vite-BwQWl9ft.mjs → vite-TMGwWcx9.js} +5967 -4456
  386. package/dist/vite.cjs +4 -0
  387. package/dist/vite.d.ts +3 -3
  388. package/dist/vite.js +2 -4
  389. package/dist/watch-dependencies-BZGubvuJ.cjs +40 -0
  390. package/dist/{weapp-tw-css-generation-loader.js → weapp-tw-css-generation-loader.cjs} +3 -2
  391. package/dist/weapp-tw-css-import-rewrite-loader.cjs +201 -0
  392. package/dist/{weapp-tw-runtime-classset-loader.js → weapp-tw-runtime-classset-loader.cjs} +9 -11
  393. package/dist/{webpack-kh78iMSS.js → webpack-CiI-1n9L.cjs} +208 -954
  394. package/dist/{webpack-Bo1QrFPf.mjs → webpack-Dnh2KQbg.js} +105 -101
  395. package/dist/webpack.cjs +5 -0
  396. package/dist/webpack.d.ts +2 -2
  397. package/dist/webpack.js +2 -5
  398. package/dist/wxml/Tokenizer.d.ts +2 -2
  399. package/dist/wxml/custom-attributes.d.ts +1 -1
  400. package/dist/wxml/index.d.ts +2 -2
  401. package/dist/wxml/shared.d.ts +1 -1
  402. package/dist/wxml/utils/codegen/legacy-rewriter.d.ts +1 -1
  403. package/dist/wxml/utils/codegen/legacy-visitor.d.ts +2 -2
  404. package/dist/wxml/utils/codegen.d.ts +1 -1
  405. package/dist/wxml/utils/custom-template.d.ts +2 -2
  406. package/dist/wxml/utils/fragment-helpers.d.ts +2 -2
  407. package/dist/wxml/utils/fragment-updater.d.ts +2 -2
  408. package/dist/wxml/utils/template-fragments.d.ts +2 -2
  409. package/dist/wxml/utils.d.ts +5 -5
  410. package/dist/wxml-DSMNuUaP.cjs +38609 -0
  411. package/dist/{cli.mjs → wxml-IBzZSaQC.js} +237 -714
  412. package/package.json +56 -53
  413. package/dist/css-macro/postcss.mjs +0 -2
  414. package/dist/generator.mjs +0 -2
  415. package/dist/gulp.mjs +0 -2
  416. package/dist/index.mjs +0 -9
  417. package/dist/object-BJSWl-E5.mjs +0 -9
  418. package/dist/object-COs_Mw6p.js +0 -14
  419. package/dist/postcss-html-transform.mjs +0 -5
  420. package/dist/postcss.mjs +0 -11
  421. package/dist/reset.mjs +0 -2
  422. package/dist/source-candidate-scan-signature-BKZZk_e6.js +0 -1078
  423. package/dist/source-candidate-scan-signature-CtK-mB_C.mjs +0 -854
  424. package/dist/transform-B_KM9sLX.mjs +0 -14930
  425. package/dist/transform-CcYptivi.js +0 -14927
  426. package/dist/types.mjs +0 -1
  427. package/dist/vite.mjs +0 -2
  428. package/dist/watch-dependencies-bpG6kmAf.js +0 -80
  429. package/dist/weapp-tw-css-import-rewrite-loader-B0tVkJLH.js +0 -10524
  430. package/dist/weapp-tw-css-import-rewrite-loader.js +0 -10
  431. package/dist/webpack.mjs +0 -2
  432. package/dist/wxml-Ce10eREX.js +0 -3979
  433. package/dist/wxml-DdGdeqaH.mjs +0 -3861
  434. /package/dist/{auto-2dg_uhEJ.mjs → auto-2dg_uhEJ.js} +0 -0
  435. /package/dist/{auto-DtU6f3X6.js → auto-DtU6f3X6.cjs} +0 -0
  436. /package/dist/bundlers/{vite → shared}/source-scan/dependencies.d.ts +0 -0
  437. /package/dist/{cache-options-DavPxrhC.js → cache-options-DavPxrhC.cjs} +0 -0
  438. /package/dist/{cache-options-DwBtLwQe.mjs → cache-options-DwBtLwQe.js} +0 -0
  439. /package/dist/{logger-BNzxZbZj.mjs → logger-BNzxZbZj.js} +0 -0
  440. /package/dist/{logger-TlKT3xmR.js → logger-TlKT3xmR.cjs} +0 -0
  441. /package/dist/{utils-CuKLf1Zv.js → utils-CuKLf1Zv.cjs} +0 -0
  442. /package/dist/{utils-MVwpU07P.mjs → utils-MVwpU07P.js} +0 -0
@@ -0,0 +1,341 @@
1
+ const require_object = require("./object-C_Vr6_S5.cjs");
2
+ const require_wxml = require("./wxml-DSMNuUaP.cjs");
3
+ let _tailwindcss_mangle_engine = require("@tailwindcss-mangle/engine");
4
+ let _vue_compiler_dom = require("@vue/compiler-dom");
5
+ //#region src/uni-app-x/component-local-style.ts
6
+ const EXPRESSION_WRAPPER_PREFIX = "(\n";
7
+ const EXPRESSION_WRAPPER_SUFFIX = "\n)";
8
+ const COMPONENT_RE = /(?:^|[/\\])components(?:[/\\].+)?\.(?:uvue|nvue)$/;
9
+ const PAGE_RE = /(?:^|[/\\])pages(?:[/\\].+)?\.(?:uvue|nvue)$/;
10
+ function createStableHash(input) {
11
+ let hash = 2166136261;
12
+ for (let i = 0; i < input.length; i++) {
13
+ hash ^= input.charCodeAt(i);
14
+ hash = Math.imul(hash, 16777619);
15
+ }
16
+ return (hash >>> 0).toString(36);
17
+ }
18
+ function extractLiteralValue(path) {
19
+ if (path.isStringLiteral()) return {
20
+ literal: path.node.value,
21
+ offset: 1
22
+ };
23
+ return {
24
+ literal: typeof path.node.value === "string" ? path.node.value : path.node.value.raw,
25
+ offset: 0
26
+ };
27
+ }
28
+ function createAlias(fileId, utility, index) {
29
+ return `wtu-${createStableHash(`${fileId}:${utility}`)}-${index.toString(36)}`;
30
+ }
31
+ function isRuntimeCandidate(candidate, runtimeSet) {
32
+ if (!runtimeSet || runtimeSet.size === 0) return false;
33
+ return runtimeSet.has(candidate) || runtimeSet.has(require_wxml.replaceWxml(candidate));
34
+ }
35
+ function hasTopLevelVariant(candidate) {
36
+ let bracketDepth = 0;
37
+ let parenthesisDepth = 0;
38
+ let quote = "";
39
+ let escaped = false;
40
+ for (const char of candidate) {
41
+ if (escaped) {
42
+ escaped = false;
43
+ continue;
44
+ }
45
+ if (char === "\\") {
46
+ escaped = true;
47
+ continue;
48
+ }
49
+ if (quote) {
50
+ if (char === quote) quote = "";
51
+ continue;
52
+ }
53
+ if (char === "\"" || char === "'") {
54
+ quote = char;
55
+ continue;
56
+ }
57
+ if (char === "[") {
58
+ bracketDepth += 1;
59
+ continue;
60
+ }
61
+ if (char === "]") {
62
+ bracketDepth = Math.max(0, bracketDepth - 1);
63
+ continue;
64
+ }
65
+ if (char === "(") {
66
+ parenthesisDepth += 1;
67
+ continue;
68
+ }
69
+ if (char === ")") {
70
+ parenthesisDepth = Math.max(0, parenthesisDepth - 1);
71
+ continue;
72
+ }
73
+ if (char === ":" && bracketDepth === 0 && parenthesisDepth === 0) return true;
74
+ }
75
+ return false;
76
+ }
77
+ function shouldEnableComponentLocalStyle(id) {
78
+ return COMPONENT_RE.test(id);
79
+ }
80
+ function shouldEnablePageLocalStyle(id) {
81
+ return PAGE_RE.test(id);
82
+ }
83
+ var UniAppXComponentLocalStyleCollector = class {
84
+ constructor(fileId, runtimeSet) {
85
+ this.fileId = fileId;
86
+ this.runtimeSet = runtimeSet;
87
+ require_object._defineProperty(this, "aliasByUtility", /* @__PURE__ */ new Map());
88
+ require_object._defineProperty(this, "aliasByLookup", /* @__PURE__ */ new Map());
89
+ }
90
+ ensureAlias(utility) {
91
+ const cached = this.aliasByUtility.get(utility);
92
+ if (cached) return cached;
93
+ const alias = createAlias(this.fileId, utility, this.aliasByUtility.size);
94
+ this.aliasByUtility.set(utility, alias);
95
+ this.aliasByLookup.set(utility, alias);
96
+ this.aliasByLookup.set(require_wxml.replaceWxml(utility), alias);
97
+ return alias;
98
+ }
99
+ rewriteLiteral(literal) {
100
+ const candidates = (0, _tailwindcss_mangle_engine.splitCandidateTokens)(literal);
101
+ if (candidates.length === 0) return literal;
102
+ let rewritten = literal;
103
+ for (const candidate of candidates) {
104
+ if (!isRuntimeCandidate(candidate, this.runtimeSet)) continue;
105
+ rewritten = rewritten.replace(candidate, hasTopLevelVariant(candidate) ? require_wxml.replaceWxml(candidate) : this.ensureAlias(candidate));
106
+ }
107
+ return rewritten;
108
+ }
109
+ collectAndRewriteStaticClass(literal) {
110
+ return this.rewriteLiteral(literal);
111
+ }
112
+ collectRuntimeClasses(rawSource, options = {}) {
113
+ const wrapped = options.wrapExpression ? `${EXPRESSION_WRAPPER_PREFIX}${rawSource}${EXPRESSION_WRAPPER_SUFFIX}` : rawSource;
114
+ try {
115
+ const analysis = require_wxml.analyzeSource(require_wxml.babelParse(wrapped, {
116
+ plugins: ["typescript"],
117
+ sourceType: options.wrapExpression ? "module" : "unambiguous"
118
+ }), {}, void 0, false);
119
+ for (const path of analysis.targetPaths) {
120
+ const { literal } = extractLiteralValue(path);
121
+ const candidates = (0, _tailwindcss_mangle_engine.splitCandidateTokens)(literal);
122
+ const classContext = options.wrapExpression || require_wxml.isClassContextLiteralPath(path);
123
+ for (const candidate of candidates) {
124
+ if (!candidate || !classContext && !isRuntimeCandidate(candidate, this.runtimeSet)) continue;
125
+ if (isRuntimeCandidate(candidate, this.runtimeSet) && !hasTopLevelVariant(candidate)) this.ensureAlias(candidate);
126
+ }
127
+ }
128
+ } catch {}
129
+ }
130
+ rewriteTransformedCode(rawSource, options = {}) {
131
+ if (this.aliasByLookup.size === 0) return rawSource;
132
+ const wrapped = options.wrapExpression ? `${EXPRESSION_WRAPPER_PREFIX}${rawSource}${EXPRESSION_WRAPPER_SUFFIX}` : rawSource;
133
+ try {
134
+ const analysis = require_wxml.analyzeSource(require_wxml.babelParse(wrapped, {
135
+ plugins: ["typescript"],
136
+ sourceType: options.wrapExpression ? "module" : "unambiguous"
137
+ }), {}, void 0, false);
138
+ if (analysis.targetPaths.length === 0) return rawSource;
139
+ const updater = new require_wxml.JsTokenUpdater();
140
+ for (const path of analysis.targetPaths) {
141
+ const { literal, offset } = extractLiteralValue(path);
142
+ const candidates = (0, _tailwindcss_mangle_engine.splitCandidateTokens)(literal);
143
+ if (candidates.length === 0) continue;
144
+ let rewritten = literal;
145
+ let mutated = false;
146
+ for (const candidate of candidates) {
147
+ const alias = this.aliasByLookup.get(candidate);
148
+ if (!alias) continue;
149
+ const replaced = rewritten.replace(candidate, alias);
150
+ if (replaced !== rewritten) {
151
+ rewritten = replaced;
152
+ mutated = true;
153
+ }
154
+ }
155
+ if (!mutated || typeof path.node.start !== "number" || typeof path.node.end !== "number") continue;
156
+ updater.addToken({
157
+ start: path.node.start + offset,
158
+ end: path.node.end - offset,
159
+ value: rewritten,
160
+ path
161
+ });
162
+ }
163
+ if (updater.length === 0) return rawSource;
164
+ const ms = new require_wxml.MagicString(wrapped);
165
+ updater.updateMagicString(ms);
166
+ if (options.wrapExpression) {
167
+ ms.remove(0, 2);
168
+ ms.remove(wrapped.length - 2, wrapped.length);
169
+ }
170
+ return ms.toString();
171
+ } catch {
172
+ return rawSource;
173
+ }
174
+ }
175
+ hasStyles() {
176
+ return this.aliasByUtility.size > 0;
177
+ }
178
+ toStyleBlock() {
179
+ if (!this.hasStyles()) return "";
180
+ const lines = ["<style scoped>"];
181
+ for (const [utility, alias] of this.aliasByUtility) {
182
+ lines.push(`.${alias} {`);
183
+ lines.push(` @apply ${utility};`);
184
+ lines.push("}");
185
+ }
186
+ lines.push("</style>");
187
+ return `${lines.join("\n")}\n`;
188
+ }
189
+ };
190
+ //#endregion
191
+ //#region src/uni-app-x/transform.ts
192
+ function traverse(node, visitor) {
193
+ visitor(node);
194
+ if (Array.isArray(node.children)) {
195
+ for (const child of node.children) if (child && typeof child === "object" && "type" in child) traverse(child, visitor);
196
+ }
197
+ }
198
+ function updateStaticAttribute(ms, prop, offset, content = prop.value?.content) {
199
+ if (!prop.value) return;
200
+ const start = offset + prop.value.loc.start.offset + 1;
201
+ const end = offset + prop.value.loc.end.offset - 1;
202
+ if (start < end) ms.update(start, end, require_wxml.replaceWxml(content ?? ""));
203
+ }
204
+ function updateStaticAttributeWithLocalStyle(ms, prop, offset, collector, content = prop.value?.content) {
205
+ if (!prop.value) return;
206
+ const start = offset + prop.value.loc.start.offset + 1;
207
+ const end = offset + prop.value.loc.end.offset - 1;
208
+ if (start < end) ms.update(start, end, collector.collectAndRewriteStaticClass(content ?? ""));
209
+ }
210
+ function updateDirectiveExpression(ms, prop, offset, jsHandler, runtimeSet) {
211
+ if (prop.exp?.type !== _vue_compiler_dom.NodeTypes.SIMPLE_EXPRESSION) return;
212
+ const expression = prop.exp.content;
213
+ const start = offset + prop.exp.loc.start.offset;
214
+ const end = offset + prop.exp.loc.end.offset;
215
+ if (start >= end) return;
216
+ const generated = require_wxml.generateCode(expression, {
217
+ jsHandler,
218
+ runtimeSet,
219
+ wrapExpression: true
220
+ });
221
+ ms.update(start, end, generated);
222
+ }
223
+ function updateDirectiveExpressionWithLocalStyle(ms, prop, offset, jsHandler, collector, runtimeSet) {
224
+ if (prop.exp?.type !== _vue_compiler_dom.NodeTypes.SIMPLE_EXPRESSION) return;
225
+ const expression = prop.exp.content;
226
+ const start = offset + prop.exp.loc.start.offset;
227
+ const end = offset + prop.exp.loc.end.offset;
228
+ if (start >= end) return;
229
+ collector.collectRuntimeClasses(expression, { wrapExpression: true });
230
+ const generated = require_wxml.generateCode(expression, {
231
+ jsHandler,
232
+ runtimeSet,
233
+ wrapExpression: true
234
+ });
235
+ ms.update(start, end, collector.rewriteTransformedCode(generated, { wrapExpression: true }));
236
+ }
237
+ function shouldEnableLocalStyle(id, options) {
238
+ if (options.enableComponentLocalStyle && shouldEnableComponentLocalStyle(id)) return true;
239
+ if (options.enablePageLocalStyle && shouldEnablePageLocalStyle(id)) return true;
240
+ return false;
241
+ }
242
+ function shouldHandleAttribute(tag, attrName, disabledDefaultTemplateHandler, matchCustomAttribute) {
243
+ const lowerName = attrName.toLowerCase();
244
+ const shouldHandleDefault = !disabledDefaultTemplateHandler && lowerName === "class";
245
+ const shouldHandleCustom = matchCustomAttribute?.(tag, attrName) ?? false;
246
+ return {
247
+ shouldHandleDefault,
248
+ shouldHandleCustom,
249
+ shouldHandle: shouldHandleDefault || shouldHandleCustom
250
+ };
251
+ }
252
+ const defaultCreateJsHandlerOptions = { babelParserOptions: { plugins: ["typescript"] } };
253
+ const UVUE_NVUE_RE = /\.(?:uvue|nvue)(?:\?.*)?$/;
254
+ const SFC_BLOCK_RE = /<(template|script)\b([^>]*)>([\s\S]*?)<\/\1>/gi;
255
+ const SCRIPT_SETUP_RE = /(?:^|\s)setup(?:\s|=|$)/;
256
+ function parseSfc(code) {
257
+ const descriptor = { errors: [] };
258
+ for (const match of code.matchAll(SFC_BLOCK_RE)) {
259
+ const type = match[1];
260
+ const attrs = match[2] ?? "";
261
+ const content = match[3] ?? "";
262
+ const full = match[0];
263
+ const contentStart = (match.index ?? 0) + full.indexOf(">") + 1;
264
+ const block = {
265
+ content,
266
+ start: contentStart,
267
+ end: contentStart + content.length,
268
+ attrs
269
+ };
270
+ if (type === "template" && !descriptor.template) {
271
+ try {
272
+ descriptor.template = {
273
+ ...block,
274
+ ast: (0, _vue_compiler_dom.parse)(content)
275
+ };
276
+ } catch (error) {
277
+ descriptor.errors.push(error);
278
+ descriptor.template = block;
279
+ }
280
+ continue;
281
+ }
282
+ if (type === "script") if (SCRIPT_SETUP_RE.test(attrs)) descriptor.scriptSetup ?? (descriptor.scriptSetup = block);
283
+ else descriptor.script ?? (descriptor.script = block);
284
+ }
285
+ return descriptor;
286
+ }
287
+ function transformUVue(code, id, jsHandler, runtimeSet, options = {}) {
288
+ if (!UVUE_NVUE_RE.test(id)) return;
289
+ const { customAttributesEntities, disabledDefaultTemplateHandler = false } = options;
290
+ const matchCustomAttribute = require_wxml.createAttributeMatcher(customAttributesEntities);
291
+ const ms = new require_wxml.MagicString(code);
292
+ const descriptor = parseSfc(code);
293
+ const localStyleCollector = shouldEnableLocalStyle(id, options) ? new UniAppXComponentLocalStyleCollector(id, runtimeSet) : void 0;
294
+ if (descriptor.errors.length === 0) {
295
+ if (descriptor.template?.ast) {
296
+ const templateOffset = descriptor.template.start;
297
+ traverse(descriptor.template.ast, (node) => {
298
+ if (node.type !== _vue_compiler_dom.NodeTypes.ELEMENT) return;
299
+ const tag = node.tag;
300
+ for (const prop of node.props) if (prop.type === _vue_compiler_dom.NodeTypes.ATTRIBUTE) {
301
+ const { shouldHandle, shouldHandleDefault } = shouldHandleAttribute(tag, prop.name, disabledDefaultTemplateHandler, matchCustomAttribute);
302
+ if (!shouldHandle) continue;
303
+ if (shouldHandleDefault && localStyleCollector) updateStaticAttributeWithLocalStyle(ms, prop, templateOffset, localStyleCollector);
304
+ else updateStaticAttribute(ms, prop, templateOffset);
305
+ if (shouldHandleDefault) continue;
306
+ } else if (prop.type === _vue_compiler_dom.NodeTypes.DIRECTIVE && prop.name === "bind" && prop.arg?.type === _vue_compiler_dom.NodeTypes.SIMPLE_EXPRESSION && prop.arg.isStatic) {
307
+ const attrName = prop.arg.content;
308
+ const { shouldHandle } = shouldHandleAttribute(tag, attrName, disabledDefaultTemplateHandler, matchCustomAttribute);
309
+ if (!shouldHandle) continue;
310
+ if (attrName.toLowerCase() === "class" && localStyleCollector) updateDirectiveExpressionWithLocalStyle(ms, prop, templateOffset, jsHandler, localStyleCollector, runtimeSet);
311
+ else updateDirectiveExpression(ms, prop, templateOffset, jsHandler, runtimeSet);
312
+ }
313
+ });
314
+ }
315
+ if (descriptor.script) {
316
+ localStyleCollector?.collectRuntimeClasses(descriptor.script.content);
317
+ const { code } = jsHandler(descriptor.script.content, runtimeSet ?? /* @__PURE__ */ new Set(), defaultCreateJsHandlerOptions);
318
+ ms.update(descriptor.script.start, descriptor.script.end, localStyleCollector ? localStyleCollector.rewriteTransformedCode(code) : code);
319
+ }
320
+ if (descriptor.scriptSetup) {
321
+ localStyleCollector?.collectRuntimeClasses(descriptor.scriptSetup.content);
322
+ const { code } = jsHandler(descriptor.scriptSetup.content, runtimeSet ?? /* @__PURE__ */ new Set(), defaultCreateJsHandlerOptions);
323
+ ms.update(descriptor.scriptSetup.start, descriptor.scriptSetup.end, localStyleCollector ? localStyleCollector.rewriteTransformedCode(code) : code);
324
+ }
325
+ if (localStyleCollector?.hasStyles()) ms.append(`\n${localStyleCollector.toStyleBlock()}`);
326
+ }
327
+ const result = {
328
+ code: ms.toString(),
329
+ map: null
330
+ };
331
+ Object.defineProperty(result, "map", {
332
+ configurable: true,
333
+ enumerable: true,
334
+ get() {
335
+ return ms.generateMap();
336
+ }
337
+ });
338
+ return result;
339
+ }
340
+ //#endregion
341
+ exports.transformUVue = transformUVue;
@@ -0,0 +1,342 @@
1
+ import { n as _defineProperty } from "./object-Bvy6-w9r.js";
2
+ import { g as babelParse, i as analyzeSource, m as replaceWxml, n as generateCode, o as JsTokenUpdater, r as createAttributeMatcher, u as isClassContextLiteralPath } from "./wxml-IBzZSaQC.js";
3
+ import { splitCandidateTokens } from "@tailwindcss-mangle/engine";
4
+ import MagicString from "magic-string";
5
+ import { NodeTypes, parse } from "@vue/compiler-dom";
6
+ //#region src/uni-app-x/component-local-style.ts
7
+ const EXPRESSION_WRAPPER_PREFIX = "(\n";
8
+ const EXPRESSION_WRAPPER_SUFFIX = "\n)";
9
+ const COMPONENT_RE = /(?:^|[/\\])components(?:[/\\].+)?\.(?:uvue|nvue)$/;
10
+ const PAGE_RE = /(?:^|[/\\])pages(?:[/\\].+)?\.(?:uvue|nvue)$/;
11
+ function createStableHash(input) {
12
+ let hash = 2166136261;
13
+ for (let i = 0; i < input.length; i++) {
14
+ hash ^= input.charCodeAt(i);
15
+ hash = Math.imul(hash, 16777619);
16
+ }
17
+ return (hash >>> 0).toString(36);
18
+ }
19
+ function extractLiteralValue(path) {
20
+ if (path.isStringLiteral()) return {
21
+ literal: path.node.value,
22
+ offset: 1
23
+ };
24
+ return {
25
+ literal: typeof path.node.value === "string" ? path.node.value : path.node.value.raw,
26
+ offset: 0
27
+ };
28
+ }
29
+ function createAlias(fileId, utility, index) {
30
+ return `wtu-${createStableHash(`${fileId}:${utility}`)}-${index.toString(36)}`;
31
+ }
32
+ function isRuntimeCandidate(candidate, runtimeSet) {
33
+ if (!runtimeSet || runtimeSet.size === 0) return false;
34
+ return runtimeSet.has(candidate) || runtimeSet.has(replaceWxml(candidate));
35
+ }
36
+ function hasTopLevelVariant(candidate) {
37
+ let bracketDepth = 0;
38
+ let parenthesisDepth = 0;
39
+ let quote = "";
40
+ let escaped = false;
41
+ for (const char of candidate) {
42
+ if (escaped) {
43
+ escaped = false;
44
+ continue;
45
+ }
46
+ if (char === "\\") {
47
+ escaped = true;
48
+ continue;
49
+ }
50
+ if (quote) {
51
+ if (char === quote) quote = "";
52
+ continue;
53
+ }
54
+ if (char === "\"" || char === "'") {
55
+ quote = char;
56
+ continue;
57
+ }
58
+ if (char === "[") {
59
+ bracketDepth += 1;
60
+ continue;
61
+ }
62
+ if (char === "]") {
63
+ bracketDepth = Math.max(0, bracketDepth - 1);
64
+ continue;
65
+ }
66
+ if (char === "(") {
67
+ parenthesisDepth += 1;
68
+ continue;
69
+ }
70
+ if (char === ")") {
71
+ parenthesisDepth = Math.max(0, parenthesisDepth - 1);
72
+ continue;
73
+ }
74
+ if (char === ":" && bracketDepth === 0 && parenthesisDepth === 0) return true;
75
+ }
76
+ return false;
77
+ }
78
+ function shouldEnableComponentLocalStyle(id) {
79
+ return COMPONENT_RE.test(id);
80
+ }
81
+ function shouldEnablePageLocalStyle(id) {
82
+ return PAGE_RE.test(id);
83
+ }
84
+ var UniAppXComponentLocalStyleCollector = class {
85
+ constructor(fileId, runtimeSet) {
86
+ this.fileId = fileId;
87
+ this.runtimeSet = runtimeSet;
88
+ _defineProperty(this, "aliasByUtility", /* @__PURE__ */ new Map());
89
+ _defineProperty(this, "aliasByLookup", /* @__PURE__ */ new Map());
90
+ }
91
+ ensureAlias(utility) {
92
+ const cached = this.aliasByUtility.get(utility);
93
+ if (cached) return cached;
94
+ const alias = createAlias(this.fileId, utility, this.aliasByUtility.size);
95
+ this.aliasByUtility.set(utility, alias);
96
+ this.aliasByLookup.set(utility, alias);
97
+ this.aliasByLookup.set(replaceWxml(utility), alias);
98
+ return alias;
99
+ }
100
+ rewriteLiteral(literal) {
101
+ const candidates = splitCandidateTokens(literal);
102
+ if (candidates.length === 0) return literal;
103
+ let rewritten = literal;
104
+ for (const candidate of candidates) {
105
+ if (!isRuntimeCandidate(candidate, this.runtimeSet)) continue;
106
+ rewritten = rewritten.replace(candidate, hasTopLevelVariant(candidate) ? replaceWxml(candidate) : this.ensureAlias(candidate));
107
+ }
108
+ return rewritten;
109
+ }
110
+ collectAndRewriteStaticClass(literal) {
111
+ return this.rewriteLiteral(literal);
112
+ }
113
+ collectRuntimeClasses(rawSource, options = {}) {
114
+ const wrapped = options.wrapExpression ? `${EXPRESSION_WRAPPER_PREFIX}${rawSource}${EXPRESSION_WRAPPER_SUFFIX}` : rawSource;
115
+ try {
116
+ const analysis = analyzeSource(babelParse(wrapped, {
117
+ plugins: ["typescript"],
118
+ sourceType: options.wrapExpression ? "module" : "unambiguous"
119
+ }), {}, void 0, false);
120
+ for (const path of analysis.targetPaths) {
121
+ const { literal } = extractLiteralValue(path);
122
+ const candidates = splitCandidateTokens(literal);
123
+ const classContext = options.wrapExpression || isClassContextLiteralPath(path);
124
+ for (const candidate of candidates) {
125
+ if (!candidate || !classContext && !isRuntimeCandidate(candidate, this.runtimeSet)) continue;
126
+ if (isRuntimeCandidate(candidate, this.runtimeSet) && !hasTopLevelVariant(candidate)) this.ensureAlias(candidate);
127
+ }
128
+ }
129
+ } catch {}
130
+ }
131
+ rewriteTransformedCode(rawSource, options = {}) {
132
+ if (this.aliasByLookup.size === 0) return rawSource;
133
+ const wrapped = options.wrapExpression ? `${EXPRESSION_WRAPPER_PREFIX}${rawSource}${EXPRESSION_WRAPPER_SUFFIX}` : rawSource;
134
+ try {
135
+ const analysis = analyzeSource(babelParse(wrapped, {
136
+ plugins: ["typescript"],
137
+ sourceType: options.wrapExpression ? "module" : "unambiguous"
138
+ }), {}, void 0, false);
139
+ if (analysis.targetPaths.length === 0) return rawSource;
140
+ const updater = new JsTokenUpdater();
141
+ for (const path of analysis.targetPaths) {
142
+ const { literal, offset } = extractLiteralValue(path);
143
+ const candidates = splitCandidateTokens(literal);
144
+ if (candidates.length === 0) continue;
145
+ let rewritten = literal;
146
+ let mutated = false;
147
+ for (const candidate of candidates) {
148
+ const alias = this.aliasByLookup.get(candidate);
149
+ if (!alias) continue;
150
+ const replaced = rewritten.replace(candidate, alias);
151
+ if (replaced !== rewritten) {
152
+ rewritten = replaced;
153
+ mutated = true;
154
+ }
155
+ }
156
+ if (!mutated || typeof path.node.start !== "number" || typeof path.node.end !== "number") continue;
157
+ updater.addToken({
158
+ start: path.node.start + offset,
159
+ end: path.node.end - offset,
160
+ value: rewritten,
161
+ path
162
+ });
163
+ }
164
+ if (updater.length === 0) return rawSource;
165
+ const ms = new MagicString(wrapped);
166
+ updater.updateMagicString(ms);
167
+ if (options.wrapExpression) {
168
+ ms.remove(0, 2);
169
+ ms.remove(wrapped.length - 2, wrapped.length);
170
+ }
171
+ return ms.toString();
172
+ } catch {
173
+ return rawSource;
174
+ }
175
+ }
176
+ hasStyles() {
177
+ return this.aliasByUtility.size > 0;
178
+ }
179
+ toStyleBlock() {
180
+ if (!this.hasStyles()) return "";
181
+ const lines = ["<style scoped>"];
182
+ for (const [utility, alias] of this.aliasByUtility) {
183
+ lines.push(`.${alias} {`);
184
+ lines.push(` @apply ${utility};`);
185
+ lines.push("}");
186
+ }
187
+ lines.push("</style>");
188
+ return `${lines.join("\n")}\n`;
189
+ }
190
+ };
191
+ //#endregion
192
+ //#region src/uni-app-x/transform.ts
193
+ function traverse(node, visitor) {
194
+ visitor(node);
195
+ if (Array.isArray(node.children)) {
196
+ for (const child of node.children) if (child && typeof child === "object" && "type" in child) traverse(child, visitor);
197
+ }
198
+ }
199
+ function updateStaticAttribute(ms, prop, offset, content = prop.value?.content) {
200
+ if (!prop.value) return;
201
+ const start = offset + prop.value.loc.start.offset + 1;
202
+ const end = offset + prop.value.loc.end.offset - 1;
203
+ if (start < end) ms.update(start, end, replaceWxml(content ?? ""));
204
+ }
205
+ function updateStaticAttributeWithLocalStyle(ms, prop, offset, collector, content = prop.value?.content) {
206
+ if (!prop.value) return;
207
+ const start = offset + prop.value.loc.start.offset + 1;
208
+ const end = offset + prop.value.loc.end.offset - 1;
209
+ if (start < end) ms.update(start, end, collector.collectAndRewriteStaticClass(content ?? ""));
210
+ }
211
+ function updateDirectiveExpression(ms, prop, offset, jsHandler, runtimeSet) {
212
+ if (prop.exp?.type !== NodeTypes.SIMPLE_EXPRESSION) return;
213
+ const expression = prop.exp.content;
214
+ const start = offset + prop.exp.loc.start.offset;
215
+ const end = offset + prop.exp.loc.end.offset;
216
+ if (start >= end) return;
217
+ const generated = generateCode(expression, {
218
+ jsHandler,
219
+ runtimeSet,
220
+ wrapExpression: true
221
+ });
222
+ ms.update(start, end, generated);
223
+ }
224
+ function updateDirectiveExpressionWithLocalStyle(ms, prop, offset, jsHandler, collector, runtimeSet) {
225
+ if (prop.exp?.type !== NodeTypes.SIMPLE_EXPRESSION) return;
226
+ const expression = prop.exp.content;
227
+ const start = offset + prop.exp.loc.start.offset;
228
+ const end = offset + prop.exp.loc.end.offset;
229
+ if (start >= end) return;
230
+ collector.collectRuntimeClasses(expression, { wrapExpression: true });
231
+ const generated = generateCode(expression, {
232
+ jsHandler,
233
+ runtimeSet,
234
+ wrapExpression: true
235
+ });
236
+ ms.update(start, end, collector.rewriteTransformedCode(generated, { wrapExpression: true }));
237
+ }
238
+ function shouldEnableLocalStyle(id, options) {
239
+ if (options.enableComponentLocalStyle && shouldEnableComponentLocalStyle(id)) return true;
240
+ if (options.enablePageLocalStyle && shouldEnablePageLocalStyle(id)) return true;
241
+ return false;
242
+ }
243
+ function shouldHandleAttribute(tag, attrName, disabledDefaultTemplateHandler, matchCustomAttribute) {
244
+ const lowerName = attrName.toLowerCase();
245
+ const shouldHandleDefault = !disabledDefaultTemplateHandler && lowerName === "class";
246
+ const shouldHandleCustom = matchCustomAttribute?.(tag, attrName) ?? false;
247
+ return {
248
+ shouldHandleDefault,
249
+ shouldHandleCustom,
250
+ shouldHandle: shouldHandleDefault || shouldHandleCustom
251
+ };
252
+ }
253
+ const defaultCreateJsHandlerOptions = { babelParserOptions: { plugins: ["typescript"] } };
254
+ const UVUE_NVUE_RE = /\.(?:uvue|nvue)(?:\?.*)?$/;
255
+ const SFC_BLOCK_RE = /<(template|script)\b([^>]*)>([\s\S]*?)<\/\1>/gi;
256
+ const SCRIPT_SETUP_RE = /(?:^|\s)setup(?:\s|=|$)/;
257
+ function parseSfc(code) {
258
+ const descriptor = { errors: [] };
259
+ for (const match of code.matchAll(SFC_BLOCK_RE)) {
260
+ const type = match[1];
261
+ const attrs = match[2] ?? "";
262
+ const content = match[3] ?? "";
263
+ const full = match[0];
264
+ const contentStart = (match.index ?? 0) + full.indexOf(">") + 1;
265
+ const block = {
266
+ content,
267
+ start: contentStart,
268
+ end: contentStart + content.length,
269
+ attrs
270
+ };
271
+ if (type === "template" && !descriptor.template) {
272
+ try {
273
+ descriptor.template = {
274
+ ...block,
275
+ ast: parse(content)
276
+ };
277
+ } catch (error) {
278
+ descriptor.errors.push(error);
279
+ descriptor.template = block;
280
+ }
281
+ continue;
282
+ }
283
+ if (type === "script") if (SCRIPT_SETUP_RE.test(attrs)) descriptor.scriptSetup ?? (descriptor.scriptSetup = block);
284
+ else descriptor.script ?? (descriptor.script = block);
285
+ }
286
+ return descriptor;
287
+ }
288
+ function transformUVue(code, id, jsHandler, runtimeSet, options = {}) {
289
+ if (!UVUE_NVUE_RE.test(id)) return;
290
+ const { customAttributesEntities, disabledDefaultTemplateHandler = false } = options;
291
+ const matchCustomAttribute = createAttributeMatcher(customAttributesEntities);
292
+ const ms = new MagicString(code);
293
+ const descriptor = parseSfc(code);
294
+ const localStyleCollector = shouldEnableLocalStyle(id, options) ? new UniAppXComponentLocalStyleCollector(id, runtimeSet) : void 0;
295
+ if (descriptor.errors.length === 0) {
296
+ if (descriptor.template?.ast) {
297
+ const templateOffset = descriptor.template.start;
298
+ traverse(descriptor.template.ast, (node) => {
299
+ if (node.type !== NodeTypes.ELEMENT) return;
300
+ const tag = node.tag;
301
+ for (const prop of node.props) if (prop.type === NodeTypes.ATTRIBUTE) {
302
+ const { shouldHandle, shouldHandleDefault } = shouldHandleAttribute(tag, prop.name, disabledDefaultTemplateHandler, matchCustomAttribute);
303
+ if (!shouldHandle) continue;
304
+ if (shouldHandleDefault && localStyleCollector) updateStaticAttributeWithLocalStyle(ms, prop, templateOffset, localStyleCollector);
305
+ else updateStaticAttribute(ms, prop, templateOffset);
306
+ if (shouldHandleDefault) continue;
307
+ } else if (prop.type === NodeTypes.DIRECTIVE && prop.name === "bind" && prop.arg?.type === NodeTypes.SIMPLE_EXPRESSION && prop.arg.isStatic) {
308
+ const attrName = prop.arg.content;
309
+ const { shouldHandle } = shouldHandleAttribute(tag, attrName, disabledDefaultTemplateHandler, matchCustomAttribute);
310
+ if (!shouldHandle) continue;
311
+ if (attrName.toLowerCase() === "class" && localStyleCollector) updateDirectiveExpressionWithLocalStyle(ms, prop, templateOffset, jsHandler, localStyleCollector, runtimeSet);
312
+ else updateDirectiveExpression(ms, prop, templateOffset, jsHandler, runtimeSet);
313
+ }
314
+ });
315
+ }
316
+ if (descriptor.script) {
317
+ localStyleCollector?.collectRuntimeClasses(descriptor.script.content);
318
+ const { code } = jsHandler(descriptor.script.content, runtimeSet ?? /* @__PURE__ */ new Set(), defaultCreateJsHandlerOptions);
319
+ ms.update(descriptor.script.start, descriptor.script.end, localStyleCollector ? localStyleCollector.rewriteTransformedCode(code) : code);
320
+ }
321
+ if (descriptor.scriptSetup) {
322
+ localStyleCollector?.collectRuntimeClasses(descriptor.scriptSetup.content);
323
+ const { code } = jsHandler(descriptor.scriptSetup.content, runtimeSet ?? /* @__PURE__ */ new Set(), defaultCreateJsHandlerOptions);
324
+ ms.update(descriptor.scriptSetup.start, descriptor.scriptSetup.end, localStyleCollector ? localStyleCollector.rewriteTransformedCode(code) : code);
325
+ }
326
+ if (localStyleCollector?.hasStyles()) ms.append(`\n${localStyleCollector.toStyleBlock()}`);
327
+ }
328
+ const result = {
329
+ code: ms.toString(),
330
+ map: null
331
+ };
332
+ Object.defineProperty(result, "map", {
333
+ configurable: true,
334
+ enumerable: true,
335
+ get() {
336
+ return ms.generateMap();
337
+ }
338
+ });
339
+ return result;
340
+ }
341
+ //#endregion
342
+ export { transformUVue };
@@ -1,4 +1,4 @@
1
- export type { WeappTailwindcssGenerateOptions, WeappTailwindcssGenerateResult, WeappTailwindcssGenerator, WeappTailwindcssGeneratorTarget, WeappTailwindcssPostcssPluginOptions, } from './index';
2
- export type { WeappTailwindcssStyleInjectorOptions } from './types';
3
- export type { ApplyOptions, CacheOptions, ExtractOptions, TailwindCssOptions, TailwindCssRuntimeOptions, TailwindV4Options, } from './types/typedoc-tailwindcss-runtime';
4
- export type { UserDefinedOptions } from './types/user-defined-options';
1
+ export type { WeappTailwindcssGenerateOptions, WeappTailwindcssGenerateResult, WeappTailwindcssGenerator, WeappTailwindcssGeneratorTarget, WeappTailwindcssPostcssPluginOptions, } from './index.js';
2
+ export type { WeappTailwindcssStyleInjectorOptions } from './types/index.js';
3
+ export type { ApplyOptions, CacheOptions, ExtractOptions, TailwindCssOptions, TailwindCssRuntimeOptions, TailwindV4Options, } from './types/typedoc-tailwindcss-runtime.js';
4
+ export type { UserDefinedOptions } from './types/user-defined-options/index.js';