tailwind-typescript-plugin 1.1.0 → 1.1.1-beta.1

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 (33) hide show
  1. package/lib/core/types.d.ts +8 -0
  2. package/lib/core/types.d.ts.map +1 -1
  3. package/lib/extractors/BaseExtractor.d.ts +1 -0
  4. package/lib/extractors/BaseExtractor.d.ts.map +1 -1
  5. package/lib/extractors/BaseExtractor.js +11 -7
  6. package/lib/extractors/BaseExtractor.js.map +1 -1
  7. package/lib/extractors/CvaExtractor.d.ts +2 -1
  8. package/lib/extractors/CvaExtractor.d.ts.map +1 -1
  9. package/lib/extractors/CvaExtractor.js +12 -2
  10. package/lib/extractors/CvaExtractor.js.map +1 -1
  11. package/lib/extractors/ExpressionExtractor.d.ts +7 -0
  12. package/lib/extractors/ExpressionExtractor.d.ts.map +1 -1
  13. package/lib/extractors/ExpressionExtractor.js +63 -11
  14. package/lib/extractors/ExpressionExtractor.js.map +1 -1
  15. package/lib/extractors/JsxAttributeExtractor.d.ts.map +1 -1
  16. package/lib/extractors/JsxAttributeExtractor.js +23 -10
  17. package/lib/extractors/JsxAttributeExtractor.js.map +1 -1
  18. package/lib/extractors/TailwindVariantsExtractor.d.ts +1 -0
  19. package/lib/extractors/TailwindVariantsExtractor.d.ts.map +1 -1
  20. package/lib/extractors/TailwindVariantsExtractor.js +11 -1
  21. package/lib/extractors/TailwindVariantsExtractor.js.map +1 -1
  22. package/lib/extractors/VariableReferenceExtractor.d.ts +38 -0
  23. package/lib/extractors/VariableReferenceExtractor.d.ts.map +1 -0
  24. package/lib/extractors/VariableReferenceExtractor.js +177 -0
  25. package/lib/extractors/VariableReferenceExtractor.js.map +1 -0
  26. package/lib/services/DiagnosticService.d.ts.map +1 -1
  27. package/lib/services/DiagnosticService.js +6 -1
  28. package/lib/services/DiagnosticService.js.map +1 -1
  29. package/package.json +1 -1
  30. package/lib/extractors/JsxAttributeExtractor.original.d.ts +0 -15
  31. package/lib/extractors/JsxAttributeExtractor.original.d.ts.map +0 -1
  32. package/lib/extractors/JsxAttributeExtractor.original.js +0 -84
  33. package/lib/extractors/JsxAttributeExtractor.original.js.map +0 -1
@@ -8,6 +8,14 @@ export interface ClassNameInfo {
8
8
  length: number;
9
9
  line: number;
10
10
  file: string;
11
+ /**
12
+ * If this class name comes from a variable reference, this contains
13
+ * information about where the variable is used (for better error messages)
14
+ */
15
+ variableUsage?: {
16
+ variableName: string;
17
+ usageLine: number;
18
+ };
11
19
  }
12
20
  /**
13
21
  * Context provided to extractors for class name extraction
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,aAAa,EAAE,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,aAAa,CAAC,EAAE;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,aAAa,EAAE,CAAC;CAC5B"}
@@ -10,6 +10,7 @@ export declare abstract class BaseExtractor implements IClassNameExtractor {
10
10
  abstract extract(node: ts.Node, context: ExtractionContext): ClassNameInfo[];
11
11
  /**
12
12
  * Helper method to create ClassNameInfo from a string literal
13
+ * Handles both single-line and multiline strings with various whitespace
13
14
  */
14
15
  protected extractFromStringLiteral(literal: ts.StringLiteral | ts.NoSubstitutionTemplateLiteral, context: ExtractionContext): ClassNameInfo[];
15
16
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BaseExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/BaseExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEjE;;;GAGG;AACH,8BAAsB,aAAc,YAAW,mBAAmB;IACjE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IACtE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAE5E;;OAEG;IACH,SAAS,CAAC,wBAAwB,CACjC,OAAO,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,6BAA6B,EAC5D,OAAO,EAAE,iBAAiB,GACxB,aAAa,EAAE;IAsBlB;;OAEG;IACH,SAAS,CAAC,0BAA0B,CACnC,cAAc,EAAE,EAAE,CAAC,cAAc,EACjC,gBAAgB,EAAE,MAAM,EAAE,GACxB,OAAO;CAgBV"}
1
+ {"version":3,"file":"BaseExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/BaseExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEjE;;;GAGG;AACH,8BAAsB,aAAc,YAAW,mBAAmB;IACjE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IACtE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAE5E;;;OAGG;IACH,SAAS,CAAC,wBAAwB,CACjC,OAAO,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,6BAA6B,EAC5D,OAAO,EAAE,iBAAiB,GACxB,aAAa,EAAE;IA0BlB;;OAEG;IACH,SAAS,CAAC,0BAA0B,CACnC,cAAc,EAAE,EAAE,CAAC,cAAc,EACjC,gBAAgB,EAAE,MAAM,EAAE,GACxB,OAAO;CAgBV"}
@@ -42,24 +42,28 @@ const ts = __importStar(require("typescript/lib/tsserverlibrary"));
42
42
  class BaseExtractor {
43
43
  /**
44
44
  * Helper method to create ClassNameInfo from a string literal
45
+ * Handles both single-line and multiline strings with various whitespace
45
46
  */
46
47
  extractFromStringLiteral(literal, context) {
47
48
  const classNames = [];
48
49
  const fullText = literal.text;
49
50
  const stringContentStart = literal.getStart() + 1;
50
51
  let offset = 0;
51
- fullText.split(' ').forEach(className => {
52
- if (className) {
52
+ // Split by whitespace (including newlines, tabs, etc.) while tracking position
53
+ const parts = fullText.split(/(\s+)/);
54
+ for (const part of parts) {
55
+ if (part && !/^\s+$/.test(part)) {
56
+ // Non-whitespace part is a class name
53
57
  classNames.push({
54
- className: className,
58
+ className: part,
55
59
  absoluteStart: stringContentStart + offset,
56
- length: className.length,
57
- line: context.sourceFile.getLineAndCharacterOfPosition(literal.getStart()).line + 1,
60
+ length: part.length,
61
+ line: context.sourceFile.getLineAndCharacterOfPosition(stringContentStart + offset).line + 1,
58
62
  file: context.sourceFile.fileName
59
63
  });
60
64
  }
61
- offset += className.length + 1;
62
- });
65
+ offset += part.length;
66
+ }
63
67
  return classNames;
64
68
  }
65
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BaseExtractor.js","sourceRoot":"","sources":["../../src/extractors/BaseExtractor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAqD;AAKrD;;;GAGG;AACH,MAAsB,aAAa;IAIlC;;OAEG;IACO,wBAAwB,CACjC,OAA4D,EAC5D,OAA0B;QAE1B,MAAM,UAAU,GAAoB,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACvC,IAAI,SAAS,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,CAAC;oBACf,SAAS,EAAE,SAAS;oBACpB,aAAa,EAAE,kBAAkB,GAAG,MAAM;oBAC1C,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,6BAA6B,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC;oBACnF,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ;iBACjC,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;OAEG;IACO,0BAA0B,CACnC,cAAiC,EACjC,gBAA0B;QAE1B,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC;QAEvC,6CAA6C;QAC7C,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,gEAAgE;QAChE,IAAI,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,oDAAoD;QACpD,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAtDD,sCAsDC"}
1
+ {"version":3,"file":"BaseExtractor.js","sourceRoot":"","sources":["../../src/extractors/BaseExtractor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAqD;AAKrD;;;GAGG;AACH,MAAsB,aAAa;IAIlC;;;OAGG;IACO,wBAAwB,CACjC,OAA4D,EAC5D,OAA0B;QAE1B,MAAM,UAAU,GAAoB,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,+EAA+E;QAC/E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,sCAAsC;gBACtC,UAAU,CAAC,IAAI,CAAC;oBACf,SAAS,EAAE,IAAI;oBACf,aAAa,EAAE,kBAAkB,GAAG,MAAM;oBAC1C,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,IAAI,EACH,OAAO,CAAC,UAAU,CAAC,6BAA6B,CAAC,kBAAkB,GAAG,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC;oBACvF,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ;iBACjC,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QAED,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;OAEG;IACO,0BAA0B,CACnC,cAAiC,EACjC,gBAA0B;QAE1B,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC;QAEvC,6CAA6C;QAC7C,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,gEAAgE;QAChE,IAAI,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,oDAAoD;QACpD,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AA3DD,sCA2DC"}
@@ -24,6 +24,7 @@ export declare class CvaExtractor extends BaseExtractor {
24
24
  private cvaImportCache;
25
25
  private cvaVariableCache;
26
26
  private expressionExtractor;
27
+ private variableExtractor;
27
28
  constructor();
28
29
  canHandle(node: ts.Node, context: ExtractionContext): boolean;
29
30
  extract(node: ts.Node, context: ExtractionContext): ClassNameInfo[];
@@ -59,7 +60,7 @@ export declare class CvaExtractor extends BaseExtractor {
59
60
  private extractFromCompoundVariants;
60
61
  /**
61
62
  * Extract class names from any expression value
62
- * Handles: strings, arrays, template literals
63
+ * Handles: strings, arrays, template literals, variable references
63
64
  */
64
65
  private extractFromValue;
65
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CvaExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/CvaExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,YAAa,SAAQ,aAAa;IAC9C,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,mBAAmB,CAAsB;;IAOjD,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAI7D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAsBnE;;;OAGG;IACH,OAAO,CAAC,SAAS;IAsBjB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA0BhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0C5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAwC3B;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAgCnC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA8GxB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAiDhC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA+B3B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAkClC;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,UAAU,IAAI,IAAI;CAIlB"}
1
+ {"version":3,"file":"CvaExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/CvaExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,YAAa,SAAQ,aAAa;IAC9C,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,iBAAiB,CAA6B;;IAQtD,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAI7D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAsBnE;;;OAGG;IACH,OAAO,CAAC,SAAS;IAsBjB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA0BhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0C5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAwC3B;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAgCnC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAsHxB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAiDhC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA+B3B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAkClC;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,UAAU,IAAI,IAAI;CAIlB"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CvaExtractor = void 0;
4
4
  const BaseExtractor_1 = require("./BaseExtractor");
5
5
  const ExpressionExtractor_1 = require("./ExpressionExtractor");
6
+ const VariableReferenceExtractor_1 = require("./VariableReferenceExtractor");
6
7
  /**
7
8
  * Extracts class names from class-variance-authority cva() function calls
8
9
  *
@@ -28,6 +29,7 @@ class CvaExtractor extends BaseExtractor_1.BaseExtractor {
28
29
  this.cvaImportCache = new Map();
29
30
  this.cvaVariableCache = new Map();
30
31
  this.expressionExtractor = new ExpressionExtractor_1.ExpressionExtractor();
32
+ this.variableExtractor = new VariableReferenceExtractor_1.VariableReferenceExtractor();
31
33
  }
32
34
  canHandle(node, context) {
33
35
  return context.typescript.isCallExpression(node);
@@ -234,7 +236,7 @@ class CvaExtractor extends BaseExtractor_1.BaseExtractor {
234
236
  }
235
237
  /**
236
238
  * Extract class names from any expression value
237
- * Handles: strings, arrays, template literals
239
+ * Handles: strings, arrays, template literals, variable references
238
240
  */
239
241
  extractFromValue(node, context) {
240
242
  // String literal: 'flex items-center'
@@ -245,13 +247,21 @@ class CvaExtractor extends BaseExtractor_1.BaseExtractor {
245
247
  if (context.typescript.isNoSubstitutionTemplateLiteral(node)) {
246
248
  return this.extractFromStringLiteral(node, context);
247
249
  }
248
- // Array: ['flex', 'items-center']
250
+ // Identifier (variable reference): base: myBaseClasses
251
+ if (context.typescript.isIdentifier(node)) {
252
+ return this.variableExtractor.extractFromIdentifier(node, context);
253
+ }
254
+ // Array: ['flex', 'items-center', myVar]
249
255
  if (context.typescript.isArrayLiteralExpression(node)) {
250
256
  const classNames = [];
251
257
  for (const element of node.elements) {
252
258
  if (context.typescript.isStringLiteral(element)) {
253
259
  classNames.push(...this.extractFromStringLiteral(element, context));
254
260
  }
261
+ else if (context.typescript.isIdentifier(element)) {
262
+ // Handle variable references in arrays
263
+ classNames.push(...this.variableExtractor.extractFromIdentifier(element, context));
264
+ }
255
265
  else if (context.typescript.isExpression(element)) {
256
266
  // Handle complex expressions in arrays (ternary, binary, etc.)
257
267
  classNames.push(...this.expressionExtractor.extractFromExpression(element, context));
@@ -1 +1 @@
1
- {"version":3,"file":"CvaExtractor.js","sourceRoot":"","sources":["../../src/extractors/CvaExtractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CvaExtractor.js","sourceRoot":"","sources":["../../src/extractors/CvaExtractor.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,18 @@ import { BaseExtractor } from './BaseExtractor';
6
6
  * This is a utility extractor used by other extractors to handle nested expressions
7
7
  */
8
8
  export declare class ExpressionExtractor extends BaseExtractor {
9
+ private variableExtractor;
10
+ constructor();
9
11
  canHandle(node: ts.Node, context: ExtractionContext): boolean;
10
12
  extract(node: ts.Node, context: ExtractionContext): ClassNameInfo[];
11
13
  /**
12
14
  * Recursively extract class names from any expression type
13
15
  */
14
16
  extractFromExpression(expression: ts.Expression, context: ExtractionContext): ClassNameInfo[];
17
+ /**
18
+ * Extract class names from an identifier by resolving its declaration
19
+ * This should only be called for top-level variable references in className
20
+ */
21
+ extractFromIdentifier(identifier: ts.Identifier, context: ExtractionContext): ClassNameInfo[];
15
22
  }
16
23
  //# sourceMappingURL=ExpressionExtractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/ExpressionExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IACrD,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAQ7D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAOnE;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;CA+H7F"}
1
+ {"version":3,"file":"ExpressionExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/ExpressionExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IACrD,OAAO,CAAC,iBAAiB,CAA6B;;IAOtD,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAQ7D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAOnE;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAoK7F;;;OAGG;IACH,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;CAG7F"}
@@ -2,11 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExpressionExtractor = void 0;
4
4
  const BaseExtractor_1 = require("./BaseExtractor");
5
+ const VariableReferenceExtractor_1 = require("./VariableReferenceExtractor");
5
6
  /**
6
7
  * Extracts class names from various expression types
7
8
  * This is a utility extractor used by other extractors to handle nested expressions
8
9
  */
9
10
  class ExpressionExtractor extends BaseExtractor_1.BaseExtractor {
11
+ constructor() {
12
+ super();
13
+ this.variableExtractor = new VariableReferenceExtractor_1.VariableReferenceExtractor();
14
+ }
10
15
  canHandle(node, context) {
11
16
  return (context.typescript.isExpression(node) ||
12
17
  context.typescript.isStringLiteral(node) ||
@@ -48,26 +53,57 @@ class ExpressionExtractor extends BaseExtractor_1.BaseExtractor {
48
53
  });
49
54
  }
50
55
  }
51
- // Handle parenthesized expressions: ('class-name')
56
+ // Handle parenthesized expressions: ('class-name') or (myVar)
52
57
  else if (context.typescript.isParenthesizedExpression(expression)) {
53
- classNames.push(...this.extractFromExpression(expression.expression, context));
58
+ const inner = expression.expression;
59
+ // If inner is an identifier, resolve it as a variable reference
60
+ if (context.typescript.isIdentifier(inner)) {
61
+ classNames.push(...this.variableExtractor.extractFromIdentifier(inner, context));
62
+ }
63
+ else {
64
+ classNames.push(...this.extractFromExpression(inner, context));
65
+ }
54
66
  }
55
- // Handle type assertions: ('class-name' as string) or ('class-name' as const)
67
+ // Handle type assertions: ('class-name' as string) or (myVar as string)
56
68
  else if (context.typescript.isAsExpression(expression)) {
57
- classNames.push(...this.extractFromExpression(expression.expression, context));
69
+ const inner = expression.expression;
70
+ if (context.typescript.isIdentifier(inner)) {
71
+ classNames.push(...this.variableExtractor.extractFromIdentifier(inner, context));
72
+ }
73
+ else {
74
+ classNames.push(...this.extractFromExpression(inner, context));
75
+ }
58
76
  }
59
- // Handle non-null assertions: expr!
77
+ // Handle non-null assertions: expr! or myVar!
60
78
  else if (context.typescript.isNonNullExpression(expression)) {
61
- classNames.push(...this.extractFromExpression(expression.expression, context));
79
+ const inner = expression.expression;
80
+ if (context.typescript.isIdentifier(inner)) {
81
+ classNames.push(...this.variableExtractor.extractFromIdentifier(inner, context));
82
+ }
83
+ else {
84
+ classNames.push(...this.extractFromExpression(inner, context));
85
+ }
62
86
  }
63
87
  // Handle type assertions with angle brackets: <string>'class-name' (rare in JSX)
64
88
  else if (context.typescript.isTypeAssertionExpression(expression)) {
65
- classNames.push(...this.extractFromExpression(expression.expression, context));
89
+ const inner = expression.expression;
90
+ if (context.typescript.isIdentifier(inner)) {
91
+ classNames.push(...this.variableExtractor.extractFromIdentifier(inner, context));
92
+ }
93
+ else {
94
+ classNames.push(...this.extractFromExpression(inner, context));
95
+ }
66
96
  }
67
- // Handle array literal expressions: ['class1', 'class2']
97
+ // Handle array literal expressions: ['class1', 'class2', myVar]
68
98
  else if (context.typescript.isArrayLiteralExpression(expression)) {
69
99
  expression.elements.forEach(element => {
70
- classNames.push(...this.extractFromExpression(element, context));
100
+ // Handle identifier elements (variable references in arrays)
101
+ if (context.typescript.isIdentifier(element)) {
102
+ classNames.push(...this.variableExtractor.extractFromIdentifier(element, context));
103
+ }
104
+ else {
105
+ classNames.push(...this.extractFromExpression(element, context));
106
+ }
71
107
  });
72
108
  }
73
109
  // Handle object literal expressions: { 'class-name': true, 'another': condition }
@@ -104,9 +140,16 @@ class ExpressionExtractor extends BaseExtractor_1.BaseExtractor {
104
140
  file: context.sourceFile.fileName
105
141
  });
106
142
  }
107
- // Handle computed property keys: { ['flex']: true }
143
+ // Handle computed property keys: { ['flex']: true } or { [myVar]: true }
108
144
  else if (context.typescript.isComputedPropertyName(name)) {
109
- classNames.push(...this.extractFromExpression(name.expression, context));
145
+ const computedExpr = name.expression;
146
+ // Handle identifier in computed property (variable reference)
147
+ if (context.typescript.isIdentifier(computedExpr)) {
148
+ classNames.push(...this.variableExtractor.extractFromIdentifier(computedExpr, context));
149
+ }
150
+ else {
151
+ classNames.push(...this.extractFromExpression(computedExpr, context));
152
+ }
110
153
  }
111
154
  // Process the value - it might contain arrays, nested objects, etc.
112
155
  classNames.push(...this.extractFromExpression(property.initializer, context));
@@ -137,8 +180,17 @@ class ExpressionExtractor extends BaseExtractor_1.BaseExtractor {
137
180
  else if (context.typescript.isNoSubstitutionTemplateLiteral(expression)) {
138
181
  return this.extractFromStringLiteral(expression, context);
139
182
  }
183
+ // Note: Identifier handling is done in JsxAttributeExtractor for top-level variable references
184
+ // We don't resolve identifiers here to avoid validating dynamic variables inside template interpolations
140
185
  return classNames;
141
186
  }
187
+ /**
188
+ * Extract class names from an identifier by resolving its declaration
189
+ * This should only be called for top-level variable references in className
190
+ */
191
+ extractFromIdentifier(identifier, context) {
192
+ return this.variableExtractor.extractFromIdentifier(identifier, context);
193
+ }
142
194
  }
143
195
  exports.ExpressionExtractor = ExpressionExtractor;
144
196
  //# sourceMappingURL=ExpressionExtractor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionExtractor.js","sourceRoot":"","sources":["../../src/extractors/ExpressionExtractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpressionExtractor.js","sourceRoot":"","sources":["../../src/extractors/ExpressionExtractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsxAttributeExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/JsxAttributeExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,SAAQ,aAAa;IACvD,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,iBAAiB,CAA8B;;IASvD,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAO7D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;CAkGnE"}
1
+ {"version":3,"file":"JsxAttributeExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/JsxAttributeExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,SAAQ,aAAa;IACvD,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,iBAAiB,CAA8B;;IASvD,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAO7D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;CA+GnE"}
@@ -55,22 +55,22 @@ class JsxAttributeExtractor extends BaseExtractor_1.BaseExtractor {
55
55
  continue;
56
56
  }
57
57
  const stringContentStart = initializer.getStart() + 1;
58
- const lineNumber = context.sourceFile.getLineAndCharacterOfPosition(attr.getStart()).line + 1;
59
58
  let offset = 0;
60
- // OPTIMIZATION: Split and filter in one pass
61
- const classes = fullText.split(' ');
62
- for (let i = 0; i < classes.length; i++) {
63
- const className = classes[i];
64
- if (className) {
59
+ // Split by whitespace (including newlines, tabs) while tracking position
60
+ const parts = fullText.split(/(\s+)/);
61
+ for (const part of parts) {
62
+ if (part && !/^\s+$/.test(part)) {
63
+ // Non-whitespace part is a class name
65
64
  classNames.push({
66
- className,
65
+ className: part,
67
66
  absoluteStart: stringContentStart + offset,
68
- length: className.length,
69
- line: lineNumber,
67
+ length: part.length,
68
+ line: context.sourceFile.getLineAndCharacterOfPosition(stringContentStart + offset).line +
69
+ 1,
70
70
  file: context.sourceFile.fileName
71
71
  });
72
72
  }
73
- offset += className.length + 1;
73
+ offset += part.length;
74
74
  }
75
75
  continue; // Skip to next attribute
76
76
  }
@@ -101,6 +101,19 @@ class JsxAttributeExtractor extends BaseExtractor_1.BaseExtractor {
101
101
  context.typescript.isTypeAssertionExpression(expression)) {
102
102
  classNames.push(...this.expressionExtractor.extract(expression, context));
103
103
  }
104
+ // Handle identifier references: className={dynamicClass}
105
+ // This resolves the variable to its declared value for validation
106
+ else if (context.typescript.isIdentifier(expression)) {
107
+ classNames.push(...this.expressionExtractor.extractFromIdentifier(expression, context));
108
+ }
109
+ // Handle array literal expressions: className={['flex', 'items-center']}
110
+ else if (context.typescript.isArrayLiteralExpression(expression)) {
111
+ classNames.push(...this.expressionExtractor.extract(expression, context));
112
+ }
113
+ // Handle object literal expressions: className={{ flex: true }}
114
+ else if (context.typescript.isObjectLiteralExpression(expression)) {
115
+ classNames.push(...this.expressionExtractor.extract(expression, context));
116
+ }
104
117
  }
105
118
  }
106
119
  return classNames;
@@ -1 +1 @@
1
- {"version":3,"file":"JsxAttributeExtractor.js","sourceRoot":"","sources":["../../src/extractors/JsxAttributeExtractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsxAttributeExtractor.js","sourceRoot":"","sources":["../../src/extractors/JsxAttributeExtractor.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare class TailwindVariantsExtractor extends BaseExtractor {
25
25
  private tvImportCache;
26
26
  private tvVariableCache;
27
27
  private expressionExtractor;
28
+ private variableExtractor;
28
29
  constructor();
29
30
  canHandle(node: ts.Node, context: ExtractionContext): boolean;
30
31
  extract(node: ts.Node, context: ExtractionContext): ClassNameInfo[];
@@ -1 +1 @@
1
- {"version":3,"file":"TailwindVariantsExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/TailwindVariantsExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,yBAA0B,SAAQ,aAAa;IAC3D,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,mBAAmB,CAAsB;;IAOjD,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAI7D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAmCnE;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAsBhB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAoDxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoD3B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAgCnC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8GxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAsD/B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAkCjC;;OAEG;IACH,UAAU,IAAI,IAAI;CAIlB"}
1
+ {"version":3,"file":"TailwindVariantsExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/TailwindVariantsExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,yBAA0B,SAAQ,aAAa;IAC3D,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,iBAAiB,CAA6B;;IAQtD,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAI7D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAmCnE;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAsBhB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAoDxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoD3B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAgCnC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsHxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAsD/B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAkCjC;;OAEG;IACH,UAAU,IAAI,IAAI;CAIlB"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TailwindVariantsExtractor = void 0;
4
4
  const BaseExtractor_1 = require("./BaseExtractor");
5
5
  const ExpressionExtractor_1 = require("./ExpressionExtractor");
6
+ const VariableReferenceExtractor_1 = require("./VariableReferenceExtractor");
6
7
  /**
7
8
  * Extracts class names from tailwind-variants tv() function calls
8
9
  *
@@ -29,6 +30,7 @@ class TailwindVariantsExtractor extends BaseExtractor_1.BaseExtractor {
29
30
  this.tvImportCache = new Map();
30
31
  this.tvVariableCache = new Map();
31
32
  this.expressionExtractor = new ExpressionExtractor_1.ExpressionExtractor();
33
+ this.variableExtractor = new VariableReferenceExtractor_1.VariableReferenceExtractor();
32
34
  }
33
35
  canHandle(node, context) {
34
36
  return context.typescript.isCallExpression(node);
@@ -268,13 +270,21 @@ class TailwindVariantsExtractor extends BaseExtractor_1.BaseExtractor {
268
270
  if (context.typescript.isNoSubstitutionTemplateLiteral(node)) {
269
271
  return this.extractFromStringLiteral(node, context);
270
272
  }
271
- // Array: ['flex', 'items-center']
273
+ // Identifier (variable reference): base: myBaseClasses
274
+ if (context.typescript.isIdentifier(node)) {
275
+ return this.variableExtractor.extractFromIdentifier(node, context);
276
+ }
277
+ // Array: ['flex', 'items-center', myVar]
272
278
  if (context.typescript.isArrayLiteralExpression(node)) {
273
279
  const classNames = [];
274
280
  for (const element of node.elements) {
275
281
  if (context.typescript.isStringLiteral(element)) {
276
282
  classNames.push(...this.extractFromStringLiteral(element, context));
277
283
  }
284
+ else if (context.typescript.isIdentifier(element)) {
285
+ // Handle variable references in arrays
286
+ classNames.push(...this.variableExtractor.extractFromIdentifier(element, context));
287
+ }
278
288
  else if (context.typescript.isExpression(element)) {
279
289
  // Handle complex expressions in arrays (ternary, binary, etc.)
280
290
  classNames.push(...this.expressionExtractor.extractFromExpression(element, context));
@@ -1 +1 @@
1
- {"version":3,"file":"TailwindVariantsExtractor.js","sourceRoot":"","sources":["../../src/extractors/TailwindVariantsExtractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TailwindVariantsExtractor.js","sourceRoot":"","sources":["../../src/extractors/TailwindVariantsExtractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import * as ts from 'typescript/lib/tsserverlibrary';
2
+ import { ClassNameInfo, ExtractionContext } from '../core/types';
3
+ import { BaseExtractor } from './BaseExtractor';
4
+ /**
5
+ * Extracts class names from variable references by resolving their declarations.
6
+ * Errors point to the actual class name in the declaration, with context about
7
+ * where the variable is used.
8
+ *
9
+ * Handles cases like:
10
+ * - const dynamicClass = 'bg-blue-500';
11
+ * <div className={dynamicClass}>
12
+ *
13
+ * - const classes = isActive ? 'bg-blue-500' : 'bg-gray-500';
14
+ * <div className={classes}>
15
+ */
16
+ export declare class VariableReferenceExtractor extends BaseExtractor {
17
+ canHandle(node: ts.Node, context: ExtractionContext): boolean;
18
+ extract(node: ts.Node, context: ExtractionContext): ClassNameInfo[];
19
+ /**
20
+ * Extract class names from an identifier by resolving its declaration
21
+ */
22
+ extractFromIdentifier(identifier: ts.Identifier, context: ExtractionContext): ClassNameInfo[];
23
+ /**
24
+ * Extract class names from an initializer expression
25
+ * Reports errors at the declaration position (where the string literal is)
26
+ */
27
+ private extractFromInitializer;
28
+ /**
29
+ * Extract class names from a string literal, pointing errors at the literal position
30
+ * Handles both single-line and multiline strings with various whitespace
31
+ */
32
+ private extractFromStringLiteralWithUsage;
33
+ /**
34
+ * Extract class names from text, tracking offsets for accurate positions
35
+ */
36
+ private extractClassNamesFromText;
37
+ }
38
+ //# sourceMappingURL=VariableReferenceExtractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariableReferenceExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/VariableReferenceExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,qBAAa,0BAA2B,SAAQ,aAAa;IAC5D,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAI7D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAQnE;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAgD7F;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA2E9B;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IA+BzC;;OAEG;IACH,OAAO,CAAC,yBAAyB;CA4BjC"}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VariableReferenceExtractor = void 0;
4
+ const BaseExtractor_1 = require("./BaseExtractor");
5
+ /**
6
+ * Extracts class names from variable references by resolving their declarations.
7
+ * Errors point to the actual class name in the declaration, with context about
8
+ * where the variable is used.
9
+ *
10
+ * Handles cases like:
11
+ * - const dynamicClass = 'bg-blue-500';
12
+ * <div className={dynamicClass}>
13
+ *
14
+ * - const classes = isActive ? 'bg-blue-500' : 'bg-gray-500';
15
+ * <div className={classes}>
16
+ */
17
+ class VariableReferenceExtractor extends BaseExtractor_1.BaseExtractor {
18
+ canHandle(node, context) {
19
+ return context.typescript.isIdentifier(node);
20
+ }
21
+ extract(node, context) {
22
+ if (!context.typescript.isIdentifier(node)) {
23
+ return [];
24
+ }
25
+ return this.extractFromIdentifier(node, context);
26
+ }
27
+ /**
28
+ * Extract class names from an identifier by resolving its declaration
29
+ */
30
+ extractFromIdentifier(identifier, context) {
31
+ const { typescript, typeChecker } = context;
32
+ // TypeChecker is required for symbol resolution
33
+ if (!typeChecker) {
34
+ return [];
35
+ }
36
+ // Get the symbol for this identifier
37
+ const symbol = typeChecker.getSymbolAtLocation(identifier);
38
+ if (!symbol) {
39
+ return [];
40
+ }
41
+ // Get the declaration(s) for this symbol
42
+ const declarations = symbol.getDeclarations();
43
+ if (!declarations || declarations.length === 0) {
44
+ return [];
45
+ }
46
+ // Get variable usage info for better error messages
47
+ const variableName = identifier.getText();
48
+ const usageLine = context.sourceFile.getLineAndCharacterOfPosition(identifier.getStart()).line + 1;
49
+ const variableUsage = { variableName, usageLine };
50
+ const classNames = [];
51
+ for (const declaration of declarations) {
52
+ // Handle variable declarations: const foo = 'string' | condition ? 'a' : 'b'
53
+ if (typescript.isVariableDeclaration(declaration)) {
54
+ const initializer = declaration.initializer;
55
+ if (initializer) {
56
+ classNames.push(...this.extractFromInitializer(initializer, variableUsage, context));
57
+ }
58
+ }
59
+ // Handle parameter declarations with default values
60
+ else if (typescript.isParameter(declaration)) {
61
+ const initializer = declaration.initializer;
62
+ if (initializer) {
63
+ classNames.push(...this.extractFromInitializer(initializer, variableUsage, context));
64
+ }
65
+ }
66
+ }
67
+ return classNames;
68
+ }
69
+ /**
70
+ * Extract class names from an initializer expression
71
+ * Reports errors at the declaration position (where the string literal is)
72
+ */
73
+ extractFromInitializer(initializer, variableUsage, context) {
74
+ const { typescript } = context;
75
+ const classNames = [];
76
+ // Handle string literals: const foo = 'bg-blue-500'
77
+ if (typescript.isStringLiteral(initializer)) {
78
+ classNames.push(...this.extractFromStringLiteralWithUsage(initializer, variableUsage, context));
79
+ }
80
+ // Handle no-substitution template literals: const foo = `bg-blue-500`
81
+ else if (typescript.isNoSubstitutionTemplateLiteral(initializer)) {
82
+ classNames.push(...this.extractFromStringLiteralWithUsage(initializer, variableUsage, context));
83
+ }
84
+ // Handle conditional expressions: const foo = condition ? 'bg-blue-500' : 'bg-gray-500'
85
+ else if (typescript.isConditionalExpression(initializer)) {
86
+ classNames.push(...this.extractFromInitializer(initializer.whenTrue, variableUsage, context));
87
+ classNames.push(...this.extractFromInitializer(initializer.whenFalse, variableUsage, context));
88
+ }
89
+ // Handle binary expressions: const foo = condition && 'bg-blue-500'
90
+ else if (typescript.isBinaryExpression(initializer)) {
91
+ if (initializer.operatorToken.kind === typescript.SyntaxKind.AmpersandAmpersandToken ||
92
+ initializer.operatorToken.kind === typescript.SyntaxKind.BarBarToken) {
93
+ classNames.push(...this.extractFromInitializer(initializer.right, variableUsage, context));
94
+ }
95
+ }
96
+ // Handle parenthesized expressions: const foo = ('bg-blue-500')
97
+ else if (typescript.isParenthesizedExpression(initializer)) {
98
+ classNames.push(...this.extractFromInitializer(initializer.expression, variableUsage, context));
99
+ }
100
+ // Handle type assertions: const foo = 'bg-blue-500' as const
101
+ else if (typescript.isAsExpression(initializer)) {
102
+ classNames.push(...this.extractFromInitializer(initializer.expression, variableUsage, context));
103
+ }
104
+ // Handle template expressions with interpolation - extract static parts only
105
+ else if (typescript.isTemplateExpression(initializer)) {
106
+ // Extract from head
107
+ const headText = initializer.head.text;
108
+ if (headText.trim()) {
109
+ const headStart = initializer.head.getStart() + 1; // +1 for opening backtick
110
+ const headLine = context.sourceFile.getLineAndCharacterOfPosition(headStart).line + 1;
111
+ classNames.push(...this.extractClassNamesFromText(headText, headStart, headLine, variableUsage, context));
112
+ }
113
+ // Extract from template spans (parts between and after interpolations)
114
+ for (const span of initializer.templateSpans) {
115
+ const spanText = span.literal.text;
116
+ if (spanText.trim()) {
117
+ const spanStart = span.literal.getStart() + 1;
118
+ const spanLine = context.sourceFile.getLineAndCharacterOfPosition(spanStart).line + 1;
119
+ classNames.push(...this.extractClassNamesFromText(spanText, spanStart, spanLine, variableUsage, context));
120
+ }
121
+ }
122
+ }
123
+ return classNames;
124
+ }
125
+ /**
126
+ * Extract class names from a string literal, pointing errors at the literal position
127
+ * Handles both single-line and multiline strings with various whitespace
128
+ */
129
+ extractFromStringLiteralWithUsage(literal, variableUsage, context) {
130
+ const classNames = [];
131
+ const fullText = literal.text;
132
+ const stringContentStart = literal.getStart() + 1; // +1 for opening quote
133
+ let offset = 0;
134
+ // Split by whitespace (including newlines, tabs, etc.) while tracking position
135
+ const parts = fullText.split(/(\s+)/);
136
+ for (const part of parts) {
137
+ if (part && !/^\s+$/.test(part)) {
138
+ // Non-whitespace part is a class name
139
+ classNames.push({
140
+ className: part,
141
+ absoluteStart: stringContentStart + offset,
142
+ length: part.length,
143
+ line: context.sourceFile.getLineAndCharacterOfPosition(stringContentStart + offset).line + 1,
144
+ file: context.sourceFile.fileName,
145
+ variableUsage
146
+ });
147
+ }
148
+ offset += part.length;
149
+ }
150
+ return classNames;
151
+ }
152
+ /**
153
+ * Extract class names from text, tracking offsets for accurate positions
154
+ */
155
+ extractClassNamesFromText(text, startPosition, line, variableUsage, context) {
156
+ const classNames = [];
157
+ let offset = 0;
158
+ // Split by whitespace, keeping track of position
159
+ const parts = text.split(/(\s+)/);
160
+ for (const part of parts) {
161
+ if (part.trim()) {
162
+ classNames.push({
163
+ className: part,
164
+ absoluteStart: startPosition + offset,
165
+ length: part.length,
166
+ line,
167
+ file: context.sourceFile.fileName,
168
+ variableUsage
169
+ });
170
+ }
171
+ offset += part.length;
172
+ }
173
+ return classNames;
174
+ }
175
+ }
176
+ exports.VariableReferenceExtractor = VariableReferenceExtractor;
177
+ //# sourceMappingURL=VariableReferenceExtractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariableReferenceExtractor.js","sourceRoot":"","sources":["../../src/extractors/VariableReferenceExtractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticService.d.ts","sourceRoot":"","sources":["../../src/services/DiagnosticService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAC3D,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU;IAYpF;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,EAAE;CAG1F"}
1
+ {"version":3,"file":"DiagnosticService.d.ts","sourceRoot":"","sources":["../../src/services/DiagnosticService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAC3D,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU;IAmBpF;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,EAAE;CAG1F"}
@@ -40,11 +40,16 @@ const ts = __importStar(require("typescript/lib/tsserverlibrary"));
40
40
  */
41
41
  class DiagnosticService {
42
42
  createDiagnostic(classInfo, sourceFile) {
43
+ let messageText = `The class "${classInfo.className}" is not a valid Tailwind class`;
44
+ // Add context for variable references
45
+ if (classInfo.variableUsage) {
46
+ messageText += `. This value is used as className via variable "${classInfo.variableUsage.variableName}" on line ${classInfo.variableUsage.usageLine}`;
47
+ }
43
48
  return {
44
49
  file: sourceFile,
45
50
  start: classInfo.absoluteStart,
46
51
  length: classInfo.length,
47
- messageText: `The class "${classInfo.className}" is not a valid Tailwind class`,
52
+ messageText,
48
53
  category: ts.DiagnosticCategory.Error,
49
54
  code: 9999,
50
55
  source: 'tw-plugin'
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticService.js","sourceRoot":"","sources":["../../src/services/DiagnosticService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAqD;AAKrD;;GAEG;AACH,MAAa,iBAAiB;IAC7B,gBAAgB,CAAC,SAAwB,EAAE,UAAyB;QACnE,OAAO;YACN,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,SAAS,CAAC,aAAa;YAC9B,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,WAAW,EAAE,cAAc,SAAS,CAAC,SAAS,iCAAiC;YAC/E,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK;YACrC,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,WAAW;SACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,UAA2B,EAAE,UAAyB;QACvE,OAAO,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAClF,CAAC;CACD;AAnBD,8CAmBC"}
1
+ {"version":3,"file":"DiagnosticService.js","sourceRoot":"","sources":["../../src/services/DiagnosticService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAqD;AAKrD;;GAEG;AACH,MAAa,iBAAiB;IAC7B,gBAAgB,CAAC,SAAwB,EAAE,UAAyB;QACnE,IAAI,WAAW,GAAG,cAAc,SAAS,CAAC,SAAS,iCAAiC,CAAC;QAErF,sCAAsC;QACtC,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC7B,WAAW,IAAI,mDAAmD,SAAS,CAAC,aAAa,CAAC,YAAY,aAAa,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;QACxJ,CAAC;QAED,OAAO;YACN,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,SAAS,CAAC,aAAa;YAC9B,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,WAAW;YACX,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK;YACrC,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,WAAW;SACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,UAA2B,EAAE,UAAyB;QACvE,OAAO,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAClF,CAAC;CACD;AA1BD,8CA0BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tailwind-typescript-plugin",
3
- "version": "1.1.0",
3
+ "version": "1.1.1-beta.1",
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",
@@ -1,15 +0,0 @@
1
- import * as ts from 'typescript/lib/tsserverlibrary';
2
- import { ClassNameInfo, ExtractionContext } from '../core/types';
3
- import { BaseExtractor } from './BaseExtractor';
4
- /**
5
- * Extracts class names from JSX className attributes
6
- * This is the main orchestrator for JSX elements
7
- */
8
- export declare class JsxAttributeExtractor extends BaseExtractor {
9
- private expressionExtractor;
10
- private templateExtractor;
11
- constructor();
12
- canHandle(node: ts.Node, context: ExtractionContext): boolean;
13
- extract(node: ts.Node, context: ExtractionContext): ClassNameInfo[];
14
- }
15
- //# sourceMappingURL=JsxAttributeExtractor.original.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JsxAttributeExtractor.original.d.ts","sourceRoot":"","sources":["../../src/extractors/JsxAttributeExtractor.original.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,aAAa;IACvD,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,iBAAiB,CAA8B;;IAQvD,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAO7D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;CA0EnE"}
@@ -1,84 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JsxAttributeExtractor = void 0;
4
- const BaseExtractor_1 = require("./BaseExtractor");
5
- const ExpressionExtractor_1 = require("./ExpressionExtractor");
6
- const TemplateExpressionExtractor_1 = require("./TemplateExpressionExtractor");
7
- /**
8
- * Extracts class names from JSX className attributes
9
- * This is the main orchestrator for JSX elements
10
- */
11
- class JsxAttributeExtractor extends BaseExtractor_1.BaseExtractor {
12
- constructor() {
13
- super();
14
- this.expressionExtractor = new ExpressionExtractor_1.ExpressionExtractor();
15
- this.templateExtractor = new TemplateExpressionExtractor_1.TemplateExpressionExtractor();
16
- }
17
- canHandle(node, context) {
18
- return (context.typescript.isJsxOpeningElement(node) ||
19
- context.typescript.isJsxSelfClosingElement(node));
20
- }
21
- extract(node, context) {
22
- const classNames = [];
23
- if (!context.typescript.isJsxOpeningElement(node) &&
24
- !context.typescript.isJsxSelfClosingElement(node)) {
25
- return classNames;
26
- }
27
- const attributes = node.attributes.properties;
28
- for (const attr of attributes) {
29
- if (context.typescript.isJsxAttribute(attr) && attr.name.getText() === 'className') {
30
- const initializer = attr.initializer;
31
- if (!initializer) {
32
- continue;
33
- }
34
- // Handle string literal: className="foo bar"
35
- if (context.typescript.isStringLiteral(initializer)) {
36
- const fullText = initializer.text;
37
- const stringContentStart = initializer.getStart() + 1;
38
- const lineNumber = context.sourceFile.getLineAndCharacterOfPosition(attr.getStart()).line + 1;
39
- let offset = 0;
40
- fullText.split(' ').forEach(className => {
41
- if (className) {
42
- classNames.push({
43
- className: className,
44
- absoluteStart: stringContentStart + offset,
45
- length: className.length,
46
- line: lineNumber,
47
- file: context.sourceFile.fileName
48
- });
49
- }
50
- offset += className.length + 1;
51
- });
52
- }
53
- // Handle JSX expression: className={'foo bar'} or className={clsx(...)}
54
- else if (context.typescript.isJsxExpression(initializer)) {
55
- const expression = initializer.expression;
56
- if (!expression) {
57
- continue;
58
- }
59
- // Delegate to appropriate extractor based on expression type
60
- if (context.typescript.isStringLiteral(expression)) {
61
- classNames.push(...this.expressionExtractor.extract(expression, context));
62
- }
63
- else if (context.typescript.isTemplateExpression(expression) ||
64
- context.typescript.isNoSubstitutionTemplateLiteral(expression)) {
65
- classNames.push(...this.templateExtractor.extract(expression, context));
66
- }
67
- else if (context.typescript.isCallExpression(expression)) {
68
- if (this.shouldValidateFunctionCall(expression, context.utilityFunctions)) {
69
- classNames.push(...this.expressionExtractor.extract(expression, context));
70
- }
71
- }
72
- else if (context.typescript.isBinaryExpression(expression) ||
73
- context.typescript.isConditionalExpression(expression) ||
74
- context.typescript.isParenthesizedExpression(expression)) {
75
- classNames.push(...this.expressionExtractor.extract(expression, context));
76
- }
77
- }
78
- }
79
- }
80
- return classNames;
81
- }
82
- }
83
- exports.JsxAttributeExtractor = JsxAttributeExtractor;
84
- //# sourceMappingURL=JsxAttributeExtractor.original.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JsxAttributeExtractor.original.js","sourceRoot":"","sources":["../../src/extractors/JsxAttributeExtractor.original.ts"],"names":[],"mappings":"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"}