tailwind-typescript-plugin 0.0.2-beta.10 → 0.0.2-beta.11
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/lib/index.d.ts +0 -58
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/plugin/TailwindTypescriptPlugin.d.ts +0 -16
- package/lib/plugin/TailwindTypescriptPlugin.d.ts.map +1 -1
- package/lib/plugin/TailwindTypescriptPlugin.js +0 -16
- package/lib/plugin/TailwindTypescriptPlugin.js.map +1 -1
- package/package.json +6 -3
package/lib/index.d.ts
CHANGED
|
@@ -1,63 +1,5 @@
|
|
|
1
1
|
import * as ts from 'typescript/lib/tsserverlibrary';
|
|
2
2
|
import { TailwindTypescriptPlugin } from './plugin/TailwindTypescriptPlugin';
|
|
3
|
-
/**
|
|
4
|
-
* Main entry point for the TypeScript Language Service Plugin
|
|
5
|
-
*
|
|
6
|
-
* REFACTORED ARCHITECTURE:
|
|
7
|
-
*
|
|
8
|
-
* This plugin now follows Clean Architecture and SOLID principles:
|
|
9
|
-
*
|
|
10
|
-
* 1. Core Layer (src/core/):
|
|
11
|
-
* - types.ts: Domain types (ClassNameInfo, ExtractionContext, etc.)
|
|
12
|
-
* - interfaces.ts: Contracts (IClassNameExtractor, IClassNameValidator, etc.)
|
|
13
|
-
*
|
|
14
|
-
* 2. Extractors Layer (src/extractors/):
|
|
15
|
-
* - BaseExtractor: Abstract base with common functionality
|
|
16
|
-
* - StringLiteralExtractor: Handles string literals
|
|
17
|
-
* - TemplateExpressionExtractor: Handles template strings
|
|
18
|
-
* - ExpressionExtractor: Handles all expression types (ternary, binary, etc.)
|
|
19
|
-
* - JsxAttributeExtractor: Main orchestrator for JSX className attributes
|
|
20
|
-
*
|
|
21
|
-
* 3. Services Layer (src/services/):
|
|
22
|
-
* - ClassNameExtractionService: Orchestrates AST traversal and extraction
|
|
23
|
-
* - DiagnosticService: Creates TypeScript diagnostics
|
|
24
|
-
* - ValidationService: Validates classes and creates diagnostics
|
|
25
|
-
* - PluginConfigService: Manages plugin configuration
|
|
26
|
-
* - PerformanceCache: LRU cache for performance optimization
|
|
27
|
-
*
|
|
28
|
-
* 4. Plugin Layer (src/plugin/):
|
|
29
|
-
* - TailwindTypescriptPlugin: Thin adapter to TypeScript API
|
|
30
|
-
*
|
|
31
|
-
* 5. Infrastructure Layer:
|
|
32
|
-
* - TailwindValidator: Validates against Tailwind CSS design system
|
|
33
|
-
* - Logger: Logging abstraction
|
|
34
|
-
*
|
|
35
|
-
* SOLID PRINCIPLES APPLIED:
|
|
36
|
-
*
|
|
37
|
-
* - Single Responsibility: Each class has one clear purpose
|
|
38
|
-
* - Open/Closed: Easy to add new extractors without modifying existing code
|
|
39
|
-
* - Liskov Substitution: All extractors implement the same interface
|
|
40
|
-
* - Interface Segregation: Small, focused interfaces
|
|
41
|
-
* - Dependency Inversion: Depends on abstractions (IClassNameValidator, etc.)
|
|
42
|
-
*
|
|
43
|
-
* EXTENSIBILITY:
|
|
44
|
-
*
|
|
45
|
-
* To add a new extraction pattern:
|
|
46
|
-
* 1. Create a new extractor class extending BaseExtractor
|
|
47
|
-
* 2. Implement canHandle() and extract() methods
|
|
48
|
-
* 3. Add it to ClassNameExtractionService.extractors array
|
|
49
|
-
*
|
|
50
|
-
* To use the TypeScript type checker:
|
|
51
|
-
* The type checker is obtained fresh for each file validation from the current program.
|
|
52
|
-
* It's available in the ExtractionContext passed to extractors for type-based features.
|
|
53
|
-
*
|
|
54
|
-
* PERFORMANCE OPTIMIZATIONS:
|
|
55
|
-
*
|
|
56
|
-
* - LRU cache for validation results (2000 entries)
|
|
57
|
-
* - Lazy initialization of design system
|
|
58
|
-
* - Fresh type checker per-file (always accurate, no staleness)
|
|
59
|
-
* - Fast path for static class validation
|
|
60
|
-
*/
|
|
61
3
|
declare const _default: (mod: {
|
|
62
4
|
typescript: typeof ts;
|
|
63
5
|
}) => TailwindTypescriptPlugin;
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;yBAEnE,KAAK;IAAE,UAAU,EAAE,OAAO,EAAE,CAAA;CAAE;AAAxC,kBAA0F"}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,gFAA6E;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,gFAA6E;AAE7E,iBAAS,CAAC,GAA8B,EAAE,EAAE,CAAC,IAAI,mDAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC"}
|
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
import * as ts from 'typescript/lib/tsserverlibrary';
|
|
2
|
-
/**
|
|
3
|
-
* Main plugin class - Refactored with clean architecture and SOLID principles
|
|
4
|
-
*
|
|
5
|
-
* Architecture layers:
|
|
6
|
-
* 1. Core Domain - Types and interfaces (src/core)
|
|
7
|
-
* 2. Extractors - Strategy pattern for class extraction (src/extractors)
|
|
8
|
-
* 3. Services - Business logic orchestration (src/services)
|
|
9
|
-
* 4. Plugin - Thin adapter to TypeScript API (this file)
|
|
10
|
-
*
|
|
11
|
-
* Key improvements:
|
|
12
|
-
* - Single Responsibility: Each class has one clear purpose
|
|
13
|
-
* - Open/Closed: Easy to add new extractors without modifying existing code
|
|
14
|
-
* - Dependency Inversion: Depends on abstractions (interfaces) not concretions
|
|
15
|
-
* - Separation of Concerns: Clear boundaries between layers
|
|
16
|
-
* - Testability: All components can be tested in isolation
|
|
17
|
-
*/
|
|
18
2
|
export declare class TailwindTypescriptPlugin {
|
|
19
3
|
private readonly typescript;
|
|
20
4
|
private logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TailwindTypescriptPlugin.d.ts","sourceRoot":"","sources":["../../src/plugin/TailwindTypescriptPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAYrD
|
|
1
|
+
{"version":3,"file":"TailwindTypescriptPlugin.d.ts","sourceRoot":"","sources":["../../src/plugin/TailwindTypescriptPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAYrD,qBAAa,wBAAwB;IAQxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAPvC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,qBAAqB,CAA8B;gBAE9B,UAAU,EAAE,OAAO,EAAE;IAElD;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAC,eAAe;IAmB5D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAgBlC;;;OAGG;IACH,OAAO,CAAC,4BAA4B,CA+CjC;IAEH;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACH,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAGhD"}
|
|
@@ -13,22 +13,6 @@ const FileDiagnosticCache_1 = require("../services/FileDiagnosticCache");
|
|
|
13
13
|
const PluginConfigService_1 = require("../services/PluginConfigService");
|
|
14
14
|
const ValidationService_1 = require("../services/ValidationService");
|
|
15
15
|
const Logger_1 = require("../utils/Logger");
|
|
16
|
-
/**
|
|
17
|
-
* Main plugin class - Refactored with clean architecture and SOLID principles
|
|
18
|
-
*
|
|
19
|
-
* Architecture layers:
|
|
20
|
-
* 1. Core Domain - Types and interfaces (src/core)
|
|
21
|
-
* 2. Extractors - Strategy pattern for class extraction (src/extractors)
|
|
22
|
-
* 3. Services - Business logic orchestration (src/services)
|
|
23
|
-
* 4. Plugin - Thin adapter to TypeScript API (this file)
|
|
24
|
-
*
|
|
25
|
-
* Key improvements:
|
|
26
|
-
* - Single Responsibility: Each class has one clear purpose
|
|
27
|
-
* - Open/Closed: Easy to add new extractors without modifying existing code
|
|
28
|
-
* - Dependency Inversion: Depends on abstractions (interfaces) not concretions
|
|
29
|
-
* - Separation of Concerns: Clear boundaries between layers
|
|
30
|
-
* - Testability: All components can be tested in isolation
|
|
31
|
-
*/
|
|
32
16
|
class TailwindTypescriptPlugin {
|
|
33
17
|
constructor(typescript) {
|
|
34
18
|
this.typescript = typescript;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TailwindTypescriptPlugin.js","sourceRoot":"","sources":["../../src/plugin/TailwindTypescriptPlugin.ts"],"names":[],"mappings":";;;;;;AACA,4CAAoB;AACpB,gDAAwB;AAExB,2EAAwE;AACxE,uFAAoF;AACpF,qEAAkE;AAClE,yEAAsE;AACtE,yEAAsE;AACtE,qEAAkE;AAClE,4CAAiE;AAEjE
|
|
1
|
+
{"version":3,"file":"TailwindTypescriptPlugin.js","sourceRoot":"","sources":["../../src/plugin/TailwindTypescriptPlugin.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": "0.0.2-beta.
|
|
3
|
+
"version": "0.0.2-beta.11",
|
|
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",
|
|
@@ -17,8 +17,7 @@
|
|
|
17
17
|
"lint": "eslint src --ext .ts,.tsx,.json --quiet --cache",
|
|
18
18
|
"tsc": "tsc --noEmit",
|
|
19
19
|
"prepare": "npm run build",
|
|
20
|
-
"benchmark": "npm run build && node --expose-gc $(which npx) ts-node performance/run-benchmark.ts"
|
|
21
|
-
"benchmark:report": "npx ts-node performance/format-benchmark-report.ts"
|
|
20
|
+
"benchmark": "npm run build && node --expose-gc $(which npx) ts-node performance/run-benchmark.ts"
|
|
22
21
|
},
|
|
23
22
|
"keywords": [
|
|
24
23
|
"typescript",
|
|
@@ -58,9 +57,12 @@
|
|
|
58
57
|
"devDependencies": {
|
|
59
58
|
"@eslint/compat": "^1.2.9",
|
|
60
59
|
"@eslint/eslintrc": "^3",
|
|
60
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
61
|
+
"@semantic-release/git": "^10.0.1",
|
|
61
62
|
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
|
|
62
63
|
"@types/jest": "^29.5.0",
|
|
63
64
|
"@types/node": "^24.10.1",
|
|
65
|
+
"conventional-changelog-conventionalcommits": "^9.1.0",
|
|
64
66
|
"eslint": "^9",
|
|
65
67
|
"eslint-config-next": "15.3.3",
|
|
66
68
|
"eslint-config-prettier": "^10.1.5",
|
|
@@ -71,6 +73,7 @@
|
|
|
71
73
|
"eslint-plugin-storybook": "^9.0.16",
|
|
72
74
|
"jest": "^29.7.0",
|
|
73
75
|
"prettier": "^3.5.3",
|
|
76
|
+
"semantic-release": "^24.2.9",
|
|
74
77
|
"ts-jest": "^29.4.5",
|
|
75
78
|
"ts-node": "^10.9.2",
|
|
76
79
|
"typescript": "^5.7.2"
|