Skip to content

Commit 7e23c54

Browse files
committed
fix: report unrecognized top-level fields in yaml files only as warnings
This fixes a regression introduced when ajv was updated.
1 parent 1269b86 commit 7e23c54

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

spec/schema/source-validation-modules/sidecar-schema.spec.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,10 @@ describe('sidecar-schema validator', () => {
7676
it('reports errors in json files', () => {
7777
const messages = getValidatorMessages(new ProjectSource('test.json', invalidValue));
7878
expect(messages.length).to.equal(4);
79-
expect(messages[0].message).to.equal('should be equal to one of the allowed values');
80-
expect(messages[1].message).to.equal('should be array');
81-
expect(messages[2].message).to.equal('should match exactly one schema in oneOf');
82-
expect(messages[3].message).to.equal('should be array');
79+
expect(messages[0].message).to.equal('must be equal to one of the allowed values');
80+
expect(messages[1].message).to.equal('must be array');
81+
expect(messages[2].message).to.equal('must match exactly one schema in oneOf');
82+
expect(messages[3].message).to.equal('must be array');
8383
expect(JSON.parse(JSON.stringify(messages[3].location))).to.deep.equal({
8484
_end: 364,
8585
_start: 352,
@@ -97,7 +97,7 @@ describe('sidecar-schema validator', () => {
9797
new ProjectSource('file.json', JSON.stringify({ unsupportedRootField: {} })),
9898
);
9999
expect(messages.length).to.equal(1);
100-
expect(messages[0].message).to.equal('should NOT have additional properties');
100+
expect(messages[0].message).to.equal('must NOT have additional properties');
101101
expect(messages[0].severity).to.equal(Severity.Warning);
102102
});
103103

@@ -106,10 +106,10 @@ describe('sidecar-schema validator', () => {
106106
new ProjectSource('test.json', invalidValueWithComments),
107107
);
108108
expect(messages.length).to.equal(4);
109-
expect(messages[0].message).to.equal('should be equal to one of the allowed values');
110-
expect(messages[1].message).to.equal('should be array');
111-
expect(messages[2].message).to.equal('should match exactly one schema in oneOf');
112-
expect(messages[3].message).to.equal('should be array');
109+
expect(messages[0].message).to.equal('must be equal to one of the allowed values');
110+
expect(messages[1].message).to.equal('must be array');
111+
expect(messages[2].message).to.equal('must match exactly one schema in oneOf');
112+
expect(messages[3].message).to.equal('must be array');
113113
expect(JSON.parse(JSON.stringify(messages[3].location))).to.deep.equal({
114114
_end: 419,
115115
_start: 407,

src/schema/preparation/source-validation-modules/sidecar-schema.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ export class SidecarSchemaValidator implements ParsedSourceValidator {
2222

2323
// we allow top-level additional properties because they indicate new features, so it might be ok to omit them
2424
const isWarning =
25-
!err.instancePath.includes('.') &&
26-
err.message === 'should NOT have additional properties';
25+
err.instancePath === '' &&
26+
err.message === 'must NOT have additional properties';
2727
if (isWarning) {
2828
if (path in source.pathLocationMap) {
2929
const loc = source.pathLocationMap[path];

0 commit comments

Comments
 (0)