Skip to content

Commit d5e387f

Browse files
committed
Copy original comment when type change
1 parent c721c2d commit d5e387f

3 files changed

Lines changed: 11 additions & 11 deletions

File tree

tools/proto-convert/src/postprocessing/CompatibilityMerger.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ function mergeField(
100100
return { ...upcomingField, name: sourceField.name, number: sourceField.number };
101101
} else {
102102
const newName = `${baseName}_${getFieldVersion(sourceField.name) + 1}`;
103-
upcomingMap.set(newName, { ...upcomingField, name: newName });
103+
upcomingMap.set(newName, { ...upcomingField, name: newName, comment: sourceField.comment });
104104

105105
reporter?.addFieldChange({
106106
messageName: msgName,
@@ -116,7 +116,7 @@ function mergeField(
116116
} else {
117117
reporter?.addFieldChange({
118118
messageName: msgName,
119-
changeType: 'REMOVED',
119+
changeType: 'DEPRECATED',
120120
fieldName: sourceField.name,
121121
existingType: formatField({ ...sourceField, number: sourceField.number, deprecated: true })
122122
});

tools/proto-convert/src/postprocessing/CompatibilityReporter.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { tmpdir } from 'os';
77
* Tracks: added, removed, type_changed, optional_change, oneof_change.
88
*/
99

10-
export type ChangeType = 'ADDED' | 'REMOVED' | 'TYPE CHANGED' | 'OPTIONAL CHANGE' | 'ONEOF CHANGE';
10+
export type ChangeType = 'ADDED' | 'DEPRECATED' | 'TYPE CHANGED' | 'OPTIONAL CHANGE' | 'ONEOF CHANGE';
1111

1212
/** Format a field for report display */
1313
export function formatField(f: { name: string; type: string; modifier?: string; number?: number; deprecated?: boolean }): string {
@@ -153,7 +153,7 @@ export class CompatibilityReporter {
153153
switch (c.changeType) {
154154
case 'ADDED':
155155
return `\`${c.incomingType}\``;
156-
case 'REMOVED':
156+
case 'DEPRECATED':
157157
return `\`${c.existingType}\``;
158158
case 'OPTIONAL CHANGE':
159159
return `\`${c.existingType}\` → \`${c.incomingType}\``;
@@ -164,12 +164,12 @@ export class CompatibilityReporter {
164164
}
165165
}
166166

167-
private formatChangeType(changeType: ChangeType | 'ADDED' | 'REMOVED'): string {
167+
private formatChangeType(changeType: ChangeType | 'ADDED' | 'DEPRECATED'): string {
168168
switch (changeType) {
169169
case 'ADDED':
170170
return '➕ **ADDED**';
171-
case 'REMOVED':
172-
return '🗑️ **REMOVED**';
171+
case 'DEPRECATED':
172+
return '🗑️ **DEPRECATED**';
173173
case 'OPTIONAL CHANGE':
174174
return '🚨 **BREAKING**';
175175
case 'ONEOF CHANGE':

tools/proto-convert/test/postprocessing/CompatibilityReporter.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,13 @@ describe('CompatibilityReporter', () => {
6868
it('should format removed field change', () => {
6969
reporter.addFieldChange({
7070
messageName: 'TestMessage',
71-
changeType: 'REMOVED',
71+
changeType: 'DEPRECATED',
7272
fieldName: 'oldField',
7373
existingType: 'int32 oldField'
7474
});
7575

7676
const md = reporter.toMarkdown();
77-
expect(md).toContain('🗑️ **REMOVED**');
77+
expect(md).toContain('🗑️ **DEPRECATED**');
7878
expect(md).toContain('`int32 oldField`');
7979
});
8080

@@ -180,15 +180,15 @@ describe('CompatibilityReporter', () => {
180180
});
181181
reporter.addFieldChange({
182182
messageName: 'MessageA',
183-
changeType: 'REMOVED',
183+
changeType: 'DEPRECATED',
184184
fieldName: 'field3',
185185
existingType: 'bool field3'
186186
});
187187

188188
const md = reporter.toMarkdown();
189189
expect(md).toContain('| MessageA | ➕ **ADDED** |');
190190
expect(md).toContain('| MessageB | ➕ **ADDED** |');
191-
expect(md).toContain('| MessageA | 🗑️ **REMOVED** |');
191+
expect(md).toContain('| MessageA | 🗑️ **DEPRECATED** |');
192192
});
193193
});
194194

0 commit comments

Comments
 (0)