tailwind-typescript-plugin 1.4.1-beta.1 → 1.4.1-beta.11

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 (69) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/README.md +206 -34
  3. package/lib/core/interfaces.d.ts +2 -2
  4. package/lib/core/interfaces.d.ts.map +1 -1
  5. package/lib/core/types.d.ts +19 -1
  6. package/lib/core/types.d.ts.map +1 -1
  7. package/lib/extractors/BaseExtractor.d.ts +49 -2
  8. package/lib/extractors/BaseExtractor.d.ts.map +1 -1
  9. package/lib/extractors/BaseExtractor.js +184 -5
  10. package/lib/extractors/BaseExtractor.js.map +1 -1
  11. package/lib/extractors/CvaExtractor.js +1 -1
  12. package/lib/extractors/CvaExtractor.js.map +1 -1
  13. package/lib/extractors/ExpressionExtractor.d.ts.map +1 -1
  14. package/lib/extractors/ExpressionExtractor.js +35 -5
  15. package/lib/extractors/ExpressionExtractor.js.map +1 -1
  16. package/lib/extractors/JsxAttributeExtractor.js +1 -1
  17. package/lib/extractors/JsxAttributeExtractor.js.map +1 -1
  18. package/lib/extractors/TailwindVariantsExtractor.d.ts.map +1 -1
  19. package/lib/extractors/TailwindVariantsExtractor.js +1 -5
  20. package/lib/extractors/TailwindVariantsExtractor.js.map +1 -1
  21. package/lib/extractors/VariableReferenceExtractor.d.ts.map +1 -1
  22. package/lib/extractors/VariableReferenceExtractor.js +21 -0
  23. package/lib/extractors/VariableReferenceExtractor.js.map +1 -1
  24. package/lib/infrastructure/TailwindConflictDetector.d.ts +28 -18
  25. package/lib/infrastructure/TailwindConflictDetector.d.ts.map +1 -1
  26. package/lib/infrastructure/TailwindConflictDetector.js +216 -486
  27. package/lib/infrastructure/TailwindConflictDetector.js.map +1 -1
  28. package/lib/infrastructure/TailwindValidator.d.ts +15 -0
  29. package/lib/infrastructure/TailwindValidator.d.ts.map +1 -1
  30. package/lib/infrastructure/TailwindValidator.js +84 -5
  31. package/lib/infrastructure/TailwindValidator.js.map +1 -1
  32. package/lib/infrastructure/TailwindValidator.spec.js +194 -0
  33. package/lib/infrastructure/TailwindValidator.spec.js.map +1 -1
  34. package/lib/plugin/TailwindTypescriptPlugin.d.ts +26 -0
  35. package/lib/plugin/TailwindTypescriptPlugin.d.ts.map +1 -1
  36. package/lib/plugin/TailwindTypescriptPlugin.js +185 -1
  37. package/lib/plugin/TailwindTypescriptPlugin.js.map +1 -1
  38. package/lib/services/ClassNameExtractionService.d.ts +2 -2
  39. package/lib/services/ClassNameExtractionService.d.ts.map +1 -1
  40. package/lib/services/ClassNameExtractionService.js.map +1 -1
  41. package/lib/services/CompletionService.d.ts +113 -0
  42. package/lib/services/CompletionService.d.ts.map +1 -0
  43. package/lib/services/CompletionService.js +488 -0
  44. package/lib/services/CompletionService.js.map +1 -0
  45. package/lib/services/CompletionService.spec.d.ts +2 -0
  46. package/lib/services/CompletionService.spec.d.ts.map +1 -0
  47. package/lib/services/CompletionService.spec.js +1039 -0
  48. package/lib/services/CompletionService.spec.js.map +1 -0
  49. package/lib/services/ConflictClassDetection.spec.js +24 -19
  50. package/lib/services/ConflictClassDetection.spec.js.map +1 -1
  51. package/lib/services/DuplicateClassDetection.spec.js +41 -60
  52. package/lib/services/DuplicateClassDetection.spec.js.map +1 -1
  53. package/lib/services/PluginConfigService.d.ts +2 -1
  54. package/lib/services/PluginConfigService.d.ts.map +1 -1
  55. package/lib/services/PluginConfigService.js +19 -12
  56. package/lib/services/PluginConfigService.js.map +1 -1
  57. package/lib/services/ValidationService.d.ts +4 -2
  58. package/lib/services/ValidationService.d.ts.map +1 -1
  59. package/lib/services/ValidationService.js +10 -7
  60. package/lib/services/ValidationService.js.map +1 -1
  61. package/package.json +4 -2
  62. package/lib/extractors/StringLiteralExtractor.d.ts +0 -12
  63. package/lib/extractors/StringLiteralExtractor.d.ts.map +0 -1
  64. package/lib/extractors/StringLiteralExtractor.js +0 -21
  65. package/lib/extractors/StringLiteralExtractor.js.map +0 -1
  66. package/lib/services/ClassNameExtractionService.original.d.ts +0 -20
  67. package/lib/services/ClassNameExtractionService.original.d.ts.map +0 -1
  68. package/lib/services/ClassNameExtractionService.original.js +0 -48
  69. package/lib/services/ClassNameExtractionService.original.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompletionService.spec.js","sourceRoot":"","sources":["../../src/services/CompletionService.spec.ts"],"names":[],"mappings":"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"}
@@ -32,39 +32,44 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  const ts = __importStar(require("typescript/lib/tsserverlibrary"));
40
+ const fs_1 = __importDefault(require("fs"));
41
+ const path_1 = __importDefault(require("path"));
42
+ const TailwindValidator_1 = require("../infrastructure/TailwindValidator");
37
43
  const Logger_1 = require("../utils/Logger");
38
44
  const ClassNameExtractionService_1 = require("./ClassNameExtractionService");
39
45
  const DiagnosticService_1 = require("./DiagnosticService");
40
46
  const ValidationService_1 = require("./ValidationService");
41
- // Mock validator that considers all classes valid (for testing conflicts only)
42
- class MockValidator {
43
- isInitialized() {
44
- return true;
45
- }
46
- isValidClass() {
47
- return true;
48
- }
49
- getInvalidClasses() {
50
- return [];
51
- }
52
- setAllowedClasses() {
53
- // No-op for testing
54
- }
55
- }
56
47
  describe('Conflicting Class Detection', () => {
57
48
  let validationService;
58
49
  let diagnosticService;
59
50
  let extractionService;
60
- let mockValidator;
51
+ let validator;
61
52
  let logger;
53
+ const testCssFile = path_1.default.join(__dirname, '../../test-conflict-global.css');
54
+ beforeAll(async () => {
55
+ // Create a simple CSS file for testing
56
+ fs_1.default.writeFileSync(testCssFile, '@import "tailwindcss";');
57
+ // Initialize the real validator
58
+ logger = new Logger_1.NoOpLogger();
59
+ validator = new TailwindValidator_1.TailwindValidator(testCssFile, logger);
60
+ await validator.initialize();
61
+ });
62
+ afterAll(() => {
63
+ // Clean up test CSS file
64
+ if (fs_1.default.existsSync(testCssFile)) {
65
+ fs_1.default.unlinkSync(testCssFile);
66
+ }
67
+ });
62
68
  beforeEach(() => {
63
69
  diagnosticService = new DiagnosticService_1.DiagnosticService();
64
70
  extractionService = new ClassNameExtractionService_1.ClassNameExtractionService();
65
- mockValidator = new MockValidator();
66
- logger = new Logger_1.NoOpLogger();
67
- validationService = new ValidationService_1.ValidationService(extractionService, diagnosticService, mockValidator, logger);
71
+ validationService = new ValidationService_1.ValidationService(extractionService, diagnosticService, validator, logger, validator // Pass as CSS provider for conflict detection
72
+ );
68
73
  });
69
74
  describe('text-align conflicts', () => {
70
75
  it('should detect conflicting text alignment classes on ALL classes', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ConflictClassDetection.spec.js","sourceRoot":"","sources":["../../src/services/ConflictClassDetection.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConflictClassDetection.spec.js","sourceRoot":"","sources":["../../src/services/ConflictClassDetection.spec.ts"],"names":[],"mappings":"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"}
@@ -71,9 +71,9 @@ describe('Duplicate Class Detection', () => {
71
71
  const sourceCode = '<div className="flex flex items-center">Hello</div>';
72
72
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
73
73
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
74
- // Should have 1 duplicate diagnostic for the second "flex"
75
- expect(diagnostics.length).toBe(1);
76
- expect(diagnostics[0].code).toBe(DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
74
+ // Should have 2 duplicate diagnostics (both "flex" occurrences)
75
+ expect(diagnostics.length).toBe(2);
76
+ expect(diagnostics.every(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE)).toBe(true);
77
77
  expect(diagnostics[0].category).toBe(ts.DiagnosticCategory.Warning);
78
78
  expect(diagnostics[0].messageText).toContain('Duplicate class "flex"');
79
79
  });
@@ -81,8 +81,8 @@ describe('Duplicate Class Detection', () => {
81
81
  const sourceCode = '<div className="flex flex items-center items-center p-4">Hello</div>';
82
82
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
83
83
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
84
- // Should have 2 duplicate diagnostics
85
- expect(diagnostics.length).toBe(2);
84
+ // Should have 4 duplicate diagnostics (2 for flex, 2 for items-center)
85
+ expect(diagnostics.length).toBe(4);
86
86
  expect(diagnostics.every(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE)).toBe(true);
87
87
  });
88
88
  it('should not flag same class in different elements', () => {
@@ -96,22 +96,13 @@ describe('Duplicate Class Detection', () => {
96
96
  // Should have no duplicates - each "flex" is in a different attribute
97
97
  expect(diagnostics.length).toBe(0);
98
98
  });
99
- it('should flag only second and subsequent occurrences', () => {
99
+ it('should flag all duplicate occurrences', () => {
100
100
  const sourceCode = '<div className="flex flex flex items-center">Hello</div>';
101
101
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
102
102
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
103
- // Should have 2 duplicate diagnostics (for 2nd and 3rd "flex")
104
- expect(diagnostics.length).toBe(2);
105
- // Find positions of all "flex" occurrences
106
- const flexPositions = [];
107
- let pos = sourceCode.indexOf('flex');
108
- while (pos !== -1) {
109
- flexPositions.push(pos);
110
- pos = sourceCode.indexOf('flex', pos + 1);
111
- }
112
- // Diagnostics should NOT point to the first "flex"
113
- const firstFlexPosition = flexPositions[0];
114
- expect(diagnostics.every(d => d.start !== firstFlexPosition)).toBe(true);
103
+ // Should have 3 duplicate diagnostics (for all "flex" occurrences)
104
+ expect(diagnostics.length).toBe(3);
105
+ expect(diagnostics.every(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE)).toBe(true);
115
106
  });
116
107
  });
117
108
  describe('JSX expressions', () => {
@@ -119,15 +110,15 @@ describe('Duplicate Class Detection', () => {
119
110
  const sourceCode = "<div className={'flex flex items-center'}>Hello</div>";
120
111
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
121
112
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
122
- expect(diagnostics.length).toBe(1);
123
- expect(diagnostics[0].code).toBe(DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
113
+ expect(diagnostics.length).toBe(2);
114
+ expect(diagnostics.every(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE)).toBe(true);
124
115
  });
125
116
  it('should detect duplicates in template literals', () => {
126
117
  const sourceCode = '<div className={`flex flex items-center`}>Hello</div>';
127
118
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
128
119
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
129
- expect(diagnostics.length).toBe(1);
130
- expect(diagnostics[0].code).toBe(DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
120
+ expect(diagnostics.length).toBe(2);
121
+ expect(diagnostics.every(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE)).toBe(true);
131
122
  });
132
123
  });
133
124
  describe('utility function calls', () => {
@@ -135,15 +126,15 @@ describe('Duplicate Class Detection', () => {
135
126
  const sourceCode = "<div className={clsx('flex', 'flex', 'items-center')}>Hello</div>";
136
127
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
137
128
  const diagnostics = validationService.validateFile(ts, sourceFile, ['clsx']);
138
- expect(diagnostics.length).toBe(1);
139
- expect(diagnostics[0].code).toBe(DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
129
+ expect(diagnostics.length).toBe(2);
130
+ expect(diagnostics.every(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE)).toBe(true);
140
131
  });
141
132
  it('should detect duplicates in cn function arguments', () => {
142
133
  const sourceCode = "<div className={cn('p-4 p-4 m-2')}>Hello</div>";
143
134
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
144
135
  const diagnostics = validationService.validateFile(ts, sourceFile, ['cn']);
145
- expect(diagnostics.length).toBe(1);
146
- expect(diagnostics[0].code).toBe(DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
136
+ expect(diagnostics.length).toBe(2);
137
+ expect(diagnostics.every(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE)).toBe(true);
147
138
  });
148
139
  });
149
140
  describe('diagnostic message format', () => {
@@ -181,9 +172,9 @@ describe('Duplicate Class Detection', () => {
181
172
  const sourceCode = "<div className={clsx('flex', isActive ? 'flex bg-blue-500' : 'flex bg-gray-500')}>Hello</div>";
182
173
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
183
174
  const diagnostics = validationService.validateFile(ts, sourceFile, ['clsx']);
184
- // Should have 2 duplicate warnings (one for each branch's 'flex')
175
+ // Should have 3 duplicate warnings (root 'flex' + both branch 'flex')
185
176
  const duplicates = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
186
- expect(duplicates.length).toBe(2);
177
+ expect(duplicates.length).toBe(3);
187
178
  expect(duplicates.every(d => d.category === ts.DiagnosticCategory.Warning)).toBe(true);
188
179
  });
189
180
  it('should show hint when class appears in both branches but NOT at root', () => {
@@ -208,13 +199,13 @@ describe('Duplicate Class Detection', () => {
208
199
  });
209
200
  it('should flag duplicate within same ternary branch', () => {
210
201
  // Case: clsx('mt-4', isActive ? 'flex flex bg-blue-500' : 'bg-gray-500')
211
- // 'flex' twice in true branch = true duplicate
202
+ // 'flex' twice in true branch = true duplicate (both flagged)
212
203
  const sourceCode = "<div className={clsx('mt-4', isActive ? 'flex flex bg-blue-500' : 'bg-gray-500')}>Hello</div>";
213
204
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
214
205
  const diagnostics = validationService.validateFile(ts, sourceFile, ['clsx']);
215
206
  const duplicates = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
216
- expect(duplicates.length).toBe(1);
217
- expect(duplicates[0].category).toBe(ts.DiagnosticCategory.Warning);
207
+ expect(duplicates.length).toBe(2);
208
+ expect(duplicates.every(d => d.category === ts.DiagnosticCategory.Warning)).toBe(true);
218
209
  });
219
210
  it('should handle simple ternary without utility function', () => {
220
211
  // Case: className={isActive ? 'flex bg-blue-500' : 'flex bg-gray-500'}
@@ -244,9 +235,9 @@ describe('Duplicate Class Detection', () => {
244
235
  const sourceCode = "<div className={clsx('flex', isError && 'flex text-red-500')}>Hello</div>";
245
236
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
246
237
  const diagnostics = validationService.validateFile(ts, sourceFile, ['clsx']);
247
- // Should warn - if isError is true, 'flex' would be duplicated
238
+ // Should warn - both root 'flex' and branch 'flex' are flagged
248
239
  const duplicates = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
249
- expect(duplicates.length).toBe(1);
240
+ expect(duplicates.length).toBe(2);
250
241
  });
251
242
  it('should NOT flag class only in binary && branch (no root duplicate)', () => {
252
243
  // Case: clsx('mt-4', isError && 'flex text-red-500')
@@ -257,16 +248,6 @@ describe('Duplicate Class Detection', () => {
257
248
  expect(diagnostics.length).toBe(0);
258
249
  });
259
250
  });
260
- describe('variables with conditional content', () => {
261
- it.skip('should flag duplicate when variable contains ternary with same class as root', () => {
262
- // NOTE: This test requires a TypeChecker which is not available in unit tests.
263
- // Variable resolution is tested via e2e tests in example/src/duplicate-classes.tsx
264
- //
265
- // Case: const dynamicClasses = isActive ? 'flex bg-blue-500' : 'flex bg-gray-500';
266
- // clsx('flex', dynamicClasses)
267
- // Should detect that 'flex' is in root AND in both branches of the variable
268
- });
269
- });
270
251
  describe('arrays with conditionals', () => {
271
252
  it('should flag duplicate when array contains conditional with same class', () => {
272
253
  // Case: ['flex', isActive && 'flex']
@@ -274,7 +255,7 @@ describe('Duplicate Class Detection', () => {
274
255
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
275
256
  const diagnostics = validationService.validateFile(ts, sourceFile, ['clsx']);
276
257
  const duplicates = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
277
- expect(duplicates.length).toBe(1);
258
+ expect(duplicates.length).toBe(2);
278
259
  });
279
260
  it('should NOT flag when array conditional has different class', () => {
280
261
  // Case: ['flex', isActive && 'items-center']
@@ -295,8 +276,8 @@ describe('Duplicate Class Detection', () => {
295
276
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
296
277
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
297
278
  const duplicates = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
298
- expect(duplicates.length).toBe(1);
299
- expect(duplicates[0].messageText).toContain('flex');
279
+ expect(duplicates.length).toBe(2);
280
+ expect(duplicates.every(d => d.messageText.includes('flex'))).toBe(true);
300
281
  });
301
282
  it('should detect duplicates across tv() base and variants', () => {
302
283
  const sourceCode = `
@@ -313,8 +294,8 @@ describe('Duplicate Class Detection', () => {
313
294
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
314
295
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
315
296
  const duplicates = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
316
- expect(duplicates.length).toBe(1);
317
- expect(duplicates[0].messageText).toContain('flex');
297
+ expect(duplicates.length).toBe(2);
298
+ expect(duplicates.every(d => d.messageText.includes('flex'))).toBe(true);
318
299
  });
319
300
  it('should detect duplicates in tv() compoundVariants', () => {
320
301
  const sourceCode = `
@@ -329,8 +310,8 @@ describe('Duplicate Class Detection', () => {
329
310
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
330
311
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
331
312
  const duplicates = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
332
- expect(duplicates.length).toBe(1);
333
- expect(duplicates[0].messageText).toContain('flex');
313
+ expect(duplicates.length).toBe(2);
314
+ expect(duplicates.every(d => d.messageText.includes('flex'))).toBe(true);
334
315
  });
335
316
  it('should NOT flag duplicates between different tv() calls', () => {
336
317
  const sourceCode = `
@@ -360,8 +341,8 @@ describe('Duplicate Class Detection', () => {
360
341
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
361
342
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
362
343
  const duplicates = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
363
- expect(duplicates.length).toBe(1);
364
- expect(duplicates[0].messageText).toContain('flex');
344
+ expect(duplicates.length).toBe(2);
345
+ expect(duplicates.every(d => d.messageText.includes('flex'))).toBe(true);
365
346
  });
366
347
  });
367
348
  describe('class-variance-authority cva() duplicate detection', () => {
@@ -373,8 +354,8 @@ describe('Duplicate Class Detection', () => {
373
354
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
374
355
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
375
356
  const duplicates = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
376
- expect(duplicates.length).toBe(1);
377
- expect(duplicates[0].messageText).toContain('flex');
357
+ expect(duplicates.length).toBe(2);
358
+ expect(duplicates.every(d => d.messageText.includes('flex'))).toBe(true);
378
359
  });
379
360
  it('should detect duplicates across cva() base and variants', () => {
380
361
  const sourceCode = `
@@ -390,8 +371,8 @@ describe('Duplicate Class Detection', () => {
390
371
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
391
372
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
392
373
  const duplicates = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
393
- expect(duplicates.length).toBe(1);
394
- expect(duplicates[0].messageText).toContain('flex');
374
+ expect(duplicates.length).toBe(2);
375
+ expect(duplicates.every(d => d.messageText.includes('flex'))).toBe(true);
395
376
  });
396
377
  it('should detect duplicates in cva() compoundVariants', () => {
397
378
  const sourceCode = `
@@ -405,8 +386,8 @@ describe('Duplicate Class Detection', () => {
405
386
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
406
387
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
407
388
  const duplicates = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
408
- expect(duplicates.length).toBe(1);
409
- expect(duplicates[0].messageText).toContain('flex');
389
+ expect(duplicates.length).toBe(2);
390
+ expect(duplicates.every(d => d.messageText.includes('flex'))).toBe(true);
410
391
  });
411
392
  it('should NOT flag duplicates between different cva() calls', () => {
412
393
  const sourceCode = `
@@ -427,8 +408,8 @@ describe('Duplicate Class Detection', () => {
427
408
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
428
409
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
429
410
  const duplicates = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_DUPLICATE_CODE);
430
- expect(duplicates.length).toBe(1);
431
- expect(duplicates[0].messageText).toContain('flex');
411
+ expect(duplicates.length).toBe(2);
412
+ expect(duplicates.every(d => d.messageText.includes('flex'))).toBe(true);
432
413
  });
433
414
  });
434
415
  });