tailwind-typescript-plugin 1.4.0-beta.21 → 1.4.0-beta.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/lib/extractors/VueAttributeExtractor.d.ts +59 -0
- package/lib/extractors/VueAttributeExtractor.d.ts.map +1 -1
- package/lib/extractors/VueAttributeExtractor.js +653 -78
- package/lib/extractors/VueAttributeExtractor.js.map +1 -1
- package/lib/extractors/VueExpressionExtractor.d.ts +14 -1
- package/lib/extractors/VueExpressionExtractor.d.ts.map +1 -1
- package/lib/extractors/VueExpressionExtractor.js +121 -1
- package/lib/extractors/VueExpressionExtractor.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [1.4.0-beta.22](https://github.com/IvanRodriCalleja/tailwind-typescript-plugin/compare/v1.4.0-beta.21...v1.4.0-beta.22) (2025-12-29)
|
|
2
|
+
|
|
3
|
+
### ✨ Features
|
|
4
|
+
|
|
5
|
+
* **vue:** add extractable class detection and namespace import support ([ad87dc5](https://github.com/IvanRodriCalleja/tailwind-typescript-plugin/commit/ad87dc53eca9a05501da5a313a89a8b2fa690b2e))
|
|
6
|
+
|
|
1
7
|
## [1.4.0-beta.21](https://github.com/IvanRodriCalleja/tailwind-typescript-plugin/compare/v1.4.0-beta.20...v1.4.0-beta.21) (2025-12-23)
|
|
2
8
|
|
|
3
9
|
### ✨ Features
|
|
@@ -31,12 +31,68 @@ export declare class VueAttributeExtractor extends BaseExtractor {
|
|
|
31
31
|
* Vue generates code like __VLS_ctx.clsx(...) for template expressions
|
|
32
32
|
* where clsx is imported in the script section. We need to check if the
|
|
33
33
|
* function name (not __VLS_ctx) is directly imported.
|
|
34
|
+
*
|
|
35
|
+
* Also handles namespace imports: __VLS_ctx.utils.clsx(...) for `import * as utils from 'clsx'`
|
|
34
36
|
*/
|
|
35
37
|
protected shouldValidateFunctionCall(callExpression: ts.CallExpression, utilityFunctions: UtilityFunction[], context?: ExtractionContext): boolean;
|
|
36
38
|
canHandle(node: ts.Node, context: ExtractionContext): boolean;
|
|
37
39
|
private hasClassSpreadProperty;
|
|
40
|
+
/**
|
|
41
|
+
* Check if an object has direct class attribute properties (for custom components).
|
|
42
|
+
* Vue generates direct properties like: { colorStyles: "bg-blue-500" }
|
|
43
|
+
*/
|
|
44
|
+
private hasClassDirectProperty;
|
|
38
45
|
extract(node: ts.Node, context: ExtractionContext): ClassNameInfo[];
|
|
39
46
|
private extractClassesFromValue;
|
|
47
|
+
/**
|
|
48
|
+
* Extract classes from an array expression, handling __VLS_ctx references.
|
|
49
|
+
* This method processes array elements directly to support variable references.
|
|
50
|
+
*/
|
|
51
|
+
private extractFromArrayExpression;
|
|
52
|
+
/**
|
|
53
|
+
* Extract classes from an object expression, handling computed property names.
|
|
54
|
+
*/
|
|
55
|
+
private extractFromObjectExpression;
|
|
56
|
+
/**
|
|
57
|
+
* Extract classes from a conditional (ternary) expression in array context.
|
|
58
|
+
*/
|
|
59
|
+
private extractFromConditionalElement;
|
|
60
|
+
/**
|
|
61
|
+
* Extract classes from a conditional (ternary) expression.
|
|
62
|
+
* Handles: isActive ? 'flex' : 'hidden'
|
|
63
|
+
*/
|
|
64
|
+
private extractFromConditionalExpression;
|
|
65
|
+
/**
|
|
66
|
+
* Extract classes from a binary expression.
|
|
67
|
+
* Handles: isActive && 'flex', isDisabled || 'fallback'
|
|
68
|
+
*/
|
|
69
|
+
private extractFromBinaryExpression;
|
|
70
|
+
/**
|
|
71
|
+
* Extract classes from a branch expression (ternary branch or binary operand).
|
|
72
|
+
* Handles string literals, nested ternaries, nested binaries, and VLS references.
|
|
73
|
+
*/
|
|
74
|
+
private extractFromBranchExpression;
|
|
75
|
+
/**
|
|
76
|
+
* Extract classes from CVA/TV function calls with class override.
|
|
77
|
+
* Handles patterns like: button({ color: 'primary', class: 'invalid-class' })
|
|
78
|
+
*
|
|
79
|
+
* Only extracts from functions that are defined using cva() or tv(),
|
|
80
|
+
* not from arbitrary custom functions.
|
|
81
|
+
*/
|
|
82
|
+
private extractFromCvaTvClassOverride;
|
|
83
|
+
/**
|
|
84
|
+
* Check if a function is defined using cva() or tv().
|
|
85
|
+
* Resolves the function symbol and checks if its initializer is a cva/tv call.
|
|
86
|
+
*/
|
|
87
|
+
private isCvaTvFunction;
|
|
88
|
+
/**
|
|
89
|
+
* Check if an expression is a call to cva() or tv().
|
|
90
|
+
*/
|
|
91
|
+
private isCallToCvaOrTv;
|
|
92
|
+
/**
|
|
93
|
+
* Extract classes from a string literal with attributeId.
|
|
94
|
+
*/
|
|
95
|
+
private extractClassesFromStringLiteral;
|
|
40
96
|
/**
|
|
41
97
|
* Extract classes from __VLS_ctx patterns by resolving variable/function references.
|
|
42
98
|
*
|
|
@@ -113,6 +169,9 @@ export declare class VueAttributeExtractor extends BaseExtractor {
|
|
|
113
169
|
private extractFromFunctionBody;
|
|
114
170
|
/**
|
|
115
171
|
* Extract classes from an expression (array, object, string, etc.)
|
|
172
|
+
* @param expr The expression to extract from
|
|
173
|
+
* @param context The extraction context
|
|
174
|
+
* @param attributeId Optional attribute ID for tracking
|
|
116
175
|
*/
|
|
117
176
|
private extractFromExpression;
|
|
118
177
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VueAttributeExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/VueAttributeExtractor.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,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,qBAAsB,SAAQ,aAAa;IACvD,OAAO,CAAC,mBAAmB,CAAyB;;IAOpD
|
|
1
|
+
{"version":3,"file":"VueAttributeExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/VueAttributeExtractor.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,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,qBAAsB,SAAQ,aAAa;IACvD,OAAO,CAAC,mBAAmB,CAAyB;;IAOpD;;;;;;;;OAQG;cACgB,0BAA0B,CAC5C,cAAc,EAAE,EAAE,CAAC,cAAc,EACjC,gBAAgB,EAAE,eAAe,EAAE,EACnC,OAAO,CAAC,EAAE,iBAAiB,GACzB,OAAO;IA6DV,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAyC7D,OAAO,CAAC,sBAAsB;IAyB9B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAiB9B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IA+DnE,OAAO,CAAC,uBAAuB;IA+M/B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAqFlC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiEnC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAQrC;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAmCxC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAgBnC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IA0DnC;;;;;;OAMG;IACH,OAAO,CAAC,6BAA6B;IA0ErC;;;OAGG;IACH,OAAO,CAAC,eAAe;IA0EvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAkBvB;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAkCvC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,0BAA0B;IAkKlC;;;;;;;;OAQG;IACH,OAAO,CAAC,gCAAgC;IAgIxC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAiCxB;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA2ErC;;;OAGG;IACH,OAAO,CAAC,oCAAoC;IAkD5C;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgC9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA0CjC;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IA6BxC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAoEhC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAiD/B;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAoBtC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA2C/B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;CAgL7B"}
|