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

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 (67) hide show
  1. package/CHANGELOG.md +16 -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 +81 -0
  6. package/lib/core/types.d.ts.map +1 -1
  7. package/lib/extractors/SvelteAttributeExtractor.d.ts +17 -0
  8. package/lib/extractors/SvelteAttributeExtractor.d.ts.map +1 -0
  9. package/lib/extractors/SvelteAttributeExtractor.js +27 -0
  10. package/lib/extractors/SvelteAttributeExtractor.js.map +1 -0
  11. package/lib/extractors/VueAttributeExtractor.d.ts +18 -0
  12. package/lib/extractors/VueAttributeExtractor.d.ts.map +1 -0
  13. package/lib/extractors/VueAttributeExtractor.js +28 -0
  14. package/lib/extractors/VueAttributeExtractor.js.map +1 -0
  15. package/lib/infrastructure/TailwindValidator.css-vars.spec.js +1 -11
  16. package/lib/infrastructure/TailwindValidator.css-vars.spec.js.map +1 -1
  17. package/lib/infrastructure/TailwindValidator.d.ts +1 -3
  18. package/lib/infrastructure/TailwindValidator.d.ts.map +1 -1
  19. package/lib/infrastructure/TailwindValidator.js +6 -26
  20. package/lib/infrastructure/TailwindValidator.js.map +1 -1
  21. package/lib/infrastructure/TailwindValidator.spec.js +7 -17
  22. package/lib/infrastructure/TailwindValidator.spec.js.map +1 -1
  23. package/lib/plugin/TailwindTypescriptPlugin.d.ts +0 -1
  24. package/lib/plugin/TailwindTypescriptPlugin.d.ts.map +1 -1
  25. package/lib/plugin/TailwindTypescriptPlugin.js +29 -66
  26. package/lib/plugin/TailwindTypescriptPlugin.js.map +1 -1
  27. package/lib/services/ClassNameExtractionService.d.ts +19 -3
  28. package/lib/services/ClassNameExtractionService.d.ts.map +1 -1
  29. package/lib/services/ClassNameExtractionService.js +74 -13
  30. package/lib/services/ClassNameExtractionService.js.map +1 -1
  31. package/lib/services/ClassNameExtractionService.spec.d.ts +2 -0
  32. package/lib/services/ClassNameExtractionService.spec.d.ts.map +1 -0
  33. package/lib/services/ClassNameExtractionService.spec.js +160 -0
  34. package/lib/services/ClassNameExtractionService.spec.js.map +1 -0
  35. package/lib/services/CodeActionService.spec.js +1 -2
  36. package/lib/services/CodeActionService.spec.js.map +1 -1
  37. package/lib/services/CompletionService.d.ts +1 -3
  38. package/lib/services/CompletionService.d.ts.map +1 -1
  39. package/lib/services/CompletionService.js +1 -12
  40. package/lib/services/CompletionService.js.map +1 -1
  41. package/lib/services/CompletionService.spec.js +11 -12
  42. package/lib/services/CompletionService.spec.js.map +1 -1
  43. package/lib/services/ConflictClassDetection.spec.js +5 -5
  44. package/lib/services/ConflictClassDetection.spec.js.map +1 -1
  45. package/lib/services/DiagnosticService.d.ts +8 -8
  46. package/lib/services/DiagnosticService.d.ts.map +1 -1
  47. package/lib/services/DiagnosticService.js +29 -13
  48. package/lib/services/DiagnosticService.js.map +1 -1
  49. package/lib/services/DuplicateClassDetection.spec.js +20 -21
  50. package/lib/services/DuplicateClassDetection.spec.js.map +1 -1
  51. package/lib/services/PluginConfigService.d.ts +38 -15
  52. package/lib/services/PluginConfigService.d.ts.map +1 -1
  53. package/lib/services/PluginConfigService.js +182 -82
  54. package/lib/services/PluginConfigService.js.map +1 -1
  55. package/lib/services/ValidationService.d.ts +5 -4
  56. package/lib/services/ValidationService.d.ts.map +1 -1
  57. package/lib/services/ValidationService.js +39 -42
  58. package/lib/services/ValidationService.js.map +1 -1
  59. package/lib/utils/FrameworkDetector.d.ts +24 -0
  60. package/lib/utils/FrameworkDetector.d.ts.map +1 -0
  61. package/lib/utils/FrameworkDetector.js +52 -0
  62. package/lib/utils/FrameworkDetector.js.map +1 -0
  63. package/lib/utils/FrameworkDetector.spec.d.ts +2 -0
  64. package/lib/utils/FrameworkDetector.spec.d.ts.map +1 -0
  65. package/lib/utils/FrameworkDetector.spec.js +75 -0
  66. package/lib/utils/FrameworkDetector.spec.js.map +1 -0
  67. package/package.json +1 -1
@@ -7,11 +7,11 @@ const TailwindConflictDetector_1 = require("../infrastructure/TailwindConflictDe
7
7
  * Orchestrates the validation workflow
8
8
  */
9
9
  class ValidationService {
10
- constructor(extractionService, diagnosticService, validator, logger, cssProvider) {
10
+ constructor(extractionService, diagnosticService, validator, configService, cssProvider) {
11
11
  this.extractionService = extractionService;
12
12
  this.diagnosticService = diagnosticService;
13
13
  this.validator = validator;
14
- this.logger = logger;
14
+ this.configService = configService;
15
15
  this.conflictDetector = new TailwindConflictDetector_1.TailwindConflictDetector();
16
16
  if (cssProvider) {
17
17
  this.conflictDetector.setCssProvider(cssProvider);
@@ -23,50 +23,48 @@ class ValidationService {
23
23
  */
24
24
  validateFile(typescript, sourceFile, utilityFunctions, typeChecker) {
25
25
  if (!this.validator.isInitialized()) {
26
- this.logger.log(`[ValidationService] Validator not initialized yet for ${sourceFile.fileName}`);
27
26
  return [];
28
27
  }
29
- // PERFORMANCE: Only log if enabled
30
- if (this.logger.isEnabled()) {
31
- this.logger.log(`[ValidationService] Processing file: ${sourceFile.fileName}`);
32
- }
33
28
  // Extract all class names from the file
34
29
  const classNames = this.extractionService.extractFromSourceFile(typescript, sourceFile, utilityFunctions, typeChecker);
35
- // PERFORMANCE: Only log if enabled
36
- if (this.logger.isEnabled()) {
37
- this.logger.log(`[ValidationService] Found ${classNames.length} class names to validate`);
30
+ const diagnostics = [];
31
+ // Validation diagnostics (invalid class detection)
32
+ if (this.configService.isValidationEnabled()) {
33
+ const severity = this.configService.getValidationSeverity();
34
+ if (severity !== 'off') {
35
+ const invalidClasses = this.filterInvalidClasses(classNames);
36
+ if (invalidClasses.length > 0) {
37
+ diagnostics.push(...this.diagnosticService.createDiagnostics(invalidClasses, sourceFile, severity));
38
+ }
39
+ }
38
40
  }
39
- // Filter invalid class names
40
- const invalidClasses = this.filterInvalidClasses(classNames);
41
- // Detect duplicate classes (only for valid classes, to avoid double-reporting)
42
- const { trueDuplicates, extractableClasses } = this.findDuplicateClasses(classNames);
43
- // Detect conflicting classes (only for valid, non-duplicate classes)
44
- const conflicts = this.conflictDetector.findConflicts(classNames);
45
- // PERFORMANCE: Only log if enabled
46
- if (this.logger.isEnabled()) {
47
- const totalIssues = invalidClasses.length +
48
- trueDuplicates.length +
49
- extractableClasses.length +
50
- conflicts.length;
51
- if (totalIssues > 0) {
52
- this.logger.log(`[ValidationService] Returning ${invalidClasses.length} invalid + ${trueDuplicates.length} duplicate + ${extractableClasses.length} extractable + ${conflicts.length} conflict diagnostics`);
41
+ // Lint diagnostics (only if lint is enabled globally)
42
+ if (this.configService.isLintEnabled()) {
43
+ // Detect duplicate and extractable classes
44
+ const { trueDuplicates, extractableClasses } = this.findDuplicateClasses(classNames);
45
+ // Repeated classes
46
+ if (this.configService.isRepeatedClassesEnabled()) {
47
+ const severity = this.configService.getRepeatedClassesSeverity();
48
+ if (severity !== 'off') {
49
+ if (trueDuplicates.length > 0) {
50
+ diagnostics.push(...this.diagnosticService.createDuplicateDiagnostics(trueDuplicates, sourceFile, severity));
51
+ }
52
+ }
53
53
  }
54
- else {
55
- this.logger.log(`[ValidationService] No issues found`);
54
+ // Extractable classes (always enabled when lint is enabled, no config option)
55
+ if (extractableClasses.length > 0) {
56
+ diagnostics.push(...this.diagnosticService.createExtractableClassDiagnostics(extractableClasses, sourceFile));
57
+ }
58
+ // Conflicting classes
59
+ if (this.configService.isConflictingClassesEnabled()) {
60
+ const severity = this.configService.getConflictingClassesSeverity();
61
+ if (severity !== 'off') {
62
+ const conflicts = this.conflictDetector.findConflicts(classNames);
63
+ if (conflicts.length > 0) {
64
+ diagnostics.push(...this.diagnosticService.createConflictDiagnostics(conflicts, sourceFile, severity));
65
+ }
66
+ }
56
67
  }
57
- }
58
- const diagnostics = [];
59
- if (invalidClasses.length > 0) {
60
- diagnostics.push(...this.diagnosticService.createDiagnostics(invalidClasses, sourceFile));
61
- }
62
- if (trueDuplicates.length > 0) {
63
- diagnostics.push(...this.diagnosticService.createDuplicateDiagnostics(trueDuplicates, sourceFile));
64
- }
65
- if (extractableClasses.length > 0) {
66
- diagnostics.push(...this.diagnosticService.createExtractableClassDiagnostics(extractableClasses, sourceFile));
67
- }
68
- if (conflicts.length > 0) {
69
- diagnostics.push(...this.diagnosticService.createConflictDiagnostics(conflicts, sourceFile));
70
68
  }
71
69
  return diagnostics;
72
70
  }
@@ -75,12 +73,11 @@ class ValidationService {
75
73
  * PERFORMANCE OPTIMIZED: No logging in hot path
76
74
  */
77
75
  filterInvalidClasses(classNames) {
78
- // PERFORMANCE: Skip logging each class validation (hot path)
79
- // This method is called for every class in every file
80
76
  return classNames.filter(classInfo => !this.validator.isValidClass(classInfo.className));
81
77
  }
82
78
  /**
83
- * Result of duplicate detection with separate categories
79
+ * Find duplicate and extractable classes within the same attribute
80
+ * Returns true duplicates and extractable classes (same class in both ternary branches)
84
81
  */
85
82
  findDuplicateClasses(classNames) {
86
83
  const trueDuplicates = [];
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationService.js","sourceRoot":"","sources":["../../src/services/ValidationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValidationService.js","sourceRoot":"","sources":["../../src/services/ValidationService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Supported frameworks for class name extraction
3
+ */
4
+ export declare enum Framework {
5
+ JSX = "jsx",
6
+ VUE = "vue",
7
+ SVELTE = "svelte"
8
+ }
9
+ /**
10
+ * Detects the framework based on file extension
11
+ * Assumes pre-processors like @vue/language-tools are configured
12
+ *
13
+ * @param fileName - The file name or path
14
+ * @returns The detected framework or null if not supported
15
+ */
16
+ export declare function detectFramework(fileName: string): Framework | null;
17
+ /**
18
+ * Checks if a file should be validated based on its extension
19
+ *
20
+ * @param fileName - The file name or path
21
+ * @returns True if the file should be validated
22
+ */
23
+ export declare function isSupportedFile(fileName: string): boolean;
24
+ //# sourceMappingURL=FrameworkDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FrameworkDetector.d.ts","sourceRoot":"","sources":["../../src/utils/FrameworkDetector.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,SAAS;IACpB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAwBlE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Framework = void 0;
4
+ exports.detectFramework = detectFramework;
5
+ exports.isSupportedFile = isSupportedFile;
6
+ /**
7
+ * Supported frameworks for class name extraction
8
+ */
9
+ var Framework;
10
+ (function (Framework) {
11
+ Framework["JSX"] = "jsx";
12
+ Framework["VUE"] = "vue";
13
+ Framework["SVELTE"] = "svelte";
14
+ })(Framework || (exports.Framework = Framework = {}));
15
+ /**
16
+ * Detects the framework based on file extension
17
+ * Assumes pre-processors like @vue/language-tools are configured
18
+ *
19
+ * @param fileName - The file name or path
20
+ * @returns The detected framework or null if not supported
21
+ */
22
+ function detectFramework(fileName) {
23
+ // Vue Single File Components
24
+ if (fileName.endsWith('.vue')) {
25
+ return Framework.VUE;
26
+ }
27
+ // Svelte components
28
+ if (fileName.endsWith('.svelte')) {
29
+ return Framework.SVELTE;
30
+ }
31
+ // JSX/TSX files (React, Solid, etc.)
32
+ if (fileName.endsWith('.tsx') || fileName.endsWith('.jsx')) {
33
+ return Framework.JSX;
34
+ }
35
+ // Plain TS/JS files might contain JSX if configured
36
+ // We'll treat them as potential JSX files
37
+ if (fileName.endsWith('.ts') || fileName.endsWith('.js')) {
38
+ return Framework.JSX;
39
+ }
40
+ // Unsupported file type
41
+ return null;
42
+ }
43
+ /**
44
+ * Checks if a file should be validated based on its extension
45
+ *
46
+ * @param fileName - The file name or path
47
+ * @returns True if the file should be validated
48
+ */
49
+ function isSupportedFile(fileName) {
50
+ return detectFramework(fileName) !== null;
51
+ }
52
+ //# sourceMappingURL=FrameworkDetector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FrameworkDetector.js","sourceRoot":"","sources":["../../src/utils/FrameworkDetector.ts"],"names":[],"mappings":";;;AAgBA,0CAwBC;AAQD,0CAEC;AAlDD;;GAEG;AACH,IAAY,SAIX;AAJD,WAAY,SAAS;IACpB,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,8BAAiB,CAAA;AAClB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,QAAgB;IAC/C,6BAA6B;IAC7B,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC,GAAG,CAAC;IACtB,CAAC;IAED,oBAAoB;IACpB,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,qCAAqC;IACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC,GAAG,CAAC;IACtB,CAAC;IAED,oDAAoD;IACpD,0CAA0C;IAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC,GAAG,CAAC;IACtB,CAAC;IAED,wBAAwB;IACxB,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,QAAgB;IAC/C,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FrameworkDetector.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FrameworkDetector.spec.d.ts","sourceRoot":"","sources":["../../src/utils/FrameworkDetector.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const FrameworkDetector_1 = require("./FrameworkDetector");
4
+ describe('FrameworkDetector', () => {
5
+ describe('detectFramework', () => {
6
+ it('should detect JSX framework for .tsx files', () => {
7
+ expect((0, FrameworkDetector_1.detectFramework)('App.tsx')).toBe(FrameworkDetector_1.Framework.JSX);
8
+ expect((0, FrameworkDetector_1.detectFramework)('/src/components/Button.tsx')).toBe(FrameworkDetector_1.Framework.JSX);
9
+ });
10
+ it('should detect JSX framework for .jsx files', () => {
11
+ expect((0, FrameworkDetector_1.detectFramework)('App.jsx')).toBe(FrameworkDetector_1.Framework.JSX);
12
+ expect((0, FrameworkDetector_1.detectFramework)('/src/components/Button.jsx')).toBe(FrameworkDetector_1.Framework.JSX);
13
+ });
14
+ it('should detect JSX framework for .ts files', () => {
15
+ expect((0, FrameworkDetector_1.detectFramework)('utils.ts')).toBe(FrameworkDetector_1.Framework.JSX);
16
+ expect((0, FrameworkDetector_1.detectFramework)('/src/lib/helpers.ts')).toBe(FrameworkDetector_1.Framework.JSX);
17
+ });
18
+ it('should detect JSX framework for .js files', () => {
19
+ expect((0, FrameworkDetector_1.detectFramework)('utils.js')).toBe(FrameworkDetector_1.Framework.JSX);
20
+ expect((0, FrameworkDetector_1.detectFramework)('/src/lib/helpers.js')).toBe(FrameworkDetector_1.Framework.JSX);
21
+ });
22
+ it('should detect Vue framework for .vue files', () => {
23
+ expect((0, FrameworkDetector_1.detectFramework)('App.vue')).toBe(FrameworkDetector_1.Framework.VUE);
24
+ expect((0, FrameworkDetector_1.detectFramework)('/src/components/Button.vue')).toBe(FrameworkDetector_1.Framework.VUE);
25
+ });
26
+ it('should detect Svelte framework for .svelte files', () => {
27
+ expect((0, FrameworkDetector_1.detectFramework)('App.svelte')).toBe(FrameworkDetector_1.Framework.SVELTE);
28
+ expect((0, FrameworkDetector_1.detectFramework)('/src/components/Button.svelte')).toBe(FrameworkDetector_1.Framework.SVELTE);
29
+ });
30
+ it('should return null for unsupported file types', () => {
31
+ expect((0, FrameworkDetector_1.detectFramework)('styles.css')).toBeNull();
32
+ expect((0, FrameworkDetector_1.detectFramework)('index.html')).toBeNull();
33
+ expect((0, FrameworkDetector_1.detectFramework)('config.json')).toBeNull();
34
+ expect((0, FrameworkDetector_1.detectFramework)('README.md')).toBeNull();
35
+ });
36
+ it('should handle files with multiple dots in name', () => {
37
+ expect((0, FrameworkDetector_1.detectFramework)('Button.test.tsx')).toBe(FrameworkDetector_1.Framework.JSX);
38
+ expect((0, FrameworkDetector_1.detectFramework)('App.stories.tsx')).toBe(FrameworkDetector_1.Framework.JSX);
39
+ expect((0, FrameworkDetector_1.detectFramework)('Component.spec.vue')).toBe(FrameworkDetector_1.Framework.VUE);
40
+ });
41
+ it('should handle absolute paths', () => {
42
+ expect((0, FrameworkDetector_1.detectFramework)('/Users/dev/project/src/App.tsx')).toBe(FrameworkDetector_1.Framework.JSX);
43
+ expect((0, FrameworkDetector_1.detectFramework)('/Users/dev/project/src/App.vue')).toBe(FrameworkDetector_1.Framework.VUE);
44
+ expect((0, FrameworkDetector_1.detectFramework)('/Users/dev/project/src/App.svelte')).toBe(FrameworkDetector_1.Framework.SVELTE);
45
+ });
46
+ it('should handle Windows paths', () => {
47
+ expect((0, FrameworkDetector_1.detectFramework)('C:\\Users\\dev\\project\\src\\App.tsx')).toBe(FrameworkDetector_1.Framework.JSX);
48
+ expect((0, FrameworkDetector_1.detectFramework)('C:\\Users\\dev\\project\\src\\App.vue')).toBe(FrameworkDetector_1.Framework.VUE);
49
+ });
50
+ });
51
+ describe('isSupportedFile', () => {
52
+ it('should return true for JSX files', () => {
53
+ expect((0, FrameworkDetector_1.isSupportedFile)('App.tsx')).toBe(true);
54
+ expect((0, FrameworkDetector_1.isSupportedFile)('App.jsx')).toBe(true);
55
+ expect((0, FrameworkDetector_1.isSupportedFile)('utils.ts')).toBe(true);
56
+ expect((0, FrameworkDetector_1.isSupportedFile)('utils.js')).toBe(true);
57
+ });
58
+ it('should return true for Vue files', () => {
59
+ expect((0, FrameworkDetector_1.isSupportedFile)('App.vue')).toBe(true);
60
+ expect((0, FrameworkDetector_1.isSupportedFile)('/src/components/Button.vue')).toBe(true);
61
+ });
62
+ it('should return true for Svelte files', () => {
63
+ expect((0, FrameworkDetector_1.isSupportedFile)('App.svelte')).toBe(true);
64
+ expect((0, FrameworkDetector_1.isSupportedFile)('/src/components/Button.svelte')).toBe(true);
65
+ });
66
+ it('should return false for unsupported files', () => {
67
+ expect((0, FrameworkDetector_1.isSupportedFile)('styles.css')).toBe(false);
68
+ expect((0, FrameworkDetector_1.isSupportedFile)('index.html')).toBe(false);
69
+ expect((0, FrameworkDetector_1.isSupportedFile)('config.json')).toBe(false);
70
+ expect((0, FrameworkDetector_1.isSupportedFile)('README.md')).toBe(false);
71
+ expect((0, FrameworkDetector_1.isSupportedFile)('image.png')).toBe(false);
72
+ });
73
+ });
74
+ });
75
+ //# sourceMappingURL=FrameworkDetector.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FrameworkDetector.spec.js","sourceRoot":"","sources":["../../src/utils/FrameworkDetector.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tailwind-typescript-plugin",
3
- "version": "1.4.1-beta.12",
3
+ "version": "1.4.1-beta.14",
4
4
  "description": "TypeScript Language Service plugin that validates Tailwind CSS class names in JSX/TSX files. Catches typos and invalid classes in real-time with support for tailwind-variants and class-variance-authority.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",