renma 0.15.1 → 0.15.2
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 +15 -1
- package/README.md +4 -4
- package/dist/cli-help.d.ts +1 -1
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +2 -1
- package/dist/cli-help.js.map +1 -1
- package/dist/commands/bom.d.ts +7 -0
- package/dist/commands/bom.d.ts.map +1 -1
- package/dist/commands/bom.js +24 -13
- package/dist/commands/bom.js.map +1 -1
- package/dist/commands/graph.d.ts +2 -1
- package/dist/commands/graph.d.ts.map +1 -1
- package/dist/commands/graph.js +3 -0
- package/dist/commands/graph.js.map +1 -1
- package/dist/repository-evidence.d.ts +11 -1
- package/dist/repository-evidence.d.ts.map +1 -1
- package/dist/repository-evidence.js +22 -2
- package/dist/repository-evidence.js.map +1 -1
- package/dist/repository-paths.d.ts +6 -0
- package/dist/repository-paths.d.ts.map +1 -0
- package/dist/repository-paths.js +62 -0
- package/dist/repository-paths.js.map +1 -0
- package/dist/rules.d.ts +6 -1
- package/dist/rules.d.ts.map +1 -1
- package/dist/rules.js +78 -75
- package/dist/rules.js.map +1 -1
- package/dist/scanner.d.ts +7 -1
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +26 -28
- package/dist/scanner.js.map +1 -1
- package/package.json +1 -1
package/dist/scanner.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { buildCatalog } from "./catalog.js";
|
|
3
|
-
import { loadConfig } from "./config.js";
|
|
4
|
-
import { summarizeContextLensGovernance } from "./context-lens.js";
|
|
5
1
|
import { DIAGNOSTIC_IDS } from "./diagnostic-ids.js";
|
|
6
2
|
import { createDiagnosticsV2, createReviewBundles } from "./diagnostics-v2.js";
|
|
7
|
-
import {
|
|
8
|
-
import { parseDocument } from "./markdown.js";
|
|
3
|
+
import { collectRepositorySnapshot, } from "./repository-evidence.js";
|
|
9
4
|
import { detectRepeatedContextPatterns } from "./repeated-context.js";
|
|
10
5
|
import { runRules } from "./rules.js";
|
|
11
6
|
import { securityDiagnosticFindings } from "./security-diagnostics.js";
|
|
@@ -14,29 +9,32 @@ import { applySuppressions } from "./suppressions.js";
|
|
|
14
9
|
import { buildTrustGraph } from "./trust-graph.js";
|
|
15
10
|
/** Run the complete deterministic scan pipeline for a target path. */
|
|
16
11
|
export async function scan(targetPath, overrides = {}) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const securityPolicyInventory = summarizeSecurityPolicyInventory(artifacts, config.security);
|
|
21
|
-
const securityPolicies = collectSecurityPolicyAssetEvidence(artifacts, config.security);
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
return scanFromRepositorySnapshot(await collectRepositorySnapshot(targetPath, overrides));
|
|
13
|
+
}
|
|
14
|
+
export function scanFromRepositorySnapshot(snapshot, options = {}) {
|
|
15
|
+
const securityPolicyInventory = summarizeSecurityPolicyInventory(snapshot.artifacts, snapshot.config.security);
|
|
16
|
+
const securityPolicies = collectSecurityPolicyAssetEvidence(snapshot.artifacts, snapshot.config.security);
|
|
17
|
+
const ruleOptions = options.evaluationDate === undefined
|
|
18
|
+
? { repositoryPaths: snapshot.repositoryPaths }
|
|
19
|
+
: {
|
|
20
|
+
evaluationDate: options.evaluationDate,
|
|
21
|
+
repositoryPaths: snapshot.repositoryPaths,
|
|
22
|
+
};
|
|
25
23
|
const rawFindings = [
|
|
26
|
-
...runRules(documents, config,
|
|
27
|
-
...detectRepeatedContextPatterns(documents),
|
|
28
|
-
...catalogDiagnosticFindings(
|
|
29
|
-
...securityDiagnosticFindings(artifacts, config),
|
|
24
|
+
...runRules(snapshot.documents, snapshot.config, snapshot.catalog, ruleOptions),
|
|
25
|
+
...detectRepeatedContextPatterns(snapshot.documents),
|
|
26
|
+
...catalogDiagnosticFindings(snapshot.catalogDiagnostics),
|
|
27
|
+
...securityDiagnosticFindings(snapshot.artifacts, snapshot.config),
|
|
30
28
|
].sort((a, b) => {
|
|
31
29
|
const byPath = a.evidence.path.localeCompare(b.evidence.path);
|
|
32
30
|
if (byPath !== 0)
|
|
33
31
|
return byPath;
|
|
34
32
|
return a.evidence.startLine - b.evidence.startLine;
|
|
35
33
|
});
|
|
36
|
-
const suppressed = applySuppressions(rawFindings, config.suppressions);
|
|
34
|
+
const suppressed = applySuppressions(rawFindings, snapshot.config.suppressions);
|
|
37
35
|
const scanDiagnostics = [
|
|
38
|
-
...
|
|
39
|
-
...
|
|
36
|
+
...snapshot.discoveryDiagnostics,
|
|
37
|
+
...snapshot.contextLensDiagnostics,
|
|
40
38
|
...suppressed.diagnostics,
|
|
41
39
|
];
|
|
42
40
|
const diagnosticsV2 = createDiagnosticsV2({
|
|
@@ -44,24 +42,24 @@ export async function scan(targetPath, overrides = {}) {
|
|
|
44
42
|
diagnostics: scanDiagnostics,
|
|
45
43
|
});
|
|
46
44
|
const trustGraph = buildTrustGraph({
|
|
47
|
-
catalog:
|
|
45
|
+
catalog: snapshot.catalog,
|
|
48
46
|
findings: suppressed.findings,
|
|
49
47
|
diagnostics: scanDiagnostics,
|
|
50
48
|
securityPolicies,
|
|
51
49
|
});
|
|
52
50
|
return {
|
|
53
|
-
root,
|
|
54
|
-
...(configPath ? { configPath } : {}),
|
|
55
|
-
scannedFileCount:
|
|
56
|
-
format: config.format,
|
|
57
|
-
contextLens: contextLens
|
|
51
|
+
root: snapshot.root,
|
|
52
|
+
...(snapshot.configPath ? { configPath: snapshot.configPath } : {}),
|
|
53
|
+
scannedFileCount: snapshot.scannedFileCount,
|
|
54
|
+
format: snapshot.config.format,
|
|
55
|
+
contextLens: snapshot.contextLens,
|
|
58
56
|
securityPolicyInventory,
|
|
59
57
|
trustGraph,
|
|
60
58
|
findings: suppressed.findings,
|
|
61
59
|
diagnostics: scanDiagnostics,
|
|
62
60
|
diagnosticsV2,
|
|
63
61
|
reviewBundles: createReviewBundles(diagnosticsV2),
|
|
64
|
-
exitThreshold: config.failOn,
|
|
62
|
+
exitThreshold: snapshot.config.failOn,
|
|
65
63
|
};
|
|
66
64
|
}
|
|
67
65
|
function catalogDiagnosticFindings(diagnostics) {
|
package/dist/scanner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
|