Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-enable all ARM and common rules for TypeSpec #703

Merged
merged 3 commits into from
Jun 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions packages/rulesets/generated/spectral/az-arm.js
Original file line number Diff line number Diff line change
Expand Up @@ -845,7 +845,7 @@ const ruleset$1 = {
description: "Operation should have a summary or description.",
message: "Operation should have a summary or description.",
severity: "warn",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-core/documentation-required' rule.",
given: [
"$.paths[*][?( @property === 'get' && [email protected] && [email protected] )]",
Expand All @@ -865,7 +865,7 @@ const ruleset$1 = {
description: "All schemas should have a description or title.",
message: "Schema should have a description or title.",
severity: "warn",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-core/documentation-required' rule.",
formats: [oas2, oas3],
given: ["$.definitions[?([email protected] && [email protected])]", "$.components.schemas[?([email protected] && [email protected])]"],
Expand All @@ -877,7 +877,7 @@ const ruleset$1 = {
description: "All parameters should have a description.",
message: "Parameter should have a description.",
severity: "warn",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-core/documentation-required' rule.",
given: ["$.paths[*].parameters.*", "$.paths.*[get,put,post,patch,delete,options,head].parameters.*"],
then: {
Expand Down Expand Up @@ -1193,7 +1193,7 @@ const ruleset$1 = {
description: "The value of the 'description' property must be descriptive. It cannot be spaces or empty description.",
message: "'{{property}}' parameter lacks 'description' property. Consider adding a 'description' element. Accurate description is essential for maintaining reference documentation.",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-core/documentation-required' rule.",
resolved: false,
formats: [oas2],
Expand Down Expand Up @@ -2993,7 +2993,7 @@ const ruleset = {
rpcGuidelineCode: "RPC-Async-V1-01, RPC-Put-V1-11",
description: "LRO and Synchronous PUT must have 200 & 201 return codes.",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes' rule.",
message: "{{error}}",
resolved: true,
Expand Down Expand Up @@ -3034,7 +3034,7 @@ const ruleset = {
description: "ProvisioningState must have terminal states: Succeeded, Failed and Canceled.",
message: "{{error}}",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state' rule.",
resolved: false,
formats: [oas2],
Expand All @@ -3048,7 +3048,7 @@ const ruleset = {
description: "Location header must be supported for all async operations that return 202.",
message: "A 202 response should include an Location response header.",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-location-header' rule.",
formats: [oas2],
given: "$.paths[*][*].responses[?(@property == '202')]",
Expand All @@ -3063,7 +3063,7 @@ const ruleset = {
rpcGuidelineCode: "RPC-Async-V1-11, RPC-Async-V1-14",
description: "Synchronous POST must have either 200 or 204 return codes and LRO POST must have 202 return code. LRO POST should also have a 200 return code only if the final response is intended to have a schema",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes' rule.",
message: "{{error}}",
resolved: true,
Expand All @@ -3090,7 +3090,7 @@ const ruleset = {
description: "This is a rule introduced to validate if provisioningState property is set to readOnly or not.",
message: "{{error}}",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state' rule.",
resolved: true,
formats: [oas2],
Expand Down Expand Up @@ -3119,7 +3119,7 @@ const ruleset = {
description: "Synchronous DELETE must have 200 & 204 return codes and LRO DELETE must have 202 & 204 return codes.",
severity: "error",
message: "{{error}}",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes' rule.",
resolved: true,
formats: [oas2],
Expand Down Expand Up @@ -3157,7 +3157,7 @@ const ruleset = {
description: "Definitions must not have properties named additionalProperties except for user defined tags or predefined references.",
severity: "error",
message: "{{description}}",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/no-record' rule.",
resolved: false,
formats: [oas2],
Expand Down Expand Up @@ -3574,7 +3574,7 @@ const ruleset = {
description: "This rule ensures that the authors explicitly define these restrictions as a regex on the resource name.",
message: "{{error}}",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-resource-name-pattern' rule.",
resolved: true,
formats: [oas2],
Expand Down
8 changes: 4 additions & 4 deletions packages/rulesets/generated/spectral/az-common.js
Original file line number Diff line number Diff line change
Expand Up @@ -613,7 +613,7 @@ const ruleset = {
description: "Operation should have a summary or description.",
message: "Operation should have a summary or description.",
severity: "warn",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-core/documentation-required' rule.",
given: [
"$.paths[*][?( @property === 'get' && [email protected] && [email protected] )]",
Expand All @@ -633,7 +633,7 @@ const ruleset = {
description: "All schemas should have a description or title.",
message: "Schema should have a description or title.",
severity: "warn",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-core/documentation-required' rule.",
formats: [oas2, oas3],
given: ["$.definitions[?([email protected] && [email protected])]", "$.components.schemas[?([email protected] && [email protected])]"],
Expand All @@ -645,7 +645,7 @@ const ruleset = {
description: "All parameters should have a description.",
message: "Parameter should have a description.",
severity: "warn",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-core/documentation-required' rule.",
given: ["$.paths[*].parameters.*", "$.paths.*[get,put,post,patch,delete,options,head].parameters.*"],
then: {
Expand Down Expand Up @@ -961,7 +961,7 @@ const ruleset = {
description: "The value of the 'description' property must be descriptive. It cannot be spaces or empty description.",
message: "'{{property}}' parameter lacks 'description' property. Consider adding a 'description' element. Accurate description is essential for maintaining reference documentation.",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-core/documentation-required' rule.",
resolved: false,
formats: [oas2],
Expand Down
2 changes: 1 addition & 1 deletion packages/rulesets/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@microsoft.azure/openapi-validator-rulesets",
"version": "2.0.7",
"version": "2.0.8",
"description": "Azure OpenAPI Validator",
"main": "dist/index.js",
"scripts": {
Expand Down
16 changes: 8 additions & 8 deletions packages/rulesets/src/spectral/az-arm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ const ruleset: any = {
rpcGuidelineCode: "RPC-Async-V1-01, RPC-Put-V1-11",
description: "LRO and Synchronous PUT must have 200 & 201 return codes.",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes' rule.",
message: "{{error}}",
resolved: true,
Expand Down Expand Up @@ -143,7 +143,7 @@ const ruleset: any = {
description: "ProvisioningState must have terminal states: Succeeded, Failed and Canceled.",
message: "{{error}}",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state' rule.",
resolved: false,
formats: [oas2],
Expand All @@ -159,7 +159,7 @@ const ruleset: any = {
description: "Location header must be supported for all async operations that return 202.",
message: "A 202 response should include an Location response header.",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-location-header' rule.",
formats: [oas2],
given: "$.paths[*][*].responses[?(@property == '202')]",
Expand All @@ -177,7 +177,7 @@ const ruleset: any = {
description:
"Synchronous POST must have either 200 or 204 return codes and LRO POST must have 202 return code. LRO POST should also have a 200 return code only if the final response is intended to have a schema",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes' rule.",
message: "{{error}}",
resolved: true,
Expand Down Expand Up @@ -210,7 +210,7 @@ const ruleset: any = {
description: "This is a rule introduced to validate if provisioningState property is set to readOnly or not.",
message: "{{error}}",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state' rule.",
resolved: true,
formats: [oas2],
Expand Down Expand Up @@ -249,7 +249,7 @@ const ruleset: any = {
description: "Synchronous DELETE must have 200 & 204 return codes and LRO DELETE must have 202 & 204 return codes.",
severity: "error",
message: "{{error}}",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes' rule.",
resolved: true,
formats: [oas2],
Expand Down Expand Up @@ -297,7 +297,7 @@ const ruleset: any = {
description: "Definitions must not have properties named additionalProperties except for user defined tags or predefined references.",
severity: "error",
message: "{{description}}",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/no-record' rule.",
// Only report errors at the source, not from inside $refs (the resolved document)
resolved: false,
Expand Down Expand Up @@ -807,7 +807,7 @@ const ruleset: any = {
description: "This rule ensures that the authors explicitly define these restrictions as a regex on the resource name.",
message: "{{error}}",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-resource-manager/arm-resource-name-pattern' rule.",
resolved: true,
formats: [oas2],
Expand Down
8 changes: 4 additions & 4 deletions packages/rulesets/src/spectral/az-common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ const ruleset: any = {
description: "Operation should have a summary or description.",
message: "Operation should have a summary or description.",
severity: "warn",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-core/documentation-required' rule.",
given: [
"$.paths[*][?( @property === 'get' && [email protected] && [email protected] )]",
Expand All @@ -68,7 +68,7 @@ const ruleset: any = {
description: "All schemas should have a description or title.",
message: "Schema should have a description or title.",
severity: "warn",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-core/documentation-required' rule.",
formats: [oas2, oas3],
given: ["$.definitions[?([email protected] && [email protected])]", "$.components.schemas[?([email protected] && [email protected])]"],
Expand All @@ -80,7 +80,7 @@ const ruleset: any = {
description: "All parameters should have a description.",
message: "Parameter should have a description.",
severity: "warn",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-core/documentation-required' rule.",
given: ["$.paths[*].parameters.*", "$.paths.*[get,put,post,patch,delete,options,head].parameters.*"],
then: {
Expand Down Expand Up @@ -412,7 +412,7 @@ const ruleset: any = {
message:
"'{{property}}' parameter lacks 'description' property. Consider adding a 'description' element. Accurate description is essential for maintaining reference documentation.",
severity: "error",
disableForTypeSpec: true,
disableForTypeSpec: false,
disableForTypeSpecReason: "Covered by TSP's '@azure-tools/typespec-azure-core/documentation-required' rule.",
resolved: false,
formats: [oas2],
Expand Down