├── .github ├── dependabot.yml └── pull_request_template.md ├── .gitignore ├── LICENSE ├── README.md ├── docs ├── favicon.png └── index.html ├── openapi ├── README.md ├── code_samples │ ├── C_sharp │ │ └── echo │ │ │ └── post.cs │ ├── PHP │ │ └── echo │ │ │ └── post.php │ └── README.md ├── components │ ├── README.md │ ├── headers │ │ └── ExpiresAfter.yaml │ ├── responses │ │ └── Problem.yaml │ └── schemas │ │ ├── Admin.yaml │ │ ├── Basic.yaml │ │ ├── Email.yaml │ │ ├── ExampleObject.yaml │ │ ├── Problem.yaml │ │ ├── Schema.yaml │ │ ├── User.yaml │ │ └── UserID.yaml ├── openapi.yaml └── paths │ ├── README.md │ ├── echo.yaml │ ├── pathItem.yaml │ ├── pathItemWithExamples.yaml │ ├── user-status.yaml │ ├── user.yaml │ └── users_{username}.yaml ├── package-lock.json ├── package.json └── redocly.yaml /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | 7 | version: 2 8 | updates: 9 | - package-ecosystem: "npm" # See documentation for possible values 10 | directory: "/" # Location of package manifests 11 | schedule: 12 | interval: "daily" 13 | allow: 14 | - dependency-name: "@redocly/cli" 15 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## What/Why/How? 2 | 3 | ## Reference 4 | 5 | ## Testing 6 | 7 | ## Screenshots (optional) 8 | 9 | ## Check yourself 10 | 11 | - [ ] Code is linted 12 | - [ ] Tested 13 | - [ ] All new/updated code is covered with tests 14 | 15 | ## Security 16 | 17 | - [ ] Security impact of change has been considered 18 | - [ ] Code follows company security practices and guidelines 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Dir for bundles 2 | dist 3 | node_modules 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Ivan Goncharov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OpenAPI Definition Starter 2 | 3 | ## How to use this starter 4 | 5 | ![Click use template button](https://user-images.githubusercontent.com/3975738/92927304-12e35d80-f446-11ea-9bd3-a0f8a69792d0.png) 6 | 7 | ## Working on your OpenAPI Definition 8 | 9 | ### Install 10 | 11 | 1. Install [Node JS](https://nodejs.org/). 12 | 2. Clone this repo and run `npm install` in the repo root. 13 | 14 | ### Usage 15 | 16 | #### `npm start` 17 | Starts the reference docs preview server. 18 | 19 | #### `npm run build` 20 | Bundles the definition to the dist folder. 21 | 22 | #### `npm test` 23 | Validates the definition. 24 | 25 | ## Contribution Guide 26 | 27 | Below is a sample contribution guide. The tools 28 | in the repository don't restrict you to any 29 | specific structure. Adjust the contribution guide 30 | to match your own structure. However, if you 31 | don't have a structure in mind, this is a 32 | good place to start. 33 | 34 | Update this contribution guide if you 35 | adjust the file/folder organization. 36 | 37 | The `.redocly.yaml` controls settings for various 38 | tools including the lint tool and the reference 39 | docs engine. Open it to find examples and 40 | [read the docs](https://redocly.com/docs/cli/configuration/) 41 | for more information. 42 | 43 | 44 | ### Schemas 45 | 46 | #### Adding Schemas 47 | 48 | 1. Navigate to the `openapi/components/schemas` folder. 49 | 2. Add a file named as you wish to name the schema. 50 | 3. Define the schema. 51 | 4. Refer to the schema using the `$ref` (see example below). 52 | 53 | ##### Example Schema 54 | This is a very simple schema example: 55 | ```yaml 56 | type: string 57 | description: The resource ID. Defaults to UUID v4 58 | maxLength: 50 59 | example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 60 | ``` 61 | This is a more complex schema example: 62 | ```yaml 63 | type: object 64 | properties: 65 | id: 66 | description: The customer identifier string 67 | readOnly: true 68 | allOf: 69 | - $ref: ./ResourceId.yaml 70 | websiteId: 71 | description: The website's ID 72 | allOf: 73 | - $ref: ./ResourceId.yaml 74 | paymentToken: 75 | type: string 76 | writeOnly: true 77 | description: | 78 | A write-only payment token; if supplied, it will be converted into a 79 | payment instrument and be set as the `defaultPaymentInstrument`. The 80 | value of this property will override the `defaultPaymentInstrument` 81 | in the case that both are supplied. The token may only be used once 82 | before it is expired. 83 | defaultPaymentInstrument: 84 | $ref: ./PaymentInstrument.yaml 85 | createdTime: 86 | description: The customer created time 87 | allOf: 88 | - $ref: ./ServerTimestamp.yaml 89 | updatedTime: 90 | description: The customer updated time 91 | allOf: 92 | - $ref: ./ServerTimestamp.yaml 93 | tags: 94 | description: A list of customer's tags 95 | readOnly: true 96 | type: array 97 | items: 98 | $ref: ./Tags/Tag.yaml 99 | revision: 100 | description: > 101 | The number of times the customer data has been modified. 102 | 103 | The revision is useful when analyzing webhook data to determine if the 104 | change takes precedence over the current representation. 105 | type: integer 106 | readOnly: true 107 | _links: 108 | type: array 109 | description: The links related to resource 110 | readOnly: true 111 | minItems: 3 112 | items: 113 | anyOf: 114 | - $ref: ./Links/SelfLink.yaml 115 | - $ref: ./Links/NotesLink.yaml 116 | - $ref: ./Links/DefaultPaymentInstrumentLink.yaml 117 | - $ref: ./Links/LeadSourceLink.yaml 118 | - $ref: ./Links/WebsiteLink.yaml 119 | _embedded: 120 | type: array 121 | description: >- 122 | Any embedded objects available that are requested by the `expand` 123 | querystring parameter. 124 | readOnly: true 125 | minItems: 1 126 | items: 127 | anyOf: 128 | - $ref: ./Embeds/LeadSourceEmbed.yaml 129 | 130 | ``` 131 | 132 | If you have an JSON example, you can convert it to JSON schema using Redocly's [JSON to JSON schema tool](https://redocly.com/tools/json-to-json-schema/). 133 | 134 | ##### Using the `$ref` 135 | 136 | Notice in the complex example above the schema definition itself has `$ref` links to other schemas defined. 137 | 138 | Here is a small excerpt with an example: 139 | 140 | ```yaml 141 | defaultPaymentInstrument: 142 | $ref: ./PaymentInstrument.yaml 143 | ``` 144 | 145 | The value of the `$ref` is the path to the other schema definition. 146 | 147 | You may use `$ref`s to compose schema from other existing schema to avoid duplication. 148 | 149 | You will use `$ref`s to reference schema from your path definitions. 150 | 151 | #### Editing Schemas 152 | 153 | 1. Navigate to the `openapi/components/schemas` folder. 154 | 2. Open the file you wish to edit. 155 | 3. Edit. 156 | 157 | ### Paths 158 | 159 | #### Adding a Path 160 | 161 | 1. Navigate to the `openapi/paths` folder. 162 | 2. Add a new YAML file named like your URL endpoint except replacing `/` with `_` (or whichever character you prefer) and putting path parameters into curly braces like `{example}`. 163 | 3. Add the path and a ref to it inside of your `openapi.yaml` file inside of the `openapi` folder. 164 | 165 | Example addition to the `openapi.yaml` file: 166 | ```yaml 167 | '/customers/{id}': 168 | $ref: './paths/customers_{id}.yaml' 169 | ``` 170 | 171 | Here is an example of a YAML file named `customers_{id}.yaml` in the `paths` folder: 172 | 173 | ```yaml 174 | get: 175 | tags: 176 | - Customers 177 | summary: Retrieve a list of customers 178 | operationId: GetCustomerCollection 179 | description: | 180 | You can have a markdown description here. 181 | parameters: 182 | - $ref: ../components/parameters/collectionLimit.yaml 183 | - $ref: ../components/parameters/collectionOffset.yaml 184 | - $ref: ../components/parameters/collectionFilter.yaml 185 | - $ref: ../components/parameters/collectionQuery.yaml 186 | - $ref: ../components/parameters/collectionExpand.yaml 187 | - $ref: ../components/parameters/collectionFields.yaml 188 | responses: 189 | '200': 190 | description: A list of Customers was retrieved successfully 191 | headers: 192 | Rate-Limit-Limit: 193 | $ref: ../components/headers/Rate-Limit-Limit.yaml 194 | Rate-Limit-Remaining: 195 | $ref: ../components/headers/Rate-Limit-Remaining.yaml 196 | Rate-Limit-Reset: 197 | $ref: ../components/headers/Rate-Limit-Reset.yaml 198 | Pagination-Total: 199 | $ref: ../components/headers/Pagination-Total.yaml 200 | Pagination-Limit: 201 | $ref: ../components/headers/Pagination-Limit.yaml 202 | Pagination-Offset: 203 | $ref: ../components/headers/Pagination-Offset.yaml 204 | content: 205 | application/json: 206 | schema: 207 | type: array 208 | items: 209 | $ref: ../components/schemas/Customer.yaml 210 | text/csv: 211 | schema: 212 | type: array 213 | items: 214 | $ref: ../components/schemas/Customer.yaml 215 | '401': 216 | $ref: ../components/responses/AccessForbidden.yaml 217 | x-code-samples: 218 | - lang: PHP 219 | source: 220 | $ref: ../code_samples/PHP/customers/get.php 221 | post: 222 | tags: 223 | - Customers 224 | summary: Create a customer (without an ID) 225 | operationId: PostCustomer 226 | description: Another markdown description here. 227 | requestBody: 228 | $ref: ../components/requestBodies/Customer.yaml 229 | responses: 230 | '201': 231 | $ref: ../components/responses/Customer.yaml 232 | '401': 233 | $ref: ../components/responses/AccessForbidden.yaml 234 | '409': 235 | $ref: ../components/responses/Conflict.yaml 236 | '422': 237 | $ref: ../components/responses/InvalidDataError.yaml 238 | x-code-samples: 239 | - lang: PHP 240 | source: 241 | $ref: ../code_samples/PHP/customers/post.php 242 | ``` 243 | 244 | You'll see extensive usage of `$ref`s in this example to different types of components including schemas. 245 | 246 | You'll also notice `$ref`s to code samples. 247 | 248 | ### Code samples 249 | 250 | Automated code sample generations is enabled in the Redocly configuration file. Add manual code samples by the following process: 251 | 252 | 1. Navigate to the `openapi/code_samples` folder. 253 | 2. Navigate to the `` (e.g. PHP) sub-folder. 254 | 3. Navigate to the `path` folder, and add ref to the code sample. 255 | 256 | You can add languages by adding new folders at the appropriate path level. 257 | 258 | More details inside the `code_samples` folder README. 259 | -------------------------------------------------------------------------------- /docs/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Redocly/openapi-starter/ce23aa0fb23c3639e58506867a15ba1493d7d0fc/docs/favicon.png -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | API Reference | ReDoc 6 | 7 | 8 | 9 | 10 | 14 | 20 | {{{redocHead}}} 21 | 22 | 23 | {{{redocHTML}}} 24 | 25 | 26 | -------------------------------------------------------------------------------- /openapi/README.md: -------------------------------------------------------------------------------- 1 | ## The `openapi` folder 2 | 3 | This folder contains your entrypoint `openapi.yaml`. 4 | 5 | That file contains references to the entire API definition. 6 | 7 | Here are some sections to pay attention to: 8 | 9 | * Top-level **description**: this accepts markdown, and Redoc and Redocly API Reference will render it at the top of the docs. Consider maintaining your markdown in a separate file and [embedding it](https://redocly.com/docs/api-reference-docs/embedded-markdown/). Note to Redoc community edition users, the special tags are only available to the Redocly API Reference users, but you can still embed markdown. 10 | * Security schemes: you will define the scheme(s) your API uses for security (eg OAuth2, API Key, etc...). The security schemes are used by the Redocly API Reference "Try It" API console feature. 11 | * [Paths](paths/README.md): this defines each endpoint. A path can have one operation per http method. 12 | * Tags: it's a good idea to organize each operation. Each tag can have a description. The description is used as a section description within the reference docs. 13 | * Servers: a list of your servers, each with a URL. 14 | -------------------------------------------------------------------------------- /openapi/code_samples/C_sharp/echo/post.cs: -------------------------------------------------------------------------------- 1 | API.v1.Echo echo = new API.v1.Echo(); 2 | echo.message = "Hello World!"); 3 | EchoResponse response = echo.post(); 4 | if (response.statusCode == HttpStatusCode.Created) 5 | { 6 | // Success 7 | } 8 | else 9 | { 10 | // Something wrong -- check response for errors 11 | Console.WriteLine(response.getRawResponse()); 12 | } 13 | -------------------------------------------------------------------------------- /openapi/code_samples/PHP/echo/post.php: -------------------------------------------------------------------------------- 1 | $form = new \API\Entities\Echo(); 2 | $form->setMessage("Hello World!"); 3 | try { 4 | $pet = $client->echo()->post($form); 5 | } catch (UnprocessableEntityException $e) { 6 | var_dump($e->getErrors()); 7 | } 8 | -------------------------------------------------------------------------------- /openapi/code_samples/README.md: -------------------------------------------------------------------------------- 1 | Code samples 2 | ===== 3 | 4 | This is our recommended convention for organizing `code_samples`: 5 | 6 | [x-codeSamples](https://redocly.com/docs/api-reference-docs/specification-extensions/x-code-samples/) 7 | Path `//.` where: 8 | * `` - name of the language from [this](https://github.com/github-linguist/linguist/blob/master/lib/linguist/popular.yml) list. 9 | * `` - path of the target method, where all `/` are replaced with `_`. 10 | * `` - verb of target method. 11 | * `` - ignored. 12 | -------------------------------------------------------------------------------- /openapi/components/README.md: -------------------------------------------------------------------------------- 1 | # Reusable components 2 | 3 | * You can create the following folders here: 4 | - `schemas` - reusable [Schema Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject) 5 | - `responses` - reusable [Response Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#responseObject) 6 | - `parameters` - reusable [Parameter Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#parameterObject) 7 | - `examples` - reusable [Example Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#exampleObject) 8 | - `headers` - reusable [Header Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#headerObject) 9 | - `requestBodies` - reusable [Request Body Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#requestBodyObject) 10 | - `links` - reusable [Link Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#linkObject) 11 | - `callbacks` - reusable [Callback Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#callbackObject) 12 | - `securitySchemes` - reusable [Security Scheme Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#securitySchemeObject) 13 | * Filename of files inside the folders represent component name, e.g. `Customer.yaml` 14 | -------------------------------------------------------------------------------- /openapi/components/headers/ExpiresAfter.yaml: -------------------------------------------------------------------------------- 1 | description: date in UTC when token expires 2 | schema: 3 | type: string 4 | format: date-time 5 | -------------------------------------------------------------------------------- /openapi/components/responses/Problem.yaml: -------------------------------------------------------------------------------- 1 | description: Problem 2 | content: 3 | application/problem+json: 4 | schema: 5 | $ref: ../schemas/Problem.yaml 6 | -------------------------------------------------------------------------------- /openapi/components/schemas/Admin.yaml: -------------------------------------------------------------------------------- 1 | description: "Example of a user profile with admin permissions. This type of user is also referred to as an **administrator**." 2 | allOf: 3 | - $ref: './User.yaml' 4 | - type: object 5 | properties: 6 | userType: 7 | type: string 8 | enum: 9 | - admin 10 | - basic 11 | adminDept: 12 | type: string 13 | description: "One or more departments which the admin user controls." 14 | default: all 15 | example: finance 16 | enum: 17 | - all 18 | - finance 19 | - hiring 20 | - development 21 | - support 22 | - contractors 23 | required: 24 | - adminDept 25 | - userType 26 | -------------------------------------------------------------------------------- /openapi/components/schemas/Basic.yaml: -------------------------------------------------------------------------------- 1 | description: "Example of a user with basic (restricted) permissions. In total, there are 5 permission levels, but basic users can only use the first three." 2 | allOf: 3 | - $ref: './User.yaml' 4 | - type: object 5 | properties: 6 | userType: 7 | type: string 8 | enum: 9 | - admin 10 | - basic 11 | permissionId: 12 | type: integer 13 | format: int32 14 | description: "Identifier of the permission level assigned to the basic user." 15 | default: 1 16 | minimum: 1 17 | maximum: 3 18 | required: 19 | - permissionId 20 | - userType 21 | -------------------------------------------------------------------------------- /openapi/components/schemas/Email.yaml: -------------------------------------------------------------------------------- 1 | description: "User's email address." 2 | type: string 3 | format: email 4 | example: bunny.rabbit@example.com 5 | -------------------------------------------------------------------------------- /openapi/components/schemas/ExampleObject.yaml: -------------------------------------------------------------------------------- 1 | type: object 2 | properties: 3 | id: 4 | description: "User ID." 5 | allOf: 6 | - $ref: './UserID.yaml' 7 | name: 8 | description: "Example name." 9 | type: string 10 | minLength: 1 11 | maxLength: 64 12 | example: BunnyRabbit 13 | container: 14 | description: "Example object within an object." 15 | type: object 16 | properties: 17 | number: 18 | type: integer 19 | description: "Example nullable value in a container object." 20 | example: 22 21 | -------------------------------------------------------------------------------- /openapi/components/schemas/Problem.yaml: -------------------------------------------------------------------------------- 1 | type: object 2 | additionalProperties: true 3 | minProperties: 1 4 | description: >- 5 | The Problem Details JSON Object 6 | [[RFC7807](https://tools.ietf.org/html/rfc7807)]. 7 | properties: 8 | type: 9 | type: string 10 | description: >- 11 | A URI reference [[RFC3986](https://tools.ietf.org/html/rfc3986)] that 12 | identifies the problem type. It should provide human-readable 13 | documentation for the problem type. When this member is not present, its 14 | value is assumed to be "about:blank". 15 | format: uri 16 | title: 17 | type: string 18 | description: >- 19 | A short, human-readable summary of the problem type. It SHOULD NOT change 20 | from occurrence to occurrence of the problem, except for purposes of 21 | localization. 22 | status: 23 | type: integer 24 | description: The HTTP status code. 25 | minimum: 400 26 | maximum: 599 27 | detail: 28 | type: string 29 | description: A human-readable explanation specific to this occurrence of the problem. 30 | instance: 31 | type: string 32 | description: >- 33 | A URI reference that identifies the specific occurrence of the problem. 34 | It may or may not yield further information if dereferenced. 35 | -------------------------------------------------------------------------------- /openapi/components/schemas/Schema.yaml: -------------------------------------------------------------------------------- 1 | type: object 2 | title: Scalars 3 | properties: 4 | stringProperty: 5 | description: Property name's description (type is string) 6 | type: string 7 | examples: 8 | - example 9 | - sample 10 | readOnlyStringProperty: 11 | description: Notice this only appears in the response. 12 | type: string 13 | readOnly: true 14 | examples: 15 | - example 16 | writeOnlyStringProperty: 17 | description: Notice this only appears in the request. 18 | type: string 19 | writeOnly: true 20 | examples: 21 | - example 22 | minLengthString: 23 | description: Property name's description (type is string) 24 | type: string 25 | minLength: 4 26 | examples: 27 | - example 28 | maxLengthString: 29 | description: Property name's description (type is string) 30 | type: string 31 | maxLength: 140 32 | examples: 33 | - example 34 | minAndMaxLengthString: 35 | description: Property name's description (type is string) 36 | type: string 37 | minLength: 4 38 | maxLength: 140 39 | examples: 40 | - example 41 | nullableOrStringProperty: 42 | description: Property name's description (type is string or null) 43 | type: 44 | - string 45 | - 'null' 46 | examples: 47 | - example 48 | stringEnumValues: 49 | description: Property name's description (type is string) 50 | type: string 51 | enum: 52 | - sample 53 | - example 54 | - specimen 55 | - case 56 | - instance 57 | - illustration 58 | stringDateTime: 59 | description: Property name's description (type is string, format is date-time) 60 | type: string 61 | format: date-time 62 | stringDate: 63 | description: Property name's description (type is string, format is date-time) 64 | type: string 65 | format: date 66 | stringEmail: 67 | description: Property name's description (type is string, format is email) 68 | type: string 69 | format: email 70 | stringIpAddressV4: 71 | description: Property name's description (type is string, format is ipv4 address) 72 | type: string 73 | format: ipv4 74 | stringIpAddressV6: 75 | description: Property name's description (type is string, format is ipv6 address) 76 | type: string 77 | format: ipv6 78 | stringPassword: 79 | description: Property name's description (type is string, format is password) 80 | type: string 81 | format: password 82 | stringHostname: 83 | description: Property name's description (type is string, format is hostname) 84 | type: string 85 | format: hostname 86 | stringUri: 87 | description: Property name's description (type is string, format is uri) 88 | type: string 89 | format: uri 90 | stringUuid: 91 | description: Property name's description (type is string, format is uuid) 92 | type: string 93 | format: uuid 94 | numberProperty: 95 | description: Property name's description (type is number) 96 | type: number 97 | example: 8 98 | numberFloat: 99 | description: Property name's description (type is number, format is float) 100 | type: number 101 | format: float 102 | numberDouble: 103 | description: Property name's description (type is number, format is double) 104 | type: number 105 | format: double 106 | numberGreaterThanOrEquals: 107 | description: Property name's description (type is number) 108 | type: number 109 | minimum: 5 110 | numberGreaterThan: 111 | description: Property name's description (type is number) 112 | type: number 113 | exclusiveMinimum: 5 114 | numberLessThan: 115 | description: Property name's description (type is number) 116 | type: number 117 | exclusiveMaximum: 8 118 | numberLessThanOrEquals: 119 | description: Property name's description (type is number) 120 | type: number 121 | maximum: 8 122 | numberRange: 123 | description: Property name's description (type is number) 124 | type: number 125 | minimum: 5 126 | maximum: 8 127 | numberRangeExclusiveMaximum: 128 | description: Property name's description (type is number) 129 | type: number 130 | minimum: 5 131 | exclusiveMaximum: 8 132 | numberRangeExclusiveMinimumAndMaximum: 133 | description: Property name's description (type is number) 134 | type: number 135 | exclusiveMinimum: 5 136 | exclusiveMaximum: 8 137 | numberMultipleOf: 138 | description: Property name's description (type is number) 139 | type: number 140 | multipleOf: 2 141 | integerType: 142 | description: Property name's description (type is integer) 143 | type: integer 144 | integer32bit: 145 | description: Property name's description (type is integer, format is int32) 146 | type: integer 147 | format: int32 148 | integer64bit: 149 | description: Property name's description (type is integer, format is int64) 150 | type: integer 151 | format: int64 152 | booleanProperty: 153 | description: Property name's description (type is boolean) 154 | type: boolean 155 | -------------------------------------------------------------------------------- /openapi/components/schemas/User.yaml: -------------------------------------------------------------------------------- 1 | type: object 2 | required: 3 | - username 4 | - status 5 | discriminator: 6 | propertyName: userType 7 | mapping: 8 | admin: './Admin.yaml' 9 | basic: './Basic.yaml' 10 | properties: 11 | username: 12 | description: "The username associated with the user profile." 13 | type: string 14 | minLength: 4 15 | maxLength: 32 16 | pattern: '/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])/' 17 | example: John78 18 | firstName: 19 | description: "User's first name." 20 | type: string 21 | minLength: 1 22 | example: Bunny 23 | lastName: 24 | description: "User's last name." 25 | type: string 26 | minLength: 1 27 | example: Rabbit 28 | email: 29 | $ref: './Email.yaml' 30 | exampleObject: 31 | description: "Example object to show an expanded schema." 32 | allOf: 33 | - $ref: './ExampleObject.yaml' 34 | phone: 35 | description: "User's phone number. Must be provided in international format." 36 | type: string 37 | pattern: '/^\+(?:[0-9]-?){6,14}[0-9]$/' 38 | maxLength: 32 39 | example: +4-0800-555-0110 40 | profileUrls: 41 | description: "The list of URLs to user's social media profiles. You must provide the URLs with the scheme (`http` or `https`)." 42 | type: array 43 | maxItems: 10 44 | xml: 45 | name: profileUrl 46 | wrapped: true 47 | items: 48 | type: string 49 | format: url 50 | example: ['https://twitter.com/example', 'https://instagram.com/example'] 51 | recursiveProperty: 52 | allOf: 53 | - $ref: './User.yaml' 54 | status: 55 | description: "Status of the user account." 56 | type: array 57 | minItems: 1 58 | items: 59 | type: string 60 | enum: 61 | - active 62 | - banned 63 | - inactive 64 | userid: 65 | description: "Unique ID of the user." 66 | externalDocs: 67 | description: Example of external documentation link 68 | url: 'https://example.com' 69 | allOf: 70 | - $ref: './UserID.yaml' 71 | xml: 72 | name: User 73 | -------------------------------------------------------------------------------- /openapi/components/schemas/UserID.yaml: -------------------------------------------------------------------------------- 1 | type: integer 2 | format: int64 3 | readOnly: true 4 | example: 27 -------------------------------------------------------------------------------- /openapi/openapi.yaml: -------------------------------------------------------------------------------- 1 | openapi: 3.1.0 2 | info: 3 | version: 1.0.0 4 | title: Example API 5 | termsOfService: https://example.com/terms/ 6 | contact: 7 | name: Contact our support 8 | email: contact@example.com 9 | url: http://example.com/contact 10 | license: 11 | name: Apache 2.0 12 | url: http://www.apache.org/licenses/LICENSE-2.0.html 13 | x-logo: 14 | url: 'https://redocly.github.io/openapi-template/logo.png' 15 | altText: OpenAPI example logo 16 | description: > 17 | This is an **example** API to demonstrate features of the OpenAPI 18 | specification. 19 | 20 | # Introduction 21 | 22 | This API definition is intended to to be a good starting point for 23 | describing your API in [OpenAPI/Swagger 24 | format](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md). 25 | 26 | It also demonstrates features of the 27 | [create-openapi-repo](https://github.com/Redocly/create-openapi-repo) tool 28 | and the [Redoc](https://github.com/Redocly/Redoc) documentation engine. Beyond 29 | the standard OpenAPI syntax, we use a few 30 | [vendor extensions](https://github.com/Redocly/Redoc/blob/main/docs/redoc-vendor-extensions.md). 31 | 32 | # OpenAPI Specification 33 | 34 | The goal of The OpenAPI Specification is to define a standard, language-agnostic interface to REST APIs which 35 | allows both humans and computers to discover and understand the capabilities 36 | of the service without access to source 37 | code, documentation, or through network traffic inspection. When properly 38 | defined via OpenAPI, a consumer can 39 | understand and interact with the remote service with a minimal amount of 40 | implementation logic. Similar to what 41 | interfaces have done for lower-level programming, OpenAPI removes the 42 | guesswork in calling the service. 43 | externalDocs: 44 | description: "Find out how to create a GitHub repo for your OpenAPI definition." 45 | url: 'https://github.com/Redocly/create-openapi-repo' 46 | tags: 47 | - name: Echo 48 | description: "Example echo operations." 49 | - name: User 50 | description: "Example actions on user accounts." 51 | - name: Admin 52 | description: "Example operations reserved for administrators." 53 | - name: Info 54 | description: "Example operations for retrieving information." 55 | - name: Tag 56 | description: "This is a tag description." 57 | x-tagGroups: 58 | - name: General 59 | tags: 60 | - User 61 | - Info 62 | - Echo 63 | - name: Administration 64 | tags: 65 | - Admin 66 | servers: 67 | - url: https://{tenant}/api/v1 68 | variables: 69 | tenant: 70 | default: www 71 | description: Your tenant id 72 | - url: https://example.com/api/v1 73 | paths: 74 | '/users/{username}': 75 | $ref: 'paths/users_{username}.yaml' 76 | '/user': 77 | $ref: 'paths/user.yaml' 78 | '/user/list': 79 | $ref: 'paths/user-status.yaml' 80 | /pathItem: 81 | $ref: paths/pathItem.yaml 82 | /pathItemWithExamples: 83 | $ref: paths/pathItemWithExamples.yaml 84 | '/echo': 85 | $ref: 'paths/echo.yaml' 86 | components: 87 | securitySchemes: 88 | main_auth: 89 | description: "Example description text of the OAuth2 scheme." 90 | type: oauth2 91 | flows: 92 | implicit: 93 | authorizationUrl: http://example.com/api/oauth/dialog 94 | scopes: 95 | 'read:users': read user info 96 | 'write:users': modify or remove users 97 | api_key: 98 | description: "Example description text of the API key scheme." 99 | type: apiKey 100 | in: header 101 | name: api_key 102 | basic_auth: 103 | type: http 104 | scheme: basic 105 | webhooks: 106 | userInfo: 107 | post: 108 | summary: New user webhook 109 | description: "Information about a new user in the system." 110 | operationId: userInfo 111 | tags: 112 | - Info 113 | requestBody: 114 | content: 115 | application/json: 116 | schema: 117 | $ref: 'components/schemas/User.yaml' 118 | responses: 119 | '200': 120 | description: "Successfully retrieved information about a new user." 121 | security: 122 | - api_key: [] 123 | -------------------------------------------------------------------------------- /openapi/paths/README.md: -------------------------------------------------------------------------------- 1 | # Paths 2 | 3 | Organize your path definitions within this folder. You will reference your paths from your main `openapi.yaml` entrypoint file. 4 | 5 | It may help you to adopt some conventions: 6 | 7 | * path separator token (e.g. `_`) or subfolders 8 | * path parameter (e.g. `{example}`) 9 | * file-per-path or file-per-operation 10 | 11 | There are different benefits and drawbacks to each decision. 12 | 13 | You can adopt any organization you wish. We have some tips for organizing paths based on common practices. 14 | 15 | ## Each path in a separate file 16 | 17 | Use a predefined "path separator" and keep all of your path files in the top level of the `paths` folder. 18 | 19 | ``` 20 | ├── echo.yaml 21 | ├── path-item-with-examples.yaml 22 | ├── path-item.yaml 23 | └── users_{username}.yaml 24 | ``` 25 | 26 | Redocly recommends using the `_` character for this case. 27 | 28 | In addition, Redocly recommends placing path parameters within `{}` curly braces if you adopt this style. 29 | 30 | #### Motivations 31 | 32 | * Quickly see a list of all paths. Many people think in terms of the "number" of "endpoints" (paths), and not the "number" of "operations" (paths * http methods). 33 | 34 | * Only the "file-per-path" option is semantically correct with the OpenAPI Specification 3.0.2. However, Redocly's openapi-cli will build valid bundles for any of the other options too. 35 | 36 | 37 | #### Drawbacks 38 | 39 | * This may require multiple definitions per http method within a single file. 40 | * It requires settling on a path separator (that is allowed to be used in filenames) and sticking to that convention. 41 | 42 | ## Each operation in a separate file 43 | 44 | You may also place each operation in a separate file. 45 | 46 | In this case, if you want all paths at the top-level, you can concatenate the http method to the path name. Similar to the above option, you can 47 | 48 | ### Files at top-level of `paths` 49 | 50 | You may name your files with some concatenation for the http method. For example, following a convention such as: `-.yaml`. 51 | 52 | #### Motivations 53 | 54 | * Quickly see all operations without needing to navigate subfolders. 55 | 56 | #### Drawbacks 57 | 58 | * Adopting an unusual path separator convention, instead of using subfolders. 59 | 60 | ### Use subfolders to mirror API path structure 61 | 62 | Example: 63 | ``` 64 | GET /customers 65 | 66 | /paths/customers/get.yaml 67 | ``` 68 | 69 | In this case, the path id defined within subfolders which mirror the API URL structure. 70 | 71 | Example with path parameter: 72 | ``` 73 | GET /customers/{id} 74 | 75 | /paths/customers/{id}/get.yaml 76 | ``` 77 | 78 | #### Motivations 79 | 80 | It matches the URL structure. 81 | 82 | It is pretty easy to reference: 83 | 84 | ```yaml 85 | paths: 86 | '/customers/{id}': 87 | get: 88 | $ref: ./paths/customers/{id}/get.yaml 89 | put: 90 | $ref: ./paths/customers/{id}/put.yaml 91 | ``` 92 | 93 | #### Drawbacks 94 | 95 | If you have a lot of nested folders, it may be confusing to reference your schemas. 96 | 97 | Example 98 | ``` 99 | file: /paths/customers/{id}/timeline/{messageId}/get.yaml 100 | 101 | # excerpt of file 102 | headers: 103 | Rate-Limit-Remaining: 104 | $ref: ../../../../../components/headers/Rate-Limit-Remaining.yaml 105 | 106 | ``` 107 | Notice the `../../../../../` in the ref which requires some attention to formulate correctly. While openapi-cli has a linter which suggests possible refs when there is a mistake, this is still a net drawback for APIs with deep paths. 108 | -------------------------------------------------------------------------------- /openapi/paths/echo.yaml: -------------------------------------------------------------------------------- 1 | post: 2 | tags: 3 | - Echo 4 | summary: Echo test 5 | description: "This endpoint returns the exact message you've sent to it. You can use it for testing purposes." 6 | operationId: echo 7 | security: 8 | - api_key: [] 9 | - basic_auth: [] 10 | responses: 11 | '200': 12 | description: OK 13 | headers: 14 | X-Rate-Limit: 15 | description: "Calls per hour allowed by the user." 16 | schema: 17 | type: integer 18 | format: int32 19 | X-Expires-After: 20 | $ref: ../components/headers/ExpiresAfter.yaml 21 | content: 22 | application/json: 23 | schema: 24 | type: string 25 | examples: 26 | response: 27 | value: 'Hello world!' 28 | application/xml: 29 | schema: 30 | type: string 31 | examples: 32 | xml: 33 | value: 'Hello world in XML!' 34 | text/csv: 35 | schema: 36 | type: string 37 | '400': 38 | description: Unauthorized 39 | requestBody: 40 | content: 41 | application/json: 42 | schema: 43 | type: string 44 | example: 'Hello world!' 45 | application/xml: 46 | schema: 47 | type: string 48 | example: 'Hello world in XML!' 49 | description: "Example Echo payload. When the response is received, its contents should match the contents from the payload." 50 | required: true 51 | x-codeSamples: 52 | - lang: C# 53 | source: 54 | $ref: '../code_samples/C_sharp/echo/post.cs' 55 | - lang: PHP 56 | source: 57 | $ref: '../code_samples/PHP/echo/post.php' 58 | -------------------------------------------------------------------------------- /openapi/paths/pathItem.yaml: -------------------------------------------------------------------------------- 1 | post: 2 | tags: 3 | - Tag 4 | summary: Operation summary 5 | description: | 6 | Operation description **Markdown**. 7 | operationId: operationId 8 | security: 9 | - api_key: [] 10 | - basic_auth: [] 11 | requestBody: 12 | content: 13 | application/json: 14 | schema: 15 | $ref: ../components/schemas/Schema.yaml 16 | description: requestBody description 17 | required: true 18 | responses: 19 | '200': 20 | description: OK 21 | headers: 22 | X-Rate-Limit: 23 | description: Calls per hour allowed by the user. 24 | schema: 25 | type: integer 26 | format: int32 27 | X-Expires-After: 28 | $ref: ../components/headers/ExpiresAfter.yaml 29 | content: 30 | application/json: 31 | schema: 32 | $ref: ../components/schemas/Schema.yaml 33 | '400': 34 | $ref: ../components/responses/Problem.yaml 35 | -------------------------------------------------------------------------------- /openapi/paths/pathItemWithExamples.yaml: -------------------------------------------------------------------------------- 1 | post: 2 | tags: 3 | - Tag 4 | summary: Operation summary with examples 5 | description: | 6 | Operation description **markdown**. 7 | operationId: postPathItemWithExamples 8 | security: 9 | - api_key: [] 10 | - basic_auth: [] 11 | requestBody: 12 | content: 13 | application/json: 14 | schema: 15 | $ref: ../components/schemas/Schema.yaml 16 | examples: 17 | mapName: 18 | summary: My first example 19 | description: My first example's description. 20 | value: 21 | stringProperty: tada 22 | mapNameDoesNotShowInDocsUnlessSummaryIsNotProvided: 23 | value: 24 | stringProperty: checkmark 25 | description: requestBody description 26 | required: true 27 | responses: 28 | '200': 29 | description: OK 30 | headers: 31 | X-Rate-Limit: 32 | description: calls per hour allowed by the user 33 | schema: 34 | type: integer 35 | format: int32 36 | X-Expires-After: 37 | $ref: ../components/headers/ExpiresAfter.yaml 38 | content: 39 | application/json: 40 | schema: 41 | $ref: ../components/schemas/Schema.yaml 42 | '400': 43 | $ref: ../components/responses/Problem.yaml 44 | -------------------------------------------------------------------------------- /openapi/paths/user-status.yaml: -------------------------------------------------------------------------------- 1 | get: 2 | tags: 3 | - Admin 4 | summary: List users by status 5 | description: "This operation lets you list users by their status. Multiple status values can be provided in a single request by using comma-separated strings. Only administrators can use this operation.\n \n**This is an example of a deprecated operation.**" 6 | operationId: userStatus 7 | deprecated: true 8 | parameters: 9 | - name: status 10 | in: query 11 | description: "One or more user status values by which to look up user accounts." 12 | required: true 13 | style: form 14 | explode: false 15 | schema: 16 | type: array 17 | uniqueItems: true 18 | minItems: 1 19 | maxItems: 3 20 | items: 21 | type: string 22 | enum: 23 | - active 24 | - banned 25 | - inactive 26 | default: active 27 | responses: 28 | '200': 29 | description: Successful response example 30 | content: 31 | application/json: 32 | schema: 33 | type: array 34 | items: 35 | $ref: '../components/schemas/User.yaml' 36 | application/xml: 37 | schema: 38 | type: array 39 | items: 40 | $ref: '../components/schemas/User.yaml' 41 | text/plain: 42 | examples: 43 | response: 44 | value: Success! 45 | '400': 46 | description: Invalid status value was provided in the request 47 | security: 48 | - main_auth: 49 | - 'read:users' 50 | - 'write:users' 51 | -------------------------------------------------------------------------------- /openapi/paths/user.yaml: -------------------------------------------------------------------------------- 1 | parameters: 2 | - name: Accept-Language 3 | in: header 4 | description: "The language you prefer for messages. Supported values are `en-AU, en-CA, en-GB, en-US`." 5 | example: en-US 6 | required: false 7 | schema: 8 | type: string 9 | default: en-GB 10 | - name: cookieParam 11 | in: cookie 12 | description: "Example cookie parameter." 13 | required: true 14 | schema: 15 | type: integer 16 | format: int64 17 | post: 18 | tags: 19 | - Admin 20 | summary: Create a new user 21 | description: "This operation creates a new user profile. Only administrators can create user profiles." 22 | operationId: createUser 23 | responses: 24 | '200': 25 | description: Successfully created a user 26 | '405': 27 | description: Invalid input 28 | security: 29 | - main_auth: 30 | - 'read:users' 31 | - 'write:users' 32 | requestBody: 33 | content: 34 | application/json: 35 | schema: 36 | discriminator: 37 | propertyName: userType 38 | mapping: 39 | admin: '../components/schemas/Admin.yaml' 40 | basic: '../components/schemas/Basic.yaml' 41 | anyOf: 42 | - $ref: '../components/schemas/Admin.yaml' 43 | - $ref: '../components/schemas/Basic.yaml' 44 | application/xml: 45 | schema: 46 | type: object 47 | properties: 48 | name: 49 | type: string 50 | description: Example description 51 | description: "User profile to be added to the database." 52 | required: true 53 | -------------------------------------------------------------------------------- /openapi/paths/users_{username}.yaml: -------------------------------------------------------------------------------- 1 | parameters: 2 | - name: pretty_print 3 | in: query 4 | description: "Choose whether to pretty print the response. This option is **disabled** by default." 5 | schema: 6 | type: boolean 7 | default: false 8 | get: 9 | tags: 10 | - User 11 | summary: Get user by name 12 | description: | 13 | Example description of the operation. 14 | You can use `markdown` **here**. 15 | operationId: getUserByName 16 | parameters: 17 | - name: username 18 | in: path 19 | description: "The username for which you want to retrieve the data." 20 | example: John78 21 | required: true 22 | schema: 23 | type: string 24 | - name: with_email 25 | in: query 26 | description: "Use this parameter to filter users without email. By default, only users with email are displayed." 27 | schema: 28 | type: boolean 29 | default: true 30 | - name: userid 31 | in: query 32 | description: "ID of the user. This is an example of a **deprecated** parameter." 33 | required: false 34 | deprecated: true 35 | schema: 36 | type: integer 37 | format: int64 38 | security: 39 | - main_auth: 40 | - read:users 41 | - api_key: [] 42 | responses: 43 | '200': 44 | description: Success 45 | content: 46 | application/json: 47 | schema: 48 | $ref: '../components/schemas/User.yaml' 49 | example: 50 | username: 'user1' 51 | email: 'user@example.com' 52 | '403': 53 | description: Forbidden 54 | $ref: ../components/responses/Problem.yaml 55 | '404': 56 | description: User not found 57 | $ref: ../components/responses/Problem.yaml 58 | put: 59 | tags: 60 | - User 61 | summary: Update user data 62 | description: "This operation allows users to update the information in their own profile. The update can only be performed by the logged in user." 63 | operationId: updateUser 64 | parameters: 65 | - name: username 66 | in: path 67 | description: "The name of the user profile to be **updated**." 68 | required: true 69 | schema: 70 | type: string 71 | security: 72 | - main_auth: 73 | - 'write:users' 74 | requestBody: 75 | content: 76 | application/json: 77 | schema: 78 | $ref: '../components/schemas/User.yaml' 79 | application/xml: 80 | schema: 81 | $ref: '../components/schemas/User.yaml' 82 | description: Updated user object 83 | required: true 84 | responses: 85 | '200': 86 | description: Successfully updated the user profile 87 | content: 88 | application/json: 89 | example: 90 | status: 200 91 | message: OK 92 | '400': 93 | description: Invalid username supplied 94 | $ref: ../components/responses/Problem.yaml 95 | '404': 96 | description: User not found 97 | $ref: ../components/responses/Problem.yaml 98 | '405': 99 | description: Method not allowed 100 | content: 101 | application/json: 102 | example: 103 | status: 405 104 | message: Not allowed 105 | delete: 106 | tags: 107 | - Admin 108 | summary: Delete a user 109 | description: "This operation deletes all data associated with the requested `username`. Only administrators can perform this operation." 110 | operationId: deleteUser 111 | parameters: 112 | - name: api_key 113 | in: header 114 | required: false 115 | schema: 116 | type: string 117 | example: 'Bearer ' 118 | - name: username 119 | in: path 120 | description: "The name of the user profile to be **deleted**." 121 | example: John78 122 | required: true 123 | schema: 124 | type: string 125 | responses: 126 | '200': 127 | description: Successfully deleted a user 128 | '400': 129 | description: Invalid username provided 130 | '404': 131 | description: User not found 132 | security: 133 | - main_auth: 134 | - 'read:users' 135 | - 'write:users' 136 | - api_key: [] 137 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "acme-api", 3 | "version": "1.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "acme-api", 9 | "version": "1.0.0", 10 | "dependencies": { 11 | "@redocly/cli": "1.28.5" 12 | } 13 | }, 14 | "node_modules/@babel/runtime": { 15 | "version": "7.27.1", 16 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz", 17 | "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==", 18 | "license": "MIT", 19 | "engines": { 20 | "node": ">=6.9.0" 21 | } 22 | }, 23 | "node_modules/@emotion/is-prop-valid": { 24 | "version": "1.2.2", 25 | "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", 26 | "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", 27 | "dependencies": { 28 | "@emotion/memoize": "^0.8.1" 29 | } 30 | }, 31 | "node_modules/@emotion/memoize": { 32 | "version": "0.8.1", 33 | "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", 34 | "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" 35 | }, 36 | "node_modules/@emotion/unitless": { 37 | "version": "0.8.1", 38 | "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", 39 | "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" 40 | }, 41 | "node_modules/@exodus/schemasafe": { 42 | "version": "1.3.0", 43 | "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz", 44 | "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==" 45 | }, 46 | "node_modules/@redocly/ajv": { 47 | "version": "8.11.2", 48 | "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.2.tgz", 49 | "integrity": "sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==", 50 | "dependencies": { 51 | "fast-deep-equal": "^3.1.1", 52 | "json-schema-traverse": "^1.0.0", 53 | "require-from-string": "^2.0.2", 54 | "uri-js-replace": "^1.0.1" 55 | }, 56 | "funding": { 57 | "type": "github", 58 | "url": "https://github.com/sponsors/epoberezkin" 59 | } 60 | }, 61 | "node_modules/@redocly/cli": { 62 | "version": "1.28.5", 63 | "resolved": "https://registry.npmjs.org/@redocly/cli/-/cli-1.28.5.tgz", 64 | "integrity": "sha512-06EIhhqW9tmrlGutpZFFqjnNTIX7wXHvP7BBw6vKJjy6nd++9nHz+B8feeeoJHC7Q2vK7XoCuOMDzqY6BNCCug==", 65 | "dependencies": { 66 | "@redocly/openapi-core": "1.28.5", 67 | "abort-controller": "^3.0.0", 68 | "chokidar": "^3.5.1", 69 | "colorette": "^1.2.0", 70 | "core-js": "^3.32.1", 71 | "form-data": "^4.0.0", 72 | "get-port-please": "^3.0.1", 73 | "glob": "^7.1.6", 74 | "handlebars": "^4.7.6", 75 | "mobx": "^6.0.4", 76 | "pluralize": "^8.0.0", 77 | "react": "^17.0.0 || ^18.2.0 || ^19.0.0", 78 | "react-dom": "^17.0.0 || ^18.2.0 || ^19.0.0", 79 | "redoc": "2.4.0", 80 | "semver": "^7.5.2", 81 | "simple-websocket": "^9.0.0", 82 | "styled-components": "^6.0.7", 83 | "yargs": "17.0.1" 84 | }, 85 | "bin": { 86 | "openapi": "bin/cli.js", 87 | "redocly": "bin/cli.js" 88 | }, 89 | "engines": { 90 | "node": ">=18.17.0", 91 | "npm": ">=9.5.0" 92 | } 93 | }, 94 | "node_modules/@redocly/config": { 95 | "version": "0.20.3", 96 | "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.20.3.tgz", 97 | "integrity": "sha512-Nyyv1Bj7GgYwj/l46O0nkH1GTKWbO3Ixe7KFcn021aZipkZd+z8Vlu1BwkhqtVgivcKaClaExtWU/lDHkjBzag==" 98 | }, 99 | "node_modules/@redocly/openapi-core": { 100 | "version": "1.28.5", 101 | "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.28.5.tgz", 102 | "integrity": "sha512-eAuL+x1oBbodJksPm4UpFU57A6z1n1rx9JNpD87CObwtbRf5EzW29Ofd0t057bPGcHc8cYZtZzJ69dcRQ9xGdg==", 103 | "dependencies": { 104 | "@redocly/ajv": "^8.11.2", 105 | "@redocly/config": "^0.20.1", 106 | "colorette": "^1.2.0", 107 | "https-proxy-agent": "^7.0.5", 108 | "js-levenshtein": "^1.1.6", 109 | "js-yaml": "^4.1.0", 110 | "minimatch": "^5.0.1", 111 | "pluralize": "^8.0.0", 112 | "yaml-ast-parser": "0.0.43" 113 | }, 114 | "engines": { 115 | "node": ">=18.17.0", 116 | "npm": ">=9.5.0" 117 | } 118 | }, 119 | "node_modules/@redocly/openapi-core/node_modules/brace-expansion": { 120 | "version": "2.0.1", 121 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 122 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 123 | "dependencies": { 124 | "balanced-match": "^1.0.0" 125 | } 126 | }, 127 | "node_modules/@redocly/openapi-core/node_modules/minimatch": { 128 | "version": "5.1.6", 129 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", 130 | "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", 131 | "dependencies": { 132 | "brace-expansion": "^2.0.1" 133 | }, 134 | "engines": { 135 | "node": ">=10" 136 | } 137 | }, 138 | "node_modules/@types/json-schema": { 139 | "version": "7.0.15", 140 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 141 | "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" 142 | }, 143 | "node_modules/@types/stylis": { 144 | "version": "4.2.5", 145 | "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", 146 | "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==" 147 | }, 148 | "node_modules/@types/trusted-types": { 149 | "version": "2.0.7", 150 | "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", 151 | "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", 152 | "optional": true 153 | }, 154 | "node_modules/abort-controller": { 155 | "version": "3.0.0", 156 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", 157 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", 158 | "dependencies": { 159 | "event-target-shim": "^5.0.0" 160 | }, 161 | "engines": { 162 | "node": ">=6.5" 163 | } 164 | }, 165 | "node_modules/agent-base": { 166 | "version": "7.1.3", 167 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", 168 | "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", 169 | "engines": { 170 | "node": ">= 14" 171 | } 172 | }, 173 | "node_modules/ansi-regex": { 174 | "version": "5.0.1", 175 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 176 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 177 | "engines": { 178 | "node": ">=8" 179 | } 180 | }, 181 | "node_modules/ansi-styles": { 182 | "version": "4.3.0", 183 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 184 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 185 | "dependencies": { 186 | "color-convert": "^2.0.1" 187 | }, 188 | "engines": { 189 | "node": ">=8" 190 | }, 191 | "funding": { 192 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 193 | } 194 | }, 195 | "node_modules/anymatch": { 196 | "version": "3.1.2", 197 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 198 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 199 | "dependencies": { 200 | "normalize-path": "^3.0.0", 201 | "picomatch": "^2.0.4" 202 | }, 203 | "engines": { 204 | "node": ">= 8" 205 | } 206 | }, 207 | "node_modules/argparse": { 208 | "version": "2.0.1", 209 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 210 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" 211 | }, 212 | "node_modules/asynckit": { 213 | "version": "0.4.0", 214 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 215 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 216 | }, 217 | "node_modules/balanced-match": { 218 | "version": "1.0.2", 219 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 220 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 221 | }, 222 | "node_modules/binary-extensions": { 223 | "version": "2.2.0", 224 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 225 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 226 | "engines": { 227 | "node": ">=8" 228 | } 229 | }, 230 | "node_modules/brace-expansion": { 231 | "version": "1.1.11", 232 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 233 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 234 | "dependencies": { 235 | "balanced-match": "^1.0.0", 236 | "concat-map": "0.0.1" 237 | } 238 | }, 239 | "node_modules/braces": { 240 | "version": "3.0.3", 241 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 242 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 243 | "license": "MIT", 244 | "dependencies": { 245 | "fill-range": "^7.1.1" 246 | }, 247 | "engines": { 248 | "node": ">=8" 249 | } 250 | }, 251 | "node_modules/call-me-maybe": { 252 | "version": "1.0.2", 253 | "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", 254 | "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==" 255 | }, 256 | "node_modules/camelize": { 257 | "version": "1.0.1", 258 | "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", 259 | "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", 260 | "funding": { 261 | "url": "https://github.com/sponsors/ljharb" 262 | } 263 | }, 264 | "node_modules/chokidar": { 265 | "version": "3.5.1", 266 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", 267 | "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", 268 | "dependencies": { 269 | "anymatch": "~3.1.1", 270 | "braces": "~3.0.2", 271 | "glob-parent": "~5.1.0", 272 | "is-binary-path": "~2.1.0", 273 | "is-glob": "~4.0.1", 274 | "normalize-path": "~3.0.0", 275 | "readdirp": "~3.5.0" 276 | }, 277 | "engines": { 278 | "node": ">= 8.10.0" 279 | }, 280 | "optionalDependencies": { 281 | "fsevents": "~2.3.1" 282 | } 283 | }, 284 | "node_modules/classnames": { 285 | "version": "2.5.1", 286 | "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", 287 | "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" 288 | }, 289 | "node_modules/cliui": { 290 | "version": "7.0.4", 291 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 292 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 293 | "dependencies": { 294 | "string-width": "^4.2.0", 295 | "strip-ansi": "^6.0.0", 296 | "wrap-ansi": "^7.0.0" 297 | } 298 | }, 299 | "node_modules/clsx": { 300 | "version": "2.1.1", 301 | "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", 302 | "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", 303 | "engines": { 304 | "node": ">=6" 305 | } 306 | }, 307 | "node_modules/color-convert": { 308 | "version": "2.0.1", 309 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 310 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 311 | "dependencies": { 312 | "color-name": "~1.1.4" 313 | }, 314 | "engines": { 315 | "node": ">=7.0.0" 316 | } 317 | }, 318 | "node_modules/color-name": { 319 | "version": "1.1.4", 320 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 321 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 322 | }, 323 | "node_modules/colorette": { 324 | "version": "1.4.0", 325 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", 326 | "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" 327 | }, 328 | "node_modules/combined-stream": { 329 | "version": "1.0.8", 330 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 331 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 332 | "dependencies": { 333 | "delayed-stream": "~1.0.0" 334 | }, 335 | "engines": { 336 | "node": ">= 0.8" 337 | } 338 | }, 339 | "node_modules/concat-map": { 340 | "version": "0.0.1", 341 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 342 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 343 | }, 344 | "node_modules/core-js": { 345 | "version": "3.40.0", 346 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.40.0.tgz", 347 | "integrity": "sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==", 348 | "hasInstallScript": true, 349 | "funding": { 350 | "type": "opencollective", 351 | "url": "https://opencollective.com/core-js" 352 | } 353 | }, 354 | "node_modules/css-color-keywords": { 355 | "version": "1.0.0", 356 | "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", 357 | "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", 358 | "engines": { 359 | "node": ">=4" 360 | } 361 | }, 362 | "node_modules/css-to-react-native": { 363 | "version": "3.2.0", 364 | "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", 365 | "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", 366 | "dependencies": { 367 | "camelize": "^1.0.0", 368 | "css-color-keywords": "^1.0.0", 369 | "postcss-value-parser": "^4.0.2" 370 | } 371 | }, 372 | "node_modules/csstype": { 373 | "version": "3.1.3", 374 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", 375 | "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" 376 | }, 377 | "node_modules/debug": { 378 | "version": "4.3.7", 379 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", 380 | "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", 381 | "dependencies": { 382 | "ms": "^2.1.3" 383 | }, 384 | "engines": { 385 | "node": ">=6.0" 386 | }, 387 | "peerDependenciesMeta": { 388 | "supports-color": { 389 | "optional": true 390 | } 391 | } 392 | }, 393 | "node_modules/decko": { 394 | "version": "1.2.0", 395 | "resolved": "https://registry.npmjs.org/decko/-/decko-1.2.0.tgz", 396 | "integrity": "sha512-m8FnyHXV1QX+S1cl+KPFDIl6NMkxtKsy6+U/aYyjrOqWMuwAwYWu7ePqrsUHtDR5Y8Yk2pi/KIDSgF+vT4cPOQ==" 397 | }, 398 | "node_modules/delayed-stream": { 399 | "version": "1.0.0", 400 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 401 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 402 | "engines": { 403 | "node": ">=0.4.0" 404 | } 405 | }, 406 | "node_modules/dompurify": { 407 | "version": "3.2.4", 408 | "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.4.tgz", 409 | "integrity": "sha512-ysFSFEDVduQpyhzAob/kkuJjf5zWkZD8/A9ywSp1byueyuCfHamrCBa14/Oc2iiB0e51B+NpxSl5gmzn+Ms/mg==", 410 | "optionalDependencies": { 411 | "@types/trusted-types": "^2.0.7" 412 | } 413 | }, 414 | "node_modules/emoji-regex": { 415 | "version": "8.0.0", 416 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 417 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 418 | }, 419 | "node_modules/es6-promise": { 420 | "version": "3.3.1", 421 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", 422 | "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==" 423 | }, 424 | "node_modules/escalade": { 425 | "version": "3.2.0", 426 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 427 | "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 428 | "engines": { 429 | "node": ">=6" 430 | } 431 | }, 432 | "node_modules/event-target-shim": { 433 | "version": "5.0.1", 434 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", 435 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", 436 | "engines": { 437 | "node": ">=6" 438 | } 439 | }, 440 | "node_modules/eventemitter3": { 441 | "version": "5.0.1", 442 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", 443 | "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" 444 | }, 445 | "node_modules/fast-deep-equal": { 446 | "version": "3.1.3", 447 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 448 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 449 | }, 450 | "node_modules/fast-safe-stringify": { 451 | "version": "2.1.1", 452 | "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", 453 | "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" 454 | }, 455 | "node_modules/fast-xml-parser": { 456 | "version": "4.5.1", 457 | "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.1.tgz", 458 | "integrity": "sha512-y655CeyUQ+jj7KBbYMc4FG01V8ZQqjN+gDYGJ50RtfsUB8iG9AmwmwoAgeKLJdmueKKMrH1RJ7yXHTSoczdv5w==", 459 | "funding": [ 460 | { 461 | "type": "github", 462 | "url": "https://github.com/sponsors/NaturalIntelligence" 463 | }, 464 | { 465 | "type": "paypal", 466 | "url": "https://paypal.me/naturalintelligence" 467 | } 468 | ], 469 | "dependencies": { 470 | "strnum": "^1.0.5" 471 | }, 472 | "bin": { 473 | "fxparser": "src/cli/cli.js" 474 | } 475 | }, 476 | "node_modules/fill-range": { 477 | "version": "7.1.1", 478 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 479 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 480 | "license": "MIT", 481 | "dependencies": { 482 | "to-regex-range": "^5.0.1" 483 | }, 484 | "engines": { 485 | "node": ">=8" 486 | } 487 | }, 488 | "node_modules/foreach": { 489 | "version": "2.0.6", 490 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz", 491 | "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==" 492 | }, 493 | "node_modules/form-data": { 494 | "version": "4.0.0", 495 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 496 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 497 | "dependencies": { 498 | "asynckit": "^0.4.0", 499 | "combined-stream": "^1.0.8", 500 | "mime-types": "^2.1.12" 501 | }, 502 | "engines": { 503 | "node": ">= 6" 504 | } 505 | }, 506 | "node_modules/fs.realpath": { 507 | "version": "1.0.0", 508 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 509 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 510 | }, 511 | "node_modules/fsevents": { 512 | "version": "2.3.2", 513 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 514 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 515 | "optional": true, 516 | "os": [ 517 | "darwin" 518 | ], 519 | "engines": { 520 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 521 | } 522 | }, 523 | "node_modules/get-caller-file": { 524 | "version": "2.0.5", 525 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 526 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 527 | "engines": { 528 | "node": "6.* || 8.* || >= 10.*" 529 | } 530 | }, 531 | "node_modules/get-port-please": { 532 | "version": "3.1.2", 533 | "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", 534 | "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==" 535 | }, 536 | "node_modules/glob": { 537 | "version": "7.1.7", 538 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", 539 | "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", 540 | "dependencies": { 541 | "fs.realpath": "^1.0.0", 542 | "inflight": "^1.0.4", 543 | "inherits": "2", 544 | "minimatch": "^3.0.4", 545 | "once": "^1.3.0", 546 | "path-is-absolute": "^1.0.0" 547 | }, 548 | "engines": { 549 | "node": "*" 550 | } 551 | }, 552 | "node_modules/glob-parent": { 553 | "version": "5.1.2", 554 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 555 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 556 | "dependencies": { 557 | "is-glob": "^4.0.1" 558 | }, 559 | "engines": { 560 | "node": ">= 6" 561 | } 562 | }, 563 | "node_modules/handlebars": { 564 | "version": "4.7.7", 565 | "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", 566 | "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", 567 | "dependencies": { 568 | "minimist": "^1.2.5", 569 | "neo-async": "^2.6.0", 570 | "source-map": "^0.6.1", 571 | "wordwrap": "^1.0.0" 572 | }, 573 | "bin": { 574 | "handlebars": "bin/handlebars" 575 | }, 576 | "engines": { 577 | "node": ">=0.4.7" 578 | }, 579 | "optionalDependencies": { 580 | "uglify-js": "^3.1.4" 581 | } 582 | }, 583 | "node_modules/http2-client": { 584 | "version": "1.3.5", 585 | "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz", 586 | "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==" 587 | }, 588 | "node_modules/https-proxy-agent": { 589 | "version": "7.0.6", 590 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", 591 | "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", 592 | "dependencies": { 593 | "agent-base": "^7.1.2", 594 | "debug": "4" 595 | }, 596 | "engines": { 597 | "node": ">= 14" 598 | } 599 | }, 600 | "node_modules/inflight": { 601 | "version": "1.0.6", 602 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 603 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 604 | "dependencies": { 605 | "once": "^1.3.0", 606 | "wrappy": "1" 607 | } 608 | }, 609 | "node_modules/inherits": { 610 | "version": "2.0.4", 611 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 612 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 613 | }, 614 | "node_modules/is-binary-path": { 615 | "version": "2.1.0", 616 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 617 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 618 | "dependencies": { 619 | "binary-extensions": "^2.0.0" 620 | }, 621 | "engines": { 622 | "node": ">=8" 623 | } 624 | }, 625 | "node_modules/is-extglob": { 626 | "version": "2.1.1", 627 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 628 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 629 | "engines": { 630 | "node": ">=0.10.0" 631 | } 632 | }, 633 | "node_modules/is-fullwidth-code-point": { 634 | "version": "3.0.0", 635 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 636 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 637 | "engines": { 638 | "node": ">=8" 639 | } 640 | }, 641 | "node_modules/is-glob": { 642 | "version": "4.0.1", 643 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 644 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 645 | "dependencies": { 646 | "is-extglob": "^2.1.1" 647 | }, 648 | "engines": { 649 | "node": ">=0.10.0" 650 | } 651 | }, 652 | "node_modules/is-number": { 653 | "version": "7.0.0", 654 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 655 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 656 | "license": "MIT", 657 | "engines": { 658 | "node": ">=0.12.0" 659 | } 660 | }, 661 | "node_modules/js-levenshtein": { 662 | "version": "1.1.6", 663 | "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", 664 | "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", 665 | "engines": { 666 | "node": ">=0.10.0" 667 | } 668 | }, 669 | "node_modules/js-tokens": { 670 | "version": "4.0.0", 671 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 672 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 673 | }, 674 | "node_modules/js-yaml": { 675 | "version": "4.1.0", 676 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 677 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 678 | "dependencies": { 679 | "argparse": "^2.0.1" 680 | }, 681 | "bin": { 682 | "js-yaml": "bin/js-yaml.js" 683 | } 684 | }, 685 | "node_modules/json-pointer": { 686 | "version": "0.6.2", 687 | "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz", 688 | "integrity": "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==", 689 | "dependencies": { 690 | "foreach": "^2.0.4" 691 | } 692 | }, 693 | "node_modules/json-schema-traverse": { 694 | "version": "1.0.0", 695 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 696 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" 697 | }, 698 | "node_modules/loose-envify": { 699 | "version": "1.4.0", 700 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 701 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 702 | "dependencies": { 703 | "js-tokens": "^3.0.0 || ^4.0.0" 704 | }, 705 | "bin": { 706 | "loose-envify": "cli.js" 707 | } 708 | }, 709 | "node_modules/lru-cache": { 710 | "version": "6.0.0", 711 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 712 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 713 | "dependencies": { 714 | "yallist": "^4.0.0" 715 | }, 716 | "engines": { 717 | "node": ">=10" 718 | } 719 | }, 720 | "node_modules/lunr": { 721 | "version": "2.3.9", 722 | "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", 723 | "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" 724 | }, 725 | "node_modules/mark.js": { 726 | "version": "8.11.1", 727 | "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", 728 | "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==" 729 | }, 730 | "node_modules/marked": { 731 | "version": "4.3.0", 732 | "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", 733 | "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", 734 | "bin": { 735 | "marked": "bin/marked.js" 736 | }, 737 | "engines": { 738 | "node": ">= 12" 739 | } 740 | }, 741 | "node_modules/mime-db": { 742 | "version": "1.52.0", 743 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 744 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 745 | "engines": { 746 | "node": ">= 0.6" 747 | } 748 | }, 749 | "node_modules/mime-types": { 750 | "version": "2.1.35", 751 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 752 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 753 | "dependencies": { 754 | "mime-db": "1.52.0" 755 | }, 756 | "engines": { 757 | "node": ">= 0.6" 758 | } 759 | }, 760 | "node_modules/minimatch": { 761 | "version": "3.1.2", 762 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 763 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 764 | "license": "ISC", 765 | "dependencies": { 766 | "brace-expansion": "^1.1.7" 767 | }, 768 | "engines": { 769 | "node": "*" 770 | } 771 | }, 772 | "node_modules/minimist": { 773 | "version": "1.2.6", 774 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 775 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" 776 | }, 777 | "node_modules/mobx": { 778 | "version": "6.13.6", 779 | "resolved": "https://registry.npmjs.org/mobx/-/mobx-6.13.6.tgz", 780 | "integrity": "sha512-r19KNV0uBN4b+ER8Z0gA4y+MzDYIQ2SvOmn3fUrqPnWXdQfakd9yfbPBDBF/p5I+bd3N5Rk1fHONIvMay+bJGA==", 781 | "funding": { 782 | "type": "opencollective", 783 | "url": "https://opencollective.com/mobx" 784 | } 785 | }, 786 | "node_modules/mobx-react": { 787 | "version": "9.2.0", 788 | "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-9.2.0.tgz", 789 | "integrity": "sha512-dkGWCx+S0/1mfiuFfHRH8D9cplmwhxOV5CkXMp38u6rQGG2Pv3FWYztS0M7ncR6TyPRQKaTG/pnitInoYE9Vrw==", 790 | "dependencies": { 791 | "mobx-react-lite": "^4.1.0" 792 | }, 793 | "funding": { 794 | "type": "opencollective", 795 | "url": "https://opencollective.com/mobx" 796 | }, 797 | "peerDependencies": { 798 | "mobx": "^6.9.0", 799 | "react": "^16.8.0 || ^17 || ^18 || ^19" 800 | }, 801 | "peerDependenciesMeta": { 802 | "react-dom": { 803 | "optional": true 804 | }, 805 | "react-native": { 806 | "optional": true 807 | } 808 | } 809 | }, 810 | "node_modules/mobx-react-lite": { 811 | "version": "4.1.0", 812 | "resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-4.1.0.tgz", 813 | "integrity": "sha512-QEP10dpHHBeQNv1pks3WnHRCem2Zp636lq54M2nKO2Sarr13pL4u6diQXf65yzXUn0mkk18SyIDCm9UOJYTi1w==", 814 | "dependencies": { 815 | "use-sync-external-store": "^1.4.0" 816 | }, 817 | "funding": { 818 | "type": "opencollective", 819 | "url": "https://opencollective.com/mobx" 820 | }, 821 | "peerDependencies": { 822 | "mobx": "^6.9.0", 823 | "react": "^16.8.0 || ^17 || ^18 || ^19" 824 | }, 825 | "peerDependenciesMeta": { 826 | "react-dom": { 827 | "optional": true 828 | }, 829 | "react-native": { 830 | "optional": true 831 | } 832 | } 833 | }, 834 | "node_modules/ms": { 835 | "version": "2.1.3", 836 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 837 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 838 | }, 839 | "node_modules/nanoid": { 840 | "version": "3.3.8", 841 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", 842 | "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", 843 | "funding": [ 844 | { 845 | "type": "github", 846 | "url": "https://github.com/sponsors/ai" 847 | } 848 | ], 849 | "bin": { 850 | "nanoid": "bin/nanoid.cjs" 851 | }, 852 | "engines": { 853 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 854 | } 855 | }, 856 | "node_modules/neo-async": { 857 | "version": "2.6.2", 858 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", 859 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" 860 | }, 861 | "node_modules/node-fetch": { 862 | "version": "2.7.0", 863 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", 864 | "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", 865 | "dependencies": { 866 | "whatwg-url": "^5.0.0" 867 | }, 868 | "engines": { 869 | "node": "4.x || >=6.0.0" 870 | }, 871 | "peerDependencies": { 872 | "encoding": "^0.1.0" 873 | }, 874 | "peerDependenciesMeta": { 875 | "encoding": { 876 | "optional": true 877 | } 878 | } 879 | }, 880 | "node_modules/node-fetch-h2": { 881 | "version": "2.3.0", 882 | "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", 883 | "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", 884 | "dependencies": { 885 | "http2-client": "^1.2.5" 886 | }, 887 | "engines": { 888 | "node": "4.x || >=6.0.0" 889 | } 890 | }, 891 | "node_modules/node-readfiles": { 892 | "version": "0.2.0", 893 | "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", 894 | "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==", 895 | "dependencies": { 896 | "es6-promise": "^3.2.1" 897 | } 898 | }, 899 | "node_modules/normalize-path": { 900 | "version": "3.0.0", 901 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 902 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 903 | "engines": { 904 | "node": ">=0.10.0" 905 | } 906 | }, 907 | "node_modules/oas-kit-common": { 908 | "version": "1.0.8", 909 | "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", 910 | "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", 911 | "dependencies": { 912 | "fast-safe-stringify": "^2.0.7" 913 | } 914 | }, 915 | "node_modules/oas-linter": { 916 | "version": "3.2.2", 917 | "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.2.tgz", 918 | "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==", 919 | "dependencies": { 920 | "@exodus/schemasafe": "^1.0.0-rc.2", 921 | "should": "^13.2.1", 922 | "yaml": "^1.10.0" 923 | }, 924 | "funding": { 925 | "url": "https://github.com/Mermade/oas-kit?sponsor=1" 926 | } 927 | }, 928 | "node_modules/oas-resolver": { 929 | "version": "2.5.6", 930 | "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz", 931 | "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==", 932 | "dependencies": { 933 | "node-fetch-h2": "^2.3.0", 934 | "oas-kit-common": "^1.0.8", 935 | "reftools": "^1.1.9", 936 | "yaml": "^1.10.0", 937 | "yargs": "^17.0.1" 938 | }, 939 | "bin": { 940 | "resolve": "resolve.js" 941 | }, 942 | "funding": { 943 | "url": "https://github.com/Mermade/oas-kit?sponsor=1" 944 | } 945 | }, 946 | "node_modules/oas-schema-walker": { 947 | "version": "1.1.5", 948 | "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz", 949 | "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==", 950 | "funding": { 951 | "url": "https://github.com/Mermade/oas-kit?sponsor=1" 952 | } 953 | }, 954 | "node_modules/oas-validator": { 955 | "version": "5.0.8", 956 | "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-5.0.8.tgz", 957 | "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==", 958 | "dependencies": { 959 | "call-me-maybe": "^1.0.1", 960 | "oas-kit-common": "^1.0.8", 961 | "oas-linter": "^3.2.2", 962 | "oas-resolver": "^2.5.6", 963 | "oas-schema-walker": "^1.1.5", 964 | "reftools": "^1.1.9", 965 | "should": "^13.2.1", 966 | "yaml": "^1.10.0" 967 | }, 968 | "funding": { 969 | "url": "https://github.com/Mermade/oas-kit?sponsor=1" 970 | } 971 | }, 972 | "node_modules/object-assign": { 973 | "version": "4.1.1", 974 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 975 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 976 | "engines": { 977 | "node": ">=0.10.0" 978 | } 979 | }, 980 | "node_modules/once": { 981 | "version": "1.4.0", 982 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 983 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 984 | "dependencies": { 985 | "wrappy": "1" 986 | } 987 | }, 988 | "node_modules/openapi-sampler": { 989 | "version": "1.6.1", 990 | "resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.6.1.tgz", 991 | "integrity": "sha512-s1cIatOqrrhSj2tmJ4abFYZQK6l5v+V4toO5q1Pa0DyN8mtyqy2I+Qrj5W9vOELEtybIMQs/TBZGVO/DtTFK8w==", 992 | "dependencies": { 993 | "@types/json-schema": "^7.0.7", 994 | "fast-xml-parser": "^4.5.0", 995 | "json-pointer": "0.6.2" 996 | } 997 | }, 998 | "node_modules/path-browserify": { 999 | "version": "1.0.1", 1000 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", 1001 | "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" 1002 | }, 1003 | "node_modules/path-is-absolute": { 1004 | "version": "1.0.1", 1005 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1006 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1007 | "engines": { 1008 | "node": ">=0.10.0" 1009 | } 1010 | }, 1011 | "node_modules/perfect-scrollbar": { 1012 | "version": "1.5.6", 1013 | "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.6.tgz", 1014 | "integrity": "sha512-rixgxw3SxyJbCaSpo1n35A/fwI1r2rdwMKOTCg/AcG+xOEyZcE8UHVjpZMFCVImzsFoCZeJTT+M/rdEIQYO2nw==" 1015 | }, 1016 | "node_modules/picocolors": { 1017 | "version": "1.1.1", 1018 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 1019 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" 1020 | }, 1021 | "node_modules/picomatch": { 1022 | "version": "2.3.1", 1023 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1024 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1025 | "engines": { 1026 | "node": ">=8.6" 1027 | }, 1028 | "funding": { 1029 | "url": "https://github.com/sponsors/jonschlinkert" 1030 | } 1031 | }, 1032 | "node_modules/pluralize": { 1033 | "version": "8.0.0", 1034 | "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", 1035 | "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", 1036 | "engines": { 1037 | "node": ">=4" 1038 | } 1039 | }, 1040 | "node_modules/polished": { 1041 | "version": "4.3.1", 1042 | "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", 1043 | "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", 1044 | "dependencies": { 1045 | "@babel/runtime": "^7.17.8" 1046 | }, 1047 | "engines": { 1048 | "node": ">=10" 1049 | } 1050 | }, 1051 | "node_modules/postcss": { 1052 | "version": "8.4.49", 1053 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", 1054 | "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", 1055 | "funding": [ 1056 | { 1057 | "type": "opencollective", 1058 | "url": "https://opencollective.com/postcss/" 1059 | }, 1060 | { 1061 | "type": "tidelift", 1062 | "url": "https://tidelift.com/funding/github/npm/postcss" 1063 | }, 1064 | { 1065 | "type": "github", 1066 | "url": "https://github.com/sponsors/ai" 1067 | } 1068 | ], 1069 | "dependencies": { 1070 | "nanoid": "^3.3.7", 1071 | "picocolors": "^1.1.1", 1072 | "source-map-js": "^1.2.1" 1073 | }, 1074 | "engines": { 1075 | "node": "^10 || ^12 || >=14" 1076 | } 1077 | }, 1078 | "node_modules/postcss-value-parser": { 1079 | "version": "4.2.0", 1080 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1081 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" 1082 | }, 1083 | "node_modules/prismjs": { 1084 | "version": "1.30.0", 1085 | "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", 1086 | "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", 1087 | "license": "MIT", 1088 | "engines": { 1089 | "node": ">=6" 1090 | } 1091 | }, 1092 | "node_modules/prop-types": { 1093 | "version": "15.8.1", 1094 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 1095 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 1096 | "dependencies": { 1097 | "loose-envify": "^1.4.0", 1098 | "object-assign": "^4.1.1", 1099 | "react-is": "^16.13.1" 1100 | } 1101 | }, 1102 | "node_modules/queue-microtask": { 1103 | "version": "1.2.3", 1104 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1105 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" 1106 | }, 1107 | "node_modules/randombytes": { 1108 | "version": "2.1.0", 1109 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 1110 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 1111 | "dependencies": { 1112 | "safe-buffer": "^5.1.0" 1113 | } 1114 | }, 1115 | "node_modules/react": { 1116 | "version": "19.0.0", 1117 | "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", 1118 | "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", 1119 | "engines": { 1120 | "node": ">=0.10.0" 1121 | } 1122 | }, 1123 | "node_modules/react-dom": { 1124 | "version": "19.0.0", 1125 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", 1126 | "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", 1127 | "dependencies": { 1128 | "scheduler": "^0.25.0" 1129 | }, 1130 | "peerDependencies": { 1131 | "react": "^19.0.0" 1132 | } 1133 | }, 1134 | "node_modules/react-is": { 1135 | "version": "16.13.1", 1136 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 1137 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" 1138 | }, 1139 | "node_modules/react-tabs": { 1140 | "version": "6.1.0", 1141 | "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-6.1.0.tgz", 1142 | "integrity": "sha512-6QtbTRDKM+jA/MZTTefvigNxo0zz+gnBTVFw2CFVvq+f2BuH0nF0vDLNClL045nuTAdOoK/IL1vTP0ZLX0DAyQ==", 1143 | "dependencies": { 1144 | "clsx": "^2.0.0", 1145 | "prop-types": "^15.5.0" 1146 | }, 1147 | "peerDependencies": { 1148 | "react": "^18.0.0 || ^19.0.0" 1149 | } 1150 | }, 1151 | "node_modules/readable-stream": { 1152 | "version": "3.6.0", 1153 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 1154 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 1155 | "dependencies": { 1156 | "inherits": "^2.0.3", 1157 | "string_decoder": "^1.1.1", 1158 | "util-deprecate": "^1.0.1" 1159 | }, 1160 | "engines": { 1161 | "node": ">= 6" 1162 | } 1163 | }, 1164 | "node_modules/readdirp": { 1165 | "version": "3.5.0", 1166 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", 1167 | "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", 1168 | "dependencies": { 1169 | "picomatch": "^2.2.1" 1170 | }, 1171 | "engines": { 1172 | "node": ">=8.10.0" 1173 | } 1174 | }, 1175 | "node_modules/redoc": { 1176 | "version": "2.4.0", 1177 | "resolved": "https://registry.npmjs.org/redoc/-/redoc-2.4.0.tgz", 1178 | "integrity": "sha512-rFlfzFVWS9XJ6aYAs/bHnLhHP5FQEhwAHDBVgwb9L2FqDQ8Hu8rQ1G84iwaWXxZfPP9UWn7JdWkxI6MXr2ZDjw==", 1179 | "dependencies": { 1180 | "@redocly/openapi-core": "^1.4.0", 1181 | "classnames": "^2.3.2", 1182 | "decko": "^1.2.0", 1183 | "dompurify": "^3.0.6", 1184 | "eventemitter3": "^5.0.1", 1185 | "json-pointer": "^0.6.2", 1186 | "lunr": "^2.3.9", 1187 | "mark.js": "^8.11.1", 1188 | "marked": "^4.3.0", 1189 | "mobx-react": "^9.1.1", 1190 | "openapi-sampler": "^1.5.0", 1191 | "path-browserify": "^1.0.1", 1192 | "perfect-scrollbar": "^1.5.5", 1193 | "polished": "^4.2.2", 1194 | "prismjs": "^1.29.0", 1195 | "prop-types": "^15.8.1", 1196 | "react-tabs": "^6.0.2", 1197 | "slugify": "~1.4.7", 1198 | "stickyfill": "^1.1.1", 1199 | "swagger2openapi": "^7.0.8", 1200 | "url-template": "^2.0.8" 1201 | }, 1202 | "engines": { 1203 | "node": ">=6.9", 1204 | "npm": ">=3.0.0" 1205 | }, 1206 | "peerDependencies": { 1207 | "core-js": "^3.1.4", 1208 | "mobx": "^6.0.4", 1209 | "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", 1210 | "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", 1211 | "styled-components": "^4.1.1 || ^5.1.1 || ^6.0.5" 1212 | } 1213 | }, 1214 | "node_modules/reftools": { 1215 | "version": "1.1.9", 1216 | "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz", 1217 | "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==", 1218 | "funding": { 1219 | "url": "https://github.com/Mermade/oas-kit?sponsor=1" 1220 | } 1221 | }, 1222 | "node_modules/require-directory": { 1223 | "version": "2.1.1", 1224 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1225 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 1226 | "engines": { 1227 | "node": ">=0.10.0" 1228 | } 1229 | }, 1230 | "node_modules/require-from-string": { 1231 | "version": "2.0.2", 1232 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 1233 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 1234 | "engines": { 1235 | "node": ">=0.10.0" 1236 | } 1237 | }, 1238 | "node_modules/safe-buffer": { 1239 | "version": "5.2.1", 1240 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1241 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 1242 | }, 1243 | "node_modules/scheduler": { 1244 | "version": "0.25.0", 1245 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", 1246 | "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==" 1247 | }, 1248 | "node_modules/semver": { 1249 | "version": "7.6.0", 1250 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", 1251 | "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", 1252 | "dependencies": { 1253 | "lru-cache": "^6.0.0" 1254 | }, 1255 | "bin": { 1256 | "semver": "bin/semver.js" 1257 | }, 1258 | "engines": { 1259 | "node": ">=10" 1260 | } 1261 | }, 1262 | "node_modules/shallowequal": { 1263 | "version": "1.1.0", 1264 | "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", 1265 | "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" 1266 | }, 1267 | "node_modules/should": { 1268 | "version": "13.2.3", 1269 | "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", 1270 | "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", 1271 | "dependencies": { 1272 | "should-equal": "^2.0.0", 1273 | "should-format": "^3.0.3", 1274 | "should-type": "^1.4.0", 1275 | "should-type-adaptors": "^1.0.1", 1276 | "should-util": "^1.0.0" 1277 | } 1278 | }, 1279 | "node_modules/should-equal": { 1280 | "version": "2.0.0", 1281 | "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", 1282 | "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", 1283 | "dependencies": { 1284 | "should-type": "^1.4.0" 1285 | } 1286 | }, 1287 | "node_modules/should-format": { 1288 | "version": "3.0.3", 1289 | "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", 1290 | "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", 1291 | "dependencies": { 1292 | "should-type": "^1.3.0", 1293 | "should-type-adaptors": "^1.0.1" 1294 | } 1295 | }, 1296 | "node_modules/should-type": { 1297 | "version": "1.4.0", 1298 | "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", 1299 | "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==" 1300 | }, 1301 | "node_modules/should-type-adaptors": { 1302 | "version": "1.1.0", 1303 | "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", 1304 | "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", 1305 | "dependencies": { 1306 | "should-type": "^1.3.0", 1307 | "should-util": "^1.0.0" 1308 | } 1309 | }, 1310 | "node_modules/should-util": { 1311 | "version": "1.0.1", 1312 | "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", 1313 | "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==" 1314 | }, 1315 | "node_modules/simple-websocket": { 1316 | "version": "9.1.0", 1317 | "resolved": "https://registry.npmjs.org/simple-websocket/-/simple-websocket-9.1.0.tgz", 1318 | "integrity": "sha512-8MJPnjRN6A8UCp1I+H/dSFyjwJhp6wta4hsVRhjf8w9qBHRzxYt14RaOcjvQnhD1N4yKOddEjflwMnQM4VtXjQ==", 1319 | "dependencies": { 1320 | "debug": "^4.3.1", 1321 | "queue-microtask": "^1.2.2", 1322 | "randombytes": "^2.1.0", 1323 | "readable-stream": "^3.6.0", 1324 | "ws": "^7.4.2" 1325 | } 1326 | }, 1327 | "node_modules/slugify": { 1328 | "version": "1.4.7", 1329 | "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.7.tgz", 1330 | "integrity": "sha512-tf+h5W1IrjNm/9rKKj0JU2MDMruiopx0jjVA5zCdBtcGjfp0+c5rHw/zADLC3IeKlGHtVbHtpfzvYA0OYT+HKg==", 1331 | "engines": { 1332 | "node": ">=8.0.0" 1333 | } 1334 | }, 1335 | "node_modules/source-map": { 1336 | "version": "0.6.1", 1337 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1338 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1339 | "engines": { 1340 | "node": ">=0.10.0" 1341 | } 1342 | }, 1343 | "node_modules/source-map-js": { 1344 | "version": "1.2.1", 1345 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 1346 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 1347 | "engines": { 1348 | "node": ">=0.10.0" 1349 | } 1350 | }, 1351 | "node_modules/stickyfill": { 1352 | "version": "1.1.1", 1353 | "resolved": "https://registry.npmjs.org/stickyfill/-/stickyfill-1.1.1.tgz", 1354 | "integrity": "sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==" 1355 | }, 1356 | "node_modules/string_decoder": { 1357 | "version": "1.3.0", 1358 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 1359 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 1360 | "dependencies": { 1361 | "safe-buffer": "~5.2.0" 1362 | } 1363 | }, 1364 | "node_modules/string-width": { 1365 | "version": "4.2.3", 1366 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1367 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1368 | "dependencies": { 1369 | "emoji-regex": "^8.0.0", 1370 | "is-fullwidth-code-point": "^3.0.0", 1371 | "strip-ansi": "^6.0.1" 1372 | }, 1373 | "engines": { 1374 | "node": ">=8" 1375 | } 1376 | }, 1377 | "node_modules/strip-ansi": { 1378 | "version": "6.0.1", 1379 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1380 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1381 | "dependencies": { 1382 | "ansi-regex": "^5.0.1" 1383 | }, 1384 | "engines": { 1385 | "node": ">=8" 1386 | } 1387 | }, 1388 | "node_modules/strnum": { 1389 | "version": "1.0.5", 1390 | "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", 1391 | "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" 1392 | }, 1393 | "node_modules/styled-components": { 1394 | "version": "6.1.15", 1395 | "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.15.tgz", 1396 | "integrity": "sha512-PpOTEztW87Ua2xbmLa7yssjNyUF9vE7wdldRfn1I2E6RTkqknkBYpj771OxM/xrvRGinLy2oysa7GOd7NcZZIA==", 1397 | "dependencies": { 1398 | "@emotion/is-prop-valid": "1.2.2", 1399 | "@emotion/unitless": "0.8.1", 1400 | "@types/stylis": "4.2.5", 1401 | "css-to-react-native": "3.2.0", 1402 | "csstype": "3.1.3", 1403 | "postcss": "8.4.49", 1404 | "shallowequal": "1.1.0", 1405 | "stylis": "4.3.2", 1406 | "tslib": "2.6.2" 1407 | }, 1408 | "engines": { 1409 | "node": ">= 16" 1410 | }, 1411 | "funding": { 1412 | "type": "opencollective", 1413 | "url": "https://opencollective.com/styled-components" 1414 | }, 1415 | "peerDependencies": { 1416 | "react": ">= 16.8.0", 1417 | "react-dom": ">= 16.8.0" 1418 | } 1419 | }, 1420 | "node_modules/stylis": { 1421 | "version": "4.3.2", 1422 | "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz", 1423 | "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==" 1424 | }, 1425 | "node_modules/swagger2openapi": { 1426 | "version": "7.0.8", 1427 | "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz", 1428 | "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==", 1429 | "dependencies": { 1430 | "call-me-maybe": "^1.0.1", 1431 | "node-fetch": "^2.6.1", 1432 | "node-fetch-h2": "^2.3.0", 1433 | "node-readfiles": "^0.2.0", 1434 | "oas-kit-common": "^1.0.8", 1435 | "oas-resolver": "^2.5.6", 1436 | "oas-schema-walker": "^1.1.5", 1437 | "oas-validator": "^5.0.8", 1438 | "reftools": "^1.1.9", 1439 | "yaml": "^1.10.0", 1440 | "yargs": "^17.0.1" 1441 | }, 1442 | "bin": { 1443 | "boast": "boast.js", 1444 | "oas-validate": "oas-validate.js", 1445 | "swagger2openapi": "swagger2openapi.js" 1446 | }, 1447 | "funding": { 1448 | "url": "https://github.com/Mermade/oas-kit?sponsor=1" 1449 | } 1450 | }, 1451 | "node_modules/to-regex-range": { 1452 | "version": "5.0.1", 1453 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1454 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1455 | "license": "MIT", 1456 | "dependencies": { 1457 | "is-number": "^7.0.0" 1458 | }, 1459 | "engines": { 1460 | "node": ">=8.0" 1461 | } 1462 | }, 1463 | "node_modules/tr46": { 1464 | "version": "0.0.3", 1465 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 1466 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 1467 | }, 1468 | "node_modules/tslib": { 1469 | "version": "2.6.2", 1470 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 1471 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" 1472 | }, 1473 | "node_modules/uglify-js": { 1474 | "version": "3.13.5", 1475 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.5.tgz", 1476 | "integrity": "sha512-xtB8yEqIkn7zmOyS2zUNBsYCBRhDkvlNxMMY2smuJ/qA8NCHeQvKCF3i9Z4k8FJH4+PJvZRtMrPynfZ75+CSZw==", 1477 | "optional": true, 1478 | "bin": { 1479 | "uglifyjs": "bin/uglifyjs" 1480 | }, 1481 | "engines": { 1482 | "node": ">=0.8.0" 1483 | } 1484 | }, 1485 | "node_modules/uri-js-replace": { 1486 | "version": "1.0.1", 1487 | "resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz", 1488 | "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==" 1489 | }, 1490 | "node_modules/url-template": { 1491 | "version": "2.0.8", 1492 | "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", 1493 | "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==" 1494 | }, 1495 | "node_modules/use-sync-external-store": { 1496 | "version": "1.4.0", 1497 | "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", 1498 | "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", 1499 | "peerDependencies": { 1500 | "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" 1501 | } 1502 | }, 1503 | "node_modules/util-deprecate": { 1504 | "version": "1.0.2", 1505 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1506 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 1507 | }, 1508 | "node_modules/webidl-conversions": { 1509 | "version": "3.0.1", 1510 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 1511 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 1512 | }, 1513 | "node_modules/whatwg-url": { 1514 | "version": "5.0.0", 1515 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 1516 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 1517 | "dependencies": { 1518 | "tr46": "~0.0.3", 1519 | "webidl-conversions": "^3.0.0" 1520 | } 1521 | }, 1522 | "node_modules/wordwrap": { 1523 | "version": "1.0.0", 1524 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 1525 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" 1526 | }, 1527 | "node_modules/wrap-ansi": { 1528 | "version": "7.0.0", 1529 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 1530 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 1531 | "dependencies": { 1532 | "ansi-styles": "^4.0.0", 1533 | "string-width": "^4.1.0", 1534 | "strip-ansi": "^6.0.0" 1535 | }, 1536 | "engines": { 1537 | "node": ">=10" 1538 | }, 1539 | "funding": { 1540 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1541 | } 1542 | }, 1543 | "node_modules/wrappy": { 1544 | "version": "1.0.2", 1545 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1546 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 1547 | }, 1548 | "node_modules/ws": { 1549 | "version": "7.5.10", 1550 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", 1551 | "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", 1552 | "license": "MIT", 1553 | "engines": { 1554 | "node": ">=8.3.0" 1555 | }, 1556 | "peerDependencies": { 1557 | "bufferutil": "^4.0.1", 1558 | "utf-8-validate": "^5.0.2" 1559 | }, 1560 | "peerDependenciesMeta": { 1561 | "bufferutil": { 1562 | "optional": true 1563 | }, 1564 | "utf-8-validate": { 1565 | "optional": true 1566 | } 1567 | } 1568 | }, 1569 | "node_modules/y18n": { 1570 | "version": "5.0.8", 1571 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 1572 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 1573 | "engines": { 1574 | "node": ">=10" 1575 | } 1576 | }, 1577 | "node_modules/yallist": { 1578 | "version": "4.0.0", 1579 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1580 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 1581 | }, 1582 | "node_modules/yaml": { 1583 | "version": "1.10.2", 1584 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 1585 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 1586 | "engines": { 1587 | "node": ">= 6" 1588 | } 1589 | }, 1590 | "node_modules/yaml-ast-parser": { 1591 | "version": "0.0.43", 1592 | "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", 1593 | "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==" 1594 | }, 1595 | "node_modules/yargs": { 1596 | "version": "17.0.1", 1597 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz", 1598 | "integrity": "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==", 1599 | "dependencies": { 1600 | "cliui": "^7.0.2", 1601 | "escalade": "^3.1.1", 1602 | "get-caller-file": "^2.0.5", 1603 | "require-directory": "^2.1.1", 1604 | "string-width": "^4.2.0", 1605 | "y18n": "^5.0.5", 1606 | "yargs-parser": "^20.2.2" 1607 | }, 1608 | "engines": { 1609 | "node": ">=12" 1610 | } 1611 | }, 1612 | "node_modules/yargs-parser": { 1613 | "version": "20.2.9", 1614 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", 1615 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", 1616 | "engines": { 1617 | "node": ">=10" 1618 | } 1619 | } 1620 | }, 1621 | "dependencies": { 1622 | "@babel/runtime": { 1623 | "version": "7.27.1", 1624 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz", 1625 | "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==" 1626 | }, 1627 | "@emotion/is-prop-valid": { 1628 | "version": "1.2.2", 1629 | "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", 1630 | "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", 1631 | "requires": { 1632 | "@emotion/memoize": "^0.8.1" 1633 | } 1634 | }, 1635 | "@emotion/memoize": { 1636 | "version": "0.8.1", 1637 | "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", 1638 | "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" 1639 | }, 1640 | "@emotion/unitless": { 1641 | "version": "0.8.1", 1642 | "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", 1643 | "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" 1644 | }, 1645 | "@exodus/schemasafe": { 1646 | "version": "1.3.0", 1647 | "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz", 1648 | "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==" 1649 | }, 1650 | "@redocly/ajv": { 1651 | "version": "8.11.2", 1652 | "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.2.tgz", 1653 | "integrity": "sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==", 1654 | "requires": { 1655 | "fast-deep-equal": "^3.1.1", 1656 | "json-schema-traverse": "^1.0.0", 1657 | "require-from-string": "^2.0.2", 1658 | "uri-js-replace": "^1.0.1" 1659 | } 1660 | }, 1661 | "@redocly/cli": { 1662 | "version": "1.28.5", 1663 | "resolved": "https://registry.npmjs.org/@redocly/cli/-/cli-1.28.5.tgz", 1664 | "integrity": "sha512-06EIhhqW9tmrlGutpZFFqjnNTIX7wXHvP7BBw6vKJjy6nd++9nHz+B8feeeoJHC7Q2vK7XoCuOMDzqY6BNCCug==", 1665 | "requires": { 1666 | "@redocly/openapi-core": "1.28.5", 1667 | "abort-controller": "^3.0.0", 1668 | "chokidar": "^3.5.1", 1669 | "colorette": "^1.2.0", 1670 | "core-js": "^3.32.1", 1671 | "form-data": "^4.0.0", 1672 | "get-port-please": "^3.0.1", 1673 | "glob": "^7.1.6", 1674 | "handlebars": "^4.7.6", 1675 | "mobx": "^6.0.4", 1676 | "pluralize": "^8.0.0", 1677 | "react": "^17.0.0 || ^18.2.0 || ^19.0.0", 1678 | "react-dom": "^17.0.0 || ^18.2.0 || ^19.0.0", 1679 | "redoc": "2.4.0", 1680 | "semver": "^7.5.2", 1681 | "simple-websocket": "^9.0.0", 1682 | "styled-components": "^6.0.7", 1683 | "yargs": "17.0.1" 1684 | } 1685 | }, 1686 | "@redocly/config": { 1687 | "version": "0.20.3", 1688 | "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.20.3.tgz", 1689 | "integrity": "sha512-Nyyv1Bj7GgYwj/l46O0nkH1GTKWbO3Ixe7KFcn021aZipkZd+z8Vlu1BwkhqtVgivcKaClaExtWU/lDHkjBzag==" 1690 | }, 1691 | "@redocly/openapi-core": { 1692 | "version": "1.28.5", 1693 | "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.28.5.tgz", 1694 | "integrity": "sha512-eAuL+x1oBbodJksPm4UpFU57A6z1n1rx9JNpD87CObwtbRf5EzW29Ofd0t057bPGcHc8cYZtZzJ69dcRQ9xGdg==", 1695 | "requires": { 1696 | "@redocly/ajv": "^8.11.2", 1697 | "@redocly/config": "^0.20.1", 1698 | "colorette": "^1.2.0", 1699 | "https-proxy-agent": "^7.0.5", 1700 | "js-levenshtein": "^1.1.6", 1701 | "js-yaml": "^4.1.0", 1702 | "minimatch": "^5.0.1", 1703 | "pluralize": "^8.0.0", 1704 | "yaml-ast-parser": "0.0.43" 1705 | }, 1706 | "dependencies": { 1707 | "brace-expansion": { 1708 | "version": "2.0.1", 1709 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 1710 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 1711 | "requires": { 1712 | "balanced-match": "^1.0.0" 1713 | } 1714 | }, 1715 | "minimatch": { 1716 | "version": "5.1.6", 1717 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", 1718 | "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", 1719 | "requires": { 1720 | "brace-expansion": "^2.0.1" 1721 | } 1722 | } 1723 | } 1724 | }, 1725 | "@types/json-schema": { 1726 | "version": "7.0.15", 1727 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 1728 | "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" 1729 | }, 1730 | "@types/stylis": { 1731 | "version": "4.2.5", 1732 | "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", 1733 | "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==" 1734 | }, 1735 | "@types/trusted-types": { 1736 | "version": "2.0.7", 1737 | "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", 1738 | "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", 1739 | "optional": true 1740 | }, 1741 | "abort-controller": { 1742 | "version": "3.0.0", 1743 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", 1744 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", 1745 | "requires": { 1746 | "event-target-shim": "^5.0.0" 1747 | } 1748 | }, 1749 | "agent-base": { 1750 | "version": "7.1.3", 1751 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", 1752 | "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==" 1753 | }, 1754 | "ansi-regex": { 1755 | "version": "5.0.1", 1756 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1757 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" 1758 | }, 1759 | "ansi-styles": { 1760 | "version": "4.3.0", 1761 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1762 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1763 | "requires": { 1764 | "color-convert": "^2.0.1" 1765 | } 1766 | }, 1767 | "anymatch": { 1768 | "version": "3.1.2", 1769 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 1770 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 1771 | "requires": { 1772 | "normalize-path": "^3.0.0", 1773 | "picomatch": "^2.0.4" 1774 | } 1775 | }, 1776 | "argparse": { 1777 | "version": "2.0.1", 1778 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1779 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" 1780 | }, 1781 | "asynckit": { 1782 | "version": "0.4.0", 1783 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 1784 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 1785 | }, 1786 | "balanced-match": { 1787 | "version": "1.0.2", 1788 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1789 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 1790 | }, 1791 | "binary-extensions": { 1792 | "version": "2.2.0", 1793 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 1794 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" 1795 | }, 1796 | "brace-expansion": { 1797 | "version": "1.1.11", 1798 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1799 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1800 | "requires": { 1801 | "balanced-match": "^1.0.0", 1802 | "concat-map": "0.0.1" 1803 | } 1804 | }, 1805 | "braces": { 1806 | "version": "3.0.3", 1807 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 1808 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 1809 | "requires": { 1810 | "fill-range": "^7.1.1" 1811 | } 1812 | }, 1813 | "call-me-maybe": { 1814 | "version": "1.0.2", 1815 | "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", 1816 | "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==" 1817 | }, 1818 | "camelize": { 1819 | "version": "1.0.1", 1820 | "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", 1821 | "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==" 1822 | }, 1823 | "chokidar": { 1824 | "version": "3.5.1", 1825 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", 1826 | "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", 1827 | "requires": { 1828 | "anymatch": "~3.1.1", 1829 | "braces": "~3.0.2", 1830 | "fsevents": "~2.3.1", 1831 | "glob-parent": "~5.1.0", 1832 | "is-binary-path": "~2.1.0", 1833 | "is-glob": "~4.0.1", 1834 | "normalize-path": "~3.0.0", 1835 | "readdirp": "~3.5.0" 1836 | } 1837 | }, 1838 | "classnames": { 1839 | "version": "2.5.1", 1840 | "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", 1841 | "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" 1842 | }, 1843 | "cliui": { 1844 | "version": "7.0.4", 1845 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 1846 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 1847 | "requires": { 1848 | "string-width": "^4.2.0", 1849 | "strip-ansi": "^6.0.0", 1850 | "wrap-ansi": "^7.0.0" 1851 | } 1852 | }, 1853 | "clsx": { 1854 | "version": "2.1.1", 1855 | "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", 1856 | "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==" 1857 | }, 1858 | "color-convert": { 1859 | "version": "2.0.1", 1860 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1861 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1862 | "requires": { 1863 | "color-name": "~1.1.4" 1864 | } 1865 | }, 1866 | "color-name": { 1867 | "version": "1.1.4", 1868 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1869 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 1870 | }, 1871 | "colorette": { 1872 | "version": "1.4.0", 1873 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", 1874 | "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" 1875 | }, 1876 | "combined-stream": { 1877 | "version": "1.0.8", 1878 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 1879 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 1880 | "requires": { 1881 | "delayed-stream": "~1.0.0" 1882 | } 1883 | }, 1884 | "concat-map": { 1885 | "version": "0.0.1", 1886 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1887 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 1888 | }, 1889 | "core-js": { 1890 | "version": "3.40.0", 1891 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.40.0.tgz", 1892 | "integrity": "sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==" 1893 | }, 1894 | "css-color-keywords": { 1895 | "version": "1.0.0", 1896 | "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", 1897 | "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==" 1898 | }, 1899 | "css-to-react-native": { 1900 | "version": "3.2.0", 1901 | "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", 1902 | "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", 1903 | "requires": { 1904 | "camelize": "^1.0.0", 1905 | "css-color-keywords": "^1.0.0", 1906 | "postcss-value-parser": "^4.0.2" 1907 | } 1908 | }, 1909 | "csstype": { 1910 | "version": "3.1.3", 1911 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", 1912 | "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" 1913 | }, 1914 | "debug": { 1915 | "version": "4.3.7", 1916 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", 1917 | "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", 1918 | "requires": { 1919 | "ms": "^2.1.3" 1920 | } 1921 | }, 1922 | "decko": { 1923 | "version": "1.2.0", 1924 | "resolved": "https://registry.npmjs.org/decko/-/decko-1.2.0.tgz", 1925 | "integrity": "sha512-m8FnyHXV1QX+S1cl+KPFDIl6NMkxtKsy6+U/aYyjrOqWMuwAwYWu7ePqrsUHtDR5Y8Yk2pi/KIDSgF+vT4cPOQ==" 1926 | }, 1927 | "delayed-stream": { 1928 | "version": "1.0.0", 1929 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 1930 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" 1931 | }, 1932 | "dompurify": { 1933 | "version": "3.2.4", 1934 | "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.4.tgz", 1935 | "integrity": "sha512-ysFSFEDVduQpyhzAob/kkuJjf5zWkZD8/A9ywSp1byueyuCfHamrCBa14/Oc2iiB0e51B+NpxSl5gmzn+Ms/mg==", 1936 | "requires": { 1937 | "@types/trusted-types": "^2.0.7" 1938 | } 1939 | }, 1940 | "emoji-regex": { 1941 | "version": "8.0.0", 1942 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1943 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 1944 | }, 1945 | "es6-promise": { 1946 | "version": "3.3.1", 1947 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", 1948 | "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==" 1949 | }, 1950 | "escalade": { 1951 | "version": "3.2.0", 1952 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 1953 | "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==" 1954 | }, 1955 | "event-target-shim": { 1956 | "version": "5.0.1", 1957 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", 1958 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" 1959 | }, 1960 | "eventemitter3": { 1961 | "version": "5.0.1", 1962 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", 1963 | "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" 1964 | }, 1965 | "fast-deep-equal": { 1966 | "version": "3.1.3", 1967 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1968 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 1969 | }, 1970 | "fast-safe-stringify": { 1971 | "version": "2.1.1", 1972 | "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", 1973 | "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" 1974 | }, 1975 | "fast-xml-parser": { 1976 | "version": "4.5.1", 1977 | "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.1.tgz", 1978 | "integrity": "sha512-y655CeyUQ+jj7KBbYMc4FG01V8ZQqjN+gDYGJ50RtfsUB8iG9AmwmwoAgeKLJdmueKKMrH1RJ7yXHTSoczdv5w==", 1979 | "requires": { 1980 | "strnum": "^1.0.5" 1981 | } 1982 | }, 1983 | "fill-range": { 1984 | "version": "7.1.1", 1985 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 1986 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 1987 | "requires": { 1988 | "to-regex-range": "^5.0.1" 1989 | } 1990 | }, 1991 | "foreach": { 1992 | "version": "2.0.6", 1993 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz", 1994 | "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==" 1995 | }, 1996 | "form-data": { 1997 | "version": "4.0.0", 1998 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 1999 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 2000 | "requires": { 2001 | "asynckit": "^0.4.0", 2002 | "combined-stream": "^1.0.8", 2003 | "mime-types": "^2.1.12" 2004 | } 2005 | }, 2006 | "fs.realpath": { 2007 | "version": "1.0.0", 2008 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2009 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 2010 | }, 2011 | "fsevents": { 2012 | "version": "2.3.2", 2013 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 2014 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2015 | "optional": true 2016 | }, 2017 | "get-caller-file": { 2018 | "version": "2.0.5", 2019 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 2020 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" 2021 | }, 2022 | "get-port-please": { 2023 | "version": "3.1.2", 2024 | "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", 2025 | "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==" 2026 | }, 2027 | "glob": { 2028 | "version": "7.1.7", 2029 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", 2030 | "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", 2031 | "requires": { 2032 | "fs.realpath": "^1.0.0", 2033 | "inflight": "^1.0.4", 2034 | "inherits": "2", 2035 | "minimatch": "^3.0.4", 2036 | "once": "^1.3.0", 2037 | "path-is-absolute": "^1.0.0" 2038 | } 2039 | }, 2040 | "glob-parent": { 2041 | "version": "5.1.2", 2042 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2043 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2044 | "requires": { 2045 | "is-glob": "^4.0.1" 2046 | } 2047 | }, 2048 | "handlebars": { 2049 | "version": "4.7.7", 2050 | "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", 2051 | "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", 2052 | "requires": { 2053 | "minimist": "^1.2.5", 2054 | "neo-async": "^2.6.0", 2055 | "source-map": "^0.6.1", 2056 | "uglify-js": "^3.1.4", 2057 | "wordwrap": "^1.0.0" 2058 | } 2059 | }, 2060 | "http2-client": { 2061 | "version": "1.3.5", 2062 | "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz", 2063 | "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==" 2064 | }, 2065 | "https-proxy-agent": { 2066 | "version": "7.0.6", 2067 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", 2068 | "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", 2069 | "requires": { 2070 | "agent-base": "^7.1.2", 2071 | "debug": "4" 2072 | } 2073 | }, 2074 | "inflight": { 2075 | "version": "1.0.6", 2076 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2077 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 2078 | "requires": { 2079 | "once": "^1.3.0", 2080 | "wrappy": "1" 2081 | } 2082 | }, 2083 | "inherits": { 2084 | "version": "2.0.4", 2085 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2086 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 2087 | }, 2088 | "is-binary-path": { 2089 | "version": "2.1.0", 2090 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 2091 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 2092 | "requires": { 2093 | "binary-extensions": "^2.0.0" 2094 | } 2095 | }, 2096 | "is-extglob": { 2097 | "version": "2.1.1", 2098 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2099 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" 2100 | }, 2101 | "is-fullwidth-code-point": { 2102 | "version": "3.0.0", 2103 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 2104 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" 2105 | }, 2106 | "is-glob": { 2107 | "version": "4.0.1", 2108 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 2109 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 2110 | "requires": { 2111 | "is-extglob": "^2.1.1" 2112 | } 2113 | }, 2114 | "is-number": { 2115 | "version": "7.0.0", 2116 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2117 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" 2118 | }, 2119 | "js-levenshtein": { 2120 | "version": "1.1.6", 2121 | "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", 2122 | "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==" 2123 | }, 2124 | "js-tokens": { 2125 | "version": "4.0.0", 2126 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2127 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 2128 | }, 2129 | "js-yaml": { 2130 | "version": "4.1.0", 2131 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 2132 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 2133 | "requires": { 2134 | "argparse": "^2.0.1" 2135 | } 2136 | }, 2137 | "json-pointer": { 2138 | "version": "0.6.2", 2139 | "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz", 2140 | "integrity": "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==", 2141 | "requires": { 2142 | "foreach": "^2.0.4" 2143 | } 2144 | }, 2145 | "json-schema-traverse": { 2146 | "version": "1.0.0", 2147 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 2148 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" 2149 | }, 2150 | "loose-envify": { 2151 | "version": "1.4.0", 2152 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 2153 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 2154 | "requires": { 2155 | "js-tokens": "^3.0.0 || ^4.0.0" 2156 | } 2157 | }, 2158 | "lru-cache": { 2159 | "version": "6.0.0", 2160 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 2161 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 2162 | "requires": { 2163 | "yallist": "^4.0.0" 2164 | } 2165 | }, 2166 | "lunr": { 2167 | "version": "2.3.9", 2168 | "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", 2169 | "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" 2170 | }, 2171 | "mark.js": { 2172 | "version": "8.11.1", 2173 | "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", 2174 | "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==" 2175 | }, 2176 | "marked": { 2177 | "version": "4.3.0", 2178 | "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", 2179 | "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==" 2180 | }, 2181 | "mime-db": { 2182 | "version": "1.52.0", 2183 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 2184 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" 2185 | }, 2186 | "mime-types": { 2187 | "version": "2.1.35", 2188 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 2189 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 2190 | "requires": { 2191 | "mime-db": "1.52.0" 2192 | } 2193 | }, 2194 | "minimatch": { 2195 | "version": "3.1.2", 2196 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2197 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2198 | "requires": { 2199 | "brace-expansion": "^1.1.7" 2200 | } 2201 | }, 2202 | "minimist": { 2203 | "version": "1.2.6", 2204 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 2205 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" 2206 | }, 2207 | "mobx": { 2208 | "version": "6.13.6", 2209 | "resolved": "https://registry.npmjs.org/mobx/-/mobx-6.13.6.tgz", 2210 | "integrity": "sha512-r19KNV0uBN4b+ER8Z0gA4y+MzDYIQ2SvOmn3fUrqPnWXdQfakd9yfbPBDBF/p5I+bd3N5Rk1fHONIvMay+bJGA==" 2211 | }, 2212 | "mobx-react": { 2213 | "version": "9.2.0", 2214 | "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-9.2.0.tgz", 2215 | "integrity": "sha512-dkGWCx+S0/1mfiuFfHRH8D9cplmwhxOV5CkXMp38u6rQGG2Pv3FWYztS0M7ncR6TyPRQKaTG/pnitInoYE9Vrw==", 2216 | "requires": { 2217 | "mobx-react-lite": "^4.1.0" 2218 | } 2219 | }, 2220 | "mobx-react-lite": { 2221 | "version": "4.1.0", 2222 | "resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-4.1.0.tgz", 2223 | "integrity": "sha512-QEP10dpHHBeQNv1pks3WnHRCem2Zp636lq54M2nKO2Sarr13pL4u6diQXf65yzXUn0mkk18SyIDCm9UOJYTi1w==", 2224 | "requires": { 2225 | "use-sync-external-store": "^1.4.0" 2226 | } 2227 | }, 2228 | "ms": { 2229 | "version": "2.1.3", 2230 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 2231 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 2232 | }, 2233 | "nanoid": { 2234 | "version": "3.3.8", 2235 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", 2236 | "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==" 2237 | }, 2238 | "neo-async": { 2239 | "version": "2.6.2", 2240 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", 2241 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" 2242 | }, 2243 | "node-fetch": { 2244 | "version": "2.7.0", 2245 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", 2246 | "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", 2247 | "requires": { 2248 | "whatwg-url": "^5.0.0" 2249 | } 2250 | }, 2251 | "node-fetch-h2": { 2252 | "version": "2.3.0", 2253 | "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", 2254 | "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", 2255 | "requires": { 2256 | "http2-client": "^1.2.5" 2257 | } 2258 | }, 2259 | "node-readfiles": { 2260 | "version": "0.2.0", 2261 | "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", 2262 | "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==", 2263 | "requires": { 2264 | "es6-promise": "^3.2.1" 2265 | } 2266 | }, 2267 | "normalize-path": { 2268 | "version": "3.0.0", 2269 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2270 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" 2271 | }, 2272 | "oas-kit-common": { 2273 | "version": "1.0.8", 2274 | "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", 2275 | "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", 2276 | "requires": { 2277 | "fast-safe-stringify": "^2.0.7" 2278 | } 2279 | }, 2280 | "oas-linter": { 2281 | "version": "3.2.2", 2282 | "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.2.tgz", 2283 | "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==", 2284 | "requires": { 2285 | "@exodus/schemasafe": "^1.0.0-rc.2", 2286 | "should": "^13.2.1", 2287 | "yaml": "^1.10.0" 2288 | } 2289 | }, 2290 | "oas-resolver": { 2291 | "version": "2.5.6", 2292 | "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz", 2293 | "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==", 2294 | "requires": { 2295 | "node-fetch-h2": "^2.3.0", 2296 | "oas-kit-common": "^1.0.8", 2297 | "reftools": "^1.1.9", 2298 | "yaml": "^1.10.0", 2299 | "yargs": "^17.0.1" 2300 | } 2301 | }, 2302 | "oas-schema-walker": { 2303 | "version": "1.1.5", 2304 | "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz", 2305 | "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==" 2306 | }, 2307 | "oas-validator": { 2308 | "version": "5.0.8", 2309 | "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-5.0.8.tgz", 2310 | "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==", 2311 | "requires": { 2312 | "call-me-maybe": "^1.0.1", 2313 | "oas-kit-common": "^1.0.8", 2314 | "oas-linter": "^3.2.2", 2315 | "oas-resolver": "^2.5.6", 2316 | "oas-schema-walker": "^1.1.5", 2317 | "reftools": "^1.1.9", 2318 | "should": "^13.2.1", 2319 | "yaml": "^1.10.0" 2320 | } 2321 | }, 2322 | "object-assign": { 2323 | "version": "4.1.1", 2324 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2325 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" 2326 | }, 2327 | "once": { 2328 | "version": "1.4.0", 2329 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2330 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2331 | "requires": { 2332 | "wrappy": "1" 2333 | } 2334 | }, 2335 | "openapi-sampler": { 2336 | "version": "1.6.1", 2337 | "resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.6.1.tgz", 2338 | "integrity": "sha512-s1cIatOqrrhSj2tmJ4abFYZQK6l5v+V4toO5q1Pa0DyN8mtyqy2I+Qrj5W9vOELEtybIMQs/TBZGVO/DtTFK8w==", 2339 | "requires": { 2340 | "@types/json-schema": "^7.0.7", 2341 | "fast-xml-parser": "^4.5.0", 2342 | "json-pointer": "0.6.2" 2343 | } 2344 | }, 2345 | "path-browserify": { 2346 | "version": "1.0.1", 2347 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", 2348 | "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" 2349 | }, 2350 | "path-is-absolute": { 2351 | "version": "1.0.1", 2352 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2353 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" 2354 | }, 2355 | "perfect-scrollbar": { 2356 | "version": "1.5.6", 2357 | "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.6.tgz", 2358 | "integrity": "sha512-rixgxw3SxyJbCaSpo1n35A/fwI1r2rdwMKOTCg/AcG+xOEyZcE8UHVjpZMFCVImzsFoCZeJTT+M/rdEIQYO2nw==" 2359 | }, 2360 | "picocolors": { 2361 | "version": "1.1.1", 2362 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 2363 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" 2364 | }, 2365 | "picomatch": { 2366 | "version": "2.3.1", 2367 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2368 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" 2369 | }, 2370 | "pluralize": { 2371 | "version": "8.0.0", 2372 | "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", 2373 | "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" 2374 | }, 2375 | "polished": { 2376 | "version": "4.3.1", 2377 | "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", 2378 | "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", 2379 | "requires": { 2380 | "@babel/runtime": "^7.17.8" 2381 | } 2382 | }, 2383 | "postcss": { 2384 | "version": "8.4.49", 2385 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", 2386 | "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", 2387 | "requires": { 2388 | "nanoid": "^3.3.7", 2389 | "picocolors": "^1.1.1", 2390 | "source-map-js": "^1.2.1" 2391 | } 2392 | }, 2393 | "postcss-value-parser": { 2394 | "version": "4.2.0", 2395 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 2396 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" 2397 | }, 2398 | "prismjs": { 2399 | "version": "1.30.0", 2400 | "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", 2401 | "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==" 2402 | }, 2403 | "prop-types": { 2404 | "version": "15.8.1", 2405 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 2406 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 2407 | "requires": { 2408 | "loose-envify": "^1.4.0", 2409 | "object-assign": "^4.1.1", 2410 | "react-is": "^16.13.1" 2411 | } 2412 | }, 2413 | "queue-microtask": { 2414 | "version": "1.2.3", 2415 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 2416 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" 2417 | }, 2418 | "randombytes": { 2419 | "version": "2.1.0", 2420 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 2421 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 2422 | "requires": { 2423 | "safe-buffer": "^5.1.0" 2424 | } 2425 | }, 2426 | "react": { 2427 | "version": "19.0.0", 2428 | "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", 2429 | "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==" 2430 | }, 2431 | "react-dom": { 2432 | "version": "19.0.0", 2433 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", 2434 | "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", 2435 | "requires": { 2436 | "scheduler": "^0.25.0" 2437 | } 2438 | }, 2439 | "react-is": { 2440 | "version": "16.13.1", 2441 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 2442 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" 2443 | }, 2444 | "react-tabs": { 2445 | "version": "6.1.0", 2446 | "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-6.1.0.tgz", 2447 | "integrity": "sha512-6QtbTRDKM+jA/MZTTefvigNxo0zz+gnBTVFw2CFVvq+f2BuH0nF0vDLNClL045nuTAdOoK/IL1vTP0ZLX0DAyQ==", 2448 | "requires": { 2449 | "clsx": "^2.0.0", 2450 | "prop-types": "^15.5.0" 2451 | } 2452 | }, 2453 | "readable-stream": { 2454 | "version": "3.6.0", 2455 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 2456 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 2457 | "requires": { 2458 | "inherits": "^2.0.3", 2459 | "string_decoder": "^1.1.1", 2460 | "util-deprecate": "^1.0.1" 2461 | } 2462 | }, 2463 | "readdirp": { 2464 | "version": "3.5.0", 2465 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", 2466 | "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", 2467 | "requires": { 2468 | "picomatch": "^2.2.1" 2469 | } 2470 | }, 2471 | "redoc": { 2472 | "version": "2.4.0", 2473 | "resolved": "https://registry.npmjs.org/redoc/-/redoc-2.4.0.tgz", 2474 | "integrity": "sha512-rFlfzFVWS9XJ6aYAs/bHnLhHP5FQEhwAHDBVgwb9L2FqDQ8Hu8rQ1G84iwaWXxZfPP9UWn7JdWkxI6MXr2ZDjw==", 2475 | "requires": { 2476 | "@redocly/openapi-core": "^1.4.0", 2477 | "classnames": "^2.3.2", 2478 | "decko": "^1.2.0", 2479 | "dompurify": "^3.0.6", 2480 | "eventemitter3": "^5.0.1", 2481 | "json-pointer": "^0.6.2", 2482 | "lunr": "^2.3.9", 2483 | "mark.js": "^8.11.1", 2484 | "marked": "^4.3.0", 2485 | "mobx-react": "^9.1.1", 2486 | "openapi-sampler": "^1.5.0", 2487 | "path-browserify": "^1.0.1", 2488 | "perfect-scrollbar": "^1.5.5", 2489 | "polished": "^4.2.2", 2490 | "prismjs": "^1.29.0", 2491 | "prop-types": "^15.8.1", 2492 | "react-tabs": "^6.0.2", 2493 | "slugify": "~1.4.7", 2494 | "stickyfill": "^1.1.1", 2495 | "swagger2openapi": "^7.0.8", 2496 | "url-template": "^2.0.8" 2497 | } 2498 | }, 2499 | "reftools": { 2500 | "version": "1.1.9", 2501 | "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz", 2502 | "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==" 2503 | }, 2504 | "require-directory": { 2505 | "version": "2.1.1", 2506 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 2507 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" 2508 | }, 2509 | "require-from-string": { 2510 | "version": "2.0.2", 2511 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 2512 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" 2513 | }, 2514 | "safe-buffer": { 2515 | "version": "5.2.1", 2516 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2517 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 2518 | }, 2519 | "scheduler": { 2520 | "version": "0.25.0", 2521 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", 2522 | "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==" 2523 | }, 2524 | "semver": { 2525 | "version": "7.6.0", 2526 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", 2527 | "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", 2528 | "requires": { 2529 | "lru-cache": "^6.0.0" 2530 | } 2531 | }, 2532 | "shallowequal": { 2533 | "version": "1.1.0", 2534 | "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", 2535 | "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" 2536 | }, 2537 | "should": { 2538 | "version": "13.2.3", 2539 | "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", 2540 | "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", 2541 | "requires": { 2542 | "should-equal": "^2.0.0", 2543 | "should-format": "^3.0.3", 2544 | "should-type": "^1.4.0", 2545 | "should-type-adaptors": "^1.0.1", 2546 | "should-util": "^1.0.0" 2547 | } 2548 | }, 2549 | "should-equal": { 2550 | "version": "2.0.0", 2551 | "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", 2552 | "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", 2553 | "requires": { 2554 | "should-type": "^1.4.0" 2555 | } 2556 | }, 2557 | "should-format": { 2558 | "version": "3.0.3", 2559 | "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", 2560 | "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", 2561 | "requires": { 2562 | "should-type": "^1.3.0", 2563 | "should-type-adaptors": "^1.0.1" 2564 | } 2565 | }, 2566 | "should-type": { 2567 | "version": "1.4.0", 2568 | "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", 2569 | "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==" 2570 | }, 2571 | "should-type-adaptors": { 2572 | "version": "1.1.0", 2573 | "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", 2574 | "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", 2575 | "requires": { 2576 | "should-type": "^1.3.0", 2577 | "should-util": "^1.0.0" 2578 | } 2579 | }, 2580 | "should-util": { 2581 | "version": "1.0.1", 2582 | "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", 2583 | "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==" 2584 | }, 2585 | "simple-websocket": { 2586 | "version": "9.1.0", 2587 | "resolved": "https://registry.npmjs.org/simple-websocket/-/simple-websocket-9.1.0.tgz", 2588 | "integrity": "sha512-8MJPnjRN6A8UCp1I+H/dSFyjwJhp6wta4hsVRhjf8w9qBHRzxYt14RaOcjvQnhD1N4yKOddEjflwMnQM4VtXjQ==", 2589 | "requires": { 2590 | "debug": "^4.3.1", 2591 | "queue-microtask": "^1.2.2", 2592 | "randombytes": "^2.1.0", 2593 | "readable-stream": "^3.6.0", 2594 | "ws": "^7.4.2" 2595 | } 2596 | }, 2597 | "slugify": { 2598 | "version": "1.4.7", 2599 | "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.7.tgz", 2600 | "integrity": "sha512-tf+h5W1IrjNm/9rKKj0JU2MDMruiopx0jjVA5zCdBtcGjfp0+c5rHw/zADLC3IeKlGHtVbHtpfzvYA0OYT+HKg==" 2601 | }, 2602 | "source-map": { 2603 | "version": "0.6.1", 2604 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2605 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 2606 | }, 2607 | "source-map-js": { 2608 | "version": "1.2.1", 2609 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 2610 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" 2611 | }, 2612 | "stickyfill": { 2613 | "version": "1.1.1", 2614 | "resolved": "https://registry.npmjs.org/stickyfill/-/stickyfill-1.1.1.tgz", 2615 | "integrity": "sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==" 2616 | }, 2617 | "string_decoder": { 2618 | "version": "1.3.0", 2619 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 2620 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 2621 | "requires": { 2622 | "safe-buffer": "~5.2.0" 2623 | } 2624 | }, 2625 | "string-width": { 2626 | "version": "4.2.3", 2627 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2628 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2629 | "requires": { 2630 | "emoji-regex": "^8.0.0", 2631 | "is-fullwidth-code-point": "^3.0.0", 2632 | "strip-ansi": "^6.0.1" 2633 | } 2634 | }, 2635 | "strip-ansi": { 2636 | "version": "6.0.1", 2637 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2638 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2639 | "requires": { 2640 | "ansi-regex": "^5.0.1" 2641 | } 2642 | }, 2643 | "strnum": { 2644 | "version": "1.0.5", 2645 | "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", 2646 | "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" 2647 | }, 2648 | "styled-components": { 2649 | "version": "6.1.15", 2650 | "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.15.tgz", 2651 | "integrity": "sha512-PpOTEztW87Ua2xbmLa7yssjNyUF9vE7wdldRfn1I2E6RTkqknkBYpj771OxM/xrvRGinLy2oysa7GOd7NcZZIA==", 2652 | "requires": { 2653 | "@emotion/is-prop-valid": "1.2.2", 2654 | "@emotion/unitless": "0.8.1", 2655 | "@types/stylis": "4.2.5", 2656 | "css-to-react-native": "3.2.0", 2657 | "csstype": "3.1.3", 2658 | "postcss": "8.4.49", 2659 | "shallowequal": "1.1.0", 2660 | "stylis": "4.3.2", 2661 | "tslib": "2.6.2" 2662 | } 2663 | }, 2664 | "stylis": { 2665 | "version": "4.3.2", 2666 | "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz", 2667 | "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==" 2668 | }, 2669 | "swagger2openapi": { 2670 | "version": "7.0.8", 2671 | "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz", 2672 | "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==", 2673 | "requires": { 2674 | "call-me-maybe": "^1.0.1", 2675 | "node-fetch": "^2.6.1", 2676 | "node-fetch-h2": "^2.3.0", 2677 | "node-readfiles": "^0.2.0", 2678 | "oas-kit-common": "^1.0.8", 2679 | "oas-resolver": "^2.5.6", 2680 | "oas-schema-walker": "^1.1.5", 2681 | "oas-validator": "^5.0.8", 2682 | "reftools": "^1.1.9", 2683 | "yaml": "^1.10.0", 2684 | "yargs": "^17.0.1" 2685 | } 2686 | }, 2687 | "to-regex-range": { 2688 | "version": "5.0.1", 2689 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2690 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2691 | "requires": { 2692 | "is-number": "^7.0.0" 2693 | } 2694 | }, 2695 | "tr46": { 2696 | "version": "0.0.3", 2697 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 2698 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 2699 | }, 2700 | "tslib": { 2701 | "version": "2.6.2", 2702 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 2703 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" 2704 | }, 2705 | "uglify-js": { 2706 | "version": "3.13.5", 2707 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.5.tgz", 2708 | "integrity": "sha512-xtB8yEqIkn7zmOyS2zUNBsYCBRhDkvlNxMMY2smuJ/qA8NCHeQvKCF3i9Z4k8FJH4+PJvZRtMrPynfZ75+CSZw==", 2709 | "optional": true 2710 | }, 2711 | "uri-js-replace": { 2712 | "version": "1.0.1", 2713 | "resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz", 2714 | "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==" 2715 | }, 2716 | "url-template": { 2717 | "version": "2.0.8", 2718 | "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", 2719 | "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==" 2720 | }, 2721 | "use-sync-external-store": { 2722 | "version": "1.4.0", 2723 | "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", 2724 | "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", 2725 | "requires": {} 2726 | }, 2727 | "util-deprecate": { 2728 | "version": "1.0.2", 2729 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2730 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 2731 | }, 2732 | "webidl-conversions": { 2733 | "version": "3.0.1", 2734 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 2735 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 2736 | }, 2737 | "whatwg-url": { 2738 | "version": "5.0.0", 2739 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 2740 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 2741 | "requires": { 2742 | "tr46": "~0.0.3", 2743 | "webidl-conversions": "^3.0.0" 2744 | } 2745 | }, 2746 | "wordwrap": { 2747 | "version": "1.0.0", 2748 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 2749 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" 2750 | }, 2751 | "wrap-ansi": { 2752 | "version": "7.0.0", 2753 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 2754 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 2755 | "requires": { 2756 | "ansi-styles": "^4.0.0", 2757 | "string-width": "^4.1.0", 2758 | "strip-ansi": "^6.0.0" 2759 | } 2760 | }, 2761 | "wrappy": { 2762 | "version": "1.0.2", 2763 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2764 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 2765 | }, 2766 | "ws": { 2767 | "version": "7.5.10", 2768 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", 2769 | "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", 2770 | "requires": {} 2771 | }, 2772 | "y18n": { 2773 | "version": "5.0.8", 2774 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 2775 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" 2776 | }, 2777 | "yallist": { 2778 | "version": "4.0.0", 2779 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 2780 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 2781 | }, 2782 | "yaml": { 2783 | "version": "1.10.2", 2784 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 2785 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" 2786 | }, 2787 | "yaml-ast-parser": { 2788 | "version": "0.0.43", 2789 | "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", 2790 | "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==" 2791 | }, 2792 | "yargs": { 2793 | "version": "17.0.1", 2794 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz", 2795 | "integrity": "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==", 2796 | "requires": { 2797 | "cliui": "^7.0.2", 2798 | "escalade": "^3.1.1", 2799 | "get-caller-file": "^2.0.5", 2800 | "require-directory": "^2.1.1", 2801 | "string-width": "^4.2.0", 2802 | "y18n": "^5.0.5", 2803 | "yargs-parser": "^20.2.2" 2804 | } 2805 | }, 2806 | "yargs-parser": { 2807 | "version": "20.2.9", 2808 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", 2809 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" 2810 | } 2811 | } 2812 | } 2813 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "acme-api", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "@redocly/cli": "1.28.5" 6 | }, 7 | "private": true, 8 | "scripts": { 9 | "start": "redocly preview-docs", 10 | "build": "redocly bundle -o dist/bundle.yaml", 11 | "test": "redocly lint" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /redocly.yaml: -------------------------------------------------------------------------------- 1 | # See https://redocly.com/docs/cli/configuration/ for more information. 2 | apis: 3 | sample@v1: 4 | root: openapi/openapi.yaml 5 | extends: 6 | - recommended 7 | rules: 8 | no-unused-components: error 9 | no-server-example.com: off 10 | theme: 11 | openapi: 12 | htmlTemplate: ./docs/index.html 13 | theme: 14 | colors: 15 | primary: 16 | main: "#32329f" 17 | generateCodeSamples: 18 | languages: # Array of language config objects; indicates in which languages to generate code samples. 19 | - lang: curl 20 | - lang: Node.js 21 | - lang: JavaScript 22 | - lang: PHP 23 | - lang: Python 24 | --------------------------------------------------------------------------------