Azure / typespec-azure

About TypeSpec Azure Libraries
https://azure.github.io/typespec-azure/
MIT License
8 stars 28 forks source link

[Linter] Add warning or error if spec is not versioned #1027

Open mikeharder opened 3 weeks ago

mikeharder commented 3 weeks ago

If a resource-manager spec doesn't specify @versioned, TypeSpec generates swagger under a folder named 0000-00-00, which may be confusing to spec authors. It would be helpful to raise a warning or error suggesting to add @versioned.

https://azure.github.io/typespec-azure/playground?c=aW1wb3J0ICJAdHlwZXNwZWMvaHR0cCI7CtIZcmVzdNUZdmVyc2lvbmluZ8wfYXp1cmUtdG9vbHMvyCstxhVjb3Jl3yvIK3Jlc291cmNlLW1hbmFnZXIiOwoKdXNpbmcgVHlwZVNwZWMuSHR0cDvQFVJlc3TRFVbpAKnIG0HEZS5Db3JlzhJSx3dNxnY7CgovKiogQ29udG9zbyDIHiBQcm92aWRlciDmAJ5tZW50IEFQSS4gKi8KQGFybcggTmFtZXNwYWNlCkBzZXJ2aWNlKHsKICB0aXRsZTogIsdYyC5IdWJDbGllbnQiLAp9KQpAdXNlRGVwZW5kZW5jeSj1AKHoANtzLnYxXzBfUHJldmlld18xKeUAh0NvbW1vbuQBB3PHKCgidjUiKQovLyBA5wG%2BZWQoyEQpCm7oALAgTWljcm9zb2Z0LvIApe8BFkFQSSDHTXPkAQEvLyBlbnVtIMhXIHvEEyAgxDQyMDIxLTEwLTAxLXDmAKzIO8c6ICD%2FAPf%2FAPfGQ%2FYA%2FNZLyynLVzXHS2DyALJgLMQbfeYBBUHoAQfrASAg6AK95ADUbW9kZWwgRW1wbG95ZWUgaXMgVHJhY2tlZOgAiDzIHFByb3BlcnRpZXM%2BIOQCJi4u6QCs5AJIUGFyYW1ldGVyyTE%2BOwrnAIbJX3DJRNJ8ymDFX8Q4QWdlIG9mIGXIPyovCiAgYWdlPzogaW50MzI7CscpQ2l0edIqY2l0eT86IHN0cuUDW8csUHJvZmls01lAZW5jb2RlKCJiYXNlNjR1cmwiKQog5AC0xDA%2FOiBieXRlc8lIVGhlIHN0YXR1c8RLdGhlIGxhc3Qg5ADFYXRpb27lA24gIEB2aXNpYmlsaXR5KCJyZWFkyFXEGOUD9VN0YXTEX%2BUBo8wU6QFAxGvMMsV45QDCYekBzcVvQGxyb8Q7dXMKdW7kArbRVOUBXOYBEizsAMrIRyBjcmXEJ3JlcXVlc3QgaGFzIGJlZW4gYWNjZXB0ZWTEZyAgQccOOiAiyAsi1lBpxEDkALTpAMHIROwAnDogIswP2kx1cGRhdMRPxUNVxw46ICLIC8o76QUP6QDE5gDcZOcBmlN1Y2NlZWTlAMXJDNM%2FxTbkAU1mYWlsyT5GxQ06ICLGCdw4d2FzIGNhbmNlyj5Dxw%2FkBWbHC%2F8BQCBkZWxl6QGARMQN5gD5yAvkBZbvA29tb3bqAcrpA3FNb3ZlUscV6ANqxHNtb3bEaGZyb20gbG9j5gC8xW7EE%2FEDSMszdG%2FPMXRvyi%2F3AJVzcG9uc%2BsEg%2BYAlscW7ACX7gNkxT7FZMZ85gLuzW5pbnRlcmbkBiZP6AOMcyBleHRlbmRz9gdILsspe30K5QadyCPKG8tZ6ADN5gSrZ2V05AGnQco1UmVhZOwFCCDnAntPcuUCp%2BUB1ssvQ8cdUmVwbGFjZUFzeW5jzj%2FlAvfQN1BhdGNoU8wsLPMFTsVA5gI9z0DlAjplV2l0aG91dE9r03dsaXN0QnnIMEdyb3Vwz0RMxSJQYXJlbnTUPFN1YnNjcmlw5QIcxjvGM8wZzDnoBfsgc2FtcGzrAwlhY8VEdGhhdOYCBukFvnRvIGRpZmZl5ACE7wKJxSnuALJBxUjvATfrAxTIDeYCi%2FMAkkhFQUTqBefEfmNoZWNr6gCqZXhpc3RlbuYHYSDGHkXJFO8B%2B80d7gc8&e=%40azure-tools%2Ftypespec-autorest&options=%7B%22linterRuleSet%22%3A%7B%22extends%22%3A%5B%22%40azure-tools%2Ftypespec-azure-rulesets%2Fresource-manager%22%5D%7D%7D

Example: https://github.com/Azure/azure-rest-api-specs-pr/pull/18602/commits/d079ce8bda0215699a762bb7e17397e8bcf61315