diff --git a/.gitignore b/.gitignore index 93632811..f0bdac6e 100644 --- a/.gitignore +++ b/.gitignore @@ -25,7 +25,7 @@ stats.json e2e/.build/ cypress/ bundles -bin/cli.js +cli/index.js /benchmark/revisions diff --git a/.npmignore b/.npmignore index 6400333e..13fe9fad 100644 --- a/.npmignore +++ b/.npmignore @@ -1,4 +1,3 @@ !bundles/ !package.json -!README.md -!bin/cli.js \ No newline at end of file +!README.md \ No newline at end of file diff --git a/cli/.npmignore b/cli/.npmignore new file mode 100644 index 00000000..f8cf9806 --- /dev/null +++ b/cli/.npmignore @@ -0,0 +1,3 @@ +!index.js +!package.json +!README.md \ No newline at end of file diff --git a/cli/README.md b/cli/README.md new file mode 100644 index 00000000..e69de29b diff --git a/bin/cli.ts b/cli/index.ts similarity index 94% rename from bin/cli.ts rename to cli/index.ts index d6f0ad62..19f75fde 100644 --- a/bin/cli.ts +++ b/cli/index.ts @@ -7,7 +7,7 @@ import * as zlib from 'zlib'; import { resolve } from 'path'; // @ts-ignore -import { Redoc, loadAndBundleSpec, createStore } from '../'; +import { Redoc, loadAndBundleSpec, createStore } from 'redoc'; import { createReadStream, writeFileSync, ReadStream, readFileSync, watch, existsSync } from 'fs'; @@ -53,7 +53,7 @@ yargs try { await serve(argv.port, argv.spec, { ssr: argv.ssr, watch: argv.watch }); } catch (e) { - console.log(e.message); + console.log(e.stack); } }, ) @@ -142,11 +142,16 @@ async function serve(port: number, pathToSpec: string, options: Options = {}) { } async function bundle(pathToSpec, options: Options = {}) { + const start = Date.now(); const spec = await loadAndBundleSpec(pathToSpec); const pageHTML = await getPageHTML(spec, pathToSpec, { ...options, ssr: true }); + writeFileSync(options.output!, pageHTML); - const sizeInKb = Math.ceil(Buffer.byteLength(pageHTML) / 1024); - console.log(`\nšŸŽ‰ bundled successfully in: ${options.output!} (${sizeInKb} kB)`); + const sizeInKiB = Math.ceil(Buffer.byteLength(pageHTML) / 1024); + const time = Date.now() - start; + console.log( + `\nšŸŽ‰ bundled successfully in: ${options.output!} (${sizeInKiB} KiB) [ā± ${time / 1000}s]`, + ); } async function getPageHTML(spec: any, pathToSpec: string, { ssr, cdn }: Options) { @@ -154,7 +159,7 @@ async function getPageHTML(spec: any, pathToSpec: string, { ssr, cdn }: Options) let redocStandaloneSrc; if (ssr) { console.log('Prerendering docs'); - let store = await createStore(spec, pathToSpec); + const store = await createStore(spec, pathToSpec); const sheet = new ServerStyleSheet(); html = renderToString(sheet.collectStyles(React.createElement(Redoc, { store }))); css = sheet.getStyleTags(); @@ -165,7 +170,8 @@ async function getPageHTML(spec: any, pathToSpec: string, { ssr, cdn }: Options) } } - return ` + return ` + ReDoc diff --git a/cli/package-lock.json b/cli/package-lock.json new file mode 100644 index 00000000..e54c12ca --- /dev/null +++ b/cli/package-lock.json @@ -0,0 +1,1342 @@ +{ + "name": "@redoc/cli", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/jquery": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.3.1.tgz", + "integrity": "sha512-N3h+rzN518yl2xKrW0o6KKdNmWZ+OwG6SoM5TBEQFF0tTv5wXPEsoOuYQ2Kt3/89XbcSZUJLdjiT/2c3BR/ApQ==" + }, + "@types/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/@types/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-Sv4lNOYFC8R64dYhWi2RFCmr0TWGzUPfwjy8/jolwipZmV00E0qLzunRTT8CayvlYckm8/FLvY6fWLKoCs0tOA==", + "requires": { + "@types/jquery": "3.3.1" + } + }, + "@types/marked": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.3.0.tgz", + "integrity": "sha512-CSf9YWJdX1DkTNu9zcNtdCcn6hkRtB5ILjbhRId4ZOQqx30fXmdecuaXhugQL6eyrhuXtaHJ7PHI+Vm7k9ZJjg==" + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "1.0.3" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "babel-polyfill": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", + "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", + "requires": { + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "regenerator-runtime": "0.10.5" + }, + "dependencies": { + "core-js": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + }, + "dependencies": { + "core-js": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "base64-js": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", + "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==" + }, + "buffer": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz", + "integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==", + "requires": { + "base64-js": "1.2.3", + "ieee754": "1.1.10" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" + }, + "classnames": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", + "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0=" + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + }, + "clipboard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.0.tgz", + "integrity": "sha512-gXzHBlzEVqCk2b8Wpkil89S0WSMAX7eZho2zANX+EEEa9LMutGe9ICU+wHRzsH7cCHaCbUzj900P+AXOM0FE3A==", + "optional": true, + "requires": { + "good-listener": "1.2.2", + "select": "1.1.2", + "tiny-emitter": "2.0.2" + } + }, + "cliui": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz", + "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==", + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "4.1.2", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, + "css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=" + }, + "css-to-react-native": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.1.2.tgz", + "integrity": "sha512-akxvxNPNm+Qb7kGswgWhD8rLENM8857NVIn1lX0Dr9BQuju8vx6ypet7KvwvqBC01FUEne5V/jvt7FJXWJPtgw==", + "requires": { + "css-color-keywords": "1.0.0", + "fbjs": "0.8.16", + "postcss-value-parser": "3.3.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decko": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decko/-/decko-1.2.0.tgz", + "integrity": "sha1-/UPHNelnuAEzBohKVvvmZZlraBc=" + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "optional": true + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, + "dompurify": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-1.0.3.tgz", + "integrity": "sha512-7dks9EA59zmQ9UBH7QJmGCHNxGJ7chzB5RJObT+h/TGBDtp4pTgunOeT0NidTA5MAq22muWrW3XfqtpvIsoSmw==" + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "0.4.19" + } + }, + "error-stack-parser": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz", + "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=", + "requires": { + "stackframe": "0.3.1" + } + }, + "es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" + }, + "eventemitter3": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.0.1.tgz", + "integrity": "sha512-QOCPu979MMWX9XNlfRZoin+Wm+bK1SP7vv3NGUniYwuSJK/+cPA10blMaeRgzg31RvoSFk6FsCDVa4vNryBTGA==" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "external-editor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", + "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", + "requires": { + "chardet": "0.4.2", + "iconv-lite": "0.4.19", + "tmp": "0.0.33" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fbjs": { + "version": "0.8.16", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "requires": { + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.17" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "2.0.0" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "format-util": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/format-util/-/format-util-1.0.3.tgz", + "integrity": "sha1-Ay3KShFiYqEsQ/TD7IVmQWxbLZU=" + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "requires": { + "min-document": "2.19.0", + "process": "0.5.2" + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "optional": true, + "requires": { + "delegate": "3.2.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "hoist-non-react-statics": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz", + "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w==" + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + }, + "ieee754": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.10.tgz", + "integrity": "sha512-byWFX8OyW/qeVxcY21r6Ncxl0ZYHgnf0cPup2h34eHXrCJbOp7IuqnJ4Q0omfyWl6Z++BTI6bByf31pZt7iRLg==" + }, + "inquirer": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", + "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=", + "requires": { + "ansi-escapes": "1.4.0", + "chalk": "1.1.3", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.1.0", + "figures": "2.0.0", + "lodash": "4.17.5", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx": "4.1.0", + "string-width": "2.1.1", + "strip-ansi": "3.0.1", + "through": "2.3.8" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "3.0.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.3" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "js-yaml": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", + "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.0" + } + }, + "json-pointer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.0.tgz", + "integrity": "sha1-jlAFUKaqxUZKRzN32leqbMIoKNc=", + "requires": { + "foreach": "2.0.5" + } + }, + "json-schema-ref-parser": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-4.1.1.tgz", + "integrity": "sha512-lByoCHZ6H2zgb6NtsXIqtzQ+6Ji7iVqnrhWxsXLhF+gXmgu6E8+ErpDxCMR439MUG1nfMjWI2HAoM8l0XgSNhw==", + "requires": { + "call-me-maybe": "1.0.1", + "debug": "3.1.0", + "js-yaml": "3.11.0", + "ono": "4.0.3" + } + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "1.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "requires": { + "js-tokens": "3.0.2" + } + }, + "lru-cache": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", + "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "lunr": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.1.6.tgz", + "integrity": "sha512-ydJpB8CX8cZ/VE+KMaYaFcZ6+o2LruM6NG76VXdflYTgluvVemz1lW4anE+pyBbLvxJHZdvD1Jy/fOqdzAEJog==" + }, + "mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha1-GA8fnr74sOY45BZq1S24eb6y/8U=" + }, + "marked": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.17.tgz", + "integrity": "sha512-+AKbNsjZl6jFfLPwHhWmGTqE009wTKn3RTmn9K8oUKHrX/abPJjtcRtXpYB/FFrwPJRUA86LX/de3T0knkPCmQ==" + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "requires": { + "mimic-fn": "1.2.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "0.1.1" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "mobx": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/mobx/-/mobx-3.6.2.tgz", + "integrity": "sha512-Dq3boJFLpZEvuh5a/MbHLUIyN9XobKWIb0dBfkNOJffNkE3vtuY0C9kSDVpfH8BB0BPkVw8g22qCv7d05LEhKg==" + }, + "mobx-react": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-4.4.3.tgz", + "integrity": "sha1-uqnsQRZe41rnud8ZvKEBkPNvEX4=", + "requires": { + "hoist-non-react-statics": "2.5.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + }, + "node-readfiles": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", + "integrity": "sha1-271K8SE04uY1wkXvk//Pb2BnOl0=", + "requires": { + "es6-promise": "3.3.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "2.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "1.2.0" + } + }, + "ono": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/ono/-/ono-4.0.3.tgz", + "integrity": "sha512-7QIxG4UB00H7CR7fhXC/U7VhB5DK9wsYLwaYBui1JmQoXtLkhIBn3fbuk6FgAP+ctWeBsWVTM+R/bThvUZN+ww==", + "requires": { + "format-util": "1.0.3" + } + }, + "openapi-sampler": { + "version": "1.0.0-beta.9", + "resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.0.0-beta.9.tgz", + "integrity": "sha1-HkuldvqPtjG2iK5g6ZW9J6wIdJI=", + "requires": { + "json-pointer": "0.6.0" + } + }, + "opencollective": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz", + "integrity": "sha1-ruY3K8KBRFg2kMPKja7PwSDdDvE=", + "requires": { + "babel-polyfill": "6.23.0", + "chalk": "1.1.3", + "inquirer": "3.0.6", + "minimist": "1.2.0", + "node-fetch": "1.6.3", + "opn": "4.0.2" + }, + "dependencies": { + "node-fetch": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz", + "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=", + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + } + } + }, + "opn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", + "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", + "requires": { + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-limit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "1.2.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "perfect-scrollbar": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.3.0.tgz", + "integrity": "sha512-7Ub8YOvZB5k+pTy0K3LYUDnH9Xl3qvHcclJyIX+AV5UxHxll146iVGq4rtc+848nTDBQq89J7QxKKMA++cTXzQ==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "2.0.4" + } + }, + "polished": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/polished/-/polished-1.9.2.tgz", + "integrity": "sha512-mPocQrVUSiqQdHNZFGL1iHJmsR/etiv05Nf2oZUbya+GMsQkZVEBl5wonN+Sr/e9zQBEhT6yrMjxAUJ06eyocQ==" + }, + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=" + }, + "prismjs": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.12.2.tgz", + "integrity": "sha512-en/99X4LLNXDMn8+nCP3Yb1gYmL3z6lQ9jBkZVhWzS0pRLEyakcL17nOjJPer/AoSpA51zdcydbfo++oLwQ5Ug==", + "requires": { + "clipboard": "2.0.0" + } + }, + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "2.0.6" + } + }, + "prop-types": { + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", + "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "react": { + "version": "16.3.0-alpha.2", + "resolved": "https://registry.npmjs.org/react/-/react-16.3.0-alpha.2.tgz", + "integrity": "sha512-zkK9FsbtJzZ8Qadamd8DhwVLWGwL8EEZmUCgXkuGW2eT+7U/jouf5tLsHr1TQkEeeA/63MWVXyk80baivJ5ZLw==", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.1" + } + }, + "react-deep-force-update": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-2.1.1.tgz", + "integrity": "sha1-jqQmPNZFWgULN0RbPwj9g52G6Qk=" + }, + "react-dom": { + "version": "16.3.0-alpha.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.3.0-alpha.2.tgz", + "integrity": "sha512-T8zKRXRDbs34byvtVrnW2rE0xGm4xoEY0Ag6FQXVD68jbSeHCgf+DF+cjNqCO+ldz9d9D/YAuMOlsvYYWqBtMA==", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.1" + } + }, + "react-dropdown": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/react-dropdown/-/react-dropdown-1.4.0.tgz", + "integrity": "sha512-ak1ZL05+/SefrG1aXNPh9ANoALuv3ktryqtiGKOEPoBPf6prJgYSx/zlK/JMMnuSq9Li8lN861E1qhCzq2IplA==", + "requires": { + "classnames": "2.2.5" + } + }, + "react-hot-loader": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-3.1.3.tgz", + "integrity": "sha512-d7nZf78irxoGN5PY4zd6CSgZiroOhvIWzRast3qwTn4sSnBwlt08kV8WMQ9mitmxEdlCTwZt+5ClrRSjxWguMQ==", + "requires": { + "global": "4.3.2", + "react-deep-force-update": "2.1.1", + "react-proxy": "3.0.0-alpha.1", + "redbox-react": "1.5.0", + "source-map": "0.6.1" + } + }, + "react-proxy": { + "version": "3.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz", + "integrity": "sha1-RABCa8+oDKpnJMd1VpUxUgn6Swc=", + "requires": { + "lodash": "4.17.5" + } + }, + "react-tabs": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-2.2.1.tgz", + "integrity": "sha512-Fu1frsfsGUUwxsNQsjQDo1ZuNwyLCXoZcu7jaaeWAP9HlwPpYsUzNQaquA6+6jd4E/uPlBGyBTFW3PpEUOwkVw==", + "requires": { + "classnames": "2.2.5", + "prop-types": "15.6.1" + } + }, + "redbox-react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/redbox-react/-/redbox-react-1.5.0.tgz", + "integrity": "sha512-mdxArOI3sF8K5Nay5NG+lv/VW516TbXjjd4h1wcV1Iy4IMDQPnCayjoQXBAycAFSME4nyXRUXCjHxsw2rYpVRw==", + "requires": { + "error-stack-parser": "1.3.6", + "object-assign": "4.1.1", + "prop-types": "15.6.1", + "sourcemapped-stacktrace": "1.1.8" + } + }, + "redoc": { + "version": "2.0.0-alpha.15", + "resolved": "https://registry.npmjs.org/redoc/-/redoc-2.0.0-alpha.15.tgz", + "integrity": "sha512-6PtgvrDwXg9W7ntgmv7piq/IB0uwHDZwDBhjHmBKdlKjlfU2PYcFCmN5GNV3tqoFiqbBKsxv+XO80IA5BhQRJw==", + "requires": { + "@types/mark.js": "8.11.1", + "@types/marked": "0.3.0", + "classnames": "2.2.5", + "decko": "1.2.0", + "dompurify": "1.0.3", + "eventemitter3": "3.0.1", + "json-pointer": "0.6.0", + "json-schema-ref-parser": "4.1.1", + "lunr": "2.1.6", + "mark.js": "8.11.1", + "marked": "0.3.17", + "mobx": "3.6.2", + "mobx-react": "4.4.3", + "openapi-sampler": "1.0.0-beta.9", + "perfect-scrollbar": "1.3.0", + "polished": "1.9.2", + "prismjs": "1.12.2", + "prop-types": "15.6.1", + "react-dropdown": "1.4.0", + "react-hot-loader": "3.1.3", + "react-tabs": "2.2.1", + "slugify": "1.2.9", + "stickyfill": "1.1.1", + "styled-components": "3.2.3", + "swagger2openapi": "2.11.16", + "yargs": "11.0.0" + } + }, + "reftools": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/reftools/-/reftools-0.0.20.tgz", + "integrity": "sha512-xP04tVBgU6IEfVN3AD+jKg0tuDFjzbpAVulI8vFp9jJ6avejnq6BaTj4aneY0sNseXJbAykG6uMDuFJaun1Q9w==" + }, + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "requires": { + "is-promise": "2.1.0" + } + }, + "rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=" + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "should": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/should/-/should-13.2.1.tgz", + "integrity": "sha512-l+/NwEMO+DcstsHEwPHRHzC9j4UOE3VQwJGcMWSsD/vqpqHbnQ+1iSHy64Ihmmjx1uiRPD9pFadTSc3MJtXAgw==", + "requires": { + "should-equal": "2.0.0", + "should-format": "3.0.3", + "should-type": "1.4.0", + "should-type-adaptors": "1.1.0", + "should-util": "1.0.0" + } + }, + "should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "requires": { + "should-type": "1.4.0" + } + }, + "should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", + "requires": { + "should-type": "1.4.0", + "should-type-adaptors": "1.1.0" + } + }, + "should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=" + }, + "should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "requires": { + "should-type": "1.4.0", + "should-util": "1.0.0" + } + }, + "should-util": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz", + "integrity": "sha1-yYzaN0qmsZDfi6h8mInCtNtiAGM=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "slugify": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.2.9.tgz", + "integrity": "sha512-n0cdJ+kN3slJu8SbZXt/EHjljBqF6MxvMGSg/NPpBzoY7yyXoH38wp/ox20a1JaG1KgmdTN5Lf3aS9+xB2Y2aQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "sourcemapped-stacktrace": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.8.tgz", + "integrity": "sha512-OkVoI7GQOLl/laR1qsSo1c87tS8kF2VXhQq2SrQCDdXufBAcm8FgXogWso96ciMYoDtTw1Dn70CVdwYzoYs6Pg==", + "requires": { + "source-map": "0.5.6" + }, + "dependencies": { + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "stackframe": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz", + "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=" + }, + "stickyfill": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stickyfill/-/stickyfill-1.1.1.tgz", + "integrity": "sha1-OUE/7p0CXHSn5ZzuyyN4TMDxfwI=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "styled-components": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-3.2.3.tgz", + "integrity": "sha1-UPcSBzIO6x71Od7EY38h9ePJNrQ=", + "requires": { + "buffer": "5.1.0", + "css-to-react-native": "2.1.2", + "fbjs": "0.8.16", + "hoist-non-react-statics": "1.2.0", + "is-plain-object": "2.0.4", + "opencollective": "1.0.3", + "prop-types": "15.6.1", + "stylis": "3.5.0", + "stylis-rule-sheet": "0.0.10", + "supports-color": "3.2.3" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", + "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" + } + } + }, + "stylis": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.0.tgz", + "integrity": "sha512-pP7yXN6dwMzAR29Q0mBrabPCe0/mNO1MSr93bhay+hcZondvMMTpeGyd8nbhYJdyperNT2DRxONQuUGcJr5iPw==" + }, + "stylis-rule-sheet": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", + "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "1.0.0" + } + }, + "swagger2openapi": { + "version": "2.11.16", + "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-2.11.16.tgz", + "integrity": "sha512-5Pv20whg9Bn1dqKDuGatH0r+7mAEU8+tHJU1PdT9ufGeZNseqJBs9Y8AOd8EMEHKRuAgAzYYWhINvgtodAlZRA==", + "requires": { + "ajv": "5.5.2", + "call-me-maybe": "1.0.1", + "co": "4.6.0", + "js-yaml": "3.11.0", + "node-fetch": "2.1.1", + "node-readfiles": "0.2.0", + "reftools": "0.0.20", + "should": "13.2.1", + "yargs": "11.0.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.1.tgz", + "integrity": "sha1-NpynC4L1DIZJYQSmx3bSdPTkotQ=" + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "tiny-emitter": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz", + "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==", + "optional": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "ua-parser-js": { + "version": "0.7.17", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", + "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", + "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", + "requires": { + "cliui": "4.0.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "requires": { + "camelcase": "4.1.0" + } + } + } +} diff --git a/cli/package.json b/cli/package.json new file mode 100644 index 00000000..8eb0cb98 --- /dev/null +++ b/cli/package.json @@ -0,0 +1,20 @@ +{ + "name": "@redoc/cli", + "version": "0.0.1", + "description": "ReDoc's Command Line Interface", + "main": "index.js", + "bin": { + "redoc": "index.js" + }, + "repository": "https://github.com/Rebilly/ReDoc", + "author": "Roman Hotsiy ", + "license": "MIT", + "dependencies": { + "react": "^16.3.0-alpha.2", + "react-dom": "^16.3.0-alpha.2", + "redoc": "^2.0.0-alpha.15" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/cli/redoc-static.html b/cli/redoc-static.html new file mode 100644 index 00000000..eec5132d --- /dev/null +++ b/cli/redoc-static.html @@ -0,0 +1,469 @@ + + + + + ReDoc + + + + + + + + + +

Swagger Petstore (1.0.0)

Download OpenAPI specification:Download

Find out how to create Github repo for your OpenAPI spec.

This is a sample server Petstore server. +You can find out more about Swagger at +http://swagger.io or on irc.freenode.net, #swagger. +For this sample, you can use the api key special-key to test the authorization filters.

+

Introduction

This API is documented in OpenAPI format and is based on +Petstore sample provided by swagger.io team. +It was extended to illustrate features of generator-openapi-repo +tool and ReDoc documentation. In addition to standard +OpenAPI syntax we use a few vendor extensions.

+

OpenAPI Specification

This API is documented in OpenAPI format and is based on +Petstore sample provided by swagger.io team. +It was extended to illustrate features of generator-openapi-repo +tool and ReDoc documentation. In addition to standard +OpenAPI syntax we use a few vendor extensions.

+

Cross-Origin Resource Sharing

This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with W3C spec. +And that allows cross-domain communication from the browser. +All responses have a wildcard same-origin which makes them completely public and accessible to everyone, including any code on any site.

+

Authentication

Petstore offers two forms of authentication:

+
    +
  • API Key
  • +
  • OAuth2
  • +
+

OAuth2 - an open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications.

+

petstore_auth

Get access to data while protecting your account credentials. +OAuth2 is also a safer and more secure way to give you access.

+
Security scheme type: OAuth2
implicit OAuth Flow
Authorization URL: http://petstore.swagger.io/api/oauth/dialog
Scopes:
  • write:pets - modify pets in your account
  • read:pets - read your pets

api_key

For this sample, you can use the api key special-key to test the authorization filters.

+
Security scheme type: API Key
header parameter name: api_key

pet

Everything about your Pets

+

Add a new pet to the store

Add new pet to the store inventory.

+
Authorizations:
petstore_auth (write:petsread:pets)
cookie Parameters
cookieParam
required
integer <int64>

Some cookie

+
Request Body schema:
category
object (Category)

Categories this pet belongs to

+
name
required
string

The name given to a pet

+
photoUrls
required
Array of string

The list of URL to a cute photos featuring pet

+
friend
object (Pet) Recursive
tags
Array of object

Tags attached to the pet

+
status
string
Enum:"available" "pending" "sold"

Pet status in the store

+
petType
string

Type of a pet

+
huntingSkill
required
string
Default: "lazy"
Enum:"clueless" "lazy" "adventurous" "aggressive"

The measured skill for hunting

+

Responses

405

Invalid input

+
post /pet
Default server
null//petstore.swagger.io/v2/pet
Sandbox server
null//petstore.swagger.io/sandbox/pet

Request samples

Copy
Expand all Collapse all
{
  • "category":
    {
    },
  • "name": "Guru",
  • "photoUrls":
    [
    ],
  • "friend": { },
  • "tags":
    [
    ],
  • "status": "available",
  • "petType": "string",
  • "huntingSkill": "lazy"
}

Update an existing pet

Authorizations:
petstore_auth (write:petsread:pets)
cookie Parameters
cookieParam
required
integer <int64>

Some cookie

+
Request Body schema:
category
object (Category)

Categories this pet belongs to

+
name
required
string

The name given to a pet

+
photoUrls
required
Array of string

The list of URL to a cute photos featuring pet

+
friend
object (Pet) Recursive
tags
Array of object

Tags attached to the pet

+
status
string
Enum:"available" "pending" "sold"

Pet status in the store

+
petType
string

Type of a pet

+
huntingSkill
required
string
Default: "lazy"
Enum:"clueless" "lazy" "adventurous" "aggressive"

The measured skill for hunting

+

Responses

400

Invalid ID supplied

+
404

Pet not found

+
405

Validation exception

+
put /pet
Default server
null//petstore.swagger.io/v2/pet
Sandbox server
null//petstore.swagger.io/sandbox/pet

Request samples

Copy
Expand all Collapse all
{
  • "category":
    {
    },
  • "name": "Guru",
  • "photoUrls":
    [
    ],
  • "friend": { },
  • "tags":
    [
    ],
  • "status": "available",
  • "petType": "string",
  • "huntingSkill": "lazy"
}

Find pet by ID

Returns a single pet

+
Authorizations:
path Parameters
petId
required
integer <int64>
Deprecated

ID of pet to return

+

Responses

200

successful operation

+
400

Invalid ID supplied

+
404

Pet not found

+
get /pet/{petId}
Default server
null//petstore.swagger.io/v2/pet/{petId}
Sandbox server
null//petstore.swagger.io/sandbox/pet/{petId}

Response samples

Copy
Expand all Collapse all
{
  • "id": 0,
  • "category":
    {
    },
  • "name": "Guru",
  • "photoUrls":
    [
    ],
  • "friend": { },
  • "tags":
    [
    ],
  • "status": "available",
  • "petType": "string",
  • "huntingSkill": "lazy"
}

Updates a pet in the store with form data

Authorizations:
petstore_auth (write:petsread:pets)
path Parameters
petId
required
integer <int64>

ID of pet that needs to be updated

+
Request Body schema: application/x-www-form-urlencoded
name
string

Updated name of the pet

+
status
string

Updated status of the pet

+

Responses

405

Invalid input

+
post /pet/{petId}
Default server
null//petstore.swagger.io/v2/pet/{petId}
Sandbox server
null//petstore.swagger.io/sandbox/pet/{petId}

Deletes a pet

Authorizations:
petstore_auth (write:petsread:pets)
path Parameters
petId
required
integer <int64>

Pet id to delete

+
header Parameters
api_key
string
Example: "Bearer <TOKEN>"

Responses

400

Invalid pet value

+
delete /pet/{petId}
Default server
null//petstore.swagger.io/v2/pet/{petId}
Sandbox server
null//petstore.swagger.io/sandbox/pet/{petId}

uploads an image

Authorizations:
petstore_auth (write:petsread:pets)
path Parameters
petId
required
integer <int64>

ID of pet to update

+
Request Body schema: application/octet-stream
string <binary>

Responses

200

successful operation

+
post /pet/{petId}/uploadImage
Default server
null//petstore.swagger.io/v2/pet/{petId}/uploadImage
Sandbox server
null//petstore.swagger.io/sandbox/pet/{petId}/uploadImage

Response samples

application/json
Copy
Expand all Collapse all
{
  • "code": 0,
  • "type": "string",
  • "message": "string"
}

Finds Pets by status

Multiple status values can be provided with comma seperated strings

+
Authorizations:
petstore_auth (write:petsread:pets)
query Parameters
status
required
Array of string
Items Enum:"available" "pending" "sold"

Status values that need to be considered for filter

+

Responses

200

successful operation

+
400

Invalid status value

+
get /pet/findByStatus
Default server
null//petstore.swagger.io/v2/pet/findByStatus
Sandbox server
null//petstore.swagger.io/sandbox/pet/findByStatus

Response samples

Copy
Expand all Collapse all
[
  • {
    }
]

Finds Pets by tags Deprecated

Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.

+
Authorizations:
petstore_auth (write:petsread:pets)
query Parameters
tags
required
Array of string

Tags to filter by

+

Responses

200

successful operation

+
400

Invalid tag value

+
get /pet/findByTags
Default server
null//petstore.swagger.io/v2/pet/findByTags
Sandbox server
null//petstore.swagger.io/sandbox/pet/findByTags

Response samples

Copy
Expand all Collapse all
[
  • {
    }
]

store

Access to Petstore orders

+

Returns pet inventories by status

Returns a map of status codes to quantities

+
Authorizations:

Responses

200

successful operation

+
get /store/inventory
Default server
null//petstore.swagger.io/v2/store/inventory
Sandbox server
null//petstore.swagger.io/sandbox/store/inventory

Response samples

application/json
Copy
Expand all Collapse all
{
  • "property1": 0,
  • "property2": 0
}

Place an order for a pet

Request Body schema: application/json
quantity
integer <int32> >= 1
Default: 1
shipDate
string <date-time>

Estimated ship date

+
status
string
Enum:"placed" "approved" "delivered"

Order Status

+
complete
boolean

Indicates whenever order was completed or not

+

Responses

200

successful operation

+
400

Invalid Order

+
post /store/order
Default server
null//petstore.swagger.io/v2/store/order
Sandbox server
null//petstore.swagger.io/sandbox/store/order

Request samples

application/json
Copy
Expand all Collapse all
{
  • "quantity": 1,
  • "shipDate": "2018-03-18T08:51:17Z",
  • "status": "placed",
  • "complete": false
}

Response samples

Copy
Expand all Collapse all
{
  • "id": 0,
  • "petId": 0,
  • "quantity": 1,
  • "shipDate": "2018-03-18T08:51:17Z",
  • "status": "placed",
  • "complete": false
}

Find purchase order by ID

For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions

+
path Parameters
orderId
required
integer <int64> [ 1 .. 5 ]

ID of pet that needs to be fetched

+

Responses

200

successful operation

+
400

Invalid ID supplied

+
404

Order not found

+
get /store/order/{orderId}
Default server
null//petstore.swagger.io/v2/store/order/{orderId}
Sandbox server
null//petstore.swagger.io/sandbox/store/order/{orderId}

Response samples

Copy
Expand all Collapse all
{
  • "id": 0,
  • "petId": 0,
  • "quantity": 1,
  • "shipDate": "2018-03-18T08:51:17Z",
  • "status": "placed",
  • "complete": false
}

Delete purchase order by ID

For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors

+
path Parameters
orderId
required
string >= 1

ID of the order that needs to be deleted

+

Responses

400

Invalid ID supplied

+
404

Order not found

+
delete /store/order/{orderId}
Default server
null//petstore.swagger.io/v2/store/order/{orderId}
Sandbox server
null//petstore.swagger.io/sandbox/store/order/{orderId}

user

Operations about user

+

Create user

This can only be done by the logged in user.

+
Request Body schema: application/json
pet
object or object
username
string >= 4 characters

User supplied username

+
firstName
string non-empty

User first name

+
lastName
string non-empty

User last name

+
email
string <email>

User email address

+
password
string <password> >= 8 characters (?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])

User password, MUST contain a mix of upper and lower case letters, as well as digits

+
phone
string Nullable ^\+(?:[0-9]-?){6,14}[0-9]$

User phone number in international format

+
userStatus
integer <int32>

User status

+

Responses

default

successful operation

+
post /user
Default server
null//petstore.swagger.io/v2/user
Sandbox server
null//petstore.swagger.io/sandbox/user

Request samples

application/json
Copy
Expand all Collapse all
{
  • "pet":
    {
    },
  • "username": "John78",
  • "firstName": "John",
  • "lastName": "Smith",
  • "email": "john.smith@example.com",
  • "password": "drowssaP123",
  • "phone": "+1-202-555-0192",
  • "userStatus": 0
}

Get user by user name

path Parameters
username
required
string

The name that needs to be fetched. Use user1 for testing.

+

Responses

200

successful operation

+
400

Invalid username supplied

+
404

User not found

+
get /user/{username}
Default server
null//petstore.swagger.io/v2/user/{username}
Sandbox server
null//petstore.swagger.io/sandbox/user/{username}

Response samples

Copy
Expand all Collapse all
{
  • "id": 0,
  • "pet":
    {
    },
  • "username": "John78",
  • "firstName": "John",
  • "lastName": "Smith",
  • "email": "john.smith@example.com",
  • "password": "drowssaP123",
  • "phone": "+1-202-555-0192",
  • "userStatus": 0
}

Updated user

This can only be done by the logged in user.

+
path Parameters
username
required
string

name that need to be deleted

+
Request Body schema: application/json
pet
object or object
username
string >= 4 characters

User supplied username

+
firstName
string non-empty

User first name

+
lastName
string non-empty

User last name

+
email
string <email>

User email address

+
password
string <password> >= 8 characters (?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])

User password, MUST contain a mix of upper and lower case letters, as well as digits

+
phone
string Nullable ^\+(?:[0-9]-?){6,14}[0-9]$

User phone number in international format

+
userStatus
integer <int32>

User status

+

Responses

400

Invalid user supplied

+
404

User not found

+
put /user/{username}
Default server
null//petstore.swagger.io/v2/user/{username}
Sandbox server
null//petstore.swagger.io/sandbox/user/{username}

Request samples

application/json
Copy
Expand all Collapse all
{
  • "pet":
    {
    },
  • "username": "John78",
  • "firstName": "John",
  • "lastName": "Smith",
  • "email": "john.smith@example.com",
  • "password": "drowssaP123",
  • "phone": "+1-202-555-0192",
  • "userStatus": 0
}

Delete user

This can only be done by the logged in user.

+
path Parameters
username
required
string

The name that needs to be deleted

+

Responses

400

Invalid username supplied

+
404

User not found

+
delete /user/{username}
Default server
null//petstore.swagger.io/v2/user/{username}
Sandbox server
null//petstore.swagger.io/sandbox/user/{username}

Creates list of users with given input array

Request Body schema: application/json
Array
pet
object or object
username
string >= 4 characters

User supplied username

+
firstName
string non-empty

User first name

+
lastName
string non-empty

User last name

+
email
string <email>

User email address

+
password
string <password> >= 8 characters (?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])

User password, MUST contain a mix of upper and lower case letters, as well as digits

+
phone
string Nullable ^\+(?:[0-9]-?){6,14}[0-9]$

User phone number in international format

+
userStatus
integer <int32>

User status

+

Responses

default

successful operation

+
post /user/createWithArray
Default server
null//petstore.swagger.io/v2/user/createWithArray
Sandbox server
null//petstore.swagger.io/sandbox/user/createWithArray

Request samples

application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Creates list of users with given input array

Request Body schema: application/json
Array
pet
object or object
username
string >= 4 characters

User supplied username

+
firstName
string non-empty

User first name

+
lastName
string non-empty

User last name

+
email
string <email>

User email address

+
password
string <password> >= 8 characters (?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])

User password, MUST contain a mix of upper and lower case letters, as well as digits

+
phone
string Nullable ^\+(?:[0-9]-?){6,14}[0-9]$

User phone number in international format

+
userStatus
integer <int32>

User status

+

Responses

default

successful operation

+
post /user/createWithList
Default server
null//petstore.swagger.io/v2/user/createWithList
Sandbox server
null//petstore.swagger.io/sandbox/user/createWithList

Request samples

application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Logs user into the system

query Parameters
username
required
string

The user name for login

+
password
required
string

The password for login in clear text

+

Responses

200

successful operation

+
400

Invalid username/password supplied

+
get /user/login
Default server
null//petstore.swagger.io/v2/user/login
Sandbox server
null//petstore.swagger.io/sandbox/user/login

Response samples

Copy
Expand all Collapse all
"OK"

Logs out current logged in user session

Responses

default

successful operation

+
get /user/logout
Default server
null//petstore.swagger.io/v2/user/logout
Sandbox server
null//petstore.swagger.io/sandbox/user/logout
+ + \ No newline at end of file diff --git a/package.json b/package.json index 375d1f4b..5836a8aa 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,6 @@ "version": "2.0.0-alpha.15", "description": "ReDoc", "main": "bundles/redoc.lib.js", - "bin": "bin/cli.js", "scripts": { "start": "webpack-dev-server --mode=development --env.playground --hot --config demo/webpack.config.ts ", "start:prod": "webpack-dev-server --env.playground --mode=production --config demo/webpack.config.ts", @@ -24,7 +23,7 @@ "lint": "tslint --project tsconfig.json", "benchmark": "node ./benchmark/benchmark.js", "start:demo": "webpack-dev-server --hot --config demo/webpack.config.ts", - "compile:cli": "tsc bin/cli.ts --target es6 --module commonjs --types yargs" + "compile:cli": "tsc cli/index.ts --target es6 --module commonjs --types yargs" }, "author": "", "license": "MIT", diff --git a/webpack.config.ts b/webpack.config.ts index 25dd593e..20e59b8d 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -23,6 +23,7 @@ export default (env: { standalone?: boolean } = {}) => ({ path: path.join(__dirname, '/bundles'), library: 'Redoc', libraryTarget: 'umd', + globalObject: 'this', }, devtool: 'source-map',