{"_id":"2ex","_rev":"4-70d6006077fb2e905d3855824ce95e5a","name":"2ex","description":"An opinionated express application framework","dist-tags":{"latest":"1.0.0-3"},"versions":{"1.0.0-0":{"name":"2ex","version":"1.0.0-0","description":"An opinionated express application framework","main":"index.js","scripts":{"test":"standard && mocha","prepublish":"npm test","postpublish":"git push && git push --tags"},"keywords":["express","framework","service oriented architecture","microservices"],"author":{"name":"Wes","email":"wes@wesleytodd.com"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/wesleytodd/2ex.git"},"peerDependencies":{"express":">=4 || >=5"},"devDependencies":{"express":"^5.0.0-alpha.6","happiness":"^10.0.2","mocha":"^4.0.1","standard":"^10.0.3"},"dependencies":{"commander":"^2.11.0","cookie-parser":"^1.4.3","import-lazy":"^3.0.0","loggerr":"^1.9.0","node-bash-title":"0.0.2","run-parallel":"^1.1.6","runnable":"^3.0.0"},"gitHead":"3d5dc80ceefb4624558d0b57db43f0e77914ac30","bugs":{"url":"https://github.com/wesleytodd/2ex/issues"},"homepage":"https://github.com/wesleytodd/2ex#readme","_id":"2ex@1.0.0-0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"wesleytodd","email":"wes@wesleytodd.com"},"dist":{"integrity":"sha512-tb4DbPt8/VdR41PHiK1kuwABiBqutgbIIdiqvvkixgLWuKvVSN7moE+2cqhM2hGdicl1rULzI+i7yqBUSyPXIQ==","shasum":"20f1831938724a4aae567f896b71a7fe86015165","tarball":"https://registry.npmjs.org/2ex/-/2ex-1.0.0-0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHM0cuStFPcfDT5IclRtPDSnr8HEvo8BcqUDG7NBUq+wIhAP14N0dfjfKDXeyQIWRilOEHQ+SZxUDSiHdd4Jgszoe9"}]},"maintainers":[{"name":"wesleytodd","email":"wes@wesleytodd.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2ex-1.0.0-0.tgz_1517295463114_0.35051089338958263"},"directories":{}},"1.0.0-1":{"name":"2ex","version":"1.0.0-1","description":"An opinionated express application framework","main":"index.js","scripts":{"test":"standard && mocha","prepublishOnly":"npm test","postpublish":"git push && git push --tags"},"keywords":["express","framework"],"author":{"name":"Wes Todd","email":"wes@wesleytodd.com"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/wesleytodd/2ex.git"},"devDependencies":{"mocha":"^4.0.1","standard":"^10.0.3","supertest":"^3.3.0"},"dependencies":{"body-parser":"^1.18.3","cookie-parser":"^1.4.3","express":"^5.0.0-alpha.7","node-bash-title":"0.0.2","response-time":"^2.3.2"},"gitHead":"dade32de35bc0e4660467755640afa2d4c9eb020","bugs":{"url":"https://github.com/wesleytodd/2ex/issues"},"homepage":"https://github.com/wesleytodd/2ex#readme","_id":"2ex@1.0.0-1","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"wesleytodd","email":"wes@wesleytodd.com"},"dist":{"integrity":"sha512-8YrHSGd7BtEjr1fG/fhUmCnyH/k0uuZZNvPkfJRAa8nCWj4J1Q/qGipDpE2ICgPWnlmqmyntzbw/6QsZA0BKSg==","shasum":"7a33cb306e484fff7d138bd2dbaece7909dedda1","tarball":"https://registry.npmjs.org/2ex/-/2ex-1.0.0-1.tgz","fileCount":4,"unpackedSize":6775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcB4L+CRA9TVsSAnZWagAAAUYP/Rq0pHicPZ+8HMEnZKKf\n6u0nCNy3UFjbK73hSd/9maN1K0VNHTSqvOrfPs5NUhw8dE5zzV6Xqs6DF77H\nIWCI/b7bsUvTDazJlnhfZ64SRltdUDHePEIQzNaxL0BPnOHwlpg1/odMEsbw\niUQYrwqVmkLsdfaSPPXh9UYqflig/X4vTdhM+f0YrLT7oVSOudELBQe0n/hR\nMeHEkZu1njAthtHuHtDodYqmnqTo7IuPm7DOrh5wbPJvjJ6dxfqztXAvfEuh\n9qB1CrX17YTFkrPhTXyyNzLb+uV/EpkNTw0vDDAu1FS7HjGeUr3h1ETxazcl\n7GNrd00TWmPJ2OzDUICiLasWR8ovSTk3ALOFx9TtM77RUexNqbzINmS19lto\nJWVuJS87Yy9UvoFc1M1uHioYUqZ0u93hM8dXtFUD4LKyZSr/p7KELNREng5y\ntCMn8pl1CqiFIX67mZHn5BOaJd0QjQ39KMAegic58GifVKksuu2GulXcYhbO\nhP7dSFoSWHi6Ab0gmGKc6oDF/8YIYdEVeJO3sq5GK4hDfL0/0XOKs7zxv4Jt\nR46Gqd3RVL5aib8Sb6NdDlGPoWcPfixYVWzVJfPmt11zry8PrWSg3HiQTL1s\nl8NWJ3y9TrlokATfgiZqqVcEgNg3eEhVFkMIExLB32bPeQYJ4aoRiE39MpJV\nD2+k\r\n=ZVLt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBh5g4Y2GwbSAu+lYk/O3jgQqs5lCpl5loFZ9kNIDVyyAiEAysxmTtqg3L+2z952l289cI0pvgYXje0oP011YGqxpDM="}]},"maintainers":[{"name":"wesleytodd","email":"wes@wesleytodd.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2ex_1.0.0-1_1543996157836_0.6486436693875861"},"_hasShrinkwrap":false},"1.0.0-2":{"name":"2ex","version":"1.0.0-2","description":"An opinionated express application framework","main":"index.js","scripts":{"test":"standard && mocha","prepublishOnly":"npm test","postpublish":"git push && git push --tags"},"keywords":["express","framework"],"author":{"name":"Wes Todd","email":"wes@wesleytodd.com"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/wesleytodd/2ex.git"},"devDependencies":{"mocha":"^4.0.1","standard":"^10.0.3","supertest":"^3.3.0"},"dependencies":{"body-parser":"^1.18.3","cookie-parser":"^1.4.3","express":"^5.0.0-alpha.7","node-bash-title":"0.0.2","response-time":"^2.3.2"},"gitHead":"2c39e663dec13a59f4604333ab8174f67c5d58ad","bugs":{"url":"https://github.com/wesleytodd/2ex/issues"},"homepage":"https://github.com/wesleytodd/2ex#readme","_id":"2ex@1.0.0-2","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"wesleytodd","email":"wes@wesleytodd.com"},"dist":{"integrity":"sha512-yp53Pwyzvtgt4ABx9A7qoZ8mls6CTG4nB0Oobf8kKt+P5KttpOPOkJjNOx41wXI3EpUeOCTat3jAdFoglDuzRA==","shasum":"f9f77dc9d180a109e4be69857544e78ceae82c31","tarball":"https://registry.npmjs.org/2ex/-/2ex-1.0.0-2.tgz","fileCount":4,"unpackedSize":7058,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCFd9CRA9TVsSAnZWagAA83AP/0IY7QSozxDgveKbLDQr\nycAsrcXb8SuhzBWQxedTHs5Nfdg+8AX5A8EeRXQT5zgMuF+mNrPFqu+xhQlx\nFS6Gf2LziP2/WqpTShFH0u9Qsi7kedL8Vr+a/MTrn4wL35boskE+GlkKp2Ei\nn4ZY4JS/ReySQnwIQEVRMxgMqNvORu3sZ+PV+GadG7vtlSLHC0WFi47J6qIZ\neBgRkBnfP/1G9MkUAEBouLPspuJU/e6Z+sYqhvg6R+w7aBbIiu42sx5B0Gt9\n4SmUfE0hg5pAn95OHXRZKjnjIpeG9l70we8Lx9HjdHgTZ8BsUSvGnYhRDPcw\n21e9SUCAPxMtMsjfWrgh069eHfYXU7Ma8NQH9OAA+lNc6bPMkU5+C84+G+wG\neA1nIICsuJKd17Ruv+H58njmDNzB3R0f9MgINGtPAgZJdFE4o4+3il4W3ckj\nuJ9LT0VL58dOsuLRSMf4V6EIlB/aym7yQn6CciuAk+MY9ZY5dbCbxo4+oVXz\nYKFKVvdu++5fzIwmLlVS1D49BuwhbYnyW+/0HH2pia8RE5tYgGKRI8+2VjpT\nFzn45WcWXUDJnE9g127wpnnhCEB59Qh/wX7bPgHemll80G+tvqBGk8aRlGeo\nh+5HsNyF3vmRbOvOyNJ6dCcBffrHnTEQBE5gBjkI5vpo5Sb4Wd6E/rTQKYGN\nz2hi\r\n=GE1G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4ufHKARNP9eftXNpjK0h5IeVBeboY6qW3ZiVnWJ3AgwIhAKD4QN7x4H+Ts+qgXgliokQD1wD50I1mKn9v4fdttB1q"}]},"maintainers":[{"name":"wesleytodd","email":"wes@wesleytodd.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2ex_1.0.0-2_1544050556778_0.8999791925986311"},"_hasShrinkwrap":false},"1.0.0-3":{"name":"2ex","version":"1.0.0-3","description":"An opinionated express application framework","main":"index.js","scripts":{"test":"standard && mocha","prepublishOnly":"npm test","postpublish":"git push && git push --tags"},"keywords":["express","framework"],"author":{"name":"Wes Todd","email":"wes@wesleytodd.com"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/wesleytodd/2ex.git"},"devDependencies":{"mocha":"^4.0.1","standard":"^10.0.3","supertest":"^3.3.0"},"dependencies":{"body-parser":"^1.18.3","cookie-parser":"^1.4.3","express":"^5.0.0-alpha.7","node-bash-title":"0.0.2","response-time":"^2.3.2"},"gitHead":"fe4b170ef743fe7161328686fab0d147ef0199cd","bugs":{"url":"https://github.com/wesleytodd/2ex/issues"},"homepage":"https://github.com/wesleytodd/2ex#readme","_id":"2ex@1.0.0-3","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"wesleytodd","email":"wes@wesleytodd.com"},"dist":{"integrity":"sha512-b+GQjQg8OBghUc8DfjT/+y4vPds1ulXBkZ6z9ImkbA7VzzjG4qZWobPCa5wC6PXCLrYpbyscH30V5pQIsgXyZA==","shasum":"5615f23e99dceaf1ea6930a2f38c940a93daf5c4","tarball":"https://registry.npmjs.org/2ex/-/2ex-1.0.0-3.tgz","fileCount":4,"unpackedSize":7038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCH2XCRA9TVsSAnZWagAAcpEQAJyQf3qAv0v94jYQWyus\ng39LlEbyhhyPYQ9GwyOw0zaVBiO5G7iZDW1TMyxvhwMYRG+73hEV3GgdTxMg\nFG0soJnIwwzSSssK6Zex56uRwStF4c/SRB2sp6+TB6REBAloCTiT+KkvTslo\nAoEa0ak/8m8CkbvapegKGymGYxz3s0IUM/v/3gTByQ2hf4PgdvhI2pGLndjn\nGukwUF/NrMW2lMLBtl4koV3wN1i5Zo6DNv3VVvz+/l1q/tr8tqPpztOGAC/R\nCNfYtIe1+CMVb3rD2hOL9uWq8KDVqg2TKHPMllBRwwGR+l1YF3ba80R8DE1k\nf0NEALHZ1h5gWUJez4fnhVuvhHBiH1d7EkgWjOme+37+Il/8G6WdSV+kuRQ+\nkRv3I2JZIxaZ+qQCpi+ov+V6bLyJyTTbcDgAI//evbEP/ApMq60xn2PSK5IH\nmTRYK6qaAdTwpkEzlOY8Z5a+1ECRVOATux6qSGqV0qkmWwNkrB9862RcYtut\n4q51uqvYkfLX9O85eLry1yb4VRuhUop7/HTE0g2LtvZb/3jKr3SihrZQBmNA\n/WG77qtgehLSOptyO9D0AMtSc6kRqI05pBk6ocRxV0Z3ryFgBEK3SQrIRILm\neuPfD7NzKjGfAVBLP/n1a7azK7aghXF69Fo2qK6dcBi5lm+atnC5X5h2fAfE\ntEPf\r\n=ujzC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCld4j0NBQ1C6ndDvo3u0sDDsXM7KOkM4r5IQgzCUA2XAIgb/TnqATr1C881+AzQLcYlAoqUn/XNVYf0fu24t4FBLE="}]},"maintainers":[{"name":"wesleytodd","email":"wes@wesleytodd.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2ex_1.0.0-3_1544060310660_0.5055222403341548"},"_hasShrinkwrap":false}},"readme":"# 2ex (pronounced 2X)\n\n[![NPM Version](https://img.shields.io/npm/v/2ex.svg)](https://npmjs.org/package/2ex)\n[![NPM Downloads](https://img.shields.io/npm/dm/2ex.svg)](https://npmjs.org/package/2ex)\n[![Build Status](https://travis-ci.org/wesleytodd/2ex.svg?branch=master)](https://travis-ci.org/wesleytodd/2ex)\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/standard/standard)\n\nA semi-opinionated framework for setting up Express apps.\n\n## Install\n\n```\n$ npm install --save 2ex\n```\n\n## Usage\n\n```javascript\nconst createApp = require('2ex')\n\nconst runApp = createApp((app, opts = {}) => {\n  // Handle app errors\n  app.on('error', console.error)\n\n  // Load in your routes\n  app.get('/', (req, res) => {\n    res.send(`Hello ${opts.message}!`)\n  })\n})\n\n// Start the app\nrunApp({\n  port: 8080,\n  message: 'World'\n}).then(({ app, server }) => {\n  const addr = server.address()\n  console.log(`Server started at http://${app.get('host')}:${addr.port}`)\n})\n```\n\n## What does it do?\n\nThis package sets up common requirements for running an Express app in production\nwith the goal of reducing boilerplate in your applications.  Here is a list of some of those things:\n\n- Uses next gen Express (`5.0.0-alpha.7` at the time of publishing this)\n  - See [the GitHub PR for 5.0](https://github.com/expressjs/express/pull/2237) for details\n  - New and improved `path-to-regex`\n  - Router with basic promise support\n- Express app settings\n  - Remove `x-powered-by` header\n  - Sets query string parsing to `simple` (faster, more secure, planned default for 5.0)\n- Set process title (nice for identifying your server process)\n- Catch, report and exit on `uncaughtException` and `unhandledRejection`\n- Handle and report server `clientError`s\n- Parses JSON bodies\n- Parses cookies (off by default, turn on by passing `options.parseCookies`\n","maintainers":[{"name":"wesleytodd","email":"wes@wesleytodd.com"}],"time":{"modified":"2022-04-04T10:19:05.859Z","created":"2018-01-30T06:57:43.169Z","1.0.0-0":"2018-01-30T06:57:43.169Z","1.0.0-1":"2018-12-05T07:49:17.943Z","1.0.0-2":"2018-12-05T22:55:56.983Z","1.0.0-3":"2018-12-06T01:38:30.816Z"},"homepage":"https://github.com/wesleytodd/2ex#readme","keywords":["express","framework"],"repository":{"type":"git","url":"git+https://github.com/wesleytodd/2ex.git"},"author":{"name":"Wes Todd","email":"wes@wesleytodd.com"},"bugs":{"url":"https://github.com/wesleytodd/2ex/issues"},"license":"ISC","readmeFilename":"README.md"}