{"_id":"@dhruv-m-patel/rest-api","name":"@dhruv-m-patel/rest-api","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@dhruv-m-patel/rest-api","version":"1.0.0","engines":{"node":">= 14.15.5","npm":">= 6.14.11"},"main":"build/index.js","repository":{"type":"git","url":"git://github.com/dhruv-m-patel/rest-api.git"},"license":"MIT","dependencies":{"compression":"^1.7.4","cookie-parser":"^1.4.5","cors":"^2.8.5","express-openapi-validator":"^4.12.14","js-yaml":"^4.1.0","swagger-express-validator":"^1.0.2","swagger-ui-dist":"^3.51.0","swagger-ui-express":"^4.1.6","uuid":"^8.3.2","yamljs":"^0.3.0"},"devDependencies":{"@types/compression":"^1.7.0","@types/cookie-parser":"^1.4.2","@types/cors":"^2.8.10","@types/express":"^4.17.12","@types/jest":"^26.0.24","@types/js-yaml":"^4.0.1","@types/node":"^15.12.5","@types/supertest":"^2.0.12","@types/swagger-express-validator":"^0.0.0","@types/swagger-ui-dist":"^3.30.0","@types/uuid":"^8.3.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-config-prettier":"^8.5.0","eslint-config-standard":"^16.0.3","eslint-plugin-import":"^2.26.0","eslint-plugin-jest":"^24.7.0","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^5.2.0","eslint-plugin-standard":"^5.0.0","express":"^4.18.1","husky":"^6.0.0","jest":"27.0.5","jest-junit":"^12.3.0","lint-staged":"^11.2.6","prettier":"^2.7.1","rimraf":"^3.0.2","supertest":"^6.2.3","ts-jest":"^27.1.5","ts-loader":"^8.4.0","typescript":"4.3.4"},"keywords":["express","web-app","routing","typescript"],"lint-staged":{"**/*":["prettier --write --ignore-unknown","eslint ."]},"peerDependencies":{"express":">= 4 < 5"},"scripts":{"build":"tsc","clean":"rimraf ./build","lint":"eslint .","lint:fix":"lerna run lint:fix --stream","pretest":"jest --clearCache","prettier:format":"prettier --write .","prettier:verify":"prettier --check .","test":"jest --runInBand","test:ci":"jest --silent --ci --coverage --coverageReporters=text --coverageReporters=text-summary","test:changed":"jest --silent --runInBand --onlyChanged"},"gitHead":"b9857b252cd212ff513c930ac30c8af5e1d31bac","description":"A package to spin up a REST api server with express including swagger docs and health checks by default","bugs":{"url":"https://github.com/dhruv-m-patel/rest-api/issues"},"homepage":"https://github.com/dhruv-m-patel/rest-api#readme","_id":"@dhruv-m-patel/rest-api@1.0.0","_nodeVersion":"14.15.5","_npmVersion":"6.14.11","dist":{"integrity":"sha512-L9h9JLbIqRyqGBNufst1iFcAU9KioQ1nos6/joKD+Y3X2AT/kbo5hvcJ6OpVPsq5UtCYESzCqllNMcEMz+LKLw==","shasum":"a6b960f6e09cd14ef5c4d92bd1ecfe03145de306","tarball":"https://registry.npmjs.org/@dhruv-m-patel/rest-api/-/rest-api-1.0.0.tgz","fileCount":5,"unpackedSize":11338,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICGMU4uBrMKlk98LFUupQdbr/rcQMR0exI5ZTKOahk/HAiEAm8coo05l+Nh/Ae4sjbbAdV8d/i8/yPE61MOqRsTgdYU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitxYkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqkdg/+IXxveXDR1ZFSjrR2hknWFwVI0G5dyWeDj9HseMkLUn+FtTgl\r\nqws/soVXvr1oQTZOZZnkjVvzcw2E9hl93vrZDNkISXSJiJytlyRIALKy+2S1\r\nlIF+fNVFyaq1zNE6x//N43Zbpm03CKDzj18J7tlagxESUj0JxQ4j84rcLi/O\r\n4hAocSC4jr5H/X7lWeFR+WKFwy/SorentxJIBYlhNrSdalxoqqIBF+EwO7vm\r\n24t8TJ6c4xdJhk9ji4A4pZm6Tp0f8cQYOFaMXaUmTY9sjcaAPrMt6QG6C4jY\r\n3OvKBPxv3841Z7qW6DGJseYdqQ9QjXM8BcQHr8cgb+LZou1VX4VorcSm5BZC\r\nlx0nXrvUd8PBkWKwKtu96ZeIYx5tID943oySjncATIP0WQLO/6cuRBGxhExq\r\nQyhqCwGsAfFIJnhD+8T37ZuLGDb8Pc71CgYEirebLsPJbCH4SFDC6DfITnHz\r\nPhA62OrgsBwerPdgbpbbli8WK/3gR9CFd3AoGJkl8M3n1SCkwcvHvtG3Hku5\r\nmPJ62xk3+l5Scd5PP8yl7poPRSyiymcQ9/l9POWbfgHoNR/rE1WnX9pOgqRU\r\n1ZIovoWpfCmSoQQc5IJfpKo1acNy7V8cyfUtrsELXUg0QE9ZPQ3bLAfKmuXL\r\nEDWbwph0I6nus8DG9QRm+c7tvZCkBBSXgys=\r\n=GyRe\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dhruv-m-patel","email":"dhruv.codelab@gmail.com"},"directories":{},"maintainers":[{"name":"dhruv-m-patel","email":"dhruv.codelab@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rest-api_1.0.0_1656165924560_0.4160399188860273"},"_hasShrinkwrap":false}},"time":{"created":"2022-06-25T14:05:24.504Z","1.0.0":"2022-06-25T14:05:24.818Z","modified":"2022-06-25T14:05:24.956Z"},"maintainers":[{"name":"dhruv-m-patel","email":"dhruv.codelab@gmail.com"}],"description":"A package to spin up a REST api server with express including swagger docs and health checks by default","homepage":"https://github.com/dhruv-m-patel/rest-api#readme","keywords":["express","web-app","routing","typescript"],"repository":{"type":"git","url":"git://github.com/dhruv-m-patel/rest-api.git"},"bugs":{"url":"https://github.com/dhruv-m-patel/rest-api/issues"},"license":"MIT","readme":"# @dhruv-m-patel/rest-api\n\nA package to spin up a REST api server with express including swagger docs and health checks by default\n\n![CI Status](https://github.com/dhruv-m-patel/rest-api/workflows/build/badge.svg)\n\n## Setup\n\n```\ngit clone git@github.com:dhruv-m-patel/rest-api.git\ncd rest-api\nnpm ci\nnpm build\n```\n\n### Using the package\n\nYour `app.ts` file to configure your app would look like this:\n\n```typescript\nimport path from 'path';\nimport { Application } from 'express';\nimport { configureApp } from '@dhruv-m-patel/rest-api';\n\nconst app: Application = configureApp({\n  appName: 'My Awesome API',\n  setup: (restApiApp) => {\n    // Your custom app setup code goes here\n  },\n});\n\nexport default app;\n```\n\nYour `server.ts` or `index.ts` file to run your web server would look like this:\n\n```typescript\nimport app from './app';\nimport { runApp } from '@dhruv-m-patel/rest-api';\n\nconst port: number = Number(process.env.PORT) || 3000;\n\nrunApp(app, { port });\n```\n\nFor a test example, please refer to `tests/restApiApp.ts`.\n","readmeFilename":"readme.md"}