tailwind-typescript-plugin 1.4.1-beta.32 → 1.4.1-beta.34
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.
- package/README.md +16 -8
- package/lib/core/types.d.ts +1 -23
- package/lib/core/types.d.ts.map +1 -1
- package/lib/extractors/BaseExtractor.d.ts +3 -3
- package/lib/extractors/BaseExtractor.d.ts.map +1 -1
- package/lib/extractors/BaseExtractor.js +21 -41
- package/lib/extractors/BaseExtractor.js.map +1 -1
- package/lib/extractors/BaseExtractor.spec.js +23 -23
- package/lib/extractors/BaseExtractor.spec.js.map +1 -1
- package/lib/extractors/CvaExtractor.js +1 -1
- package/lib/extractors/CvaExtractor.js.map +1 -1
- package/lib/extractors/CvaExtractor.spec.js +4 -4
- package/lib/extractors/CvaExtractor.spec.js.map +1 -1
- package/lib/extractors/ExpressionExtractor.js +1 -1
- package/lib/extractors/ExpressionExtractor.js.map +1 -1
- package/lib/extractors/ExpressionExtractor.spec.js +4 -4
- package/lib/extractors/ExpressionExtractor.spec.js.map +1 -1
- package/lib/extractors/JsxAttributeExtractor.js +1 -1
- package/lib/extractors/JsxAttributeExtractor.js.map +1 -1
- package/lib/extractors/JsxAttributeExtractor.spec.js +6 -6
- package/lib/extractors/JsxAttributeExtractor.spec.js.map +1 -1
- package/lib/extractors/TailwindVariantsExtractor.js +1 -1
- package/lib/extractors/TailwindVariantsExtractor.js.map +1 -1
- package/lib/extractors/TailwindVariantsExtractor.spec.js +4 -4
- package/lib/extractors/TailwindVariantsExtractor.spec.js.map +1 -1
- package/lib/extractors/TemplateExpressionExtractor.spec.js +1 -1
- package/lib/extractors/TemplateExpressionExtractor.spec.js.map +1 -1
- package/lib/extractors/VariableReferenceExtractor.spec.js +1 -1
- package/lib/extractors/VariableReferenceExtractor.spec.js.map +1 -1
- package/lib/extractors/VueAttributeExtractor.d.ts +2 -2
- package/lib/extractors/VueAttributeExtractor.d.ts.map +1 -1
- package/lib/extractors/VueAttributeExtractor.js +19 -31
- package/lib/extractors/VueAttributeExtractor.js.map +1 -1
- package/lib/extractors/VueExpressionExtractor.d.ts +2 -2
- package/lib/extractors/VueExpressionExtractor.d.ts.map +1 -1
- package/lib/extractors/VueExpressionExtractor.js +18 -30
- package/lib/extractors/VueExpressionExtractor.js.map +1 -1
- package/lib/plugin/TailwindTypescriptPlugin.d.ts.map +1 -1
- package/lib/plugin/TailwindTypescriptPlugin.js +27 -10
- package/lib/plugin/TailwindTypescriptPlugin.js.map +1 -1
- package/lib/services/ClassNameExtractionService.d.ts +2 -8
- package/lib/services/ClassNameExtractionService.d.ts.map +1 -1
- package/lib/services/ClassNameExtractionService.js +2 -12
- package/lib/services/ClassNameExtractionService.js.map +1 -1
- package/lib/services/ClassNameExtractionService.spec.js +16 -16
- package/lib/services/CompletionService.d.ts +2 -2
- package/lib/services/CompletionService.d.ts.map +1 -1
- package/lib/services/CompletionService.js +3 -1
- package/lib/services/CompletionService.js.map +1 -1
- package/lib/services/CompletionService.spec.js +10 -10
- package/lib/services/CompletionService.spec.js.map +1 -1
- package/lib/services/ConflictClassDetection.spec.js +42 -42
- package/lib/services/ConflictClassDetection.spec.js.map +1 -1
- package/lib/services/DuplicateClassDetection.spec.js +32 -32
- package/lib/services/DuplicateClassDetection.spec.js.map +1 -1
- package/lib/services/PluginConfigService.d.ts +1 -11
- package/lib/services/PluginConfigService.d.ts.map +1 -1
- package/lib/services/PluginConfigService.js +0 -27
- package/lib/services/PluginConfigService.js.map +1 -1
- package/lib/services/PluginConfigService.spec.js +9 -3
- package/lib/services/PluginConfigService.spec.js.map +1 -1
- package/lib/services/ValidationService.d.ts +2 -2
- package/lib/services/ValidationService.d.ts.map +1 -1
- package/lib/services/ValidationService.js +2 -2
- package/lib/services/ValidationService.js.map +1 -1
- package/lib/services/ValidationService.spec.js +24 -24
- package/lib/utils/CssAutoDetector.d.ts +10 -0
- package/lib/utils/CssAutoDetector.d.ts.map +1 -0
- package/lib/utils/CssAutoDetector.js +93 -0
- package/lib/utils/CssAutoDetector.js.map +1 -0
- package/lib/utils/CssAutoDetector.spec.d.ts +2 -0
- package/lib/utils/CssAutoDetector.spec.d.ts.map +1 -0
- package/lib/utils/CssAutoDetector.spec.js +223 -0
- package/lib/utils/CssAutoDetector.spec.js.map +1 -0
- package/package.json +2 -2
|
@@ -75,7 +75,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
75
75
|
it('should detect conflicting text alignment classes on ALL classes', () => {
|
|
76
76
|
const sourceCode = '<div className="text-left text-center">Hello</div>';
|
|
77
77
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
78
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
78
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
79
79
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
80
80
|
// Both text-left and text-center should be flagged
|
|
81
81
|
expect(conflicts.length).toBe(2);
|
|
@@ -87,7 +87,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
87
87
|
it('should detect multiple text alignment conflicts on ALL classes', () => {
|
|
88
88
|
const sourceCode = '<div className="text-left text-center text-right">Hello</div>';
|
|
89
89
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
90
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
90
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
91
91
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
92
92
|
// All three classes should be flagged
|
|
93
93
|
expect(conflicts.length).toBe(3);
|
|
@@ -97,7 +97,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
97
97
|
it('should detect conflicting display classes on both', () => {
|
|
98
98
|
const sourceCode = '<div className="flex block">Hello</div>';
|
|
99
99
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
100
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
100
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
101
101
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
102
102
|
expect(conflicts.length).toBe(2);
|
|
103
103
|
expect(conflicts.some(c => c.messageText.includes('block'))).toBe(true);
|
|
@@ -107,14 +107,14 @@ describe('Conflicting Class Detection', () => {
|
|
|
107
107
|
it('should detect grid vs flex conflict on both', () => {
|
|
108
108
|
const sourceCode = '<div className="grid flex">Hello</div>';
|
|
109
109
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
110
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
110
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
111
111
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
112
112
|
expect(conflicts.length).toBe(2);
|
|
113
113
|
});
|
|
114
114
|
it('should detect hidden vs flex display conflict on both', () => {
|
|
115
115
|
const sourceCode = '<div className="flex hidden">Hello</div>';
|
|
116
116
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
117
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
117
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
118
118
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
119
119
|
expect(conflicts.length).toBe(2);
|
|
120
120
|
});
|
|
@@ -123,7 +123,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
123
123
|
it('should detect conflicting position classes on both', () => {
|
|
124
124
|
const sourceCode = '<div className="absolute relative">Hello</div>';
|
|
125
125
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
126
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
126
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
127
127
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
128
128
|
expect(conflicts.length).toBe(2);
|
|
129
129
|
expect(conflicts.every(c => c.messageText.includes('position'))).toBe(true);
|
|
@@ -131,7 +131,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
131
131
|
it('should detect sticky vs fixed conflict on both', () => {
|
|
132
132
|
const sourceCode = '<div className="sticky fixed">Hello</div>';
|
|
133
133
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
134
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
134
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
135
135
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
136
136
|
expect(conflicts.length).toBe(2);
|
|
137
137
|
});
|
|
@@ -140,7 +140,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
140
140
|
it('should detect conflicting flex direction classes on both', () => {
|
|
141
141
|
const sourceCode = '<div className="flex-row flex-col">Hello</div>';
|
|
142
142
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
143
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
143
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
144
144
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
145
145
|
expect(conflicts.length).toBe(2);
|
|
146
146
|
expect(conflicts.every(c => c.messageText.includes('flex-direction'))).toBe(true);
|
|
@@ -150,7 +150,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
150
150
|
it('should detect conflicting justify classes on both', () => {
|
|
151
151
|
const sourceCode = '<div className="justify-start justify-center">Hello</div>';
|
|
152
152
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
153
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
153
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
154
154
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
155
155
|
expect(conflicts.length).toBe(2);
|
|
156
156
|
expect(conflicts.every(c => c.messageText.includes('justify-content'))).toBe(true);
|
|
@@ -160,7 +160,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
160
160
|
it('should detect conflicting align-items classes on both', () => {
|
|
161
161
|
const sourceCode = '<div className="items-start items-center">Hello</div>';
|
|
162
162
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
163
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
163
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
164
164
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
165
165
|
expect(conflicts.length).toBe(2);
|
|
166
166
|
expect(conflicts.every(c => c.messageText.includes('align-items'))).toBe(true);
|
|
@@ -170,7 +170,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
170
170
|
it('should not flag different utility types', () => {
|
|
171
171
|
const sourceCode = '<div className="flex items-center justify-between p-4">Hello</div>';
|
|
172
172
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
173
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
173
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
174
174
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
175
175
|
expect(conflicts.length).toBe(0);
|
|
176
176
|
});
|
|
@@ -181,7 +181,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
181
181
|
</div>
|
|
182
182
|
`;
|
|
183
183
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
184
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
184
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
185
185
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
186
186
|
expect(conflicts.length).toBe(0);
|
|
187
187
|
});
|
|
@@ -189,7 +189,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
189
189
|
// Same class repeated is a duplicate, not a conflict
|
|
190
190
|
const sourceCode = '<div className="text-left text-left">Hello</div>';
|
|
191
191
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
192
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
192
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
193
193
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
194
194
|
expect(conflicts.length).toBe(0); // Should be duplicate, not conflict
|
|
195
195
|
});
|
|
@@ -197,7 +197,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
197
197
|
// p-4 and pt-4 don't conflict - they're different properties
|
|
198
198
|
const sourceCode = '<div className="p-4 pt-8">Hello</div>';
|
|
199
199
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
200
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
200
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
201
201
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
202
202
|
expect(conflicts.length).toBe(0);
|
|
203
203
|
});
|
|
@@ -207,7 +207,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
207
207
|
// text-left in true branch, text-center in false branch = no conflict (mutually exclusive)
|
|
208
208
|
const sourceCode = "<div className={isActive ? 'text-left' : 'text-center'}>Hello</div>";
|
|
209
209
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
210
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
210
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
211
211
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
212
212
|
expect(conflicts.length).toBe(0);
|
|
213
213
|
});
|
|
@@ -215,7 +215,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
215
215
|
// Root 'text-left' + branch 'text-center' = conflict on both
|
|
216
216
|
const sourceCode = "<div className={clsx('text-left', isActive && 'text-center')}>Hello</div>";
|
|
217
217
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
218
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
218
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, { clsx: '*' });
|
|
219
219
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
220
220
|
expect(conflicts.length).toBe(2);
|
|
221
221
|
});
|
|
@@ -223,7 +223,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
223
223
|
// Both text-left and text-center in the true branch = conflict
|
|
224
224
|
const sourceCode = "<div className={isActive ? 'text-left text-center' : 'text-right'}>Hello</div>";
|
|
225
225
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
226
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
226
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
227
227
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
228
228
|
expect(conflicts.length).toBe(2);
|
|
229
229
|
});
|
|
@@ -232,14 +232,14 @@ describe('Conflicting Class Detection', () => {
|
|
|
232
232
|
it('should detect conflicts in clsx arguments (both flagged)', () => {
|
|
233
233
|
const sourceCode = "<div className={clsx('flex', 'block', 'items-center')}>Hello</div>";
|
|
234
234
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
235
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
235
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, { clsx: '*' });
|
|
236
236
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
237
237
|
expect(conflicts.length).toBe(2);
|
|
238
238
|
});
|
|
239
239
|
it('should detect conflicts in cn function (both flagged)', () => {
|
|
240
240
|
const sourceCode = "<div className={cn('text-left text-right')}>Hello</div>";
|
|
241
241
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
242
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
242
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, { cn: '*' });
|
|
243
243
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
244
244
|
expect(conflicts.length).toBe(2);
|
|
245
245
|
});
|
|
@@ -248,7 +248,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
248
248
|
it('should detect conflicts with responsive variants (both flagged)', () => {
|
|
249
249
|
const sourceCode = '<div className="md:text-left md:text-center">Hello</div>';
|
|
250
250
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
251
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
251
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
252
252
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
253
253
|
expect(conflicts.length).toBe(2);
|
|
254
254
|
});
|
|
@@ -256,7 +256,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
256
256
|
// sm:text-left and md:text-center apply at different breakpoints
|
|
257
257
|
const sourceCode = '<div className="sm:text-left md:text-center">Hello</div>';
|
|
258
258
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
259
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
259
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
260
260
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
261
261
|
// Different prefixes mean different media queries, so no conflict
|
|
262
262
|
expect(conflicts.length).toBe(0);
|
|
@@ -265,7 +265,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
265
265
|
// sm:hover: and md:hover: are different prefixes
|
|
266
266
|
const sourceCode = '<div className="sm:hover:text-left md:hover:text-center">Hello</div>';
|
|
267
267
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
268
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
268
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
269
269
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
270
270
|
expect(conflicts.length).toBe(0);
|
|
271
271
|
});
|
|
@@ -273,7 +273,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
273
273
|
// sm:hover: and sm:focus: are different prefixes
|
|
274
274
|
const sourceCode = '<div className="sm:hover:text-left sm:focus:text-center">Hello</div>';
|
|
275
275
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
276
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
276
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
277
277
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
278
278
|
expect(conflicts.length).toBe(0);
|
|
279
279
|
});
|
|
@@ -281,7 +281,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
281
281
|
// hover: and md:hover: are different prefixes
|
|
282
282
|
const sourceCode = '<div className="hover:text-left md:hover:text-center">Hello</div>';
|
|
283
283
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
284
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
284
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
285
285
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
286
286
|
expect(conflicts.length).toBe(0);
|
|
287
287
|
});
|
|
@@ -289,7 +289,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
289
289
|
// sm:hover:text-left and sm:hover:text-center have the same prefix
|
|
290
290
|
const sourceCode = '<div className="sm:hover:text-left sm:hover:text-center">Hello</div>';
|
|
291
291
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
292
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
292
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
293
293
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
294
294
|
expect(conflicts.length).toBe(2);
|
|
295
295
|
});
|
|
@@ -297,7 +297,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
297
297
|
// text-left (no prefix) and md:text-center (md: prefix) are different
|
|
298
298
|
const sourceCode = '<div className="text-left md:text-center">Hello</div>';
|
|
299
299
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
300
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
300
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
301
301
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
302
302
|
expect(conflicts.length).toBe(0);
|
|
303
303
|
});
|
|
@@ -305,7 +305,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
305
305
|
// md:hover:focus: prefix - same prefix should conflict
|
|
306
306
|
const sourceCode = '<div className="md:hover:focus:text-left md:hover:focus:text-center">Hello</div>';
|
|
307
307
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
308
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
308
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
309
309
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
310
310
|
expect(conflicts.length).toBe(2);
|
|
311
311
|
});
|
|
@@ -314,7 +314,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
314
314
|
it('should detect conflicting overflow classes on both', () => {
|
|
315
315
|
const sourceCode = '<div className="overflow-hidden overflow-scroll">Hello</div>';
|
|
316
316
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
317
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
317
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
318
318
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
319
319
|
expect(conflicts.length).toBe(2);
|
|
320
320
|
expect(conflicts.every(c => c.messageText.includes('overflow'))).toBe(true);
|
|
@@ -324,7 +324,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
324
324
|
it('should detect conflicting visibility classes on both', () => {
|
|
325
325
|
const sourceCode = '<div className="visible invisible">Hello</div>';
|
|
326
326
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
327
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
327
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
328
328
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
329
329
|
expect(conflicts.length).toBe(2);
|
|
330
330
|
expect(conflicts.every(c => c.messageText.includes('visibility'))).toBe(true);
|
|
@@ -334,7 +334,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
334
334
|
it('should detect conflicting font style classes on both', () => {
|
|
335
335
|
const sourceCode = '<div className="italic not-italic">Hello</div>';
|
|
336
336
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
337
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
337
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
338
338
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
339
339
|
expect(conflicts.length).toBe(2);
|
|
340
340
|
expect(conflicts.every(c => c.messageText.includes('font-style'))).toBe(true);
|
|
@@ -344,7 +344,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
344
344
|
it('should detect conflicting text transform classes on both', () => {
|
|
345
345
|
const sourceCode = '<div className="uppercase lowercase">Hello</div>';
|
|
346
346
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
347
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
347
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
348
348
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
349
349
|
expect(conflicts.length).toBe(2);
|
|
350
350
|
expect(conflicts.every(c => c.messageText.includes('text-transform'))).toBe(true);
|
|
@@ -354,7 +354,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
354
354
|
it('should have correct warning message format on both classes', () => {
|
|
355
355
|
const sourceCode = '<div className="flex grid">Hello</div>';
|
|
356
356
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
357
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
357
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
358
358
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
359
359
|
expect(conflicts.length).toBe(2);
|
|
360
360
|
// One should say flex conflicts with grid, other says grid conflicts with flex
|
|
@@ -365,7 +365,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
365
365
|
it('should have source set to tw-plugin', () => {
|
|
366
366
|
const sourceCode = '<div className="text-left text-right">Hello</div>';
|
|
367
367
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
368
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
368
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
369
369
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
370
370
|
expect(conflicts.every(c => c.source === 'tw-plugin')).toBe(true);
|
|
371
371
|
});
|
|
@@ -379,7 +379,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
379
379
|
});
|
|
380
380
|
`;
|
|
381
381
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
382
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
382
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
383
383
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
384
384
|
expect(conflicts.length).toBe(2);
|
|
385
385
|
expect(conflicts.every(c => c.messageText.includes('display'))).toBe(true);
|
|
@@ -397,7 +397,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
397
397
|
});
|
|
398
398
|
`;
|
|
399
399
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
400
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
400
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
401
401
|
// Base vs variant classes should NOT conflict - variants are designed to override base styles
|
|
402
402
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
403
403
|
expect(conflicts.length).toBe(0);
|
|
@@ -413,7 +413,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
413
413
|
});
|
|
414
414
|
`;
|
|
415
415
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
416
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
416
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
417
417
|
// Each tv() call has its own scope, so no conflicts
|
|
418
418
|
expect(diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE).length).toBe(0);
|
|
419
419
|
});
|
|
@@ -425,7 +425,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
425
425
|
const button = cva(['flex', 'grid', 'items-center']);
|
|
426
426
|
`;
|
|
427
427
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
428
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
428
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
429
429
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
430
430
|
expect(conflicts.length).toBe(2);
|
|
431
431
|
expect(conflicts.every(c => c.messageText.includes('display'))).toBe(true);
|
|
@@ -442,7 +442,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
442
442
|
});
|
|
443
443
|
`;
|
|
444
444
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
445
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
445
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
446
446
|
// Base vs variant classes should NOT conflict - variants are designed to override base styles
|
|
447
447
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
448
448
|
expect(conflicts.length).toBe(0);
|
|
@@ -454,7 +454,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
454
454
|
const card = cva(['grid']);
|
|
455
455
|
`;
|
|
456
456
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
457
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
457
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
458
458
|
// Each cva() call has its own scope, so no conflicts
|
|
459
459
|
expect(diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE).length).toBe(0);
|
|
460
460
|
});
|
|
@@ -470,7 +470,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
470
470
|
});
|
|
471
471
|
`;
|
|
472
472
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
473
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
473
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
474
474
|
// Conflicts within the same variant option SHOULD be flagged
|
|
475
475
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
476
476
|
expect(conflicts.length).toBe(2);
|
|
@@ -491,7 +491,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
491
491
|
});
|
|
492
492
|
`;
|
|
493
493
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
494
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
494
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
495
495
|
// Conflicts within the same variant option SHOULD be flagged
|
|
496
496
|
const conflicts = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_CONFLICT_CODE);
|
|
497
497
|
expect(conflicts.length).toBe(2);
|
|
@@ -512,7 +512,7 @@ describe('Conflicting Class Detection', () => {
|
|
|
512
512
|
});
|
|
513
513
|
`;
|
|
514
514
|
const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
|
|
515
|
-
const diagnostics = validationService.validateFile(ts, sourceFile,
|
|
515
|
+
const diagnostics = validationService.validateFile(ts, sourceFile, {});
|
|
516
516
|
// Note: Ideally different variant options are mutually exclusive (only one active at runtime),
|
|
517
517
|
// so they shouldn't conflict. However, this would require tracking which variant OPTION
|
|
518
518
|
// each class belongs to, which adds complexity. For now, we flag these as conflicts.
|
|
@@ -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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"}
|