@ui-entropy/cli 0.2.0 โ 0.2.2
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/README.md +38 -61
- package/dist/commands/scan.js +1 -1
- package/dist/commands/scan.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,12 +9,16 @@
|
|
|
9
9
|
|
|
10
10
|
UI Entropy is a **professional developer tool** that scans your codebase to identify unused CSS. Think of it as **SonarQube for your UI** - helping teams maintain code quality, reduce technical debt, and optimize bundle sizes.
|
|
11
11
|
|
|
12
|
-
**What
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
- ๐ **
|
|
12
|
+
**What it does:**
|
|
13
|
+
- ๐ **Identifies unused CSS classes** - Scans your stylesheets and source code to find dead CSS
|
|
14
|
+
- ๐ **Reports waste metrics** - Shows which classes are unused and calculates waste percentage
|
|
15
|
+
- ๐จ **Fails CI builds** - Enforces quality gates with configurable waste thresholds
|
|
16
|
+
- ๐ฏ **Smart framework detection** - Auto-configures for Next.js, React, Vue, Angular, and more
|
|
17
|
+
- ๐ **Provides actionable data** - JSON/summary output to track waste and inform cleanup decisions
|
|
18
|
+
|
|
19
|
+
**What's coming:**
|
|
20
|
+
- ๐ข **Team dashboards** - Centralized monitoring and trend tracking across projects
|
|
21
|
+
- ๐ค **Automated cleanup** - Safe removal suggestions and PR integration
|
|
18
22
|
|
|
19
23
|
## ๐ฆ Installation
|
|
20
24
|
|
|
@@ -57,34 +61,45 @@ npx @ui-entropy/cli scan --threshold 50 # Fails if waste > 50%
|
|
|
57
61
|
## ๐ Example Output
|
|
58
62
|
|
|
59
63
|
```
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
64
|
+
โ Scan completed in 3601ms
|
|
65
|
+
|
|
66
|
+
๐ Project: /path/to/your/project
|
|
67
|
+
๐ Files: 4 CSS, 2307 source
|
|
63
68
|
|
|
64
69
|
๐ UI Entropy Analysis Report
|
|
65
|
-
|
|
70
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
66
71
|
|
|
67
72
|
๐ Summary
|
|
68
|
-
|
|
69
|
-
Total
|
|
70
|
-
|
|
73
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
74
|
+
Total CSS Size: 8,200 bytes
|
|
75
|
+
Total Rules: 114
|
|
76
|
+
Files Scanned: 2307
|
|
71
77
|
|
|
72
78
|
๐ฏ Selectors
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
79
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
80
|
+
Total Selectors: 61
|
|
81
|
+
Used Selectors: 41 (67%)
|
|
82
|
+
Unused Selectors: 20
|
|
83
|
+
|
|
84
|
+
Classes: 58 total
|
|
85
|
+
โโ Used: 38
|
|
86
|
+
โโ Unused: 20
|
|
87
|
+
|
|
88
|
+
IDs: 3 total
|
|
89
|
+
โโ Used: 3
|
|
90
|
+
โโ Unused: 0
|
|
76
91
|
|
|
77
92
|
๐ฐ CSS Waste Analysis
|
|
78
|
-
|
|
79
|
-
|
|
93
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
94
|
+
Waste Percentage: 32.8%
|
|
95
|
+
Estimated Wasted Bytes: 2,689 bytes
|
|
80
96
|
|
|
81
97
|
๐จ Top Unused Classes
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
98
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
99
|
+
1. .container-fluid
|
|
100
|
+
2. .container-lg
|
|
101
|
+
3. .btn-sm
|
|
85
102
|
...
|
|
86
|
-
|
|
87
|
-
๐ก CRITICAL WASTE: Significant cleanup needed.
|
|
88
103
|
```
|
|
89
104
|
|
|
90
105
|
## ๐ ๏ธ CLI Options
|
|
@@ -115,44 +130,6 @@ Create `.ui-entropy.json` in your project root:
|
|
|
115
130
|
}
|
|
116
131
|
```
|
|
117
132
|
|
|
118
|
-
## ๐ CI/CD Integration
|
|
119
|
-
|
|
120
|
-
### GitHub Actions
|
|
121
|
-
|
|
122
|
-
```yaml
|
|
123
|
-
name: CSS Waste Check
|
|
124
|
-
on: [push, pull_request]
|
|
125
|
-
|
|
126
|
-
jobs:
|
|
127
|
-
ui-entropy:
|
|
128
|
-
runs-on: ubuntu-latest
|
|
129
|
-
steps:
|
|
130
|
-
- uses: actions/checkout@v3
|
|
131
|
-
- uses: actions/setup-node@v3
|
|
132
|
-
- run: npx @ui-entropy/cli scan --threshold 50 --format summary
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### GitLab CI
|
|
136
|
-
|
|
137
|
-
```yaml
|
|
138
|
-
ui-entropy:
|
|
139
|
-
image: node:20
|
|
140
|
-
script:
|
|
141
|
-
- npx @ui-entropy/cli scan --threshold 50 --format summary
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### Pre-commit Hook
|
|
145
|
-
|
|
146
|
-
```json
|
|
147
|
-
{
|
|
148
|
-
"husky": {
|
|
149
|
-
"hooks": {
|
|
150
|
-
"pre-commit": "npx @ui-entropy/cli scan --threshold 50 --format summary"
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
```
|
|
155
|
-
|
|
156
133
|
## ๏ธ Roadmap
|
|
157
134
|
|
|
158
135
|
**Available Now:**
|
package/dist/commands/scan.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoB,MAAM,
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
|