tailwind-typescript-plugin 1.4.1-beta.12 → 1.4.1-beta.13

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 (43) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +212 -143
  3. package/lib/core/interfaces.d.ts +17 -12
  4. package/lib/core/interfaces.d.ts.map +1 -1
  5. package/lib/core/types.d.ts +75 -0
  6. package/lib/core/types.d.ts.map +1 -1
  7. package/lib/infrastructure/TailwindValidator.css-vars.spec.js +1 -11
  8. package/lib/infrastructure/TailwindValidator.css-vars.spec.js.map +1 -1
  9. package/lib/infrastructure/TailwindValidator.d.ts +1 -3
  10. package/lib/infrastructure/TailwindValidator.d.ts.map +1 -1
  11. package/lib/infrastructure/TailwindValidator.js +6 -26
  12. package/lib/infrastructure/TailwindValidator.js.map +1 -1
  13. package/lib/infrastructure/TailwindValidator.spec.js +7 -17
  14. package/lib/infrastructure/TailwindValidator.spec.js.map +1 -1
  15. package/lib/plugin/TailwindTypescriptPlugin.d.ts +0 -1
  16. package/lib/plugin/TailwindTypescriptPlugin.d.ts.map +1 -1
  17. package/lib/plugin/TailwindTypescriptPlugin.js +26 -60
  18. package/lib/plugin/TailwindTypescriptPlugin.js.map +1 -1
  19. package/lib/services/CodeActionService.spec.js +1 -2
  20. package/lib/services/CodeActionService.spec.js.map +1 -1
  21. package/lib/services/CompletionService.d.ts +1 -3
  22. package/lib/services/CompletionService.d.ts.map +1 -1
  23. package/lib/services/CompletionService.js +1 -12
  24. package/lib/services/CompletionService.js.map +1 -1
  25. package/lib/services/CompletionService.spec.js +11 -12
  26. package/lib/services/CompletionService.spec.js.map +1 -1
  27. package/lib/services/ConflictClassDetection.spec.js +5 -5
  28. package/lib/services/ConflictClassDetection.spec.js.map +1 -1
  29. package/lib/services/DiagnosticService.d.ts +8 -8
  30. package/lib/services/DiagnosticService.d.ts.map +1 -1
  31. package/lib/services/DiagnosticService.js +29 -13
  32. package/lib/services/DiagnosticService.js.map +1 -1
  33. package/lib/services/DuplicateClassDetection.spec.js +20 -21
  34. package/lib/services/DuplicateClassDetection.spec.js.map +1 -1
  35. package/lib/services/PluginConfigService.d.ts +38 -15
  36. package/lib/services/PluginConfigService.d.ts.map +1 -1
  37. package/lib/services/PluginConfigService.js +182 -82
  38. package/lib/services/PluginConfigService.js.map +1 -1
  39. package/lib/services/ValidationService.d.ts +5 -4
  40. package/lib/services/ValidationService.d.ts.map +1 -1
  41. package/lib/services/ValidationService.js +39 -42
  42. package/lib/services/ValidationService.js.map +1 -1
  43. package/package.json +1 -1
@@ -54,11 +54,27 @@ exports.TAILWIND_EXTRACTABLE_CLASS_CODE = 90003;
54
54
  * Used when classes that affect the same CSS property are used together
55
55
  */
56
56
  exports.TAILWIND_CONFLICT_CODE = 90004;
57
+ /**
58
+ * Convert our severity type to TypeScript's DiagnosticCategory
59
+ */
60
+ function severityToCategory(severity) {
61
+ switch (severity) {
62
+ case 'error':
63
+ return ts.DiagnosticCategory.Error;
64
+ case 'warning':
65
+ return ts.DiagnosticCategory.Warning;
66
+ case 'suggestion':
67
+ return ts.DiagnosticCategory.Suggestion;
68
+ case 'off':
69
+ // This shouldn't be called if severity is 'off', but handle it gracefully
70
+ return ts.DiagnosticCategory.Warning;
71
+ }
72
+ }
57
73
  /**
58
74
  * Service responsible for creating TypeScript diagnostics
59
75
  */
60
76
  class DiagnosticService {
61
- createDiagnostic(classInfo, sourceFile) {
77
+ createDiagnostic(classInfo, sourceFile, severity = 'error') {
62
78
  let messageText = `The class "${classInfo.className}" is not a valid Tailwind class`;
63
79
  // Add context for variable references
64
80
  if (classInfo.variableUsage) {
@@ -69,7 +85,7 @@ class DiagnosticService {
69
85
  start: classInfo.absoluteStart,
70
86
  length: classInfo.length,
71
87
  messageText,
72
- category: ts.DiagnosticCategory.Error,
88
+ category: severityToCategory(severity),
73
89
  code: exports.TAILWIND_DIAGNOSTIC_CODE,
74
90
  source: 'tw-plugin'
75
91
  };
@@ -77,7 +93,7 @@ class DiagnosticService {
77
93
  /**
78
94
  * Create a warning diagnostic for duplicate class
79
95
  */
80
- createDuplicateDiagnostic(classInfo, sourceFile) {
96
+ createDuplicateDiagnostic(classInfo, sourceFile, severity = 'warning') {
81
97
  let messageText = `Duplicate class "${classInfo.className}"`;
82
98
  // Add context for variable references
83
99
  if (classInfo.variableUsage) {
@@ -88,7 +104,7 @@ class DiagnosticService {
88
104
  start: classInfo.absoluteStart,
89
105
  length: classInfo.length,
90
106
  messageText,
91
- category: ts.DiagnosticCategory.Warning,
107
+ category: severityToCategory(severity),
92
108
  code: exports.TAILWIND_DUPLICATE_CODE,
93
109
  source: 'tw-plugin'
94
110
  };
@@ -96,17 +112,17 @@ class DiagnosticService {
96
112
  /**
97
113
  * Create multiple diagnostics from class info array
98
114
  */
99
- createDiagnostics(classInfos, sourceFile) {
100
- return classInfos.map(classInfo => this.createDiagnostic(classInfo, sourceFile));
115
+ createDiagnostics(classInfos, sourceFile, severity = 'error') {
116
+ return classInfos.map(classInfo => this.createDiagnostic(classInfo, sourceFile, severity));
101
117
  }
102
118
  /**
103
119
  * Create multiple duplicate warning diagnostics
104
120
  */
105
- createDuplicateDiagnostics(classInfos, sourceFile) {
106
- return classInfos.map(classInfo => this.createDuplicateDiagnostic(classInfo, sourceFile));
121
+ createDuplicateDiagnostics(classInfos, sourceFile, severity = 'warning') {
122
+ return classInfos.map(classInfo => this.createDuplicateDiagnostic(classInfo, sourceFile, severity));
107
123
  }
108
124
  /**
109
- * Create a warning diagnostic for extractable class (appears in all ternary branches)
125
+ * Create a hint diagnostic for extractable class (appears in all ternary branches)
110
126
  */
111
127
  createExtractableClassDiagnostic(classInfo, sourceFile) {
112
128
  const messageText = `Class "${classInfo.className}" is repeated in both branches. Consider moving it outside the conditional.`;
@@ -129,7 +145,7 @@ class DiagnosticService {
129
145
  /**
130
146
  * Create a warning diagnostic for conflicting class
131
147
  */
132
- createConflictDiagnostic(conflictInfo, sourceFile) {
148
+ createConflictDiagnostic(conflictInfo, sourceFile, severity = 'warning') {
133
149
  const conflictingClassList = conflictInfo.conflictsWith.join(', ');
134
150
  let messageText = `Class "${conflictInfo.classInfo.className}" conflicts with "${conflictingClassList}". Both affect the ${conflictInfo.cssProperty} property.`;
135
151
  // Add context for variable references
@@ -141,7 +157,7 @@ class DiagnosticService {
141
157
  start: conflictInfo.classInfo.absoluteStart,
142
158
  length: conflictInfo.classInfo.length,
143
159
  messageText,
144
- category: ts.DiagnosticCategory.Warning,
160
+ category: severityToCategory(severity),
145
161
  code: exports.TAILWIND_CONFLICT_CODE,
146
162
  source: 'tw-plugin'
147
163
  };
@@ -149,8 +165,8 @@ class DiagnosticService {
149
165
  /**
150
166
  * Create multiple conflict warning diagnostics
151
167
  */
152
- createConflictDiagnostics(conflictInfos, sourceFile) {
153
- return conflictInfos.map(conflictInfo => this.createConflictDiagnostic(conflictInfo, sourceFile));
168
+ createConflictDiagnostics(conflictInfos, sourceFile, severity = 'warning') {
169
+ return conflictInfos.map(conflictInfo => this.createConflictDiagnostic(conflictInfo, sourceFile, severity));
154
170
  }
155
171
  }
156
172
  exports.DiagnosticService = DiagnosticService;
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticService.js","sourceRoot":"","sources":["../../src/services/DiagnosticService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DiagnosticService.js","sourceRoot":"","sources":["../../src/services/DiagnosticService.ts"],"names":[],"mappings":"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"}
@@ -34,9 +34,9 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  const ts = __importStar(require("typescript/lib/tsserverlibrary"));
37
- const Logger_1 = require("../utils/Logger");
38
37
  const ClassNameExtractionService_1 = require("./ClassNameExtractionService");
39
38
  const DiagnosticService_1 = require("./DiagnosticService");
39
+ const PluginConfigService_1 = require("./PluginConfigService");
40
40
  const ValidationService_1 = require("./ValidationService");
41
41
  // Mock validator that considers all classes valid (for testing duplicates only)
42
42
  class MockValidator {
@@ -58,13 +58,13 @@ describe('Duplicate Class Detection', () => {
58
58
  let diagnosticService;
59
59
  let extractionService;
60
60
  let mockValidator;
61
- let logger;
61
+ let configService;
62
62
  beforeEach(() => {
63
63
  diagnosticService = new DiagnosticService_1.DiagnosticService();
64
64
  extractionService = new ClassNameExtractionService_1.ClassNameExtractionService();
65
65
  mockValidator = new MockValidator();
66
- logger = new Logger_1.NoOpLogger();
67
- validationService = new ValidationService_1.ValidationService(extractionService, diagnosticService, mockValidator, logger);
66
+ configService = new PluginConfigService_1.PluginConfigService({});
67
+ validationService = new ValidationService_1.ValidationService(extractionService, diagnosticService, mockValidator, configService);
68
68
  });
69
69
  describe('simple string literals', () => {
70
70
  it('should detect duplicate classes in className string', () => {
@@ -177,17 +177,16 @@ describe('Duplicate Class Detection', () => {
177
177
  expect(duplicates.length).toBe(3);
178
178
  expect(duplicates.every(d => d.category === ts.DiagnosticCategory.Warning)).toBe(true);
179
179
  });
180
- it('should show hint when class appears in both branches but NOT at root', () => {
180
+ it('should flag extractable class when class appears in both branches but NOT at root', () => {
181
181
  // Case: clsx('mt-4', isActive ? 'flex bg-blue-500' : 'flex bg-gray-500')
182
- // No root 'flex', but 'flex' in both branches = extractable hint
182
+ // No root 'flex', but 'flex' in both branches = extractable hint (can be moved outside)
183
183
  const sourceCode = "<div className={clsx('mt-4', isActive ? 'flex bg-blue-500' : 'flex bg-gray-500')}>Hello</div>";
184
184
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
185
185
  const diagnostics = validationService.validateFile(ts, sourceFile, ['clsx']);
186
- // Should have 2 extractable warnings (one for each 'flex' in both branches)
187
- const hints = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_EXTRACTABLE_CLASS_CODE);
188
- expect(hints.length).toBe(2);
189
- expect(hints.every(h => h.category === ts.DiagnosticCategory.Warning)).toBe(true);
190
- expect(hints.every(h => h.messageText.includes('repeated in both branches'))).toBe(true);
186
+ // 2 extractable hints - one for each 'flex' in both branches
187
+ const extractable = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_EXTRACTABLE_CLASS_CODE);
188
+ expect(extractable.length).toBe(2);
189
+ expect(extractable.every(d => d.category === ts.DiagnosticCategory.Warning)).toBe(true);
191
190
  });
192
191
  it('should not flag class in only one ternary branch', () => {
193
192
  // Case: clsx('mt-4', isActive ? 'flex bg-blue-500' : 'bg-gray-500')
@@ -207,25 +206,25 @@ describe('Duplicate Class Detection', () => {
207
206
  expect(duplicates.length).toBe(2);
208
207
  expect(duplicates.every(d => d.category === ts.DiagnosticCategory.Warning)).toBe(true);
209
208
  });
210
- it('should handle simple ternary without utility function', () => {
209
+ it('should flag extractable class for simple ternary with same class in both branches', () => {
211
210
  // Case: className={isActive ? 'flex bg-blue-500' : 'flex bg-gray-500'}
211
+ // Same class in both branches = extractable hint (can be moved outside)
212
212
  const sourceCode = "<div className={isActive ? 'flex bg-blue-500' : 'flex bg-gray-500'}>Hello</div>";
213
213
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
214
214
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
215
- // Should have 2 extractable hints (one for each branch)
216
- const hints = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_EXTRACTABLE_CLASS_CODE);
217
- expect(hints.length).toBe(2);
218
- expect(hints.every(h => h.messageText.includes('flex'))).toBe(true);
215
+ // 2 extractable hints - one for each 'flex' in both branches
216
+ const extractable = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_EXTRACTABLE_CLASS_CODE);
217
+ expect(extractable.length).toBe(2);
219
218
  });
220
- it('should handle multiple extractable classes in ternary', () => {
219
+ it('should flag extractable classes for multiple classes appearing in both ternary branches', () => {
221
220
  // Case: className={isActive ? 'flex items-center p-4' : 'flex items-center m-4'}
222
- // Both 'flex' and 'items-center' appear in both branches
221
+ // Both 'flex' and 'items-center' appear in both branches = extractable hints
223
222
  const sourceCode = "<div className={isActive ? 'flex items-center p-4' : 'flex items-center m-4'}>Hello</div>";
224
223
  const sourceFile = ts.createSourceFile('test.tsx', sourceCode, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
225
224
  const diagnostics = validationService.validateFile(ts, sourceFile, []);
226
- const hints = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_EXTRACTABLE_CLASS_CODE);
227
- // 2 classes (flex, items-center) × 2 branches = 4 hints
228
- expect(hints.length).toBe(4);
225
+ // 4 extractable hints - 2 for 'flex' + 2 for 'items-center' (in both branches)
226
+ const extractable = diagnostics.filter(d => d.code === DiagnosticService_1.TAILWIND_EXTRACTABLE_CLASS_CODE);
227
+ expect(extractable.length).toBe(4);
229
228
  });
230
229
  });
231
230
  describe('binary expressions (&&)', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"DuplicateClassDetection.spec.js","sourceRoot":"","sources":["../../src/services/DuplicateClassDetection.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DuplicateClassDetection.spec.js","sourceRoot":"","sources":["../../src/services/DuplicateClassDetection.spec.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,51 @@
1
1
  import { IPluginConfig } from '../core/interfaces';
2
- import { UtilityFunction } from '../core/types';
3
- import { Logger } from '../utils/Logger';
2
+ import { DiagnosticSeverity, EditorConfig, LintConfig, UtilitiesConfig, UtilityFunction, ValidationConfig, VariantsConfig } from '../core/types';
4
3
  /**
5
4
  * Service responsible for managing plugin configuration
6
5
  * Follows Single Responsibility Principle
7
6
  */
8
7
  export declare class PluginConfigService {
9
- private readonly logger;
10
- private utilityFunctions;
8
+ private utilitiesConfig;
9
+ private variantsConfig;
10
+ private validationConfig;
11
+ private lintConfig;
12
+ private editorConfig;
11
13
  private cssFilePath?;
12
- private tailwindVariantsEnabled;
13
- private classVarianceAuthorityEnabled;
14
- private allowedClasses;
15
- private loggingEnabled;
16
- constructor(config: IPluginConfig, logger: Logger);
17
- private initializeUtilityFunctions;
18
- private initializeAllowedClasses;
14
+ private utilityFunctionsLegacy;
15
+ constructor(config: IPluginConfig);
16
+ private initializeUtilities;
17
+ private initializeVariants;
18
+ private initializeValidation;
19
+ private initializeLint;
20
+ private initializeEditor;
21
+ /**
22
+ * Convert new utilities config to legacy UtilityFunction[] format
23
+ * This is needed for backwards compatibility with extractors
24
+ */
25
+ private convertToLegacyFormat;
26
+ getUtilitiesConfig(): UtilitiesConfig;
27
+ /**
28
+ * Get utility functions in legacy format (for extractors)
29
+ */
19
30
  getUtilityFunctions(): UtilityFunction[];
20
- getCssFilePath(): string | undefined;
21
- hasValidCssPath(): boolean;
31
+ getVariantsConfig(): VariantsConfig;
22
32
  isTailwindVariantsEnabled(): boolean;
23
33
  isClassVarianceAuthorityEnabled(): boolean;
34
+ getValidationConfig(): ValidationConfig;
35
+ isValidationEnabled(): boolean;
36
+ getValidationSeverity(): DiagnosticSeverity;
24
37
  getAllowedClasses(): string[];
25
- isLoggingEnabled(): boolean;
26
- private logExtractorConfig;
38
+ getLintConfig(): LintConfig;
39
+ isLintEnabled(): boolean;
40
+ isConflictingClassesEnabled(): boolean;
41
+ getConflictingClassesSeverity(): DiagnosticSeverity;
42
+ isRepeatedClassesEnabled(): boolean;
43
+ getRepeatedClassesSeverity(): DiagnosticSeverity;
44
+ getEditorConfig(): EditorConfig;
45
+ isEditorEnabled(): boolean;
46
+ isAutocompleteEnabled(): boolean;
47
+ isHoverEnabled(): boolean;
48
+ getCssFilePath(): string | undefined;
49
+ hasValidCssPath(): boolean;
27
50
  }
28
51
  //# sourceMappingURL=PluginConfigService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginConfigService.d.ts","sourceRoot":"","sources":["../../src/services/PluginConfigService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAiBzC;;;GAGG;AACH,qBAAa,mBAAmB;IAU9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IATxB,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,uBAAuB,CAAU;IACzC,OAAO,CAAC,6BAA6B,CAAU;IAC/C,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,cAAc,CAAU;gBAG/B,MAAM,EAAE,aAAa,EACJ,MAAM,EAAE,MAAM;IA4BhC,OAAO,CAAC,0BAA0B;IA2BlC,OAAO,CAAC,wBAAwB;IAShC,mBAAmB,IAAI,eAAe,EAAE;IAIxC,cAAc,IAAI,MAAM,GAAG,SAAS;IAIpC,eAAe,IAAI,OAAO;IAI1B,yBAAyB,IAAI,OAAO;IAIpC,+BAA+B,IAAI,OAAO;IAI1C,iBAAiB,IAAI,MAAM,EAAE;IAI7B,gBAAgB,IAAI,OAAO;IAI3B,OAAO,CAAC,kBAAkB;CAW1B"}
1
+ {"version":3,"file":"PluginConfigService.d.ts","sourceRoot":"","sources":["../../src/services/PluginConfigService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACN,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,MAAM,eAAe,CAAC;AAiDvB;;;GAGG;AACH,qBAAa,mBAAmB;IAC/B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,gBAAgB,CAEtB;IACF,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAC,CAAS;IAG7B,OAAO,CAAC,sBAAsB,CAAoB;gBAEtC,MAAM,EAAE,aAAa;IAcjC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,gBAAgB;IAcxB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAmB7B,kBAAkB,IAAI,eAAe;IAIrC;;OAEG;IACH,mBAAmB,IAAI,eAAe,EAAE;IAMxC,iBAAiB,IAAI,cAAc;IAInC,yBAAyB,IAAI,OAAO;IAIpC,+BAA+B,IAAI,OAAO;IAM1C,mBAAmB,IAAI,gBAAgB;IAIvC,mBAAmB,IAAI,OAAO;IAI9B,qBAAqB,IAAI,kBAAkB;IAI3C,iBAAiB,IAAI,MAAM,EAAE;IAM7B,aAAa,IAAI,UAAU;IAI3B,aAAa,IAAI,OAAO;IAIxB,2BAA2B,IAAI,OAAO;IAItC,6BAA6B,IAAI,kBAAkB;IAInD,wBAAwB,IAAI,OAAO;IAInC,0BAA0B,IAAI,kBAAkB;IAMhD,eAAe,IAAI,YAAY;IAI/B,eAAe,IAAI,OAAO;IAI1B,qBAAqB,IAAI,OAAO;IAIhC,cAAc,IAAI,OAAO;IAMzB,cAAc,IAAI,MAAM,GAAG,SAAS;IAIpC,eAAe,IAAI,OAAO;CAG1B"}