{"_id":"@crownie/swagger-express-ts","_rev":"5-bf913abacb6b225433168d82657255c8","name":"@crownie/swagger-express-ts","dist-tags":{"latest":"1.1.4"},"versions":{"1.1.0":{"name":"@crownie/swagger-express-ts","version":"1.1.0","description":"Generate and serve swagger.json","main":"dist/index.js","types":"dist/index.d.ts","typings":"dist/index.d.ts","scripts":{"start":"npm run build:dev && ts-node --project tsconfig.json demo/index.ts","dev":"nodemon","build":"npm run clean && tsc -p tsconfig.lib.json","build:dev":"npm run clean && tsc -p tsconfig.dev.lib.json","clean":"rimraf dist && rimraf node_modules/@crownie/swagger-express-ts","test":"npm run build:dev && nyc mocha","preversion":"npm run build","prepublishOnly":"npm run build","postpublish":"git push --tags"},"repository":{"type":"git","url":"git+https://github.com/olivierlsc/swagger-specification-ts.git"},"author":{"name":"Olivier LIN-SI-CHENG"},"license":"MIT","keywords":["inversify","inversifyjs","swagger","swagger2","swagger-ui","typescript","expressjs","express","api rest","documentation","decorator","generator","swagger.json","json","rest"],"bugs":{"url":"https://github.com/olivierlsc/swagger-specification-ts/issues"},"homepage":"https://github.com/olivierlsc/swagger-specification-ts#readme","dependencies":{"@types/lodash":"^4.14.109","lodash":"^4.17.10"},"devDependencies":{"@types/body-parser":"^1.17.0","@types/express":"^4.16.0","@types/helmet":"0.0.37","@types/compression":"0.0.35","@types/inversify":"^2.0.33","@types/chai":"^4.1.3","@types/mocha":"^2.2.48","@types/sinon":"^4.3.3","body-parser":"^1.18.3","express":"^4.16.4","helmet":"^3.12.1","inversify":"^4.13.0","inversify-express-utils":"^4.2.2","compression":"^1.7.2","reflect-metadata":"^0.1.10","chai":"^4.1.2","gulp":"^4.0.0","gulp-clean":"^0.4.0","gulp-sourcemaps":"^2.6.4","gulp-tslint":"^8.1.3","gulp-typescript":"^3.2.4","mocha":"^4.0.1","nodemon":"^1.18.4","nyc":"^13.1.0","prettier":"1.12.0","pretty-quick":"^1.4.1","rimraf":"^2.7.1","sinon":"^4.5.0","source-map-support":"^0.5.9","swagger-ui-dist":"^3.17.0","ts-node":"^7.0.1","tslint":"^5.10.0","tslint-config-prettier":"^1.10.0","typescript":"^3.1.3"},"nyc":{"include":["src/**/*.ts","demo/**/*.ts"],"exclude":["demo/index.ts"],"extension":[".ts"],"require":["ts-node/register"],"reporter":["html"],"sourceMap":true,"instrument":true},"nodemonConfig":{"restartable":"rs","watch":["src/**/*.ts"],"ext":"ts","ignore":["test/*","wiki/*","swagger/*","node_modules/*","dist/*"],"delay":"2500","exec":"npm run start"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"gitHead":"cf4159faebd6676687f70f0b2cff30d64e87eaa6","_id":"@crownie/swagger-express-ts@1.1.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-TyQCKoIjbWoXa0B4hXtPpHJUXpXy1Lz2tFYDKRX7+VGS1kv+IknI6+IXkBXR0n2gZZ7sRzhPXVkH3APYIwyngw==","shasum":"c6772b8241efb5b80d0cbddba39d11aa8277075c","tarball":"https://registry.npmjs.org/@crownie/swagger-express-ts/-/swagger-express-ts-1.1.0.tgz","fileCount":50,"unpackedSize":121090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0snOCRA9TVsSAnZWagAAyG0P/iAlVxLME3IzwbdL5rTZ\neItF4ARRQ1pgUqXkRhoZei6q9DRS5UzQ5QzqK851p2vA82Xy00FI8F1HWy1t\nAwGiAZiWTbb97K4pKZeNlvr9t1nxevwRZrM8HOSl2AhVagbN0NZ+BtxxFYTy\n6/xUFNFWyZSiemY1tAglywxpPJfnpfPk8pwicUjlzrIZVMLINviHKCmABKRy\nML9D2GeZIEp1KNfw2ZylLyuwxc5tYRjG0fWpJ3xaK3ZKhxlcSZ9MKf8FAkxy\nVYvFaVH+NiG7aCMVkSUwJOzMGTh7JUY+cMIcq8r1mCNQKb9+JpYEy6hVSp+v\niZJCSxjJbYIEwuGuWridRs7JS/caQrSDZ01OpQ95Wk4T8E9ZbfeB0ML3G4wC\nKw5aLgG7rJ+UDj5TUyIOLr0/A116w50VZgRboCve0kBsFHIg8HQZEoYFMhTi\nQVbLTGNMnk72SY9vDDsd2uwD4nqukvOQxE2ri8UfFQocU0hL8rnlidMQDXdG\nSjc1m0EnsOrqSaYRqI8vzMboInlnY7QcnaqIuMf6o/RQRHnuau6EWigbBFvc\nFqT52Maw0bd5iRBNCSyzoEO7zmaDJ5A0JQXQR7l/DmBa+di78GgOKAWnr4fU\n58j2Tub4EBd/y27iYJ6PlFohdvut3Ywd07r6dOcYiZCIHa1/sV7QhBMwEmx7\nYg5V\r\n=w+k/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsQt94a9zwGx6xIQ8dT2Dc+cBP8gz4vy8E/jkfcFfQSwIgHWQDKcqqdFZ2/5DwzsN8Vx1llZQyITOnT2jA0vCqX3A="}]},"maintainers":[{"name":"crownie","email":"stevehappyboy@rocketmail.com"}],"_npmUser":{"name":"crownie","email":"stevehappyboy@rocketmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/swagger-express-ts_1.1.0_1590872525352_0.6712741975987138"},"_hasShrinkwrap":false},"1.1.1":{"name":"@crownie/swagger-express-ts","version":"1.1.1","description":"Generate and serve swagger.json","main":"dist/index.js","types":"dist/index.d.ts","typings":"dist/index.d.ts","scripts":{"start":"npm run build:dev && ts-node --project tsconfig.json demo/index.ts","dev":"nodemon","build":"npm run clean && tsc -p tsconfig.lib.json","build:dev":"npm run clean && tsc -p tsconfig.dev.lib.json","clean":"rimraf dist && rimraf node_modules/@crownie/swagger-express-ts","test":"npm run build:dev && nyc mocha","preversion":"npm run build","prepublishOnly":"npm run build","postpublish":"git push --tags"},"repository":{"type":"git","url":"git+https://github.com/olivierlsc/swagger-specification-ts.git"},"author":{"name":"Olivier LIN-SI-CHENG"},"license":"MIT","keywords":["inversify","inversifyjs","swagger","swagger2","swagger-ui","typescript","expressjs","express","api rest","documentation","decorator","generator","swagger.json","json","rest"],"bugs":{"url":"https://github.com/olivierlsc/swagger-specification-ts/issues"},"homepage":"https://github.com/olivierlsc/swagger-specification-ts#readme","dependencies":{"@types/lodash":"^4.14.109","lodash":"^4.17.10"},"devDependencies":{"@types/body-parser":"^1.17.0","@types/express":"^4.16.0","@types/helmet":"0.0.37","@types/compression":"0.0.35","@types/inversify":"^2.0.33","@types/chai":"^4.1.3","@types/mocha":"^2.2.48","@types/sinon":"^4.3.3","body-parser":"^1.18.3","express":"^4.16.4","helmet":"^3.12.1","inversify":"^4.13.0","inversify-express-utils":"^4.2.2","compression":"^1.7.2","reflect-metadata":"^0.1.10","chai":"^4.1.2","gulp":"^4.0.0","gulp-clean":"^0.4.0","gulp-sourcemaps":"^2.6.4","gulp-tslint":"^8.1.3","gulp-typescript":"^3.2.4","mocha":"^4.0.1","nodemon":"^1.18.4","nyc":"^13.1.0","prettier":"1.12.0","pretty-quick":"^1.4.1","rimraf":"^2.7.1","sinon":"^4.5.0","source-map-support":"^0.5.9","swagger-ui-dist":"^3.17.0","ts-node":"^7.0.1","tslint":"^5.10.0","tslint-config-prettier":"^1.10.0","typescript":"^3.1.3"},"nyc":{"include":["src/**/*.ts","demo/**/*.ts"],"exclude":["demo/index.ts"],"extension":[".ts"],"require":["ts-node/register"],"reporter":["html"],"sourceMap":true,"instrument":true},"nodemonConfig":{"restartable":"rs","watch":["src/**/*.ts"],"ext":"ts","ignore":["test/*","wiki/*","swagger/*","node_modules/*","dist/*"],"delay":"2500","exec":"npm run start"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"gitHead":"0f17569beb7cf8355e51c8024d2120e80fd4e17d","_id":"@crownie/swagger-express-ts@1.1.1","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-/u3xQgnj3gCxMBJ+Z4G9xMmLAjPDrVD/eLVE8PQ93kGjXHPmC2IBh1+TLO84cv5eg/P152BRSSiYsxi7P886bA==","shasum":"425bf04f4ee8e2f4cdead642af2135424b54e775","tarball":"https://registry.npmjs.org/@crownie/swagger-express-ts/-/swagger-express-ts-1.1.1.tgz","fileCount":50,"unpackedSize":122876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0tGiCRA9TVsSAnZWagAAG2MP/RcEYTS+14mh7+lo13s4\nbKbjA3UialjWYFCQzK3ZcL1vvmPZ1ghOpF0t7bTN75d6FvExAqn7KJuGfDEa\n9xenRYrAcQ+bdKUoK7upR88sIqWpNIJGRjcJFYtFznrrB/7fBq+e1tiIN3Ar\nf8fVOGD0FRXmwjXOySedhDTSO58B1oMaDIaCXIlc1G1HUFJcq65rf3nODuJu\nyHKm5qWrhzJz+yHROy7FRnsulNnf2bSk+l9Fz9ect4mOqXnde0TwA7iveqol\n97MIUA88X9EF63NioNo9SfWeJ1vJgqqgALN2aIb5ETBeqReOD1Q6FXHKqf/X\nPdJvsZt2FJL9o6i70eOvrLZwx+55mxbY/H/XMjemTFBt7wK3iqsymvVRyFqf\nXXxdL6tsDB6mxBIk/kbCzJZe3QQPwBUHrpKrN+s2fKgcI/ua5Dk/bA/afeIV\nh0l3HAGd3CcFaa0Rlfj293TafyR8F26HpolG516r8OB7bN2WUa5B7RmGa5le\n8+OagYJFuaC+Ez1Nfp4rfH4nhgUOtQ8y3S2/OSSfC9oJQ2Sy04mKDvaYc1E0\nmPlgy7pNWLAnHgGUG1j8BvasUnDc5XHAnb957TaFNL2t78sb9xbMasGEg01X\nn6A3kq+WPxpPcs9yMxAMLjkYp/cSn389AKfylMLGlSl4RANd5oe6DKV2IhB0\n4fpN\r\n=5NH/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICFqW86JWix0LH076KpgJ4DxQ8+My66r89BkKgvnqo4lAiEAjihiS0Ndk3/t3ysmtX2rx9HbEmBT2KtxuE8C+azN4wc="}]},"maintainers":[{"name":"crownie","email":"stevehappyboy@rocketmail.com"}],"_npmUser":{"name":"crownie","email":"stevehappyboy@rocketmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/swagger-express-ts_1.1.1_1590874529422_0.5869890290275237"},"_hasShrinkwrap":false},"1.1.2":{"name":"@crownie/swagger-express-ts","version":"1.1.2","description":"Generate and serve swagger.json","main":"dist/index.js","types":"dist/index.d.ts","typings":"dist/index.d.ts","scripts":{"start":"npm run build:dev && ts-node --project tsconfig.json demo/index.ts","dev":"nodemon","build":"npm run clean && tsc -p tsconfig.lib.json","build:dev":"npm run clean && tsc -p tsconfig.dev.lib.json","clean":"rimraf dist && rimraf node_modules/@crownie/swagger-express-ts","test":"npm run build:dev && nyc mocha","preversion":"npm run build","prepublishOnly":"npm run build","postpublish":"git push --tags"},"repository":{"type":"git","url":"git+https://github.com/olivierlsc/swagger-specification-ts.git"},"author":{"name":"Olivier LIN-SI-CHENG"},"license":"MIT","keywords":["inversify","inversifyjs","swagger","swagger2","swagger-ui","typescript","expressjs","express","api rest","documentation","decorator","generator","swagger.json","json","rest"],"bugs":{"url":"https://github.com/olivierlsc/swagger-specification-ts/issues"},"homepage":"https://github.com/olivierlsc/swagger-specification-ts#readme","dependencies":{"@types/lodash":"^4.14.109","lodash":"^4.17.10"},"devDependencies":{"@types/body-parser":"^1.17.0","@types/express":"^4.16.0","@types/helmet":"0.0.37","@types/compression":"0.0.35","@types/inversify":"^2.0.33","@types/chai":"^4.1.3","@types/mocha":"^2.2.48","@types/sinon":"^4.3.3","body-parser":"^1.18.3","express":"^4.16.4","helmet":"^3.12.1","inversify":"^4.13.0","inversify-express-utils":"^4.2.2","compression":"^1.7.2","reflect-metadata":"^0.1.10","chai":"^4.1.2","gulp":"^4.0.0","gulp-clean":"^0.4.0","gulp-sourcemaps":"^2.6.4","gulp-tslint":"^8.1.3","gulp-typescript":"^3.2.4","mocha":"^4.0.1","nodemon":"^1.18.4","nyc":"^13.1.0","prettier":"1.12.0","pretty-quick":"^1.4.1","rimraf":"^2.7.1","sinon":"^4.5.0","source-map-support":"^0.5.9","swagger-ui-dist":"^3.17.0","ts-node":"^7.0.1","tslint":"^5.10.0","tslint-config-prettier":"^1.10.0","typescript":"^3.1.3"},"nyc":{"include":["src/**/*.ts","demo/**/*.ts"],"exclude":["demo/index.ts"],"extension":[".ts"],"require":["ts-node/register"],"reporter":["html"],"sourceMap":true,"instrument":true},"nodemonConfig":{"restartable":"rs","watch":["src/**/*.ts"],"ext":"ts","ignore":["test/*","wiki/*","swagger/*","node_modules/*","dist/*"],"delay":"2500","exec":"npm run start"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"gitHead":"238809aefecfabdcf45b61c9bce7f11f310ae8a1","_id":"@crownie/swagger-express-ts@1.1.2","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-fbbzZku2xiukp1g/4SiRh51ponvCEhdu+0v/7QAXRKRt39cMmHmwQ7JvgG5kLsJK8VA3eayN5ZdNYzWH8GG3pQ==","shasum":"7efc48b7e297314eece4351211a08acff88cbb17","tarball":"https://registry.npmjs.org/@crownie/swagger-express-ts/-/swagger-express-ts-1.1.2.tgz","fileCount":50,"unpackedSize":122825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0ubSCRA9TVsSAnZWagAAtWsQAJN+qa9ukAV25023XxS+\nZArgcpBQj5G0N2qA+1qmRFNzZueaE9FjDCxeYIAS5n7tzvHBdfIsB9JIq6zs\nXJ4TS7li+7WQTLq3GeneHao28GzxykXl3/tksPD4t0U50Pnx224PGKiGEERq\ny0Mep6uzpx0LUZx1XmQr0UVuMWenHty+JA9YDj5GuAacc3OeEWVXJL+EGRgG\nkhrcKM7TU66lu0gWoMvU0h+nKsn3yzXt7HpQGFitUZc+HL2cq6csZqzyTTIZ\nJ+4wBK9ztkEbmh8BG7S7DJRgpvMr37oaJlU0RPjOkTaWnHDLhyjjLR9k8xK0\nINP93z1+4gG53ssDgcY7l0CX4+2KciYHt8XG8Uo7Kh82q72+VXl8am/HDZjL\nq2hbl2y7L4n6iksrwwMJJDr1LN5r1jYil0EqE2CtnzFRuDu+UDStAx6lpBEt\nbpF58pbLqiJVZRmEfx5FFvbYQNuZtyEBoLATwySUMuA6IauKf6FQeCTQmFG1\n8eOTK6iVyvmEX+pKRcbsM4QKW3iADTrRE5ZMyZYqEK0LrdBzR/yv58b5A7H7\nwW+EbK5rcfd/qV1ZEvEbjtUXxMK0Bn2OBmHWgmb6HMbz53yOIlb9aAodhR0e\nubfnousmOdKA+oGg9tjKHtXjTLzbcCdYWqz4SSEwqe3E+kWdAeuofOaPNnA0\nRL1q\r\n=5FWJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFT9Ot/uzRdfo7vtkRYFKHT0thZgIhJsurosEJk4Vua3AiEAuEXXja7OhkiyxrMlXRcZ0wQBMxgiKMfZC81o7+mGr5o="}]},"maintainers":[{"name":"crownie","email":"stevehappyboy@rocketmail.com"}],"_npmUser":{"name":"crownie","email":"stevehappyboy@rocketmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/swagger-express-ts_1.1.2_1590879954494_0.39259311989323775"},"_hasShrinkwrap":false},"1.1.3":{"name":"@crownie/swagger-express-ts","version":"1.1.3","description":"Generate and serve swagger.json","main":"dist/index.js","types":"dist/index.d.ts","typings":"dist/index.d.ts","scripts":{"start":"npm run build:dev && ts-node --project tsconfig.json demo/index.ts","dev":"nodemon","build":"npm run clean && tsc -p tsconfig.lib.json","build:dev":"npm run clean && tsc -p tsconfig.dev.lib.json","clean":"rimraf dist && rimraf node_modules/@crownie/swagger-express-ts","test":"npm run build:dev && nyc mocha","preversion":"npm run build","prepublishOnly":"npm run build","postpublish":"git push --tags"},"repository":{"type":"git","url":"git+https://github.com/olivierlsc/swagger-specification-ts.git"},"author":{"name":"Olivier LIN-SI-CHENG"},"license":"MIT","keywords":["inversify","inversifyjs","swagger","swagger2","swagger-ui","typescript","expressjs","express","api rest","documentation","decorator","generator","swagger.json","json","rest"],"bugs":{"url":"https://github.com/olivierlsc/swagger-specification-ts/issues"},"homepage":"https://github.com/olivierlsc/swagger-specification-ts#readme","dependencies":{"@types/lodash":"^4.14.109","lodash":"^4.17.10"},"devDependencies":{"@types/body-parser":"^1.17.0","@types/express":"^4.16.0","@types/helmet":"0.0.37","@types/compression":"0.0.35","@types/inversify":"^2.0.33","@types/chai":"^4.1.3","@types/mocha":"^2.2.48","@types/sinon":"^4.3.3","body-parser":"^1.18.3","express":"^4.16.4","helmet":"^3.12.1","inversify":"^4.13.0","inversify-express-utils":"^4.2.2","compression":"^1.7.2","reflect-metadata":"^0.1.10","chai":"^4.1.2","gulp":"^4.0.0","gulp-clean":"^0.4.0","gulp-sourcemaps":"^2.6.4","gulp-tslint":"^8.1.3","gulp-typescript":"^3.2.4","mocha":"^4.0.1","nodemon":"^1.18.4","nyc":"^13.1.0","prettier":"1.12.0","pretty-quick":"^1.4.1","rimraf":"^2.7.1","sinon":"^4.5.0","source-map-support":"^0.5.9","swagger-ui-dist":"^3.17.0","ts-node":"^7.0.1","tslint":"^5.10.0","tslint-config-prettier":"^1.10.0","typescript":"^3.1.3"},"nyc":{"include":["src/**/*.ts","demo/**/*.ts"],"exclude":["demo/index.ts"],"extension":[".ts"],"require":["ts-node/register"],"reporter":["html"],"sourceMap":true,"instrument":true},"nodemonConfig":{"restartable":"rs","watch":["src/**/*.ts"],"ext":"ts","ignore":["test/*","wiki/*","swagger/*","node_modules/*","dist/*"],"delay":"2500","exec":"npm run start"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"gitHead":"ead4a0efbbea0188296b12f9f62fdb500fc55e8f","_id":"@crownie/swagger-express-ts@1.1.3","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-9HYsCtUI+ssyxpK8G0XGEbhq8Mt1gzIhEvLs6PWE7+AUjPOAtL6b0pDABI5filO3ki4m2SU4Oz+Jrkx2ak6TYQ==","shasum":"c9a0fd5769897f95a77c9d9f6740083cda7f7b46","tarball":"https://registry.npmjs.org/@crownie/swagger-express-ts/-/swagger-express-ts-1.1.3.tgz","fileCount":50,"unpackedSize":122826,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0unqCRA9TVsSAnZWagAAcIsP/3cFuCZbxk4dmmwVVo6B\nLaI3AOcVyQpsto+tACVCVJMnbVpS9XHhCFup7BQ9l05Tm+34dilMYbp/bAMs\nvBEmjje0QXnYhNGzEVUW8RW+AvnYr+m3lF03AGybM+fnuhu2EvZBSYQZa/MJ\nI+3b2U0JS4bacCcsIOIfk84jOlwNqO+MhHyYLEyMWFiRsp7UOdcnLDgNtuNg\nUuFvtIUr3Xaj1BRTobUc9X5ITEQG3n2TR5Qc4mORop/7WbJj+1EM0n2culqR\nMfnhSWd7AGs7WzN7o50l2LswlR79cS3vU6WILoC2gxHJUdtAwjSfqKgDnOax\nATgxVRgoK4me7dD/AiDQdjRX5CW6rrGUmTO2ui434uQJCfeakClYvzi8gDfl\nC/ADiOLCCakxvlgkNl8VupoqBE8u06nO1z9AnIsZULFvypdABlvTL36DGICh\nb3WAym99OF+L7q9Gqv9ASq0+wfff6LsjLKHXChhNhS3Kfi2Rpu0IPS3Ienk3\n+hcdSJNazOjIi49yNQkQa4iP/vEKIvruwRDk1gXntYECFu283CLZIbIeVf8Q\n0ujLV69gcn5Z6AB/VZmNWmRJOyzEFEjbR2uRfu/LUDPYB2Uhut8Tu1a14bHH\n3jL1oblv+2QDXvQ9lhDbzm5V4M/CyR05NlaPRBa20EqkU6Qw4UyC6gHyHIfW\ndzC6\r\n=/YXb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCISnVNlGYfx3HVhnQOHpbGPizK15/PM6qgFSmrvt3/wQIgR1c99aESwkKSUjVY3Hs/LVI6/Q3Vd/GzQ8xwkc4MaaI="}]},"maintainers":[{"name":"crownie","email":"stevehappyboy@rocketmail.com"}],"_npmUser":{"name":"crownie","email":"stevehappyboy@rocketmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/swagger-express-ts_1.1.3_1590880746099_0.869948448634071"},"_hasShrinkwrap":false},"1.1.4":{"name":"@crownie/swagger-express-ts","version":"1.1.4","description":"Generate and serve swagger.json","main":"dist/index.js","types":"dist/index.d.ts","typings":"dist/index.d.ts","scripts":{"start":"npm run build:dev && ts-node --project tsconfig.json demo/index.ts","dev":"nodemon","build":"npm run clean && tsc -p tsconfig.lib.json","build:dev":"npm run clean && tsc -p tsconfig.dev.lib.json","clean":"rimraf dist && rimraf node_modules/@crownie/swagger-express-ts","test":"npm run build:dev && nyc mocha","preversion":"npm run build","prepublishOnly":"npm run build","postpublish":"git push --tags"},"repository":{"type":"git","url":"git+https://github.com/olivierlsc/swagger-specification-ts.git"},"author":{"name":"Olivier LIN-SI-CHENG"},"license":"MIT","keywords":["inversify","inversifyjs","swagger","swagger2","swagger-ui","typescript","expressjs","express","api rest","documentation","decorator","generator","swagger.json","json","rest"],"bugs":{"url":"https://github.com/olivierlsc/swagger-specification-ts/issues"},"homepage":"https://github.com/olivierlsc/swagger-specification-ts#readme","dependencies":{"@types/lodash":"^4.14.109","lodash":"^4.17.10"},"devDependencies":{"@types/body-parser":"^1.17.0","@types/express":"^4.16.0","@types/helmet":"0.0.37","@types/compression":"0.0.35","@types/inversify":"^2.0.33","@types/chai":"^4.1.3","@types/mocha":"^2.2.48","@types/sinon":"^4.3.3","body-parser":"^1.18.3","express":"^4.16.4","helmet":"^3.12.1","inversify":"^4.13.0","inversify-express-utils":"^4.2.2","compression":"^1.7.2","reflect-metadata":"^0.1.10","chai":"^4.1.2","mocha":"^4.0.1","nodemon":"^2.0.4","nyc":"^13.1.0","prettier":"1.12.0","pretty-quick":"^1.4.1","rimraf":"^2.7.1","sinon":"^4.5.0","source-map-support":"^0.5.9","swagger-ui-dist":"^3.17.0","ts-node":"^7.0.1","tslint":"^5.10.0","tslint-config-prettier":"^1.10.0","typescript":"^3.1.3"},"nyc":{"include":["src/**/*.ts","demo/**/*.ts"],"exclude":["demo/index.ts"],"extension":[".ts"],"require":["ts-node/register"],"reporter":["html"],"sourceMap":true,"instrument":true},"nodemonConfig":{"restartable":"rs","watch":["src/**/*.ts","demo/**/*.ts"],"ext":"ts","ignore":["test/*","wiki/*","swagger/*","node_modules/*","dist/*"],"delay":2500,"exec":"npm run start"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"gitHead":"58a64caf3551fb750e24aacf642b846546530d09","_id":"@crownie/swagger-express-ts@1.1.4","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-pJRqzyLlnBOAxsOE4NdNGlBbytK153CblS7SRtK/VXG4R40pxNoJIV+Zdv/7ofxSLYbvMv9kpXU8p/0tVtWv/w==","shasum":"bf1c1e92371245895ed3527ca808a22f2b9eb311","tarball":"https://registry.npmjs.org/@crownie/swagger-express-ts/-/swagger-express-ts-1.1.4.tgz","fileCount":50,"unpackedSize":123048,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe01xCCRA9TVsSAnZWagAAwUoQAJ4lYcFf/nzZ0lBs0TLZ\ntqZY7GDDucOXgUhyLWJf2NGOnbSKFhvQktsqSPpNgmYGPGL99G79m7kBs7cc\n4iE4t1abZhWg6IzWS1M3+Rj3fSfuraitxvAU8m25RXHkjcEdBzeXw2Q3x44l\niAL5kPoxqQXjcuuT+p5VD1V9vX79WWxfmhzDyVohL4q/2nBV0dBihm/3x6Ac\n+/xqxGV92yXtWwm/hwsBE+6Grivm30FpQAagOT4LOzWMm+qN93q+ba8Wh8PM\nYy3eSS0i+6Ne6uWyTVM4vBGABu9ZPXEdB+9HeA/E7gUyJ0lCm/xAVr2FWVw/\ndf29gZpeZ581denPy+eQPKPTSVL4y48ZIkUolP6fCt0MAasR1kc8hrlKRG0p\nmeSfXaLdDOXMVXaXhl1pVKmBvy2Wd+AY5YK3feYhHdv/o/5Zf0RCZq/HKzdb\nQ4K6z84vFoh2GkHy+GZ+74K2ug2CXGuCmxw2lrhPuEPFaMu/tpsRE+vJ4Dgu\nfMMzqdq02NUaKZ8xMycc3FzZ97Mnx9Oyc4/YQp/9gMLvIm4Wf7fOCT0uuulb\nf9AFNgIdUx4b52CutyuZVE9MbgkC6Fz2GaSpyGHUlvf3eFCmZaBRmO49DNPL\nX/p0qcYklQUpAZVk87tkq+cO/e0fU2mRJANj+X6v6OO2Osd+RwXlqCE98aJT\nwGnw\r\n=rOEN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICuRTgOct3OY12zKVNqhNaFtAC0w/736rMuRvKSU83rhAiEAoLvAHfT1jSbsp+22TyWsr525TRThGcWaY8pabV4HVQo="}]},"maintainers":[{"name":"crownie","email":"stevehappyboy@rocketmail.com"}],"_npmUser":{"name":"crownie","email":"stevehappyboy@rocketmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/swagger-express-ts_1.1.4_1590910017984_0.5775841330538041"},"_hasShrinkwrap":false}},"time":{"created":"2020-05-30T21:02:05.310Z","1.1.0":"2020-05-30T21:02:05.480Z","modified":"2022-04-05T01:56:27.368Z","1.1.1":"2020-05-30T21:35:29.557Z","1.1.2":"2020-05-30T23:05:54.576Z","1.1.3":"2020-05-30T23:19:06.232Z","1.1.4":"2020-05-31T07:26:58.115Z"},"maintainers":[{"name":"crownie","email":"stevehappyboy@rocketmail.com"}],"description":"Generate and serve swagger.json","homepage":"https://github.com/olivierlsc/swagger-specification-ts#readme","keywords":["inversify","inversifyjs","swagger","swagger2","swagger-ui","typescript","expressjs","express","api rest","documentation","decorator","generator","swagger.json","json","rest"],"repository":{"type":"git","url":"git+https://github.com/olivierlsc/swagger-specification-ts.git"},"author":{"name":"Olivier LIN-SI-CHENG"},"bugs":{"url":"https://github.com/olivierlsc/swagger-specification-ts/issues"},"license":"MIT","readme":"![](wiki/img/logo.png)\n\n# swagger-express-ts\nAutomatically generate and serve swagger.json v2.0.\n\n## Getting started\n\nFirst, install [swagger-express-ts](https://www.npmjs.com/package/swagger-express-ts).\n\n```sh\nnpm install swagger-express-ts --save\n```\n\nand [init tsconfig.json](./wiki/installation.md)\n\n## The Basics\n\nIn the examples below, we use [inversify-express-utils](https://www.npmjs.com/package/inversify-express-utils). inversify-express-utils is not required to work with swagger-express-ts.\n\n### Step 1: configure express\n\n```ts\nimport * as bodyParser from \"body-parser\";\nimport * as express from \"express\";\nimport \"reflect-metadata\";\nimport { Container } from \"inversify\";\nimport { interfaces, InversifyExpressServer, TYPE } from \"inversify-express-utils\";\nimport { VersionController } from \"./version/version.controller\";\nimport * as swagger from \"swagger-express-ts\";\nimport { SwaggerDefinitionConstant } from \"swagger-express-ts\";\nconst config = require ( \"../config.json\" );\n\n// set up container\nconst container = new Container ();\n\n// note that you *must* bind your controllers to Controller\ncontainer.bind<interfaces.Controller> ( TYPE.Controller )\n    .to( VersionController ).inSingletonScope().whenTargetNamed( VersionController.TARGET_NAME );\n\n// create server\nconst server = new InversifyExpressServer ( container );\n\nserver.setConfig( ( app : any ) => {\n    app.use( '/api-docs/swagger' , express.static( 'swagger' ) );\n    app.use( '/api-docs/swagger/assets' , express.static( 'node_modules/swagger-ui-dist' ) );\n    app.use( bodyParser.json() );\n    app.use( swagger.express(\n        {\n            definition : {\n                info : {\n                    title : \"My api\" ,\n                    version : \"1.0\"\n                } ,\n                externalDocs : {\n                    url : \"My url\"\n                }\n                // Models can be defined here\n            }\n        }\n    ) );\n} );\n\nserver.setErrorConfig( ( app : any ) => {\n    app.use( ( err : Error , request : express.Request , response : express.Response , next : express.NextFunction ) => {\n        console.error( err.stack );\n        response.status( 500 ).send( \"Something broke!\" );\n    } );\n} );\n\nconst app = server.build();\n\napp.listen( config.port );\nconsole.info( \"Server is listening on port : \" + config.port );\n\n```\n\n### Step 2: Decorate your models\n\n```ts\n@ApiModel( {\n    description : \"Version description\" ,\n    name : \"Version\"\n} )\nexport class VersionModel {\n\n    @ApiModelProperty( {\n        description : \"Id of version\" ,\n        required : true,\n        example: ['123456789']\n    } )\n    id : number;\n\n    @ApiModelProperty( {\n        description : \"\" ,\n        required : true\n    } )\n    name : string;\n\n    @ApiModelProperty( {\n        description : \"Description of version\" ,\n        required : true\n    } )\n    description : string;\n}\n```\n\n### Step 3: Decorate your controllers\n\n```ts\n@ApiPath({\n    path: \"/versions\",\n    name: \"Version\",\n    security: { basicAuth: [] }\n})\n@controller(\"/versions\")\n@injectable()\nexport class VersionController implements interfaces.Controller {\n    public static TARGET_NAME: string = \"VersionController\";\n    \n    private data = [{\n            id: \"1\",\n            name: \"Version 1\",\n            description: \"Description Version 1\",\n            version: \"1.0.0\"\n        },\n        {\n            id: \"2\",\n            name: \"Version 2\",\n            description: \"Description Version 2\",\n            version: \"2.0.0\"\n        }];\n\n    @ApiOperationGet({\n        description: \"Get versions objects list\",\n        summary: \"Get versions list\",\n        responses: {\n            200: { description: \"Success\", type: SwaggerDefinitionConstant.Response.Type.ARRAY, model: \"Version\" }\n        },\n        security: {\n            apiKeyHeader: []\n        }\n    })\n    @httpGet(\"/\")\n    public getVersions(request: express.Request, response: express.Response, next: express.NextFunction): void {\n        response.json(this.data);\n    }\n\n    @ApiOperationPost({\n        description: \"Post version object\",\n        summary: \"Post new version\",\n        parameters: {\n            body: { description: \"New version\", required: true, model: \"Version\" }\n        },\n        responses: {\n            200: { description: \"Success\" },\n            400: { description: \"Parameters fail\" }\n        }\n    })\n    @httpPost(\"/\")\n    public postVersion(request: express.Request, response: express.Response, next: express.NextFunction): void {\n        if (!request.body) {\n            return response.status(400).end();\n        }\n        this.data.push(request.body);\n        response.json(request.body);\n    }\n\n}\n```\n\n### Step 4: Test\n\nStart your server and test on url : /api-docs/swagger.json\n\n## Extra\n\n### Serve swagger-ui in your API\n\nYou can serve swagger.json and swagger-ui in your API.\n\n```sh\nnpm install swagger-ui-dist --save\n```\n\nCreate index.html in new directory \"swagger\".\n\n```html\n<!-- HTML for static distribution bundle build -->\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Swagger UI</title>\n    <link href=\"https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700\"\n          rel=\"stylesheet\">\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"/api-docs/swagger/assets/swagger-ui.css\">\n    <link rel=\"icon\" type=\"image/png\" href=\"/api-docs/swagger/assets/favicon-32x32.png\" sizes=\"32x32\"/>\n    <link rel=\"icon\" type=\"image/png\" href=\"/api-docs/swagger/assets/favicon-16x16.png\" sizes=\"16x16\"/>\n    <style>\n        html {\n            box-sizing: border-box;\n            overflow: -moz-scrollbars-vertical;\n            overflow-y: scroll;\n        }\n\n        *,\n        *:before,\n        *:after {\n            box-sizing: inherit;\n        }\n\n        body {\n            margin: 0;\n            background: #fafafa;\n        }\n    </style>\n</head>\n\n<body>\n\n<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n     style=\"position:absolute;width:0;height:0\">\n    <defs>\n        <symbol viewBox=\"0 0 20 20\" id=\"unlocked\">\n            <path d=\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z\"></path>\n        </symbol>\n\n        <symbol viewBox=\"0 0 20 20\" id=\"locked\">\n            <path d=\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z\"/>\n        </symbol>\n\n        <symbol viewBox=\"0 0 20 20\" id=\"close\">\n            <path d=\"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z\"/>\n        </symbol>\n\n        <symbol viewBox=\"0 0 20 20\" id=\"large-arrow\">\n            <path d=\"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z\"/>\n        </symbol>\n\n        <symbol viewBox=\"0 0 20 20\" id=\"large-arrow-down\">\n            <path d=\"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z\"/>\n        </symbol>\n\n\n        <symbol viewBox=\"0 0 24 24\" id=\"jump-to\">\n            <path d=\"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z\"/>\n        </symbol>\n\n        <symbol viewBox=\"0 0 24 24\" id=\"expand\">\n            <path d=\"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z\"/>\n        </symbol>\n\n    </defs>\n</svg>\n\n<div id=\"swagger-ui\"></div>\n\n<script src=\"/api-docs/swagger/assets/swagger-ui-bundle.js\"></script>\n<script src=\"/api-docs/swagger/assets/swagger-ui-standalone-preset.js\"></script>\n<script>\n    window.onload = function () {\n\n        // Build a system\n        const ui = SwaggerUIBundle ({\n            url: \"/api-docs/swagger.json\",\n            dom_id: '#swagger-ui',\n            deepLinking: true,\n            presets: [\n                SwaggerUIBundle.presets.apis,\n                SwaggerUIStandalonePreset\n            ],\n            plugins: [\n                SwaggerUIBundle.plugins.DownloadUrl\n            ],\n            layout: \"StandaloneLayout\",\n            validatorUrl: null\n        });\n\n        window.ui = ui\n    }\n</script>\n</body>\n\n</html>\n\n```\n\nConfigure your server like that.\n\n```ts\napp.use( '/api-docs/swagger', express.static( 'swagger' ) );\napp.use( '/api-docs/swagger/assets', express.static( 'node_modules/swagger-ui-dist' ) );\n```\n\nTest it on url \"/api-docs/swagger\".\n\n![](./wiki/img/swagger-ui.png)\n\n## Project example\n\nYou can quickly test swagger-express-ts with the project example [example-swagger-express-ts](https://github.com/olivierlsc/example-swagger-express-ts).\n\n## Features and API\n\n- [Installation](./wiki/installation.md)\n- [Configuration](./wiki/configuration.md)\n- [@ApiModel](./wiki/api-model.decorator.md)\n- [@ApiModelProperty](./wiki/api-model-property.decorator.md)\n- [@ApiPath](./wiki/api-path.decorator.md)\n- [@ApiOperationGet](./wiki/api-operation-get.decorator.md)\n- [@ApiOperationPost](./wiki/api-operation-post.decorator.md)\n- [@ApiOperationPut](./wiki/api-operation-put.decorator.md)\n- [@ApiOperationPatch](./wiki/api-operation-patch.decorator.md)\n- [@ApiOperationDelete](./wiki/api-operation-delete.decorator.md)\n\n## For any questions, suggestions, or feature requests\n\n[Please file an issue](https://github.com/olivierlsc/swagger-express-ts/issues)!\n\n## Help wanted\n\nswagger-express-ts wants additional maintainers! To maintain and continue to develop this young library, [Please post in this issue](https://github.com/olivierlsc/swagger-express-ts/issues/34).\n","readmeFilename":"README.md"}