@kevinrabun/judges 3.86.0 → 3.88.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/CHANGELOG.md +32 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +126 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/finding-age-analysis.d.ts +5 -0
- package/dist/commands/finding-age-analysis.d.ts.map +1 -0
- package/dist/commands/finding-age-analysis.js +145 -0
- package/dist/commands/finding-age-analysis.js.map +1 -0
- package/dist/commands/finding-code-smell.d.ts +5 -0
- package/dist/commands/finding-code-smell.d.ts.map +1 -0
- package/dist/commands/finding-code-smell.js +114 -0
- package/dist/commands/finding-code-smell.js.map +1 -0
- package/dist/commands/finding-correlation.d.ts +5 -0
- package/dist/commands/finding-correlation.d.ts.map +1 -0
- package/dist/commands/finding-correlation.js +104 -0
- package/dist/commands/finding-correlation.js.map +1 -0
- package/dist/commands/finding-dependency-tree.d.ts +5 -0
- package/dist/commands/finding-dependency-tree.d.ts.map +1 -0
- package/dist/commands/finding-dependency-tree.js +117 -0
- package/dist/commands/finding-dependency-tree.js.map +1 -0
- package/dist/commands/finding-owner-assign.d.ts +5 -0
- package/dist/commands/finding-owner-assign.d.ts.map +1 -0
- package/dist/commands/finding-owner-assign.js +134 -0
- package/dist/commands/finding-owner-assign.js.map +1 -0
- package/dist/commands/finding-pattern-library.d.ts +5 -0
- package/dist/commands/finding-pattern-library.d.ts.map +1 -0
- package/dist/commands/finding-pattern-library.js +146 -0
- package/dist/commands/finding-pattern-library.js.map +1 -0
- package/dist/commands/finding-related-rules.d.ts +5 -0
- package/dist/commands/finding-related-rules.d.ts.map +1 -0
- package/dist/commands/finding-related-rules.js +152 -0
- package/dist/commands/finding-related-rules.js.map +1 -0
- package/dist/commands/finding-rule-explain.d.ts +5 -0
- package/dist/commands/finding-rule-explain.d.ts.map +1 -0
- package/dist/commands/finding-rule-explain.js +141 -0
- package/dist/commands/finding-rule-explain.js.map +1 -0
- package/dist/commands/finding-suppression-audit.d.ts +5 -0
- package/dist/commands/finding-suppression-audit.d.ts.map +1 -0
- package/dist/commands/finding-suppression-audit.js +138 -0
- package/dist/commands/finding-suppression-audit.js.map +1 -0
- package/dist/commands/review-ci-integration.d.ts +5 -0
- package/dist/commands/review-ci-integration.d.ts.map +1 -0
- package/dist/commands/review-ci-integration.js +126 -0
- package/dist/commands/review-ci-integration.js.map +1 -0
- package/dist/commands/review-comparative.d.ts +5 -0
- package/dist/commands/review-comparative.d.ts.map +1 -0
- package/dist/commands/review-comparative.js +150 -0
- package/dist/commands/review-comparative.js.map +1 -0
- package/dist/commands/review-custom-rule.d.ts +5 -0
- package/dist/commands/review-custom-rule.d.ts.map +1 -0
- package/dist/commands/review-custom-rule.js +170 -0
- package/dist/commands/review-custom-rule.js.map +1 -0
- package/dist/commands/review-lock-file.d.ts +5 -0
- package/dist/commands/review-lock-file.d.ts.map +1 -0
- package/dist/commands/review-lock-file.js +154 -0
- package/dist/commands/review-lock-file.js.map +1 -0
- package/dist/commands/review-notification.d.ts +5 -0
- package/dist/commands/review-notification.d.ts.map +1 -0
- package/dist/commands/review-notification.js +127 -0
- package/dist/commands/review-notification.js.map +1 -0
- package/dist/commands/review-plugin-list.d.ts +5 -0
- package/dist/commands/review-plugin-list.d.ts.map +1 -0
- package/dist/commands/review-plugin-list.js +100 -0
- package/dist/commands/review-plugin-list.js.map +1 -0
- package/dist/commands/review-status-badge.d.ts +5 -0
- package/dist/commands/review-status-badge.d.ts.map +1 -0
- package/dist/commands/review-status-badge.js +121 -0
- package/dist/commands/review-status-badge.js.map +1 -0
- package/dist/commands/review-template-export.d.ts +5 -0
- package/dist/commands/review-template-export.d.ts.map +1 -0
- package/dist/commands/review-template-export.js +147 -0
- package/dist/commands/review-template-export.js.map +1 -0
- package/dist/commands/review-token-budget.d.ts +5 -0
- package/dist/commands/review-token-budget.d.ts.map +1 -0
- package/dist/commands/review-token-budget.js +118 -0
- package/dist/commands/review-token-budget.js.map +1 -0
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,38 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to **@kevinrabun/judges** are documented here.
|
|
4
4
|
|
|
5
|
+
## [3.88.0] — 2026-03-14
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- Dependency tree: finding-dependency-tree (visualize finding dependency relationships)
|
|
9
|
+
- CI integration: review-ci-integration (generate CI pipeline configuration)
|
|
10
|
+
- Comparative review: review-comparative (compare two verdict reports side by side)
|
|
11
|
+
- Suppression audit: finding-suppression-audit (audit suppressed/ignored findings)
|
|
12
|
+
- Custom rules: review-custom-rule (create and manage custom review rules)
|
|
13
|
+
- Notifications: review-notification (configure review notification settings)
|
|
14
|
+
- Age analysis: finding-age-analysis (analyze finding age and lifecycle)
|
|
15
|
+
- Template export: review-template-export (export review templates for reuse)
|
|
16
|
+
- Correlation: finding-correlation (find correlations between findings across reports)
|
|
17
|
+
|
|
18
|
+
### Tests
|
|
19
|
+
- All 2,267 tests passing (0 failures)
|
|
20
|
+
|
|
21
|
+
## [3.87.0] — 2026-03-14
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- Code smell: finding-code-smell (detect code-smell indicators among findings)
|
|
25
|
+
- Related rules: finding-related-rules (find related rules for a finding)
|
|
26
|
+
- Token budget: review-token-budget (estimate and manage token budget usage)
|
|
27
|
+
- Plugin list: review-plugin-list (list available and active plugins)
|
|
28
|
+
- Owner assign: finding-owner-assign (assign finding owners based on rules)
|
|
29
|
+
- Lock file: review-lock-file (analyze lock files for security issues)
|
|
30
|
+
- Pattern library: finding-pattern-library (manage finding pattern library)
|
|
31
|
+
- Status badge: review-status-badge (generate status badges for review results)
|
|
32
|
+
- Rule explain: finding-rule-explain (explain rules in detail with examples)
|
|
33
|
+
|
|
34
|
+
### Tests
|
|
35
|
+
- All 2,267 tests passing (0 failures)
|
|
36
|
+
|
|
5
37
|
## [3.86.0] — 2026-03-14
|
|
6
38
|
|
|
7
39
|
### Added
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAk0BH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAcnD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAQzE;AAiBD,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,EAAE,CAwBnF;AAkUD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAk+G1D"}
|
package/dist/cli.js
CHANGED
|
@@ -643,6 +643,24 @@ USAGE:
|
|
|
643
643
|
judges finding-severity-dist Show severity distribution
|
|
644
644
|
judges review-report-merge Merge multiple verdict reports
|
|
645
645
|
judges review-plugin-config Manage plugin configuration
|
|
646
|
+
judges finding-code-smell Detect code-smell indicators
|
|
647
|
+
judges finding-related-rules Find related rules for a finding
|
|
648
|
+
judges review-token-budget Estimate token budget usage
|
|
649
|
+
judges review-plugin-list List available plugins
|
|
650
|
+
judges finding-owner-assign Assign finding owners
|
|
651
|
+
judges review-lock-file Analyze lock files for security issues
|
|
652
|
+
judges finding-pattern-library Manage finding pattern library
|
|
653
|
+
judges review-status-badge Generate status badges
|
|
654
|
+
judges finding-rule-explain Explain rules in detail
|
|
655
|
+
judges finding-dependency-tree Visualize finding dependencies
|
|
656
|
+
judges review-ci-integration Generate CI pipeline configuration
|
|
657
|
+
judges review-comparative Compare two verdict reports
|
|
658
|
+
judges finding-suppression-audit Audit suppressed findings
|
|
659
|
+
judges review-custom-rule Manage custom review rules
|
|
660
|
+
judges review-notification Manage review notifications
|
|
661
|
+
judges finding-age-analysis Analyze finding age over time
|
|
662
|
+
judges review-template-export Export review templates
|
|
663
|
+
judges finding-correlation Find correlations between findings
|
|
646
664
|
judges tune Analyze project and suggest optimal config
|
|
647
665
|
judges list List all available judges
|
|
648
666
|
judges version Show version information
|
|
@@ -3586,6 +3604,114 @@ export async function runCli(argv) {
|
|
|
3586
3604
|
runReviewPluginConfig(argv);
|
|
3587
3605
|
return;
|
|
3588
3606
|
}
|
|
3607
|
+
// ─── Finding Code Smell Command ───────────────────────────────────
|
|
3608
|
+
if (args.command === "finding-code-smell") {
|
|
3609
|
+
const { runFindingCodeSmell } = await import("./commands/finding-code-smell.js");
|
|
3610
|
+
runFindingCodeSmell(argv);
|
|
3611
|
+
return;
|
|
3612
|
+
}
|
|
3613
|
+
// ─── Finding Related Rules Command ────────────────────────────────
|
|
3614
|
+
if (args.command === "finding-related-rules") {
|
|
3615
|
+
const { runFindingRelatedRules } = await import("./commands/finding-related-rules.js");
|
|
3616
|
+
runFindingRelatedRules(argv);
|
|
3617
|
+
return;
|
|
3618
|
+
}
|
|
3619
|
+
// ─── Review Token Budget Command ──────────────────────────────────
|
|
3620
|
+
if (args.command === "review-token-budget") {
|
|
3621
|
+
const { runReviewTokenBudget } = await import("./commands/review-token-budget.js");
|
|
3622
|
+
runReviewTokenBudget(argv);
|
|
3623
|
+
return;
|
|
3624
|
+
}
|
|
3625
|
+
// ─── Review Plugin List Command ───────────────────────────────────
|
|
3626
|
+
if (args.command === "review-plugin-list") {
|
|
3627
|
+
const { runReviewPluginList } = await import("./commands/review-plugin-list.js");
|
|
3628
|
+
runReviewPluginList(argv);
|
|
3629
|
+
return;
|
|
3630
|
+
}
|
|
3631
|
+
// ─── Finding Owner Assign Command ─────────────────────────────────
|
|
3632
|
+
if (args.command === "finding-owner-assign") {
|
|
3633
|
+
const { runFindingOwnerAssign } = await import("./commands/finding-owner-assign.js");
|
|
3634
|
+
runFindingOwnerAssign(argv);
|
|
3635
|
+
return;
|
|
3636
|
+
}
|
|
3637
|
+
// ─── Review Lock File Command ─────────────────────────────────────
|
|
3638
|
+
if (args.command === "review-lock-file") {
|
|
3639
|
+
const { runReviewLockFile } = await import("./commands/review-lock-file.js");
|
|
3640
|
+
runReviewLockFile(argv);
|
|
3641
|
+
return;
|
|
3642
|
+
}
|
|
3643
|
+
// ─── Finding Pattern Library Command ──────────────────────────────
|
|
3644
|
+
if (args.command === "finding-pattern-library") {
|
|
3645
|
+
const { runFindingPatternLibrary } = await import("./commands/finding-pattern-library.js");
|
|
3646
|
+
runFindingPatternLibrary(argv);
|
|
3647
|
+
return;
|
|
3648
|
+
}
|
|
3649
|
+
// ─── Review Status Badge Command ──────────────────────────────────
|
|
3650
|
+
if (args.command === "review-status-badge") {
|
|
3651
|
+
const { runReviewStatusBadge } = await import("./commands/review-status-badge.js");
|
|
3652
|
+
runReviewStatusBadge(argv);
|
|
3653
|
+
return;
|
|
3654
|
+
}
|
|
3655
|
+
// ─── Finding Rule Explain Command ─────────────────────────────────
|
|
3656
|
+
if (args.command === "finding-rule-explain") {
|
|
3657
|
+
const { runFindingRuleExplain } = await import("./commands/finding-rule-explain.js");
|
|
3658
|
+
runFindingRuleExplain(argv);
|
|
3659
|
+
return;
|
|
3660
|
+
}
|
|
3661
|
+
// ─── Finding Dependency Tree Command ──────────────────────────────
|
|
3662
|
+
if (args.command === "finding-dependency-tree") {
|
|
3663
|
+
const { runFindingDependencyTree } = await import("./commands/finding-dependency-tree.js");
|
|
3664
|
+
runFindingDependencyTree(argv);
|
|
3665
|
+
return;
|
|
3666
|
+
}
|
|
3667
|
+
// ─── Review CI Integration Command ────────────────────────────────
|
|
3668
|
+
if (args.command === "review-ci-integration") {
|
|
3669
|
+
const { runReviewCiIntegration } = await import("./commands/review-ci-integration.js");
|
|
3670
|
+
runReviewCiIntegration(argv);
|
|
3671
|
+
return;
|
|
3672
|
+
}
|
|
3673
|
+
// ─── Review Comparative Command ───────────────────────────────────
|
|
3674
|
+
if (args.command === "review-comparative") {
|
|
3675
|
+
const { runReviewComparative } = await import("./commands/review-comparative.js");
|
|
3676
|
+
runReviewComparative(argv);
|
|
3677
|
+
return;
|
|
3678
|
+
}
|
|
3679
|
+
// ─── Finding Suppression Audit Command ────────────────────────────
|
|
3680
|
+
if (args.command === "finding-suppression-audit") {
|
|
3681
|
+
const { runFindingSuppressionAudit } = await import("./commands/finding-suppression-audit.js");
|
|
3682
|
+
runFindingSuppressionAudit(argv);
|
|
3683
|
+
return;
|
|
3684
|
+
}
|
|
3685
|
+
// ─── Review Custom Rule Command ───────────────────────────────────
|
|
3686
|
+
if (args.command === "review-custom-rule") {
|
|
3687
|
+
const { runReviewCustomRule } = await import("./commands/review-custom-rule.js");
|
|
3688
|
+
runReviewCustomRule(argv);
|
|
3689
|
+
return;
|
|
3690
|
+
}
|
|
3691
|
+
// ─── Review Notification Command ──────────────────────────────────
|
|
3692
|
+
if (args.command === "review-notification") {
|
|
3693
|
+
const { runReviewNotification } = await import("./commands/review-notification.js");
|
|
3694
|
+
runReviewNotification(argv);
|
|
3695
|
+
return;
|
|
3696
|
+
}
|
|
3697
|
+
// ─── Finding Age Analysis Command ─────────────────────────────────
|
|
3698
|
+
if (args.command === "finding-age-analysis") {
|
|
3699
|
+
const { runFindingAgeAnalysis } = await import("./commands/finding-age-analysis.js");
|
|
3700
|
+
runFindingAgeAnalysis(argv);
|
|
3701
|
+
return;
|
|
3702
|
+
}
|
|
3703
|
+
// ─── Review Template Export Command ───────────────────────────────
|
|
3704
|
+
if (args.command === "review-template-export") {
|
|
3705
|
+
const { runReviewTemplateExport } = await import("./commands/review-template-export.js");
|
|
3706
|
+
runReviewTemplateExport(argv);
|
|
3707
|
+
return;
|
|
3708
|
+
}
|
|
3709
|
+
// ─── Finding Correlation Command ──────────────────────────────────
|
|
3710
|
+
if (args.command === "finding-correlation") {
|
|
3711
|
+
const { runFindingCorrelation } = await import("./commands/finding-correlation.js");
|
|
3712
|
+
runFindingCorrelation(argv);
|
|
3713
|
+
return;
|
|
3714
|
+
}
|
|
3589
3715
|
// ─── Tune Command ─────────────────────────────────────────────────
|
|
3590
3716
|
if (args.command === "tune") {
|
|
3591
3717
|
const { runTune } = await import("./commands/tune.js");
|