eslint-plugin-better-tailwindcss 4.0.1 → 4.0.2

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 (45) hide show
  1. package/lib/api/types.d.ts +2 -1
  2. package/lib/api/types.d.ts.map +1 -1
  3. package/lib/api/types.js +1 -1
  4. package/lib/api/types.js.map +1 -1
  5. package/lib/configs/config.d.ts +1090 -19
  6. package/lib/configs/config.d.ts.map +1 -1
  7. package/lib/configs/config.js +29 -39
  8. package/lib/configs/config.js.map +1 -1
  9. package/lib/parsers/angular.js.map +1 -1
  10. package/lib/rules/enforce-canonical-classes.d.ts +82 -50
  11. package/lib/rules/enforce-canonical-classes.d.ts.map +1 -1
  12. package/lib/rules/enforce-consistent-class-order.d.ts +83 -52
  13. package/lib/rules/enforce-consistent-class-order.d.ts.map +1 -1
  14. package/lib/rules/enforce-consistent-important-position.d.ts +79 -48
  15. package/lib/rules/enforce-consistent-important-position.d.ts.map +1 -1
  16. package/lib/rules/enforce-consistent-line-wrapping.d.ts +87 -55
  17. package/lib/rules/enforce-consistent-line-wrapping.d.ts.map +1 -1
  18. package/lib/rules/enforce-consistent-variable-syntax.d.ts +79 -48
  19. package/lib/rules/enforce-consistent-variable-syntax.d.ts.map +1 -1
  20. package/lib/rules/enforce-consistent-variable-syntax.js +1 -1
  21. package/lib/rules/enforce-consistent-variable-syntax.js.map +1 -1
  22. package/lib/rules/enforce-shorthand-classes.d.ts +81 -49
  23. package/lib/rules/enforce-shorthand-classes.d.ts.map +1 -1
  24. package/lib/rules/no-conflicting-classes.d.ts +79 -48
  25. package/lib/rules/no-conflicting-classes.d.ts.map +1 -1
  26. package/lib/rules/no-deprecated-classes.d.ts +81 -49
  27. package/lib/rules/no-deprecated-classes.d.ts.map +1 -1
  28. package/lib/rules/no-duplicate-classes.d.ts +79 -48
  29. package/lib/rules/no-duplicate-classes.d.ts.map +1 -1
  30. package/lib/rules/no-restricted-classes.d.ts +79 -50
  31. package/lib/rules/no-restricted-classes.d.ts.map +1 -1
  32. package/lib/rules/no-unknown-classes.d.ts +79 -48
  33. package/lib/rules/no-unknown-classes.d.ts.map +1 -1
  34. package/lib/rules/no-unnecessary-whitespace.d.ts +79 -48
  35. package/lib/rules/no-unnecessary-whitespace.d.ts.map +1 -1
  36. package/lib/tailwindcss/canonical-classes.async.v4.d.ts.map +1 -1
  37. package/lib/tailwindcss/canonical-classes.async.v4.js +11 -18
  38. package/lib/tailwindcss/canonical-classes.async.v4.js.map +1 -1
  39. package/lib/types/rule.d.ts +7 -5
  40. package/lib/types/rule.d.ts.map +1 -1
  41. package/lib/utils/rule.d.ts +31 -2
  42. package/lib/utils/rule.d.ts.map +1 -1
  43. package/lib/utils/rule.js +1 -0
  44. package/lib/utils/rule.js.map +1 -1
  45. package/package.json +12 -12
@@ -1,36 +1,1107 @@
1
- import type { JSRuleDefinition } from "eslint";
1
+ import type { Linter } from "eslint";
2
2
  type Severity = "error" | "warn";
3
- declare const plugin: {
4
- meta: {
5
- name: string;
6
- };
7
- rules: Record<string, JSRuleDefinition>;
3
+ type PluginRules = typeof rules[number];
4
+ type RuleObject = {
5
+ [Rule in PluginRules as Rule extends any ? Rule["name"] : never]: Rule["rule"];
8
6
  };
7
+ declare const rules: readonly [{
8
+ category: "stylistic";
9
+ messages: {
10
+ readonly order: "Incorrect class order. Expected\n\n{{ notSorted }}\n\nto be\n\n{{ sorted }}";
11
+ } | undefined;
12
+ name: "enforce-consistent-class-order";
13
+ readonly options: any;
14
+ rule: {
15
+ create: (ctx: import("node_modules/@eslint/core/dist/cjs/types.cjs").RuleContext<{
16
+ LangOptions: Linter.LanguageOptions;
17
+ Code: import("eslint").SourceCode;
18
+ RuleOptions: [Required<{
19
+ rootFontSize?: number | undefined;
20
+ detectComponentClasses: boolean;
21
+ tsconfig?: string | undefined;
22
+ tailwindConfig?: string | undefined;
23
+ messageStyle: "visual" | "compact" | "raw";
24
+ entryPoint?: string | undefined;
25
+ tags: (string | [string, ({
26
+ match: import("../types/rule.js").MatcherType.String;
27
+ } | {
28
+ match: import("../types/rule.js").MatcherType.ObjectKey;
29
+ pathPattern?: string | undefined;
30
+ } | {
31
+ match: import("../types/rule.js").MatcherType.ObjectValue;
32
+ pathPattern?: string | undefined;
33
+ })[]])[];
34
+ variables: (string | [string, ({
35
+ match: import("../types/rule.js").MatcherType.String;
36
+ } | {
37
+ match: import("../types/rule.js").MatcherType.ObjectKey;
38
+ pathPattern?: string | undefined;
39
+ } | {
40
+ match: import("../types/rule.js").MatcherType.ObjectValue;
41
+ pathPattern?: string | undefined;
42
+ })[]])[];
43
+ attributes: (string | [string, ({
44
+ match: import("../types/rule.js").MatcherType.String;
45
+ } | {
46
+ match: import("../types/rule.js").MatcherType.ObjectKey;
47
+ pathPattern?: string | undefined;
48
+ } | {
49
+ match: import("../types/rule.js").MatcherType.ObjectValue;
50
+ pathPattern?: string | undefined;
51
+ })[]])[];
52
+ callees: (string | [string, ({
53
+ match: import("../types/rule.js").MatcherType.String;
54
+ } | {
55
+ match: import("../types/rule.js").MatcherType.ObjectKey;
56
+ pathPattern?: string | undefined;
57
+ } | {
58
+ match: import("../types/rule.js").MatcherType.ObjectValue;
59
+ pathPattern?: string | undefined;
60
+ })[]])[];
61
+ } & {
62
+ componentClassOrder: "asc" | "desc" | "preserve";
63
+ componentClassPosition: "start" | "end";
64
+ order: "asc" | "desc" | "official" | "strict";
65
+ unknownClassOrder: "asc" | "desc" | "preserve";
66
+ unknownClassPosition: "start" | "end";
67
+ }>];
68
+ Node: import("eslint").JSSyntaxElement;
69
+ MessageIds: "order";
70
+ }>) => import("eslint").Rule.RuleListener;
71
+ meta: {
72
+ messages?: {
73
+ readonly order: "Incorrect class order. Expected\n\n{{ notSorted }}\n\nto be\n\n{{ sorted }}";
74
+ } | undefined;
75
+ docs: {
76
+ description: string;
77
+ recommended: boolean;
78
+ url: string;
79
+ };
80
+ fixable: "code" | undefined;
81
+ schema: {
82
+ additionalProperties: false;
83
+ properties: Record<string, boolean | import("@valibot/to-json-schema").JsonSchema> | undefined;
84
+ type: "object";
85
+ }[];
86
+ type: "problem" | "layout";
87
+ };
88
+ };
89
+ }, {
90
+ category: "stylistic";
91
+ messages: {
92
+ readonly position: "Incorrect important position. '{{ className }}' should be '{{ fix }}'.";
93
+ } | undefined;
94
+ name: "enforce-consistent-important-position";
95
+ readonly options: any;
96
+ rule: {
97
+ create: (ctx: import("node_modules/@eslint/core/dist/cjs/types.cjs").RuleContext<{
98
+ LangOptions: Linter.LanguageOptions;
99
+ Code: import("eslint").SourceCode;
100
+ RuleOptions: [Required<{
101
+ rootFontSize?: number | undefined;
102
+ detectComponentClasses: boolean;
103
+ tsconfig?: string | undefined;
104
+ tailwindConfig?: string | undefined;
105
+ messageStyle: "visual" | "compact" | "raw";
106
+ entryPoint?: string | undefined;
107
+ tags: (string | [string, ({
108
+ match: import("../types/rule.js").MatcherType.String;
109
+ } | {
110
+ match: import("../types/rule.js").MatcherType.ObjectKey;
111
+ pathPattern?: string | undefined;
112
+ } | {
113
+ match: import("../types/rule.js").MatcherType.ObjectValue;
114
+ pathPattern?: string | undefined;
115
+ })[]])[];
116
+ variables: (string | [string, ({
117
+ match: import("../types/rule.js").MatcherType.String;
118
+ } | {
119
+ match: import("../types/rule.js").MatcherType.ObjectKey;
120
+ pathPattern?: string | undefined;
121
+ } | {
122
+ match: import("../types/rule.js").MatcherType.ObjectValue;
123
+ pathPattern?: string | undefined;
124
+ })[]])[];
125
+ attributes: (string | [string, ({
126
+ match: import("../types/rule.js").MatcherType.String;
127
+ } | {
128
+ match: import("../types/rule.js").MatcherType.ObjectKey;
129
+ pathPattern?: string | undefined;
130
+ } | {
131
+ match: import("../types/rule.js").MatcherType.ObjectValue;
132
+ pathPattern?: string | undefined;
133
+ })[]])[];
134
+ callees: (string | [string, ({
135
+ match: import("../types/rule.js").MatcherType.String;
136
+ } | {
137
+ match: import("../types/rule.js").MatcherType.ObjectKey;
138
+ pathPattern?: string | undefined;
139
+ } | {
140
+ match: import("../types/rule.js").MatcherType.ObjectValue;
141
+ pathPattern?: string | undefined;
142
+ })[]])[];
143
+ } & {
144
+ position?: "legacy" | "recommended" | undefined;
145
+ }>];
146
+ Node: import("eslint").JSSyntaxElement;
147
+ MessageIds: "position";
148
+ }>) => import("eslint").Rule.RuleListener;
149
+ meta: {
150
+ messages?: {
151
+ readonly position: "Incorrect important position. '{{ className }}' should be '{{ fix }}'.";
152
+ } | undefined;
153
+ docs: {
154
+ description: string;
155
+ recommended: boolean;
156
+ url: string;
157
+ };
158
+ fixable: "code" | undefined;
159
+ schema: {
160
+ additionalProperties: false;
161
+ properties: Record<string, boolean | import("@valibot/to-json-schema").JsonSchema> | undefined;
162
+ type: "object";
163
+ }[];
164
+ type: "problem" | "layout";
165
+ };
166
+ };
167
+ }, {
168
+ category: "stylistic";
169
+ messages: {
170
+ readonly missing: "Incorrect line wrapping. Expected\n\n{{ notReadable }}\n\nto be\n\n{{ readable }}";
171
+ readonly unnecessary: "Unnecessary line wrapping. Expected\n\n{{ notReadable }}\n\nto be\n\n{{ readable }}";
172
+ } | undefined;
173
+ name: "enforce-consistent-line-wrapping";
174
+ readonly options: any;
175
+ rule: {
176
+ create: (ctx: import("node_modules/@eslint/core/dist/cjs/types.cjs").RuleContext<{
177
+ LangOptions: Linter.LanguageOptions;
178
+ Code: import("eslint").SourceCode;
179
+ RuleOptions: [Required<{
180
+ rootFontSize?: number | undefined;
181
+ detectComponentClasses: boolean;
182
+ tsconfig?: string | undefined;
183
+ tailwindConfig?: string | undefined;
184
+ messageStyle: "visual" | "compact" | "raw";
185
+ entryPoint?: string | undefined;
186
+ tags: (string | [string, ({
187
+ match: import("../types/rule.js").MatcherType.String;
188
+ } | {
189
+ match: import("../types/rule.js").MatcherType.ObjectKey;
190
+ pathPattern?: string | undefined;
191
+ } | {
192
+ match: import("../types/rule.js").MatcherType.ObjectValue;
193
+ pathPattern?: string | undefined;
194
+ })[]])[];
195
+ variables: (string | [string, ({
196
+ match: import("../types/rule.js").MatcherType.String;
197
+ } | {
198
+ match: import("../types/rule.js").MatcherType.ObjectKey;
199
+ pathPattern?: string | undefined;
200
+ } | {
201
+ match: import("../types/rule.js").MatcherType.ObjectValue;
202
+ pathPattern?: string | undefined;
203
+ })[]])[];
204
+ attributes: (string | [string, ({
205
+ match: import("../types/rule.js").MatcherType.String;
206
+ } | {
207
+ match: import("../types/rule.js").MatcherType.ObjectKey;
208
+ pathPattern?: string | undefined;
209
+ } | {
210
+ match: import("../types/rule.js").MatcherType.ObjectValue;
211
+ pathPattern?: string | undefined;
212
+ })[]])[];
213
+ callees: (string | [string, ({
214
+ match: import("../types/rule.js").MatcherType.String;
215
+ } | {
216
+ match: import("../types/rule.js").MatcherType.ObjectKey;
217
+ pathPattern?: string | undefined;
218
+ } | {
219
+ match: import("../types/rule.js").MatcherType.ObjectValue;
220
+ pathPattern?: string | undefined;
221
+ })[]])[];
222
+ } & {
223
+ classesPerLine: number;
224
+ group: "never" | "newLine" | "emptyLine";
225
+ indent: number | "tab";
226
+ lineBreakStyle: "unix" | "windows";
227
+ preferSingleLine: boolean;
228
+ printWidth: number;
229
+ strictness: "strict" | "loose";
230
+ }>];
231
+ Node: import("eslint").JSSyntaxElement;
232
+ MessageIds: "missing" | "unnecessary";
233
+ }>) => import("eslint").Rule.RuleListener;
234
+ meta: {
235
+ messages?: {
236
+ readonly missing: "Incorrect line wrapping. Expected\n\n{{ notReadable }}\n\nto be\n\n{{ readable }}";
237
+ readonly unnecessary: "Unnecessary line wrapping. Expected\n\n{{ notReadable }}\n\nto be\n\n{{ readable }}";
238
+ } | undefined;
239
+ docs: {
240
+ description: string;
241
+ recommended: boolean;
242
+ url: string;
243
+ };
244
+ fixable: "code" | undefined;
245
+ schema: {
246
+ additionalProperties: false;
247
+ properties: Record<string, boolean | import("@valibot/to-json-schema").JsonSchema> | undefined;
248
+ type: "object";
249
+ }[];
250
+ type: "problem" | "layout";
251
+ };
252
+ };
253
+ }, {
254
+ category: "stylistic";
255
+ messages: {
256
+ readonly incorrect: "Incorrect variable syntax: {{ className }}.";
257
+ } | undefined;
258
+ name: "enforce-consistent-variable-syntax";
259
+ readonly options: any;
260
+ rule: {
261
+ create: (ctx: import("node_modules/@eslint/core/dist/cjs/types.cjs").RuleContext<{
262
+ LangOptions: Linter.LanguageOptions;
263
+ Code: import("eslint").SourceCode;
264
+ RuleOptions: [Required<{
265
+ rootFontSize?: number | undefined;
266
+ detectComponentClasses: boolean;
267
+ tsconfig?: string | undefined;
268
+ tailwindConfig?: string | undefined;
269
+ messageStyle: "visual" | "compact" | "raw";
270
+ entryPoint?: string | undefined;
271
+ tags: (string | [string, ({
272
+ match: import("../types/rule.js").MatcherType.String;
273
+ } | {
274
+ match: import("../types/rule.js").MatcherType.ObjectKey;
275
+ pathPattern?: string | undefined;
276
+ } | {
277
+ match: import("../types/rule.js").MatcherType.ObjectValue;
278
+ pathPattern?: string | undefined;
279
+ })[]])[];
280
+ variables: (string | [string, ({
281
+ match: import("../types/rule.js").MatcherType.String;
282
+ } | {
283
+ match: import("../types/rule.js").MatcherType.ObjectKey;
284
+ pathPattern?: string | undefined;
285
+ } | {
286
+ match: import("../types/rule.js").MatcherType.ObjectValue;
287
+ pathPattern?: string | undefined;
288
+ })[]])[];
289
+ attributes: (string | [string, ({
290
+ match: import("../types/rule.js").MatcherType.String;
291
+ } | {
292
+ match: import("../types/rule.js").MatcherType.ObjectKey;
293
+ pathPattern?: string | undefined;
294
+ } | {
295
+ match: import("../types/rule.js").MatcherType.ObjectValue;
296
+ pathPattern?: string | undefined;
297
+ })[]])[];
298
+ callees: (string | [string, ({
299
+ match: import("../types/rule.js").MatcherType.String;
300
+ } | {
301
+ match: import("../types/rule.js").MatcherType.ObjectKey;
302
+ pathPattern?: string | undefined;
303
+ } | {
304
+ match: import("../types/rule.js").MatcherType.ObjectValue;
305
+ pathPattern?: string | undefined;
306
+ })[]])[];
307
+ } & {
308
+ syntax: "shorthand" | "variable";
309
+ }>];
310
+ Node: import("eslint").JSSyntaxElement;
311
+ MessageIds: "incorrect";
312
+ }>) => import("eslint").Rule.RuleListener;
313
+ meta: {
314
+ messages?: {
315
+ readonly incorrect: "Incorrect variable syntax: {{ className }}.";
316
+ } | undefined;
317
+ docs: {
318
+ description: string;
319
+ recommended: boolean;
320
+ url: string;
321
+ };
322
+ fixable: "code" | undefined;
323
+ schema: {
324
+ additionalProperties: false;
325
+ properties: Record<string, boolean | import("@valibot/to-json-schema").JsonSchema> | undefined;
326
+ type: "object";
327
+ }[];
328
+ type: "problem" | "layout";
329
+ };
330
+ };
331
+ }, {
332
+ category: "stylistic";
333
+ messages: {
334
+ readonly longhand: "Non shorthand class detected. Expected {{ longhands }} to be {{ shorthands }}";
335
+ readonly unnecessary: "Unnecessary whitespace";
336
+ } | undefined;
337
+ name: "enforce-shorthand-classes";
338
+ readonly options: any;
339
+ rule: {
340
+ create: (ctx: import("node_modules/@eslint/core/dist/cjs/types.cjs").RuleContext<{
341
+ LangOptions: Linter.LanguageOptions;
342
+ Code: import("eslint").SourceCode;
343
+ RuleOptions: [Required<{
344
+ rootFontSize?: number | undefined;
345
+ detectComponentClasses: boolean;
346
+ tsconfig?: string | undefined;
347
+ tailwindConfig?: string | undefined;
348
+ messageStyle: "visual" | "compact" | "raw";
349
+ entryPoint?: string | undefined;
350
+ tags: (string | [string, ({
351
+ match: import("../types/rule.js").MatcherType.String;
352
+ } | {
353
+ match: import("../types/rule.js").MatcherType.ObjectKey;
354
+ pathPattern?: string | undefined;
355
+ } | {
356
+ match: import("../types/rule.js").MatcherType.ObjectValue;
357
+ pathPattern?: string | undefined;
358
+ })[]])[];
359
+ variables: (string | [string, ({
360
+ match: import("../types/rule.js").MatcherType.String;
361
+ } | {
362
+ match: import("../types/rule.js").MatcherType.ObjectKey;
363
+ pathPattern?: string | undefined;
364
+ } | {
365
+ match: import("../types/rule.js").MatcherType.ObjectValue;
366
+ pathPattern?: string | undefined;
367
+ })[]])[];
368
+ attributes: (string | [string, ({
369
+ match: import("../types/rule.js").MatcherType.String;
370
+ } | {
371
+ match: import("../types/rule.js").MatcherType.ObjectKey;
372
+ pathPattern?: string | undefined;
373
+ } | {
374
+ match: import("../types/rule.js").MatcherType.ObjectValue;
375
+ pathPattern?: string | undefined;
376
+ })[]])[];
377
+ callees: (string | [string, ({
378
+ match: import("../types/rule.js").MatcherType.String;
379
+ } | {
380
+ match: import("../types/rule.js").MatcherType.ObjectKey;
381
+ pathPattern?: string | undefined;
382
+ } | {
383
+ match: import("../types/rule.js").MatcherType.ObjectValue;
384
+ pathPattern?: string | undefined;
385
+ })[]])[];
386
+ } & {
387
+ [x: string]: unknown;
388
+ }>];
389
+ Node: import("eslint").JSSyntaxElement;
390
+ MessageIds: "unnecessary" | "longhand";
391
+ }>) => import("eslint").Rule.RuleListener;
392
+ meta: {
393
+ messages?: {
394
+ readonly longhand: "Non shorthand class detected. Expected {{ longhands }} to be {{ shorthands }}";
395
+ readonly unnecessary: "Unnecessary whitespace";
396
+ } | undefined;
397
+ docs: {
398
+ description: string;
399
+ recommended: boolean;
400
+ url: string;
401
+ };
402
+ fixable: "code" | undefined;
403
+ schema: {
404
+ additionalProperties: false;
405
+ properties: Record<string, boolean | import("@valibot/to-json-schema").JsonSchema> | undefined;
406
+ type: "object";
407
+ }[];
408
+ type: "problem" | "layout";
409
+ };
410
+ };
411
+ }, {
412
+ category: "correctness";
413
+ messages: {
414
+ readonly conflicting: "Conflicting class detected: \"{{ className }}\" and \"{{ conflictingClassString }}\" apply the same CSS properties: \"{{ conflictingPropertiesString }}\".";
415
+ } | undefined;
416
+ name: "no-conflicting-classes";
417
+ readonly options: any;
418
+ rule: {
419
+ create: (ctx: import("node_modules/@eslint/core/dist/cjs/types.cjs").RuleContext<{
420
+ LangOptions: Linter.LanguageOptions;
421
+ Code: import("eslint").SourceCode;
422
+ RuleOptions: [Required<{
423
+ rootFontSize?: number | undefined;
424
+ detectComponentClasses: boolean;
425
+ tsconfig?: string | undefined;
426
+ tailwindConfig?: string | undefined;
427
+ messageStyle: "visual" | "compact" | "raw";
428
+ entryPoint?: string | undefined;
429
+ tags: (string | [string, ({
430
+ match: import("../types/rule.js").MatcherType.String;
431
+ } | {
432
+ match: import("../types/rule.js").MatcherType.ObjectKey;
433
+ pathPattern?: string | undefined;
434
+ } | {
435
+ match: import("../types/rule.js").MatcherType.ObjectValue;
436
+ pathPattern?: string | undefined;
437
+ })[]])[];
438
+ variables: (string | [string, ({
439
+ match: import("../types/rule.js").MatcherType.String;
440
+ } | {
441
+ match: import("../types/rule.js").MatcherType.ObjectKey;
442
+ pathPattern?: string | undefined;
443
+ } | {
444
+ match: import("../types/rule.js").MatcherType.ObjectValue;
445
+ pathPattern?: string | undefined;
446
+ })[]])[];
447
+ attributes: (string | [string, ({
448
+ match: import("../types/rule.js").MatcherType.String;
449
+ } | {
450
+ match: import("../types/rule.js").MatcherType.ObjectKey;
451
+ pathPattern?: string | undefined;
452
+ } | {
453
+ match: import("../types/rule.js").MatcherType.ObjectValue;
454
+ pathPattern?: string | undefined;
455
+ })[]])[];
456
+ callees: (string | [string, ({
457
+ match: import("../types/rule.js").MatcherType.String;
458
+ } | {
459
+ match: import("../types/rule.js").MatcherType.ObjectKey;
460
+ pathPattern?: string | undefined;
461
+ } | {
462
+ match: import("../types/rule.js").MatcherType.ObjectValue;
463
+ pathPattern?: string | undefined;
464
+ })[]])[];
465
+ } & {
466
+ [x: string]: unknown;
467
+ }>];
468
+ Node: import("eslint").JSSyntaxElement;
469
+ MessageIds: "conflicting";
470
+ }>) => import("eslint").Rule.RuleListener;
471
+ meta: {
472
+ messages?: {
473
+ readonly conflicting: "Conflicting class detected: \"{{ className }}\" and \"{{ conflictingClassString }}\" apply the same CSS properties: \"{{ conflictingPropertiesString }}\".";
474
+ } | undefined;
475
+ docs: {
476
+ description: string;
477
+ recommended: boolean;
478
+ url: string;
479
+ };
480
+ fixable: "code" | undefined;
481
+ schema: {
482
+ additionalProperties: false;
483
+ properties: Record<string, boolean | import("@valibot/to-json-schema").JsonSchema> | undefined;
484
+ type: "object";
485
+ }[];
486
+ type: "problem" | "layout";
487
+ };
488
+ };
489
+ }, {
490
+ category: "stylistic";
491
+ messages: {
492
+ readonly irreplaceable: "Class \"{{ className }}\" is deprecated. Check the tailwindcss documentation for more information: https://tailwindcss.com/docs/upgrade-guide#removed-deprecated-utilities";
493
+ readonly replaceable: "Deprecated class detected. Replace \"{{ className }}\" with \"{{fix}}\".";
494
+ } | undefined;
495
+ name: "no-deprecated-classes";
496
+ readonly options: any;
497
+ rule: {
498
+ create: (ctx: import("node_modules/@eslint/core/dist/cjs/types.cjs").RuleContext<{
499
+ LangOptions: Linter.LanguageOptions;
500
+ Code: import("eslint").SourceCode;
501
+ RuleOptions: [Required<{
502
+ rootFontSize?: number | undefined;
503
+ detectComponentClasses: boolean;
504
+ tsconfig?: string | undefined;
505
+ tailwindConfig?: string | undefined;
506
+ messageStyle: "visual" | "compact" | "raw";
507
+ entryPoint?: string | undefined;
508
+ tags: (string | [string, ({
509
+ match: import("../types/rule.js").MatcherType.String;
510
+ } | {
511
+ match: import("../types/rule.js").MatcherType.ObjectKey;
512
+ pathPattern?: string | undefined;
513
+ } | {
514
+ match: import("../types/rule.js").MatcherType.ObjectValue;
515
+ pathPattern?: string | undefined;
516
+ })[]])[];
517
+ variables: (string | [string, ({
518
+ match: import("../types/rule.js").MatcherType.String;
519
+ } | {
520
+ match: import("../types/rule.js").MatcherType.ObjectKey;
521
+ pathPattern?: string | undefined;
522
+ } | {
523
+ match: import("../types/rule.js").MatcherType.ObjectValue;
524
+ pathPattern?: string | undefined;
525
+ })[]])[];
526
+ attributes: (string | [string, ({
527
+ match: import("../types/rule.js").MatcherType.String;
528
+ } | {
529
+ match: import("../types/rule.js").MatcherType.ObjectKey;
530
+ pathPattern?: string | undefined;
531
+ } | {
532
+ match: import("../types/rule.js").MatcherType.ObjectValue;
533
+ pathPattern?: string | undefined;
534
+ })[]])[];
535
+ callees: (string | [string, ({
536
+ match: import("../types/rule.js").MatcherType.String;
537
+ } | {
538
+ match: import("../types/rule.js").MatcherType.ObjectKey;
539
+ pathPattern?: string | undefined;
540
+ } | {
541
+ match: import("../types/rule.js").MatcherType.ObjectValue;
542
+ pathPattern?: string | undefined;
543
+ })[]])[];
544
+ } & {
545
+ [x: string]: unknown;
546
+ }>];
547
+ Node: import("eslint").JSSyntaxElement;
548
+ MessageIds: "irreplaceable" | "replaceable";
549
+ }>) => import("eslint").Rule.RuleListener;
550
+ meta: {
551
+ messages?: {
552
+ readonly irreplaceable: "Class \"{{ className }}\" is deprecated. Check the tailwindcss documentation for more information: https://tailwindcss.com/docs/upgrade-guide#removed-deprecated-utilities";
553
+ readonly replaceable: "Deprecated class detected. Replace \"{{ className }}\" with \"{{fix}}\".";
554
+ } | undefined;
555
+ docs: {
556
+ description: string;
557
+ recommended: boolean;
558
+ url: string;
559
+ };
560
+ fixable: "code" | undefined;
561
+ schema: {
562
+ additionalProperties: false;
563
+ properties: Record<string, boolean | import("@valibot/to-json-schema").JsonSchema> | undefined;
564
+ type: "object";
565
+ }[];
566
+ type: "problem" | "layout";
567
+ };
568
+ };
569
+ }, {
570
+ category: "stylistic";
571
+ messages: {
572
+ readonly duplicate: "Duplicate classname: \"{{ className }}\".";
573
+ } | undefined;
574
+ name: "no-duplicate-classes";
575
+ readonly options: any;
576
+ rule: {
577
+ create: (ctx: import("node_modules/@eslint/core/dist/cjs/types.cjs").RuleContext<{
578
+ LangOptions: Linter.LanguageOptions;
579
+ Code: import("eslint").SourceCode;
580
+ RuleOptions: [Required<{
581
+ rootFontSize?: number | undefined;
582
+ detectComponentClasses: boolean;
583
+ tsconfig?: string | undefined;
584
+ tailwindConfig?: string | undefined;
585
+ messageStyle: "visual" | "compact" | "raw";
586
+ entryPoint?: string | undefined;
587
+ tags: (string | [string, ({
588
+ match: import("../types/rule.js").MatcherType.String;
589
+ } | {
590
+ match: import("../types/rule.js").MatcherType.ObjectKey;
591
+ pathPattern?: string | undefined;
592
+ } | {
593
+ match: import("../types/rule.js").MatcherType.ObjectValue;
594
+ pathPattern?: string | undefined;
595
+ })[]])[];
596
+ variables: (string | [string, ({
597
+ match: import("../types/rule.js").MatcherType.String;
598
+ } | {
599
+ match: import("../types/rule.js").MatcherType.ObjectKey;
600
+ pathPattern?: string | undefined;
601
+ } | {
602
+ match: import("../types/rule.js").MatcherType.ObjectValue;
603
+ pathPattern?: string | undefined;
604
+ })[]])[];
605
+ attributes: (string | [string, ({
606
+ match: import("../types/rule.js").MatcherType.String;
607
+ } | {
608
+ match: import("../types/rule.js").MatcherType.ObjectKey;
609
+ pathPattern?: string | undefined;
610
+ } | {
611
+ match: import("../types/rule.js").MatcherType.ObjectValue;
612
+ pathPattern?: string | undefined;
613
+ })[]])[];
614
+ callees: (string | [string, ({
615
+ match: import("../types/rule.js").MatcherType.String;
616
+ } | {
617
+ match: import("../types/rule.js").MatcherType.ObjectKey;
618
+ pathPattern?: string | undefined;
619
+ } | {
620
+ match: import("../types/rule.js").MatcherType.ObjectValue;
621
+ pathPattern?: string | undefined;
622
+ })[]])[];
623
+ } & {
624
+ [x: string]: unknown;
625
+ }>];
626
+ Node: import("eslint").JSSyntaxElement;
627
+ MessageIds: "duplicate";
628
+ }>) => import("eslint").Rule.RuleListener;
629
+ meta: {
630
+ messages?: {
631
+ readonly duplicate: "Duplicate classname: \"{{ className }}\".";
632
+ } | undefined;
633
+ docs: {
634
+ description: string;
635
+ recommended: boolean;
636
+ url: string;
637
+ };
638
+ fixable: "code" | undefined;
639
+ schema: {
640
+ additionalProperties: false;
641
+ properties: Record<string, boolean | import("@valibot/to-json-schema").JsonSchema> | undefined;
642
+ type: "object";
643
+ }[];
644
+ type: "problem" | "layout";
645
+ };
646
+ };
647
+ }, {
648
+ category: "correctness";
649
+ messages: Record<string, string> | undefined;
650
+ name: "no-restricted-classes";
651
+ readonly options: any;
652
+ rule: {
653
+ create: (ctx: import("node_modules/@eslint/core/dist/cjs/types.cjs").RuleContext<{
654
+ LangOptions: Linter.LanguageOptions;
655
+ Code: import("eslint").SourceCode;
656
+ RuleOptions: [Required<{
657
+ rootFontSize?: number | undefined;
658
+ detectComponentClasses: boolean;
659
+ tsconfig?: string | undefined;
660
+ tailwindConfig?: string | undefined;
661
+ messageStyle: "visual" | "compact" | "raw";
662
+ entryPoint?: string | undefined;
663
+ tags: (string | [string, ({
664
+ match: import("../types/rule.js").MatcherType.String;
665
+ } | {
666
+ match: import("../types/rule.js").MatcherType.ObjectKey;
667
+ pathPattern?: string | undefined;
668
+ } | {
669
+ match: import("../types/rule.js").MatcherType.ObjectValue;
670
+ pathPattern?: string | undefined;
671
+ })[]])[];
672
+ variables: (string | [string, ({
673
+ match: import("../types/rule.js").MatcherType.String;
674
+ } | {
675
+ match: import("../types/rule.js").MatcherType.ObjectKey;
676
+ pathPattern?: string | undefined;
677
+ } | {
678
+ match: import("../types/rule.js").MatcherType.ObjectValue;
679
+ pathPattern?: string | undefined;
680
+ })[]])[];
681
+ attributes: (string | [string, ({
682
+ match: import("../types/rule.js").MatcherType.String;
683
+ } | {
684
+ match: import("../types/rule.js").MatcherType.ObjectKey;
685
+ pathPattern?: string | undefined;
686
+ } | {
687
+ match: import("../types/rule.js").MatcherType.ObjectValue;
688
+ pathPattern?: string | undefined;
689
+ })[]])[];
690
+ callees: (string | [string, ({
691
+ match: import("../types/rule.js").MatcherType.String;
692
+ } | {
693
+ match: import("../types/rule.js").MatcherType.ObjectKey;
694
+ pathPattern?: string | undefined;
695
+ } | {
696
+ match: import("../types/rule.js").MatcherType.ObjectValue;
697
+ pathPattern?: string | undefined;
698
+ })[]])[];
699
+ } & {
700
+ restrict: (string | {
701
+ fix?: string | undefined;
702
+ message?: string | undefined;
703
+ pattern: string;
704
+ })[];
705
+ }>];
706
+ Node: import("eslint").JSSyntaxElement;
707
+ MessageIds: string;
708
+ }>) => import("eslint").Rule.RuleListener;
709
+ meta: {
710
+ messages?: Record<string, string> | undefined;
711
+ docs: {
712
+ description: string;
713
+ recommended: boolean;
714
+ url: string;
715
+ };
716
+ fixable: "code" | undefined;
717
+ schema: {
718
+ additionalProperties: false;
719
+ properties: Record<string, boolean | import("@valibot/to-json-schema").JsonSchema> | undefined;
720
+ type: "object";
721
+ }[];
722
+ type: "problem" | "layout";
723
+ };
724
+ };
725
+ }, {
726
+ category: "stylistic";
727
+ messages: {
728
+ readonly unnecessary: "Unnecessary whitespace.";
729
+ } | undefined;
730
+ name: "no-unnecessary-whitespace";
731
+ readonly options: any;
732
+ rule: {
733
+ create: (ctx: import("node_modules/@eslint/core/dist/cjs/types.cjs").RuleContext<{
734
+ LangOptions: Linter.LanguageOptions;
735
+ Code: import("eslint").SourceCode;
736
+ RuleOptions: [Required<{
737
+ rootFontSize?: number | undefined;
738
+ detectComponentClasses: boolean;
739
+ tsconfig?: string | undefined;
740
+ tailwindConfig?: string | undefined;
741
+ messageStyle: "visual" | "compact" | "raw";
742
+ entryPoint?: string | undefined;
743
+ tags: (string | [string, ({
744
+ match: import("../types/rule.js").MatcherType.String;
745
+ } | {
746
+ match: import("../types/rule.js").MatcherType.ObjectKey;
747
+ pathPattern?: string | undefined;
748
+ } | {
749
+ match: import("../types/rule.js").MatcherType.ObjectValue;
750
+ pathPattern?: string | undefined;
751
+ })[]])[];
752
+ variables: (string | [string, ({
753
+ match: import("../types/rule.js").MatcherType.String;
754
+ } | {
755
+ match: import("../types/rule.js").MatcherType.ObjectKey;
756
+ pathPattern?: string | undefined;
757
+ } | {
758
+ match: import("../types/rule.js").MatcherType.ObjectValue;
759
+ pathPattern?: string | undefined;
760
+ })[]])[];
761
+ attributes: (string | [string, ({
762
+ match: import("../types/rule.js").MatcherType.String;
763
+ } | {
764
+ match: import("../types/rule.js").MatcherType.ObjectKey;
765
+ pathPattern?: string | undefined;
766
+ } | {
767
+ match: import("../types/rule.js").MatcherType.ObjectValue;
768
+ pathPattern?: string | undefined;
769
+ })[]])[];
770
+ callees: (string | [string, ({
771
+ match: import("../types/rule.js").MatcherType.String;
772
+ } | {
773
+ match: import("../types/rule.js").MatcherType.ObjectKey;
774
+ pathPattern?: string | undefined;
775
+ } | {
776
+ match: import("../types/rule.js").MatcherType.ObjectValue;
777
+ pathPattern?: string | undefined;
778
+ })[]])[];
779
+ } & {
780
+ allowMultiline: boolean;
781
+ }>];
782
+ Node: import("eslint").JSSyntaxElement;
783
+ MessageIds: "unnecessary";
784
+ }>) => import("eslint").Rule.RuleListener;
785
+ meta: {
786
+ messages?: {
787
+ readonly unnecessary: "Unnecessary whitespace.";
788
+ } | undefined;
789
+ docs: {
790
+ description: string;
791
+ recommended: boolean;
792
+ url: string;
793
+ };
794
+ fixable: "code" | undefined;
795
+ schema: {
796
+ additionalProperties: false;
797
+ properties: Record<string, boolean | import("@valibot/to-json-schema").JsonSchema> | undefined;
798
+ type: "object";
799
+ }[];
800
+ type: "problem" | "layout";
801
+ };
802
+ };
803
+ }, {
804
+ category: "correctness";
805
+ messages: {
806
+ readonly unknown: "Unknown class detected: {{ className }}";
807
+ } | undefined;
808
+ name: "no-unknown-classes";
809
+ readonly options: any;
810
+ rule: {
811
+ create: (ctx: import("node_modules/@eslint/core/dist/cjs/types.cjs").RuleContext<{
812
+ LangOptions: Linter.LanguageOptions;
813
+ Code: import("eslint").SourceCode;
814
+ RuleOptions: [Required<{
815
+ rootFontSize?: number | undefined;
816
+ detectComponentClasses: boolean;
817
+ tsconfig?: string | undefined;
818
+ tailwindConfig?: string | undefined;
819
+ messageStyle: "visual" | "compact" | "raw";
820
+ entryPoint?: string | undefined;
821
+ tags: (string | [string, ({
822
+ match: import("../types/rule.js").MatcherType.String;
823
+ } | {
824
+ match: import("../types/rule.js").MatcherType.ObjectKey;
825
+ pathPattern?: string | undefined;
826
+ } | {
827
+ match: import("../types/rule.js").MatcherType.ObjectValue;
828
+ pathPattern?: string | undefined;
829
+ })[]])[];
830
+ variables: (string | [string, ({
831
+ match: import("../types/rule.js").MatcherType.String;
832
+ } | {
833
+ match: import("../types/rule.js").MatcherType.ObjectKey;
834
+ pathPattern?: string | undefined;
835
+ } | {
836
+ match: import("../types/rule.js").MatcherType.ObjectValue;
837
+ pathPattern?: string | undefined;
838
+ })[]])[];
839
+ attributes: (string | [string, ({
840
+ match: import("../types/rule.js").MatcherType.String;
841
+ } | {
842
+ match: import("../types/rule.js").MatcherType.ObjectKey;
843
+ pathPattern?: string | undefined;
844
+ } | {
845
+ match: import("../types/rule.js").MatcherType.ObjectValue;
846
+ pathPattern?: string | undefined;
847
+ })[]])[];
848
+ callees: (string | [string, ({
849
+ match: import("../types/rule.js").MatcherType.String;
850
+ } | {
851
+ match: import("../types/rule.js").MatcherType.ObjectKey;
852
+ pathPattern?: string | undefined;
853
+ } | {
854
+ match: import("../types/rule.js").MatcherType.ObjectValue;
855
+ pathPattern?: string | undefined;
856
+ })[]])[];
857
+ } & {
858
+ ignore: string[];
859
+ }>];
860
+ Node: import("eslint").JSSyntaxElement;
861
+ MessageIds: "unknown";
862
+ }>) => import("eslint").Rule.RuleListener;
863
+ meta: {
864
+ messages?: {
865
+ readonly unknown: "Unknown class detected: {{ className }}";
866
+ } | undefined;
867
+ docs: {
868
+ description: string;
869
+ recommended: boolean;
870
+ url: string;
871
+ };
872
+ fixable: "code" | undefined;
873
+ schema: {
874
+ additionalProperties: false;
875
+ properties: Record<string, boolean | import("@valibot/to-json-schema").JsonSchema> | undefined;
876
+ type: "object";
877
+ }[];
878
+ type: "problem" | "layout";
879
+ };
880
+ };
881
+ }, {
882
+ category: "stylistic";
883
+ messages: {
884
+ readonly multiple: "The classes: \"{{ classNames }}\" can be simplified to \"{{canonicalClass}}\".";
885
+ readonly single: "The class: \"{{ className }}\" can be simplified to \"{{canonicalClass}}\".";
886
+ } | undefined;
887
+ name: "enforce-canonical-classes";
888
+ readonly options: any;
889
+ rule: {
890
+ create: (ctx: import("node_modules/@eslint/core/dist/cjs/types.cjs").RuleContext<{
891
+ LangOptions: Linter.LanguageOptions;
892
+ Code: import("eslint").SourceCode;
893
+ RuleOptions: [Required<{
894
+ rootFontSize?: number | undefined;
895
+ detectComponentClasses: boolean;
896
+ tsconfig?: string | undefined;
897
+ tailwindConfig?: string | undefined;
898
+ messageStyle: "visual" | "compact" | "raw";
899
+ entryPoint?: string | undefined;
900
+ tags: (string | [string, ({
901
+ match: import("../types/rule.js").MatcherType.String;
902
+ } | {
903
+ match: import("../types/rule.js").MatcherType.ObjectKey;
904
+ pathPattern?: string | undefined;
905
+ } | {
906
+ match: import("../types/rule.js").MatcherType.ObjectValue;
907
+ pathPattern?: string | undefined;
908
+ })[]])[];
909
+ variables: (string | [string, ({
910
+ match: import("../types/rule.js").MatcherType.String;
911
+ } | {
912
+ match: import("../types/rule.js").MatcherType.ObjectKey;
913
+ pathPattern?: string | undefined;
914
+ } | {
915
+ match: import("../types/rule.js").MatcherType.ObjectValue;
916
+ pathPattern?: string | undefined;
917
+ })[]])[];
918
+ attributes: (string | [string, ({
919
+ match: import("../types/rule.js").MatcherType.String;
920
+ } | {
921
+ match: import("../types/rule.js").MatcherType.ObjectKey;
922
+ pathPattern?: string | undefined;
923
+ } | {
924
+ match: import("../types/rule.js").MatcherType.ObjectValue;
925
+ pathPattern?: string | undefined;
926
+ })[]])[];
927
+ callees: (string | [string, ({
928
+ match: import("../types/rule.js").MatcherType.String;
929
+ } | {
930
+ match: import("../types/rule.js").MatcherType.ObjectKey;
931
+ pathPattern?: string | undefined;
932
+ } | {
933
+ match: import("../types/rule.js").MatcherType.ObjectValue;
934
+ pathPattern?: string | undefined;
935
+ })[]])[];
936
+ } & {
937
+ collapse: boolean;
938
+ logical: boolean;
939
+ }>];
940
+ Node: import("eslint").JSSyntaxElement;
941
+ MessageIds: "multiple" | "single";
942
+ }>) => import("eslint").Rule.RuleListener;
943
+ meta: {
944
+ messages?: {
945
+ readonly multiple: "The classes: \"{{ classNames }}\" can be simplified to \"{{canonicalClass}}\".";
946
+ readonly single: "The class: \"{{ className }}\" can be simplified to \"{{canonicalClass}}\".";
947
+ } | undefined;
948
+ docs: {
949
+ description: string;
950
+ recommended: boolean;
951
+ url: string;
952
+ };
953
+ fixable: "code" | undefined;
954
+ schema: {
955
+ additionalProperties: false;
956
+ properties: Record<string, boolean | import("@valibot/to-json-schema").JsonSchema> | undefined;
957
+ type: "object";
958
+ }[];
959
+ type: "problem" | "layout";
960
+ };
961
+ };
962
+ }];
9
963
  declare const config: {
10
964
  configs: {
11
- [x: string]: {
12
- plugins: string[];
13
- rules: {
14
- [x: string]: Severity;
965
+ "legacy-recommended": {
966
+ plugins: "better-tailwindcss"[];
967
+ rules: Record<"better-tailwindcss/enforce-canonical-classes" | "better-tailwindcss/enforce-consistent-class-order" | "better-tailwindcss/enforce-consistent-important-position" | "better-tailwindcss/enforce-consistent-line-wrapping" | "better-tailwindcss/enforce-consistent-variable-syntax" | "better-tailwindcss/enforce-shorthand-classes" | "better-tailwindcss/no-deprecated-classes" | "better-tailwindcss/no-duplicate-classes" | "better-tailwindcss/no-unnecessary-whitespace" | "better-tailwindcss/no-conflicting-classes" | "better-tailwindcss/no-restricted-classes" | "better-tailwindcss/no-unknown-classes", Severity>;
968
+ };
969
+ "legacy-recommended-error": {
970
+ plugins: "better-tailwindcss"[];
971
+ rules: Record<"better-tailwindcss/enforce-canonical-classes" | "better-tailwindcss/enforce-consistent-class-order" | "better-tailwindcss/enforce-consistent-important-position" | "better-tailwindcss/enforce-consistent-line-wrapping" | "better-tailwindcss/enforce-consistent-variable-syntax" | "better-tailwindcss/enforce-shorthand-classes" | "better-tailwindcss/no-deprecated-classes" | "better-tailwindcss/no-duplicate-classes" | "better-tailwindcss/no-unnecessary-whitespace" | "better-tailwindcss/no-conflicting-classes" | "better-tailwindcss/no-restricted-classes" | "better-tailwindcss/no-unknown-classes", "error">;
972
+ };
973
+ "legacy-recommended-warn": {
974
+ plugins: "better-tailwindcss"[];
975
+ rules: Record<"better-tailwindcss/enforce-canonical-classes" | "better-tailwindcss/enforce-consistent-class-order" | "better-tailwindcss/enforce-consistent-important-position" | "better-tailwindcss/enforce-consistent-line-wrapping" | "better-tailwindcss/enforce-consistent-variable-syntax" | "better-tailwindcss/enforce-shorthand-classes" | "better-tailwindcss/no-deprecated-classes" | "better-tailwindcss/no-duplicate-classes" | "better-tailwindcss/no-unnecessary-whitespace" | "better-tailwindcss/no-conflicting-classes" | "better-tailwindcss/no-restricted-classes" | "better-tailwindcss/no-unknown-classes", "warn">;
976
+ };
977
+ recommended: {
978
+ plugins: {
979
+ "better-tailwindcss": {
980
+ readonly meta: {
981
+ readonly name: "better-tailwindcss";
982
+ };
983
+ readonly rules: RuleObject;
984
+ };
985
+ };
986
+ rules: Record<"better-tailwindcss/enforce-canonical-classes" | "better-tailwindcss/enforce-consistent-class-order" | "better-tailwindcss/enforce-consistent-important-position" | "better-tailwindcss/enforce-consistent-line-wrapping" | "better-tailwindcss/enforce-consistent-variable-syntax" | "better-tailwindcss/enforce-shorthand-classes" | "better-tailwindcss/no-deprecated-classes" | "better-tailwindcss/no-duplicate-classes" | "better-tailwindcss/no-unnecessary-whitespace" | "better-tailwindcss/no-conflicting-classes" | "better-tailwindcss/no-restricted-classes" | "better-tailwindcss/no-unknown-classes", Severity>;
987
+ };
988
+ "recommended-error": {
989
+ plugins: {
990
+ "better-tailwindcss": {
991
+ readonly meta: {
992
+ readonly name: "better-tailwindcss";
993
+ };
994
+ readonly rules: RuleObject;
995
+ };
996
+ };
997
+ rules: Record<"better-tailwindcss/enforce-canonical-classes" | "better-tailwindcss/enforce-consistent-class-order" | "better-tailwindcss/enforce-consistent-important-position" | "better-tailwindcss/enforce-consistent-line-wrapping" | "better-tailwindcss/enforce-consistent-variable-syntax" | "better-tailwindcss/enforce-shorthand-classes" | "better-tailwindcss/no-deprecated-classes" | "better-tailwindcss/no-duplicate-classes" | "better-tailwindcss/no-unnecessary-whitespace" | "better-tailwindcss/no-conflicting-classes" | "better-tailwindcss/no-restricted-classes" | "better-tailwindcss/no-unknown-classes", "error">;
998
+ };
999
+ "recommended-warn": {
1000
+ plugins: {
1001
+ "better-tailwindcss": {
1002
+ readonly meta: {
1003
+ readonly name: "better-tailwindcss";
1004
+ };
1005
+ readonly rules: RuleObject;
1006
+ };
1007
+ };
1008
+ rules: Record<"better-tailwindcss/enforce-canonical-classes" | "better-tailwindcss/enforce-consistent-class-order" | "better-tailwindcss/enforce-consistent-important-position" | "better-tailwindcss/enforce-consistent-line-wrapping" | "better-tailwindcss/enforce-consistent-variable-syntax" | "better-tailwindcss/enforce-shorthand-classes" | "better-tailwindcss/no-deprecated-classes" | "better-tailwindcss/no-duplicate-classes" | "better-tailwindcss/no-unnecessary-whitespace" | "better-tailwindcss/no-conflicting-classes" | "better-tailwindcss/no-restricted-classes" | "better-tailwindcss/no-unknown-classes", "warn">;
1009
+ };
1010
+ "legacy-correctness": {
1011
+ plugins: "better-tailwindcss"[];
1012
+ rules: Record<"better-tailwindcss/no-conflicting-classes" | "better-tailwindcss/no-restricted-classes" | "better-tailwindcss/no-unknown-classes", Severity>;
1013
+ };
1014
+ "legacy-correctness-error": {
1015
+ plugins: "better-tailwindcss"[];
1016
+ rules: Record<"better-tailwindcss/no-conflicting-classes" | "better-tailwindcss/no-restricted-classes" | "better-tailwindcss/no-unknown-classes", "error">;
1017
+ };
1018
+ "legacy-correctness-warn": {
1019
+ plugins: "better-tailwindcss"[];
1020
+ rules: Record<"better-tailwindcss/no-conflicting-classes" | "better-tailwindcss/no-restricted-classes" | "better-tailwindcss/no-unknown-classes", "warn">;
1021
+ };
1022
+ correctness: {
1023
+ plugins: {
1024
+ "better-tailwindcss": {
1025
+ readonly meta: {
1026
+ readonly name: "better-tailwindcss";
1027
+ };
1028
+ readonly rules: RuleObject;
1029
+ };
1030
+ };
1031
+ rules: Record<"better-tailwindcss/no-conflicting-classes" | "better-tailwindcss/no-restricted-classes" | "better-tailwindcss/no-unknown-classes", Severity>;
1032
+ };
1033
+ "correctness-error": {
1034
+ plugins: {
1035
+ "better-tailwindcss": {
1036
+ readonly meta: {
1037
+ readonly name: "better-tailwindcss";
1038
+ };
1039
+ readonly rules: RuleObject;
1040
+ };
15
1041
  };
16
- } | {
1042
+ rules: Record<"better-tailwindcss/no-conflicting-classes" | "better-tailwindcss/no-restricted-classes" | "better-tailwindcss/no-unknown-classes", "error">;
1043
+ };
1044
+ "correctness-warn": {
17
1045
  plugins: {
18
- [plugin.meta.name]: {
19
- meta: {
20
- name: string;
1046
+ "better-tailwindcss": {
1047
+ readonly meta: {
1048
+ readonly name: "better-tailwindcss";
21
1049
  };
22
- rules: Record<string, JSRuleDefinition>;
1050
+ readonly rules: RuleObject;
23
1051
  };
24
1052
  };
25
- rules: {
26
- [x: string]: Severity;
1053
+ rules: Record<"better-tailwindcss/no-conflicting-classes" | "better-tailwindcss/no-restricted-classes" | "better-tailwindcss/no-unknown-classes", "warn">;
1054
+ };
1055
+ "legacy-stylistic": {
1056
+ plugins: "better-tailwindcss"[];
1057
+ rules: Record<"better-tailwindcss/enforce-canonical-classes" | "better-tailwindcss/enforce-consistent-class-order" | "better-tailwindcss/enforce-consistent-important-position" | "better-tailwindcss/enforce-consistent-line-wrapping" | "better-tailwindcss/enforce-consistent-variable-syntax" | "better-tailwindcss/enforce-shorthand-classes" | "better-tailwindcss/no-deprecated-classes" | "better-tailwindcss/no-duplicate-classes" | "better-tailwindcss/no-unnecessary-whitespace", Severity>;
1058
+ };
1059
+ "legacy-stylistic-error": {
1060
+ plugins: "better-tailwindcss"[];
1061
+ rules: Record<"better-tailwindcss/enforce-canonical-classes" | "better-tailwindcss/enforce-consistent-class-order" | "better-tailwindcss/enforce-consistent-important-position" | "better-tailwindcss/enforce-consistent-line-wrapping" | "better-tailwindcss/enforce-consistent-variable-syntax" | "better-tailwindcss/enforce-shorthand-classes" | "better-tailwindcss/no-deprecated-classes" | "better-tailwindcss/no-duplicate-classes" | "better-tailwindcss/no-unnecessary-whitespace", "error">;
1062
+ };
1063
+ "legacy-stylistic-warn": {
1064
+ plugins: "better-tailwindcss"[];
1065
+ rules: Record<"better-tailwindcss/enforce-canonical-classes" | "better-tailwindcss/enforce-consistent-class-order" | "better-tailwindcss/enforce-consistent-important-position" | "better-tailwindcss/enforce-consistent-line-wrapping" | "better-tailwindcss/enforce-consistent-variable-syntax" | "better-tailwindcss/enforce-shorthand-classes" | "better-tailwindcss/no-deprecated-classes" | "better-tailwindcss/no-duplicate-classes" | "better-tailwindcss/no-unnecessary-whitespace", "warn">;
1066
+ };
1067
+ stylistic: {
1068
+ plugins: {
1069
+ "better-tailwindcss": {
1070
+ readonly meta: {
1071
+ readonly name: "better-tailwindcss";
1072
+ };
1073
+ readonly rules: RuleObject;
1074
+ };
1075
+ };
1076
+ rules: Record<"better-tailwindcss/enforce-canonical-classes" | "better-tailwindcss/enforce-consistent-class-order" | "better-tailwindcss/enforce-consistent-important-position" | "better-tailwindcss/enforce-consistent-line-wrapping" | "better-tailwindcss/enforce-consistent-variable-syntax" | "better-tailwindcss/enforce-shorthand-classes" | "better-tailwindcss/no-deprecated-classes" | "better-tailwindcss/no-duplicate-classes" | "better-tailwindcss/no-unnecessary-whitespace", Severity>;
1077
+ };
1078
+ "stylistic-error": {
1079
+ plugins: {
1080
+ "better-tailwindcss": {
1081
+ readonly meta: {
1082
+ readonly name: "better-tailwindcss";
1083
+ };
1084
+ readonly rules: RuleObject;
1085
+ };
1086
+ };
1087
+ rules: Record<"better-tailwindcss/enforce-canonical-classes" | "better-tailwindcss/enforce-consistent-class-order" | "better-tailwindcss/enforce-consistent-important-position" | "better-tailwindcss/enforce-consistent-line-wrapping" | "better-tailwindcss/enforce-consistent-variable-syntax" | "better-tailwindcss/enforce-shorthand-classes" | "better-tailwindcss/no-deprecated-classes" | "better-tailwindcss/no-duplicate-classes" | "better-tailwindcss/no-unnecessary-whitespace", "error">;
1088
+ };
1089
+ "stylistic-warn": {
1090
+ plugins: {
1091
+ "better-tailwindcss": {
1092
+ readonly meta: {
1093
+ readonly name: "better-tailwindcss";
1094
+ };
1095
+ readonly rules: RuleObject;
1096
+ };
27
1097
  };
1098
+ rules: Record<"better-tailwindcss/enforce-canonical-classes" | "better-tailwindcss/enforce-consistent-class-order" | "better-tailwindcss/enforce-consistent-important-position" | "better-tailwindcss/enforce-consistent-line-wrapping" | "better-tailwindcss/enforce-consistent-variable-syntax" | "better-tailwindcss/enforce-shorthand-classes" | "better-tailwindcss/no-deprecated-classes" | "better-tailwindcss/no-duplicate-classes" | "better-tailwindcss/no-unnecessary-whitespace", "warn">;
28
1099
  };
29
1100
  };
30
1101
  meta: {
31
- name: string;
1102
+ readonly name: "better-tailwindcss";
32
1103
  };
33
- rules: Record<string, JSRuleDefinition>;
1104
+ rules: RuleObject;
34
1105
  };
35
1106
  export default config;
36
1107
  export { config as "module.exports" };