├── .gitignore ├── .npmignore ├── LICENSE ├── README.md ├── bin └── api2html.js ├── docs ├── index.html └── petstore │ └── index.html ├── examples ├── asyncapi-simple.yml ├── openapi-petstore.yml ├── openapi-simple.yml └── sample-logo.png ├── package-lock.json └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (https://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # TypeScript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | # next.js build output 61 | .next 62 | 63 | # Output files 64 | out/ 65 | docs/.DS_Store 66 | 67 | .idea 68 | 69 | .DS_Store 70 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | examples/ 2 | out/ 3 | docs/ 4 | .idea 5 | *.html 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Tobi 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 | # api2html 2 | A CLI tool to transform Swagger/OpenAPI/AsyncAPI docs to beautiful HTML pages via [Shins](https://github.com/mermade/shins)/[Widdershins](https://github.com/mermade/widdershins). 3 | 4 | You can find an example generated page at [http://tobilg.github.io/api2html/petstore/](http://tobilg.github.io/api2html/petstore/). 5 | 6 | ## Installation 7 | 8 | To install `api2html` globally, use 9 | 10 | ```bash 11 | $ npm i api2html -g 12 | ``` 13 | 14 | You can also install it to use as `devDependencies`, and use it locally via a `npm run` task in your `package.json`: 15 | 16 | ```bash 17 | $ npm i api2html --save-dev 18 | ``` 19 | 20 | Usage in `package.json`: 21 | 22 | ```javascript 23 | { 24 | "scripts": { 25 | "api-docs": "node_modules/.bin/api2html -o docs/api.html -l shell,javascript--nodejs docs/openapi/api.yml" 26 | } 27 | } 28 | ``` 29 | 30 | ## Usage 31 | 32 | ### Available commands 33 | 34 | ```bash 35 | $ api2html --help 36 | Usage: api2html [options] 37 | 38 | Options: 39 | -V, --version output the version number 40 | -r, --resolve resolve external dependencies, source should be a url or a path 41 | -o, --out output path for the resulting HTML document 42 | -t, --theme theme to use (see https://highlightjs.org/static/demo/ for a list) 43 | -c, --customLogo use custom logo at the respective path 44 | -u, --customLogoUrl url for the custom logo to point to 45 | -C, --customCss use custom css 46 | -P, --customCssPath use custom css file 47 | -i, --includes comma-separated list of files to include 48 | -l, --languages comma-separated list of languages to use for the language tabs (out of shell, http, javascript, javascript--nodejs, ruby, python, java, go) 49 | -N, --noCodeSamples omit all code samples (overrides --languages) 50 | -s, --search enable search 51 | -S, --summary use summary instead of operationId for TOC 52 | -b, --omitBody Omit top-level fake body parameter object 53 | -R, --raw Show raw schemas in samples, not example values 54 | -h, --help output usage information 55 | ``` 56 | 57 | ### Usage examples 58 | 59 | #### Render OpenAPI v3 file as HTML 60 | 61 | This will render the `api.yml` file in the current directory as `myapi.html` file in the current directory. 62 | 63 | ```bash 64 | $ api2html -o myapi.html myapi.yml 65 | ``` 66 | 67 | #### Use custom logo 68 | 69 | This will render the `api.yml` file in the current directory as `myapi.html` file in the same directory, and use the custom logo `mylogo.png`. 70 | 71 | ```bash 72 | $ api2html -o myapi.html -c mylogo.png myapi.yml 73 | ``` 74 | 75 | #### Define which language examples should be generated 76 | 77 | This will render the `api.yml` file in the current directory as `myapi.html` file in the same directory, and use `go` and `javascript` examples. 78 | 79 | ```bash 80 | $ api2html -o myapi.html -l go,javascript myapi.yml 81 | ``` 82 | 83 | #### Use different syntax highlighter 84 | 85 | This will render the `api.yml` file in the current directory as `myapi.html` file in the same directory, and use `go` and `javascript` examples, as well as a different syntax higlighter from [highlight.js](https://highlightjs.org/static/demo/). 86 | 87 | ```bash 88 | $ api2html -o myapi.html -l go,javascript -t arta myapi.yml 89 | ``` 90 | 91 | #### Resolve external dependencies 92 | 93 | If you add refs to external files in your source file, you can enable them by using `-r `. The following command will resolve all your relative imports from the current directory. 94 | 95 | ```bash 96 | $ api2html -o myapi.html -r ./ myapi.yml 97 | ``` 98 | -------------------------------------------------------------------------------- /bin/api2html.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | "use strict"; 4 | 5 | const fs = require("fs"); 6 | const path = require("path"); 7 | const shins = require("shins"); 8 | const converter = require("widdershins"); 9 | const yaml = require("js-yaml"); 10 | const program = require("commander"); 11 | const chalk = require("chalk"); 12 | const pkg = require("../package.json"); 13 | 14 | const languageMap = { 15 | "shell": "Shell", 16 | "http": "HTTP", 17 | "javascript": "JavaScript", 18 | "javascript--nodejs": "Node.js", 19 | "ruby": "Ruby", 20 | "python": "Python", 21 | "java": "Java", 22 | "go": "Go", 23 | "php": "PHP" 24 | }; 25 | 26 | const icons = { 27 | ok: "✓", 28 | fail: "✗" 29 | }; 30 | 31 | async function main() { 32 | 33 | program 34 | .version(pkg.version) 35 | .usage("[options] ") 36 | .option("-r, --resolve ", "resolve external dependencies, source should be a url or a path") 37 | .option("-o, --out ", "output path for the resulting HTML document") 38 | .option("-t, --theme ", "theme to use (see https://highlightjs.org/static/demo/ for a list)") 39 | .option("-c, --customLogo ", "use custom logo at the respective path") 40 | .option("-u, --customLogoUrl ", "url for the custom logo to point to") 41 | .option("-C, --customCss", "use custom css") 42 | .option("-P, --customCssPath ", "use custom css file") 43 | .option("-i, --includes ", "comma-separated list of files to include") 44 | .option("-l, --languages ", "comma-separated list of languages to use for the language tabs (out of " + Object.getOwnPropertyNames(languageMap).join(", ") + ")") 45 | .option("-N, --noCodeSamples", "omit all code samples (overrides --languages)") 46 | .option("-s, --search", "enable search") 47 | .option("-S, --summary", "use summary instead of operationId for TOC") 48 | .option("-b, --omitBody", "Omit top-level fake body parameter object") 49 | .option("-R, --raw", "Show raw schemas in samples, not example values") 50 | .parse(process.argv); 51 | 52 | if (program.args.length === 0) { 53 | console.log(chalk.red(icons.fail) + " Please specify the source file path as argument!"); 54 | process.exit(-1); 55 | } else if (program.args.length > 1) { 56 | console.error(chalk.red(icons.fail) + " Please specify only one argument!"); 57 | process.exit(-1); 58 | } else if (!program.hasOwnProperty("out")) { 59 | console.error(chalk.red(icons.fail) + " Please specify an output path via the '-o' option!"); 60 | process.exit(-1); 61 | } else { 62 | 63 | // Widdershin options 64 | let options = {}; 65 | 66 | options.codeSamples = !program.noCodeSamples 67 | options.httpsnippet = false; 68 | options.theme = program.theme ? program.theme.toLowerCase() : "darkula"; 69 | options.search = program.search || true; 70 | options.discovery = false; 71 | options.shallowSchemas = false; 72 | options.tocSummary = program.summary; 73 | options.headings = 2; 74 | options.verbose = false; 75 | options.omitBody = program.omitBody || false; 76 | options.language_tabs = []; 77 | options.sample = !program.raw; 78 | 79 | if (!program.noCodeSamples) 80 | // Default languages: All 81 | Object.getOwnPropertyNames(languageMap).forEach((lang) => { 82 | let obj = {}; 83 | obj[lang] = languageMap[lang]; 84 | options.language_tabs.push(obj); 85 | }); 86 | 87 | if (program.resolve) { 88 | options.resolve = true; 89 | options.source = program.resolve; 90 | } 91 | 92 | if (program.includes) { 93 | options.includes = program.includes.split(","); 94 | } 95 | 96 | if (program.languages) { 97 | const temp = program.languages.split(","); 98 | let tempLanguages = []; 99 | temp.forEach((lang) => { 100 | if (Object.getOwnPropertyNames(languageMap).indexOf(lang.toLowerCase()) > -1) { 101 | tempLanguages.push(lang); 102 | } else { 103 | console.log(lang); 104 | console.log(chalk.red(icons.fail) + " Invalid language '" + lang + "'. Please specify valid languages (such as " + Object.getOwnPropertyNames(languageMap).join(", ") + ")."); 105 | process.exit(-1); 106 | } 107 | }); 108 | if (tempLanguages.length > 0) { 109 | // Reset languages 110 | options.language_tabs.length = 0; 111 | tempLanguages.forEach((lang) => { 112 | let obj = {}; 113 | obj[lang] = languageMap[lang]; 114 | options.language_tabs.push(obj); 115 | }); 116 | } 117 | } 118 | 119 | // Shin options 120 | let shinOptions = {}; 121 | shinOptions.inline = true; 122 | shinOptions.unsafe = false; 123 | 124 | // Check for custom logo option 125 | if (program.customLogo) { 126 | shinOptions.logo = program.customLogo; 127 | 128 | // Check for logo url option 129 | if (program.customLogoUrl) { 130 | shinOptions['logo-url'] = program.customLogoUrl; 131 | } 132 | } 133 | 134 | // Check for custom css option 135 | if (program.customCss) { 136 | shinOptions.customCss = true; 137 | } 138 | 139 | let customCss = ""; 140 | if (program.customCssPath) { 141 | shinOptions.customCss = true; 142 | 143 | try { 144 | customCss = fs.readFileSync(path.resolve(program.customCssPath), "utf8"); 145 | console.log(chalk.green(icons.ok) + " Read custom css file!"); 146 | } 147 | catch (error) { 148 | console.log(chalk.red(icons.fail) + " Error loading custom css file:"); 149 | console.log(err.message); 150 | } 151 | } 152 | 153 | let api = null; 154 | 155 | try { 156 | 157 | // Read source file 158 | const file = fs.readFileSync(path.resolve(program.args[0]), "utf8"); 159 | 160 | console.log(chalk.green(icons.ok) + " Read source file!"); 161 | 162 | try { 163 | 164 | // Load source yaml 165 | api = yaml.safeLoad(file, { json: true }); 166 | 167 | try { 168 | 169 | // Convert the yaml to markdown for usage with Shin 170 | const markdownString = await converter.convert(api, options); 171 | 172 | console.log(chalk.green(icons.ok) + " Converted OpenAPI docs to markdown!"); 173 | 174 | // Render the markdown as HTML and inline all the assets 175 | shins.render(markdownString, shinOptions, (err, html) => { 176 | 177 | if (err) { 178 | console.log(chalk.red(icons.fail) + " Error during rendering via Shin:"); 179 | console.log(err.message); 180 | process.exit(-1); 181 | } 182 | 183 | console.log(chalk.green(icons.ok) + " Rendered HTML from markdown!"); 184 | 185 | if (customCss) { 186 | html = html.replace(/\/\* place your custom CSS overrides here \*\//i, customCss); 187 | } 188 | 189 | try { 190 | 191 | // Write output file 192 | fs.writeFileSync(path.resolve(program.out), html, "utf8"); 193 | 194 | console.log(chalk.green(icons.ok) + " Wrote output file!"); 195 | 196 | } catch (err) { 197 | console.log(chalk.red(icons.fail) + " Failed to write output file:"); 198 | console.log(err.message); 199 | process.exit(-1); 200 | } finally { 201 | console.log(chalk.green(icons.ok) + " Finished!"); 202 | } 203 | }); 204 | 205 | } catch (err) { 206 | console.log(chalk.red(icons.fail) + " Error during conversion via Widdershin:"); 207 | console.log(err.message); 208 | process.exit(-1); 209 | } 210 | 211 | } catch (ex) { 212 | console.error("Failed to parse the source OpenAPI document"); 213 | process.exit(-1); 214 | } 215 | 216 | } catch (err) { 217 | console.error("Source file wasn't found: " + program.args[0]); 218 | process.exit(-1); 219 | } 220 | 221 | } 222 | 223 | } 224 | 225 | main().catch(err => { 226 | console.error("Unexpected error: " + err); 227 | process.exit(-1); 228 | }); 229 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /examples/asyncapi-simple.yml: -------------------------------------------------------------------------------- 1 | asyncapi: '1.0.0' 2 | info: 3 | title: Streetlights API 4 | version: '1.0.0' 5 | description: | 6 | The Smartylighting Streetlights API allows you 7 | to remotely manage the city lights. 8 | license: 9 | name: Apache 2.0 10 | url: 'https://www.apache.org/licenses/LICENSE-2.0' 11 | baseTopic: smartylighting.streetlights.1.0 12 | servers: 13 | - url: api.streetlights.smartylighting.com:{port} 14 | scheme: mqtt 15 | description: Test broker 16 | variables: 17 | port: 18 | description: Secure connection (TLS) is available through port 8883. 19 | default: '1883' 20 | enum: 21 | - '1883' 22 | - '8883' 23 | topics: 24 | event.{streetlightId}.lighting.measured: 25 | publish: 26 | $ref: '#/components/messages/lightMeasured' 27 | components: 28 | messages: 29 | lightMeasured: 30 | summary: Inform about environmental lighting conditions for a particular streetlight. 31 | payload: 32 | $ref: "#/components/schemas/lightMeasuredPayload" 33 | schemas: 34 | lightMeasuredPayload: 35 | type: object 36 | properties: 37 | lumens: 38 | type: integer 39 | minimum: 0 40 | description: Light intensity measured in lumens. 41 | sentAt: 42 | $ref: "#/components/schemas/sentAt" 43 | sentAt: 44 | type: string 45 | format: date-time 46 | description: Date and time when the message was sent. -------------------------------------------------------------------------------- /examples/openapi-petstore.yml: -------------------------------------------------------------------------------- 1 | openapi: "3.0.0" 2 | info: 3 | version: 1.0.0 4 | title: Swagger Petstore 5 | description: A sample API that uses a petstore as an example to demonstrate features in the OpenAPI 3.0 specification 6 | termsOfService: http://swagger.io/terms/ 7 | contact: 8 | name: Swagger API Team 9 | email: apiteam@swagger.io 10 | url: http://swagger.io 11 | license: 12 | name: Apache 2.0 13 | url: https://www.apache.org/licenses/LICENSE-2.0.html 14 | servers: 15 | - url: http://petstore.swagger.io/api 16 | paths: 17 | /pets: 18 | get: 19 | description: | 20 | Returns all pets from the system that the user has access to 21 | Nam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia. 22 | 23 | Sed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien. 24 | operationId: findPets 25 | parameters: 26 | - name: tags 27 | in: query 28 | description: tags to filter by 29 | required: false 30 | style: form 31 | schema: 32 | type: array 33 | items: 34 | type: string 35 | - name: limit 36 | in: query 37 | description: maximum number of results to return 38 | required: false 39 | schema: 40 | type: integer 41 | format: int32 42 | responses: 43 | '200': 44 | description: pet response 45 | content: 46 | application/json: 47 | schema: 48 | type: array 49 | items: 50 | $ref: '#/components/schemas/Pet' 51 | default: 52 | description: unexpected error 53 | content: 54 | application/json: 55 | schema: 56 | $ref: '#/components/schemas/Error' 57 | post: 58 | description: Creates a new pet in the store. Duplicates are allowed 59 | operationId: addPet 60 | requestBody: 61 | description: Pet to add to the store 62 | required: true 63 | content: 64 | application/json: 65 | schema: 66 | $ref: '#/components/schemas/NewPet' 67 | responses: 68 | '200': 69 | description: pet response 70 | content: 71 | application/json: 72 | schema: 73 | $ref: '#/components/schemas/Pet' 74 | default: 75 | description: unexpected error 76 | content: 77 | application/json: 78 | schema: 79 | $ref: '#/components/schemas/Error' 80 | /pets/{id}: 81 | get: 82 | description: Returns a user based on a single ID, if the user does not have access to the pet 83 | operationId: find pet by id 84 | parameters: 85 | - name: id 86 | in: path 87 | description: ID of pet to fetch 88 | required: true 89 | schema: 90 | type: integer 91 | format: int64 92 | responses: 93 | '200': 94 | description: pet response 95 | content: 96 | application/json: 97 | schema: 98 | $ref: '#/components/schemas/Pet' 99 | default: 100 | description: unexpected error 101 | content: 102 | application/json: 103 | schema: 104 | $ref: '#/components/schemas/Error' 105 | delete: 106 | description: deletes a single pet based on the ID supplied 107 | operationId: deletePet 108 | parameters: 109 | - name: id 110 | in: path 111 | description: ID of pet to delete 112 | required: true 113 | schema: 114 | type: integer 115 | format: int64 116 | responses: 117 | '204': 118 | description: pet deleted 119 | default: 120 | description: unexpected error 121 | content: 122 | application/json: 123 | schema: 124 | $ref: '#/components/schemas/Error' 125 | components: 126 | schemas: 127 | Pet: 128 | allOf: 129 | - $ref: '#/components/schemas/NewPet' 130 | - required: 131 | - id 132 | properties: 133 | id: 134 | type: integer 135 | format: int64 136 | 137 | NewPet: 138 | required: 139 | - name 140 | properties: 141 | name: 142 | type: string 143 | tag: 144 | type: string 145 | 146 | Error: 147 | required: 148 | - code 149 | - message 150 | properties: 151 | code: 152 | type: integer 153 | format: int32 154 | message: 155 | type: string -------------------------------------------------------------------------------- /examples/openapi-simple.yml: -------------------------------------------------------------------------------- 1 | openapi: "3.0.0" 2 | info: 3 | title: Simple API overview 4 | version: v2 5 | paths: 6 | /: 7 | get: 8 | operationId: listVersionsv2 9 | summary: List API versions 10 | responses: 11 | '200': 12 | description: |- 13 | 200 response 14 | content: 15 | application/json: 16 | examples: 17 | foo: 18 | value: { 19 | "versions": [ 20 | { 21 | "status": "CURRENT", 22 | "updated": "2011-01-21T11:33:21Z", 23 | "id": "v2.0", 24 | "links": [ 25 | { 26 | "href": "http://127.0.0.1:8774/v2/", 27 | "rel": "self" 28 | } 29 | ] 30 | }, 31 | { 32 | "status": "EXPERIMENTAL", 33 | "updated": "2013-07-23T11:33:21Z", 34 | "id": "v3.0", 35 | "links": [ 36 | { 37 | "href": "http://127.0.0.1:8774/v3/", 38 | "rel": "self" 39 | } 40 | ] 41 | } 42 | ] 43 | } 44 | '300': 45 | description: |- 46 | 300 response 47 | content: 48 | application/json: 49 | examples: 50 | foo: 51 | value: | 52 | { 53 | "versions": [ 54 | { 55 | "status": "CURRENT", 56 | "updated": "2011-01-21T11:33:21Z", 57 | "id": "v2.0", 58 | "links": [ 59 | { 60 | "href": "http://127.0.0.1:8774/v2/", 61 | "rel": "self" 62 | } 63 | ] 64 | }, 65 | { 66 | "status": "EXPERIMENTAL", 67 | "updated": "2013-07-23T11:33:21Z", 68 | "id": "v3.0", 69 | "links": [ 70 | { 71 | "href": "http://127.0.0.1:8774/v3/", 72 | "rel": "self" 73 | } 74 | ] 75 | } 76 | ] 77 | } 78 | /v2: 79 | get: 80 | operationId: getVersionDetailsv2 81 | summary: Show API version details 82 | responses: 83 | '200': 84 | description: |- 85 | 200 response 86 | content: 87 | application/json: 88 | examples: 89 | foo: 90 | value: { 91 | "version": { 92 | "status": "CURRENT", 93 | "updated": "2011-01-21T11:33:21Z", 94 | "media-types": [ 95 | { 96 | "base": "application/xml", 97 | "type": "application/vnd.openstack.compute+xml;version=2" 98 | }, 99 | { 100 | "base": "application/json", 101 | "type": "application/vnd.openstack.compute+json;version=2" 102 | } 103 | ], 104 | "id": "v2.0", 105 | "links": [ 106 | { 107 | "href": "http://127.0.0.1:8774/v2/", 108 | "rel": "self" 109 | }, 110 | { 111 | "href": "http://docs.openstack.org/api/openstack-compute/2/os-compute-devguide-2.pdf", 112 | "type": "application/pdf", 113 | "rel": "describedby" 114 | }, 115 | { 116 | "href": "http://docs.openstack.org/api/openstack-compute/2/wadl/os-compute-2.wadl", 117 | "type": "application/vnd.sun.wadl+xml", 118 | "rel": "describedby" 119 | }, 120 | { 121 | "href": "http://docs.openstack.org/api/openstack-compute/2/wadl/os-compute-2.wadl", 122 | "type": "application/vnd.sun.wadl+xml", 123 | "rel": "describedby" 124 | } 125 | ] 126 | } 127 | } 128 | '203': 129 | description: |- 130 | 203 response 131 | content: 132 | application/json: 133 | examples: 134 | foo: 135 | value: { 136 | "version": { 137 | "status": "CURRENT", 138 | "updated": "2011-01-21T11:33:21Z", 139 | "media-types": [ 140 | { 141 | "base": "application/xml", 142 | "type": "application/vnd.openstack.compute+xml;version=2" 143 | }, 144 | { 145 | "base": "application/json", 146 | "type": "application/vnd.openstack.compute+json;version=2" 147 | } 148 | ], 149 | "id": "v2.0", 150 | "links": [ 151 | { 152 | "href": "http://23.253.228.211:8774/v2/", 153 | "rel": "self" 154 | }, 155 | { 156 | "href": "http://docs.openstack.org/api/openstack-compute/2/os-compute-devguide-2.pdf", 157 | "type": "application/pdf", 158 | "rel": "describedby" 159 | }, 160 | { 161 | "href": "http://docs.openstack.org/api/openstack-compute/2/wadl/os-compute-2.wadl", 162 | "type": "application/vnd.sun.wadl+xml", 163 | "rel": "describedby" 164 | } 165 | ] 166 | } 167 | } -------------------------------------------------------------------------------- /examples/sample-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tobilg/api2html/a5bfdcf626523ceea5d78747349e85303dc3241c/examples/sample-logo.png -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api2html", 3 | "version": "0.4.1", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/code-frame": { 8 | "version": "7.10.4", 9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", 10 | "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", 11 | "requires": { 12 | "@babel/highlight": "^7.10.4" 13 | } 14 | }, 15 | "@babel/helper-validator-identifier": { 16 | "version": "7.10.4", 17 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", 18 | "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" 19 | }, 20 | "@babel/highlight": { 21 | "version": "7.10.4", 22 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", 23 | "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", 24 | "requires": { 25 | "@babel/helper-validator-identifier": "^7.10.4", 26 | "chalk": "^2.0.0", 27 | "js-tokens": "^4.0.0" 28 | }, 29 | "dependencies": { 30 | "ansi-styles": { 31 | "version": "3.2.1", 32 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 33 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 34 | "requires": { 35 | "color-convert": "^1.9.0" 36 | } 37 | }, 38 | "chalk": { 39 | "version": "2.4.2", 40 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 41 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 42 | "requires": { 43 | "ansi-styles": "^3.2.1", 44 | "escape-string-regexp": "^1.0.5", 45 | "supports-color": "^5.3.0" 46 | } 47 | }, 48 | "color-convert": { 49 | "version": "1.9.3", 50 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 51 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 52 | "requires": { 53 | "color-name": "1.1.3" 54 | } 55 | }, 56 | "color-name": { 57 | "version": "1.1.3", 58 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 59 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 60 | }, 61 | "supports-color": { 62 | "version": "5.5.0", 63 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 64 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 65 | "requires": { 66 | "has-flag": "^3.0.0" 67 | } 68 | } 69 | } 70 | }, 71 | "@babel/runtime": { 72 | "version": "7.12.5", 73 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", 74 | "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", 75 | "requires": { 76 | "regenerator-runtime": "^0.13.4" 77 | } 78 | }, 79 | "@exodus/schemasafe": { 80 | "version": "1.0.0-rc.3", 81 | "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.0.0-rc.3.tgz", 82 | "integrity": "sha512-GoXw0U2Qaa33m3eUcxuHnHpNvHjNlLo0gtV091XBpaRINaB4X6FGCG5XKxSFNFiPpugUDqNruHzaqpTdDm4AOg==" 83 | }, 84 | "accepts": { 85 | "version": "1.3.7", 86 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", 87 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", 88 | "requires": { 89 | "mime-types": "~2.1.24", 90 | "negotiator": "0.6.2" 91 | } 92 | }, 93 | "ajv": { 94 | "version": "6.12.6", 95 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 96 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 97 | "requires": { 98 | "fast-deep-equal": "^3.1.1", 99 | "fast-json-stable-stringify": "^2.0.0", 100 | "json-schema-traverse": "^0.4.1", 101 | "uri-js": "^4.2.2" 102 | } 103 | }, 104 | "align-text": { 105 | "version": "0.1.4", 106 | "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", 107 | "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", 108 | "requires": { 109 | "kind-of": "^3.0.2", 110 | "longest": "^1.0.1", 111 | "repeat-string": "^1.5.2" 112 | } 113 | }, 114 | "ansi-regex": { 115 | "version": "2.1.1", 116 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 117 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" 118 | }, 119 | "ansi-styles": { 120 | "version": "4.3.0", 121 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 122 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 123 | "requires": { 124 | "color-convert": "^2.0.1" 125 | } 126 | }, 127 | "anymatch": { 128 | "version": "3.1.1", 129 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", 130 | "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", 131 | "requires": { 132 | "normalize-path": "^3.0.0", 133 | "picomatch": "^2.0.4" 134 | } 135 | }, 136 | "argparse": { 137 | "version": "1.0.10", 138 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 139 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 140 | "requires": { 141 | "sprintf-js": "~1.0.2" 142 | } 143 | }, 144 | "array-flatten": { 145 | "version": "1.1.1", 146 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 147 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 148 | }, 149 | "asynckit": { 150 | "version": "0.4.0", 151 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 152 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 153 | }, 154 | "better-ajv-errors": { 155 | "version": "0.6.7", 156 | "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-0.6.7.tgz", 157 | "integrity": "sha512-PYgt/sCzR4aGpyNy5+ViSQ77ognMnWq7745zM+/flYO4/Yisdtp9wDQW2IKCyVYPUxQt3E/b5GBSwfhd1LPdlg==", 158 | "requires": { 159 | "@babel/code-frame": "^7.0.0", 160 | "@babel/runtime": "^7.0.0", 161 | "chalk": "^2.4.1", 162 | "core-js": "^3.2.1", 163 | "json-to-ast": "^2.0.3", 164 | "jsonpointer": "^4.0.1", 165 | "leven": "^3.1.0" 166 | }, 167 | "dependencies": { 168 | "ansi-styles": { 169 | "version": "3.2.1", 170 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 171 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 172 | "requires": { 173 | "color-convert": "^1.9.0" 174 | } 175 | }, 176 | "chalk": { 177 | "version": "2.4.2", 178 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 179 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 180 | "requires": { 181 | "ansi-styles": "^3.2.1", 182 | "escape-string-regexp": "^1.0.5", 183 | "supports-color": "^5.3.0" 184 | } 185 | }, 186 | "color-convert": { 187 | "version": "1.9.3", 188 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 189 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 190 | "requires": { 191 | "color-name": "1.1.3" 192 | } 193 | }, 194 | "color-name": { 195 | "version": "1.1.3", 196 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 197 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 198 | }, 199 | "supports-color": { 200 | "version": "5.5.0", 201 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 202 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 203 | "requires": { 204 | "has-flag": "^3.0.0" 205 | } 206 | } 207 | } 208 | }, 209 | "binary-extensions": { 210 | "version": "2.1.0", 211 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", 212 | "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==" 213 | }, 214 | "body-parser": { 215 | "version": "1.19.0", 216 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", 217 | "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", 218 | "requires": { 219 | "bytes": "3.1.0", 220 | "content-type": "~1.0.4", 221 | "debug": "2.6.9", 222 | "depd": "~1.1.2", 223 | "http-errors": "1.7.2", 224 | "iconv-lite": "0.4.24", 225 | "on-finished": "~2.3.0", 226 | "qs": "6.7.0", 227 | "raw-body": "2.4.0", 228 | "type-is": "~1.6.17" 229 | }, 230 | "dependencies": { 231 | "bytes": { 232 | "version": "3.1.0", 233 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 234 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" 235 | } 236 | } 237 | }, 238 | "boolbase": { 239 | "version": "1.0.0", 240 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 241 | "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" 242 | }, 243 | "braces": { 244 | "version": "3.0.2", 245 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 246 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 247 | "requires": { 248 | "fill-range": "^7.0.1" 249 | } 250 | }, 251 | "bytes": { 252 | "version": "3.0.0", 253 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", 254 | "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" 255 | }, 256 | "call-me-maybe": { 257 | "version": "1.0.1", 258 | "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", 259 | "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" 260 | }, 261 | "camelcase": { 262 | "version": "1.2.1", 263 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", 264 | "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" 265 | }, 266 | "center-align": { 267 | "version": "0.1.3", 268 | "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", 269 | "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", 270 | "requires": { 271 | "align-text": "^0.1.3", 272 | "lazy-cache": "^1.0.3" 273 | } 274 | }, 275 | "chalk": { 276 | "version": "4.1.2", 277 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 278 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 279 | "requires": { 280 | "ansi-styles": "^4.1.0", 281 | "supports-color": "^7.1.0" 282 | }, 283 | "dependencies": { 284 | "has-flag": { 285 | "version": "4.0.0", 286 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 287 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 288 | }, 289 | "supports-color": { 290 | "version": "7.2.0", 291 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 292 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 293 | "requires": { 294 | "has-flag": "^4.0.0" 295 | } 296 | } 297 | } 298 | }, 299 | "cheerio": { 300 | "version": "1.0.0-rc.12", 301 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", 302 | "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", 303 | "requires": { 304 | "cheerio-select": "^2.1.0", 305 | "dom-serializer": "^2.0.0", 306 | "domhandler": "^5.0.3", 307 | "domutils": "^3.0.1", 308 | "htmlparser2": "^8.0.1", 309 | "parse5": "^7.0.0", 310 | "parse5-htmlparser2-tree-adapter": "^7.0.0" 311 | } 312 | }, 313 | "cheerio-select": { 314 | "version": "2.1.0", 315 | "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", 316 | "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", 317 | "requires": { 318 | "boolbase": "^1.0.0", 319 | "css-select": "^5.1.0", 320 | "css-what": "^6.1.0", 321 | "domelementtype": "^2.3.0", 322 | "domhandler": "^5.0.3", 323 | "domutils": "^3.0.1" 324 | } 325 | }, 326 | "chokidar": { 327 | "version": "3.4.3", 328 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", 329 | "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", 330 | "requires": { 331 | "anymatch": "~3.1.1", 332 | "braces": "~3.0.2", 333 | "fsevents": "~2.1.2", 334 | "glob-parent": "~5.1.0", 335 | "is-binary-path": "~2.1.0", 336 | "is-glob": "~4.0.1", 337 | "normalize-path": "~3.0.0", 338 | "readdirp": "~3.5.0" 339 | } 340 | }, 341 | "cliui": { 342 | "version": "2.1.0", 343 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", 344 | "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", 345 | "requires": { 346 | "center-align": "^0.1.1", 347 | "right-align": "^0.1.1", 348 | "wordwrap": "0.0.2" 349 | } 350 | }, 351 | "co": { 352 | "version": "4.6.0", 353 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 354 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" 355 | }, 356 | "code-error-fragment": { 357 | "version": "0.0.230", 358 | "resolved": "https://registry.npmjs.org/code-error-fragment/-/code-error-fragment-0.0.230.tgz", 359 | "integrity": "sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==" 360 | }, 361 | "code-point-at": { 362 | "version": "1.1.0", 363 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 364 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" 365 | }, 366 | "color-convert": { 367 | "version": "2.0.1", 368 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 369 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 370 | "requires": { 371 | "color-name": "~1.1.4" 372 | } 373 | }, 374 | "color-name": { 375 | "version": "1.1.4", 376 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 377 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 378 | }, 379 | "combined-stream": { 380 | "version": "1.0.8", 381 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 382 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 383 | "requires": { 384 | "delayed-stream": "~1.0.0" 385 | } 386 | }, 387 | "commander": { 388 | "version": "9.4.1", 389 | "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", 390 | "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==" 391 | }, 392 | "compressible": { 393 | "version": "2.0.18", 394 | "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", 395 | "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", 396 | "requires": { 397 | "mime-db": ">= 1.43.0 < 2" 398 | } 399 | }, 400 | "compression": { 401 | "version": "1.7.4", 402 | "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", 403 | "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", 404 | "requires": { 405 | "accepts": "~1.3.5", 406 | "bytes": "3.0.0", 407 | "compressible": "~2.0.16", 408 | "debug": "2.6.9", 409 | "on-headers": "~1.0.2", 410 | "safe-buffer": "5.1.2", 411 | "vary": "~1.1.2" 412 | }, 413 | "dependencies": { 414 | "safe-buffer": { 415 | "version": "5.1.2", 416 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 417 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 418 | } 419 | } 420 | }, 421 | "content-disposition": { 422 | "version": "0.5.3", 423 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", 424 | "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", 425 | "requires": { 426 | "safe-buffer": "5.1.2" 427 | }, 428 | "dependencies": { 429 | "safe-buffer": { 430 | "version": "5.1.2", 431 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 432 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 433 | } 434 | } 435 | }, 436 | "content-type": { 437 | "version": "1.0.4", 438 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 439 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" 440 | }, 441 | "cookie": { 442 | "version": "0.4.0", 443 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", 444 | "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" 445 | }, 446 | "cookie-signature": { 447 | "version": "1.0.6", 448 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 449 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 450 | }, 451 | "core-js": { 452 | "version": "3.8.1", 453 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.1.tgz", 454 | "integrity": "sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==" 455 | }, 456 | "cross-spawn": { 457 | "version": "6.0.5", 458 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 459 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 460 | "requires": { 461 | "nice-try": "^1.0.4", 462 | "path-key": "^2.0.1", 463 | "semver": "^5.5.0", 464 | "shebang-command": "^1.2.0", 465 | "which": "^1.2.9" 466 | } 467 | }, 468 | "css-select": { 469 | "version": "5.1.0", 470 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", 471 | "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", 472 | "requires": { 473 | "boolbase": "^1.0.0", 474 | "css-what": "^6.1.0", 475 | "domhandler": "^5.0.2", 476 | "domutils": "^3.0.1", 477 | "nth-check": "^2.0.1" 478 | } 479 | }, 480 | "css-what": { 481 | "version": "6.1.0", 482 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", 483 | "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" 484 | }, 485 | "debug": { 486 | "version": "2.6.9", 487 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 488 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 489 | "requires": { 490 | "ms": "2.0.0" 491 | } 492 | }, 493 | "decamelize": { 494 | "version": "1.2.0", 495 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 496 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" 497 | }, 498 | "delayed-stream": { 499 | "version": "1.0.0", 500 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 501 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 502 | }, 503 | "depd": { 504 | "version": "1.1.2", 505 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 506 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 507 | }, 508 | "destroy": { 509 | "version": "1.0.4", 510 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 511 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 512 | }, 513 | "dom-serializer": { 514 | "version": "2.0.0", 515 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", 516 | "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", 517 | "requires": { 518 | "domelementtype": "^2.3.0", 519 | "domhandler": "^5.0.2", 520 | "entities": "^4.2.0" 521 | } 522 | }, 523 | "domelementtype": { 524 | "version": "2.3.0", 525 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 526 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" 527 | }, 528 | "domhandler": { 529 | "version": "5.0.3", 530 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", 531 | "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", 532 | "requires": { 533 | "domelementtype": "^2.3.0" 534 | } 535 | }, 536 | "domutils": { 537 | "version": "3.0.1", 538 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", 539 | "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", 540 | "requires": { 541 | "dom-serializer": "^2.0.0", 542 | "domelementtype": "^2.3.0", 543 | "domhandler": "^5.0.1" 544 | } 545 | }, 546 | "dot": { 547 | "version": "1.1.3", 548 | "resolved": "https://registry.npmjs.org/dot/-/dot-1.1.3.tgz", 549 | "integrity": "sha512-/nt74Rm+PcfnirXGEdhZleTwGC2LMnuKTeeTIlI82xb5loBBoXNYzr2ezCroPSMtilK8EZIfcNZwOcHN+ib1Lg==" 550 | }, 551 | "duplexer": { 552 | "version": "0.1.2", 553 | "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", 554 | "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" 555 | }, 556 | "ee-first": { 557 | "version": "1.1.1", 558 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 559 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" 560 | }, 561 | "ejs": { 562 | "version": "2.7.4", 563 | "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", 564 | "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" 565 | }, 566 | "emoji-regex": { 567 | "version": "8.0.0", 568 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 569 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 570 | }, 571 | "encodeurl": { 572 | "version": "1.0.2", 573 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 574 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" 575 | }, 576 | "end-of-stream": { 577 | "version": "1.4.4", 578 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 579 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 580 | "requires": { 581 | "once": "^1.4.0" 582 | } 583 | }, 584 | "entities": { 585 | "version": "4.4.0", 586 | "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", 587 | "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==" 588 | }, 589 | "es6-promise": { 590 | "version": "3.3.1", 591 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", 592 | "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=" 593 | }, 594 | "escalade": { 595 | "version": "3.1.1", 596 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 597 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" 598 | }, 599 | "escape-html": { 600 | "version": "1.0.3", 601 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 602 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" 603 | }, 604 | "escape-string-regexp": { 605 | "version": "1.0.5", 606 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 607 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 608 | }, 609 | "etag": { 610 | "version": "1.8.1", 611 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 612 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 613 | }, 614 | "event-stream": { 615 | "version": "3.3.4", 616 | "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", 617 | "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", 618 | "requires": { 619 | "duplexer": "~0.1.1", 620 | "from": "~0", 621 | "map-stream": "~0.1.0", 622 | "pause-stream": "0.0.11", 623 | "split": "0.3", 624 | "stream-combiner": "~0.0.4", 625 | "through": "~2.3.1" 626 | } 627 | }, 628 | "execa": { 629 | "version": "1.0.0", 630 | "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", 631 | "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", 632 | "requires": { 633 | "cross-spawn": "^6.0.0", 634 | "get-stream": "^4.0.0", 635 | "is-stream": "^1.1.0", 636 | "npm-run-path": "^2.0.0", 637 | "p-finally": "^1.0.0", 638 | "signal-exit": "^3.0.0", 639 | "strip-eof": "^1.0.0" 640 | } 641 | }, 642 | "express": { 643 | "version": "4.17.1", 644 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", 645 | "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", 646 | "requires": { 647 | "accepts": "~1.3.7", 648 | "array-flatten": "1.1.1", 649 | "body-parser": "1.19.0", 650 | "content-disposition": "0.5.3", 651 | "content-type": "~1.0.4", 652 | "cookie": "0.4.0", 653 | "cookie-signature": "1.0.6", 654 | "debug": "2.6.9", 655 | "depd": "~1.1.2", 656 | "encodeurl": "~1.0.2", 657 | "escape-html": "~1.0.3", 658 | "etag": "~1.8.1", 659 | "finalhandler": "~1.1.2", 660 | "fresh": "0.5.2", 661 | "merge-descriptors": "1.0.1", 662 | "methods": "~1.1.2", 663 | "on-finished": "~2.3.0", 664 | "parseurl": "~1.3.3", 665 | "path-to-regexp": "0.1.7", 666 | "proxy-addr": "~2.0.5", 667 | "qs": "6.7.0", 668 | "range-parser": "~1.2.1", 669 | "safe-buffer": "5.1.2", 670 | "send": "0.17.1", 671 | "serve-static": "1.14.1", 672 | "setprototypeof": "1.1.1", 673 | "statuses": "~1.5.0", 674 | "type-is": "~1.6.18", 675 | "utils-merge": "1.0.1", 676 | "vary": "~1.1.2" 677 | }, 678 | "dependencies": { 679 | "safe-buffer": { 680 | "version": "5.1.2", 681 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 682 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 683 | } 684 | } 685 | }, 686 | "fast-deep-equal": { 687 | "version": "3.1.3", 688 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 689 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 690 | }, 691 | "fast-json-stable-stringify": { 692 | "version": "2.1.0", 693 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 694 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" 695 | }, 696 | "fast-safe-stringify": { 697 | "version": "2.0.7", 698 | "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", 699 | "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" 700 | }, 701 | "fill-range": { 702 | "version": "7.0.1", 703 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 704 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 705 | "requires": { 706 | "to-regex-range": "^5.0.1" 707 | } 708 | }, 709 | "finalhandler": { 710 | "version": "1.1.2", 711 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", 712 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", 713 | "requires": { 714 | "debug": "2.6.9", 715 | "encodeurl": "~1.0.2", 716 | "escape-html": "~1.0.3", 717 | "on-finished": "~2.3.0", 718 | "parseurl": "~1.3.3", 719 | "statuses": "~1.5.0", 720 | "unpipe": "~1.0.0" 721 | } 722 | }, 723 | "find-up": { 724 | "version": "4.1.0", 725 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 726 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 727 | "requires": { 728 | "locate-path": "^5.0.0", 729 | "path-exists": "^4.0.0" 730 | } 731 | }, 732 | "foreach": { 733 | "version": "2.0.6", 734 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz", 735 | "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==" 736 | }, 737 | "form-data": { 738 | "version": "3.0.0", 739 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", 740 | "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", 741 | "requires": { 742 | "asynckit": "^0.4.0", 743 | "combined-stream": "^1.0.8", 744 | "mime-types": "^2.1.12" 745 | } 746 | }, 747 | "forwarded": { 748 | "version": "0.1.2", 749 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", 750 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" 751 | }, 752 | "fresh": { 753 | "version": "0.5.2", 754 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 755 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 756 | }, 757 | "from": { 758 | "version": "0.1.7", 759 | "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", 760 | "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" 761 | }, 762 | "fs-readfile-promise": { 763 | "version": "2.0.1", 764 | "resolved": "https://registry.npmjs.org/fs-readfile-promise/-/fs-readfile-promise-2.0.1.tgz", 765 | "integrity": "sha1-gAI4I5gfn//+AWCei+Zo9prknnA=", 766 | "requires": { 767 | "graceful-fs": "^4.1.2" 768 | } 769 | }, 770 | "fs-writefile-promise": { 771 | "version": "1.0.3", 772 | "resolved": "https://registry.npmjs.org/fs-writefile-promise/-/fs-writefile-promise-1.0.3.tgz", 773 | "integrity": "sha1-4C+bWP/CVe2CKtx6ARFPRF1I0GM=", 774 | "requires": { 775 | "mkdirp-promise": "^1.0.0", 776 | "pinkie-promise": "^1.0.0" 777 | }, 778 | "dependencies": { 779 | "pinkie-promise": { 780 | "version": "1.0.0", 781 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", 782 | "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", 783 | "requires": { 784 | "pinkie": "^1.0.0" 785 | } 786 | } 787 | } 788 | }, 789 | "fsevents": { 790 | "version": "2.1.3", 791 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", 792 | "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", 793 | "optional": true 794 | }, 795 | "get-caller-file": { 796 | "version": "2.0.5", 797 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 798 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" 799 | }, 800 | "get-own-enumerable-property-symbols": { 801 | "version": "3.0.2", 802 | "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", 803 | "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" 804 | }, 805 | "get-stream": { 806 | "version": "4.1.0", 807 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", 808 | "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", 809 | "requires": { 810 | "pump": "^3.0.0" 811 | } 812 | }, 813 | "glob-parent": { 814 | "version": "5.1.2", 815 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 816 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 817 | "requires": { 818 | "is-glob": "^4.0.1" 819 | } 820 | }, 821 | "graceful-fs": { 822 | "version": "4.2.4", 823 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", 824 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" 825 | }, 826 | "grapheme-splitter": { 827 | "version": "1.0.4", 828 | "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", 829 | "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" 830 | }, 831 | "har-schema": { 832 | "version": "2.0.0", 833 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 834 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" 835 | }, 836 | "har-validator": { 837 | "version": "5.1.5", 838 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", 839 | "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", 840 | "requires": { 841 | "ajv": "^6.12.3", 842 | "har-schema": "^2.0.0" 843 | } 844 | }, 845 | "has-ansi": { 846 | "version": "2.0.0", 847 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 848 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 849 | "requires": { 850 | "ansi-regex": "^2.0.0" 851 | } 852 | }, 853 | "has-flag": { 854 | "version": "3.0.0", 855 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 856 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 857 | }, 858 | "highlight.js": { 859 | "version": "10.4.1", 860 | "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.1.tgz", 861 | "integrity": "sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==" 862 | }, 863 | "highlightjs": { 864 | "version": "9.16.2", 865 | "resolved": "https://registry.npmjs.org/highlightjs/-/highlightjs-9.16.2.tgz", 866 | "integrity": "sha512-FK1vmMj8BbEipEy8DLIvp71t5UsC7n2D6En/UfM/91PCwmOpj6f2iu0Y0coRC62KSRHHC+dquM2xMULV/X7NFg==" 867 | }, 868 | "htmlparser2": { 869 | "version": "8.0.1", 870 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", 871 | "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", 872 | "requires": { 873 | "domelementtype": "^2.3.0", 874 | "domhandler": "^5.0.2", 875 | "domutils": "^3.0.1", 876 | "entities": "^4.3.0" 877 | } 878 | }, 879 | "http-errors": { 880 | "version": "1.7.2", 881 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", 882 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", 883 | "requires": { 884 | "depd": "~1.1.2", 885 | "inherits": "2.0.3", 886 | "setprototypeof": "1.1.1", 887 | "statuses": ">= 1.5.0 < 2", 888 | "toidentifier": "1.0.0" 889 | }, 890 | "dependencies": { 891 | "inherits": { 892 | "version": "2.0.3", 893 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 894 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 895 | } 896 | } 897 | }, 898 | "http2-client": { 899 | "version": "1.3.3", 900 | "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.3.tgz", 901 | "integrity": "sha512-nUxLymWQ9pzkzTmir24p2RtsgruLmhje7lH3hLX1IpwvyTg77fW+1brenPPP3USAR+rQ36p5sTA/x7sjCJVkAA==" 902 | }, 903 | "httpsnippet": { 904 | "version": "1.24.0", 905 | "resolved": "https://registry.npmjs.org/httpsnippet/-/httpsnippet-1.24.0.tgz", 906 | "integrity": "sha512-W2GRlKXPm+alFdkYvts7zS54Y8sjOGN1H4dMfLCcNZZrG2Rg9jY57aN/Fyiov4/Z0paFxCS1vKDbugNYfAhUBg==", 907 | "requires": { 908 | "chalk": "^1.1.1", 909 | "commander": "^2.9.0", 910 | "debug": "^2.2.0", 911 | "event-stream": "3.3.4", 912 | "form-data": "3.0.0", 913 | "fs-readfile-promise": "^2.0.1", 914 | "fs-writefile-promise": "^1.0.3", 915 | "har-validator": "^5.0.0", 916 | "pinkie-promise": "^2.0.0", 917 | "stringify-object": "^3.3.0" 918 | }, 919 | "dependencies": { 920 | "ansi-styles": { 921 | "version": "2.2.1", 922 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 923 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" 924 | }, 925 | "chalk": { 926 | "version": "1.1.3", 927 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 928 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 929 | "requires": { 930 | "ansi-styles": "^2.2.1", 931 | "escape-string-regexp": "^1.0.2", 932 | "has-ansi": "^2.0.0", 933 | "strip-ansi": "^3.0.0", 934 | "supports-color": "^2.0.0" 935 | } 936 | }, 937 | "commander": { 938 | "version": "2.20.3", 939 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 940 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" 941 | }, 942 | "supports-color": { 943 | "version": "2.0.0", 944 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 945 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" 946 | } 947 | } 948 | }, 949 | "iconv-lite": { 950 | "version": "0.4.24", 951 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 952 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 953 | "requires": { 954 | "safer-buffer": ">= 2.1.2 < 3" 955 | } 956 | }, 957 | "invert-kv": { 958 | "version": "2.0.0", 959 | "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", 960 | "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" 961 | }, 962 | "ipaddr.js": { 963 | "version": "1.9.1", 964 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 965 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" 966 | }, 967 | "is-binary-path": { 968 | "version": "2.1.0", 969 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 970 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 971 | "requires": { 972 | "binary-extensions": "^2.0.0" 973 | } 974 | }, 975 | "is-buffer": { 976 | "version": "1.1.6", 977 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 978 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 979 | }, 980 | "is-extglob": { 981 | "version": "2.1.1", 982 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 983 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" 984 | }, 985 | "is-fullwidth-code-point": { 986 | "version": "3.0.0", 987 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 988 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" 989 | }, 990 | "is-glob": { 991 | "version": "4.0.1", 992 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 993 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 994 | "requires": { 995 | "is-extglob": "^2.1.1" 996 | } 997 | }, 998 | "is-number": { 999 | "version": "7.0.0", 1000 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1001 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" 1002 | }, 1003 | "is-obj": { 1004 | "version": "1.0.1", 1005 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", 1006 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" 1007 | }, 1008 | "is-regexp": { 1009 | "version": "1.0.0", 1010 | "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", 1011 | "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" 1012 | }, 1013 | "is-stream": { 1014 | "version": "1.1.0", 1015 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 1016 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 1017 | }, 1018 | "is-wsl": { 1019 | "version": "1.1.0", 1020 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", 1021 | "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" 1022 | }, 1023 | "isexe": { 1024 | "version": "2.0.0", 1025 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1026 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" 1027 | }, 1028 | "jgexml": { 1029 | "version": "0.4.4", 1030 | "resolved": "https://registry.npmjs.org/jgexml/-/jgexml-0.4.4.tgz", 1031 | "integrity": "sha512-j0AzSWT7LXy3s3i1cdv5NZxUtscocwiBxgOLiEBfitCehm8STdXVrcOlbAWsJFLCq1elZYpQlGqA9k8Z+n9iJA==" 1032 | }, 1033 | "js-tokens": { 1034 | "version": "4.0.0", 1035 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1036 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 1037 | }, 1038 | "js-yaml": { 1039 | "version": "4.1.0", 1040 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 1041 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 1042 | "requires": { 1043 | "argparse": "^2.0.1" 1044 | }, 1045 | "dependencies": { 1046 | "argparse": { 1047 | "version": "2.0.1", 1048 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1049 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" 1050 | } 1051 | } 1052 | }, 1053 | "json-pointer": { 1054 | "version": "0.6.2", 1055 | "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz", 1056 | "integrity": "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==", 1057 | "requires": { 1058 | "foreach": "^2.0.4" 1059 | } 1060 | }, 1061 | "json-schema-traverse": { 1062 | "version": "0.4.1", 1063 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1064 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" 1065 | }, 1066 | "json-to-ast": { 1067 | "version": "2.1.0", 1068 | "resolved": "https://registry.npmjs.org/json-to-ast/-/json-to-ast-2.1.0.tgz", 1069 | "integrity": "sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==", 1070 | "requires": { 1071 | "code-error-fragment": "0.0.230", 1072 | "grapheme-splitter": "^1.0.4" 1073 | } 1074 | }, 1075 | "jsonpointer": { 1076 | "version": "4.1.0", 1077 | "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", 1078 | "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==" 1079 | }, 1080 | "kind-of": { 1081 | "version": "3.2.2", 1082 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1083 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1084 | "requires": { 1085 | "is-buffer": "^1.1.5" 1086 | } 1087 | }, 1088 | "lazy-cache": { 1089 | "version": "1.0.4", 1090 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", 1091 | "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" 1092 | }, 1093 | "lcid": { 1094 | "version": "2.0.0", 1095 | "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", 1096 | "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", 1097 | "requires": { 1098 | "invert-kv": "^2.0.0" 1099 | } 1100 | }, 1101 | "leven": { 1102 | "version": "3.1.0", 1103 | "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", 1104 | "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" 1105 | }, 1106 | "linkify-it": { 1107 | "version": "2.2.0", 1108 | "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", 1109 | "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", 1110 | "requires": { 1111 | "uc.micro": "^1.0.1" 1112 | } 1113 | }, 1114 | "locate-path": { 1115 | "version": "5.0.0", 1116 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 1117 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 1118 | "requires": { 1119 | "p-locate": "^4.1.0" 1120 | } 1121 | }, 1122 | "lodash": { 1123 | "version": "4.17.21", 1124 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1125 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" 1126 | }, 1127 | "longest": { 1128 | "version": "1.0.1", 1129 | "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", 1130 | "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" 1131 | }, 1132 | "map-age-cleaner": { 1133 | "version": "0.1.3", 1134 | "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", 1135 | "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", 1136 | "requires": { 1137 | "p-defer": "^1.0.0" 1138 | } 1139 | }, 1140 | "map-stream": { 1141 | "version": "0.1.0", 1142 | "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", 1143 | "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=" 1144 | }, 1145 | "markdown-it": { 1146 | "version": "10.0.0", 1147 | "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", 1148 | "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", 1149 | "requires": { 1150 | "argparse": "^1.0.7", 1151 | "entities": "~2.0.0", 1152 | "linkify-it": "^2.0.0", 1153 | "mdurl": "^1.0.1", 1154 | "uc.micro": "^1.0.5" 1155 | }, 1156 | "dependencies": { 1157 | "entities": { 1158 | "version": "2.0.3", 1159 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", 1160 | "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" 1161 | } 1162 | } 1163 | }, 1164 | "markdown-it-attrs": { 1165 | "version": "1.2.1", 1166 | "resolved": "https://registry.npmjs.org/markdown-it-attrs/-/markdown-it-attrs-1.2.1.tgz", 1167 | "integrity": "sha512-EYYKLF9RvQJx1Etsb6EsBGWL7qNQLpg9BRej5f06+UdX75T5gvldEn7ts6bkLIQqugE15SGn4lw1CXDS1A+XUA==" 1168 | }, 1169 | "markdown-it-emoji": { 1170 | "version": "1.4.0", 1171 | "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz", 1172 | "integrity": "sha1-m+4OmpkKljupbfaYDE/dsF37Tcw=" 1173 | }, 1174 | "markdown-it-lazy-headers": { 1175 | "version": "0.1.3", 1176 | "resolved": "https://registry.npmjs.org/markdown-it-lazy-headers/-/markdown-it-lazy-headers-0.1.3.tgz", 1177 | "integrity": "sha1-5w3U2nnIepzoLKRwG4t8Di1yKXs=" 1178 | }, 1179 | "mdurl": { 1180 | "version": "1.0.1", 1181 | "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", 1182 | "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" 1183 | }, 1184 | "media-typer": { 1185 | "version": "0.3.0", 1186 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 1187 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" 1188 | }, 1189 | "mem": { 1190 | "version": "4.3.0", 1191 | "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", 1192 | "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", 1193 | "requires": { 1194 | "map-age-cleaner": "^0.1.1", 1195 | "mimic-fn": "^2.0.0", 1196 | "p-is-promise": "^2.0.0" 1197 | } 1198 | }, 1199 | "merge-descriptors": { 1200 | "version": "1.0.1", 1201 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 1202 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" 1203 | }, 1204 | "methods": { 1205 | "version": "1.1.2", 1206 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 1207 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" 1208 | }, 1209 | "mime": { 1210 | "version": "1.6.0", 1211 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 1212 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" 1213 | }, 1214 | "mime-db": { 1215 | "version": "1.44.0", 1216 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", 1217 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" 1218 | }, 1219 | "mime-types": { 1220 | "version": "2.1.27", 1221 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", 1222 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", 1223 | "requires": { 1224 | "mime-db": "1.44.0" 1225 | } 1226 | }, 1227 | "mimic-fn": { 1228 | "version": "2.1.0", 1229 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1230 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" 1231 | }, 1232 | "mkdirp": { 1233 | "version": "1.0.4", 1234 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 1235 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" 1236 | }, 1237 | "mkdirp-promise": { 1238 | "version": "1.1.0", 1239 | "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-1.1.0.tgz", 1240 | "integrity": "sha1-LISJPtZ24NmPsY+5piEv0bK5qBk=" 1241 | }, 1242 | "ms": { 1243 | "version": "2.0.0", 1244 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1245 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 1246 | }, 1247 | "negotiator": { 1248 | "version": "0.6.2", 1249 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 1250 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 1251 | }, 1252 | "nice-try": { 1253 | "version": "1.0.5", 1254 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 1255 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" 1256 | }, 1257 | "node-fetch": { 1258 | "version": "2.6.7", 1259 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", 1260 | "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", 1261 | "requires": { 1262 | "whatwg-url": "^5.0.0" 1263 | } 1264 | }, 1265 | "node-fetch-h2": { 1266 | "version": "2.3.0", 1267 | "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", 1268 | "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", 1269 | "requires": { 1270 | "http2-client": "^1.2.5" 1271 | } 1272 | }, 1273 | "node-readfiles": { 1274 | "version": "0.2.0", 1275 | "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", 1276 | "integrity": "sha1-271K8SE04uY1wkXvk//Pb2BnOl0=", 1277 | "requires": { 1278 | "es6-promise": "^3.2.1" 1279 | } 1280 | }, 1281 | "normalize-path": { 1282 | "version": "3.0.0", 1283 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1284 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" 1285 | }, 1286 | "npm-run-path": { 1287 | "version": "2.0.2", 1288 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", 1289 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", 1290 | "requires": { 1291 | "path-key": "^2.0.0" 1292 | } 1293 | }, 1294 | "nth-check": { 1295 | "version": "2.1.1", 1296 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", 1297 | "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", 1298 | "requires": { 1299 | "boolbase": "^1.0.0" 1300 | } 1301 | }, 1302 | "number-is-nan": { 1303 | "version": "1.0.1", 1304 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 1305 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" 1306 | }, 1307 | "oas-kit-common": { 1308 | "version": "1.0.8", 1309 | "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", 1310 | "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", 1311 | "requires": { 1312 | "fast-safe-stringify": "^2.0.7" 1313 | } 1314 | }, 1315 | "oas-linter": { 1316 | "version": "3.2.1", 1317 | "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.1.tgz", 1318 | "integrity": "sha512-e5G6bbq3Nrfxm+SDPR5AiZ6n2smVUmhLA1OgI2/Bl8e2ywfWsKw/yuqrwiXXiNHb1wdM/GyPMX6QjCGJODlaaA==", 1319 | "requires": { 1320 | "@exodus/schemasafe": "^1.0.0-rc.2", 1321 | "should": "^13.2.1", 1322 | "yaml": "^1.10.0" 1323 | } 1324 | }, 1325 | "oas-resolver": { 1326 | "version": "2.5.3", 1327 | "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.3.tgz", 1328 | "integrity": "sha512-y4gP5tabqP3YcNVHNAEJAlcqZ40Y9lxemzmXvt54evbrvuGiK5dEhuE33Rf+191TOwzlxMoIgbwMYeuOM7BwjA==", 1329 | "requires": { 1330 | "node-fetch-h2": "^2.3.0", 1331 | "oas-kit-common": "^1.0.8", 1332 | "reftools": "^1.1.7", 1333 | "yaml": "^1.10.0", 1334 | "yargs": "^16.1.1" 1335 | }, 1336 | "dependencies": { 1337 | "ansi-regex": { 1338 | "version": "5.0.0", 1339 | "resolved": "" 1340 | }, 1341 | "cliui": { 1342 | "version": "7.0.4", 1343 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 1344 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 1345 | "requires": { 1346 | "string-width": "^4.2.0", 1347 | "strip-ansi": "^6.0.0", 1348 | "wrap-ansi": "^7.0.0" 1349 | } 1350 | }, 1351 | "strip-ansi": { 1352 | "version": "6.0.0", 1353 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 1354 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 1355 | "requires": { 1356 | "ansi-regex": "^5.0.0" 1357 | } 1358 | }, 1359 | "yargs": { 1360 | "version": "16.2.0", 1361 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 1362 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 1363 | "requires": { 1364 | "cliui": "^7.0.2", 1365 | "escalade": "^3.1.1", 1366 | "get-caller-file": "^2.0.5", 1367 | "require-directory": "^2.1.1", 1368 | "string-width": "^4.2.0", 1369 | "y18n": "^5.0.5", 1370 | "yargs-parser": "^20.2.2" 1371 | } 1372 | } 1373 | } 1374 | }, 1375 | "oas-schema-walker": { 1376 | "version": "1.1.5", 1377 | "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz", 1378 | "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==" 1379 | }, 1380 | "oas-validator": { 1381 | "version": "4.0.8", 1382 | "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-4.0.8.tgz", 1383 | "integrity": "sha512-bIt8erTyclF7bkaySTtQ9sppqyVc+mAlPi7vPzCLVHJsL9nrivQjc/jHLX/o+eGbxHd6a6YBwuY/Vxa6wGsiuw==", 1384 | "requires": { 1385 | "ajv": "^5.5.2", 1386 | "better-ajv-errors": "^0.6.7", 1387 | "call-me-maybe": "^1.0.1", 1388 | "oas-kit-common": "^1.0.8", 1389 | "oas-linter": "^3.1.3", 1390 | "oas-resolver": "^2.4.3", 1391 | "oas-schema-walker": "^1.1.5", 1392 | "reftools": "^1.1.5", 1393 | "should": "^13.2.1", 1394 | "yaml": "^1.8.3" 1395 | }, 1396 | "dependencies": { 1397 | "ajv": { 1398 | "version": "5.5.2", 1399 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", 1400 | "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", 1401 | "requires": { 1402 | "co": "^4.6.0", 1403 | "fast-deep-equal": "^1.0.0", 1404 | "fast-json-stable-stringify": "^2.0.0", 1405 | "json-schema-traverse": "^0.3.0" 1406 | } 1407 | }, 1408 | "fast-deep-equal": { 1409 | "version": "1.1.0", 1410 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", 1411 | "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" 1412 | }, 1413 | "json-schema-traverse": { 1414 | "version": "0.3.1", 1415 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", 1416 | "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" 1417 | } 1418 | } 1419 | }, 1420 | "on-finished": { 1421 | "version": "2.3.0", 1422 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 1423 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 1424 | "requires": { 1425 | "ee-first": "1.1.1" 1426 | } 1427 | }, 1428 | "on-headers": { 1429 | "version": "1.0.2", 1430 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", 1431 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" 1432 | }, 1433 | "once": { 1434 | "version": "1.4.0", 1435 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1436 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1437 | "requires": { 1438 | "wrappy": "1" 1439 | } 1440 | }, 1441 | "openapi-sampler": { 1442 | "version": "1.0.0-beta.18", 1443 | "resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.0.0-beta.18.tgz", 1444 | "integrity": "sha512-nG/0kvvSY5FbrU5A+Dbp1xTQN++7pKIh87/atryZlxrzDuok5Y6TCbpxO1jYqpUKLycE4ReKGHCywezngG6xtQ==", 1445 | "requires": { 1446 | "json-pointer": "^0.6.0" 1447 | } 1448 | }, 1449 | "opn": { 1450 | "version": "5.5.0", 1451 | "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", 1452 | "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", 1453 | "requires": { 1454 | "is-wsl": "^1.1.0" 1455 | } 1456 | }, 1457 | "os-locale": { 1458 | "version": "3.1.0", 1459 | "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", 1460 | "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", 1461 | "requires": { 1462 | "execa": "^1.0.0", 1463 | "lcid": "^2.0.0", 1464 | "mem": "^4.0.0" 1465 | } 1466 | }, 1467 | "p-defer": { 1468 | "version": "1.0.0", 1469 | "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", 1470 | "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" 1471 | }, 1472 | "p-finally": { 1473 | "version": "1.0.0", 1474 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 1475 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" 1476 | }, 1477 | "p-is-promise": { 1478 | "version": "2.1.0", 1479 | "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", 1480 | "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" 1481 | }, 1482 | "p-limit": { 1483 | "version": "2.3.0", 1484 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 1485 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 1486 | "requires": { 1487 | "p-try": "^2.0.0" 1488 | } 1489 | }, 1490 | "p-locate": { 1491 | "version": "4.1.0", 1492 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 1493 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 1494 | "requires": { 1495 | "p-limit": "^2.2.0" 1496 | } 1497 | }, 1498 | "p-try": { 1499 | "version": "2.2.0", 1500 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 1501 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" 1502 | }, 1503 | "parse-srcset": { 1504 | "version": "1.0.2", 1505 | "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", 1506 | "integrity": "sha1-8r0iH2zJcKk42IVWq8WJyqqiveE=" 1507 | }, 1508 | "parse5": { 1509 | "version": "7.1.2", 1510 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", 1511 | "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", 1512 | "requires": { 1513 | "entities": "^4.4.0" 1514 | } 1515 | }, 1516 | "parse5-htmlparser2-tree-adapter": { 1517 | "version": "7.0.0", 1518 | "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", 1519 | "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", 1520 | "requires": { 1521 | "domhandler": "^5.0.2", 1522 | "parse5": "^7.0.0" 1523 | } 1524 | }, 1525 | "parseurl": { 1526 | "version": "1.3.3", 1527 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 1528 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" 1529 | }, 1530 | "path-exists": { 1531 | "version": "4.0.0", 1532 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1533 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" 1534 | }, 1535 | "path-key": { 1536 | "version": "2.0.1", 1537 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 1538 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" 1539 | }, 1540 | "path-to-regexp": { 1541 | "version": "0.1.7", 1542 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 1543 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" 1544 | }, 1545 | "pause-stream": { 1546 | "version": "0.0.11", 1547 | "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", 1548 | "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", 1549 | "requires": { 1550 | "through": "~2.3" 1551 | } 1552 | }, 1553 | "picocolors": { 1554 | "version": "0.2.1", 1555 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", 1556 | "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" 1557 | }, 1558 | "picomatch": { 1559 | "version": "2.2.2", 1560 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", 1561 | "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" 1562 | }, 1563 | "pinkie": { 1564 | "version": "1.0.0", 1565 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", 1566 | "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=" 1567 | }, 1568 | "pinkie-promise": { 1569 | "version": "2.0.1", 1570 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 1571 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 1572 | "requires": { 1573 | "pinkie": "^2.0.0" 1574 | }, 1575 | "dependencies": { 1576 | "pinkie": { 1577 | "version": "2.0.4", 1578 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 1579 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" 1580 | } 1581 | } 1582 | }, 1583 | "postcss": { 1584 | "version": "7.0.39", 1585 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", 1586 | "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", 1587 | "requires": { 1588 | "picocolors": "^0.2.1", 1589 | "source-map": "^0.6.1" 1590 | } 1591 | }, 1592 | "proxy-addr": { 1593 | "version": "2.0.6", 1594 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", 1595 | "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", 1596 | "requires": { 1597 | "forwarded": "~0.1.2", 1598 | "ipaddr.js": "1.9.1" 1599 | } 1600 | }, 1601 | "pump": { 1602 | "version": "3.0.0", 1603 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1604 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1605 | "requires": { 1606 | "end-of-stream": "^1.1.0", 1607 | "once": "^1.3.1" 1608 | } 1609 | }, 1610 | "punycode": { 1611 | "version": "2.1.1", 1612 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1613 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" 1614 | }, 1615 | "qs": { 1616 | "version": "6.7.0", 1617 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", 1618 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" 1619 | }, 1620 | "range-parser": { 1621 | "version": "1.2.1", 1622 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 1623 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" 1624 | }, 1625 | "raw-body": { 1626 | "version": "2.4.0", 1627 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", 1628 | "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", 1629 | "requires": { 1630 | "bytes": "3.1.0", 1631 | "http-errors": "1.7.2", 1632 | "iconv-lite": "0.4.24", 1633 | "unpipe": "1.0.0" 1634 | }, 1635 | "dependencies": { 1636 | "bytes": { 1637 | "version": "3.1.0", 1638 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 1639 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" 1640 | } 1641 | } 1642 | }, 1643 | "readdirp": { 1644 | "version": "3.5.0", 1645 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", 1646 | "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", 1647 | "requires": { 1648 | "picomatch": "^2.2.1" 1649 | } 1650 | }, 1651 | "reftools": { 1652 | "version": "1.1.7", 1653 | "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.7.tgz", 1654 | "integrity": "sha512-I+KZFkQvZjMZqVWxRezTC/kQ2kLhGRZ7C+4ARbgmb5WJbvFUlbrZ/6qlz6mb+cGcPNYib+xqL8kZlxCsSZ7Hew==" 1655 | }, 1656 | "regenerator-runtime": { 1657 | "version": "0.13.7", 1658 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", 1659 | "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" 1660 | }, 1661 | "repeat-string": { 1662 | "version": "1.6.1", 1663 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 1664 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" 1665 | }, 1666 | "require-directory": { 1667 | "version": "2.1.1", 1668 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1669 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" 1670 | }, 1671 | "require-main-filename": { 1672 | "version": "2.0.0", 1673 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 1674 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" 1675 | }, 1676 | "right-align": { 1677 | "version": "0.1.3", 1678 | "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", 1679 | "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", 1680 | "requires": { 1681 | "align-text": "^0.1.1" 1682 | } 1683 | }, 1684 | "safer-buffer": { 1685 | "version": "2.1.2", 1686 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1687 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1688 | }, 1689 | "sanitize-html": { 1690 | "version": "1.27.5", 1691 | "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.27.5.tgz", 1692 | "integrity": "sha512-M4M5iXDAUEcZKLXkmk90zSYWEtk5NH3JmojQxKxV371fnMh+x9t1rqdmXaGoyEHw3z/X/8vnFhKjGL5xFGOJ3A==", 1693 | "requires": { 1694 | "htmlparser2": "^4.1.0", 1695 | "lodash": "^4.17.15", 1696 | "parse-srcset": "^1.0.2", 1697 | "postcss": "^7.0.27" 1698 | }, 1699 | "dependencies": { 1700 | "dom-serializer": { 1701 | "version": "1.2.0", 1702 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz", 1703 | "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==", 1704 | "requires": { 1705 | "domelementtype": "^2.0.1", 1706 | "domhandler": "^4.0.0", 1707 | "entities": "^2.0.0" 1708 | }, 1709 | "dependencies": { 1710 | "domhandler": { 1711 | "version": "4.0.0", 1712 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz", 1713 | "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", 1714 | "requires": { 1715 | "domelementtype": "^2.1.0" 1716 | } 1717 | } 1718 | } 1719 | }, 1720 | "domelementtype": { 1721 | "version": "2.1.0", 1722 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", 1723 | "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" 1724 | }, 1725 | "domhandler": { 1726 | "version": "3.3.0", 1727 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", 1728 | "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", 1729 | "requires": { 1730 | "domelementtype": "^2.0.1" 1731 | } 1732 | }, 1733 | "domutils": { 1734 | "version": "2.4.4", 1735 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz", 1736 | "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==", 1737 | "requires": { 1738 | "dom-serializer": "^1.0.1", 1739 | "domelementtype": "^2.0.1", 1740 | "domhandler": "^4.0.0" 1741 | }, 1742 | "dependencies": { 1743 | "domhandler": { 1744 | "version": "4.0.0", 1745 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz", 1746 | "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", 1747 | "requires": { 1748 | "domelementtype": "^2.1.0" 1749 | } 1750 | } 1751 | } 1752 | }, 1753 | "entities": { 1754 | "version": "2.1.0", 1755 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", 1756 | "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" 1757 | }, 1758 | "htmlparser2": { 1759 | "version": "4.1.0", 1760 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", 1761 | "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", 1762 | "requires": { 1763 | "domelementtype": "^2.0.1", 1764 | "domhandler": "^3.0.0", 1765 | "domutils": "^2.0.0", 1766 | "entities": "^2.0.0" 1767 | } 1768 | } 1769 | } 1770 | }, 1771 | "semver": { 1772 | "version": "5.7.1", 1773 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 1774 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 1775 | }, 1776 | "send": { 1777 | "version": "0.17.1", 1778 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", 1779 | "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", 1780 | "requires": { 1781 | "debug": "2.6.9", 1782 | "depd": "~1.1.2", 1783 | "destroy": "~1.0.4", 1784 | "encodeurl": "~1.0.2", 1785 | "escape-html": "~1.0.3", 1786 | "etag": "~1.8.1", 1787 | "fresh": "0.5.2", 1788 | "http-errors": "~1.7.2", 1789 | "mime": "1.6.0", 1790 | "ms": "2.1.1", 1791 | "on-finished": "~2.3.0", 1792 | "range-parser": "~1.2.1", 1793 | "statuses": "~1.5.0" 1794 | }, 1795 | "dependencies": { 1796 | "ms": { 1797 | "version": "2.1.1", 1798 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 1799 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" 1800 | } 1801 | } 1802 | }, 1803 | "serve-static": { 1804 | "version": "1.14.1", 1805 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", 1806 | "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", 1807 | "requires": { 1808 | "encodeurl": "~1.0.2", 1809 | "escape-html": "~1.0.3", 1810 | "parseurl": "~1.3.3", 1811 | "send": "0.17.1" 1812 | } 1813 | }, 1814 | "set-blocking": { 1815 | "version": "2.0.0", 1816 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 1817 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" 1818 | }, 1819 | "setprototypeof": { 1820 | "version": "1.1.1", 1821 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", 1822 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" 1823 | }, 1824 | "shebang-command": { 1825 | "version": "1.2.0", 1826 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 1827 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 1828 | "requires": { 1829 | "shebang-regex": "^1.0.0" 1830 | } 1831 | }, 1832 | "shebang-regex": { 1833 | "version": "1.0.0", 1834 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 1835 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" 1836 | }, 1837 | "shins": { 1838 | "version": "2.6.0", 1839 | "resolved": "https://registry.npmjs.org/shins/-/shins-2.6.0.tgz", 1840 | "integrity": "sha512-Y9asd1r6GshJDskRgwLZmd9xX+5DU+T2mZ+wpPT0nee0AbSLdiiSZahbcuXE5EIljsEmWSwHhduAmkbbQrAdlw==", 1841 | "requires": { 1842 | "call-me-maybe": "^1.0.1", 1843 | "cheerio": "^1.0.0-rc.2", 1844 | "chokidar": "^3.0.2", 1845 | "compression": "^1.6.2", 1846 | "ejs": "^2.5.1", 1847 | "express": "^4.15.5", 1848 | "highlight.js": "^10.0.2", 1849 | "markdown-it": "^10.0.0", 1850 | "markdown-it-attrs": "^1.2.1", 1851 | "markdown-it-emoji": "^1.4.0", 1852 | "markdown-it-lazy-headers": "^0.1.3", 1853 | "opn": "^5.2.0", 1854 | "sanitize-html": "^1.15.0", 1855 | "tiny-opts-parser": "0.0.3", 1856 | "uglify-js": "^2.7.4", 1857 | "yaml": "^1.9.2" 1858 | } 1859 | }, 1860 | "should": { 1861 | "version": "13.2.3", 1862 | "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", 1863 | "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", 1864 | "requires": { 1865 | "should-equal": "^2.0.0", 1866 | "should-format": "^3.0.3", 1867 | "should-type": "^1.4.0", 1868 | "should-type-adaptors": "^1.0.1", 1869 | "should-util": "^1.0.0" 1870 | } 1871 | }, 1872 | "should-equal": { 1873 | "version": "2.0.0", 1874 | "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", 1875 | "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", 1876 | "requires": { 1877 | "should-type": "^1.4.0" 1878 | } 1879 | }, 1880 | "should-format": { 1881 | "version": "3.0.3", 1882 | "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", 1883 | "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", 1884 | "requires": { 1885 | "should-type": "^1.3.0", 1886 | "should-type-adaptors": "^1.0.1" 1887 | } 1888 | }, 1889 | "should-type": { 1890 | "version": "1.4.0", 1891 | "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", 1892 | "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=" 1893 | }, 1894 | "should-type-adaptors": { 1895 | "version": "1.1.0", 1896 | "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", 1897 | "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", 1898 | "requires": { 1899 | "should-type": "^1.3.0", 1900 | "should-util": "^1.0.0" 1901 | } 1902 | }, 1903 | "should-util": { 1904 | "version": "1.0.1", 1905 | "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", 1906 | "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==" 1907 | }, 1908 | "signal-exit": { 1909 | "version": "3.0.3", 1910 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", 1911 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" 1912 | }, 1913 | "source-map": { 1914 | "version": "0.6.1", 1915 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1916 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 1917 | }, 1918 | "split": { 1919 | "version": "0.3.3", 1920 | "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", 1921 | "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", 1922 | "requires": { 1923 | "through": "2" 1924 | } 1925 | }, 1926 | "sprintf-js": { 1927 | "version": "1.0.3", 1928 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 1929 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" 1930 | }, 1931 | "statuses": { 1932 | "version": "1.5.0", 1933 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 1934 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 1935 | }, 1936 | "stream-combiner": { 1937 | "version": "0.0.4", 1938 | "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", 1939 | "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", 1940 | "requires": { 1941 | "duplexer": "~0.1.1" 1942 | } 1943 | }, 1944 | "string-width": { 1945 | "version": "4.2.0", 1946 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", 1947 | "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", 1948 | "requires": { 1949 | "emoji-regex": "^8.0.0", 1950 | "is-fullwidth-code-point": "^3.0.0", 1951 | "strip-ansi": "^6.0.0" 1952 | }, 1953 | "dependencies": { 1954 | "ansi-regex": { 1955 | "version": "5.0.1", 1956 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1957 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" 1958 | }, 1959 | "strip-ansi": { 1960 | "version": "6.0.0", 1961 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 1962 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 1963 | "requires": { 1964 | "ansi-regex": "^5.0.0" 1965 | } 1966 | } 1967 | } 1968 | }, 1969 | "stringify-object": { 1970 | "version": "3.3.0", 1971 | "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", 1972 | "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", 1973 | "requires": { 1974 | "get-own-enumerable-property-symbols": "^3.0.0", 1975 | "is-obj": "^1.0.1", 1976 | "is-regexp": "^1.0.0" 1977 | } 1978 | }, 1979 | "strip-ansi": { 1980 | "version": "3.0.1", 1981 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 1982 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 1983 | "requires": { 1984 | "ansi-regex": "^2.0.0" 1985 | } 1986 | }, 1987 | "strip-eof": { 1988 | "version": "1.0.0", 1989 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", 1990 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" 1991 | }, 1992 | "swagger2openapi": { 1993 | "version": "6.2.3", 1994 | "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-6.2.3.tgz", 1995 | "integrity": "sha512-cUUktzLpK69UwpMbcTzjMw2ns9RZChfxh56AHv6+hTx3StPOX2foZjPgds3HlJcINbxosYYBn/D3cG8nwcCWwQ==", 1996 | "requires": { 1997 | "better-ajv-errors": "^0.6.1", 1998 | "call-me-maybe": "^1.0.1", 1999 | "node-fetch-h2": "^2.3.0", 2000 | "node-readfiles": "^0.2.0", 2001 | "oas-kit-common": "^1.0.8", 2002 | "oas-resolver": "^2.4.3", 2003 | "oas-schema-walker": "^1.1.5", 2004 | "oas-validator": "^4.0.8", 2005 | "reftools": "^1.1.5", 2006 | "yaml": "^1.8.3", 2007 | "yargs": "^15.3.1" 2008 | }, 2009 | "dependencies": { 2010 | "ansi-regex": { 2011 | "version": "5.0.0", 2012 | "resolved": "" 2013 | }, 2014 | "ansi-styles": { 2015 | "version": "4.3.0", 2016 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2017 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2018 | "requires": { 2019 | "color-convert": "^2.0.1" 2020 | } 2021 | }, 2022 | "camelcase": { 2023 | "version": "5.3.1", 2024 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 2025 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" 2026 | }, 2027 | "cliui": { 2028 | "version": "6.0.0", 2029 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", 2030 | "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", 2031 | "requires": { 2032 | "string-width": "^4.2.0", 2033 | "strip-ansi": "^6.0.0", 2034 | "wrap-ansi": "^6.2.0" 2035 | } 2036 | }, 2037 | "color-convert": { 2038 | "version": "2.0.1", 2039 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2040 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2041 | "requires": { 2042 | "color-name": "~1.1.4" 2043 | } 2044 | }, 2045 | "color-name": { 2046 | "version": "1.1.4", 2047 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2048 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 2049 | }, 2050 | "strip-ansi": { 2051 | "version": "6.0.0", 2052 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 2053 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 2054 | "requires": { 2055 | "ansi-regex": "^5.0.0" 2056 | } 2057 | }, 2058 | "wrap-ansi": { 2059 | "version": "6.2.0", 2060 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", 2061 | "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", 2062 | "requires": { 2063 | "ansi-styles": "^4.0.0", 2064 | "string-width": "^4.1.0", 2065 | "strip-ansi": "^6.0.0" 2066 | } 2067 | }, 2068 | "y18n": { 2069 | "version": "4.0.1", 2070 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", 2071 | "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" 2072 | }, 2073 | "yargs": { 2074 | "version": "15.4.1", 2075 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", 2076 | "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", 2077 | "requires": { 2078 | "cliui": "^6.0.0", 2079 | "decamelize": "^1.2.0", 2080 | "find-up": "^4.1.0", 2081 | "get-caller-file": "^2.0.1", 2082 | "require-directory": "^2.1.1", 2083 | "require-main-filename": "^2.0.0", 2084 | "set-blocking": "^2.0.0", 2085 | "string-width": "^4.2.0", 2086 | "which-module": "^2.0.0", 2087 | "y18n": "^4.0.0", 2088 | "yargs-parser": "^18.1.2" 2089 | } 2090 | }, 2091 | "yargs-parser": { 2092 | "version": "18.1.3", 2093 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", 2094 | "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", 2095 | "requires": { 2096 | "camelcase": "^5.0.0", 2097 | "decamelize": "^1.2.0" 2098 | } 2099 | } 2100 | } 2101 | }, 2102 | "through": { 2103 | "version": "2.3.8", 2104 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 2105 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 2106 | }, 2107 | "tiny-opts-parser": { 2108 | "version": "0.0.3", 2109 | "resolved": "https://registry.npmjs.org/tiny-opts-parser/-/tiny-opts-parser-0.0.3.tgz", 2110 | "integrity": "sha1-1sc6f65FiKa7Sh+mgbxmk3a+RRU=" 2111 | }, 2112 | "to-regex-range": { 2113 | "version": "5.0.1", 2114 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2115 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2116 | "requires": { 2117 | "is-number": "^7.0.0" 2118 | } 2119 | }, 2120 | "toidentifier": { 2121 | "version": "1.0.0", 2122 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 2123 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" 2124 | }, 2125 | "tr46": { 2126 | "version": "0.0.3", 2127 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 2128 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 2129 | }, 2130 | "type-is": { 2131 | "version": "1.6.18", 2132 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 2133 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 2134 | "requires": { 2135 | "media-typer": "0.3.0", 2136 | "mime-types": "~2.1.24" 2137 | } 2138 | }, 2139 | "uc.micro": { 2140 | "version": "1.0.6", 2141 | "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", 2142 | "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" 2143 | }, 2144 | "uglify-js": { 2145 | "version": "2.8.29", 2146 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", 2147 | "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", 2148 | "requires": { 2149 | "source-map": "~0.5.1", 2150 | "uglify-to-browserify": "~1.0.0", 2151 | "yargs": "~3.10.0" 2152 | }, 2153 | "dependencies": { 2154 | "source-map": { 2155 | "version": "0.5.7", 2156 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2157 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" 2158 | } 2159 | } 2160 | }, 2161 | "uglify-to-browserify": { 2162 | "version": "1.0.2", 2163 | "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", 2164 | "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", 2165 | "optional": true 2166 | }, 2167 | "unpipe": { 2168 | "version": "1.0.0", 2169 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 2170 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 2171 | }, 2172 | "uri-js": { 2173 | "version": "4.4.0", 2174 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", 2175 | "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", 2176 | "requires": { 2177 | "punycode": "^2.1.0" 2178 | } 2179 | }, 2180 | "urijs": { 2181 | "version": "1.19.11", 2182 | "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", 2183 | "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" 2184 | }, 2185 | "utils-merge": { 2186 | "version": "1.0.1", 2187 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 2188 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" 2189 | }, 2190 | "vary": { 2191 | "version": "1.1.2", 2192 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 2193 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" 2194 | }, 2195 | "webidl-conversions": { 2196 | "version": "3.0.1", 2197 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 2198 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 2199 | }, 2200 | "whatwg-url": { 2201 | "version": "5.0.0", 2202 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 2203 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 2204 | "requires": { 2205 | "tr46": "~0.0.3", 2206 | "webidl-conversions": "^3.0.0" 2207 | } 2208 | }, 2209 | "which": { 2210 | "version": "1.3.1", 2211 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 2212 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 2213 | "requires": { 2214 | "isexe": "^2.0.0" 2215 | } 2216 | }, 2217 | "which-module": { 2218 | "version": "2.0.0", 2219 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 2220 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" 2221 | }, 2222 | "widdershins": { 2223 | "version": "4.0.1", 2224 | "resolved": "https://registry.npmjs.org/widdershins/-/widdershins-4.0.1.tgz", 2225 | "integrity": "sha512-y7TGynno+J/EqRPtUrpEuEjJUc1N2ajfP7R4sHU7Qg8I/VFHGavBxL7ZTeOAVmd1fhmY2wJIbpX2LMDWf37vVA==", 2226 | "requires": { 2227 | "dot": "^1.1.3", 2228 | "fast-safe-stringify": "^2.0.7", 2229 | "highlightjs": "^9.12.0", 2230 | "httpsnippet": "^1.19.0", 2231 | "jgexml": "^0.4.4", 2232 | "markdown-it": "^10.0.0", 2233 | "markdown-it-emoji": "^1.4.0", 2234 | "node-fetch": "^2.0.0", 2235 | "oas-resolver": "^2.3.1", 2236 | "oas-schema-walker": "^1.1.3", 2237 | "openapi-sampler": "^1.0.0-beta.15", 2238 | "reftools": "^1.1.0", 2239 | "swagger2openapi": "^6.0.1", 2240 | "urijs": "^1.19.0", 2241 | "yaml": "^1.8.3", 2242 | "yargs": "^12.0.5" 2243 | }, 2244 | "dependencies": { 2245 | "ansi-regex": { 2246 | "version": "3.0.0", 2247 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 2248 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 2249 | }, 2250 | "camelcase": { 2251 | "version": "5.3.1", 2252 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 2253 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" 2254 | }, 2255 | "cliui": { 2256 | "version": "4.1.0", 2257 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", 2258 | "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", 2259 | "requires": { 2260 | "string-width": "^2.1.1", 2261 | "strip-ansi": "^4.0.0", 2262 | "wrap-ansi": "^2.0.0" 2263 | } 2264 | }, 2265 | "find-up": { 2266 | "version": "3.0.0", 2267 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 2268 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 2269 | "requires": { 2270 | "locate-path": "^3.0.0" 2271 | } 2272 | }, 2273 | "get-caller-file": { 2274 | "version": "1.0.3", 2275 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", 2276 | "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" 2277 | }, 2278 | "is-fullwidth-code-point": { 2279 | "version": "2.0.0", 2280 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 2281 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 2282 | }, 2283 | "locate-path": { 2284 | "version": "3.0.0", 2285 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 2286 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 2287 | "requires": { 2288 | "p-locate": "^3.0.0", 2289 | "path-exists": "^3.0.0" 2290 | } 2291 | }, 2292 | "p-locate": { 2293 | "version": "3.0.0", 2294 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 2295 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 2296 | "requires": { 2297 | "p-limit": "^2.0.0" 2298 | } 2299 | }, 2300 | "path-exists": { 2301 | "version": "3.0.0", 2302 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 2303 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" 2304 | }, 2305 | "require-main-filename": { 2306 | "version": "1.0.1", 2307 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", 2308 | "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" 2309 | }, 2310 | "string-width": { 2311 | "version": "2.1.1", 2312 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 2313 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 2314 | "requires": { 2315 | "is-fullwidth-code-point": "^2.0.0", 2316 | "strip-ansi": "^4.0.0" 2317 | } 2318 | }, 2319 | "strip-ansi": { 2320 | "version": "4.0.0", 2321 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 2322 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 2323 | "requires": { 2324 | "ansi-regex": "^3.0.0" 2325 | } 2326 | }, 2327 | "wrap-ansi": { 2328 | "version": "2.1.0", 2329 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", 2330 | "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", 2331 | "requires": { 2332 | "string-width": "^1.0.1", 2333 | "strip-ansi": "^3.0.1" 2334 | }, 2335 | "dependencies": { 2336 | "ansi-regex": { 2337 | "version": "2.1.1", 2338 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 2339 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" 2340 | }, 2341 | "is-fullwidth-code-point": { 2342 | "version": "1.0.0", 2343 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 2344 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 2345 | "requires": { 2346 | "number-is-nan": "^1.0.0" 2347 | } 2348 | }, 2349 | "string-width": { 2350 | "version": "1.0.2", 2351 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 2352 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 2353 | "requires": { 2354 | "code-point-at": "^1.0.0", 2355 | "is-fullwidth-code-point": "^1.0.0", 2356 | "strip-ansi": "^3.0.0" 2357 | } 2358 | }, 2359 | "strip-ansi": { 2360 | "version": "3.0.1", 2361 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 2362 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 2363 | "requires": { 2364 | "ansi-regex": "^2.0.0" 2365 | } 2366 | } 2367 | } 2368 | }, 2369 | "y18n": { 2370 | "version": "4.0.1", 2371 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", 2372 | "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" 2373 | }, 2374 | "yargs": { 2375 | "version": "12.0.5", 2376 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", 2377 | "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", 2378 | "requires": { 2379 | "cliui": "^4.0.0", 2380 | "decamelize": "^1.2.0", 2381 | "find-up": "^3.0.0", 2382 | "get-caller-file": "^1.0.1", 2383 | "os-locale": "^3.0.0", 2384 | "require-directory": "^2.1.1", 2385 | "require-main-filename": "^1.0.1", 2386 | "set-blocking": "^2.0.0", 2387 | "string-width": "^2.0.0", 2388 | "which-module": "^2.0.0", 2389 | "y18n": "^3.2.1 || ^4.0.0", 2390 | "yargs-parser": "^11.1.1" 2391 | } 2392 | }, 2393 | "yargs-parser": { 2394 | "version": "11.1.1", 2395 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", 2396 | "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", 2397 | "requires": { 2398 | "camelcase": "^5.0.0", 2399 | "decamelize": "^1.2.0" 2400 | } 2401 | } 2402 | } 2403 | }, 2404 | "window-size": { 2405 | "version": "0.1.0", 2406 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", 2407 | "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" 2408 | }, 2409 | "wordwrap": { 2410 | "version": "0.0.2", 2411 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", 2412 | "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" 2413 | }, 2414 | "wrap-ansi": { 2415 | "version": "7.0.0", 2416 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 2417 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 2418 | "requires": { 2419 | "ansi-styles": "^4.0.0", 2420 | "string-width": "^4.1.0", 2421 | "strip-ansi": "^6.0.0" 2422 | }, 2423 | "dependencies": { 2424 | "ansi-regex": { 2425 | "version": "5.0.1", 2426 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2427 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" 2428 | }, 2429 | "ansi-styles": { 2430 | "version": "4.3.0", 2431 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2432 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2433 | "requires": { 2434 | "color-convert": "^2.0.1" 2435 | } 2436 | }, 2437 | "color-convert": { 2438 | "version": "2.0.1", 2439 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2440 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2441 | "requires": { 2442 | "color-name": "~1.1.4" 2443 | } 2444 | }, 2445 | "color-name": { 2446 | "version": "1.1.4", 2447 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2448 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 2449 | }, 2450 | "strip-ansi": { 2451 | "version": "6.0.0", 2452 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 2453 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 2454 | "requires": { 2455 | "ansi-regex": "^5.0.0" 2456 | } 2457 | } 2458 | } 2459 | }, 2460 | "wrappy": { 2461 | "version": "1.0.2", 2462 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2463 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 2464 | }, 2465 | "y18n": { 2466 | "version": "5.0.5", 2467 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", 2468 | "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==" 2469 | }, 2470 | "yaml": { 2471 | "version": "1.10.0", 2472 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", 2473 | "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" 2474 | }, 2475 | "yargs": { 2476 | "version": "3.10.0", 2477 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", 2478 | "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", 2479 | "requires": { 2480 | "camelcase": "^1.0.2", 2481 | "cliui": "^2.1.0", 2482 | "decamelize": "^1.0.0", 2483 | "window-size": "0.1.0" 2484 | } 2485 | }, 2486 | "yargs-parser": { 2487 | "version": "20.2.4", 2488 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", 2489 | "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" 2490 | } 2491 | } 2492 | } 2493 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api2html", 3 | "version": "0.4.1", 4 | "description": "A CLI tool to transform Swagger/OpenAPI/AsyncAPI docs to beautiful HTML pages via Shins/Widdershins", 5 | "main": "bin/api2html.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "generate-example": "node bin/api2html.js -o docs/petstore/index.html examples/openapi-petstore.yml" 9 | }, 10 | "bin": { 11 | "api2html": "bin/api2html.js" 12 | }, 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/tobilg/api2html.git" 16 | }, 17 | "keywords": [ 18 | "swagger", 19 | "openapi", 20 | "openapi3", 21 | "asyncapi", 22 | "slate", 23 | "shins", 24 | "api", 25 | "docs", 26 | "documentation", 27 | "transform" 28 | ], 29 | "author": { 30 | "name": "TobiLG", 31 | "email": "tobilg@gmail.com", 32 | "url": "https://github.com/tobilg" 33 | }, 34 | "license": "MIT", 35 | "bugs": { 36 | "url": "https://github.com/tobilg/api2html/issues" 37 | }, 38 | "homepage": "https://github.com/tobilg/api2html#readme", 39 | "dependencies": { 40 | "chalk": "^4.1.2", 41 | "commander": "^9.4.1", 42 | "js-yaml": "^4.1.0", 43 | "mkdirp": "^1.0.4", 44 | "shins": "^2.6.0", 45 | "widdershins": "^4.0.1" 46 | } 47 | } 48 | --------------------------------------------------------------------------------