coverme-scanner 1.0.10 → 1.0.11
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/dist/report/index.d.ts.map +1 -1
- package/dist/report/index.js +23 -4
- package/dist/report/index.js.map +1 -1
- package/package.json +1 -1
- package/src/report/index.ts +26 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/report/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/report/index.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA8HD,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAiRvD;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BvF;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,GAAE,KAAK,GAAG,MAAc,GAC7B,OAAO,CAAC,IAAI,CAAC,CAgCf"}
|
package/dist/report/index.js
CHANGED
|
@@ -41,6 +41,7 @@ exports.generatePdf = generatePdf;
|
|
|
41
41
|
exports.generateReport = generateReport;
|
|
42
42
|
const fs = __importStar(require("fs"));
|
|
43
43
|
const puppeteer_1 = __importDefault(require("puppeteer"));
|
|
44
|
+
const generator_js_1 = require("./generator.js");
|
|
44
45
|
function escapeHtml(text) {
|
|
45
46
|
if (!text)
|
|
46
47
|
return '';
|
|
@@ -453,13 +454,31 @@ async function generateReport(jsonPath, outputPath, format = 'pdf') {
|
|
|
453
454
|
const reportData = JSON.parse(fs.readFileSync(jsonPath, 'utf-8'));
|
|
454
455
|
const ext = format === 'pdf' ? '.pdf' : '.html';
|
|
455
456
|
const finalPath = outputPath || jsonPath.replace('.json', ext);
|
|
457
|
+
// Convert old ScanReport format to new ScanResult format if needed
|
|
458
|
+
const findings = reportData.findings || [];
|
|
459
|
+
const scanResult = {
|
|
460
|
+
projectName: reportData.projectName,
|
|
461
|
+
scanDate: reportData.scanDate,
|
|
462
|
+
filesScanned: reportData.filesScanned || 0,
|
|
463
|
+
agentsUsed: reportData.agentsUsed || [],
|
|
464
|
+
summary: reportData.summary || {
|
|
465
|
+
total: findings.length,
|
|
466
|
+
critical: findings.filter((f) => f.severity === 'critical').length,
|
|
467
|
+
high: findings.filter((f) => f.severity === 'high').length,
|
|
468
|
+
medium: findings.filter((f) => f.severity === 'medium').length,
|
|
469
|
+
low: findings.filter((f) => f.severity === 'low').length,
|
|
470
|
+
info: findings.filter((f) => f.severity === 'info').length,
|
|
471
|
+
avgConfidence: 0,
|
|
472
|
+
},
|
|
473
|
+
findings,
|
|
474
|
+
positiveObservations: reportData.positiveObservations || [],
|
|
475
|
+
scanDuration: reportData.scanDuration || 0,
|
|
476
|
+
};
|
|
456
477
|
if (format === 'pdf') {
|
|
457
|
-
await
|
|
478
|
+
await (0, generator_js_1.generatePdfReport)(scanResult, finalPath);
|
|
458
479
|
}
|
|
459
480
|
else {
|
|
460
|
-
|
|
461
|
-
fs.writeFileSync(finalPath, html);
|
|
462
|
-
console.log(`HTML generated: ${finalPath}`);
|
|
481
|
+
await (0, generator_js_1.generateHtmlReport)(scanResult, finalPath, reportData.falsePositives || []);
|
|
463
482
|
}
|
|
464
483
|
}
|
|
465
484
|
//# sourceMappingURL=index.js.map
|
package/dist/report/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/report/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/report/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/report/index.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import puppeteer from 'puppeteer';
|
|
4
|
+
import { generateHtmlReport as generateHtmlReportNew, generatePdfReport as generatePdfReportNew } from './generator.js';
|
|
5
|
+
import type { ScanResult } from '../types.js';
|
|
4
6
|
|
|
5
7
|
export interface Finding {
|
|
6
8
|
id: string;
|
|
@@ -472,16 +474,35 @@ export async function generateReport(
|
|
|
472
474
|
outputPath?: string,
|
|
473
475
|
format: 'pdf' | 'html' = 'pdf'
|
|
474
476
|
): Promise<void> {
|
|
475
|
-
const reportData = JSON.parse(fs.readFileSync(jsonPath, 'utf-8'))
|
|
477
|
+
const reportData = JSON.parse(fs.readFileSync(jsonPath, 'utf-8'));
|
|
476
478
|
|
|
477
479
|
const ext = format === 'pdf' ? '.pdf' : '.html';
|
|
478
480
|
const finalPath = outputPath || jsonPath.replace('.json', ext);
|
|
479
481
|
|
|
482
|
+
// Convert old ScanReport format to new ScanResult format if needed
|
|
483
|
+
const findings = reportData.findings || [];
|
|
484
|
+
const scanResult: ScanResult = {
|
|
485
|
+
projectName: reportData.projectName,
|
|
486
|
+
scanDate: reportData.scanDate,
|
|
487
|
+
filesScanned: reportData.filesScanned || 0,
|
|
488
|
+
agentsUsed: reportData.agentsUsed || [],
|
|
489
|
+
summary: reportData.summary || {
|
|
490
|
+
total: findings.length,
|
|
491
|
+
critical: findings.filter((f: Finding) => f.severity === 'critical').length,
|
|
492
|
+
high: findings.filter((f: Finding) => f.severity === 'high').length,
|
|
493
|
+
medium: findings.filter((f: Finding) => f.severity === 'medium').length,
|
|
494
|
+
low: findings.filter((f: Finding) => f.severity === 'low').length,
|
|
495
|
+
info: findings.filter((f: Finding) => f.severity === 'info').length,
|
|
496
|
+
avgConfidence: 0,
|
|
497
|
+
},
|
|
498
|
+
findings,
|
|
499
|
+
positiveObservations: reportData.positiveObservations || [],
|
|
500
|
+
scanDuration: reportData.scanDuration || 0,
|
|
501
|
+
};
|
|
502
|
+
|
|
480
503
|
if (format === 'pdf') {
|
|
481
|
-
await
|
|
504
|
+
await generatePdfReportNew(scanResult, finalPath);
|
|
482
505
|
} else {
|
|
483
|
-
|
|
484
|
-
fs.writeFileSync(finalPath, html);
|
|
485
|
-
console.log(`HTML generated: ${finalPath}`);
|
|
506
|
+
await generateHtmlReportNew(scanResult, finalPath, reportData.falsePositives || []);
|
|
486
507
|
}
|
|
487
508
|
}
|