devcompass 2.5.0 → 2.7.0
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 +400 -93
- package/data/known-malicious.json +57 -0
- package/package.json +13 -3
- package/src/alerts/github-tracker.js +53 -19
- package/src/alerts/predictive.js +10 -4
- package/src/analyzers/license-risk.js +225 -0
- package/src/analyzers/package-quality.js +368 -0
- package/src/analyzers/security-recommendations.js +274 -0
- package/src/analyzers/supply-chain.js +217 -0
- package/src/commands/analyze.js +466 -17
- package/src/utils/json-formatter.js +118 -28
package/README.md
CHANGED
|
@@ -1,51 +1,74 @@
|
|
|
1
1
|
# 🧭 DevCompass
|
|
2
2
|
|
|
3
|
-
**Dependency health checker with ecosystem intelligence
|
|
3
|
+
**Dependency health checker with ecosystem intelligence, real-time GitHub issue tracking for 500+ popular npm packages, parallel processing, supply chain security analysis, and advanced license risk detection.**
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/devcompass)
|
|
6
6
|
[](https://www.npmjs.com/package/devcompass)
|
|
7
7
|
[](https://opensource.org/licenses/MIT)
|
|
8
8
|
|
|
9
|
-
Analyze your JavaScript projects to find unused dependencies, outdated packages, **detect security vulnerabilities**, **monitor GitHub issues in real-time for 500+ packages**, **check bundle sizes**, **verify licenses**, and **automatically fix issues** with a single command. Perfect for **CI/CD pipelines** with JSON output and exit codes.
|
|
9
|
+
Analyze your JavaScript projects to find unused dependencies, outdated packages, **detect security vulnerabilities**, **monitor GitHub issues in real-time for 500+ packages**, **check bundle sizes**, **verify licenses**, **detect supply chain attacks**, **analyze package quality**, and **automatically fix issues** with a single command. Perfect for **CI/CD pipelines** with JSON output and exit codes.
|
|
10
10
|
|
|
11
|
+
> **NEW in v2.7.0:** Advanced security features - Supply chain analysis, license risk detection, package quality metrics! 🔐
|
|
12
|
+
> **NEW in v2.6.0:** 80% faster with parallel processing! ⚡
|
|
11
13
|
> **NEW in v2.5.0:** Expanded to 502 packages across 33 categories! 🎯
|
|
12
14
|
> **NEW in v2.4.0:** Real-time GitHub issue tracking & predictive warnings! 🔮
|
|
13
|
-
> **NEW in v2.3.1:** Fixed all security vulnerabilities! Health score: 2.5/10 → 8/10 🔒
|
|
14
|
-
> **NEW in v2.3:** Security scanning, bundle analysis & license checker! 🔐
|
|
15
|
-
> **NEW in v2.2:** CI/CD integration with JSON output & smart caching! 🚀
|
|
15
|
+
> **NEW in v2.3.1:** Fixed all security vulnerabilities! Health score: 2.5/10 → 8/10 🔒
|
|
16
16
|
|
|
17
|
-
## 🎉 Latest Update: v2.
|
|
17
|
+
## 🎉 Latest Update: v2.7.0
|
|
18
18
|
|
|
19
|
-
**
|
|
19
|
+
**Comprehensive security analysis without external dependencies!** DevCompass now includes advanced security features:
|
|
20
20
|
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
**What's tracked:**
|
|
28
|
-
- Web Frameworks (25): react, vue, angular, svelte, preact, solid-js, etc.
|
|
29
|
-
- Backend Frameworks (20): express, koa, fastify, hapi, nest, strapi, etc.
|
|
30
|
-
- Build Tools (25): webpack, vite, rollup, parcel, esbuild, turbopack, etc.
|
|
31
|
-
- Testing (25): jest, mocha, vitest, cypress, playwright, storybook, etc.
|
|
32
|
-
- And 29 more categories covering the entire JavaScript ecosystem!
|
|
21
|
+
- 🛡️ **Supply Chain Security** - Detect malicious packages & typosquatting
|
|
22
|
+
- ⚖️ **License Risk Detection** - Enhanced license compliance checking
|
|
23
|
+
- 📊 **Package Quality Metrics** - Health scores for all dependencies
|
|
24
|
+
- 💡 **Security Recommendations** - Actionable, prioritized fix suggestions
|
|
25
|
+
- 🔍 **Install Script Analysis** - Detect suspicious postinstall hooks
|
|
26
|
+
- 📈 **Maintainer Activity** - Track package maintenance status
|
|
33
27
|
|
|
34
28
|
**Example output:**
|
|
35
29
|
```
|
|
36
|
-
|
|
30
|
+
🛡️ SUPPLY CHAIN SECURITY (2 warnings)
|
|
37
31
|
|
|
38
|
-
|
|
32
|
+
🟠 TYPOSQUATTING RISK
|
|
33
|
+
expresss
|
|
34
|
+
Similar to: express (official package)
|
|
35
|
+
→ Remove expresss and install express
|
|
39
36
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
⚖️ LICENSE RISK ANALYSIS (1 warning)
|
|
38
|
+
|
|
39
|
+
🔴 CRITICAL LICENSE RISKS
|
|
40
|
+
gpl-package@1.0.0
|
|
41
|
+
License: AGPL-3.0
|
|
42
|
+
Network copyleft - very restrictive
|
|
43
|
+
→ Replace with permissive alternative immediately
|
|
44
|
+
|
|
45
|
+
📊 PACKAGE QUALITY METRICS (20 analyzed)
|
|
46
|
+
|
|
47
|
+
🔴 ABANDONED PACKAGES (1)
|
|
48
|
+
old-lib@1.0.0
|
|
49
|
+
Health Score: 1.2/10
|
|
50
|
+
Last Update: 3 years ago
|
|
51
|
+
→ Migrate to actively maintained alternative
|
|
52
|
+
|
|
53
|
+
💡 SECURITY RECOMMENDATIONS (Prioritized)
|
|
54
|
+
|
|
55
|
+
🔴 CRITICAL (Fix Immediately)
|
|
56
|
+
1. Remove typosquatting package
|
|
57
|
+
$ npm uninstall expresss && npm install express
|
|
58
|
+
|
|
59
|
+
📈 Expected Impact:
|
|
60
|
+
✓ Current Health Score: 4.2/10
|
|
61
|
+
✓ Expected Score: 8.7/10
|
|
62
|
+
✓ Improvement: +4.5 points (45% increase)
|
|
45
63
|
```
|
|
46
64
|
|
|
47
65
|
## ✨ Features
|
|
48
66
|
|
|
67
|
+
- 🛡️ **Supply Chain Security** (v2.7) - Malicious package & typosquatting detection
|
|
68
|
+
- ⚖️ **License Risk Analysis** (v2.7) - Enhanced license compliance checking
|
|
69
|
+
- 📊 **Package Quality Metrics** (v2.7) - Health scoring for dependencies
|
|
70
|
+
- 💡 **Security Recommendations** (v2.7) - Prioritized, actionable fixes
|
|
71
|
+
- ⚡ **Parallel Processing** (v2.6) - 80% faster GitHub issue tracking
|
|
49
72
|
- 🎯 **500+ Package Coverage** (v2.5) - Comprehensive ecosystem monitoring
|
|
50
73
|
- 🔮 **GitHub Issue Tracking** (v2.4) - Real-time monitoring of package health
|
|
51
74
|
- 📈 **Predictive Warnings** (v2.4) - Detect issues before they're announced
|
|
@@ -99,9 +122,236 @@ devcompass analyze --ci
|
|
|
99
122
|
devcompass analyze --silent
|
|
100
123
|
```
|
|
101
124
|
|
|
102
|
-
##
|
|
125
|
+
## 🛡️ Supply Chain Security (v2.7.0)
|
|
126
|
+
|
|
127
|
+
DevCompass now detects **supply chain attacks** including malicious packages, typosquatting, and suspicious install scripts!
|
|
128
|
+
|
|
129
|
+
### What it detects:
|
|
130
|
+
- 🔴 **Malicious packages** - Known bad actors from curated database
|
|
131
|
+
- 🎯 **Typosquatting** - Packages with names similar to popular packages (e.g., "epress" vs "express")
|
|
132
|
+
- 📦 **Install script warnings** - Suspicious postinstall/preinstall hooks
|
|
133
|
+
- 🔗 **Dangerous patterns** - curl, wget, eval, exec in install scripts
|
|
134
|
+
|
|
135
|
+
### Detection Methods:
|
|
136
|
+
- **Exact pattern matching** - Database of 15+ known malicious packages
|
|
137
|
+
- **Levenshtein distance** - Detects 1-2 character differences from popular packages
|
|
138
|
+
- **Pattern analysis** - Scans install scripts for suspicious commands
|
|
139
|
+
|
|
140
|
+
### Example Output:
|
|
141
|
+
```
|
|
142
|
+
🛡️ SUPPLY CHAIN SECURITY (3 warnings)
|
|
143
|
+
|
|
144
|
+
🔴 MALICIOUS PACKAGES DETECTED
|
|
145
|
+
epress
|
|
146
|
+
Known malicious package detected
|
|
147
|
+
→ Remove immediately - this package is known to be malicious
|
|
148
|
+
|
|
149
|
+
🟠 TYPOSQUATTING RISK
|
|
150
|
+
expresss
|
|
151
|
+
Similar to: express (official package)
|
|
152
|
+
Risk: HIGH - Potential malicious package
|
|
153
|
+
→ Remove expresss and install express
|
|
154
|
+
|
|
155
|
+
🟡 INSTALL SCRIPT WARNING
|
|
156
|
+
suspicious-package@1.0.0
|
|
157
|
+
Script: postinstall
|
|
158
|
+
Patterns: curl, eval
|
|
159
|
+
Risk: MEDIUM - Review install script before use
|
|
160
|
+
→ Review the install script before deployment
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Monitored Patterns:
|
|
164
|
+
**Popular packages protected (15+):**
|
|
165
|
+
- express, request, lodash, axios, webpack
|
|
166
|
+
- react, vue, angular, next, typescript
|
|
167
|
+
- eslint, prettier, jest, mocha, chai
|
|
168
|
+
|
|
169
|
+
**Suspicious install script patterns:**
|
|
170
|
+
- Network operations: curl, wget, http://, https://
|
|
171
|
+
- Code execution: eval, exec, child_process
|
|
172
|
+
- Shell access: /bin/sh, /bin/bash, powershell
|
|
173
|
+
- Dangerous keywords: bitcoin, mining, keylogger, backdoor
|
|
174
|
+
|
|
175
|
+
## ⚖️ License Risk Analysis (v2.7.0)
|
|
176
|
+
|
|
177
|
+
Enhanced license compliance checking with **business risk scoring** and **compatibility analysis**!
|
|
178
|
+
|
|
179
|
+
### License Risk Levels:
|
|
103
180
|
|
|
104
|
-
|
|
181
|
+
**CRITICAL RISK (Immediate action required):**
|
|
182
|
+
- AGPL-1.0, AGPL-3.0 (Network copyleft - very restrictive)
|
|
183
|
+
- UNLICENSED (No license - all rights reserved)
|
|
184
|
+
|
|
185
|
+
**HIGH RISK (Review with legal team):**
|
|
186
|
+
- GPL-1.0, GPL-2.0, GPL-3.0 (Copyleft - requires source disclosure)
|
|
187
|
+
- SEE LICENSE IN, CUSTOM (Custom licenses requiring review)
|
|
188
|
+
|
|
189
|
+
**MEDIUM RISK (Limited obligations):**
|
|
190
|
+
- LGPL-2.0, LGPL-2.1, LGPL-3.0 (Weak copyleft)
|
|
191
|
+
- MPL-1.0, MPL-2.0 (File-level copyleft)
|
|
192
|
+
- EPL-1.0, EPL-2.0 (Module-level copyleft)
|
|
193
|
+
|
|
194
|
+
**LOW RISK (Safe for commercial use):**
|
|
195
|
+
- MIT, Apache-2.0, BSD, ISC (Permissive)
|
|
196
|
+
- CC0-1.0, Unlicense (Public domain)
|
|
197
|
+
|
|
198
|
+
### License Compatibility Checking:
|
|
199
|
+
Detects conflicts between your project license and dependency licenses!
|
|
200
|
+
|
|
201
|
+
**Example Output:**
|
|
202
|
+
```
|
|
203
|
+
⚖️ LICENSE RISK ANALYSIS (3 warnings)
|
|
204
|
+
|
|
205
|
+
Project License: MIT
|
|
206
|
+
|
|
207
|
+
🔴 CRITICAL LICENSE RISKS
|
|
208
|
+
gpl-library@1.0.0
|
|
209
|
+
License: AGPL-3.0
|
|
210
|
+
Network copyleft - very restrictive
|
|
211
|
+
→ Replace with permissive alternative immediately
|
|
212
|
+
|
|
213
|
+
🟠 HIGH RISK LICENSES
|
|
214
|
+
old-package@2.0.0
|
|
215
|
+
License: GPL-2.0
|
|
216
|
+
Requires source code disclosure
|
|
217
|
+
→ Consider replacing with MIT/Apache alternative
|
|
218
|
+
|
|
219
|
+
🟡 LICENSE CONFLICT DETECTED
|
|
220
|
+
Your project: MIT
|
|
221
|
+
Dependencies with GPL: 2 packages
|
|
222
|
+
Risk: License compatibility issue
|
|
223
|
+
→ Review legal compliance
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## 📊 Package Quality Metrics (v2.7.0)
|
|
227
|
+
|
|
228
|
+
Comprehensive **health scoring** for all your dependencies based on maintenance, activity, and community engagement!
|
|
229
|
+
|
|
230
|
+
### Health Score Factors (0-10 scale):
|
|
231
|
+
- **Age** - Newer packages score higher (max -2 points for 3+ years)
|
|
232
|
+
- **Maintenance frequency** - Recent updates score higher (max -2 points)
|
|
233
|
+
- **GitHub activity** - Issue resolution tracked (max -2 points)
|
|
234
|
+
- **Dependencies** - Fewer dependencies score higher (max -1 point)
|
|
235
|
+
- **Documentation** - Description and repository presence (max -1 point)
|
|
236
|
+
- **Deprecation** - Deprecated packages get automatic 0
|
|
237
|
+
|
|
238
|
+
### Package Status Categories:
|
|
239
|
+
- **HEALTHY (7-10):** Well-maintained, recent updates
|
|
240
|
+
- **NEEDS ATTENTION (5-7):** Some concerns, monitor closely
|
|
241
|
+
- **STALE (3-5):** Not updated in 1-2 years
|
|
242
|
+
- **ABANDONED (0-3):** 2+ years without updates, inactive maintainers
|
|
243
|
+
- **DEPRECATED (0):** Officially marked as deprecated
|
|
244
|
+
|
|
245
|
+
### Example Output:
|
|
246
|
+
```
|
|
247
|
+
📊 PACKAGE QUALITY METRICS (20 analyzed)
|
|
248
|
+
|
|
249
|
+
✅ HEALTHY PACKAGES (15)
|
|
250
|
+
react, axios, lodash, express, webpack...
|
|
251
|
+
|
|
252
|
+
🟡 NEEDS ATTENTION (3)
|
|
253
|
+
old-package@1.0.0
|
|
254
|
+
Health Score: 6.5/10
|
|
255
|
+
Last Update: 8 months ago
|
|
256
|
+
Open Issues: 45 (12% resolved)
|
|
257
|
+
→ Monitor for updates
|
|
258
|
+
|
|
259
|
+
🟠 STALE PACKAGES (1)
|
|
260
|
+
aging-lib@2.0.0
|
|
261
|
+
Health Score: 4.2/10
|
|
262
|
+
Last Update: 18 months ago
|
|
263
|
+
→ Consider finding actively maintained alternative
|
|
264
|
+
|
|
265
|
+
🔴 ABANDONED PACKAGES (1)
|
|
266
|
+
deprecated-lib@0.5.0
|
|
267
|
+
Health Score: 1.2/10
|
|
268
|
+
Last Update: 3 years ago
|
|
269
|
+
Maintainer: Inactive
|
|
270
|
+
→ Migrate to actively maintained alternative
|
|
271
|
+
|
|
272
|
+
🔴 DEPRECATED PACKAGES (1)
|
|
273
|
+
old-framework@2.0.0
|
|
274
|
+
Package is officially deprecated
|
|
275
|
+
→ Find alternative immediately
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Performance:
|
|
279
|
+
- Analyzes up to 20 packages per run (prevents rate limiting)
|
|
280
|
+
- ~100ms per package (npm registry API)
|
|
281
|
+
- 1-hour cache duration
|
|
282
|
+
- GitHub data integration for enhanced metrics
|
|
283
|
+
|
|
284
|
+
## 💡 Security Recommendations (v2.7.0)
|
|
285
|
+
|
|
286
|
+
Intelligent, **prioritized recommendations** with actionable commands and impact analysis!
|
|
287
|
+
|
|
288
|
+
### Priority Levels:
|
|
289
|
+
1. **CRITICAL** - Immediate security risks (malicious packages, critical vulnerabilities)
|
|
290
|
+
2. **HIGH** - Production stability issues (typosquatting, GPL conflicts, abandoned packages)
|
|
291
|
+
3. **MEDIUM** - Maintenance concerns (stale packages, install scripts, unused deps)
|
|
292
|
+
4. **LOW** - Minor improvements (outdated packages, documentation)
|
|
293
|
+
|
|
294
|
+
### What You Get:
|
|
295
|
+
- ✅ **Priority-based ordering** - Fix critical issues first
|
|
296
|
+
- ✅ **Copy-paste commands** - Ready-to-run npm commands
|
|
297
|
+
- ✅ **Impact analysis** - See expected health score improvement
|
|
298
|
+
- ✅ **Category grouping** - Supply chain, license, security, quality
|
|
299
|
+
- ✅ **Alternative suggestions** - Recommended replacements
|
|
300
|
+
|
|
301
|
+
### Example Output:
|
|
302
|
+
```
|
|
303
|
+
💡 SECURITY RECOMMENDATIONS (Prioritized)
|
|
304
|
+
|
|
305
|
+
🔴 CRITICAL (Fix Immediately)
|
|
306
|
+
|
|
307
|
+
1. Remove typosquatting package
|
|
308
|
+
Package: expresss
|
|
309
|
+
Action: Remove expresss and install express
|
|
310
|
+
$ npm uninstall expresss && npm install express
|
|
311
|
+
Impact: Prevents potential supply chain attack
|
|
312
|
+
|
|
313
|
+
2. High-risk license detected
|
|
314
|
+
Package: gpl-package@1.0.0
|
|
315
|
+
Action: Replace with permissive alternative
|
|
316
|
+
$ npm uninstall gpl-package
|
|
317
|
+
Impact: Ensures license compliance
|
|
318
|
+
|
|
319
|
+
🟠 HIGH (Fix Soon)
|
|
320
|
+
|
|
321
|
+
3. Abandoned package detected
|
|
322
|
+
Package: old-lib@1.0.0
|
|
323
|
+
Action: Migrate to actively maintained alternative
|
|
324
|
+
$ npm uninstall old-lib
|
|
325
|
+
Impact: Improves long-term stability
|
|
326
|
+
Health Score: 1.2/10
|
|
327
|
+
|
|
328
|
+
4. Security vulnerabilities detected
|
|
329
|
+
Action: Run npm audit fix to resolve vulnerabilities
|
|
330
|
+
$ npm audit fix
|
|
331
|
+
Impact: Resolves 12 known vulnerabilities
|
|
332
|
+
|
|
333
|
+
🟡 MEDIUM (Plan to Fix)
|
|
334
|
+
|
|
335
|
+
5. Clean up unused dependencies
|
|
336
|
+
Action: Remove unused packages
|
|
337
|
+
$ npm uninstall axios express lodash
|
|
338
|
+
Impact: Reduces node_modules size, improves security surface
|
|
339
|
+
|
|
340
|
+
📈 Expected Impact:
|
|
341
|
+
|
|
342
|
+
✓ Current Health Score: 4.2/10
|
|
343
|
+
✓ Expected Score: 8.7/10
|
|
344
|
+
✓ Improvement: +4.5 points (45% increase)
|
|
345
|
+
✓ Issues Resolved: 5 critical/high/medium
|
|
346
|
+
✓ Eliminate 2 critical security risks
|
|
347
|
+
✓ Resolve 3 high-priority issues
|
|
348
|
+
|
|
349
|
+
💡 TIP: Run devcompass fix to apply automated fixes!
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
## 🔮 Predictive Warnings (v2.7.0)
|
|
353
|
+
|
|
354
|
+
DevCompass monitors **real-time GitHub activity for 500+ packages** to detect potential issues before they're officially reported!
|
|
105
355
|
|
|
106
356
|
### What it tracks:
|
|
107
357
|
- 🐛 **Open bug reports** in the last 7/30 days
|
|
@@ -164,15 +414,25 @@ Organized into 33 categories covering the entire JavaScript ecosystem:
|
|
|
164
414
|
4. Calculates risk scores
|
|
165
415
|
5. Provides actionable recommendations
|
|
166
416
|
6. **Smart filtering:** Only checks packages you've actually installed
|
|
417
|
+
7. **Parallel processing:** Checks multiple packages simultaneously (v2.6.0)
|
|
167
418
|
|
|
168
|
-
### Performance:
|
|
419
|
+
### Performance (v2.6.0+):
|
|
420
|
+
- **Parallel processing:** Checks 5 packages simultaneously (80% faster!)
|
|
169
421
|
- **Smart filtering:** Only checks installed packages from your project
|
|
170
|
-
- **First run:** ~1 second
|
|
422
|
+
- **First run:** ~1 second for 5 packages (was ~5s in v2.5.0)
|
|
171
423
|
- **Cached runs:** ~0.5 seconds (93% faster!)
|
|
172
424
|
- **Cache duration:** 1 hour
|
|
173
425
|
- **Zero overhead:** Uninstalled packages aren't checked
|
|
174
426
|
|
|
175
|
-
|
|
427
|
+
**Performance Benchmarks:**
|
|
428
|
+
| Packages | v2.5.0 | v2.6.0+ | Improvement |
|
|
429
|
+
|----------|--------|---------|-------------|
|
|
430
|
+
| 5 | ~5s | ~1s | 80% faster |
|
|
431
|
+
| 10 | ~10s | ~2s | 80% faster |
|
|
432
|
+
| 20 | ~20s | ~4s | 80% faster |
|
|
433
|
+
| 50 | ~50s | ~10s | 80% faster |
|
|
434
|
+
|
|
435
|
+
> **Performance Example:** If you have 5 tracked packages installed (e.g., react, axios, lodash, express, webpack), DevCompass checks all 5 in parallel, completing in ~1 second instead of ~5 seconds!
|
|
176
436
|
|
|
177
437
|
## 🔐 Security & Compliance Features
|
|
178
438
|
|
|
@@ -252,10 +512,11 @@ Detect restrictive licenses that may require legal review!
|
|
|
252
512
|
|
|
253
513
|
### Combined Analysis Example
|
|
254
514
|
|
|
255
|
-
**Full Output:**
|
|
515
|
+
**Full Output (v2.7.0):**
|
|
256
516
|
```
|
|
257
|
-
🔍 DevCompass v2.
|
|
517
|
+
🔍 DevCompass v2.7.0 - Analyzing your project...
|
|
258
518
|
✔ Scanned 25 dependencies in project
|
|
519
|
+
⚡ GitHub check completed in 1.23s (parallel processing)
|
|
259
520
|
|
|
260
521
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
261
522
|
|
|
@@ -265,6 +526,15 @@ Detect restrictive licenses that may require legal review!
|
|
|
265
526
|
|
|
266
527
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
267
528
|
|
|
529
|
+
🛡️ SUPPLY CHAIN SECURITY (1 warning)
|
|
530
|
+
|
|
531
|
+
🟠 TYPOSQUATTING RISK
|
|
532
|
+
expresss
|
|
533
|
+
Similar to: express (official package)
|
|
534
|
+
→ Remove expresss and install express
|
|
535
|
+
|
|
536
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
537
|
+
|
|
268
538
|
🚨 ECOSYSTEM ALERTS (1)
|
|
269
539
|
|
|
270
540
|
🟠 HIGH
|
|
@@ -286,18 +556,32 @@ Detect restrictive licenses that may require legal review!
|
|
|
286
556
|
|
|
287
557
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
288
558
|
|
|
289
|
-
|
|
559
|
+
⚖️ LICENSE RISK ANALYSIS
|
|
290
560
|
|
|
291
|
-
|
|
561
|
+
Project License: MIT
|
|
292
562
|
|
|
293
|
-
|
|
294
|
-
|
|
563
|
+
✅ All licenses are compliant!
|
|
564
|
+
|
|
565
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
566
|
+
|
|
567
|
+
📊 PACKAGE QUALITY METRICS (20 analyzed)
|
|
568
|
+
|
|
569
|
+
✅ HEALTHY PACKAGES (18)
|
|
570
|
+
react, axios, lodash, express, webpack...
|
|
571
|
+
|
|
572
|
+
🟡 NEEDS ATTENTION (2)
|
|
573
|
+
old-package@1.0.0
|
|
574
|
+
Health Score: 6.5/10
|
|
575
|
+
Last Update: 8 months ago
|
|
295
576
|
|
|
296
577
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
297
578
|
|
|
298
|
-
|
|
579
|
+
📦 HEAVY PACKAGES (2)
|
|
580
|
+
|
|
581
|
+
Packages larger than 1MB:
|
|
299
582
|
|
|
300
|
-
|
|
583
|
+
typescript 8.1 MB
|
|
584
|
+
webpack 2.3 MB
|
|
301
585
|
|
|
302
586
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
303
587
|
|
|
@@ -305,22 +589,35 @@ Detect restrictive licenses that may require legal review!
|
|
|
305
589
|
|
|
306
590
|
Overall Score: 8.5/10
|
|
307
591
|
Total Dependencies: 25
|
|
592
|
+
Supply Chain Warnings: 1
|
|
308
593
|
Ecosystem Alerts: 1
|
|
309
594
|
Predictive Warnings: 1
|
|
595
|
+
License Risks: 0
|
|
596
|
+
Quality Issues: 0
|
|
310
597
|
Unused: 0
|
|
311
598
|
Outdated: 2
|
|
312
599
|
|
|
313
600
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
314
601
|
|
|
315
|
-
💡
|
|
602
|
+
💡 SECURITY RECOMMENDATIONS (Prioritized)
|
|
603
|
+
|
|
604
|
+
🟠 HIGH (Fix Soon)
|
|
316
605
|
|
|
317
|
-
|
|
606
|
+
1. Typosquatting attempt detected
|
|
607
|
+
Package: expresss
|
|
608
|
+
$ npm uninstall expresss && npm install express
|
|
318
609
|
|
|
319
|
-
|
|
610
|
+
2. Upgrade vulnerable package
|
|
611
|
+
Package: axios@1.6.0
|
|
612
|
+
$ npm install axios@1.6.2
|
|
320
613
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
✓
|
|
614
|
+
📈 Expected Impact:
|
|
615
|
+
|
|
616
|
+
✓ Current Health Score: 8.5/10
|
|
617
|
+
✓ Expected Score: 9.8/10
|
|
618
|
+
✓ Improvement: +1.3 points (13% increase)
|
|
619
|
+
✓ Eliminate 1 supply chain risk
|
|
620
|
+
✓ Resolve 1 high-priority issue
|
|
324
621
|
|
|
325
622
|
💡 TIP: Run 'devcompass fix' to apply these fixes automatically!
|
|
326
623
|
```
|
|
@@ -333,57 +630,44 @@ Perfect for parsing in CI/CD pipelines:
|
|
|
333
630
|
devcompass analyze --json
|
|
334
631
|
```
|
|
335
632
|
|
|
336
|
-
**Output:**
|
|
633
|
+
**Output (v2.7.0):**
|
|
337
634
|
```json
|
|
338
635
|
{
|
|
339
|
-
"version": "2.
|
|
636
|
+
"version": "2.7.0",
|
|
340
637
|
"timestamp": "2026-04-04T10:30:00.000Z",
|
|
341
638
|
"summary": {
|
|
342
639
|
"healthScore": 8.5,
|
|
343
640
|
"totalDependencies": 25,
|
|
344
641
|
"securityVulnerabilities": 0,
|
|
642
|
+
"supplyChainWarnings": 1,
|
|
345
643
|
"ecosystemAlerts": 1,
|
|
346
644
|
"predictiveWarnings": 1,
|
|
645
|
+
"licenseRisks": 0,
|
|
646
|
+
"qualityIssues": 0,
|
|
347
647
|
"unusedDependencies": 0,
|
|
348
|
-
"outdatedPackages": 2
|
|
349
|
-
"heavyPackages": 2,
|
|
350
|
-
"licenseWarnings": 0
|
|
351
|
-
},
|
|
352
|
-
"security": {
|
|
353
|
-
"total": 0,
|
|
354
|
-
"critical": 0,
|
|
355
|
-
"high": 0,
|
|
356
|
-
"moderate": 0,
|
|
357
|
-
"low": 0,
|
|
358
|
-
"vulnerabilities": []
|
|
648
|
+
"outdatedPackages": 2
|
|
359
649
|
},
|
|
360
|
-
"
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
"severity": "medium",
|
|
364
|
-
"title": "Increased issue activity",
|
|
365
|
-
"description": "8 issues opened recently",
|
|
366
|
-
"recommendation": "Monitor for stability",
|
|
367
|
-
"githubData": {
|
|
368
|
-
"totalIssues": 234,
|
|
369
|
-
"recentIssues": 8,
|
|
370
|
-
"trend": "increasing",
|
|
371
|
-
"repoUrl": "https://github.com/expressjs/express"
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
],
|
|
375
|
-
"bundleAnalysis": {
|
|
376
|
-
"heavyPackages": [
|
|
377
|
-
{ "name": "typescript", "size": "8.1 MB" },
|
|
378
|
-
{ "name": "webpack", "size": "2.3 MB" }
|
|
379
|
-
]
|
|
650
|
+
"supplyChain": {
|
|
651
|
+
"total": 1,
|
|
652
|
+
"warnings": [...]
|
|
380
653
|
},
|
|
381
|
-
"
|
|
654
|
+
"licenseRisk": {
|
|
655
|
+
"total": 0,
|
|
656
|
+
"projectLicense": "MIT",
|
|
382
657
|
"warnings": []
|
|
383
658
|
},
|
|
384
|
-
"
|
|
385
|
-
|
|
386
|
-
|
|
659
|
+
"packageQuality": {
|
|
660
|
+
"total": 20,
|
|
661
|
+
"healthy": 18,
|
|
662
|
+
"needsAttention": 2,
|
|
663
|
+
"packages": [...]
|
|
664
|
+
},
|
|
665
|
+
"recommendations": {
|
|
666
|
+
"total": 2,
|
|
667
|
+
"critical": 0,
|
|
668
|
+
"high": 2,
|
|
669
|
+
"items": [...]
|
|
670
|
+
}
|
|
387
671
|
}
|
|
388
672
|
```
|
|
389
673
|
|
|
@@ -423,14 +707,18 @@ echo $? # Check exit code
|
|
|
423
707
|
|
|
424
708
|
DevCompass caches results to improve performance:
|
|
425
709
|
|
|
426
|
-
- **First run:** ~
|
|
710
|
+
- **First run:** ~2 seconds with parallel processing (fetches GitHub + npm data)
|
|
427
711
|
- **Cached runs:** ~0.5 seconds (93% faster!)
|
|
428
712
|
- **Cache duration:** 1 hour
|
|
429
713
|
- **Cache file:** `.devcompass-cache.json` (auto-gitignored)
|
|
430
714
|
|
|
431
|
-
**What gets cached:**
|
|
432
|
-
-
|
|
433
|
-
-
|
|
715
|
+
**What gets cached (v2.7.0):**
|
|
716
|
+
- Supply chain analysis
|
|
717
|
+
- License risk data
|
|
718
|
+
- Package quality metrics
|
|
719
|
+
- Security recommendations
|
|
720
|
+
- GitHub issue data
|
|
721
|
+
- Predictive warnings
|
|
434
722
|
- Security vulnerabilities
|
|
435
723
|
- Ecosystem alerts
|
|
436
724
|
- Unused dependencies
|
|
@@ -566,7 +854,9 @@ DevCompass tracks **real-world issues** in 500+ popular packages and warns you b
|
|
|
566
854
|
2. Matches against curated issues database
|
|
567
855
|
3. Uses semantic versioning for precise detection
|
|
568
856
|
4. Checks live GitHub activity for 502+ packages
|
|
569
|
-
5.
|
|
857
|
+
5. Uses parallel processing for 80% faster checks (v2.6.0)
|
|
858
|
+
6. Analyzes supply chain security (v2.7.0)
|
|
859
|
+
7. Shows actionable fix commands
|
|
570
860
|
|
|
571
861
|
## 🎯 What It Detects
|
|
572
862
|
|
|
@@ -684,16 +974,19 @@ fi
|
|
|
684
974
|
|
|
685
975
|
### Security-Focused Workflow
|
|
686
976
|
```bash
|
|
687
|
-
# 1. Run security scan
|
|
977
|
+
# 1. Run comprehensive security scan
|
|
688
978
|
devcompass analyze
|
|
689
979
|
|
|
690
980
|
# 2. Check for critical vulnerabilities
|
|
691
981
|
devcompass analyze --json | jq '.security.critical'
|
|
692
982
|
|
|
693
|
-
# 3.
|
|
983
|
+
# 3. Check supply chain risks
|
|
984
|
+
devcompass analyze --json | jq '.supplyChain.warnings'
|
|
985
|
+
|
|
986
|
+
# 4. Auto-fix if possible
|
|
694
987
|
npm audit fix
|
|
695
988
|
|
|
696
|
-
#
|
|
989
|
+
# 5. Verify fixes
|
|
697
990
|
devcompass analyze
|
|
698
991
|
```
|
|
699
992
|
|
|
@@ -738,7 +1031,10 @@ If you encounter a false positive, please [report it](https://github.com/AjayBTh
|
|
|
738
1031
|
9. **Review major updates** - Always check changelogs before major version bumps
|
|
739
1032
|
10. **Verify before uninstalling** - DevCompass helps identify candidates, but always verify
|
|
740
1033
|
11. **Watch predictive warnings** - Monitor packages with increasing issue activity
|
|
741
|
-
12. **
|
|
1034
|
+
12. **Leverage parallel processing** - First run takes ~2s with v2.6.0 (was ~8s)
|
|
1035
|
+
13. **Monitor supply chain** - Check for typosquatting regularly (v2.7.0)
|
|
1036
|
+
14. **Review license risks** - Ensure GPL/AGPL compliance (v2.7.0)
|
|
1037
|
+
15. **Track package quality** - Replace abandoned packages proactively (v2.7.0)
|
|
742
1038
|
|
|
743
1039
|
## 🤝 Contributing
|
|
744
1040
|
|
|
@@ -771,6 +1067,13 @@ Want to add known issues for a package?
|
|
|
771
1067
|
```
|
|
772
1068
|
3. Submit a PR with your additions!
|
|
773
1069
|
|
|
1070
|
+
### Adding Malicious Packages
|
|
1071
|
+
Help protect the community! Add known malicious packages:
|
|
1072
|
+
|
|
1073
|
+
1. Edit `data/known-malicious.json`
|
|
1074
|
+
2. Add to `malicious_packages` array or `typosquat_patterns`
|
|
1075
|
+
3. Submit a PR with evidence/source
|
|
1076
|
+
|
|
774
1077
|
### Development
|
|
775
1078
|
```bash
|
|
776
1079
|
# Clone the repo
|
|
@@ -834,8 +1137,12 @@ Check out DevCompass stats:
|
|
|
834
1137
|
- [x] ~~GitHub Issues API for real-time issue tracking~~ ✅ **Added in v2.4.0!**
|
|
835
1138
|
- [x] ~~Predictive warnings based on bug activity~~ ✅ **Added in v2.4.0!**
|
|
836
1139
|
- [x] ~~Expand to top 500 npm packages~~ ✅ **Added in v2.5.0!**
|
|
837
|
-
- [
|
|
838
|
-
- [
|
|
1140
|
+
- [x] ~~Performance optimizations with parallel processing~~ ✅ **Added in v2.6.0!**
|
|
1141
|
+
- [x] ~~Advanced security features~~ ✅ **Added in v2.7.0!**
|
|
1142
|
+
- [x] Supply chain security analysis
|
|
1143
|
+
- [x] Enhanced license risk detection
|
|
1144
|
+
- [x] Package quality metrics
|
|
1145
|
+
- [x] Security recommendations engine
|
|
839
1146
|
- [ ] Enhanced fix command improvements (v2.8.0)
|
|
840
1147
|
- [ ] Dependency graph visualization (v3.0.0)
|
|
841
1148
|
- [ ] Web dashboard for team health monitoring (v3.0.0)
|