Skip to content

Commit 5953c9f

Browse files
committed
fix: cleanup layout
1 parent 0cb38e1 commit 5953c9f

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

examples/context-editor/.context.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module-name: Context Editor
33
related-modules:
44
- ../../linters/typescript: TypeScript linter for validating context files
55
version: 1.0.0
6-
description: A sample editor to make it easy for users to create and edit Codebase Context Specification files
6+
diagrams: []
77
technologies:
88
- React
99
- TypeScript

linters/typescript/src/context_linter.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,21 +97,23 @@ export class ContextLinter {
9797
console.log(`main context: ${result.coveragePercentage.toFixed(2)}% (${result.coveredFields}/${result.totalFields} top level fields)`);
9898

9999
if (result.missingFields.length > 0) {
100-
console.warn(`⚠️ missing: ${result.missingFields.join(', ')}`);
100+
console.warn(`└-⚠️ Missing fields: ${result.missingFields.join(', ')}`);
101101
}
102102

103103
for (const [sectionName, sectionResult] of Object.entries(result.sections)) {
104104
console.log(`|- ${sectionName}: ${sectionResult.coveragePercentage.toFixed(2)}% (${sectionResult.coveredFields}/${sectionResult.totalFields} fields)`);
105105

106106
if (sectionResult.missingFields.length > 0) {
107-
console.warn(`⚠️ missing: ${sectionResult.missingFields.join(', ')}`);
107+
console.warn(` └-⚠️ Missing fields: ${sectionResult.missingFields.join(', ')}`);
108+
}
109+
110+
if (sectionResult.unexpectedFields && sectionResult.unexpectedFields.length > 0) {
111+
console.warn(` └-⚠️ Unexpected fields: ${sectionResult.unexpectedFields.join(', ')}`);
108112
}
109113
}
110114

111-
if (result.isValid) {
112-
console.log(`✅ ${fileName} passed validation`);
113-
} else {
114-
console.warn(`❌ ${fileName} failed validation`);
115+
if (!result.isValid) {
116+
console.warn(`⚠️ ${fileName} has coverage warnings`);
115117
}
116118
}
117119

linters/typescript/src/utils/validator.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export interface SectionValidationResult {
77
coveredFields: number;
88
totalFields: number;
99
missingFields: string[];
10+
unexpectedFields: string[];
1011
}
1112

1213
export interface ValidationResult {
@@ -83,6 +84,7 @@ export class ContextValidator {
8384
private validateSectionFields(sectionName: string, data: Record<string, unknown>, isJson: boolean): SectionValidationResult {
8485
const checks = sectionChecks[sectionName];
8586
const coveredFields = new Set<string>();
87+
const unexpectedFields: string[] = [];
8688
let isValid = true;
8789

8890
if (checks) {
@@ -93,7 +95,7 @@ export class ContextValidator {
9395
coveredFields.add(normalizedField);
9496
isValid = this.validateField(normalizedField, value, isJson) && isValid;
9597
} else {
96-
console.warn(` Warning: Unexpected field '${normalizedField}' in '${sectionName}' section.`);
98+
unexpectedFields.push(normalizedField);
9799
isValid = false;
98100
}
99101
}
@@ -105,7 +107,8 @@ export class ContextValidator {
105107
coveragePercentage,
106108
coveredFields: coveredFields.size,
107109
totalFields: checks.size,
108-
missingFields
110+
missingFields,
111+
unexpectedFields
109112
};
110113
}
111114

@@ -114,7 +117,8 @@ export class ContextValidator {
114117
coveragePercentage: 100,
115118
coveredFields: 0,
116119
totalFields: 0,
117-
missingFields: []
120+
missingFields: [],
121+
unexpectedFields: []
118122
};
119123
}
120124

0 commit comments

Comments
 (0)