Skip to content

Commit 9e4296a

Browse files
authored
[AvoidAdditionalProperties] Set resolved:false to only report errors at the source (#700)
1 parent b95d5eb commit 9e4296a

4 files changed

Lines changed: 10 additions & 3 deletions

File tree

packages/rulesets/generated/spectral/az-arm.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3159,7 +3159,7 @@ const ruleset = {
31593159
message: "{{description}}",
31603160
disableForTypeSpec: true,
31613161
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/no-record' rule.",
3162-
resolved: true,
3162+
resolved: false,
31633163
formats: [oas2],
31643164
given: "$.definitions..[?(@property !== 'tags' && @property !== 'delegatedResources' && @property !== 'userAssignedIdentities' && @ && @.additionalProperties)]",
31653165
then: {

packages/rulesets/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@microsoft.azure/openapi-validator-rulesets",
3-
"version": "2.0.6",
3+
"version": "2.0.7",
44
"description": "Azure OpenAPI Validator",
55
"main": "dist/index.js",
66
"scripts": {

packages/rulesets/src/spectral/az-arm.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,8 @@ const ruleset: any = {
299299
message: "{{description}}",
300300
disableForTypeSpec: true,
301301
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/no-record' rule.",
302-
resolved: true,
302+
// Only report errors at the source, not from inside $refs (the resolved document)
303+
resolved: false,
303304
formats: [oas2],
304305
// In some cases, variable "@" will be "null" when evaluating the expression, so it must be checked before dereferencing
305306
given:

packages/rulesets/src/spectral/test/avoid-additional-properties.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,12 @@ test("AvoidAdditionalProperties should find errors", () => {
143143
},
144144
required: ["type"],
145145
},
146+
ThisRef: {
147+
description: "Ensure error is NOT raised from inside $refs (rule sets resolved:false)",
148+
properties: {
149+
$ref: "#/definitions/This",
150+
},
151+
},
146152
},
147153
}
148154
return linter.run(oasDoc).then((results) => {

0 commit comments

Comments
 (0)