Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0697c415ed | |||
| 4825ec70b1 | |||
| 54ad90415d | |||
| 1184ea8b46 | |||
| 6ac58b8cf7 | |||
| d627a1bc5d | |||
| 38e884b5ea | |||
| 2ef7cfbfe3 | |||
| 58adbb8f4c | |||
| 34c7fa2b0e |
@@ -3,6 +3,19 @@ Changelog
|
||||
#########
|
||||
|
||||
|
||||
*********
|
||||
**1.9.0**
|
||||
*********
|
||||
|
||||
*Release date: Jun 16, 2018*
|
||||
|
||||
- **ADDED:** added ``DEFAULT_GENERATOR_CLASS`` setting and ``--generator-clas`` argument to the ``generate_swagger``
|
||||
management command (:issue:`140`)
|
||||
- **FIXED:** fixed wrongly required ``'count'`` response field on ``CursorPagination`` (:issue:`141`)
|
||||
- **FIXED:** fixed some cases where ``swagger_extra_fields`` would not be handlded (:pr:`142`)
|
||||
- **FIXED:** fixed crash when encountering ``coreapi.Fields``\ s without a ``schema`` (:issue:`143`)
|
||||
|
||||
|
||||
*********
|
||||
**1.8.0**
|
||||
*********
|
||||
|
||||
+9
-1
@@ -43,6 +43,14 @@ The possible settings and their default values are as follows:
|
||||
Default classes
|
||||
===============
|
||||
|
||||
DEFAULT_GENERATOR_CLASS
|
||||
-------------------------
|
||||
|
||||
:class:`~.generators.OpenAPISchemaGenerator` subclass that will be used by default for generating the final
|
||||
:class:`.Schema` object. Can be overriden by the ``generator_class`` argument to :func:`.get_schema_view`.
|
||||
|
||||
**Default**: :class:`drf_yasg.generators.OpenAPISchemaGenerator`
|
||||
|
||||
DEFAULT_AUTO_SCHEMA_CLASS
|
||||
-------------------------
|
||||
|
||||
@@ -102,7 +110,7 @@ DEFAULT_INFO
|
||||
------------
|
||||
|
||||
An import string to an :class:`.openapi.Info` object. This will be used when running the ``generate_swagger``
|
||||
management command, or if no ``info`` argument is passed to ``get_schema_view``.
|
||||
management command, or if no ``info`` argument is passed to :func:`.get_schema_view`.
|
||||
|
||||
**Default**: :python:`None`
|
||||
|
||||
|
||||
Generated
+216
-196
@@ -3,15 +3,25 @@
|
||||
"requires": true,
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"@types/chai": {
|
||||
"version": "4.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.3.tgz",
|
||||
"integrity": "sha512-f5dXGzOJycyzSMdaXVhiBhauL4dYydXwVpavfQ1mVCaGjR56a9QfklXObUxlIY9bGTmCPHEEZ04I16BZ/8w5ww=="
|
||||
},
|
||||
"@types/tapable": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.2.tgz",
|
||||
"integrity": "sha512-42zEJkBpNfMEAvWR5WlwtTH22oDzcMjFsL9gDGExwF8X8WvAiw7Vwop7hPw03QT8TKfec83LwbHj6SvpqM4ELQ=="
|
||||
},
|
||||
"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.0.0",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.3.0"
|
||||
"co": "4.6.0",
|
||||
"fast-deep-equal": "1.1.0",
|
||||
"fast-json-stable-stringify": "2.0.0",
|
||||
"json-schema-traverse": "0.3.1"
|
||||
}
|
||||
},
|
||||
"ansi-regex": {
|
||||
@@ -24,7 +34,7 @@
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"requires": {
|
||||
"sprintf-js": "~1.0.2"
|
||||
"sprintf-js": "1.0.3"
|
||||
}
|
||||
},
|
||||
"asap": {
|
||||
@@ -42,8 +52,8 @@
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz",
|
||||
"integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==",
|
||||
"requires": {
|
||||
"base64-js": "^1.0.2",
|
||||
"ieee754": "^1.1.4"
|
||||
"base64-js": "1.3.0",
|
||||
"ieee754": "1.1.11"
|
||||
}
|
||||
},
|
||||
"call-me-maybe": {
|
||||
@@ -67,9 +77,9 @@
|
||||
"integrity": "sha512-7yhQBmtN+uYZmfRjjVjKa0dZdWuabzpSKGtyQZN+9C8xlC788SSJjOHWh7tzurfwTqTD5UDYAhIv5fRJg3sHjQ==",
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"good-listener": "^1.2.2",
|
||||
"select": "^1.1.2",
|
||||
"tiny-emitter": "^2.0.0"
|
||||
"good-listener": "1.2.2",
|
||||
"select": "1.1.2",
|
||||
"tiny-emitter": "2.0.2"
|
||||
}
|
||||
},
|
||||
"cliui": {
|
||||
@@ -77,9 +87,9 @@
|
||||
"resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
|
||||
"integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
|
||||
"requires": {
|
||||
"string-width": "^2.1.1",
|
||||
"strip-ansi": "^4.0.0",
|
||||
"wrap-ansi": "^2.0.0"
|
||||
"string-width": "2.1.1",
|
||||
"strip-ansi": "4.0.0",
|
||||
"wrap-ansi": "2.1.0"
|
||||
}
|
||||
},
|
||||
"co": {
|
||||
@@ -102,9 +112,9 @@
|
||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
|
||||
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
|
||||
"requires": {
|
||||
"lru-cache": "^4.0.1",
|
||||
"shebang-command": "^1.2.0",
|
||||
"which": "^1.2.9"
|
||||
"lru-cache": "4.1.3",
|
||||
"shebang-command": "1.2.0",
|
||||
"which": "1.3.0"
|
||||
}
|
||||
},
|
||||
"css-color-keywords": {
|
||||
@@ -117,9 +127,9 @@
|
||||
"resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.2.0.tgz",
|
||||
"integrity": "sha512-SWG8+tsVRBHpxn1cSDmx7B95DJCiKwUecBbboGpm2znDCnJDMGkcoYR73w1p2IZMab6iNqVms8VC+4TrSqoFeQ==",
|
||||
"requires": {
|
||||
"css-color-keywords": "^1.0.0",
|
||||
"fbjs": "^0.8.5",
|
||||
"postcss-value-parser": "^3.3.0"
|
||||
"css-color-keywords": "1.0.0",
|
||||
"fbjs": "0.8.16",
|
||||
"postcss-value-parser": "3.3.0"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
@@ -161,7 +171,7 @@
|
||||
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
|
||||
"integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
|
||||
"requires": {
|
||||
"iconv-lite": "~0.4.13"
|
||||
"iconv-lite": "0.4.23"
|
||||
}
|
||||
},
|
||||
"es6-promise": {
|
||||
@@ -184,13 +194,13 @@
|
||||
"resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
|
||||
"integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
|
||||
"requires": {
|
||||
"cross-spawn": "^5.0.1",
|
||||
"get-stream": "^3.0.0",
|
||||
"is-stream": "^1.1.0",
|
||||
"npm-run-path": "^2.0.0",
|
||||
"p-finally": "^1.0.0",
|
||||
"signal-exit": "^3.0.0",
|
||||
"strip-eof": "^1.0.0"
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
@@ -213,13 +223,13 @@
|
||||
"resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz",
|
||||
"integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=",
|
||||
"requires": {
|
||||
"core-js": "^1.0.0",
|
||||
"isomorphic-fetch": "^2.1.1",
|
||||
"loose-envify": "^1.0.0",
|
||||
"object-assign": "^4.1.0",
|
||||
"promise": "^7.1.1",
|
||||
"setimmediate": "^1.0.5",
|
||||
"ua-parser-js": "^0.7.9"
|
||||
"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.18"
|
||||
}
|
||||
},
|
||||
"find-up": {
|
||||
@@ -227,7 +237,7 @@
|
||||
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
|
||||
"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
|
||||
"requires": {
|
||||
"locate-path": "^2.0.0"
|
||||
"locate-path": "2.0.0"
|
||||
}
|
||||
},
|
||||
"foreach": {
|
||||
@@ -255,8 +265,8 @@
|
||||
"resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
|
||||
"integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
|
||||
"requires": {
|
||||
"min-document": "^2.19.0",
|
||||
"process": "~0.5.1"
|
||||
"min-document": "2.19.0",
|
||||
"process": "0.5.2"
|
||||
}
|
||||
},
|
||||
"good-listener": {
|
||||
@@ -265,7 +275,7 @@
|
||||
"integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"delegate": "^3.1.2"
|
||||
"delegate": "3.2.0"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
@@ -283,7 +293,7 @@
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
|
||||
"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
|
||||
"requires": {
|
||||
"safer-buffer": ">= 2.1.2 < 3"
|
||||
"safer-buffer": "2.1.2"
|
||||
}
|
||||
},
|
||||
"ieee754": {
|
||||
@@ -306,7 +316,7 @@
|
||||
"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"
|
||||
"isobject": "3.0.1"
|
||||
}
|
||||
},
|
||||
"is-stream": {
|
||||
@@ -329,8 +339,8 @@
|
||||
"resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
|
||||
"integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
|
||||
"requires": {
|
||||
"node-fetch": "^1.0.1",
|
||||
"whatwg-fetch": ">=0.10.0"
|
||||
"node-fetch": "1.7.3",
|
||||
"whatwg-fetch": "2.0.4"
|
||||
}
|
||||
},
|
||||
"js-tokens": {
|
||||
@@ -343,8 +353,8 @@
|
||||
"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.7",
|
||||
"esprima": "^4.0.0"
|
||||
"argparse": "1.0.10",
|
||||
"esprima": "4.0.0"
|
||||
}
|
||||
},
|
||||
"json-pointer": {
|
||||
@@ -352,7 +362,7 @@
|
||||
"resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.0.tgz",
|
||||
"integrity": "sha1-jlAFUKaqxUZKRzN32leqbMIoKNc=",
|
||||
"requires": {
|
||||
"foreach": "^2.0.4"
|
||||
"foreach": "2.0.5"
|
||||
}
|
||||
},
|
||||
"json-schema-ref-parser": {
|
||||
@@ -360,10 +370,10 @@
|
||||
"resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-5.0.3.tgz",
|
||||
"integrity": "sha512-RCZE9RpvMG2zY+dSSQkqHxsCYaqBYlh/u2PWWRdWMvtaH718YqR73lYu4IW4cGNxJIkUnIgTMuJtp+A1tIn4+w==",
|
||||
"requires": {
|
||||
"call-me-maybe": "^1.0.1",
|
||||
"debug": "^3.1.0",
|
||||
"js-yaml": "^3.11.0",
|
||||
"ono": "^4.0.3"
|
||||
"call-me-maybe": "1.0.1",
|
||||
"debug": "3.1.0",
|
||||
"js-yaml": "3.11.0",
|
||||
"ono": "4.0.5"
|
||||
}
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
@@ -376,7 +386,7 @@
|
||||
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
|
||||
"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
|
||||
"requires": {
|
||||
"invert-kv": "^1.0.0"
|
||||
"invert-kv": "1.0.0"
|
||||
}
|
||||
},
|
||||
"locate-path": {
|
||||
@@ -384,8 +394,8 @@
|
||||
"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"
|
||||
"p-locate": "2.0.0",
|
||||
"path-exists": "3.0.0"
|
||||
}
|
||||
},
|
||||
"loose-envify": {
|
||||
@@ -393,7 +403,7 @@
|
||||
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
|
||||
"integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
|
||||
"requires": {
|
||||
"js-tokens": "^3.0.0"
|
||||
"js-tokens": "3.0.2"
|
||||
}
|
||||
},
|
||||
"lru-cache": {
|
||||
@@ -401,31 +411,21 @@
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
|
||||
"integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
|
||||
"requires": {
|
||||
"pseudomap": "^1.0.2",
|
||||
"yallist": "^2.1.2"
|
||||
"pseudomap": "1.0.2",
|
||||
"yallist": "2.1.2"
|
||||
}
|
||||
},
|
||||
"lunr": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/lunr/-/lunr-2.2.0.tgz",
|
||||
"integrity": "sha512-HNuCi0meEZZpfORgJuxmXu5yHkdWrWew9dphUj+ouCbNNT38ud5YXWKVcLo1gSwQcDdKMXn+lRuDiXLfllnnjA=="
|
||||
},
|
||||
"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.19",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz",
|
||||
"integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg=="
|
||||
},
|
||||
"mem": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
|
||||
"integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
|
||||
"requires": {
|
||||
"mimic-fn": "^1.0.0"
|
||||
"mimic-fn": "1.2.0"
|
||||
}
|
||||
},
|
||||
"mimic-fn": {
|
||||
@@ -438,21 +438,16 @@
|
||||
"resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
|
||||
"integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
|
||||
"requires": {
|
||||
"dom-walk": "^0.1.0"
|
||||
"dom-walk": "0.1.1"
|
||||
}
|
||||
},
|
||||
"mobx": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/mobx/-/mobx-4.2.1.tgz",
|
||||
"integrity": "sha1-3UGQ2vG0PUGjoihYUlP5lwsKJ90="
|
||||
},
|
||||
"mobx-react": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-5.1.2.tgz",
|
||||
"integrity": "sha1-7FwtKaHfgj29GzfiFPo2oJBwVOI=",
|
||||
"requires": {
|
||||
"hoist-non-react-statics": "^2.5.0",
|
||||
"react-lifecycles-compat": "^3.0.2"
|
||||
"hoist-non-react-statics": "2.5.0",
|
||||
"react-lifecycles-compat": "3.0.4"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
@@ -465,8 +460,8 @@
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
|
||||
"integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
|
||||
"requires": {
|
||||
"encoding": "^0.1.11",
|
||||
"is-stream": "^1.0.1"
|
||||
"encoding": "0.1.12",
|
||||
"is-stream": "1.1.0"
|
||||
}
|
||||
},
|
||||
"node-readfiles": {
|
||||
@@ -474,7 +469,7 @@
|
||||
"resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz",
|
||||
"integrity": "sha1-271K8SE04uY1wkXvk//Pb2BnOl0=",
|
||||
"requires": {
|
||||
"es6-promise": "^3.2.1"
|
||||
"es6-promise": "3.3.1"
|
||||
}
|
||||
},
|
||||
"npm-run-path": {
|
||||
@@ -482,7 +477,7 @@
|
||||
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
|
||||
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
|
||||
"requires": {
|
||||
"path-key": "^2.0.0"
|
||||
"path-key": "2.0.1"
|
||||
}
|
||||
},
|
||||
"number-is-nan": {
|
||||
@@ -500,15 +495,7 @@
|
||||
"resolved": "https://registry.npmjs.org/ono/-/ono-4.0.5.tgz",
|
||||
"integrity": "sha512-ZVNuV9kJbr/2tWs83I2snrYo+WIS0DISF/xUfX9p9b6GyDD6F5N9PzHjW+p/dep6IGwSYylf1HCub5I/nM0R5Q==",
|
||||
"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"
|
||||
"format-util": "1.0.3"
|
||||
}
|
||||
},
|
||||
"os-locale": {
|
||||
@@ -516,9 +503,9 @@
|
||||
"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"
|
||||
"execa": "0.7.0",
|
||||
"lcid": "1.0.0",
|
||||
"mem": "1.1.0"
|
||||
}
|
||||
},
|
||||
"p-finally": {
|
||||
@@ -531,7 +518,7 @@
|
||||
"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-try": "1.0.0"
|
||||
}
|
||||
},
|
||||
"p-locate": {
|
||||
@@ -539,7 +526,7 @@
|
||||
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
|
||||
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
|
||||
"requires": {
|
||||
"p-limit": "^1.1.0"
|
||||
"p-limit": "1.2.0"
|
||||
}
|
||||
},
|
||||
"p-try": {
|
||||
@@ -577,7 +564,7 @@
|
||||
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.14.0.tgz",
|
||||
"integrity": "sha512-sa2s4m60bXs+kU3jcuUwx3ZCrUH7o0kuqnOOINbODqlRrDB7KY8SRx+xR/D7nHLlgfDdG7zXbRO8wJ+su5Ls0A==",
|
||||
"requires": {
|
||||
"clipboard": "^2.0.0"
|
||||
"clipboard": "2.0.1"
|
||||
}
|
||||
},
|
||||
"process": {
|
||||
@@ -590,7 +577,7 @@
|
||||
"resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
|
||||
"integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
|
||||
"requires": {
|
||||
"asap": "~2.0.3"
|
||||
"asap": "2.0.6"
|
||||
}
|
||||
},
|
||||
"prop-types": {
|
||||
@@ -598,9 +585,9 @@
|
||||
"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"
|
||||
"fbjs": "0.8.16",
|
||||
"loose-envify": "1.3.1",
|
||||
"object-assign": "4.1.1"
|
||||
}
|
||||
},
|
||||
"pseudomap": {
|
||||
@@ -613,7 +600,7 @@
|
||||
"resolved": "https://registry.npmjs.org/react-dropdown/-/react-dropdown-1.5.0.tgz",
|
||||
"integrity": "sha512-rRv3a7NiP++yC1rzdjzkviC5ujq759i4SRa0M3C0Cr7loYT4Z3+JhSPekv1/04JiZNXX46cV3/g6A9kS7rkI4Q==",
|
||||
"requires": {
|
||||
"classnames": "^2.2.3"
|
||||
"classnames": "2.2.5"
|
||||
}
|
||||
},
|
||||
"react-hot-loader": {
|
||||
@@ -621,12 +608,12 @@
|
||||
"resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.1.3.tgz",
|
||||
"integrity": "sha512-CF3Y/qUfL1PkM6TPrELNsSiHGKJFRnpyLdzsk+HV4IIuQAY2g1aZXQmK4L/O8WOaldoOujxAYfRfpzrWTvmvtg==",
|
||||
"requires": {
|
||||
"fast-levenshtein": "^2.0.6",
|
||||
"global": "^4.3.0",
|
||||
"hoist-non-react-statics": "^2.5.0",
|
||||
"prop-types": "^15.6.1",
|
||||
"react-lifecycles-compat": "^3.0.2",
|
||||
"shallowequal": "^1.0.2"
|
||||
"fast-levenshtein": "2.0.6",
|
||||
"global": "4.3.2",
|
||||
"hoist-non-react-statics": "2.5.0",
|
||||
"prop-types": "15.6.1",
|
||||
"react-lifecycles-compat": "3.0.4",
|
||||
"shallowequal": "1.0.2"
|
||||
}
|
||||
},
|
||||
"react-is": {
|
||||
@@ -644,38 +631,83 @@
|
||||
"resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-2.2.2.tgz",
|
||||
"integrity": "sha512-jZGAAoq1yknr/XF60/2kH5X3UJdR1X8ItcsLZ1mJnHfoniKcCr3shT2TK5wiS2sO0LOmqwX2BtJQX3snKd50sg==",
|
||||
"requires": {
|
||||
"classnames": "^2.2.0",
|
||||
"prop-types": "^15.5.0"
|
||||
"classnames": "2.2.5",
|
||||
"prop-types": "15.6.1"
|
||||
}
|
||||
},
|
||||
"redoc": {
|
||||
"version": "2.0.0-alpha.20",
|
||||
"resolved": "https://registry.npmjs.org/redoc/-/redoc-2.0.0-alpha.20.tgz",
|
||||
"integrity": "sha512-oJ6CACoflRW7BvvfUTANjNj9+8bvWweg8gBKJnl4gTcao1tA1NsN7hNRv7uGpN79RP8eMFBSlRHcGmxKONU/tA==",
|
||||
"version": "2.0.0-alpha.22",
|
||||
"resolved": "https://registry.npmjs.org/redoc/-/redoc-2.0.0-alpha.22.tgz",
|
||||
"integrity": "sha512-hZuzYWk0wcnr5ftGHXRzNEJguDVAXzqDt4VpcpZDIauwLDHC7ZJNN1GryPuRzEMbuEEP4G2X7bIdo+dWl6h/Zg==",
|
||||
"requires": {
|
||||
"classnames": "^2.2.5",
|
||||
"decko": "^1.2.0",
|
||||
"dompurify": "^1.0.2",
|
||||
"eventemitter3": "^3.0.0",
|
||||
"json-pointer": "^0.6.0",
|
||||
"json-schema-ref-parser": "^5.0.0",
|
||||
"lunr": "^2.1.5",
|
||||
"mark.js": "^8.11.1",
|
||||
"marked": "^0.3.19",
|
||||
"mobx": "^4.1.0",
|
||||
"mobx-react": "^5.0.0",
|
||||
"openapi-sampler": "1.0.0-beta.9",
|
||||
"perfect-scrollbar": "^1.3.0",
|
||||
"polished": "^1.9.2",
|
||||
"prismjs": "^1.12.2",
|
||||
"prop-types": "^15.6.0",
|
||||
"react-dropdown": "^1.3.0",
|
||||
"react-hot-loader": "^4.0.0",
|
||||
"react-tabs": "^2.0.0",
|
||||
"slugify": "^1.2.1",
|
||||
"stickyfill": "^1.1.1",
|
||||
"styled-components": "^3.2.3",
|
||||
"swagger2openapi": "^2.11.0"
|
||||
"@types/chai": "4.1.3",
|
||||
"@types/tapable": "1.0.2",
|
||||
"classnames": "2.2.5",
|
||||
"decko": "1.2.0",
|
||||
"dompurify": "1.0.4",
|
||||
"eventemitter3": "3.1.0",
|
||||
"json-pointer": "0.6.0",
|
||||
"json-schema-ref-parser": "5.0.3",
|
||||
"lunr": "2.2.1",
|
||||
"mark.js": "8.11.1",
|
||||
"marked": "0.4.0",
|
||||
"mobx": "4.3.0",
|
||||
"mobx-react": "5.1.2",
|
||||
"openapi-sampler": "1.0.0-beta.12",
|
||||
"perfect-scrollbar": "1.3.0",
|
||||
"polished": "1.9.2",
|
||||
"prismjs": "1.14.0",
|
||||
"prop-types": "15.6.1",
|
||||
"react-dropdown": "1.5.0",
|
||||
"react-hot-loader": "4.1.3",
|
||||
"react-tabs": "2.2.2",
|
||||
"slugify": "1.3.0",
|
||||
"stickyfill": "1.1.1",
|
||||
"styled-components": "3.3.0",
|
||||
"swagger2openapi": "2.11.16",
|
||||
"tslib": "1.9.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"lunr": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/lunr/-/lunr-2.2.1.tgz",
|
||||
"integrity": "sha1-YsYpR7+DYZRQ6Uq/JgYfHOO6qkc="
|
||||
},
|
||||
"marked": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz",
|
||||
"integrity": "sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw=="
|
||||
},
|
||||
"mobx": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/mobx/-/mobx-4.3.0.tgz",
|
||||
"integrity": "sha1-UKXmP9AZeoPGgWb/g62kW2XIWfg="
|
||||
},
|
||||
"openapi-sampler": {
|
||||
"version": "1.0.0-beta.12",
|
||||
"resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.0.0-beta.12.tgz",
|
||||
"integrity": "sha512-/6DK47sOfOjjOs0VDp2tkX35fJSRpi2e5FfGSXT42+cCBTbJ3mKX27tkuZM3V9Q6ot0wM0/7x7CCzlNMSFlGyA==",
|
||||
"requires": {
|
||||
"json-pointer": "0.6.0"
|
||||
}
|
||||
},
|
||||
"styled-components": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/styled-components/-/styled-components-3.3.0.tgz",
|
||||
"integrity": "sha1-M1sbK2c7QWzV7AEgEOI37R+Hf+k=",
|
||||
"requires": {
|
||||
"buffer": "5.1.0",
|
||||
"css-to-react-native": "2.2.0",
|
||||
"fbjs": "0.8.16",
|
||||
"hoist-non-react-statics": "2.5.0",
|
||||
"is-plain-object": "2.0.4",
|
||||
"prop-types": "15.6.1",
|
||||
"react-is": "16.3.2",
|
||||
"stylis": "3.5.0",
|
||||
"stylis-rule-sheet": "0.0.10",
|
||||
"supports-color": "3.2.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"reftools": {
|
||||
@@ -724,7 +756,7 @@
|
||||
"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": "1.0.0"
|
||||
}
|
||||
},
|
||||
"shebang-regex": {
|
||||
@@ -737,11 +769,11 @@
|
||||
"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.0.1",
|
||||
"should-util": "^1.0.0"
|
||||
"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": {
|
||||
@@ -749,7 +781,7 @@
|
||||
"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-type": "1.4.0"
|
||||
}
|
||||
},
|
||||
"should-format": {
|
||||
@@ -757,8 +789,8 @@
|
||||
"resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz",
|
||||
"integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=",
|
||||
"requires": {
|
||||
"should-type": "^1.3.0",
|
||||
"should-type-adaptors": "^1.0.1"
|
||||
"should-type": "1.4.0",
|
||||
"should-type-adaptors": "1.1.0"
|
||||
}
|
||||
},
|
||||
"should-type": {
|
||||
@@ -771,8 +803,8 @@
|
||||
"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.3.0",
|
||||
"should-util": "^1.0.0"
|
||||
"should-type": "1.4.0",
|
||||
"should-util": "1.0.0"
|
||||
}
|
||||
},
|
||||
"should-util": {
|
||||
@@ -805,8 +837,8 @@
|
||||
"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"
|
||||
"is-fullwidth-code-point": "2.0.0",
|
||||
"strip-ansi": "4.0.0"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
@@ -814,7 +846,7 @@
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
|
||||
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
|
||||
"requires": {
|
||||
"ansi-regex": "^3.0.0"
|
||||
"ansi-regex": "3.0.0"
|
||||
}
|
||||
},
|
||||
"strip-eof": {
|
||||
@@ -822,23 +854,6 @@
|
||||
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
|
||||
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
|
||||
},
|
||||
"styled-components": {
|
||||
"version": "3.2.6",
|
||||
"resolved": "https://registry.npmjs.org/styled-components/-/styled-components-3.2.6.tgz",
|
||||
"integrity": "sha1-mebnWnRr3t0pWhfgPdFJMFWhzDs=",
|
||||
"requires": {
|
||||
"buffer": "^5.0.3",
|
||||
"css-to-react-native": "^2.0.3",
|
||||
"fbjs": "^0.8.16",
|
||||
"hoist-non-react-statics": "^2.5.0",
|
||||
"is-plain-object": "^2.0.1",
|
||||
"prop-types": "^15.5.4",
|
||||
"react-is": "^16.3.1",
|
||||
"stylis": "^3.5.0",
|
||||
"stylis-rule-sheet": "^0.0.10",
|
||||
"supports-color": "^3.2.3"
|
||||
}
|
||||
},
|
||||
"stylis": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.0.tgz",
|
||||
@@ -854,28 +869,28 @@
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
|
||||
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
|
||||
"requires": {
|
||||
"has-flag": "^1.0.0"
|
||||
"has-flag": "1.0.0"
|
||||
}
|
||||
},
|
||||
"swagger-ui-dist": {
|
||||
"version": "3.14.2",
|
||||
"resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.14.2.tgz",
|
||||
"integrity": "sha1-aayy6HOFF5ICwx6Iw/Bl8xBlEFY="
|
||||
"version": "3.16.0",
|
||||
"resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.16.0.tgz",
|
||||
"integrity": "sha1-kCtuBC97HsPpXDSVfzMoHN2uEsQ="
|
||||
},
|
||||
"swagger2openapi": {
|
||||
"version": "2.11.16",
|
||||
"resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-2.11.16.tgz",
|
||||
"integrity": "sha512-5Pv20whg9Bn1dqKDuGatH0r+7mAEU8+tHJU1PdT9ufGeZNseqJBs9Y8AOd8EMEHKRuAgAzYYWhINvgtodAlZRA==",
|
||||
"requires": {
|
||||
"ajv": "^5.0.1",
|
||||
"call-me-maybe": "^1.0.1",
|
||||
"co": "^4.6.0",
|
||||
"js-yaml": "^3.6.1",
|
||||
"node-fetch": "^2.0.0",
|
||||
"node-readfiles": "^0.2.0",
|
||||
"ajv": "5.5.2",
|
||||
"call-me-maybe": "1.0.1",
|
||||
"co": "4.6.0",
|
||||
"js-yaml": "3.11.0",
|
||||
"node-fetch": "2.1.2",
|
||||
"node-readfiles": "0.2.0",
|
||||
"reftools": "0.0.20",
|
||||
"should": "^13.0.1",
|
||||
"yargs": "^11.0.0"
|
||||
"should": "13.2.1",
|
||||
"yargs": "11.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"node-fetch": {
|
||||
@@ -891,6 +906,11 @@
|
||||
"integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==",
|
||||
"optional": true
|
||||
},
|
||||
"tslib": {
|
||||
"version": "1.9.2",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.2.tgz",
|
||||
"integrity": "sha512-AVP5Xol3WivEr7hnssHDsaM+lVrVXWUvd1cfXTRkTj80b//6g2wIFEH6hZG0muGZRnHGrfttpdzRk3YlBkWjKw=="
|
||||
},
|
||||
"ua-parser-js": {
|
||||
"version": "0.7.18",
|
||||
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz",
|
||||
@@ -906,7 +926,7 @@
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
|
||||
"integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
|
||||
"requires": {
|
||||
"isexe": "^2.0.0"
|
||||
"isexe": "2.0.0"
|
||||
}
|
||||
},
|
||||
"which-module": {
|
||||
@@ -919,8 +939,8 @@
|
||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
|
||||
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
|
||||
"requires": {
|
||||
"string-width": "^1.0.1",
|
||||
"strip-ansi": "^3.0.1"
|
||||
"string-width": "1.0.2",
|
||||
"strip-ansi": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
@@ -933,7 +953,7 @@
|
||||
"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.0"
|
||||
"number-is-nan": "1.0.1"
|
||||
}
|
||||
},
|
||||
"string-width": {
|
||||
@@ -941,9 +961,9 @@
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
||||
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
|
||||
"requires": {
|
||||
"code-point-at": "^1.0.0",
|
||||
"is-fullwidth-code-point": "^1.0.0",
|
||||
"strip-ansi": "^3.0.0"
|
||||
"code-point-at": "1.1.0",
|
||||
"is-fullwidth-code-point": "1.0.0",
|
||||
"strip-ansi": "3.0.1"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
@@ -951,7 +971,7 @@
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -971,18 +991,18 @@
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz",
|
||||
"integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==",
|
||||
"requires": {
|
||||
"cliui": "^4.0.0",
|
||||
"decamelize": "^1.1.1",
|
||||
"find-up": "^2.1.0",
|
||||
"get-caller-file": "^1.0.1",
|
||||
"os-locale": "^2.0.0",
|
||||
"require-directory": "^2.1.1",
|
||||
"require-main-filename": "^1.0.1",
|
||||
"set-blocking": "^2.0.0",
|
||||
"string-width": "^2.0.0",
|
||||
"which-module": "^2.0.0",
|
||||
"y18n": "^3.2.1",
|
||||
"yargs-parser": "^9.0.2"
|
||||
"cliui": "4.1.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": {
|
||||
@@ -990,7 +1010,7 @@
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
|
||||
"integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
|
||||
"requires": {
|
||||
"camelcase": "^4.1.0"
|
||||
"camelcase": "4.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "drf-yasg",
|
||||
"dependencies": {
|
||||
"redoc": "^2.0.0-alpha.20",
|
||||
"swagger-ui-dist": "^3.14.2"
|
||||
"redoc": "^2.0.0-alpha.22",
|
||||
"swagger-ui-dist": "^3.16.0"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
@@ -2,6 +2,7 @@ from django.conf import settings
|
||||
from rest_framework.settings import perform_import
|
||||
|
||||
SWAGGER_DEFAULTS = {
|
||||
'DEFAULT_GENERATOR_CLASS': 'drf_yasg.generators.OpenAPISchemaGenerator',
|
||||
'DEFAULT_AUTO_SCHEMA_CLASS': 'drf_yasg.inspectors.SwaggerAutoSchema',
|
||||
|
||||
'DEFAULT_FIELD_INSPECTORS': [
|
||||
@@ -68,6 +69,7 @@ REDOC_DEFAULTS = {
|
||||
}
|
||||
|
||||
IMPORT_STRINGS = [
|
||||
'DEFAULT_GENERATOR_CLASS',
|
||||
'DEFAULT_AUTO_SCHEMA_CLASS',
|
||||
'DEFAULT_FIELD_INSPECTORS',
|
||||
'DEFAULT_FILTER_INSPECTORS',
|
||||
|
||||
@@ -36,10 +36,7 @@ class InlineSerializerInspector(SerializerInspector):
|
||||
setattr(schema, attr, val)
|
||||
|
||||
def get_schema(self, serializer):
|
||||
result = self.probe_field_inspectors(serializer, openapi.Schema, self.use_definitions)
|
||||
schema = openapi.resolve_ref(result, self.components)
|
||||
self.add_manual_fields(serializer, schema)
|
||||
return result
|
||||
return self.probe_field_inspectors(serializer, openapi.Schema, self.use_definitions)
|
||||
|
||||
def add_manual_parameters(self, serializer, parameters):
|
||||
"""Add/replace parameters from the given list of automatically generated request parameters. This method
|
||||
@@ -95,7 +92,7 @@ class InlineSerializerInspector(SerializerInspector):
|
||||
for property_name, child in field.fields.items():
|
||||
property_name = self.get_property_name(property_name)
|
||||
prop_kwargs = {
|
||||
'read_only': child.read_only or None
|
||||
'read_only': bool(child.read_only) or None
|
||||
}
|
||||
prop_kwargs = filter_none(prop_kwargs)
|
||||
|
||||
@@ -117,6 +114,10 @@ class InlineSerializerInspector(SerializerInspector):
|
||||
# but is visually displayed like the model name, which is confusing
|
||||
# it is better to just remove title from inline models
|
||||
del result.title
|
||||
|
||||
# Provide an option to add manual paremeters to a schema
|
||||
# for example, to add examples
|
||||
self.add_manual_fields(field, result)
|
||||
return result
|
||||
|
||||
if not ref_name or not use_references:
|
||||
|
||||
@@ -48,7 +48,7 @@ class CoreAPICompatInspector(PaginatorInspector, FilterInspector):
|
||||
in_=location_to_in[field.location],
|
||||
type=coreapi_types.get(type(field.schema), openapi.TYPE_STRING),
|
||||
required=field.required,
|
||||
description=field.schema.description,
|
||||
description=field.schema.description if field.schema else None,
|
||||
)
|
||||
|
||||
|
||||
@@ -70,7 +70,10 @@ class DjangoRestResponsePagination(PaginatorInspector):
|
||||
('previous', openapi.Schema(type=openapi.TYPE_STRING, format=openapi.FORMAT_URI)),
|
||||
('results', response_schema),
|
||||
)),
|
||||
required=['count', 'results']
|
||||
required=['results']
|
||||
)
|
||||
|
||||
if has_count:
|
||||
paged_schema.required.insert(0, 'count')
|
||||
|
||||
return paged_schema
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import logging
|
||||
from collections import OrderedDict
|
||||
|
||||
from rest_framework.request import is_form_media_type
|
||||
@@ -12,6 +13,8 @@ from ..utils import (
|
||||
)
|
||||
from .base import ViewInspector
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class SwaggerAutoSchema(ViewInspector):
|
||||
def __init__(self, view, path, method, components, request, overrides):
|
||||
@@ -83,7 +86,11 @@ class SwaggerAutoSchema(ViewInspector):
|
||||
"""
|
||||
if not hasattr(self.view, 'get_serializer'):
|
||||
return None
|
||||
return self.view.get_serializer()
|
||||
try:
|
||||
return self.view.get_serializer()
|
||||
except Exception:
|
||||
log.warning("view's get_serializer raised exception (%s)", type(self.view).__name__, exc_info=True)
|
||||
return None
|
||||
|
||||
def get_request_serializer(self):
|
||||
"""Return the request serializer (used for parsing the request payload) for this endpoint.
|
||||
|
||||
@@ -2,6 +2,7 @@ import json
|
||||
import logging
|
||||
import os
|
||||
from collections import OrderedDict
|
||||
from importlib import import_module
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
@@ -12,7 +13,15 @@ from rest_framework.views import APIView
|
||||
from ... import openapi
|
||||
from ...app_settings import swagger_settings
|
||||
from ...codecs import OpenAPICodecJson, OpenAPICodecYaml
|
||||
from ...generators import OpenAPISchemaGenerator
|
||||
|
||||
|
||||
def import_class(import_string):
|
||||
if not import_string:
|
||||
return None
|
||||
|
||||
module_path, class_name = import_string.rsplit('.', 1)
|
||||
module = import_module(module_path)
|
||||
return getattr(module, class_name)
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
@@ -64,6 +73,11 @@ class Command(BaseCommand):
|
||||
'OpenAPISchemaGenerator.get_schema().\n'
|
||||
'This option implies --mock-request.'
|
||||
)
|
||||
parser.add_argument(
|
||||
'-g', '--generator-class', dest='generator_class_name',
|
||||
default='',
|
||||
help='Import string pointing to an OpenAPISchemaGenerator subclass to use for schema generation.'
|
||||
)
|
||||
|
||||
def write_schema(self, schema, stream, format):
|
||||
if format == 'json':
|
||||
@@ -89,7 +103,8 @@ class Command(BaseCommand):
|
||||
request = APIView().initialize_request(request)
|
||||
return request
|
||||
|
||||
def handle(self, output_file, overwrite, format, api_url, mock, user, private, *args, **options):
|
||||
def handle(self, output_file, overwrite, format, api_url, mock, user, private, generator_class_name,
|
||||
*args, **kwargs):
|
||||
# disable logs of WARNING and below
|
||||
logging.disable(logging.WARNING)
|
||||
|
||||
@@ -117,7 +132,8 @@ class Command(BaseCommand):
|
||||
|
||||
request = self.get_mock_request(api_url, format, user) if mock else None
|
||||
|
||||
generator = OpenAPISchemaGenerator(
|
||||
generator_class = import_class(generator_class_name) or swagger_settings.DEFAULT_GENERATOR_CLASS
|
||||
generator = generator_class(
|
||||
info=info,
|
||||
url=api_url
|
||||
)
|
||||
|
||||
+15
-15
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -11,7 +11,6 @@ from rest_framework.settings import api_settings
|
||||
from rest_framework.views import APIView
|
||||
|
||||
from .app_settings import swagger_settings
|
||||
from .generators import OpenAPISchemaGenerator
|
||||
from .renderers import OpenAPIRenderer, ReDocRenderer, SwaggerJSONRenderer, SwaggerUIRenderer, SwaggerYAMLRenderer
|
||||
|
||||
SPEC_RENDERERS = (SwaggerYAMLRenderer, SwaggerJSONRenderer, OpenAPIRenderer)
|
||||
@@ -46,7 +45,7 @@ def deferred_never_cache(view_func):
|
||||
|
||||
|
||||
def get_schema_view(info=None, url=None, patterns=None, urlconf=None, public=False, validators=None,
|
||||
generator_class=OpenAPISchemaGenerator,
|
||||
generator_class=swagger_settings.DEFAULT_GENERATOR_CLASS,
|
||||
authentication_classes=api_settings.DEFAULT_AUTHENTICATION_CLASSES,
|
||||
permission_classes=api_settings.DEFAULT_PERMISSION_CLASSES):
|
||||
"""Create a SchemaView class with default renderers and generators.
|
||||
|
||||
@@ -13,6 +13,6 @@ router.register(r'recursive', views.TodoRecursiveView)
|
||||
urlpatterns = router.urls
|
||||
|
||||
urlpatterns += [
|
||||
url(r'^(?P<todo_id>\d+)/yetanother/(?P<yetanother_id>\d+)/$',
|
||||
url(r'^(?P<todo_id>\d+)/yetanothers/(?P<yetanother_id>\d+)/$',
|
||||
views.NestedTodoView.as_view(), ),
|
||||
]
|
||||
|
||||
@@ -697,9 +697,9 @@ paths:
|
||||
description: A unique integer value identifying this todo.
|
||||
required: true
|
||||
type: integer
|
||||
/todo/{todo_id}/yetanother/{yetanother_id}/:
|
||||
/todo/{todo_id}/yetanothers/{yetanother_id}/:
|
||||
get:
|
||||
operationId: todo_yetanother_read
|
||||
operationId: todo_yetanothers_read
|
||||
description: ''
|
||||
parameters: []
|
||||
responses:
|
||||
|
||||
@@ -11,17 +11,18 @@ import pytest
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.management import call_command
|
||||
|
||||
from drf_yasg import openapi
|
||||
from drf_yasg.codecs import yaml_sane_load
|
||||
from drf_yasg.generators import OpenAPISchemaGenerator
|
||||
|
||||
|
||||
def call_generate_swagger(output_file='-', overwrite=False, format='', api_url='',
|
||||
mock=False, user='', private=False, **kwargs):
|
||||
mock=False, user='', private=False, generator_class_name='', **kwargs):
|
||||
out = StringIO()
|
||||
call_command(
|
||||
'generate_swagger', stdout=out,
|
||||
output_file=output_file, overwrite=overwrite, format=format,
|
||||
api_url=api_url, mock=mock, user=user, private=private,
|
||||
**kwargs
|
||||
output_file=output_file, overwrite=overwrite, format=format, api_url=api_url, mock=mock, user=user,
|
||||
private=private, generator_class_name=generator_class_name, **kwargs
|
||||
)
|
||||
return out.getvalue()
|
||||
|
||||
@@ -46,6 +47,17 @@ def test_no_mock(db):
|
||||
assert len(output_schema['paths']) > 0
|
||||
|
||||
|
||||
class EmptySchemaGenerator(OpenAPISchemaGenerator):
|
||||
def get_paths(self, endpoints, components, request, public):
|
||||
return openapi.Paths(paths={}), ''
|
||||
|
||||
|
||||
def test_generator_class(db):
|
||||
output = call_generate_swagger(generator_class_name='test_management.EmptySchemaGenerator')
|
||||
output_schema = json.loads(output, object_pairs_hook=OrderedDict)
|
||||
assert len(output_schema['paths']) == 0
|
||||
|
||||
|
||||
def silentremove(filename):
|
||||
try:
|
||||
os.remove(filename)
|
||||
|
||||
Reference in New Issue
Block a user