Skip to content

Commit 8c6e6cd

Browse files
committed
fix(cli): update diff JSON output format to use contracts object
Changed JSON output from { results: [...] } to { contracts: { name: {...} } } to match expected format in e2e tests and provide better ergonomics for scripting (e.g., parsed.contracts.order.changes).
1 parent 2d44ffb commit 8c6e6cd

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

packages/cli/src/formatters/diff.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,24 @@ function formatSeverityLabel(severity: ChangeSeverity): string {
9696

9797
/**
9898
* Format diff results as JSON
99+
*
100+
* Output format:
101+
* {
102+
* "contracts": {
103+
* "order": { "changes": [...], "summary": {...}, "suggestedBump": "minor" },
104+
* "petstore": { "changes": [...], "summary": {...}, "suggestedBump": "none" }
105+
* }
106+
* }
99107
*/
100108
export function formatDiffJson(results: DiffResult[]): string {
101-
return JSON.stringify({ results }, null, 2);
109+
const contracts: Record<string, Omit<DiffResult, 'contract'>> = {};
110+
111+
for (const result of results) {
112+
const { contract, ...rest } = result;
113+
contracts[contract] = rest;
114+
}
115+
116+
return JSON.stringify({ contracts }, null, 2);
102117
}
103118

104119
/**

0 commit comments

Comments
 (0)