devcompass 2.5.0 โ 2.6.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 +49 -35
- package/package.json +5 -3
- package/src/alerts/github-tracker.js +53 -19
- package/src/alerts/predictive.js +10 -4
- package/src/commands/analyze.js +24 -4
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ๐งญ DevCompass
|
|
2
2
|
|
|
3
|
-
**Dependency health checker with ecosystem intelligence and real-time GitHub issue tracking for 500+ popular npm packages
|
|
3
|
+
**Dependency health checker with ecosystem intelligence and real-time GitHub issue tracking for 500+ popular npm packages. Features parallel processing for 80% faster analysis.**
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/devcompass)
|
|
6
6
|
[](https://www.npmjs.com/package/devcompass)
|
|
@@ -8,44 +8,46 @@
|
|
|
8
8
|
|
|
9
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.
|
|
10
10
|
|
|
11
|
+
> **NEW in v2.6.0:** 80% faster with parallel processing! โก
|
|
11
12
|
> **NEW in v2.5.0:** Expanded to 502 packages across 33 categories! ๐ฏ
|
|
12
13
|
> **NEW in v2.4.0:** Real-time GitHub issue tracking & predictive warnings! ๐ฎ
|
|
13
14
|
> **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:** Security scanning, bundle analysis & license checker! ๐
|
|
16
16
|
|
|
17
|
-
## ๐ Latest Update: v2.
|
|
17
|
+
## ๐ Latest Update: v2.6.0
|
|
18
18
|
|
|
19
|
-
**
|
|
19
|
+
**80% faster analysis with parallel processing!** DevCompass now checks multiple packages simultaneously:
|
|
20
20
|
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
21
|
+
- โก **Parallel GitHub API requests** - Check 5 packages at once (configurable)
|
|
22
|
+
- ๐ **Real-time progress tracking** - Live updates showing current package
|
|
23
|
+
- ๐ **80% performance improvement** - 5 packages in ~1s instead of ~5s
|
|
24
|
+
- ๐ **Smart batching** - Respects GitHub rate limits automatically
|
|
25
|
+
- โฑ๏ธ **Performance metrics** - Shows time saved after analysis
|
|
26
26
|
|
|
27
|
-
**
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- And 29 more categories covering the entire JavaScript ecosystem!
|
|
27
|
+
**Performance Comparison:**
|
|
28
|
+
```
|
|
29
|
+
v2.5.0 (Sequential): 5 packages ร 1s = ~5 seconds
|
|
30
|
+
v2.6.0 (Parallel): 5 packages รท 5 = ~1 second (80% faster!)
|
|
31
|
+
```
|
|
33
32
|
|
|
34
33
|
**Example output:**
|
|
35
34
|
```
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
Increased issue activity
|
|
42
|
-
1 issues opened recently
|
|
43
|
-
โ Monitor for stability
|
|
44
|
-
GitHub: https://github.com/expressjs/express
|
|
35
|
+
โ น Checking GitHub activity (3/5 packages) - express
|
|
36
|
+
โ น Checking GitHub activity (4/5 packages) - webpack
|
|
37
|
+
โ น Checking GitHub activity (5/5 packages) - react
|
|
38
|
+
โ Scanned 5 dependencies in project
|
|
39
|
+
โก GitHub check completed in 1.23s (parallel processing)
|
|
45
40
|
```
|
|
46
41
|
|
|
42
|
+
**What's tracked:**
|
|
43
|
+
- ๐ฏ **502 tracked packages** organized into 33 categories
|
|
44
|
+
- ๐ **Full ecosystem coverage** - Frontend, backend, build tools, testing, databases
|
|
45
|
+
- โก **Zero performance impact** - Smart filtering + parallel processing
|
|
46
|
+
- ๐ **Comprehensive monitoring** - React, Vue, Angular, Next.js, Express, and 497+ more
|
|
47
|
+
|
|
47
48
|
## โจ Features
|
|
48
49
|
|
|
50
|
+
- โก **Parallel Processing** (v2.6) - 80% faster GitHub issue tracking
|
|
49
51
|
- ๐ฏ **500+ Package Coverage** (v2.5) - Comprehensive ecosystem monitoring
|
|
50
52
|
- ๐ฎ **GitHub Issue Tracking** (v2.4) - Real-time monitoring of package health
|
|
51
53
|
- ๐ **Predictive Warnings** (v2.4) - Detect issues before they're announced
|
|
@@ -99,7 +101,7 @@ devcompass analyze --ci
|
|
|
99
101
|
devcompass analyze --silent
|
|
100
102
|
```
|
|
101
103
|
|
|
102
|
-
## ๐ฎ Predictive Warnings (v2.
|
|
104
|
+
## ๐ฎ Predictive Warnings (v2.6.0)
|
|
103
105
|
|
|
104
106
|
DevCompass now monitors **real-time GitHub activity for 500+ packages** to detect potential issues before they're officially reported!
|
|
105
107
|
|
|
@@ -164,15 +166,25 @@ Organized into 33 categories covering the entire JavaScript ecosystem:
|
|
|
164
166
|
4. Calculates risk scores
|
|
165
167
|
5. Provides actionable recommendations
|
|
166
168
|
6. **Smart filtering:** Only checks packages you've actually installed
|
|
169
|
+
7. **Parallel processing:** Checks multiple packages simultaneously (v2.6.0)
|
|
167
170
|
|
|
168
|
-
### Performance:
|
|
171
|
+
### Performance (NEW in v2.6.0):
|
|
172
|
+
- **Parallel processing:** Checks 5 packages simultaneously (80% faster!)
|
|
169
173
|
- **Smart filtering:** Only checks installed packages from your project
|
|
170
|
-
- **First run:** ~1 second
|
|
174
|
+
- **First run:** ~1 second for 5 packages (was ~5s in v2.5.0)
|
|
171
175
|
- **Cached runs:** ~0.5 seconds (93% faster!)
|
|
172
176
|
- **Cache duration:** 1 hour
|
|
173
177
|
- **Zero overhead:** Uninstalled packages aren't checked
|
|
174
178
|
|
|
175
|
-
|
|
179
|
+
**Performance Benchmarks:**
|
|
180
|
+
| Packages | v2.5.0 | v2.6.0 | Improvement |
|
|
181
|
+
|----------|--------|--------|-------------|
|
|
182
|
+
| 5 | ~5s | ~1s | 80% faster |
|
|
183
|
+
| 10 | ~10s | ~2s | 80% faster |
|
|
184
|
+
| 20 | ~20s | ~4s | 80% faster |
|
|
185
|
+
| 50 | ~50s | ~10s | 80% faster |
|
|
186
|
+
|
|
187
|
+
> **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
188
|
|
|
177
189
|
## ๐ Security & Compliance Features
|
|
178
190
|
|
|
@@ -254,8 +266,9 @@ Detect restrictive licenses that may require legal review!
|
|
|
254
266
|
|
|
255
267
|
**Full Output:**
|
|
256
268
|
```
|
|
257
|
-
๐ DevCompass v2.
|
|
269
|
+
๐ DevCompass v2.6.0 - Analyzing your project...
|
|
258
270
|
โ Scanned 25 dependencies in project
|
|
271
|
+
โก GitHub check completed in 1.23s (parallel processing)
|
|
259
272
|
|
|
260
273
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
261
274
|
|
|
@@ -336,7 +349,7 @@ devcompass analyze --json
|
|
|
336
349
|
**Output:**
|
|
337
350
|
```json
|
|
338
351
|
{
|
|
339
|
-
"version": "2.
|
|
352
|
+
"version": "2.6.0",
|
|
340
353
|
"timestamp": "2026-04-04T10:30:00.000Z",
|
|
341
354
|
"summary": {
|
|
342
355
|
"healthScore": 8.5,
|
|
@@ -423,7 +436,7 @@ echo $? # Check exit code
|
|
|
423
436
|
|
|
424
437
|
DevCompass caches results to improve performance:
|
|
425
438
|
|
|
426
|
-
- **First run:** ~
|
|
439
|
+
- **First run:** ~2 seconds with parallel processing (fetches GitHub + npm data)
|
|
427
440
|
- **Cached runs:** ~0.5 seconds (93% faster!)
|
|
428
441
|
- **Cache duration:** 1 hour
|
|
429
442
|
- **Cache file:** `.devcompass-cache.json` (auto-gitignored)
|
|
@@ -566,7 +579,8 @@ DevCompass tracks **real-world issues** in 500+ popular packages and warns you b
|
|
|
566
579
|
2. Matches against curated issues database
|
|
567
580
|
3. Uses semantic versioning for precise detection
|
|
568
581
|
4. Checks live GitHub activity for 502+ packages
|
|
569
|
-
5.
|
|
582
|
+
5. Uses parallel processing for 80% faster checks (v2.6.0)
|
|
583
|
+
6. Shows actionable fix commands
|
|
570
584
|
|
|
571
585
|
## ๐ฏ What It Detects
|
|
572
586
|
|
|
@@ -738,7 +752,7 @@ If you encounter a false positive, please [report it](https://github.com/AjayBTh
|
|
|
738
752
|
9. **Review major updates** - Always check changelogs before major version bumps
|
|
739
753
|
10. **Verify before uninstalling** - DevCompass helps identify candidates, but always verify
|
|
740
754
|
11. **Watch predictive warnings** - Monitor packages with increasing issue activity
|
|
741
|
-
12. **
|
|
755
|
+
12. **Leverage parallel processing** - First run takes ~2s with v2.6.0 (was ~8s)
|
|
742
756
|
|
|
743
757
|
## ๐ค Contributing
|
|
744
758
|
|
|
@@ -834,7 +848,7 @@ Check out DevCompass stats:
|
|
|
834
848
|
- [x] ~~GitHub Issues API for real-time issue tracking~~ โ
**Added in v2.4.0!**
|
|
835
849
|
- [x] ~~Predictive warnings based on bug activity~~ โ
**Added in v2.4.0!**
|
|
836
850
|
- [x] ~~Expand to top 500 npm packages~~ โ
**Added in v2.5.0!**
|
|
837
|
-
- [
|
|
851
|
+
- [x] ~~Performance optimizations with parallel processing~~ โ
**Added in v2.6.0!**
|
|
838
852
|
- [ ] Advanced security features with Snyk integration (v2.7.0)
|
|
839
853
|
- [ ] Enhanced fix command improvements (v2.8.0)
|
|
840
854
|
- [ ] Dependency graph visualization (v3.0.0)
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devcompass",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "Dependency health checker with ecosystem intelligence and real-time GitHub issue tracking for
|
|
3
|
+
"version": "2.6.0",
|
|
4
|
+
"description": "Dependency health checker with ecosystem intelligence and real-time GitHub issue tracking for 500+ popular npm packages. Features parallel processing for 80% faster analysis.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"devcompass": "./bin/devcompass.js"
|
|
@@ -43,7 +43,9 @@
|
|
|
43
43
|
"dependency-monitoring",
|
|
44
44
|
"issue-tracking",
|
|
45
45
|
"package-health",
|
|
46
|
-
"top-500-packages"
|
|
46
|
+
"top-500-packages",
|
|
47
|
+
"parallel-processing",
|
|
48
|
+
"performance-optimization"
|
|
47
49
|
],
|
|
48
50
|
"author": "Ajay Thorat <ajaythorat988@gmail.com>",
|
|
49
51
|
"license": "MIT",
|
|
@@ -604,7 +604,7 @@ async function fetchGitHubIssues(packageName) {
|
|
|
604
604
|
const repo = TRACKED_REPOS[packageName];
|
|
605
605
|
|
|
606
606
|
if (!repo) {
|
|
607
|
-
return null;
|
|
607
|
+
return null;
|
|
608
608
|
}
|
|
609
609
|
|
|
610
610
|
try {
|
|
@@ -672,7 +672,6 @@ function analyzeIssues(issues, packageName) {
|
|
|
672
672
|
const now = Date.now();
|
|
673
673
|
const day = 24 * 60 * 60 * 1000;
|
|
674
674
|
|
|
675
|
-
// Count issues by recency
|
|
676
675
|
const last7Days = issues.filter(i =>
|
|
677
676
|
(now - new Date(i.created_at).getTime()) < 7 * day
|
|
678
677
|
).length;
|
|
@@ -681,7 +680,6 @@ function analyzeIssues(issues, packageName) {
|
|
|
681
680
|
(now - new Date(i.created_at).getTime()) < 30 * day
|
|
682
681
|
).length;
|
|
683
682
|
|
|
684
|
-
// Detect critical issues (high priority labels)
|
|
685
683
|
const criticalLabels = ['critical', 'security', 'regression', 'breaking'];
|
|
686
684
|
const criticalIssues = issues.filter(issue =>
|
|
687
685
|
issue.labels.some(label =>
|
|
@@ -691,7 +689,6 @@ function analyzeIssues(issues, packageName) {
|
|
|
691
689
|
)
|
|
692
690
|
);
|
|
693
691
|
|
|
694
|
-
// Calculate risk score
|
|
695
692
|
let riskScore = 0;
|
|
696
693
|
if (last7Days > 15) riskScore += 3;
|
|
697
694
|
else if (last7Days > 10) riskScore += 2;
|
|
@@ -713,7 +710,7 @@ function analyzeIssues(issues, packageName) {
|
|
|
713
710
|
}
|
|
714
711
|
|
|
715
712
|
/**
|
|
716
|
-
* Determine trend
|
|
713
|
+
* Determine trend
|
|
717
714
|
*/
|
|
718
715
|
function determineTrend(last7Days, last30Days) {
|
|
719
716
|
const weeklyAverage = last30Days / 4;
|
|
@@ -728,9 +725,54 @@ function determineTrend(last7Days, last30Days) {
|
|
|
728
725
|
}
|
|
729
726
|
|
|
730
727
|
/**
|
|
731
|
-
*
|
|
728
|
+
* Process packages in parallel batches
|
|
729
|
+
* NEW in v2.6.0: Parallel processing for better performance
|
|
732
730
|
*/
|
|
733
|
-
async function
|
|
731
|
+
async function processBatch(packages, concurrency = 5, onProgress) {
|
|
732
|
+
const results = [];
|
|
733
|
+
const batches = [];
|
|
734
|
+
|
|
735
|
+
// Split into batches
|
|
736
|
+
for (let i = 0; i < packages.length; i += concurrency) {
|
|
737
|
+
batches.push(packages.slice(i, i + concurrency));
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
// Process each batch in parallel
|
|
741
|
+
for (let batchIndex = 0; batchIndex < batches.length; batchIndex++) {
|
|
742
|
+
const batch = batches[batchIndex];
|
|
743
|
+
|
|
744
|
+
// Process batch in parallel
|
|
745
|
+
const batchResults = await Promise.all(
|
|
746
|
+
batch.map(async (packageName) => {
|
|
747
|
+
const result = await fetchGitHubIssues(packageName);
|
|
748
|
+
|
|
749
|
+
// Call progress callback
|
|
750
|
+
if (onProgress) {
|
|
751
|
+
const processed = batchIndex * concurrency + batch.indexOf(packageName) + 1;
|
|
752
|
+
onProgress(processed, packages.length, packageName);
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
return result;
|
|
756
|
+
})
|
|
757
|
+
);
|
|
758
|
+
|
|
759
|
+
results.push(...batchResults.filter(r => r !== null));
|
|
760
|
+
|
|
761
|
+
// Small delay between batches to respect rate limits
|
|
762
|
+
if (batchIndex < batches.length - 1) {
|
|
763
|
+
await new Promise(resolve => setTimeout(resolve, 200));
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
return results;
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
/**
|
|
771
|
+
* Check GitHub issues for multiple packages (OPTIMIZED v2.6.0)
|
|
772
|
+
* Now uses parallel processing for 80% faster execution
|
|
773
|
+
*/
|
|
774
|
+
async function checkGitHubIssues(packages, options = {}) {
|
|
775
|
+
const { concurrency = 5, onProgress } = options;
|
|
734
776
|
const results = [];
|
|
735
777
|
const packageNames = Object.keys(packages);
|
|
736
778
|
|
|
@@ -741,17 +783,9 @@ async function checkGitHubIssues(packages) {
|
|
|
741
783
|
return results;
|
|
742
784
|
}
|
|
743
785
|
|
|
744
|
-
//
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
if (result) {
|
|
749
|
-
results.push(result);
|
|
750
|
-
}
|
|
751
|
-
|
|
752
|
-
// Rate limit: wait 1 second between requests
|
|
753
|
-
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
754
|
-
}
|
|
786
|
+
// Use parallel processing
|
|
787
|
+
const batchResults = await processBatch(trackedAndInstalled, concurrency, onProgress);
|
|
788
|
+
results.push(...batchResults);
|
|
755
789
|
|
|
756
790
|
return results;
|
|
757
791
|
}
|
|
@@ -764,7 +798,7 @@ function getTrackedPackageCount() {
|
|
|
764
798
|
}
|
|
765
799
|
|
|
766
800
|
/**
|
|
767
|
-
* Get tracked packages by category
|
|
801
|
+
* Get tracked packages by category
|
|
768
802
|
*/
|
|
769
803
|
function getTrackedPackagesByCategory() {
|
|
770
804
|
return {
|
package/src/alerts/predictive.js
CHANGED
|
@@ -3,9 +3,11 @@ const { checkGitHubIssues } = require('./github-tracker');
|
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Generate predictive warnings based on GitHub activity
|
|
6
|
-
*
|
|
6
|
+
* ENHANCED v2.6.0: Added progress callback support for parallel processing
|
|
7
7
|
*/
|
|
8
|
-
async function generatePredictiveWarnings(packages) {
|
|
8
|
+
async function generatePredictiveWarnings(packages, options = {}) {
|
|
9
|
+
const { onProgress } = options;
|
|
10
|
+
|
|
9
11
|
try {
|
|
10
12
|
// Only check packages that are actually installed
|
|
11
13
|
const installedPackages = Object.keys(packages);
|
|
@@ -14,8 +16,12 @@ async function generatePredictiveWarnings(packages) {
|
|
|
14
16
|
return [];
|
|
15
17
|
}
|
|
16
18
|
|
|
17
|
-
// Pass
|
|
18
|
-
|
|
19
|
+
// Pass options to GitHub checker (including progress callback)
|
|
20
|
+
// v2.6.0: Now supports parallel processing with concurrency control
|
|
21
|
+
const githubData = await checkGitHubIssues(packages, {
|
|
22
|
+
concurrency: 5, // Process 5 packages in parallel
|
|
23
|
+
onProgress: onProgress // Pass through progress callback
|
|
24
|
+
});
|
|
19
25
|
|
|
20
26
|
const warnings = [];
|
|
21
27
|
|
package/src/commands/analyze.js
CHANGED
|
@@ -184,7 +184,7 @@ async function analyze(options) {
|
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
// Check for predictive warnings (GitHub Issues) -
|
|
187
|
+
// Check for predictive warnings (GitHub Issues) - ENHANCED v2.6.0
|
|
188
188
|
const { getTrackedPackageCount, TRACKED_REPOS } = require('../alerts/github-tracker');
|
|
189
189
|
const totalTracked = getTrackedPackageCount();
|
|
190
190
|
|
|
@@ -192,12 +192,13 @@ async function analyze(options) {
|
|
|
192
192
|
const installedTrackedCount = Object.keys(dependencies).filter(pkg => TRACKED_REPOS[pkg]).length;
|
|
193
193
|
|
|
194
194
|
if (installedTrackedCount > 0) {
|
|
195
|
-
spinner.text = `Checking GitHub activity (
|
|
195
|
+
spinner.text = `Checking GitHub activity (0/${installedTrackedCount} packages)...`;
|
|
196
196
|
} else {
|
|
197
197
|
spinner.text = 'Checking GitHub activity...';
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
let predictiveWarnings = [];
|
|
201
|
+
let githubCheckTime = 0;
|
|
201
202
|
|
|
202
203
|
if (config.cache) {
|
|
203
204
|
predictiveWarnings = getCached(projectPath, 'predictive');
|
|
@@ -206,7 +207,20 @@ async function analyze(options) {
|
|
|
206
207
|
if (!predictiveWarnings) {
|
|
207
208
|
try {
|
|
208
209
|
const { generatePredictiveWarnings } = require('../alerts/predictive');
|
|
209
|
-
|
|
210
|
+
|
|
211
|
+
// Track performance - NEW in v2.6.0
|
|
212
|
+
const startTime = Date.now();
|
|
213
|
+
|
|
214
|
+
// Pass progress callback - NEW in v2.6.0
|
|
215
|
+
predictiveWarnings = await generatePredictiveWarnings(dependencies, {
|
|
216
|
+
onProgress: (current, total, packageName) => {
|
|
217
|
+
if (outputMode === 'normal') {
|
|
218
|
+
spinner.text = `Checking GitHub activity (${current}/${total} packages) - ${packageName}`;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
githubCheckTime = Date.now() - startTime;
|
|
210
224
|
|
|
211
225
|
if (config.cache && predictiveWarnings.length > 0) {
|
|
212
226
|
setCache(projectPath, 'predictive', predictiveWarnings);
|
|
@@ -275,6 +289,12 @@ async function analyze(options) {
|
|
|
275
289
|
|
|
276
290
|
spinner.succeed(chalk.green(`Scanned ${totalDeps} dependencies in project`));
|
|
277
291
|
|
|
292
|
+
// Show performance info if GitHub check was performed - NEW in v2.6.0
|
|
293
|
+
if (githubCheckTime > 0 && outputMode === 'normal' && installedTrackedCount > 0) {
|
|
294
|
+
const timeInSeconds = (githubCheckTime / 1000).toFixed(2);
|
|
295
|
+
console.log(chalk.gray(`โก GitHub check completed in ${timeInSeconds}s (parallel processing)`));
|
|
296
|
+
}
|
|
297
|
+
|
|
278
298
|
// Handle different output modes
|
|
279
299
|
if (outputMode === 'json') {
|
|
280
300
|
const jsonOutput = formatAsJson(alerts, unusedDeps, outdatedDeps, score, totalDeps, securityData, bundleSizes, licenses, predictiveWarnings);
|
|
@@ -371,7 +391,7 @@ function displayResults(alerts, unusedDeps, outdatedDeps, score, totalDeps, secu
|
|
|
371
391
|
|
|
372
392
|
logDivider();
|
|
373
393
|
|
|
374
|
-
// PREDICTIVE WARNINGS (
|
|
394
|
+
// PREDICTIVE WARNINGS (v2.5.0+)
|
|
375
395
|
if (predictiveWarnings.length > 0) {
|
|
376
396
|
const { getTrackedPackageCount } = require('../alerts/github-tracker');
|
|
377
397
|
const totalTracked = getTrackedPackageCount();
|