eslint-plugin-better-tailwindcss 4.3.1 → 4.4.0

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 (182) hide show
  1. package/README.md +35 -0
  2. package/lib/api/defaults.d.ts +15 -0
  3. package/lib/api/defaults.d.ts.map +1 -1
  4. package/lib/api/types.d.ts +7 -2
  5. package/lib/api/types.d.ts.map +1 -1
  6. package/lib/api/types.js +4 -1
  7. package/lib/api/types.js.map +1 -1
  8. package/lib/async-utils/escape.d.ts.map +1 -1
  9. package/lib/async-utils/escape.js +2 -1
  10. package/lib/async-utils/escape.js.map +1 -1
  11. package/lib/async-utils/fs.d.ts +1 -1
  12. package/lib/async-utils/fs.d.ts.map +1 -1
  13. package/lib/async-utils/fs.js +2 -6
  14. package/lib/async-utils/fs.js.map +1 -1
  15. package/lib/async-utils/operations.d.ts +2 -0
  16. package/lib/async-utils/operations.d.ts.map +1 -1
  17. package/lib/async-utils/regex.d.ts +3 -0
  18. package/lib/async-utils/regex.d.ts.map +1 -0
  19. package/lib/async-utils/regex.js +32 -0
  20. package/lib/async-utils/regex.js.map +1 -0
  21. package/lib/async-utils/worker.d.ts.map +1 -1
  22. package/lib/async-utils/worker.js +3 -2
  23. package/lib/async-utils/worker.js.map +1 -1
  24. package/lib/configs/config.d.ts +2921 -33
  25. package/lib/configs/config.d.ts.map +1 -1
  26. package/lib/configs/config.js +4 -0
  27. package/lib/configs/config.js.map +1 -1
  28. package/lib/options/callees/cc.js +2 -2
  29. package/lib/options/callees/cc.js.map +1 -1
  30. package/lib/options/callees/clb.js +3 -3
  31. package/lib/options/callees/clb.js.map +1 -1
  32. package/lib/options/callees/clsx.js +2 -2
  33. package/lib/options/callees/clsx.js.map +1 -1
  34. package/lib/options/callees/cn.js +2 -2
  35. package/lib/options/callees/cn.js.map +1 -1
  36. package/lib/options/callees/cnb.js +2 -2
  37. package/lib/options/callees/cnb.js.map +1 -1
  38. package/lib/options/callees/ctl.js +1 -1
  39. package/lib/options/callees/ctl.js.map +1 -1
  40. package/lib/options/callees/cva.js +3 -3
  41. package/lib/options/callees/cva.js.map +1 -1
  42. package/lib/options/callees/cx.js +2 -2
  43. package/lib/options/callees/cx.js.map +1 -1
  44. package/lib/options/callees/dcnb.js +2 -2
  45. package/lib/options/callees/dcnb.js.map +1 -1
  46. package/lib/options/callees/objstr.js +2 -2
  47. package/lib/options/callees/objstr.js.map +1 -1
  48. package/lib/options/callees/tv.js +6 -6
  49. package/lib/options/callees/tv.js.map +1 -1
  50. package/lib/options/callees/twJoin.js +1 -1
  51. package/lib/options/callees/twJoin.js.map +1 -1
  52. package/lib/options/callees/twMerge.js +1 -1
  53. package/lib/options/callees/twMerge.js.map +1 -1
  54. package/lib/options/default-options.d.ts +31 -1
  55. package/lib/options/default-options.d.ts.map +1 -1
  56. package/lib/options/default-options.js +9 -3
  57. package/lib/options/default-options.js.map +1 -1
  58. package/lib/options/descriptions.d.ts +308 -2
  59. package/lib/options/descriptions.d.ts.map +1 -1
  60. package/lib/options/descriptions.js +3 -2
  61. package/lib/options/descriptions.js.map +1 -1
  62. package/lib/options/migrate.js +29 -12
  63. package/lib/options/migrate.js.map +1 -1
  64. package/lib/options/schemas/common.d.ts +4 -0
  65. package/lib/options/schemas/common.d.ts.map +1 -1
  66. package/lib/options/schemas/common.js +3 -0
  67. package/lib/options/schemas/common.js.map +1 -1
  68. package/lib/options/schemas/selectors.d.ts +806 -5
  69. package/lib/options/schemas/selectors.d.ts.map +1 -1
  70. package/lib/options/schemas/selectors.js +42 -11
  71. package/lib/options/schemas/selectors.js.map +1 -1
  72. package/lib/options/tags/twc.d.ts +36 -0
  73. package/lib/options/tags/twc.d.ts.map +1 -0
  74. package/lib/options/tags/twc.js +26 -0
  75. package/lib/options/tags/twc.js.map +1 -0
  76. package/lib/options/tags/twx.d.ts +36 -0
  77. package/lib/options/tags/twx.d.ts.map +1 -0
  78. package/lib/options/tags/twx.js +26 -0
  79. package/lib/options/tags/twx.js.map +1 -0
  80. package/lib/parsers/angular.d.ts.map +1 -1
  81. package/lib/parsers/angular.js +54 -12
  82. package/lib/parsers/angular.js.map +1 -1
  83. package/lib/parsers/es.d.ts +11 -2
  84. package/lib/parsers/es.d.ts.map +1 -1
  85. package/lib/parsers/es.js +270 -58
  86. package/lib/parsers/es.js.map +1 -1
  87. package/lib/parsers/svelte.d.ts.map +1 -1
  88. package/lib/parsers/svelte.js +7 -64
  89. package/lib/parsers/svelte.js.map +1 -1
  90. package/lib/parsers/vue.d.ts.map +1 -1
  91. package/lib/parsers/vue.js +6 -65
  92. package/lib/parsers/vue.js.map +1 -1
  93. package/lib/rules/enforce-canonical-classes.d.ts +172 -2
  94. package/lib/rules/enforce-canonical-classes.d.ts.map +1 -1
  95. package/lib/rules/enforce-consistent-class-order.d.ts +172 -2
  96. package/lib/rules/enforce-consistent-class-order.d.ts.map +1 -1
  97. package/lib/rules/enforce-consistent-class-order.js +26 -8
  98. package/lib/rules/enforce-consistent-class-order.js.map +1 -1
  99. package/lib/rules/enforce-consistent-important-position.d.ts +172 -2
  100. package/lib/rules/enforce-consistent-important-position.d.ts.map +1 -1
  101. package/lib/rules/enforce-consistent-important-position.js +2 -1
  102. package/lib/rules/enforce-consistent-important-position.js.map +1 -1
  103. package/lib/rules/enforce-consistent-line-wrapping.d.ts +172 -2
  104. package/lib/rules/enforce-consistent-line-wrapping.d.ts.map +1 -1
  105. package/lib/rules/enforce-consistent-line-wrapping.js +30 -0
  106. package/lib/rules/enforce-consistent-line-wrapping.js.map +1 -1
  107. package/lib/rules/enforce-consistent-variable-syntax.d.ts +172 -2
  108. package/lib/rules/enforce-consistent-variable-syntax.d.ts.map +1 -1
  109. package/lib/rules/enforce-consistent-variable-syntax.js +3 -2
  110. package/lib/rules/enforce-consistent-variable-syntax.js.map +1 -1
  111. package/lib/rules/enforce-consistent-variant-order.d.ts +426 -0
  112. package/lib/rules/enforce-consistent-variant-order.d.ts.map +1 -0
  113. package/lib/rules/enforce-consistent-variant-order.js +75 -0
  114. package/lib/rules/enforce-consistent-variant-order.js.map +1 -0
  115. package/lib/rules/enforce-logical-properties.d.ts +426 -0
  116. package/lib/rules/enforce-logical-properties.d.ts.map +1 -0
  117. package/lib/rules/enforce-logical-properties.js +118 -0
  118. package/lib/rules/enforce-logical-properties.js.map +1 -0
  119. package/lib/rules/enforce-shorthand-classes.d.ts +172 -2
  120. package/lib/rules/enforce-shorthand-classes.d.ts.map +1 -1
  121. package/lib/rules/no-conflicting-classes.d.ts +172 -2
  122. package/lib/rules/no-conflicting-classes.d.ts.map +1 -1
  123. package/lib/rules/no-deprecated-classes.d.ts +173 -3
  124. package/lib/rules/no-deprecated-classes.d.ts.map +1 -1
  125. package/lib/rules/no-duplicate-classes.d.ts +172 -2
  126. package/lib/rules/no-duplicate-classes.d.ts.map +1 -1
  127. package/lib/rules/no-restricted-classes.d.ts +172 -2
  128. package/lib/rules/no-restricted-classes.d.ts.map +1 -1
  129. package/lib/rules/no-unknown-classes.d.ts +172 -2
  130. package/lib/rules/no-unknown-classes.d.ts.map +1 -1
  131. package/lib/rules/no-unknown-classes.js +8 -7
  132. package/lib/rules/no-unknown-classes.js.map +1 -1
  133. package/lib/rules/no-unnecessary-whitespace.d.ts +172 -2
  134. package/lib/rules/no-unnecessary-whitespace.d.ts.map +1 -1
  135. package/lib/rules/no-unnecessary-whitespace.js +32 -0
  136. package/lib/rules/no-unnecessary-whitespace.js.map +1 -1
  137. package/lib/tailwindcss/dissect-classes.async.v3.d.ts.map +1 -1
  138. package/lib/tailwindcss/dissect-classes.async.v3.js +4 -3
  139. package/lib/tailwindcss/dissect-classes.async.v3.js.map +1 -1
  140. package/lib/tailwindcss/dissect-classes.async.v4.d.ts.map +1 -1
  141. package/lib/tailwindcss/dissect-classes.async.v4.js +6 -5
  142. package/lib/tailwindcss/dissect-classes.async.v4.js.map +1 -1
  143. package/lib/tailwindcss/tailwind.async.worker.v3.js +5 -0
  144. package/lib/tailwindcss/tailwind.async.worker.v3.js.map +1 -1
  145. package/lib/tailwindcss/tailwind.async.worker.v4.js +6 -0
  146. package/lib/tailwindcss/tailwind.async.worker.v4.js.map +1 -1
  147. package/lib/tailwindcss/variant-order.async.v3.d.ts +3 -0
  148. package/lib/tailwindcss/variant-order.async.v3.d.ts.map +1 -0
  149. package/lib/tailwindcss/variant-order.async.v3.js +4 -0
  150. package/lib/tailwindcss/variant-order.async.v3.js.map +1 -0
  151. package/lib/tailwindcss/variant-order.async.v4.d.ts +3 -0
  152. package/lib/tailwindcss/variant-order.async.v4.d.ts.map +1 -0
  153. package/lib/tailwindcss/variant-order.async.v4.js +18 -0
  154. package/lib/tailwindcss/variant-order.async.v4.js.map +1 -0
  155. package/lib/tailwindcss/variant-order.d.ts +11 -0
  156. package/lib/tailwindcss/variant-order.d.ts.map +1 -0
  157. package/lib/tailwindcss/variant-order.js +15 -0
  158. package/lib/tailwindcss/variant-order.js.map +1 -0
  159. package/lib/types/ast.d.ts +2 -0
  160. package/lib/types/ast.d.ts.map +1 -1
  161. package/lib/types/rule.d.ts +27 -5
  162. package/lib/types/rule.d.ts.map +1 -1
  163. package/lib/types/rule.js +7 -0
  164. package/lib/types/rule.js.map +1 -1
  165. package/lib/utils/context.js +5 -5
  166. package/lib/utils/context.js.map +1 -1
  167. package/lib/utils/matchers.d.ts +2 -4
  168. package/lib/utils/matchers.d.ts.map +1 -1
  169. package/lib/utils/matchers.js +61 -40
  170. package/lib/utils/matchers.js.map +1 -1
  171. package/lib/utils/project.d.ts +4 -0
  172. package/lib/utils/project.d.ts.map +1 -0
  173. package/lib/utils/project.js +22 -0
  174. package/lib/utils/project.js.map +1 -0
  175. package/lib/utils/rule.d.ts +1 -1
  176. package/lib/utils/rule.d.ts.map +1 -1
  177. package/lib/utils/rule.js +49 -11
  178. package/lib/utils/rule.js.map +1 -1
  179. package/lib/utils/utils.d.ts.map +1 -1
  180. package/lib/utils/utils.js +6 -5
  181. package/lib/utils/utils.js.map +1 -1
  182. package/package.json +20 -19
@@ -5,6 +5,7 @@ export declare const noUnnecessaryWhitespace: {
5
5
  } | undefined;
6
6
  name: "no-unnecessary-whitespace";
7
7
  readonly options: {
8
+ cwd?: string | undefined;
8
9
  rootFontSize?: number | undefined;
9
10
  detectComponentClasses: boolean;
10
11
  tsconfig?: string | undefined;
@@ -58,9 +59,22 @@ export declare const noUnnecessaryWhitespace: {
58
59
  } | {
59
60
  path?: string | undefined;
60
61
  type: import("../types/rule.js").MatcherType.ObjectValue;
62
+ } | {
63
+ match: ({
64
+ type: import("../types/rule.js").MatcherType.String;
65
+ } | {
66
+ path?: string | undefined;
67
+ type: import("../types/rule.js").MatcherType.ObjectKey;
68
+ } | {
69
+ path?: string | undefined;
70
+ type: import("../types/rule.js").MatcherType.ObjectValue;
71
+ })[];
72
+ type: import("../types/rule.js").MatcherType.AnonymousFunctionReturn;
61
73
  })[] | undefined;
62
74
  name: string;
63
75
  path?: string | undefined;
76
+ targetArgument?: number | "all" | "first" | "last" | undefined;
77
+ targetCall?: number | "all" | "first" | "last" | undefined;
64
78
  } | {
65
79
  callTarget?: number | "all" | "first" | "last" | undefined;
66
80
  kind: import("../types/rule.js").SelectorKind.Callee;
@@ -72,11 +86,24 @@ export declare const noUnnecessaryWhitespace: {
72
86
  } | {
73
87
  path?: string | undefined;
74
88
  type: import("../types/rule.js").MatcherType.ObjectValue;
89
+ } | {
90
+ match: ({
91
+ type: import("../types/rule.js").MatcherType.String;
92
+ } | {
93
+ path?: string | undefined;
94
+ type: import("../types/rule.js").MatcherType.ObjectKey;
95
+ } | {
96
+ path?: string | undefined;
97
+ type: import("../types/rule.js").MatcherType.ObjectValue;
98
+ })[];
99
+ type: import("../types/rule.js").MatcherType.AnonymousFunctionReturn;
75
100
  })[] | undefined;
76
101
  name?: string | undefined;
77
102
  path: string;
103
+ targetArgument?: number | "all" | "first" | "last" | undefined;
104
+ targetCall?: number | "all" | "first" | "last" | undefined;
78
105
  } | {
79
- kind: import("../types/rule.js").SelectorKind.Attribute;
106
+ kind: import("../types/rule.js").SelectorKind.Tag;
80
107
  match?: ({
81
108
  type: import("../types/rule.js").MatcherType.String;
82
109
  } | {
@@ -85,8 +112,20 @@ export declare const noUnnecessaryWhitespace: {
85
112
  } | {
86
113
  path?: string | undefined;
87
114
  type: import("../types/rule.js").MatcherType.ObjectValue;
115
+ } | {
116
+ match: ({
117
+ type: import("../types/rule.js").MatcherType.String;
118
+ } | {
119
+ path?: string | undefined;
120
+ type: import("../types/rule.js").MatcherType.ObjectKey;
121
+ } | {
122
+ path?: string | undefined;
123
+ type: import("../types/rule.js").MatcherType.ObjectValue;
124
+ })[];
125
+ type: import("../types/rule.js").MatcherType.AnonymousFunctionReturn;
88
126
  })[] | undefined;
89
127
  name: string;
128
+ path?: string | undefined;
90
129
  } | {
91
130
  kind: import("../types/rule.js").SelectorKind.Tag;
92
131
  match?: ({
@@ -97,6 +136,41 @@ export declare const noUnnecessaryWhitespace: {
97
136
  } | {
98
137
  path?: string | undefined;
99
138
  type: import("../types/rule.js").MatcherType.ObjectValue;
139
+ } | {
140
+ match: ({
141
+ type: import("../types/rule.js").MatcherType.String;
142
+ } | {
143
+ path?: string | undefined;
144
+ type: import("../types/rule.js").MatcherType.ObjectKey;
145
+ } | {
146
+ path?: string | undefined;
147
+ type: import("../types/rule.js").MatcherType.ObjectValue;
148
+ })[];
149
+ type: import("../types/rule.js").MatcherType.AnonymousFunctionReturn;
150
+ })[] | undefined;
151
+ name?: string | undefined;
152
+ path: string;
153
+ } | {
154
+ kind: import("../types/rule.js").SelectorKind.Attribute;
155
+ match?: ({
156
+ type: import("../types/rule.js").MatcherType.String;
157
+ } | {
158
+ path?: string | undefined;
159
+ type: import("../types/rule.js").MatcherType.ObjectKey;
160
+ } | {
161
+ path?: string | undefined;
162
+ type: import("../types/rule.js").MatcherType.ObjectValue;
163
+ } | {
164
+ match: ({
165
+ type: import("../types/rule.js").MatcherType.String;
166
+ } | {
167
+ path?: string | undefined;
168
+ type: import("../types/rule.js").MatcherType.ObjectKey;
169
+ } | {
170
+ path?: string | undefined;
171
+ type: import("../types/rule.js").MatcherType.ObjectValue;
172
+ })[];
173
+ type: import("../types/rule.js").MatcherType.AnonymousFunctionReturn;
100
174
  })[] | undefined;
101
175
  name: string;
102
176
  } | {
@@ -109,6 +183,17 @@ export declare const noUnnecessaryWhitespace: {
109
183
  } | {
110
184
  path?: string | undefined;
111
185
  type: import("../types/rule.js").MatcherType.ObjectValue;
186
+ } | {
187
+ match: ({
188
+ type: import("../types/rule.js").MatcherType.String;
189
+ } | {
190
+ path?: string | undefined;
191
+ type: import("../types/rule.js").MatcherType.ObjectKey;
192
+ } | {
193
+ path?: string | undefined;
194
+ type: import("../types/rule.js").MatcherType.ObjectValue;
195
+ })[];
196
+ type: import("../types/rule.js").MatcherType.AnonymousFunctionReturn;
112
197
  })[] | undefined;
113
198
  name: string;
114
199
  })[];
@@ -121,6 +206,7 @@ export declare const noUnnecessaryWhitespace: {
121
206
  LangOptions: import("eslint").Linter.LanguageOptions;
122
207
  Code: import("eslint").SourceCode;
123
208
  RuleOptions: [Required<{
209
+ cwd?: string | undefined;
124
210
  rootFontSize?: number | undefined;
125
211
  detectComponentClasses: boolean;
126
212
  tsconfig?: string | undefined;
@@ -174,9 +260,22 @@ export declare const noUnnecessaryWhitespace: {
174
260
  } | {
175
261
  path?: string | undefined;
176
262
  type: import("../types/rule.js").MatcherType.ObjectValue;
263
+ } | {
264
+ match: ({
265
+ type: import("../types/rule.js").MatcherType.String;
266
+ } | {
267
+ path?: string | undefined;
268
+ type: import("../types/rule.js").MatcherType.ObjectKey;
269
+ } | {
270
+ path?: string | undefined;
271
+ type: import("../types/rule.js").MatcherType.ObjectValue;
272
+ })[];
273
+ type: import("../types/rule.js").MatcherType.AnonymousFunctionReturn;
177
274
  })[] | undefined;
178
275
  name: string;
179
276
  path?: string | undefined;
277
+ targetArgument?: number | "all" | "first" | "last" | undefined;
278
+ targetCall?: number | "all" | "first" | "last" | undefined;
180
279
  } | {
181
280
  callTarget?: number | "all" | "first" | "last" | undefined;
182
281
  kind: import("../types/rule.js").SelectorKind.Callee;
@@ -188,11 +287,24 @@ export declare const noUnnecessaryWhitespace: {
188
287
  } | {
189
288
  path?: string | undefined;
190
289
  type: import("../types/rule.js").MatcherType.ObjectValue;
290
+ } | {
291
+ match: ({
292
+ type: import("../types/rule.js").MatcherType.String;
293
+ } | {
294
+ path?: string | undefined;
295
+ type: import("../types/rule.js").MatcherType.ObjectKey;
296
+ } | {
297
+ path?: string | undefined;
298
+ type: import("../types/rule.js").MatcherType.ObjectValue;
299
+ })[];
300
+ type: import("../types/rule.js").MatcherType.AnonymousFunctionReturn;
191
301
  })[] | undefined;
192
302
  name?: string | undefined;
193
303
  path: string;
304
+ targetArgument?: number | "all" | "first" | "last" | undefined;
305
+ targetCall?: number | "all" | "first" | "last" | undefined;
194
306
  } | {
195
- kind: import("../types/rule.js").SelectorKind.Attribute;
307
+ kind: import("../types/rule.js").SelectorKind.Tag;
196
308
  match?: ({
197
309
  type: import("../types/rule.js").MatcherType.String;
198
310
  } | {
@@ -201,8 +313,20 @@ export declare const noUnnecessaryWhitespace: {
201
313
  } | {
202
314
  path?: string | undefined;
203
315
  type: import("../types/rule.js").MatcherType.ObjectValue;
316
+ } | {
317
+ match: ({
318
+ type: import("../types/rule.js").MatcherType.String;
319
+ } | {
320
+ path?: string | undefined;
321
+ type: import("../types/rule.js").MatcherType.ObjectKey;
322
+ } | {
323
+ path?: string | undefined;
324
+ type: import("../types/rule.js").MatcherType.ObjectValue;
325
+ })[];
326
+ type: import("../types/rule.js").MatcherType.AnonymousFunctionReturn;
204
327
  })[] | undefined;
205
328
  name: string;
329
+ path?: string | undefined;
206
330
  } | {
207
331
  kind: import("../types/rule.js").SelectorKind.Tag;
208
332
  match?: ({
@@ -213,6 +337,41 @@ export declare const noUnnecessaryWhitespace: {
213
337
  } | {
214
338
  path?: string | undefined;
215
339
  type: import("../types/rule.js").MatcherType.ObjectValue;
340
+ } | {
341
+ match: ({
342
+ type: import("../types/rule.js").MatcherType.String;
343
+ } | {
344
+ path?: string | undefined;
345
+ type: import("../types/rule.js").MatcherType.ObjectKey;
346
+ } | {
347
+ path?: string | undefined;
348
+ type: import("../types/rule.js").MatcherType.ObjectValue;
349
+ })[];
350
+ type: import("../types/rule.js").MatcherType.AnonymousFunctionReturn;
351
+ })[] | undefined;
352
+ name?: string | undefined;
353
+ path: string;
354
+ } | {
355
+ kind: import("../types/rule.js").SelectorKind.Attribute;
356
+ match?: ({
357
+ type: import("../types/rule.js").MatcherType.String;
358
+ } | {
359
+ path?: string | undefined;
360
+ type: import("../types/rule.js").MatcherType.ObjectKey;
361
+ } | {
362
+ path?: string | undefined;
363
+ type: import("../types/rule.js").MatcherType.ObjectValue;
364
+ } | {
365
+ match: ({
366
+ type: import("../types/rule.js").MatcherType.String;
367
+ } | {
368
+ path?: string | undefined;
369
+ type: import("../types/rule.js").MatcherType.ObjectKey;
370
+ } | {
371
+ path?: string | undefined;
372
+ type: import("../types/rule.js").MatcherType.ObjectValue;
373
+ })[];
374
+ type: import("../types/rule.js").MatcherType.AnonymousFunctionReturn;
216
375
  })[] | undefined;
217
376
  name: string;
218
377
  } | {
@@ -225,6 +384,17 @@ export declare const noUnnecessaryWhitespace: {
225
384
  } | {
226
385
  path?: string | undefined;
227
386
  type: import("../types/rule.js").MatcherType.ObjectValue;
387
+ } | {
388
+ match: ({
389
+ type: import("../types/rule.js").MatcherType.String;
390
+ } | {
391
+ path?: string | undefined;
392
+ type: import("../types/rule.js").MatcherType.ObjectKey;
393
+ } | {
394
+ path?: string | undefined;
395
+ type: import("../types/rule.js").MatcherType.ObjectValue;
396
+ })[];
397
+ type: import("../types/rule.js").MatcherType.AnonymousFunctionReturn;
228
398
  })[] | undefined;
229
399
  name: string;
230
400
  })[];
@@ -1 +1 @@
1
- {"version":3,"file":"no-unnecessary-whitespace.d.ts","sourceRoot":"","sources":["../../src/rules/no-unnecessary-whitespace.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBlC,CAAC"}
1
+ {"version":3,"file":"no-unnecessary-whitespace.d.ts","sourceRoot":"","sources":["../../src/rules/no-unnecessary-whitespace.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBlC,CAAC"}
@@ -31,8 +31,24 @@ function lintLiterals(ctx, literals) {
31
31
  const className = classChunks[whitespaceIndex] ?? "";
32
32
  stringIndex += className.length;
33
33
  const [literalStart] = literal.range;
34
+ const keepLeadingWhitespace = literal.isConcatenatedLeft === true;
35
+ const keepTrailingWhitespace = literal.isConcatenatedRight === true;
34
36
  // whitespaces only
35
37
  if (classChunks.length === 0 && !literal.closingBraces && !literal.openingBraces) {
38
+ if (keepLeadingWhitespace || keepTrailingWhitespace) {
39
+ if (whitespace.length <= 1) {
40
+ continue;
41
+ }
42
+ ctx.report({
43
+ fix: " ",
44
+ id: "unnecessary",
45
+ range: [
46
+ literalStart + startIndex,
47
+ literalStart + endIndex
48
+ ]
49
+ });
50
+ continue;
51
+ }
36
52
  if (whitespace === "") {
37
53
  continue;
38
54
  }
@@ -82,6 +98,22 @@ function lintLiterals(ctx, literals) {
82
98
  }
83
99
  // leading or trailing whitespace
84
100
  if (isFirstChunk || isLastChunk) {
101
+ const keepCurrentWhitespace = isFirstChunk && keepLeadingWhitespace ||
102
+ isLastChunk && keepTrailingWhitespace;
103
+ if (keepCurrentWhitespace) {
104
+ if (whitespace.length <= 1) {
105
+ continue;
106
+ }
107
+ ctx.report({
108
+ fix: " ",
109
+ id: "unnecessary",
110
+ range: [
111
+ literalStart + startIndex,
112
+ literalStart + endIndex
113
+ ]
114
+ });
115
+ continue;
116
+ }
85
117
  if (whitespace === "") {
86
118
  continue;
87
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"no-unnecessary-whitespace.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-whitespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-unnecessary-whitespace.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-whitespace.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dissect-classes.async.v3.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.async.v3.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoC/H"}
1
+ {"version":3,"file":"dissect-classes.async.v3.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.async.v3.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoC/H"}
@@ -1,5 +1,6 @@
1
1
  import { escapeForRegex } from "../async-utils/escape.js";
2
2
  import { normalize } from "../async-utils/path.js";
3
+ import { getCachedRegex } from "../async-utils/regex.js";
3
4
  import { getPrefix } from "./prefix.async.v3.js";
4
5
  export async function getDissectedClasses(ctx, tailwindContext, classes) {
5
6
  const utils = await import(normalize(`${ctx.installation}/lib/util/splitAtTopLevelOnly.js`));
@@ -12,11 +13,11 @@ export async function getDissectedClasses(ctx, tailwindContext, classes) {
12
13
  .replace(new RegExp(`^${escapeForRegex(variants.join(separator) + separator)}`), "")
13
14
  .replace(new RegExp(`^${escapeForRegex(prefix)}`), "");
14
15
  const isNegative = base.startsWith("-");
15
- base = base.replace(/^-/, "");
16
+ base = base.replace(getCachedRegex(/^-/), "");
16
17
  const isImportantAtStart = base.startsWith("!");
17
- base = base.replace(/^!/, "");
18
+ base = base.replace(getCachedRegex(/^!/), "");
18
19
  const isImportantAtEnd = base.endsWith("!");
19
- base = base.replace(/!$/, "");
20
+ base = base.replace(getCachedRegex(/!$/), "");
20
21
  acc[className] = {
21
22
  base,
22
23
  className,
@@ -1 +1 @@
1
- {"version":3,"file":"dissect-classes.async.v3.js","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.async.v3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMjD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAiB,EAAE,eAAoB,EAAE,OAAiB;IAElG,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,YAAY,kCAAkC,CAAC,CAAC,CAAC;IAE7F,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,IAAI,GAAG,CAAC;IAElE,OAAO,OAAO,CAAC,MAAM,CAAiC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QACvE,MAAM,WAAW,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACpI,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE1C,IAAI,IAAI,GAAG,SAAS;aACjB,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;aACnF,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE9B,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE9B,GAAG,CAAC,SAAS,CAAC,GAAG;YACf,IAAI;YACJ,SAAS;YACT,SAAS,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;YACjD,QAAQ,EAAE,UAAU;YACpB,MAAM;YACN,SAAS;YACT,QAAQ;SACT,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"dissect-classes.async.v3.js","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.async.v3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMjD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAiB,EAAE,eAAoB,EAAE,OAAiB;IAElG,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,YAAY,kCAAkC,CAAC,CAAC,CAAC;IAE7F,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,IAAI,GAAG,CAAC;IAElE,OAAO,OAAO,CAAC,MAAM,CAAiC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QACvE,MAAM,WAAW,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACpI,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE1C,IAAI,IAAI,GAAG,SAAS;aACjB,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;aACnF,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,GAAG,CAAC,SAAS,CAAC,GAAG;YACf,IAAI;YACJ,SAAS;YACT,SAAS,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;YACjD,QAAQ,EAAE,UAAU;YACpB,MAAM;YACN,SAAS;YACT,QAAQ;SACT,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dissect-classes.async.v4.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.async.v4.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAkC7F"}
1
+ {"version":3,"file":"dissect-classes.async.v4.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.async.v4.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAkC7F"}
@@ -1,4 +1,5 @@
1
1
  import { escapeForRegex } from "../async-utils/escape.js";
2
+ import { getCachedRegex } from "../async-utils/regex.js";
2
3
  import { getPrefix } from "./prefix.async.v4.js";
3
4
  export function getDissectedClasses(tailwindContext, classes) {
4
5
  const prefix = getPrefix(tailwindContext);
@@ -7,14 +8,14 @@ export function getDissectedClasses(tailwindContext, classes) {
7
8
  const [parsed] = tailwindContext.parseCandidate(className);
8
9
  const variants = parsed?.variants?.map(variant => tailwindContext.printVariant(variant)).reverse();
9
10
  let base = className
10
- .replace(new RegExp(`^${escapeForRegex(prefix + separator)}`), "")
11
- .replace(new RegExp(`^${escapeForRegex((variants?.join(separator) ?? "") + separator)}`), "");
11
+ .replace(getCachedRegex(`^${escapeForRegex(prefix + separator)}`), "")
12
+ .replace(getCachedRegex(`^${escapeForRegex((variants?.join(separator) ?? "") + separator)}`), "");
12
13
  const isNegative = base.startsWith("-");
13
- base = base.replace(/^-/, "");
14
+ base = base.replace(getCachedRegex(/^-/), "");
14
15
  const isImportantAtStart = base.startsWith("!");
15
- base = base.replace(/^!/, "");
16
+ base = base.replace(getCachedRegex(/^!/), "");
16
17
  const isImportantAtEnd = base.endsWith("!");
17
- base = base.replace(/!$/, "");
18
+ base = base.replace(getCachedRegex(/!$/), "");
18
19
  acc[className] = {
19
20
  base,
20
21
  className,
@@ -1 +1 @@
1
- {"version":3,"file":"dissect-classes.async.v4.js","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.async.v4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,MAAM,UAAU,mBAAmB,CAAC,eAAoB,EAAE,OAAiB;IACzE,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,CAAC;IAEtB,OAAO,OAAO,CAAC,MAAM,CAAiC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QACvE,MAAM,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAE3D,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAEnG,IAAI,IAAI,GAAG,SAAS;aACjB,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;aACjE,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,cAAc,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhG,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE9B,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE9B,GAAG,CAAC,SAAS,CAAC,GAAG;YACf,IAAI;YACJ,SAAS;YACT,SAAS,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;YACjD,QAAQ,EAAE,UAAU;YACpB,MAAM;YACN,SAAS;YACT,QAAQ;SACT,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"dissect-classes.async.v4.js","sourceRoot":"","sources":["../../src/tailwindcss/dissect-classes.async.v4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,MAAM,UAAU,mBAAmB,CAAC,eAAoB,EAAE,OAAiB;IACzE,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,CAAC;IAEtB,OAAO,OAAO,CAAC,MAAM,CAAiC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QACvE,MAAM,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAE3D,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAEnG,IAAI,IAAI,GAAG,SAAS;aACjB,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;aACrE,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEpG,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9C,GAAG,CAAC,SAAS,CAAC,GAAG;YACf,IAAI;YACJ,SAAS;YACT,SAAS,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;YACjD,QAAQ,EAAE,UAAU;YACpB,MAAM;YACN,SAAS;YACT,QAAQ;SACT,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -5,6 +5,7 @@ import { getCustomComponentClasses } from "./custom-component-classes.async.v3.j
5
5
  import { getDissectedClasses } from "./dissect-classes.async.v3.js";
6
6
  import { getPrefix, getSuffix } from "./prefix.async.v3.js";
7
7
  import { getUnknownClasses } from "./unknown-classes.async.v3.js";
8
+ import { getVariantOrder } from "./variant-order.async.v3.js";
8
9
  const handlers = {
9
10
  getCanonicalClasses: async (ctx, classes, _options) => {
10
11
  const canonicalClasses = classes.reduce((acc, className) => {
@@ -44,6 +45,10 @@ const handlers = {
44
45
  const tailwindContext = await createTailwindContext(ctx);
45
46
  const unknownClasses = await getUnknownClasses(ctx, tailwindContext, classes);
46
47
  return { unknownClasses, warnings: ctx.warnings };
48
+ },
49
+ getVariantOrder: async (ctx) => {
50
+ const variantOrder = getVariantOrder();
51
+ return { variantOrder, warnings: ctx.warnings };
47
52
  }
48
53
  };
49
54
  runAsWorker(async (operation, ...args) => {
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind.async.worker.v3.js","sourceRoot":"","sources":["../../src/tailwindcss/tailwind.async.worker.v3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailwind.async.worker.v3.js","sourceRoot":"","sources":["../../src/tailwindcss/tailwind.async.worker.v3.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { getCustomComponentClasses } from "./custom-component-classes.async.v4.j
7
7
  import { getDissectedClasses } from "./dissect-classes.async.v4.js";
8
8
  import { getPrefix, getSuffix } from "./prefix.async.v4.js";
9
9
  import { getUnknownClasses } from "./unknown-classes.async.v4.js";
10
+ import { getVariantOrder } from "./variant-order.async.v4.js";
10
11
  const handlers = {
11
12
  getCanonicalClasses: async (ctx, classes, options) => {
12
13
  const tailwindContext = await createTailwindContext(ctx);
@@ -42,6 +43,11 @@ const handlers = {
42
43
  const tailwindContext = await createTailwindContext(ctx);
43
44
  const unknownClasses = getUnknownClasses(tailwindContext, classes);
44
45
  return { unknownClasses, warnings: ctx.warnings };
46
+ },
47
+ getVariantOrder: async (ctx, classes) => {
48
+ const tailwindContext = await createTailwindContext(ctx);
49
+ const variantOrder = getVariantOrder(tailwindContext, classes);
50
+ return { variantOrder, warnings: ctx.warnings };
45
51
  }
46
52
  };
47
53
  runAsWorker(async (operation, ...args) => {
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind.async.worker.v4.js","sourceRoot":"","sources":["../../src/tailwindcss/tailwind.async.worker.v4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailwind.async.worker.v4.js","sourceRoot":"","sources":["../../src/tailwindcss/tailwind.async.worker.v4.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { VariantOrder } from "./variant-order.js";
2
+ export declare function getVariantOrder(): VariantOrder;
3
+ //# sourceMappingURL=variant-order.async.v3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant-order.async.v3.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/variant-order.async.v3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,wBAAgB,eAAe,IAAI,YAAY,CAE9C"}
@@ -0,0 +1,4 @@
1
+ export function getVariantOrder() {
2
+ return {};
3
+ }
4
+ //# sourceMappingURL=variant-order.async.v3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant-order.async.v3.js","sourceRoot":"","sources":["../../src/tailwindcss/variant-order.async.v3.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,eAAe;IAC7B,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { VariantOrder } from "./variant-order.js";
2
+ export declare function getVariantOrder(tailwindContext: any, classes: string[]): VariantOrder;
3
+ //# sourceMappingURL=variant-order.async.v4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant-order.async.v4.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/variant-order.async.v4.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,wBAAgB,eAAe,CAAC,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,CAqBrF"}
@@ -0,0 +1,18 @@
1
+ export function getVariantOrder(tailwindContext, classes) {
2
+ const uniqueClasses = [...new Set(classes)];
3
+ if (uniqueClasses.length <= 0) {
4
+ return {};
5
+ }
6
+ // Tailwind tracks parsed variants internally and exposes grouped order via getVariantOrder().
7
+ // Parse classes first so all encountered variants are known to that internal set.
8
+ for (const className of uniqueClasses) {
9
+ tailwindContext.parseCandidate(className);
10
+ }
11
+ const variantOrder = tailwindContext.getVariantOrder();
12
+ return [...variantOrder.entries()].reduce((acc, [variant, order]) => {
13
+ const variantName = tailwindContext.printVariant(variant);
14
+ acc[variantName] ?? (acc[variantName] = order);
15
+ return acc;
16
+ }, {});
17
+ }
18
+ //# sourceMappingURL=variant-order.async.v4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant-order.async.v4.js","sourceRoot":"","sources":["../../src/tailwindcss/variant-order.async.v4.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,eAAe,CAAC,eAAoB,EAAE,OAAiB;IACrE,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5C,IAAG,aAAa,CAAC,MAAM,IAAI,CAAC,EAAC,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,8FAA8F;IAC9F,kFAAkF;IAClF,KAAI,MAAM,SAAS,IAAI,aAAa,EAAC,CAAC;QACpC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;IAEvD,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAe,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE;QAChF,MAAM,WAAW,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1D,GAAG,CAAC,WAAW,MAAf,GAAG,CAAC,WAAW,IAAM,KAAK,EAAC;QAE3B,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Warning } from "../types/async.js";
2
+ import type { Context } from "../types/rule.js";
3
+ import type { AsyncContext } from "../utils/context.js";
4
+ export type VariantOrder = Record<string, number | undefined>;
5
+ export type GetVariantOrder = (ctx: AsyncContext, classes: string[]) => {
6
+ variantOrder: VariantOrder;
7
+ warnings: (Warning | undefined)[];
8
+ };
9
+ export declare let getVariantOrder: GetVariantOrder;
10
+ export declare function createGetVariantOrder(ctx: Context): GetVariantOrder;
11
+ //# sourceMappingURL=variant-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant-order.d.ts","sourceRoot":"","sources":["../../src/tailwindcss/variant-order.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;IACtE,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC;CACnC,CAAC;AAEF,eAAO,IAAI,eAAe,EAAE,eAAiG,CAAC;AAE9H,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAQnE"}
@@ -0,0 +1,15 @@
1
+ import { resolve } from "node:path";
2
+ import { createSyncFn } from "synckit";
3
+ import { getWorkerOptions } from "../async-utils/worker.js";
4
+ export let getVariantOrder = () => { throw new Error("getVariantOrder() called before being initialized"); };
5
+ export function createGetVariantOrder(ctx) {
6
+ const workerPath = getWorkerPath(ctx);
7
+ const workerOptions = getWorkerOptions();
8
+ const runWorker = createSyncFn(workerPath, workerOptions);
9
+ getVariantOrder = (ctx, classes) => runWorker("getVariantOrder", ctx, classes);
10
+ return getVariantOrder;
11
+ }
12
+ function getWorkerPath(ctx) {
13
+ return resolve(import.meta.dirname, `./tailwind.async.worker.v${ctx.version.major}.js`);
14
+ }
15
+ //# sourceMappingURL=variant-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant-order.js","sourceRoot":"","sources":["../../src/tailwindcss/variant-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AActE,MAAM,CAAC,IAAI,eAAe,GAAoB,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9H,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAE1D,eAAe,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAE/E,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;AAC1F,CAAC"}
@@ -46,6 +46,8 @@ interface LiteralBase extends NodeBase, MultilineMeta, QuoteMeta, BracesMeta, Wh
46
46
  content: string;
47
47
  raw: string;
48
48
  attribute?: string | undefined;
49
+ isConcatenatedLeft?: boolean | undefined;
50
+ isConcatenatedRight?: boolean | undefined;
49
51
  isInterpolated?: boolean | undefined;
50
52
  priorLiterals?: Literal[] | undefined;
51
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/types/ast.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;AAElD,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE;QACH,GAAG,EAAE;YACH,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,KAAK,EAAE;YACL,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,CAAC,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAC;IACnD,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC9C,YAAY,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAC/C;AACD,MAAM,WAAW,UAAU;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,QAAS,SAAQ,KAAK,EAAE,GAAG;IACnC,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,WAAY,SAAQ,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG;IAC5H,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED,MAAM,MAAM,OAAO,GAAG,mBAAmB,GAAG,aAAa,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/types/ast.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;AAElD,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE;QACH,GAAG,EAAE;YACH,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,KAAK,EAAE;YACL,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,CAAC,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAC;IACnD,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC9C,YAAY,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAC/C;AACD,MAAM,WAAW,UAAU;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,QAAS,SAAQ,KAAK,EAAE,GAAG;IACnC,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,WAAY,SAAQ,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG;IAC5H,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED,MAAM,MAAM,OAAO,GAAG,mBAAmB,GAAG,aAAa,GAAG,eAAe,CAAC"}