tailwind-typescript-plugin 1.4.1-beta.3 → 1.4.1-beta.31

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 (152) hide show
  1. package/CHANGELOG.md +155 -0
  2. package/README.md +369 -71
  3. package/lib/core/interfaces.d.ts +40 -13
  4. package/lib/core/interfaces.d.ts.map +1 -1
  5. package/lib/core/types.d.ts +112 -1
  6. package/lib/core/types.d.ts.map +1 -1
  7. package/lib/extractors/BaseExtractor.d.ts +56 -3
  8. package/lib/extractors/BaseExtractor.d.ts.map +1 -1
  9. package/lib/extractors/BaseExtractor.js +194 -5
  10. package/lib/extractors/BaseExtractor.js.map +1 -1
  11. package/lib/extractors/BaseExtractor.spec.d.ts +2 -0
  12. package/lib/extractors/BaseExtractor.spec.d.ts.map +1 -0
  13. package/lib/extractors/BaseExtractor.spec.js +421 -0
  14. package/lib/extractors/BaseExtractor.spec.js.map +1 -0
  15. package/lib/extractors/CvaExtractor.js +1 -1
  16. package/lib/extractors/CvaExtractor.js.map +1 -1
  17. package/lib/extractors/CvaExtractor.spec.d.ts +2 -0
  18. package/lib/extractors/CvaExtractor.spec.d.ts.map +1 -0
  19. package/lib/extractors/CvaExtractor.spec.js +1177 -0
  20. package/lib/extractors/CvaExtractor.spec.js.map +1 -0
  21. package/lib/extractors/ExpressionExtractor.d.ts.map +1 -1
  22. package/lib/extractors/ExpressionExtractor.js +35 -5
  23. package/lib/extractors/ExpressionExtractor.js.map +1 -1
  24. package/lib/extractors/ExpressionExtractor.spec.d.ts +2 -0
  25. package/lib/extractors/ExpressionExtractor.spec.d.ts.map +1 -0
  26. package/lib/extractors/ExpressionExtractor.spec.js +316 -0
  27. package/lib/extractors/ExpressionExtractor.spec.js.map +1 -0
  28. package/lib/extractors/JsxAttributeExtractor.d.ts +7 -1
  29. package/lib/extractors/JsxAttributeExtractor.d.ts.map +1 -1
  30. package/lib/extractors/JsxAttributeExtractor.js +21 -8
  31. package/lib/extractors/JsxAttributeExtractor.js.map +1 -1
  32. package/lib/extractors/JsxAttributeExtractor.spec.d.ts +2 -0
  33. package/lib/extractors/JsxAttributeExtractor.spec.d.ts.map +1 -0
  34. package/lib/extractors/JsxAttributeExtractor.spec.js +430 -0
  35. package/lib/extractors/JsxAttributeExtractor.spec.js.map +1 -0
  36. package/lib/extractors/TailwindVariantsExtractor.d.ts.map +1 -1
  37. package/lib/extractors/TailwindVariantsExtractor.js +1 -5
  38. package/lib/extractors/TailwindVariantsExtractor.js.map +1 -1
  39. package/lib/extractors/TailwindVariantsExtractor.spec.d.ts +2 -0
  40. package/lib/extractors/TailwindVariantsExtractor.spec.d.ts.map +1 -0
  41. package/lib/extractors/TailwindVariantsExtractor.spec.js +1407 -0
  42. package/lib/extractors/TailwindVariantsExtractor.spec.js.map +1 -0
  43. package/lib/extractors/TemplateExpressionExtractor.spec.d.ts +2 -0
  44. package/lib/extractors/TemplateExpressionExtractor.spec.d.ts.map +1 -0
  45. package/lib/extractors/TemplateExpressionExtractor.spec.js +240 -0
  46. package/lib/extractors/TemplateExpressionExtractor.spec.js.map +1 -0
  47. package/lib/extractors/VariableReferenceExtractor.d.ts.map +1 -1
  48. package/lib/extractors/VariableReferenceExtractor.js +21 -0
  49. package/lib/extractors/VariableReferenceExtractor.js.map +1 -1
  50. package/lib/extractors/VariableReferenceExtractor.spec.d.ts +2 -0
  51. package/lib/extractors/VariableReferenceExtractor.spec.d.ts.map +1 -0
  52. package/lib/extractors/VariableReferenceExtractor.spec.js +138 -0
  53. package/lib/extractors/VariableReferenceExtractor.spec.js.map +1 -0
  54. package/lib/extractors/VueAttributeExtractor.d.ts +202 -0
  55. package/lib/extractors/VueAttributeExtractor.d.ts.map +1 -0
  56. package/lib/extractors/VueAttributeExtractor.js +1691 -0
  57. package/lib/extractors/VueAttributeExtractor.js.map +1 -0
  58. package/lib/extractors/VueExpressionExtractor.d.ts +34 -0
  59. package/lib/extractors/VueExpressionExtractor.d.ts.map +1 -0
  60. package/lib/extractors/VueExpressionExtractor.js +171 -0
  61. package/lib/extractors/VueExpressionExtractor.js.map +1 -0
  62. package/lib/infrastructure/TailwindValidator.css-vars.spec.js +1 -11
  63. package/lib/infrastructure/TailwindValidator.css-vars.spec.js.map +1 -1
  64. package/lib/infrastructure/TailwindValidator.d.ts +10 -3
  65. package/lib/infrastructure/TailwindValidator.d.ts.map +1 -1
  66. package/lib/infrastructure/TailwindValidator.js +68 -28
  67. package/lib/infrastructure/TailwindValidator.js.map +1 -1
  68. package/lib/infrastructure/TailwindValidator.spec.js +50 -17
  69. package/lib/infrastructure/TailwindValidator.spec.js.map +1 -1
  70. package/lib/plugin/TailwindTypescriptPlugin.d.ts +22 -1
  71. package/lib/plugin/TailwindTypescriptPlugin.d.ts.map +1 -1
  72. package/lib/plugin/TailwindTypescriptPlugin.js +133 -50
  73. package/lib/plugin/TailwindTypescriptPlugin.js.map +1 -1
  74. package/lib/services/ClassNameExtractionService.d.ts +27 -6
  75. package/lib/services/ClassNameExtractionService.d.ts.map +1 -1
  76. package/lib/services/ClassNameExtractionService.js +80 -17
  77. package/lib/services/ClassNameExtractionService.js.map +1 -1
  78. package/lib/services/ClassNameExtractionService.spec.d.ts +2 -0
  79. package/lib/services/ClassNameExtractionService.spec.d.ts.map +1 -0
  80. package/lib/services/ClassNameExtractionService.spec.js +215 -0
  81. package/lib/services/ClassNameExtractionService.spec.js.map +1 -0
  82. package/lib/services/CodeActionService.spec.js +1 -2
  83. package/lib/services/CodeActionService.spec.js.map +1 -1
  84. package/lib/services/CompletionService.d.ts +121 -0
  85. package/lib/services/CompletionService.d.ts.map +1 -0
  86. package/lib/services/CompletionService.js +573 -0
  87. package/lib/services/CompletionService.js.map +1 -0
  88. package/lib/services/CompletionService.spec.d.ts +2 -0
  89. package/lib/services/CompletionService.spec.d.ts.map +1 -0
  90. package/lib/services/CompletionService.spec.js +1182 -0
  91. package/lib/services/CompletionService.spec.js.map +1 -0
  92. package/lib/services/ConfigSchemaValidator.d.ts +40 -0
  93. package/lib/services/ConfigSchemaValidator.d.ts.map +1 -0
  94. package/lib/services/ConfigSchemaValidator.js +139 -0
  95. package/lib/services/ConfigSchemaValidator.js.map +1 -0
  96. package/lib/services/ConfigSchemaValidator.spec.d.ts +2 -0
  97. package/lib/services/ConfigSchemaValidator.spec.d.ts.map +1 -0
  98. package/lib/services/ConfigSchemaValidator.spec.js +344 -0
  99. package/lib/services/ConfigSchemaValidator.spec.js.map +1 -0
  100. package/lib/services/ConflictClassDetection.spec.js +53 -5
  101. package/lib/services/ConflictClassDetection.spec.js.map +1 -1
  102. package/lib/services/DiagnosticService.d.ts +8 -8
  103. package/lib/services/DiagnosticService.d.ts.map +1 -1
  104. package/lib/services/DiagnosticService.js +29 -13
  105. package/lib/services/DiagnosticService.js.map +1 -1
  106. package/lib/services/DiagnosticService.spec.d.ts +2 -0
  107. package/lib/services/DiagnosticService.spec.d.ts.map +1 -0
  108. package/lib/services/DiagnosticService.spec.js +259 -0
  109. package/lib/services/DiagnosticService.spec.js.map +1 -0
  110. package/lib/services/DuplicateClassDetection.spec.js +20 -21
  111. package/lib/services/DuplicateClassDetection.spec.js.map +1 -1
  112. package/lib/services/FileDiagnosticCache.spec.d.ts +2 -0
  113. package/lib/services/FileDiagnosticCache.spec.d.ts.map +1 -0
  114. package/lib/services/FileDiagnosticCache.spec.js +213 -0
  115. package/lib/services/FileDiagnosticCache.spec.js.map +1 -0
  116. package/lib/services/PerformanceCache.spec.d.ts +2 -0
  117. package/lib/services/PerformanceCache.spec.d.ts.map +1 -0
  118. package/lib/services/PerformanceCache.spec.js +168 -0
  119. package/lib/services/PerformanceCache.spec.js.map +1 -0
  120. package/lib/services/PluginConfigService.d.ts +66 -15
  121. package/lib/services/PluginConfigService.d.ts.map +1 -1
  122. package/lib/services/PluginConfigService.js +230 -73
  123. package/lib/services/PluginConfigService.js.map +1 -1
  124. package/lib/services/PluginConfigService.spec.d.ts +2 -0
  125. package/lib/services/PluginConfigService.spec.d.ts.map +1 -0
  126. package/lib/services/PluginConfigService.spec.js +93 -0
  127. package/lib/services/PluginConfigService.spec.js.map +1 -0
  128. package/lib/services/ValidationService.d.ts +7 -5
  129. package/lib/services/ValidationService.d.ts.map +1 -1
  130. package/lib/services/ValidationService.js +40 -43
  131. package/lib/services/ValidationService.js.map +1 -1
  132. package/lib/services/ValidationService.spec.d.ts +2 -0
  133. package/lib/services/ValidationService.spec.d.ts.map +1 -0
  134. package/lib/services/ValidationService.spec.js +289 -0
  135. package/lib/services/ValidationService.spec.js.map +1 -0
  136. package/lib/utils/FrameworkDetector.d.ts +23 -0
  137. package/lib/utils/FrameworkDetector.d.ts.map +1 -0
  138. package/lib/utils/FrameworkDetector.js +47 -0
  139. package/lib/utils/FrameworkDetector.js.map +1 -0
  140. package/lib/utils/FrameworkDetector.spec.d.ts +2 -0
  141. package/lib/utils/FrameworkDetector.spec.d.ts.map +1 -0
  142. package/lib/utils/FrameworkDetector.spec.js +67 -0
  143. package/lib/utils/FrameworkDetector.spec.js.map +1 -0
  144. package/package.json +11 -4
  145. package/lib/extractors/StringLiteralExtractor.d.ts +0 -12
  146. package/lib/extractors/StringLiteralExtractor.d.ts.map +0 -1
  147. package/lib/extractors/StringLiteralExtractor.js +0 -21
  148. package/lib/extractors/StringLiteralExtractor.js.map +0 -1
  149. package/lib/services/ClassNameExtractionService.original.d.ts +0 -20
  150. package/lib/services/ClassNameExtractionService.original.d.ts.map +0 -1
  151. package/lib/services/ClassNameExtractionService.original.js +0 -48
  152. package/lib/services/ClassNameExtractionService.original.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VueAttributeExtractor.js","sourceRoot":"","sources":["../../src/extractors/VueAttributeExtractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import * as ts from 'typescript/lib/tsserverlibrary';
2
+ import { ClassNameInfo, ExtractionContext, UtilityFunction } from '../core/types';
3
+ import { ExpressionExtractor } from './ExpressionExtractor';
4
+ /**
5
+ * Vue-specific expression extractor that handles Vue's __VLS_ctx pattern.
6
+ *
7
+ * When @vue/language-tools transforms Vue SFC templates, imported functions
8
+ * are accessed through __VLS_ctx (e.g., __VLS_ctx.clsx(...) instead of clsx(...)).
9
+ * This extractor recognizes this pattern and validates the underlying import.
10
+ */
11
+ export declare class VueExpressionExtractor extends ExpressionExtractor {
12
+ /**
13
+ * Override to handle Vue's __VLS_ctx pattern for property access.
14
+ *
15
+ * Vue generates code like __VLS_ctx.variable for template variable references.
16
+ * This method resolves these to their actual values.
17
+ */
18
+ extractFromExpression(expression: ts.Expression, context: ExtractionContext, conditionalBranchId?: string): ClassNameInfo[];
19
+ /**
20
+ * Resolve a property from __VLS_ctx to its actual value.
21
+ */
22
+ private resolveVlsCtxProperty;
23
+ /**
24
+ * Override to handle Vue's __VLS_ctx pattern.
25
+ *
26
+ * Vue generates code like __VLS_ctx.clsx(...) for template expressions
27
+ * where clsx is imported in the script section. We need to check if the
28
+ * function name (not __VLS_ctx) is directly imported.
29
+ *
30
+ * Also handles namespace imports: __VLS_ctx.utils.clsx(...) for `import * as utils from 'clsx'`
31
+ */
32
+ protected shouldValidateFunctionCall(callExpression: ts.CallExpression, utilityFunctions: UtilityFunction[], context?: ExtractionContext): boolean;
33
+ }
34
+ //# sourceMappingURL=VueExpressionExtractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VueExpressionExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/VueExpressionExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC9D;;;;;OAKG;IACM,qBAAqB,CAC7B,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,OAAO,EAAE,iBAAiB,EAC1B,mBAAmB,CAAC,EAAE,MAAM,GAC1B,aAAa,EAAE;IAyBlB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsE7B;;;;;;;;OAQG;cACgB,0BAA0B,CAC5C,cAAc,EAAE,EAAE,CAAC,cAAc,EACjC,gBAAgB,EAAE,eAAe,EAAE,EACnC,OAAO,CAAC,EAAE,iBAAiB,GACzB,OAAO;CA4DV"}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VueExpressionExtractor = void 0;
4
+ const ExpressionExtractor_1 = require("./ExpressionExtractor");
5
+ /**
6
+ * Vue-specific expression extractor that handles Vue's __VLS_ctx pattern.
7
+ *
8
+ * When @vue/language-tools transforms Vue SFC templates, imported functions
9
+ * are accessed through __VLS_ctx (e.g., __VLS_ctx.clsx(...) instead of clsx(...)).
10
+ * This extractor recognizes this pattern and validates the underlying import.
11
+ */
12
+ class VueExpressionExtractor extends ExpressionExtractor_1.ExpressionExtractor {
13
+ /**
14
+ * Override to handle Vue's __VLS_ctx pattern for property access.
15
+ *
16
+ * Vue generates code like __VLS_ctx.variable for template variable references.
17
+ * This method resolves these to their actual values.
18
+ */
19
+ extractFromExpression(expression, context, conditionalBranchId) {
20
+ const { typescript } = context;
21
+ // Handle __VLS_ctx.propertyName patterns (Vue variable references)
22
+ if (typescript.isPropertyAccessExpression(expression)) {
23
+ const objectExpr = expression.expression;
24
+ if (typescript.isIdentifier(objectExpr) && objectExpr.text === '__VLS_ctx') {
25
+ const propertyName = expression.name;
26
+ if (typescript.isIdentifier(propertyName)) {
27
+ const resolved = this.resolveVlsCtxProperty(propertyName, context);
28
+ if (resolved.length > 0) {
29
+ // Add conditionalBranchId if present
30
+ if (conditionalBranchId) {
31
+ return resolved.map(c => ({ ...c, conditionalBranchId }));
32
+ }
33
+ return resolved;
34
+ }
35
+ }
36
+ }
37
+ }
38
+ // Fall back to base implementation
39
+ return super.extractFromExpression(expression, context, conditionalBranchId);
40
+ }
41
+ /**
42
+ * Resolve a property from __VLS_ctx to its actual value.
43
+ */
44
+ resolveVlsCtxProperty(propertyName, context) {
45
+ const { typescript, typeChecker } = context;
46
+ if (!typeChecker) {
47
+ return [];
48
+ }
49
+ const symbol = typeChecker.getSymbolAtLocation(propertyName);
50
+ if (!symbol) {
51
+ return [];
52
+ }
53
+ const declarations = symbol.getDeclarations();
54
+ if (!declarations || declarations.length === 0) {
55
+ return [];
56
+ }
57
+ for (const declaration of declarations) {
58
+ // Handle PropertySignature with typeof (Volar 3.x)
59
+ if (typescript.isPropertySignature(declaration) && declaration.type) {
60
+ if (typescript.isTypeQueryNode(declaration.type)) {
61
+ const exprName = declaration.type.exprName;
62
+ if (typescript.isIdentifier(exprName)) {
63
+ const varSymbol = typeChecker.getSymbolAtLocation(exprName);
64
+ if (varSymbol) {
65
+ const varDeclarations = varSymbol.getDeclarations();
66
+ if (varDeclarations) {
67
+ for (const varDecl of varDeclarations) {
68
+ if (typescript.isVariableDeclaration(varDecl) && varDecl.initializer) {
69
+ // Extract from the initializer using base class method
70
+ return super.extractFromExpression(varDecl.initializer, context);
71
+ }
72
+ }
73
+ }
74
+ }
75
+ }
76
+ }
77
+ }
78
+ // Handle direct variable declaration
79
+ else if (typescript.isVariableDeclaration(declaration) && declaration.initializer) {
80
+ return super.extractFromExpression(declaration.initializer, context);
81
+ }
82
+ // Handle property assignment
83
+ else if (typescript.isPropertyAssignment(declaration)) {
84
+ let expr = declaration.initializer;
85
+ if (typescript.isAsExpression(expr)) {
86
+ expr = expr.expression;
87
+ }
88
+ if (typescript.isIdentifier(expr)) {
89
+ const refSymbol = typeChecker.getSymbolAtLocation(expr);
90
+ if (refSymbol) {
91
+ const refDeclarations = refSymbol.getDeclarations();
92
+ if (refDeclarations) {
93
+ for (const refDecl of refDeclarations) {
94
+ if (typescript.isVariableDeclaration(refDecl) && refDecl.initializer) {
95
+ return super.extractFromExpression(refDecl.initializer, context);
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ }
102
+ }
103
+ return [];
104
+ }
105
+ /**
106
+ * Override to handle Vue's __VLS_ctx pattern.
107
+ *
108
+ * Vue generates code like __VLS_ctx.clsx(...) for template expressions
109
+ * where clsx is imported in the script section. We need to check if the
110
+ * function name (not __VLS_ctx) is directly imported.
111
+ *
112
+ * Also handles namespace imports: __VLS_ctx.utils.clsx(...) for `import * as utils from 'clsx'`
113
+ */
114
+ shouldValidateFunctionCall(callExpression, utilityFunctions, context) {
115
+ // First, check if this is a __VLS_ctx.functionName() or __VLS_ctx.namespace.functionName() pattern
116
+ if (context) {
117
+ const expr = callExpression.expression;
118
+ if (context.typescript.isPropertyAccessExpression(expr)) {
119
+ const objectExpr = expr.expression;
120
+ // Pattern 1: __VLS_ctx.functionName() - direct import
121
+ if (context.typescript.isIdentifier(objectExpr) && objectExpr.text === '__VLS_ctx') {
122
+ const functionName = expr.name.text;
123
+ // Check each utility function configuration
124
+ for (const utilityFunc of utilityFunctions) {
125
+ if (typeof utilityFunc === 'string') {
126
+ if (utilityFunc === functionName) {
127
+ return true;
128
+ }
129
+ }
130
+ else if (utilityFunc.name === functionName) {
131
+ // Check if the function is directly imported from expected module
132
+ if (this.isImportedFrom(functionName, utilityFunc.from, context)) {
133
+ return true;
134
+ }
135
+ }
136
+ }
137
+ return false;
138
+ }
139
+ // Pattern 2: __VLS_ctx.namespace.functionName() - namespace import
140
+ // e.g., import * as utils from 'clsx' -> __VLS_ctx.utils.clsx()
141
+ if (context.typescript.isPropertyAccessExpression(objectExpr)) {
142
+ const namespaceRoot = objectExpr.expression;
143
+ if (context.typescript.isIdentifier(namespaceRoot) &&
144
+ namespaceRoot.text === '__VLS_ctx') {
145
+ const namespaceName = objectExpr.name.text; // e.g., 'utils'
146
+ const functionName = expr.name.text; // e.g., 'clsx'
147
+ // Check each utility function configuration
148
+ for (const utilityFunc of utilityFunctions) {
149
+ if (typeof utilityFunc === 'string') {
150
+ if (utilityFunc === functionName) {
151
+ return true;
152
+ }
153
+ }
154
+ else if (utilityFunc.name === functionName) {
155
+ // Check if namespace is imported from expected module
156
+ if (this.isNamespaceImportedFrom(namespaceName, utilityFunc.from, context)) {
157
+ return true;
158
+ }
159
+ }
160
+ }
161
+ return false;
162
+ }
163
+ }
164
+ }
165
+ }
166
+ // Fall back to base implementation for non-Vue patterns
167
+ return super.shouldValidateFunctionCall(callExpression, utilityFunctions, context);
168
+ }
169
+ }
170
+ exports.VueExpressionExtractor = VueExpressionExtractor;
171
+ //# sourceMappingURL=VueExpressionExtractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VueExpressionExtractor.js","sourceRoot":"","sources":["../../src/extractors/VueExpressionExtractor.ts"],"names":[],"mappings":"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"}
@@ -7,16 +7,6 @@ const fs_1 = __importDefault(require("fs"));
7
7
  const os_1 = __importDefault(require("os"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const TailwindValidator_1 = require("./TailwindValidator");
10
- // Mock logger for testing
11
- class MockLogger {
12
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
13
- log(_message) {
14
- // Silent during tests
15
- }
16
- isEnabled() {
17
- return false;
18
- }
19
- }
20
10
  describe('TailwindValidator - CSS Variables', () => {
21
11
  let validator;
22
12
  let tempCssFile;
@@ -25,7 +15,7 @@ describe('TailwindValidator - CSS Variables', () => {
25
15
  const tempDir = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), 'tailwind-test-'));
26
16
  tempCssFile = path_1.default.join(tempDir, 'global.css');
27
17
  fs_1.default.writeFileSync(tempCssFile, '@import "tailwindcss";');
28
- validator = new TailwindValidator_1.TailwindValidator(tempCssFile, new MockLogger());
18
+ validator = new TailwindValidator_1.TailwindValidator(tempCssFile);
29
19
  await validator.initialize();
30
20
  });
31
21
  describe('CSS variable definitions', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"TailwindValidator.css-vars.spec.js","sourceRoot":"","sources":["../../src/infrastructure/TailwindValidator.css-vars.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TailwindValidator.css-vars.spec.js","sourceRoot":"","sources":["../../src/infrastructure/TailwindValidator.css-vars.spec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { IClassNameValidator } from '../core/interfaces';
2
- import { Logger } from '../utils/Logger';
3
2
  /**
4
3
  * Class validator for Tailwind CSS v4
5
4
  * This loads the design system once and caches it for validation
@@ -9,10 +8,10 @@ export declare class TailwindValidator implements IClassNameValidator {
9
8
  private classSet;
10
9
  private designSystem;
11
10
  private cssFilePath;
12
- private logger;
13
11
  private validationCache;
14
12
  private allowedClasses;
15
- constructor(cssFilePath: string, logger: Logger);
13
+ private allowedPatterns;
14
+ constructor(cssFilePath: string);
16
15
  /**
17
16
  * Load the design system and cache the class list
18
17
  */
@@ -20,8 +19,16 @@ export declare class TailwindValidator implements IClassNameValidator {
20
19
  isInitialized(): boolean;
21
20
  /**
22
21
  * Set custom allowed classes from configuration
22
+ * Supports exact matches and wildcard patterns:
23
+ * - "custom-*" matches anything starting with "custom-"
24
+ * - "*-icon" matches anything ending with "-icon"
25
+ * - "*-component-*" matches anything containing "-component-"
23
26
  */
24
27
  setAllowedClasses(allowedClasses: string[]): void;
28
+ /**
29
+ * Check if a class name matches any allowed pattern
30
+ */
31
+ private matchesAllowedPattern;
25
32
  /**
26
33
  * Check if a class name is valid
27
34
  * This handles both static classes and arbitrary values (e.g., w-[100px])
@@ -1 +1 @@
1
- {"version":3,"file":"TailwindValidator.d.ts","sourceRoot":"","sources":["../../src/infrastructure/TailwindValidator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAsBzC;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,QAAQ,CAA4B;IAE5C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,cAAc,CAA0B;gBAEpC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAM/C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgEjC,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI;IASjD;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IA0CxC;;;OAGG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IA8DjD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B;;OAEG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAOlD;;;OAGG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,GAAE,MAAU,GAAG,MAAM,EAAE;IAwB7E;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAOzB;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE;CAczD"}
1
+ {"version":3,"file":"TailwindValidator.d.ts","sourceRoot":"","sources":["../../src/infrastructure/TailwindValidator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAuBzD;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,QAAQ,CAA4B;IAE5C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,eAAe,CAA0E;gBAErF,WAAW,EAAE,MAAM;IAK/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2DjC,aAAa,IAAI,OAAO;IAIxB;;;;;;OAMG;IACH,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI;IA8BjD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IA0CxC;;;OAGG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAiEjD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B;;OAEG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAOlD;;;OAGG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,GAAE,MAAU,GAAG,MAAM,EAAE;IAwB7E;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAOzB;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE;CAWzD"}
@@ -13,11 +13,11 @@ const PerformanceCache_1 = require("../services/PerformanceCache");
13
13
  * Implements IClassNameValidator for dependency inversion
14
14
  */
15
15
  class TailwindValidator {
16
- constructor(cssFilePath, logger) {
16
+ constructor(cssFilePath) {
17
17
  this.classSet = null;
18
18
  this.allowedClasses = new Set();
19
+ this.allowedPatterns = [];
19
20
  this.cssFilePath = cssFilePath;
20
- this.logger = logger;
21
21
  this.validationCache = new PerformanceCache_1.PerformanceCache(2000);
22
22
  }
23
23
  /**
@@ -27,7 +27,6 @@ class TailwindValidator {
27
27
  if (this.classSet !== null) {
28
28
  return; // Already initialized
29
29
  }
30
- this.logger.log(`[TailwindValidator] Loading design system from: ${this.cssFilePath}`);
31
30
  try {
32
31
  // Load the design system with full API access
33
32
  const tailwindcss = require('tailwindcss');
@@ -54,8 +53,7 @@ class TailwindValidator {
54
53
  content: fs_1.default.readFileSync(resolvedPath, 'utf-8')
55
54
  };
56
55
  }
57
- catch (err) {
58
- this.logger.log(`[TailwindValidator] Failed to load stylesheet: ${err}`);
56
+ catch {
59
57
  return { base, content: '' };
60
58
  }
61
59
  },
@@ -65,8 +63,7 @@ class TailwindValidator {
65
63
  const module = require(resolvedPath);
66
64
  return { base: path_1.default.dirname(resolvedPath), module };
67
65
  }
68
- catch (err) {
69
- this.logger.log(`[TailwindValidator] Failed to load module: ${err}`);
66
+ catch {
70
67
  if (resourceType === 'config') {
71
68
  return { base, module: {} };
72
69
  }
@@ -80,7 +77,6 @@ class TailwindValidator {
80
77
  this.classSet = new Set(this.designSystem.getClassList().map(([className]) => className));
81
78
  }
82
79
  catch (error) {
83
- this.logger.log(`[TailwindValidator] Failed to load design system: ${error}`);
84
80
  throw error;
85
81
  }
86
82
  }
@@ -89,14 +85,60 @@ class TailwindValidator {
89
85
  }
90
86
  /**
91
87
  * Set custom allowed classes from configuration
88
+ * Supports exact matches and wildcard patterns:
89
+ * - "custom-*" matches anything starting with "custom-"
90
+ * - "*-icon" matches anything ending with "-icon"
91
+ * - "*-component-*" matches anything containing "-component-"
92
92
  */
93
93
  setAllowedClasses(allowedClasses) {
94
- this.allowedClasses = new Set(allowedClasses);
94
+ const exactClasses = [];
95
+ const patterns = [];
96
+ for (const entry of allowedClasses) {
97
+ const startsWithWildcard = entry.startsWith('*');
98
+ const endsWithWildcard = entry.endsWith('*');
99
+ if (startsWithWildcard && endsWithWildcard && entry.length > 2) {
100
+ // *something* -> contains match
101
+ patterns.push({ pattern: entry.slice(1, -1), type: 'contains' });
102
+ }
103
+ else if (endsWithWildcard && entry.length > 1) {
104
+ // something* -> prefix match
105
+ patterns.push({ pattern: entry.slice(0, -1), type: 'prefix' });
106
+ }
107
+ else if (startsWithWildcard && entry.length > 1) {
108
+ // *something -> suffix match
109
+ patterns.push({ pattern: entry.slice(1), type: 'suffix' });
110
+ }
111
+ else {
112
+ // Exact match (including lone "*" which we treat as exact)
113
+ exactClasses.push(entry);
114
+ }
115
+ }
116
+ this.allowedClasses = new Set(exactClasses);
117
+ this.allowedPatterns = patterns;
95
118
  // Clear cache when allowed classes change
96
119
  this.validationCache.clear();
97
- if (allowedClasses.length > 0) {
98
- this.logger.log(`[TailwindValidator] Set ${allowedClasses.length} custom allowed classes`);
120
+ }
121
+ /**
122
+ * Check if a class name matches any allowed pattern
123
+ */
124
+ matchesAllowedPattern(className) {
125
+ for (const { pattern, type } of this.allowedPatterns) {
126
+ switch (type) {
127
+ case 'prefix':
128
+ if (className.startsWith(pattern))
129
+ return true;
130
+ break;
131
+ case 'suffix':
132
+ if (className.endsWith(pattern))
133
+ return true;
134
+ break;
135
+ case 'contains':
136
+ if (className.includes(pattern))
137
+ return true;
138
+ break;
139
+ }
99
140
  }
141
+ return false;
100
142
  }
101
143
  /**
102
144
  * Check if a class name is valid
@@ -105,8 +147,6 @@ class TailwindValidator {
105
147
  */
106
148
  isValidClass(className) {
107
149
  if (!this.classSet || !this.designSystem) {
108
- // Only log if logging is enabled (checked internally by logger)
109
- this.logger.log('[TailwindValidator] Validator not initialized. Call initialize() first.');
110
150
  return true; // Assume valid if not initialized
111
151
  }
112
152
  // PERFORMANCE: Check cache first (fastest path)
@@ -114,11 +154,16 @@ class TailwindValidator {
114
154
  if (cached !== undefined) {
115
155
  return cached;
116
156
  }
117
- // PERFORMANCE: Check custom allowed classes (fast path)
157
+ // PERFORMANCE: Check custom allowed classes (fast path - exact match)
118
158
  if (this.allowedClasses.has(className)) {
119
159
  this.validationCache.set(className, true);
120
160
  return true;
121
161
  }
162
+ // Check allowed patterns (slightly slower path)
163
+ if (this.allowedPatterns.length > 0 && this.matchesAllowedPattern(className)) {
164
+ this.validationCache.set(className, true);
165
+ return true;
166
+ }
122
167
  // PERFORMANCE: Check static class list (fast path)
123
168
  if (this.classSet.has(className)) {
124
169
  this.validationCache.set(className, true);
@@ -132,11 +177,7 @@ class TailwindValidator {
132
177
  this.validationCache.set(className, isValid);
133
178
  return isValid;
134
179
  }
135
- catch (err) {
136
- // PERFORMANCE: Only log errors if enabled
137
- if (this.logger.isEnabled()) {
138
- this.logger.log(`[TailwindValidator] Failed to check class: ${err}`);
139
- }
180
+ catch {
140
181
  this.validationCache.set(className, false);
141
182
  return false;
142
183
  }
@@ -161,11 +202,16 @@ class TailwindValidator {
161
202
  }
162
203
  continue;
163
204
  }
164
- // Check allowed classes
205
+ // Check allowed classes (exact match)
165
206
  if (this.allowedClasses.has(className)) {
166
207
  this.validationCache.set(className, true);
167
208
  continue;
168
209
  }
210
+ // Check allowed patterns
211
+ if (this.allowedPatterns.length > 0 && this.matchesAllowedPattern(className)) {
212
+ this.validationCache.set(className, true);
213
+ continue;
214
+ }
169
215
  // Check static class list
170
216
  if (this.classSet.has(className)) {
171
217
  this.validationCache.set(className, true);
@@ -187,10 +233,7 @@ class TailwindValidator {
187
233
  }
188
234
  }
189
235
  }
190
- catch (err) {
191
- if (this.logger.isEnabled()) {
192
- this.logger.log(`[TailwindValidator] Failed to batch validate: ${err}`);
193
- }
236
+ catch {
194
237
  // On error, mark all as invalid
195
238
  for (const className of uncachedArbitraryValues) {
196
239
  this.validationCache.set(className, false);
@@ -288,10 +331,7 @@ class TailwindValidator {
288
331
  try {
289
332
  return this.designSystem.candidatesToCss(classNames);
290
333
  }
291
- catch (err) {
292
- if (this.logger.isEnabled()) {
293
- this.logger.log(`[TailwindValidator] Failed to get CSS for classes: ${err}`);
294
- }
334
+ catch {
295
335
  return classNames.map(() => null);
296
336
  }
297
337
  }