@vyuhlabs/dxkit 2.4.6 → 2.4.8
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 +1076 -0
- package/README.md +132 -27
- package/dist/analysis-result.d.ts +112 -0
- package/dist/analysis-result.d.ts.map +1 -0
- package/dist/analysis-result.js +52 -0
- package/dist/analysis-result.js.map +1 -0
- package/dist/analyzers/bom/detailed.d.ts.map +1 -1
- package/dist/analyzers/bom/detailed.js +19 -0
- package/dist/analyzers/bom/detailed.js.map +1 -1
- package/dist/analyzers/bom/gather.d.ts +27 -26
- package/dist/analyzers/bom/gather.d.ts.map +1 -1
- package/dist/analyzers/bom/gather.js +26 -87
- package/dist/analyzers/bom/gather.js.map +1 -1
- package/dist/analyzers/bom/index.d.ts +0 -7
- package/dist/analyzers/bom/index.d.ts.map +1 -1
- package/dist/analyzers/bom/index.js +98 -48
- package/dist/analyzers/bom/index.js.map +1 -1
- package/dist/analyzers/bom/types.d.ts +11 -13
- package/dist/analyzers/bom/types.d.ts.map +1 -1
- package/dist/analyzers/cache.d.ts +95 -0
- package/dist/analyzers/cache.d.ts.map +1 -0
- package/dist/analyzers/cache.js +309 -0
- package/dist/analyzers/cache.js.map +1 -0
- package/dist/analyzers/coverage-runner.d.ts +56 -0
- package/dist/analyzers/coverage-runner.d.ts.map +1 -0
- package/dist/analyzers/coverage-runner.js +72 -0
- package/dist/analyzers/coverage-runner.js.map +1 -0
- package/dist/analyzers/dashboard/index.d.ts +24 -0
- package/dist/analyzers/dashboard/index.d.ts.map +1 -0
- package/dist/analyzers/dashboard/index.js +667 -0
- package/dist/analyzers/dashboard/index.js.map +1 -0
- package/dist/analyzers/developer/gather.d.ts.map +1 -1
- package/dist/analyzers/developer/gather.js +205 -37
- package/dist/analyzers/developer/gather.js.map +1 -1
- package/dist/analyzers/developer/index.d.ts +1 -1
- package/dist/analyzers/developer/index.d.ts.map +1 -1
- package/dist/analyzers/developer/index.js +21 -9
- package/dist/analyzers/developer/index.js.map +1 -1
- package/dist/analyzers/dispatcher.d.ts +52 -0
- package/dist/analyzers/dispatcher.d.ts.map +1 -1
- package/dist/analyzers/dispatcher.js +92 -9
- package/dist/analyzers/dispatcher.js.map +1 -1
- package/dist/analyzers/docs/shallow.d.ts +17 -5
- package/dist/analyzers/docs/shallow.d.ts.map +1 -1
- package/dist/analyzers/docs/shallow.js +65 -2
- package/dist/analyzers/docs/shallow.js.map +1 -1
- package/dist/analyzers/dx/shallow.d.ts +17 -5
- package/dist/analyzers/dx/shallow.d.ts.map +1 -1
- package/dist/analyzers/dx/shallow.js +66 -2
- package/dist/analyzers/dx/shallow.js.map +1 -1
- package/dist/analyzers/health/actions.d.ts +1 -1
- package/dist/analyzers/health/actions.d.ts.map +1 -1
- package/dist/analyzers/health/actions.js +27 -9
- package/dist/analyzers/health/actions.js.map +1 -1
- package/dist/analyzers/health/detailed.d.ts +2 -1
- package/dist/analyzers/health/detailed.d.ts.map +1 -1
- package/dist/analyzers/health/detailed.js +11 -7
- package/dist/analyzers/health/detailed.js.map +1 -1
- package/dist/analyzers/health.d.ts +27 -0
- package/dist/analyzers/health.d.ts.map +1 -1
- package/dist/analyzers/health.js +282 -34
- package/dist/analyzers/health.js.map +1 -1
- package/dist/analyzers/licenses/gather.d.ts +35 -8
- package/dist/analyzers/licenses/gather.d.ts.map +1 -1
- package/dist/analyzers/licenses/gather.js +86 -13
- package/dist/analyzers/licenses/gather.js.map +1 -1
- package/dist/analyzers/licenses/index.d.ts +1 -1
- package/dist/analyzers/licenses/index.d.ts.map +1 -1
- package/dist/analyzers/licenses/index.js +52 -11
- package/dist/analyzers/licenses/index.js.map +1 -1
- package/dist/analyzers/licenses/types.d.ts +15 -0
- package/dist/analyzers/licenses/types.d.ts.map +1 -1
- package/dist/analyzers/maintainability/shallow.d.ts +17 -5
- package/dist/analyzers/maintainability/shallow.d.ts.map +1 -1
- package/dist/analyzers/maintainability/shallow.js +80 -2
- package/dist/analyzers/maintainability/shallow.js.map +1 -1
- package/dist/analyzers/quality/detailed.d.ts.map +1 -1
- package/dist/analyzers/quality/detailed.js +4 -6
- package/dist/analyzers/quality/detailed.js.map +1 -1
- package/dist/analyzers/quality/gather.d.ts +1 -14
- package/dist/analyzers/quality/gather.d.ts.map +1 -1
- package/dist/analyzers/quality/gather.js +48 -137
- package/dist/analyzers/quality/gather.js.map +1 -1
- package/dist/analyzers/quality/index.d.ts +9 -2
- package/dist/analyzers/quality/index.d.ts.map +1 -1
- package/dist/analyzers/quality/index.js +197 -117
- package/dist/analyzers/quality/index.js.map +1 -1
- package/dist/analyzers/quality/shallow.d.ts +50 -5
- package/dist/analyzers/quality/shallow.d.ts.map +1 -1
- package/dist/analyzers/quality/shallow.js +155 -2
- package/dist/analyzers/quality/shallow.js.map +1 -1
- package/dist/analyzers/quality/types.d.ts +14 -0
- package/dist/analyzers/quality/types.d.ts.map +1 -1
- package/dist/analyzers/security/actions.d.ts +11 -4
- package/dist/analyzers/security/actions.d.ts.map +1 -1
- package/dist/analyzers/security/actions.js +87 -37
- package/dist/analyzers/security/actions.js.map +1 -1
- package/dist/analyzers/security/aggregator.d.ts +236 -0
- package/dist/analyzers/security/aggregator.d.ts.map +1 -0
- package/dist/analyzers/security/aggregator.js +349 -0
- package/dist/analyzers/security/aggregator.js.map +1 -0
- package/dist/analyzers/security/detailed.d.ts +2 -2
- package/dist/analyzers/security/detailed.d.ts.map +1 -1
- package/dist/analyzers/security/detailed.js +10 -9
- package/dist/analyzers/security/detailed.js.map +1 -1
- package/dist/analyzers/security/gather.d.ts +104 -1
- package/dist/analyzers/security/gather.d.ts.map +1 -1
- package/dist/analyzers/security/gather.js +299 -9
- package/dist/analyzers/security/gather.js.map +1 -1
- package/dist/analyzers/security/index.d.ts +15 -0
- package/dist/analyzers/security/index.d.ts.map +1 -1
- package/dist/analyzers/security/index.js +463 -50
- package/dist/analyzers/security/index.js.map +1 -1
- package/dist/analyzers/security/shallow.d.ts +50 -6
- package/dist/analyzers/security/shallow.d.ts.map +1 -1
- package/dist/analyzers/security/shallow.js +154 -2
- package/dist/analyzers/security/shallow.js.map +1 -1
- package/dist/analyzers/security/types.d.ts +51 -0
- package/dist/analyzers/security/types.d.ts.map +1 -1
- package/dist/analyzers/tests/detailed.d.ts.map +1 -1
- package/dist/analyzers/tests/detailed.js +2 -3
- package/dist/analyzers/tests/detailed.js.map +1 -1
- package/dist/analyzers/tests/gather.d.ts +2 -1
- package/dist/analyzers/tests/gather.d.ts.map +1 -1
- package/dist/analyzers/tests/gather.js +98 -69
- package/dist/analyzers/tests/gather.js.map +1 -1
- package/dist/analyzers/tests/index.d.ts +11 -2
- package/dist/analyzers/tests/index.d.ts.map +1 -1
- package/dist/analyzers/tests/index.js +83 -18
- package/dist/analyzers/tests/index.js.map +1 -1
- package/dist/analyzers/tests/shallow.d.ts +19 -5
- package/dist/analyzers/tests/shallow.d.ts.map +1 -1
- package/dist/analyzers/tests/shallow.js +89 -2
- package/dist/analyzers/tests/shallow.js.map +1 -1
- package/dist/analyzers/tests/types.d.ts +41 -1
- package/dist/analyzers/tests/types.d.ts.map +1 -1
- package/dist/analyzers/tools/autogen-header.d.ts +8 -0
- package/dist/analyzers/tools/autogen-header.d.ts.map +1 -0
- package/dist/analyzers/tools/autogen-header.js +107 -0
- package/dist/analyzers/tools/autogen-header.js.map +1 -0
- package/dist/analyzers/tools/cloc.d.ts.map +1 -1
- package/dist/analyzers/tools/cloc.js +36 -5
- package/dist/analyzers/tools/cloc.js.map +1 -1
- package/dist/analyzers/tools/deadline.d.ts +67 -0
- package/dist/analyzers/tools/deadline.d.ts.map +1 -0
- package/dist/analyzers/tools/deadline.js +81 -0
- package/dist/analyzers/tools/deadline.js.map +1 -0
- package/dist/analyzers/tools/debug-statements.d.ts +17 -0
- package/dist/analyzers/tools/debug-statements.d.ts.map +1 -0
- package/dist/analyzers/tools/debug-statements.js +58 -0
- package/dist/analyzers/tools/debug-statements.js.map +1 -0
- package/dist/analyzers/tools/default-exclusions.gitignore +28 -0
- package/dist/analyzers/tools/exclusions.d.ts +33 -6
- package/dist/analyzers/tools/exclusions.d.ts.map +1 -1
- package/dist/analyzers/tools/exclusions.js +95 -26
- package/dist/analyzers/tools/exclusions.js.map +1 -1
- package/dist/analyzers/tools/generic.d.ts +17 -2
- package/dist/analyzers/tools/generic.d.ts.map +1 -1
- package/dist/analyzers/tools/generic.js +206 -109
- package/dist/analyzers/tools/generic.js.map +1 -1
- package/dist/analyzers/tools/gitleaks.d.ts.map +1 -1
- package/dist/analyzers/tools/gitleaks.js +48 -1
- package/dist/analyzers/tools/gitleaks.js.map +1 -1
- package/dist/analyzers/tools/graphify.d.ts +30 -2
- package/dist/analyzers/tools/graphify.d.ts.map +1 -1
- package/dist/analyzers/tools/graphify.js +131 -15
- package/dist/analyzers/tools/graphify.js.map +1 -1
- package/dist/analyzers/tools/jscpd.d.ts +12 -2
- package/dist/analyzers/tools/jscpd.d.ts.map +1 -1
- package/dist/analyzers/tools/jscpd.js +129 -6
- package/dist/analyzers/tools/jscpd.js.map +1 -1
- package/dist/analyzers/tools/lint-label.d.ts +29 -0
- package/dist/analyzers/tools/lint-label.d.ts.map +1 -0
- package/dist/analyzers/tools/lint-label.js +23 -0
- package/dist/analyzers/tools/lint-label.js.map +1 -0
- package/dist/analyzers/tools/minified-detection.d.ts +9 -0
- package/dist/analyzers/tools/minified-detection.d.ts.map +1 -0
- package/dist/analyzers/tools/minified-detection.js +147 -0
- package/dist/analyzers/tools/minified-detection.js.map +1 -0
- package/dist/analyzers/tools/nuget-package-reference.d.ts +133 -0
- package/dist/analyzers/tools/nuget-package-reference.d.ts.map +1 -0
- package/dist/analyzers/tools/nuget-package-reference.js +177 -0
- package/dist/analyzers/tools/nuget-package-reference.js.map +1 -0
- package/dist/analyzers/tools/osv-scanner-deps.d.ts +3 -2
- package/dist/analyzers/tools/osv-scanner-deps.d.ts.map +1 -1
- package/dist/analyzers/tools/osv-scanner-deps.js +32 -14
- package/dist/analyzers/tools/osv-scanner-deps.js.map +1 -1
- package/dist/analyzers/tools/osv.d.ts +36 -0
- package/dist/analyzers/tools/osv.d.ts.map +1 -1
- package/dist/analyzers/tools/osv.js +26 -0
- package/dist/analyzers/tools/osv.js.map +1 -1
- package/dist/analyzers/tools/parallel.d.ts +1 -1
- package/dist/analyzers/tools/parallel.d.ts.map +1 -1
- package/dist/analyzers/tools/parallel.js +2 -2
- package/dist/analyzers/tools/parallel.js.map +1 -1
- package/dist/analyzers/tools/report-date.d.ts +17 -0
- package/dist/analyzers/tools/report-date.d.ts.map +1 -0
- package/dist/analyzers/tools/report-date.js +26 -0
- package/dist/analyzers/tools/report-date.js.map +1 -0
- package/dist/analyzers/tools/risk-score.d.ts +7 -0
- package/dist/analyzers/tools/risk-score.d.ts.map +1 -1
- package/dist/analyzers/tools/risk-score.js +9 -2
- package/dist/analyzers/tools/risk-score.js.map +1 -1
- package/dist/analyzers/tools/run-tests-helper.d.ts +43 -0
- package/dist/analyzers/tools/run-tests-helper.d.ts.map +1 -0
- package/dist/analyzers/tools/run-tests-helper.js +156 -0
- package/dist/analyzers/tools/run-tests-helper.js.map +1 -0
- package/dist/analyzers/tools/runner.d.ts.map +1 -1
- package/dist/analyzers/tools/runner.js +75 -12
- package/dist/analyzers/tools/runner.js.map +1 -1
- package/dist/analyzers/tools/semgrep.d.ts +39 -2
- package/dist/analyzers/tools/semgrep.d.ts.map +1 -1
- package/dist/analyzers/tools/semgrep.js +131 -9
- package/dist/analyzers/tools/semgrep.js.map +1 -1
- package/dist/analyzers/tools/timing.d.ts +17 -3
- package/dist/analyzers/tools/timing.d.ts.map +1 -1
- package/dist/analyzers/tools/timing.js +36 -14
- package/dist/analyzers/tools/timing.js.map +1 -1
- package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
- package/dist/analyzers/tools/tool-registry.js +11 -1
- package/dist/analyzers/tools/tool-registry.js.map +1 -1
- package/dist/analyzers/tools/tools-unavailable-prose.d.ts +18 -0
- package/dist/analyzers/tools/tools-unavailable-prose.d.ts.map +1 -0
- package/dist/analyzers/tools/tools-unavailable-prose.js +69 -0
- package/dist/analyzers/tools/tools-unavailable-prose.js.map +1 -0
- package/dist/analyzers/tools/upgrade-plan-resolver.d.ts.map +1 -1
- package/dist/analyzers/tools/upgrade-plan-resolver.js +7 -0
- package/dist/analyzers/tools/upgrade-plan-resolver.js.map +1 -1
- package/dist/analyzers/tools/vendored-advisor.d.ts +43 -0
- package/dist/analyzers/tools/vendored-advisor.d.ts.map +1 -0
- package/dist/analyzers/tools/vendored-advisor.js +107 -0
- package/dist/analyzers/tools/vendored-advisor.js.map +1 -0
- package/dist/analyzers/tools/walk-paths.d.ts +78 -0
- package/dist/analyzers/tools/walk-paths.d.ts.map +1 -0
- package/dist/analyzers/tools/walk-paths.js +150 -0
- package/dist/analyzers/tools/walk-paths.js.map +1 -0
- package/dist/analyzers/tools/walk-source-files.d.ts +70 -0
- package/dist/analyzers/tools/walk-source-files.d.ts.map +1 -0
- package/dist/analyzers/tools/walk-source-files.js +369 -0
- package/dist/analyzers/tools/walk-source-files.js.map +1 -0
- package/dist/analyzers/types.d.ts +204 -4
- package/dist/analyzers/types.d.ts.map +1 -1
- package/dist/analyzers/xlsx/bom.d.ts.map +1 -1
- package/dist/analyzers/xlsx/bom.js +8 -1
- package/dist/analyzers/xlsx/bom.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +581 -189
- package/dist/cli.js.map +1 -1
- package/dist/detect.d.ts.map +1 -1
- package/dist/detect.js +24 -7
- package/dist/detect.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +103 -53
- package/dist/doctor.js.map +1 -1
- package/dist/languages/capabilities/provider.d.ts +130 -1
- package/dist/languages/capabilities/provider.d.ts.map +1 -1
- package/dist/languages/capabilities/types.d.ts +68 -7
- package/dist/languages/capabilities/types.d.ts.map +1 -1
- package/dist/languages/csharp.d.ts +15 -1
- package/dist/languages/csharp.d.ts.map +1 -1
- package/dist/languages/csharp.js +624 -146
- package/dist/languages/csharp.js.map +1 -1
- package/dist/languages/go.d.ts.map +1 -1
- package/dist/languages/go.js +89 -11
- package/dist/languages/go.js.map +1 -1
- package/dist/languages/index.d.ts +132 -2
- package/dist/languages/index.d.ts.map +1 -1
- package/dist/languages/index.js +207 -0
- package/dist/languages/index.js.map +1 -1
- package/dist/languages/java.d.ts.map +1 -1
- package/dist/languages/java.js +113 -26
- package/dist/languages/java.js.map +1 -1
- package/dist/languages/kotlin.d.ts.map +1 -1
- package/dist/languages/kotlin.js +132 -26
- package/dist/languages/kotlin.js.map +1 -1
- package/dist/languages/python.d.ts.map +1 -1
- package/dist/languages/python.js +149 -44
- package/dist/languages/python.js.map +1 -1
- package/dist/languages/ruby.d.ts +39 -1
- package/dist/languages/ruby.d.ts.map +1 -1
- package/dist/languages/ruby.js +178 -44
- package/dist/languages/ruby.js.map +1 -1
- package/dist/languages/rust.d.ts.map +1 -1
- package/dist/languages/rust.js +103 -16
- package/dist/languages/rust.js.map +1 -1
- package/dist/languages/types.d.ts +228 -5
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript.d.ts.map +1 -1
- package/dist/languages/typescript.js +201 -14
- package/dist/languages/typescript.js.map +1 -1
- package/dist/scoring/dimensions/documentation.d.ts +53 -0
- package/dist/scoring/dimensions/documentation.d.ts.map +1 -0
- package/dist/scoring/dimensions/documentation.js +106 -0
- package/dist/scoring/dimensions/documentation.js.map +1 -0
- package/dist/scoring/dimensions/dx.d.ts +53 -0
- package/dist/scoring/dimensions/dx.d.ts.map +1 -0
- package/dist/scoring/dimensions/dx.js +105 -0
- package/dist/scoring/dimensions/dx.js.map +1 -0
- package/dist/scoring/dimensions/maintainability.d.ts +53 -0
- package/dist/scoring/dimensions/maintainability.d.ts.map +1 -0
- package/dist/scoring/dimensions/maintainability.js +101 -0
- package/dist/scoring/dimensions/maintainability.js.map +1 -0
- package/dist/scoring/dimensions/quality.d.ts +108 -0
- package/dist/scoring/dimensions/quality.d.ts.map +1 -0
- package/dist/scoring/dimensions/quality.js +174 -0
- package/dist/scoring/dimensions/quality.js.map +1 -0
- package/dist/scoring/dimensions/security.d.ts +84 -0
- package/dist/scoring/dimensions/security.d.ts.map +1 -0
- package/dist/scoring/dimensions/security.js +135 -0
- package/dist/scoring/dimensions/security.js.map +1 -0
- package/dist/scoring/dimensions/testing.d.ts +56 -0
- package/dist/scoring/dimensions/testing.d.ts.map +1 -0
- package/dist/scoring/dimensions/testing.js +98 -0
- package/dist/scoring/dimensions/testing.js.map +1 -0
- package/dist/scoring/evaluator.d.ts +27 -0
- package/dist/scoring/evaluator.d.ts.map +1 -0
- package/dist/scoring/evaluator.js +124 -0
- package/dist/scoring/evaluator.js.map +1 -0
- package/dist/scoring/format.d.ts +34 -0
- package/dist/scoring/format.d.ts.map +1 -0
- package/dist/scoring/format.js +63 -0
- package/dist/scoring/format.js.map +1 -0
- package/dist/scoring/index.d.ts +37 -0
- package/dist/scoring/index.d.ts.map +1 -0
- package/dist/scoring/index.js +57 -0
- package/dist/scoring/index.js.map +1 -0
- package/dist/scoring/overall.d.ts +54 -0
- package/dist/scoring/overall.d.ts.map +1 -0
- package/dist/scoring/overall.js +76 -0
- package/dist/scoring/overall.js.map +1 -0
- package/dist/scoring/result.d.ts +111 -0
- package/dist/scoring/result.d.ts.map +1 -0
- package/dist/scoring/result.js +14 -0
- package/dist/scoring/result.js.map +1 -0
- package/dist/scoring/spec.d.ts +76 -0
- package/dist/scoring/spec.d.ts.map +1 -0
- package/dist/scoring/spec.js +22 -0
- package/dist/scoring/spec.js.map +1 -0
- package/dist/scoring/thresholds.d.ts +56 -0
- package/dist/scoring/thresholds.d.ts.map +1 -0
- package/dist/scoring/thresholds.js +75 -0
- package/dist/scoring/thresholds.js.map +1 -0
- package/dist/tools-cli.d.ts.map +1 -1
- package/dist/tools-cli.js +21 -2
- package/dist/tools-cli.js.map +1 -1
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/.claude/commands/dashboard.md +17 -9
- package/dist/analyzers/scoring.d.ts +0 -49
- package/dist/analyzers/scoring.d.ts.map +0 -1
- package/dist/analyzers/scoring.js +0 -422
- package/dist/analyzers/scoring.js.map +0 -1
- package/dist/analyzers/security/scoring.d.ts +0 -29
- package/dist/analyzers/security/scoring.d.ts.map +0 -1
- package/dist/analyzers/security/scoring.js +0 -40
- package/dist/analyzers/security/scoring.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/analyzers/dashboard/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gather.d.ts","sourceRoot":"","sources":["../../../src/analyzers/developer/gather.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gather.d.ts","sourceRoot":"","sources":["../../../src/analyzers/developer/gather.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA8BnF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA0KjF;AAQD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CA8B7E;AAID,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAK,GAAG,OAAO,EAAE,CAkC9E;AAkBD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAwB3E;AAsCD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,MAAM,EAAE,CAgB1F;AAID,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAQhD"}
|
|
@@ -12,25 +12,93 @@ exports.gatherSummary = gatherSummary;
|
|
|
12
12
|
* Tool: git (log, shortlog, blame)
|
|
13
13
|
*/
|
|
14
14
|
const runner_1 = require("../tools/runner");
|
|
15
|
+
const languages_1 = require("../../languages");
|
|
15
16
|
// ─── Contributors ───────────────────────────────────────────────────────────
|
|
17
|
+
/**
|
|
18
|
+
* True when an author looks like an automation account rather than a
|
|
19
|
+
* human contributor. Common bot patterns: GitHub App naming
|
|
20
|
+
* convention (`[bot]` suffix), known service accounts, and CI-only
|
|
21
|
+
* placeholders (`root`, `unknown`). Bot rows still appear in the
|
|
22
|
+
* leaderboard but get tagged so they don't crowd out human signal.
|
|
23
|
+
*/
|
|
24
|
+
function isBotAuthor(name, email) {
|
|
25
|
+
if (/\[bot\]/.test(name))
|
|
26
|
+
return true;
|
|
27
|
+
if (/^(dependabot|renovate|github-actions|snyk-bot|deepsource-io)$/i.test(name))
|
|
28
|
+
return true;
|
|
29
|
+
if (/^(dependabot|renovate|github-actions|noreply)@/.test(email))
|
|
30
|
+
return true;
|
|
31
|
+
if (name === 'root' || name === 'unknown')
|
|
32
|
+
return true;
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Normalize an email for clustering. GitHub's privacy-relay emails
|
|
37
|
+
* (`123456+username@users.noreply.github.com`) sometimes get used
|
|
38
|
+
* alongside the real address; drop the leading `<digits>+` so both
|
|
39
|
+
* collapse to the same cluster key. Lowercase the whole thing so
|
|
40
|
+
* casing differences don't split a cluster.
|
|
41
|
+
*/
|
|
42
|
+
function normalizeEmail(email) {
|
|
43
|
+
return email.toLowerCase().replace(/^\d+\+/, '');
|
|
44
|
+
}
|
|
16
45
|
function gatherContributors(cwd, since) {
|
|
17
|
-
//
|
|
18
|
-
|
|
46
|
+
// Pull name + email together so we can cluster aliases that share a
|
|
47
|
+
// mailbox (e.g. someone committing as "Jane D" from a laptop and
|
|
48
|
+
// "Jane-Doe-Corp" from a corp VPN under the same address). git
|
|
49
|
+
// shortlog -sne emits ` <count>\t<name> <<email>>`.
|
|
50
|
+
const shortlog = (0, runner_1.run)(`git shortlog -sne --no-merges --since='${since}' HEAD 2>/dev/null`, cwd, 30000);
|
|
19
51
|
if (!shortlog)
|
|
20
52
|
return [];
|
|
21
|
-
const
|
|
53
|
+
const rawAuthors = [];
|
|
22
54
|
for (const line of shortlog.split('\n').filter((l) => l.trim())) {
|
|
23
|
-
const match = line.trim().match(/^(\d+)\s+(
|
|
55
|
+
const match = line.trim().match(/^(\d+)\s+(.+?)\s+<([^>]+)>$/);
|
|
24
56
|
if (match) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
57
|
+
rawAuthors.push({ commits: parseInt(match[1]), name: match[2], email: match[3] });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const clusters = new Map();
|
|
61
|
+
for (const a of rawAuthors) {
|
|
62
|
+
const key = normalizeEmail(a.email);
|
|
63
|
+
const existing = clusters.get(key);
|
|
64
|
+
if (!existing) {
|
|
65
|
+
clusters.set(key, {
|
|
66
|
+
canonicalName: a.name,
|
|
67
|
+
canonicalEmail: a.email,
|
|
68
|
+
aliases: new Map([[a.name, a.commits]]),
|
|
69
|
+
commits: a.commits,
|
|
28
70
|
linesAdded: 0,
|
|
29
71
|
linesRemoved: 0,
|
|
30
|
-
netChange: 0,
|
|
31
72
|
mergeCommits: 0,
|
|
73
|
+
isBot: isBotAuthor(a.name, a.email),
|
|
32
74
|
});
|
|
33
75
|
}
|
|
76
|
+
else {
|
|
77
|
+
existing.aliases.set(a.name, (existing.aliases.get(a.name) ?? 0) + a.commits);
|
|
78
|
+
existing.commits += a.commits;
|
|
79
|
+
// Re-derive canonical: alias with the highest non-merge commit
|
|
80
|
+
// count wins (tie-break alphabetical). Stays deterministic
|
|
81
|
+
// across runs since shortlog is sorted.
|
|
82
|
+
let bestName = existing.canonicalName;
|
|
83
|
+
let bestCount = existing.aliases.get(bestName) ?? 0;
|
|
84
|
+
for (const [name, count] of existing.aliases) {
|
|
85
|
+
if (count > bestCount || (count === bestCount && name < bestName)) {
|
|
86
|
+
bestName = name;
|
|
87
|
+
bestCount = count;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
existing.canonicalName = bestName;
|
|
91
|
+
existing.isBot = existing.isBot || isBotAuthor(a.name, a.email);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// Build a name→cluster index so the numstat / merge-log passes
|
|
95
|
+
// (which still produce per-name lines) route into the right
|
|
96
|
+
// cluster.
|
|
97
|
+
const clusterByName = new Map();
|
|
98
|
+
for (const cluster of clusters.values()) {
|
|
99
|
+
for (const alias of cluster.aliases.keys()) {
|
|
100
|
+
clusterByName.set(alias, cluster);
|
|
101
|
+
}
|
|
34
102
|
}
|
|
35
103
|
// Get lines added/removed per author via numstat
|
|
36
104
|
const numstat = (0, runner_1.run)(`git log --numstat --format='AUTHOR:%aN' --since='${since}' --no-merges HEAD 2>/dev/null`, cwd, 60000);
|
|
@@ -43,42 +111,72 @@ function gatherContributors(cwd, since) {
|
|
|
43
111
|
else {
|
|
44
112
|
const m = line.match(/^(\d+)\s+(\d+)\s+/);
|
|
45
113
|
if (m && currentAuthor) {
|
|
46
|
-
const
|
|
47
|
-
if (
|
|
48
|
-
|
|
49
|
-
|
|
114
|
+
const cluster = clusterByName.get(currentAuthor);
|
|
115
|
+
if (cluster) {
|
|
116
|
+
cluster.linesAdded += parseInt(m[1]);
|
|
117
|
+
cluster.linesRemoved += parseInt(m[2]);
|
|
50
118
|
}
|
|
51
119
|
}
|
|
52
120
|
}
|
|
53
121
|
}
|
|
54
122
|
}
|
|
55
|
-
// Get merge commit count per author
|
|
56
|
-
|
|
123
|
+
// Get merge commit count per author. Merge-only contributors (no
|
|
124
|
+
// non-merge commits) won't appear in shortlog so they need their
|
|
125
|
+
// own cluster. Use name+email from %aE so the cluster key matches.
|
|
126
|
+
const mergeLog = (0, runner_1.run)(`git log --format='%aN<<<%aE' --merges --since='${since}' HEAD 2>/dev/null`, cwd, 30000);
|
|
57
127
|
if (mergeLog) {
|
|
58
|
-
for (const
|
|
59
|
-
const
|
|
60
|
-
if (
|
|
61
|
-
|
|
128
|
+
for (const entry of mergeLog.split('\n').filter((l) => l.trim())) {
|
|
129
|
+
const [name, email] = entry.split('<<<');
|
|
130
|
+
if (!name || !email)
|
|
131
|
+
continue;
|
|
132
|
+
const key = normalizeEmail(email);
|
|
133
|
+
const existing = clusters.get(key);
|
|
134
|
+
if (existing) {
|
|
135
|
+
existing.mergeCommits++;
|
|
136
|
+
if (!existing.aliases.has(name)) {
|
|
137
|
+
existing.aliases.set(name, 0);
|
|
138
|
+
clusterByName.set(name, existing);
|
|
139
|
+
}
|
|
62
140
|
}
|
|
63
141
|
else {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
142
|
+
const cluster = {
|
|
143
|
+
canonicalName: name,
|
|
144
|
+
canonicalEmail: email,
|
|
145
|
+
aliases: new Map([[name, 0]]),
|
|
67
146
|
commits: 0,
|
|
68
147
|
linesAdded: 0,
|
|
69
148
|
linesRemoved: 0,
|
|
70
|
-
netChange: 0,
|
|
71
149
|
mergeCommits: 1,
|
|
72
|
-
|
|
150
|
+
isBot: isBotAuthor(name, email),
|
|
151
|
+
};
|
|
152
|
+
clusters.set(key, cluster);
|
|
153
|
+
clusterByName.set(name, cluster);
|
|
73
154
|
}
|
|
74
155
|
}
|
|
75
156
|
}
|
|
76
|
-
//
|
|
77
|
-
|
|
78
|
-
|
|
157
|
+
// Project each cluster to the public ContributorStats shape.
|
|
158
|
+
// Aliases other than the canonical name surface as a parenthetical
|
|
159
|
+
// so the reader can see who got merged.
|
|
160
|
+
const out = [];
|
|
161
|
+
for (const cluster of clusters.values()) {
|
|
162
|
+
const otherAliases = [...cluster.aliases.keys()]
|
|
163
|
+
.filter((n) => n !== cluster.canonicalName)
|
|
164
|
+
.sort();
|
|
165
|
+
const displayName = otherAliases.length > 0
|
|
166
|
+
? `${cluster.canonicalName} (aka ${otherAliases.join(', ')})`
|
|
167
|
+
: cluster.canonicalName;
|
|
168
|
+
const labelled = cluster.isBot ? `${displayName} [automated]` : displayName;
|
|
169
|
+
out.push({
|
|
170
|
+
name: labelled,
|
|
171
|
+
commits: cluster.commits,
|
|
172
|
+
linesAdded: cluster.linesAdded,
|
|
173
|
+
linesRemoved: cluster.linesRemoved,
|
|
174
|
+
netChange: cluster.linesAdded - cluster.linesRemoved,
|
|
175
|
+
mergeCommits: cluster.mergeCommits,
|
|
176
|
+
});
|
|
79
177
|
}
|
|
80
178
|
// Sort by total commits (non-merge + merge) descending
|
|
81
|
-
return
|
|
179
|
+
return out.sort((a, b) => b.commits + b.mergeCommits - (a.commits + a.mergeCommits));
|
|
82
180
|
}
|
|
83
181
|
// ─── Commit quality ─────────────────────────────────────────────────────────
|
|
84
182
|
const CONVENTIONAL_RE = /^(feat|fix|chore|docs|style|refactor|perf|test|ci|build|revert)(\(.+\))?!?:/i;
|
|
@@ -110,9 +208,13 @@ function gatherCommitQuality(cwd, since) {
|
|
|
110
208
|
}
|
|
111
209
|
// ─── Hot files ──────────────────────────────────────────────────────────────
|
|
112
210
|
function gatherHotFiles(cwd, since, top = 15) {
|
|
113
|
-
|
|
211
|
+
// Pull a wider window than `top` because D061 filtering may drop
|
|
212
|
+
// generated files (designer.cs, .pb.go, etc.). Without overscan we
|
|
213
|
+
// could lose real hot files behind autogen noise.
|
|
214
|
+
const raw = (0, runner_1.run)(`git log --name-only --format='' --since='${since}' --no-merges HEAD 2>/dev/null | sort | uniq -c | sort -rn | head -${top * 4}`, cwd, 30000);
|
|
114
215
|
if (!raw)
|
|
115
216
|
return [];
|
|
217
|
+
const autogenPatterns = (0, languages_1.allAutogenSourcePatterns)();
|
|
116
218
|
return raw
|
|
117
219
|
.split('\n')
|
|
118
220
|
.filter((l) => l.trim())
|
|
@@ -120,7 +222,35 @@ function gatherHotFiles(cwd, since, top = 15) {
|
|
|
120
222
|
const m = line.trim().match(/^(\d+)\s+(.+)$/);
|
|
121
223
|
return m ? { path: m[2], changes: parseInt(m[1]) } : null;
|
|
122
224
|
})
|
|
123
|
-
.filter((x) =>
|
|
225
|
+
.filter((x) => {
|
|
226
|
+
if (x === null)
|
|
227
|
+
return false;
|
|
228
|
+
if (x.path.includes('package-lock'))
|
|
229
|
+
return false;
|
|
230
|
+
// D061 (2.4.7): drop auto-generated files (designer.cs, .pb.go,
|
|
231
|
+
// *Generated.java, etc.) so hot files reflect human-authored
|
|
232
|
+
// churn, not regeneration noise from IDEs / build steps. Each
|
|
233
|
+
// pack contributes its own `autogeneratedSourcePatterns`; the
|
|
234
|
+
// union drives this filter, so adding a new pack auto-extends it.
|
|
235
|
+
const base = x.path.split('/').pop() ?? '';
|
|
236
|
+
for (const pat of autogenPatterns) {
|
|
237
|
+
if (matchesBasenameGlob(pat, base))
|
|
238
|
+
return false;
|
|
239
|
+
}
|
|
240
|
+
return true;
|
|
241
|
+
})
|
|
242
|
+
.slice(0, top);
|
|
243
|
+
}
|
|
244
|
+
function matchesBasenameGlob(pat, base) {
|
|
245
|
+
if (!pat.includes('*') && !pat.includes('?'))
|
|
246
|
+
return pat === base;
|
|
247
|
+
const regex = new RegExp('^' +
|
|
248
|
+
pat
|
|
249
|
+
.replace(/[.+^${}()|[\]\\]/g, '\\$&')
|
|
250
|
+
.replace(/\*/g, '.*')
|
|
251
|
+
.replace(/\?/g, '.') +
|
|
252
|
+
'$', 'i');
|
|
253
|
+
return regex.test(base);
|
|
124
254
|
}
|
|
125
255
|
// ─── Weekly velocity ────────────────────────────────────────────────────────
|
|
126
256
|
function gatherVelocity(cwd, since) {
|
|
@@ -130,16 +260,54 @@ function gatherVelocity(cwd, since) {
|
|
|
130
260
|
const weekCounts = new Map();
|
|
131
261
|
for (const dateStr of raw.split('\n').filter((l) => l.trim())) {
|
|
132
262
|
const date = new Date(dateStr);
|
|
133
|
-
|
|
134
|
-
const year = date.getFullYear();
|
|
135
|
-
const jan1 = new Date(year, 0, 1);
|
|
136
|
-
const weekNum = Math.ceil(((date.getTime() - jan1.getTime()) / 86400000 + jan1.getDay() + 1) / 7);
|
|
137
|
-
const week = `${year}-W${String(weekNum).padStart(2, '0')}`;
|
|
263
|
+
const week = isoWeekKey(date);
|
|
138
264
|
weekCounts.set(week, (weekCounts.get(week) || 0) + 1);
|
|
139
265
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
266
|
+
if (weekCounts.size === 0)
|
|
267
|
+
return [];
|
|
268
|
+
// D060 (2.4.7): fill empty weeks with 0-row entries between the
|
|
269
|
+
// first and last week that had commits. Pre-fix the velocity table
|
|
270
|
+
// showed `W08 2, W09 1, W10 7, W14 1, W16 6, ...` — silent gaps
|
|
271
|
+
// (W11/W12/W13/W15) implied "data missing" when reality was "zero
|
|
272
|
+
// commits that week." Rendering zero-rows makes cadence honest.
|
|
273
|
+
const weeks = Array.from(weekCounts.keys()).sort();
|
|
274
|
+
const filled = [];
|
|
275
|
+
for (const w of weeksInRange(weeks[0], weeks[weeks.length - 1])) {
|
|
276
|
+
filled.push({ week: w, commits: weekCounts.get(w) ?? 0 });
|
|
277
|
+
}
|
|
278
|
+
return filled;
|
|
279
|
+
}
|
|
280
|
+
function isoWeekKey(date) {
|
|
281
|
+
const year = date.getFullYear();
|
|
282
|
+
const jan1 = new Date(year, 0, 1);
|
|
283
|
+
const weekNum = Math.ceil(((date.getTime() - jan1.getTime()) / 86400000 + jan1.getDay() + 1) / 7);
|
|
284
|
+
return `${year}-W${String(weekNum).padStart(2, '0')}`;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Enumerate every ISO `YYYY-Www` between `start` and `end` inclusive,
|
|
288
|
+
* walking week-by-week through the calendar. Spans year boundaries by
|
|
289
|
+
* advancing 7 days at a time and re-deriving the key. The key shape
|
|
290
|
+
* matches `isoWeekKey()` so set lookup against `weekCounts` aligns
|
|
291
|
+
* byte-for-byte.
|
|
292
|
+
*/
|
|
293
|
+
function* weeksInRange(start, end) {
|
|
294
|
+
// Reconstruct a date that falls inside `start`'s week — pick midweek
|
|
295
|
+
// (Wednesday) of an anchor day in that week. Simpler than reversing
|
|
296
|
+
// the isoWeekKey formula: just iterate Jan 1 forward.
|
|
297
|
+
const [yStart] = start.split('-W').map(Number);
|
|
298
|
+
const cursor = new Date(yStart, 0, 1);
|
|
299
|
+
// Walk forward until we hit `start`. Bounded by ~53 weeks worst case.
|
|
300
|
+
while (isoWeekKey(cursor) !== start)
|
|
301
|
+
cursor.setDate(cursor.getDate() + 1);
|
|
302
|
+
// Now emit week keys, advancing 7 days at a time. Stop after `end`.
|
|
303
|
+
let safety = 600; // ~10 years of weeks; far beyond any plausible since-window.
|
|
304
|
+
while (safety-- > 0) {
|
|
305
|
+
const key = isoWeekKey(cursor);
|
|
306
|
+
yield key;
|
|
307
|
+
if (key === end)
|
|
308
|
+
return;
|
|
309
|
+
cursor.setDate(cursor.getDate() + 7);
|
|
310
|
+
}
|
|
143
311
|
}
|
|
144
312
|
// ─── Vague commit examples (for detailed report) ──────────────────────────
|
|
145
313
|
const VAGUE_RE_EXPORT = /^(update|fix|change|wip|tmp|test|minor|misc|stuff|cleanup|tweaks?)$/i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gather.js","sourceRoot":"","sources":["../../../src/analyzers/developer/gather.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gather.js","sourceRoot":"","sources":["../../../src/analyzers/developer/gather.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,6 @@ export type { DevReport, ContributorStats, HotFile, CommitQuality, WeeklyVelocit
|
|
|
3
3
|
export interface AnalyzeDevActivityOptions {
|
|
4
4
|
verbose?: boolean;
|
|
5
5
|
}
|
|
6
|
-
export declare function analyzeDevActivity(repoPath: string, since?: string, options?: AnalyzeDevActivityOptions): DevReport
|
|
6
|
+
export declare function analyzeDevActivity(repoPath: string, since?: string, options?: AnalyzeDevActivityOptions): Promise<DevReport>;
|
|
7
7
|
export declare function formatDevReport(report: DevReport, elapsed: string): string;
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analyzers/developer/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analyzers/developer/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEnG,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,SAAS,CAAC,CAqDpB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAyG1E"}
|
|
@@ -40,13 +40,25 @@ exports.formatDevReport = formatDevReport;
|
|
|
40
40
|
* Orthogonal to health (no dimension score).
|
|
41
41
|
*/
|
|
42
42
|
const path = __importStar(require("path"));
|
|
43
|
-
const
|
|
44
|
-
const
|
|
43
|
+
const cache_1 = require("../cache");
|
|
44
|
+
const health_1 = require("../health");
|
|
45
|
+
const report_date_1 = require("../tools/report-date");
|
|
45
46
|
const timing_1 = require("../tools/timing");
|
|
46
47
|
const gather_1 = require("./gather");
|
|
47
|
-
function analyzeDevActivity(repoPath, since, options = {}) {
|
|
48
|
+
async function analyzeDevActivity(repoPath, since, options = {}) {
|
|
48
49
|
const verbose = !!options.verbose;
|
|
49
|
-
|
|
50
|
+
// Single canonical analysis envelope shared across consumers.
|
|
51
|
+
// analyzeDevActivity reads stack + provenance from the cache so
|
|
52
|
+
// its report header matches every other subcommand on the same
|
|
53
|
+
// SHA. The git-log gathers (contributors / hot-files / velocity /
|
|
54
|
+
// commit-quality) stay standalone — they're parameterized by the
|
|
55
|
+
// since-date, which is orthogonal to the cache key, so they
|
|
56
|
+
// legitimately run per-invocation.
|
|
57
|
+
const cacheResult = await (0, cache_1.readOrBuildAnalysisResult)({
|
|
58
|
+
cwd: repoPath,
|
|
59
|
+
build: (cwd) => (0, health_1.gatherAnalysisResultBody)(cwd, { verbose }),
|
|
60
|
+
});
|
|
61
|
+
const { stack } = cacheResult;
|
|
50
62
|
// Default: last 3 months
|
|
51
63
|
const sinceDate = since || new Date(Date.now() - 90 * 24 * 60 * 60 * 1000).toISOString().slice(0, 10);
|
|
52
64
|
const summary = (0, timing_1.timed)('summary', verbose, () => (0, gather_1.gatherSummary)(repoPath, sinceDate));
|
|
@@ -59,11 +71,11 @@ function analyzeDevActivity(repoPath, since, options = {}) {
|
|
|
59
71
|
? Math.round((summary.mergeCommits / summary.totalCommits) * 1000) / 1000
|
|
60
72
|
: 0;
|
|
61
73
|
return {
|
|
62
|
-
repo: stack.projectName || path.basename(
|
|
63
|
-
analyzedAt:
|
|
64
|
-
commitSha:
|
|
65
|
-
branch:
|
|
66
|
-
period: { since: sinceDate, until:
|
|
74
|
+
repo: stack.projectName || path.basename(cacheResult.cwd),
|
|
75
|
+
analyzedAt: cacheResult.builtAt,
|
|
76
|
+
commitSha: cacheResult.commitSha,
|
|
77
|
+
branch: cacheResult.branch,
|
|
78
|
+
period: { since: sinceDate, until: (0, report_date_1.getReportDate)() },
|
|
67
79
|
summary: {
|
|
68
80
|
totalCommits: summary.totalCommits,
|
|
69
81
|
nonMergeCommits: nonMerge,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/analyzers/developer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/analyzers/developer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,12 +21,64 @@ import type { CapabilityEnvelope } from '../languages/capabilities/types';
|
|
|
21
21
|
export interface DispatcherOptions {
|
|
22
22
|
/** Called once per provider that throws or rejects. Default: silent. */
|
|
23
23
|
onProviderError?(capId: string, source: string, err: unknown): void;
|
|
24
|
+
/**
|
|
25
|
+
* Called once per provider whose Promise never settles within the
|
|
26
|
+
* deadline. Default: warns on stderr. Tests pass a stub to capture
|
|
27
|
+
* stalls without polluting test output.
|
|
28
|
+
*/
|
|
29
|
+
onProviderStall?(capId: string, source: string, stalledMs: number): void;
|
|
30
|
+
/**
|
|
31
|
+
* Per-provider deadline. Stalled providers are treated as if they
|
|
32
|
+
* had returned `null` with a "stalled at >Ns (deadline)" reason —
|
|
33
|
+
* the rest of the dispatch still completes via `Promise.allSettled`,
|
|
34
|
+
* and the stall surfaces in `toolsUnavailable` via the existing
|
|
35
|
+
* `availabilityFromOutcome` machinery. Default:
|
|
36
|
+
* `DEFAULT_PROVIDER_DEADLINE_MS` (12 minutes).
|
|
37
|
+
*/
|
|
38
|
+
providerDeadlineMs?: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* D080 (2.4.7): when a multi-pack capability has providers that
|
|
42
|
+
* return null silently (tool unavailable on the customer's machine),
|
|
43
|
+
* the rendered tool label hides which packs were attempted.
|
|
44
|
+
* gatherWithProvenance exposes both the aggregated envelope AND the
|
|
45
|
+
* per-provider {ran, skipped} split so consumers can surface
|
|
46
|
+
* "lint ran: ruff; not run: eslint (not installed)" instead of just
|
|
47
|
+
* "lint ran: ruff."
|
|
48
|
+
*/
|
|
49
|
+
export interface DispatchOutcome<T extends CapabilityEnvelope> {
|
|
50
|
+
envelope: T | null;
|
|
51
|
+
/** All provider sources we ATTEMPTED to run (one per provider passed in). */
|
|
52
|
+
attempted: string[];
|
|
53
|
+
/** Sources that returned a non-null envelope. Subset of `attempted`. */
|
|
54
|
+
succeeded: string[];
|
|
55
|
+
/** Sources that returned null (tool absent, no config, etc.). */
|
|
56
|
+
skipped: string[];
|
|
57
|
+
/**
|
|
58
|
+
* Per-source reasons for skipping, when the provider exposes a
|
|
59
|
+
* `gatherOutcome` method (the same channel `DepVulnsProvider`,
|
|
60
|
+
* `LicensesProvider`, and `LintProvider` use to surface
|
|
61
|
+
* unavailability reasons). Empty record when no provider supplied
|
|
62
|
+
* a reason — legacy `gather()`-only providers don't propagate
|
|
63
|
+
* "why" through this boundary, so their skip entries land in
|
|
64
|
+
* `skipped` without an entry here. Consumers should treat absent
|
|
65
|
+
* keys as "reason unknown" and render accordingly.
|
|
66
|
+
*/
|
|
67
|
+
skipReasons: Record<string, string>;
|
|
24
68
|
}
|
|
25
69
|
export declare class CapabilityDispatcher {
|
|
26
70
|
private readonly cache;
|
|
27
71
|
private readonly opts;
|
|
28
72
|
constructor(opts?: DispatcherOptions);
|
|
29
73
|
gather<T extends CapabilityEnvelope>(cwd: string, cap: CapabilityDescriptor<T>, providers: ReadonlyArray<CapabilityProvider<T>>): Promise<T | null>;
|
|
74
|
+
/**
|
|
75
|
+
* Same gather + cache semantics as `gather()`, plus per-provider
|
|
76
|
+
* provenance (which sources we attempted, which returned null).
|
|
77
|
+
* D080 (2.4.7): consumed by quality/health report renderers so the
|
|
78
|
+
* "Tool" label honestly reflects which providers were attempted even
|
|
79
|
+
* when one returned null silently.
|
|
80
|
+
*/
|
|
81
|
+
gatherWithProvenance<T extends CapabilityEnvelope>(cwd: string, cap: CapabilityDescriptor<T>, providers: ReadonlyArray<CapabilityProvider<T>>): Promise<DispatchOutcome<T>>;
|
|
30
82
|
/** Test seam — drop the in-memory cache between runs. */
|
|
31
83
|
clearCache(): void;
|
|
32
84
|
private run;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/analyzers/dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/analyzers/dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,eAAe,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpE;;;;OAIG;IACH,eAAe,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzE;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,kBAAkB;IAC3D,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;IACnB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,wEAAwE;IACxE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iEAAiE;IACjE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;;;OASG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmE;IACzF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;gBAE7B,IAAI,GAAE,iBAAsB;IAIlC,MAAM,CAAC,CAAC,SAAS,kBAAkB,EACvC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC5B,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAC9C,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAIpB;;;;;;OAMG;IACG,oBAAoB,CAAC,CAAC,SAAS,kBAAkB,EACrD,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC5B,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAC9C,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAY9B,yDAAyD;IACzD,UAAU,IAAI,IAAI;YAIJ,GAAG;CAyFlB;AAgBD,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,sBAA6B,CAAC"}
|