codeslick-cli 1.2.3 → 1.2.4
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/__tests__/threshold-handler.test.ts +175 -0
- package/dist/packages/cli/src/commands/scan.d.ts +11 -0
- package/dist/packages/cli/src/commands/scan.d.ts.map +1 -1
- package/dist/packages/cli/src/commands/scan.js +74 -5
- package/dist/packages/cli/src/commands/scan.js.map +1 -1
- package/dist/packages/cli/src/config/config-loader.d.ts +11 -0
- package/dist/packages/cli/src/config/config-loader.d.ts.map +1 -1
- package/dist/packages/cli/src/config/config-loader.js.map +1 -1
- package/dist/packages/cli/src/reporters/cli-reporter.d.ts +18 -0
- package/dist/packages/cli/src/reporters/cli-reporter.d.ts.map +1 -1
- package/dist/packages/cli/src/reporters/cli-reporter.js +115 -0
- package/dist/packages/cli/src/reporters/cli-reporter.js.map +1 -1
- package/dist/packages/cli/src/utils/test-runner.d.ts +84 -0
- package/dist/packages/cli/src/utils/test-runner.d.ts.map +1 -0
- package/dist/packages/cli/src/utils/test-runner.js +209 -0
- package/dist/packages/cli/src/utils/test-runner.js.map +1 -0
- package/dist/packages/cli/src/utils/threshold-handler.d.ts +40 -0
- package/dist/packages/cli/src/utils/threshold-handler.d.ts.map +1 -0
- package/dist/packages/cli/src/utils/threshold-handler.js +85 -0
- package/dist/packages/cli/src/utils/threshold-handler.js.map +1 -0
- package/dist/src/lib/analyzers/go-analyzer.d.ts +5 -0
- package/dist/src/lib/analyzers/go-analyzer.d.ts.map +1 -1
- package/dist/src/lib/analyzers/go-analyzer.js +47 -0
- package/dist/src/lib/analyzers/go-analyzer.js.map +1 -1
- package/dist/src/lib/analyzers/java-analyzer.d.ts +5 -0
- package/dist/src/lib/analyzers/java-analyzer.d.ts.map +1 -1
- package/dist/src/lib/analyzers/java-analyzer.js +48 -0
- package/dist/src/lib/analyzers/java-analyzer.js.map +1 -1
- package/dist/src/lib/analyzers/javascript-analyzer.d.ts +5 -0
- package/dist/src/lib/analyzers/javascript-analyzer.d.ts.map +1 -1
- package/dist/src/lib/analyzers/javascript-analyzer.js +48 -0
- package/dist/src/lib/analyzers/javascript-analyzer.js.map +1 -1
- package/dist/src/lib/analyzers/python-analyzer.d.ts +5 -0
- package/dist/src/lib/analyzers/python-analyzer.d.ts.map +1 -1
- package/dist/src/lib/analyzers/python-analyzer.js +55 -0
- package/dist/src/lib/analyzers/python-analyzer.js.map +1 -1
- package/dist/src/lib/analyzers/types.d.ts +4 -0
- package/dist/src/lib/analyzers/types.d.ts.map +1 -1
- package/dist/src/lib/analyzers/typescript-analyzer.d.ts +5 -0
- package/dist/src/lib/analyzers/typescript-analyzer.d.ts.map +1 -1
- package/dist/src/lib/analyzers/typescript-analyzer.js +48 -0
- package/dist/src/lib/analyzers/typescript-analyzer.js.map +1 -1
- package/dist/src/lib/github/types.d.ts +112 -0
- package/dist/src/lib/github/types.d.ts.map +1 -0
- package/dist/src/lib/github/types.js +34 -0
- package/dist/src/lib/github/types.js.map +1 -0
- package/dist/src/lib/security/epss-service.d.ts +63 -0
- package/dist/src/lib/security/epss-service.d.ts.map +1 -0
- package/dist/src/lib/security/epss-service.js +256 -0
- package/dist/src/lib/security/epss-service.js.map +1 -0
- package/dist/src/lib/security/threshold-evaluator.d.ts +73 -0
- package/dist/src/lib/security/threshold-evaluator.d.ts.map +1 -0
- package/dist/src/lib/security/threshold-evaluator.js +234 -0
- package/dist/src/lib/security/threshold-evaluator.js.map +1 -0
- package/dist/src/lib/security/triage-service.d.ts +76 -0
- package/dist/src/lib/security/triage-service.d.ts.map +1 -0
- package/dist/src/lib/security/triage-service.js +318 -0
- package/dist/src/lib/security/triage-service.js.map +1 -0
- package/dist/src/lib/types/index.d.ts +4 -0
- package/dist/src/lib/types/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/commands/scan.ts +100 -7
- package/src/config/config-loader.ts +15 -0
- package/src/reporters/cli-reporter.ts +132 -0
- package/src/utils/test-runner.ts +249 -0
- package/src/utils/threshold-handler.ts +99 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Threshold Handler Tests
|
|
3
|
+
*
|
|
4
|
+
* Tests the integration of WR2 threshold evaluation into CLI scans.
|
|
5
|
+
*
|
|
6
|
+
* Winter Roadmap WR2: Pass/Fail Thresholds
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { describe, it, expect } from 'vitest';
|
|
10
|
+
import { convertToAggregatedResults } from '../src/utils/threshold-handler';
|
|
11
|
+
import type { FileScanResult } from '../src/scanner/local-scanner';
|
|
12
|
+
|
|
13
|
+
describe('CLI Threshold Handler', () => {
|
|
14
|
+
describe('convertToAggregatedResults', () => {
|
|
15
|
+
it('should convert empty results', () => {
|
|
16
|
+
const cliResults: FileScanResult[] = [];
|
|
17
|
+
|
|
18
|
+
const aggregated = convertToAggregatedResults(cliResults);
|
|
19
|
+
|
|
20
|
+
expect(aggregated.filesAnalyzed).toBe(0);
|
|
21
|
+
expect(aggregated.totalVulnerabilities).toBe(0);
|
|
22
|
+
expect(aggregated.criticalCount).toBe(0);
|
|
23
|
+
expect(aggregated.highCount).toBe(0);
|
|
24
|
+
expect(aggregated.mediumCount).toBe(0);
|
|
25
|
+
expect(aggregated.lowCount).toBe(0);
|
|
26
|
+
expect(aggregated.fileResults).toEqual([]);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('should convert single file result', () => {
|
|
30
|
+
const cliResults: FileScanResult[] = [
|
|
31
|
+
{
|
|
32
|
+
filePath: '/test/example.ts',
|
|
33
|
+
relativePath: 'example.ts',
|
|
34
|
+
language: 'typescript',
|
|
35
|
+
result: {
|
|
36
|
+
security: {
|
|
37
|
+
vulnerabilities: [
|
|
38
|
+
{
|
|
39
|
+
severity: 'critical',
|
|
40
|
+
message: 'SQL Injection',
|
|
41
|
+
line: 10,
|
|
42
|
+
suggestion: 'Use parameterized queries',
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
syntax: {
|
|
47
|
+
lineErrors: [],
|
|
48
|
+
},
|
|
49
|
+
} as any,
|
|
50
|
+
critical: 1,
|
|
51
|
+
high: 0,
|
|
52
|
+
medium: 0,
|
|
53
|
+
low: 0,
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
const aggregated = convertToAggregatedResults(cliResults);
|
|
58
|
+
|
|
59
|
+
expect(aggregated.filesAnalyzed).toBe(1);
|
|
60
|
+
expect(aggregated.totalVulnerabilities).toBe(1);
|
|
61
|
+
expect(aggregated.criticalCount).toBe(1);
|
|
62
|
+
expect(aggregated.highCount).toBe(0);
|
|
63
|
+
expect(aggregated.mediumCount).toBe(0);
|
|
64
|
+
expect(aggregated.lowCount).toBe(0);
|
|
65
|
+
expect(aggregated.fileResults).toHaveLength(1);
|
|
66
|
+
expect(aggregated.fileResults[0].filename).toBe('example.ts');
|
|
67
|
+
expect(aggregated.fileResults[0].language).toBe('typescript');
|
|
68
|
+
expect(aggregated.fileResults[0].vulnerabilities).toHaveLength(1);
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
it('should aggregate multiple files', () => {
|
|
72
|
+
const cliResults: FileScanResult[] = [
|
|
73
|
+
{
|
|
74
|
+
filePath: '/test/file1.js',
|
|
75
|
+
relativePath: 'file1.js',
|
|
76
|
+
language: 'javascript',
|
|
77
|
+
result: {
|
|
78
|
+
security: {
|
|
79
|
+
vulnerabilities: [
|
|
80
|
+
{ severity: 'critical', message: 'XSS', line: 5 },
|
|
81
|
+
{ severity: 'high', message: 'CSRF', line: 10 },
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
syntax: { lineErrors: [] },
|
|
85
|
+
} as any,
|
|
86
|
+
critical: 1,
|
|
87
|
+
high: 1,
|
|
88
|
+
medium: 0,
|
|
89
|
+
low: 0,
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
filePath: '/test/file2.py',
|
|
93
|
+
relativePath: 'file2.py',
|
|
94
|
+
language: 'python',
|
|
95
|
+
result: {
|
|
96
|
+
security: {
|
|
97
|
+
vulnerabilities: [
|
|
98
|
+
{ severity: 'medium', message: 'Weak crypto', line: 20 },
|
|
99
|
+
{ severity: 'low', message: 'Weak random', line: 25 },
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
syntax: { lineErrors: [] },
|
|
103
|
+
} as any,
|
|
104
|
+
critical: 0,
|
|
105
|
+
high: 0,
|
|
106
|
+
medium: 1,
|
|
107
|
+
low: 1,
|
|
108
|
+
},
|
|
109
|
+
];
|
|
110
|
+
|
|
111
|
+
const aggregated = convertToAggregatedResults(cliResults);
|
|
112
|
+
|
|
113
|
+
expect(aggregated.filesAnalyzed).toBe(2);
|
|
114
|
+
expect(aggregated.totalVulnerabilities).toBe(4);
|
|
115
|
+
expect(aggregated.criticalCount).toBe(1);
|
|
116
|
+
expect(aggregated.highCount).toBe(1);
|
|
117
|
+
expect(aggregated.mediumCount).toBe(1);
|
|
118
|
+
expect(aggregated.lowCount).toBe(1);
|
|
119
|
+
expect(aggregated.fileResults).toHaveLength(2);
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
it('should handle files with no vulnerabilities', () => {
|
|
123
|
+
const cliResults: FileScanResult[] = [
|
|
124
|
+
{
|
|
125
|
+
filePath: '/test/clean.ts',
|
|
126
|
+
relativePath: 'clean.ts',
|
|
127
|
+
language: 'typescript',
|
|
128
|
+
result: {
|
|
129
|
+
security: { vulnerabilities: [] },
|
|
130
|
+
syntax: { lineErrors: [] },
|
|
131
|
+
} as any,
|
|
132
|
+
critical: 0,
|
|
133
|
+
high: 0,
|
|
134
|
+
medium: 0,
|
|
135
|
+
low: 0,
|
|
136
|
+
},
|
|
137
|
+
];
|
|
138
|
+
|
|
139
|
+
const aggregated = convertToAggregatedResults(cliResults);
|
|
140
|
+
|
|
141
|
+
expect(aggregated.filesAnalyzed).toBe(1);
|
|
142
|
+
expect(aggregated.totalVulnerabilities).toBe(0);
|
|
143
|
+
expect(aggregated.fileResults[0].vulnerabilities).toEqual([]);
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
it('should handle syntax errors', () => {
|
|
147
|
+
const cliResults: FileScanResult[] = [
|
|
148
|
+
{
|
|
149
|
+
filePath: '/test/broken.ts',
|
|
150
|
+
relativePath: 'broken.ts',
|
|
151
|
+
language: 'typescript',
|
|
152
|
+
result: {
|
|
153
|
+
security: { vulnerabilities: [] },
|
|
154
|
+
syntax: {
|
|
155
|
+
lineErrors: [
|
|
156
|
+
{ severity: 'error', message: 'Syntax error', line: 5 },
|
|
157
|
+
{ severity: 'warning', message: 'Unused variable', line: 10 },
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
} as any,
|
|
161
|
+
critical: 0,
|
|
162
|
+
high: 0,
|
|
163
|
+
medium: 0,
|
|
164
|
+
low: 0,
|
|
165
|
+
},
|
|
166
|
+
];
|
|
167
|
+
|
|
168
|
+
const aggregated = convertToAggregatedResults(cliResults);
|
|
169
|
+
|
|
170
|
+
expect(aggregated.syntaxErrors).toBe(2);
|
|
171
|
+
expect(aggregated.syntaxErrorCount).toBe(1);
|
|
172
|
+
expect(aggregated.syntaxWarningCount).toBe(1);
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
});
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
*/
|
|
18
18
|
/**
|
|
19
19
|
* Command arguments type
|
|
20
|
+
*
|
|
21
|
+
* Winter Roadmap WR2: Added threshold configuration flags
|
|
20
22
|
*/
|
|
21
23
|
interface ScanArgs {
|
|
22
24
|
files?: string[];
|
|
@@ -27,6 +29,15 @@ interface ScanArgs {
|
|
|
27
29
|
severity?: 'critical' | 'high' | 'medium' | 'low';
|
|
28
30
|
fix?: boolean;
|
|
29
31
|
json?: boolean;
|
|
32
|
+
thresholdEnabled?: boolean;
|
|
33
|
+
thresholdBlockCritical?: boolean;
|
|
34
|
+
thresholdBlockHigh?: boolean;
|
|
35
|
+
thresholdMaxVulnerabilities?: number;
|
|
36
|
+
thresholdMaxEpss?: number;
|
|
37
|
+
thresholdExemptPaths?: string[];
|
|
38
|
+
thresholdFailureMessage?: string;
|
|
39
|
+
verify?: boolean;
|
|
40
|
+
testCommand?: string;
|
|
30
41
|
}
|
|
31
42
|
/**
|
|
32
43
|
* Scan Command Handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../../../src/commands/scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../../../src/commands/scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkCH;;;;GAIG;AACH,UAAU,QAAQ;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAClD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IAGf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAGjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAwCD;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkR/D"}
|
|
@@ -62,8 +62,11 @@ const ora_1 = __importDefault(require("ora"));
|
|
|
62
62
|
const chalk_1 = __importDefault(require("chalk"));
|
|
63
63
|
const local_scanner_1 = require("../scanner/local-scanner");
|
|
64
64
|
const cli_reporter_1 = require("../reporters/cli-reporter");
|
|
65
|
+
const test_runner_1 = require("../utils/test-runner");
|
|
65
66
|
const config_loader_1 = require("../config/config-loader");
|
|
66
67
|
const telemetry_1 = require("../utils/telemetry");
|
|
68
|
+
const threshold_handler_1 = require("../utils/threshold-handler");
|
|
69
|
+
const threshold_evaluator_1 = require("../../../../src/lib/security/threshold-evaluator");
|
|
67
70
|
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
68
71
|
/**
|
|
69
72
|
* Get list of staged files from git
|
|
@@ -252,9 +255,6 @@ async function scanCommand(args) {
|
|
|
252
255
|
console.log('');
|
|
253
256
|
}
|
|
254
257
|
}
|
|
255
|
-
// Check if results exceed threshold
|
|
256
|
-
const threshold = scannerConfig.severityThreshold || 'critical';
|
|
257
|
-
const shouldBlock = (0, local_scanner_1.exceedsThreshold)(results, threshold);
|
|
258
258
|
// Calculate totals for telemetry and display
|
|
259
259
|
const totalCritical = results.reduce((sum, r) => sum + r.critical, 0);
|
|
260
260
|
const totalHigh = results.reduce((sum, r) => sum + r.high, 0);
|
|
@@ -274,15 +274,84 @@ async function scanCommand(args) {
|
|
|
274
274
|
},
|
|
275
275
|
scanDuration: duration,
|
|
276
276
|
}).catch(() => { }); // Ignore telemetry errors
|
|
277
|
-
|
|
277
|
+
// WR2: Build threshold configuration from CLI args or use defaults
|
|
278
|
+
const thresholdConfig = {
|
|
279
|
+
enabled: args.thresholdEnabled ?? config.thresholdEnabled ?? threshold_evaluator_1.DEFAULT_THRESHOLD_CONFIG.enabled,
|
|
280
|
+
blockOnCritical: args.thresholdBlockCritical ?? config.thresholdBlockCritical ?? threshold_evaluator_1.DEFAULT_THRESHOLD_CONFIG.blockOnCritical,
|
|
281
|
+
blockOnHigh: args.thresholdBlockHigh ?? config.thresholdBlockHigh ?? threshold_evaluator_1.DEFAULT_THRESHOLD_CONFIG.blockOnHigh,
|
|
282
|
+
maxVulnerabilities: args.thresholdMaxVulnerabilities ?? config.thresholdMaxVulnerabilities ?? threshold_evaluator_1.DEFAULT_THRESHOLD_CONFIG.maxVulnerabilities,
|
|
283
|
+
maxEpss: args.thresholdMaxEpss ?? config.thresholdMaxEpss ?? threshold_evaluator_1.DEFAULT_THRESHOLD_CONFIG.maxEpss,
|
|
284
|
+
exemptPaths: args.thresholdExemptPaths ?? config.thresholdExemptPaths ?? threshold_evaluator_1.DEFAULT_THRESHOLD_CONFIG.exemptPaths,
|
|
285
|
+
failureMessage: args.thresholdFailureMessage ?? config.thresholdFailureMessage,
|
|
286
|
+
};
|
|
287
|
+
// WR2: Evaluate thresholds using comprehensive threshold system
|
|
288
|
+
const thresholdResult = (0, threshold_handler_1.evaluateCLIThresholds)(results, thresholdConfig);
|
|
289
|
+
// Print threshold evaluation result (if thresholds enabled and not JSON mode)
|
|
290
|
+
if (thresholdConfig.enabled && !args.json) {
|
|
291
|
+
(0, threshold_handler_1.printThresholdResult)(thresholdResult);
|
|
292
|
+
}
|
|
293
|
+
// Check if scan failed based on threshold evaluation
|
|
294
|
+
const shouldBlock = !thresholdResult.passed;
|
|
295
|
+
// WR2: Test execution integration (--verify flag)
|
|
296
|
+
let testsPassed = true;
|
|
297
|
+
if (args.verify && !args.json) {
|
|
298
|
+
try {
|
|
299
|
+
// Get test command from args, config, or auto-detect
|
|
300
|
+
const testCommand = args.testCommand || config.testCommand || (0, test_runner_1.detectTestCommand)();
|
|
301
|
+
if (!testCommand) {
|
|
302
|
+
console.log('');
|
|
303
|
+
console.log(chalk_1.default.yellow(' ⚠ No test command found'));
|
|
304
|
+
console.log(chalk_1.default.gray(' Specify a test command using --test-command or add "testCommand" to .codeslick.json'));
|
|
305
|
+
console.log('');
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
(0, cli_reporter_1.printTestStart)(testCommand);
|
|
309
|
+
const testResult = await (0, test_runner_1.runTests)(testCommand, {
|
|
310
|
+
cwd: process.cwd(),
|
|
311
|
+
timeout: config.testTimeout || 300000, // 5 minutes default
|
|
312
|
+
verbose: args.verbose,
|
|
313
|
+
});
|
|
314
|
+
(0, cli_reporter_1.printTestResult)(testResult);
|
|
315
|
+
testsPassed = testResult.success;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
catch (error) {
|
|
319
|
+
console.log('');
|
|
320
|
+
console.log(chalk_1.default.red.bold(' ✖ Test execution failed'));
|
|
321
|
+
console.log(chalk_1.default.red(` ${error instanceof Error ? error.message : 'Unknown error'}`));
|
|
322
|
+
console.log('');
|
|
323
|
+
testsPassed = false;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
// Determine final exit code
|
|
327
|
+
// Both security scan and tests must pass
|
|
328
|
+
const finalSuccess = !shouldBlock && testsPassed;
|
|
329
|
+
if (!finalSuccess) {
|
|
278
330
|
if (!args.json) {
|
|
279
|
-
|
|
331
|
+
// Print failure summary
|
|
332
|
+
if (shouldBlock && !testsPassed) {
|
|
333
|
+
console.log(chalk_1.default.red.bold('\n Both security scan and tests failed\n'));
|
|
334
|
+
}
|
|
335
|
+
else if (shouldBlock) {
|
|
336
|
+
// Threshold failure message already printed by printThresholdResult
|
|
337
|
+
// Just show commit blocked banner if using legacy severity threshold
|
|
338
|
+
if (!thresholdConfig.enabled) {
|
|
339
|
+
const threshold = scannerConfig.severityThreshold || 'critical';
|
|
340
|
+
(0, cli_reporter_1.printCommitBlocked)(threshold, totalCritical, totalHigh, totalMedium, totalLow);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
else if (!testsPassed) {
|
|
344
|
+
console.log(chalk_1.default.red.bold('\n Tests failed - commit blocked\n'));
|
|
345
|
+
}
|
|
280
346
|
}
|
|
281
347
|
process.exit(1); // Exit with failure
|
|
282
348
|
}
|
|
283
349
|
else {
|
|
284
350
|
if (!args.json) {
|
|
285
351
|
(0, cli_reporter_1.printCommitAllowed)();
|
|
352
|
+
if (args.verify && testsPassed) {
|
|
353
|
+
console.log(chalk_1.default.green(' ✓ Tests passed'));
|
|
354
|
+
}
|
|
286
355
|
}
|
|
287
356
|
process.exit(0); // Exit with success
|
|
288
357
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../../src/commands/scan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../../src/commands/scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
*/
|
|
20
20
|
/**
|
|
21
21
|
* CodeSlick configuration interface
|
|
22
|
+
*
|
|
23
|
+
* Winter Roadmap WR2: Added threshold configuration fields
|
|
22
24
|
*/
|
|
23
25
|
export interface CodeSlickConfig {
|
|
24
26
|
version: string;
|
|
@@ -27,6 +29,15 @@ export interface CodeSlickConfig {
|
|
|
27
29
|
exclude: string[];
|
|
28
30
|
languages: ('javascript' | 'typescript' | 'python' | 'java' | 'go')[];
|
|
29
31
|
telemetry?: boolean;
|
|
32
|
+
thresholdEnabled?: boolean;
|
|
33
|
+
thresholdBlockCritical?: boolean;
|
|
34
|
+
thresholdBlockHigh?: boolean;
|
|
35
|
+
thresholdMaxVulnerabilities?: number;
|
|
36
|
+
thresholdMaxEpss?: number;
|
|
37
|
+
thresholdExemptPaths?: string[];
|
|
38
|
+
thresholdFailureMessage?: string;
|
|
39
|
+
testCommand?: string;
|
|
40
|
+
testTimeout?: number;
|
|
30
41
|
}
|
|
31
42
|
/**
|
|
32
43
|
* Default configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../../../src/config/config-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../../../src/config/config-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,CAAC,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAGjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,eAe5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAEjE;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAoBtF;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,eAAe,EACvB,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,eAAe,EAC1B,KAAK,EAAE,OAAO,EACd,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAsDf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../../../src/config/config-loader.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;
|
|
1
|
+
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../../../src/config/config-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,4 +92,22 @@ export declare function generateMarkdownReport(results: FileScanResult[], skippe
|
|
|
92
92
|
* Print brief summary for screen (when report is generated)
|
|
93
93
|
*/
|
|
94
94
|
export declare function printBriefSummary(results: FileScanResult[], reportPath: string, duration: number): void;
|
|
95
|
+
/**
|
|
96
|
+
* Print test execution start
|
|
97
|
+
* Winter Roadmap WR2: Test Execution Integration
|
|
98
|
+
*/
|
|
99
|
+
export declare function printTestStart(command: string): void;
|
|
100
|
+
/**
|
|
101
|
+
* Print test execution results
|
|
102
|
+
* Winter Roadmap WR2: Test Execution Integration
|
|
103
|
+
*/
|
|
104
|
+
export declare function printTestResult(result: {
|
|
105
|
+
success: boolean;
|
|
106
|
+
exitCode: number;
|
|
107
|
+
duration: number;
|
|
108
|
+
stdout: string;
|
|
109
|
+
stderr: string;
|
|
110
|
+
command: string;
|
|
111
|
+
timedOut: boolean;
|
|
112
|
+
}): void;
|
|
95
113
|
//# sourceMappingURL=cli-reporter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-reporter.d.ts","sourceRoot":"","sources":["../../../../../src/reporters/cli-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAa3E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAqCjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,UAAQ,GAAG,IAAI,CAgDtF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,OAAO,UAAQ,GAAG,IAAI,CA8BrF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAItD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGxD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIhD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,IAAI,CAwBN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAwDpE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAkClE;AA4BD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAwDlE;AAUD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAyBhE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,cAAc,EAAE,EACzB,YAAY,EAAE,MAAM,EAAE,EACtB,QAAQ,EAAE,MAAM,GACf,MAAM,CA+KR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,IAAI,CAgCN"}
|
|
1
|
+
{"version":3,"file":"cli-reporter.d.ts","sourceRoot":"","sources":["../../../../../src/reporters/cli-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAa3E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAqCjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,UAAQ,GAAG,IAAI,CAgDtF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,OAAO,UAAQ,GAAG,IAAI,CA8BrF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAItD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGxD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIhD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,IAAI,CAwBN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAwDpE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAkClE;AA4BD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAwDlE;AAUD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAyBhE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,cAAc,EAAE,EACzB,YAAY,EAAE,MAAM,EAAE,EACtB,QAAQ,EAAE,MAAM,GACf,MAAM,CA+KR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,IAAI,CAgCN;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAMpD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,IAAI,CAuDP"}
|
|
@@ -36,6 +36,8 @@ exports.printTop10Critical = printTop10Critical;
|
|
|
36
36
|
exports.printJSONResults = printJSONResults;
|
|
37
37
|
exports.generateMarkdownReport = generateMarkdownReport;
|
|
38
38
|
exports.printBriefSummary = printBriefSummary;
|
|
39
|
+
exports.printTestStart = printTestStart;
|
|
40
|
+
exports.printTestResult = printTestResult;
|
|
39
41
|
const chalk_1 = __importDefault(require("chalk"));
|
|
40
42
|
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
41
43
|
const fs_1 = require("fs");
|
|
@@ -636,4 +638,117 @@ function printBriefSummary(results, reportPath, duration) {
|
|
|
636
638
|
console.log(chalk_1.default.gray(` Open: code ${reportPath}`));
|
|
637
639
|
console.log('');
|
|
638
640
|
}
|
|
641
|
+
/**
|
|
642
|
+
* Print test execution start
|
|
643
|
+
* Winter Roadmap WR2: Test Execution Integration
|
|
644
|
+
*/
|
|
645
|
+
function printTestStart(command) {
|
|
646
|
+
console.log('');
|
|
647
|
+
console.log(chalk_1.default.bold('Running Tests'));
|
|
648
|
+
console.log(chalk_1.default.gray('─'.repeat(50)));
|
|
649
|
+
console.log(chalk_1.default.gray(` Command: ${command}`));
|
|
650
|
+
console.log('');
|
|
651
|
+
}
|
|
652
|
+
/**
|
|
653
|
+
* Print test execution results
|
|
654
|
+
* Winter Roadmap WR2: Test Execution Integration
|
|
655
|
+
*/
|
|
656
|
+
function printTestResult(result) {
|
|
657
|
+
console.log('');
|
|
658
|
+
console.log(chalk_1.default.bold('Test Results') + chalk_1.default.gray(` (${(result.duration / 1000).toFixed(1)}s)`));
|
|
659
|
+
console.log(chalk_1.default.gray('─'.repeat(50)));
|
|
660
|
+
if (result.timedOut) {
|
|
661
|
+
console.log('');
|
|
662
|
+
console.log(chalk_1.default.red.bold(' ✖ TIMEOUT'));
|
|
663
|
+
console.log(chalk_1.default.red(` Tests exceeded timeout and were terminated`));
|
|
664
|
+
console.log('');
|
|
665
|
+
return;
|
|
666
|
+
}
|
|
667
|
+
if (result.success) {
|
|
668
|
+
console.log('');
|
|
669
|
+
console.log(chalk_1.default.green.bold(' ✓ PASSED'));
|
|
670
|
+
console.log(chalk_1.default.green(` All tests passed successfully`));
|
|
671
|
+
console.log('');
|
|
672
|
+
// Try to extract test count from output
|
|
673
|
+
const testInfo = extractTestInfo(result.stdout + result.stderr);
|
|
674
|
+
if (testInfo) {
|
|
675
|
+
console.log(chalk_1.default.gray(` Tests run: ${testInfo.total}`));
|
|
676
|
+
console.log(chalk_1.default.gray(` Passed: ${testInfo.passed}`));
|
|
677
|
+
if (testInfo.failed > 0) {
|
|
678
|
+
console.log(chalk_1.default.gray(` Failed: ${testInfo.failed}`));
|
|
679
|
+
}
|
|
680
|
+
console.log('');
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
else {
|
|
684
|
+
console.log('');
|
|
685
|
+
console.log(chalk_1.default.red.bold(' ✖ FAILED'));
|
|
686
|
+
console.log(chalk_1.default.red(` Tests failed with exit code ${result.exitCode}`));
|
|
687
|
+
console.log('');
|
|
688
|
+
// Try to extract test count from output
|
|
689
|
+
const testInfo = extractTestInfo(result.stdout + result.stderr);
|
|
690
|
+
if (testInfo) {
|
|
691
|
+
console.log(chalk_1.default.gray(` Tests run: ${testInfo.total}`));
|
|
692
|
+
console.log(chalk_1.default.green(` Passed: ${testInfo.passed}`));
|
|
693
|
+
console.log(chalk_1.default.red(` Failed: ${testInfo.failed}`));
|
|
694
|
+
console.log('');
|
|
695
|
+
}
|
|
696
|
+
// Show stderr if available (first 500 chars)
|
|
697
|
+
if (result.stderr && result.stderr.length > 0) {
|
|
698
|
+
const errorPreview = result.stderr.substring(0, 500);
|
|
699
|
+
console.log(chalk_1.default.gray(' Error output (first 500 chars):'));
|
|
700
|
+
console.log(chalk_1.default.gray(' ' + errorPreview.replace(/\n/g, '\n ')));
|
|
701
|
+
if (result.stderr.length > 500) {
|
|
702
|
+
console.log(chalk_1.default.gray(' ...'));
|
|
703
|
+
}
|
|
704
|
+
console.log('');
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* Extract test count information from test output
|
|
710
|
+
*/
|
|
711
|
+
function extractTestInfo(output) {
|
|
712
|
+
// Jest/Vitest format: "Tests: 5 passed, 5 total"
|
|
713
|
+
const jestMatch = output.match(/Tests:\s+(\d+)\s+passed(?:,\s+(\d+)\s+failed)?.*?(\d+)\s+total/i);
|
|
714
|
+
if (jestMatch) {
|
|
715
|
+
return {
|
|
716
|
+
passed: parseInt(jestMatch[1]),
|
|
717
|
+
failed: parseInt(jestMatch[2] || '0'),
|
|
718
|
+
total: parseInt(jestMatch[3]),
|
|
719
|
+
};
|
|
720
|
+
}
|
|
721
|
+
// Pytest format: "10 passed in 2.5s" or "5 passed, 2 failed in 1.2s"
|
|
722
|
+
const pytestMatch = output.match(/(\d+)\s+passed(?:,\s+(\d+)\s+failed)?/i);
|
|
723
|
+
if (pytestMatch) {
|
|
724
|
+
const passed = parseInt(pytestMatch[1]);
|
|
725
|
+
const failed = parseInt(pytestMatch[2] || '0');
|
|
726
|
+
return {
|
|
727
|
+
passed,
|
|
728
|
+
failed,
|
|
729
|
+
total: passed + failed,
|
|
730
|
+
};
|
|
731
|
+
}
|
|
732
|
+
// Go test format: "ok" or "FAIL"
|
|
733
|
+
const goMatch = output.match(/ok.*?(\d+)\s+tests?/i);
|
|
734
|
+
if (goMatch) {
|
|
735
|
+
return {
|
|
736
|
+
passed: parseInt(goMatch[1]),
|
|
737
|
+
failed: 0,
|
|
738
|
+
total: parseInt(goMatch[1]),
|
|
739
|
+
};
|
|
740
|
+
}
|
|
741
|
+
// Maven format: "Tests run: 10, Failures: 2, Errors: 0"
|
|
742
|
+
const mavenMatch = output.match(/Tests run:\s+(\d+),\s+Failures:\s+(\d+)/i);
|
|
743
|
+
if (mavenMatch) {
|
|
744
|
+
const total = parseInt(mavenMatch[1]);
|
|
745
|
+
const failed = parseInt(mavenMatch[2]);
|
|
746
|
+
return {
|
|
747
|
+
passed: total - failed,
|
|
748
|
+
failed,
|
|
749
|
+
total,
|
|
750
|
+
};
|
|
751
|
+
}
|
|
752
|
+
return null;
|
|
753
|
+
}
|
|
639
754
|
//# sourceMappingURL=cli-reporter.js.map
|