UNPKG

@stoplight/spectral-documentation

Version:

Your documentation is only as useful as the quality of the information you've provided, so make sure you're taking full advantage of the features OpenAPI has to offer.

1 lines 19.7 kB
{"version":3,"sources":["../src/ruleset.ts","../node_modules/@stoplight/types/dist/index.mjs"],"sourcesContent":["import {\n alphabetical,\n pattern,\n schema,\n truthy,\n length,\n} from \"@stoplight/spectral-functions\";\nimport { oas2, oas3 } from \"@stoplight/spectral-formats\";\nimport { DiagnosticSeverity } from \"@stoplight/types\";\n\nexport default {\n // extends: [\n // 'spectral:oas'\n // ],\n\n aliases: {\n // --- OAS Aliases ---\n // TODO Remove these once they're available in spectral:oas\n PathItem: [\"$.paths[*]\"],\n OperationObject: [\n \"#PathItem[get,put,post,delete,options,head,patch,trace]\",\n ],\n\n // --- Custom Aliases ---\n\n DescribableObjects: {\n description: \"All objects that should be described.\",\n targets: [\n {\n formats: [oas2],\n given: [\n \"$.info\",\n \"$.tags[*]\",\n \"#OperationObject\",\n \"#OperationObject.responses[*]\",\n \"#PathItem.parameters[?(@ && @.in)]\",\n \"#OperationObject.parameters[?(@ && @.in)]\",\n \"$.definitions[*]\",\n ],\n },\n {\n formats: [oas3],\n given: [\n \"$.info\",\n \"$.tags[*]\",\n \"#OperationObject\",\n \"#OperationObject.responses[*]\",\n \"#PathItem.parameters[?(@ && @.in)]\",\n \"#OperationObject.parameters[?(@ && @.in)]\",\n \"$.components.schemas[*]\",\n \"$.servers[*]\",\n ],\n },\n ],\n },\n\n MediaTypeObjects: {\n description:\n \"Media Type objects are what OpenAPI calls the object that describes requests and responses, or in OAS2 it was parameters with in=body.\",\n targets: [\n {\n formats: [oas2],\n given: [\n '#OperationObject.parameters[?(@ && @.in === \"body\")]',\n \"#OperationObject.responses[*]\",\n ],\n },\n {\n formats: [oas3],\n given: [\n \"#OperationObject.requestBody.content[*]\",\n \"#OperationObject.responses[*].content[*]\",\n ],\n },\n ],\n },\n },\n\n rules: {\n \"docs-api-host\": {\n message: \"API host must be present and non-empty string.\",\n description:\n \"People will want to know where your amazing API is hosted, and this property can show them.\",\n severity: DiagnosticSeverity.Warning,\n formats: [oas2],\n given: \"$\",\n then: {\n field: \"host\",\n function: truthy,\n },\n },\n \"docs-api-schemes\": {\n message: \"API schemes should be present and non-empty array.\",\n description:\n \"Knowing if the API is available on https-only, http-only, or both, is useful information for API consumers.\",\n severity: DiagnosticSeverity.Warning,\n formats: [oas2],\n given: \"$\",\n then: {\n field: \"schemes\",\n function: schema,\n functionOptions: {\n dialect: \"draft7\",\n schema: {\n items: {\n type: \"string\",\n },\n minItems: 1,\n type: \"array\",\n },\n },\n },\n },\n \"docs-api-servers\": {\n message: \"API servers should be present and non-empty array.\",\n description:\n \"People will want to know where your amazing API is hosted, and this property can show them.\",\n severity: DiagnosticSeverity.Warning,\n formats: [oas3],\n given: \"$\",\n then: {\n field: \"servers\",\n function: schema,\n functionOptions: {\n dialect: \"draft7\",\n schema: {\n items: {\n type: \"object\",\n },\n minItems: 1,\n type: \"array\",\n },\n },\n },\n },\n\n \"docs-api-host-not-example\": {\n message: \"Host URL should not point at example.com.\",\n description:\n \"People will want to know where your amazing API is hosted, and it's probably not on example.com.\",\n severity: DiagnosticSeverity.Warning,\n recommended: false,\n formats: [oas2],\n given: \"$\",\n then: {\n field: \"host\",\n function: pattern,\n functionOptions: {\n notMatch: \"example\\\\.com\",\n },\n },\n },\n\n \"docs-api-server-not-example.com\": {\n message: \"Server URL should not point at example.com.\",\n description:\n \"People will want to know where your amazing API is hosted, and it's probably not on example.com.\",\n severity: DiagnosticSeverity.Warning,\n recommended: false,\n formats: [oas3],\n given: \"$.servers[*].url\",\n then: {\n function: pattern,\n functionOptions: {\n notMatch: \"example\\\\.com\",\n },\n },\n },\n\n /**\n * @author: Phil Sturgeon <https://github.com/philsturgeon>\n */\n \"docs-description\": {\n message: \"{{error}}.\",\n description:\n \"Documentation tools use description to provide more context to users of the API who are not as familiar with the concepts as the API designers are.\",\n severity: DiagnosticSeverity.Warning,\n given: \"#DescribableObjects\",\n then: [\n {\n field: \"description\",\n function: truthy,\n },\n {\n field: \"description\",\n function: length,\n functionOptions: {\n min: 20,\n },\n },\n {\n field: \"description\",\n function: pattern,\n functionOptions: {\n match: \"/^[A-Z]/\",\n },\n },\n {\n field: \"description\",\n function: pattern,\n functionOptions: {\n match: \"\\\\.$\",\n },\n },\n ],\n },\n\n \"docs-info-contact\": {\n message: \"{{error}}.\",\n description:\n \"Providing contact means that API consumers can get in touch with you, which can be confusing even if you all work at the same company. This could be a specific developer or a team, depending on the organization.\",\n severity: DiagnosticSeverity.Warning,\n given: \"$\",\n then: {\n field: \"info.contact\",\n function: truthy,\n },\n },\n\n \"docs-parameters-anything-useful\": {\n message: \"No example or schema provided for {{property}}\",\n description:\n \"In order to make a good sample request doc tools will need an x-example, default, enum, or maybe even a format. The more information you can provide the more useful the sample request will be.\",\n severity: DiagnosticSeverity.Error,\n formats: [oas2],\n given: [\n '#PathItem.parameters[?(@ && @.in !== \"body\")]',\n '#OperationObject.parameters[?(@ && @.in !== \"body\")]'\n ],\n then: {\n function: schema,\n functionOptions: {\n schema: {\n anyOf: [\n { required: [\"x-example\"] },\n { required: [\"example\"] },\n { required: [\"default\"] },\n { required: [\"enum\"] },\n { required: [\"format\"] },\n ],\n },\n },\n },\n },\n\n \"docs-parameter-examples-or-schema\": {\n message: \"No example or schema provided for {{property}}.\",\n description:\n \"Without providing a well defined schema or example(s) an API consumer will have a hard time knowing how to interact with this API.\",\n severity: DiagnosticSeverity.Error,\n formats: [oas3],\n given: \"$.paths[*]..parameters[*]\",\n then: {\n function: schema,\n functionOptions: {\n schema: {\n anyOf: [\n { required: [\"example\"] },\n { required: [\"examples\"] },\n { required: [\"schema\"] },\n ],\n },\n },\n },\n },\n\n \"docs-media-type-examples-or-schema\": {\n message: \"No example or schema provided for {{property}}.\",\n description:\n 'To generate useful API reference documentation a sample request and response should be provided, which can either be provided statically as an \"example\", or tooling can infer a sample from the schema provided (and any examples, defaults, enums, etc. provided for each property). Please provide one or the other. Both would be fantastic.',\n severity: DiagnosticSeverity.Error,\n formats: [oas3],\n given: \"#MediaTypeObjects\",\n then: {\n function: schema,\n functionOptions: {\n schema: {\n anyOf: [\n { required: [\"example\"] },\n { required: [\"examples\"] },\n { required: [\"schema\"] },\n ],\n },\n },\n },\n },\n\n \"docs-tags-alphabetical\": {\n message: \"Tags should be defined in alphabetical order.\",\n description:\n \"Many documentation tools show tags in the order they are defined, so defining them not in alphabetical order can look funny to API consumers.\",\n severity: DiagnosticSeverity.Warning,\n given: \"$\",\n then: {\n field: \"tags\",\n function: alphabetical,\n functionOptions: {\n keyedBy: \"name\",\n },\n },\n },\n\n \"docs-operationId-valid-in-url\": {\n message: \"operationId must only contain URL friendly characters.\",\n description:\n \"Most documentation tools use the operationId to produce URLs, so the characters used must be safe and legal when used in the URL.\",\n severity: DiagnosticSeverity.Error,\n given: \"#OperationObject\",\n then: {\n field: \"operationId\",\n function: pattern,\n functionOptions: {\n match: \"^[A-Za-z0-9-._~:/?#\\\\[\\\\]@!\\\\$&'()*+,;=]*$\",\n },\n },\n },\n\n \"docs-tags\": {\n message: \"{{error}}.\",\n description:\n \"Tags help group logic into conceptual groups instead of making end-users dig through URLs or lists of operation names.\",\n severity: DiagnosticSeverity.Warning,\n given: \"$\",\n then: {\n field: \"tags\",\n function: schema,\n functionOptions: {\n schema: {\n type: \"array\",\n minItems: 1,\n },\n },\n },\n },\n\n \"docs-operation-tags\": {\n message: \"Operation should have non-empty `tags` array.\",\n description:\n \"Once tags are defined they should be references in the operation, otherwise they will not be doing anything.\",\n severity: DiagnosticSeverity.Warning,\n given: \"#OperationObject\",\n then: {\n field: \"tags\",\n function: schema,\n functionOptions: {\n schema: {\n type: \"array\",\n minItems: 1,\n },\n },\n },\n },\n },\n};\n","var HttpParamStyles;\n(function (HttpParamStyles) {\n HttpParamStyles[\"Simple\"] = \"simple\";\n HttpParamStyles[\"Matrix\"] = \"matrix\";\n HttpParamStyles[\"Label\"] = \"label\";\n HttpParamStyles[\"Form\"] = \"form\";\n HttpParamStyles[\"CommaDelimited\"] = \"commaDelimited\";\n HttpParamStyles[\"SpaceDelimited\"] = \"spaceDelimited\";\n HttpParamStyles[\"PipeDelimited\"] = \"pipeDelimited\";\n HttpParamStyles[\"DeepObject\"] = \"deepObject\";\n})(HttpParamStyles || (HttpParamStyles = {}));\n\n/**\n * Represents the severity of diagnostics.\n */\nvar DiagnosticSeverity;\n(function (DiagnosticSeverity) {\n /**\n * Something not allowed by the rules of a language or other means.\n */\n DiagnosticSeverity[DiagnosticSeverity[\"Error\"] = 0] = \"Error\";\n /**\n * Something suspicious but allowed.\n */\n DiagnosticSeverity[DiagnosticSeverity[\"Warning\"] = 1] = \"Warning\";\n /**\n * Something to inform about but not a problem.\n */\n DiagnosticSeverity[DiagnosticSeverity[\"Information\"] = 2] = \"Information\";\n /**\n * Something to hint to a better way of doing it, like proposing\n * a refactoring.\n */\n DiagnosticSeverity[DiagnosticSeverity[\"Hint\"] = 3] = \"Hint\";\n})(DiagnosticSeverity || (DiagnosticSeverity = {}));\n\n/**\n * Stoplight node types\n */\nvar NodeType;\n(function (NodeType) {\n NodeType[\"Article\"] = \"article\";\n NodeType[\"HttpService\"] = \"http_service\";\n NodeType[\"HttpServer\"] = \"http_server\";\n NodeType[\"HttpOperation\"] = \"http_operation\";\n NodeType[\"Model\"] = \"model\";\n NodeType[\"Generic\"] = \"generic\";\n NodeType[\"Unknown\"] = \"unknown\";\n NodeType[\"TableOfContents\"] = \"table_of_contents\";\n NodeType[\"SpectralRuleset\"] = \"spectral_ruleset\";\n NodeType[\"Styleguide\"] = \"styleguide\";\n NodeType[\"Image\"] = \"image\";\n})(NodeType || (NodeType = {}));\n/**\n * Node data formats\n */\nvar NodeFormat;\n(function (NodeFormat) {\n NodeFormat[\"Json\"] = \"json\";\n NodeFormat[\"Markdown\"] = \"markdown\";\n NodeFormat[\"Yaml\"] = \"yaml\";\n NodeFormat[\"Javascript\"] = \"javascript\";\n NodeFormat[\"Apng\"] = \"apng\";\n NodeFormat[\"Avif\"] = \"avif\";\n NodeFormat[\"Bmp\"] = \"bmp\";\n NodeFormat[\"Gif\"] = \"gif\";\n NodeFormat[\"Jpeg\"] = \"jpeg\";\n NodeFormat[\"Png\"] = \"png\";\n NodeFormat[\"Svg\"] = \"svg\";\n NodeFormat[\"Webp\"] = \"webp\";\n})(NodeFormat || (NodeFormat = {}));\n\nexport { DiagnosticSeverity, HttpParamStyles, NodeFormat, NodeType };\n"],"mappings":"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","names":["HttpParamStyles","DiagnosticSeverity","NodeType","NodeFormat"]}