{"_id":"polka","_rev":"924940","name":"polka","description":"A micro web server so fast, it'll make you dance! :dancers:","dist-tags":{"latest":"0.5.2","next":"1.0.0-next.28"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"time":{"modified":"2025-09-01T01:43:03.000Z","created":"2017-02-08T08:56:51.613Z","1.0.0-next.28":"2024-09-19T13:51:15.898Z","1.0.0-next.27":"2024-09-18T04:55:09.940Z","1.0.0-next.25":"2024-03-07T22:32:30.159Z","1.0.0-next.24":"2023-12-04T16:25:04.914Z","1.0.0-next.23":"2023-09-06T18:24:03.801Z","1.0.0-next.22":"2021-10-01T15:10:20.417Z","1.0.0-next.21":"2021-10-01T12:56:21.126Z","1.0.0-next.20":"2021-08-27T07:05:40.992Z","1.0.0-next.19":"2021-08-26T03:26:24.703Z","1.0.0-next.18":"2021-08-26T03:24:21.230Z","1.0.0-next.17":"2021-08-14T00:29:00.061Z","1.0.0-next.16":"2021-08-13T22:09:41.262Z","1.0.0-next.15":"2021-05-24T22:01:12.588Z","1.0.0-next.14":"2021-04-04T18:59:20.345Z","1.0.0-next.13":"2021-03-28T22:23:46.491Z","1.0.0-next.12":"2021-03-28T22:19:42.084Z","1.0.0-next.11":"2020-01-13T14:49:34.274Z","1.0.0-next.10":"2020-01-06T09:12:21.698Z","1.0.0-next.9":"2019-11-21T03:09:30.518Z","1.0.0-next.7":"2019-10-29T06:25:30.999Z","1.0.0-next.6":"2019-08-05T07:49:34.555Z","1.0.0-next.5":"2019-08-05T07:40:35.854Z","1.0.0-next.4":"2019-05-23T06:44:53.342Z","1.0.0-next.3":"2019-05-02T18:30:11.087Z","1.0.0-next.2":"2019-04-23T02:56:59.284Z","1.0.0-next.1":"2019-03-31T00:13:56.255Z","1.0.0-next.0":"2019-03-10T07:41:59.374Z","0.5.2":"2019-02-08T23:09:28.525Z","0.5.1":"2018-09-25T20:55:57.840Z","0.5.0":"2018-09-18T18:17:36.820Z","0.4.0":"2018-05-14T19:43:14.347Z","0.3.4":"2018-02-16T22:18:40.688Z","0.3.3":"2018-02-09T19:08:51.821Z","0.3.2":"2018-02-07T02:02:53.015Z","0.3.1":"2018-02-03T04:24:46.569Z","0.3.0":"2018-01-23T22:00:08.940Z","0.2.3":"2018-01-17T20:34:28.733Z","0.2.2":"2018-01-16T06:36:16.074Z","0.2.1":"2018-01-15T00:24:33.308Z","0.2.0":"2018-01-12T21:53:49.236Z","0.1.0":"2018-01-11T22:44:22.103Z","0.0.0":"2017-02-08T08:56:51.613Z"},"users":{"drewigg":true,"modood":true},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"repository":{"type":"git","url":"https://github.com/lukeed/polka.git"},"versions":{"1.0.0-next.28":{"name":"polka","version":"1.0.0-next.28","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","exports":{".":{"import":{"types":"./index.d.mts","default":"./build.mjs"},"require":{"types":"./index.d.ts","default":"./build.js"}},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"dependencies":{"@polka/url":"^1.0.0-next.21","trouter":"^4.0.0"},"_id":"polka@1.0.0-next.28","readmeFilename":"readme.md","gitHead":"895ffb96945c4d40e62205bfc6897f5bfc76700e","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"shasum":"6e6e332c387e312dc91ef5865af7f85ca8542752","size":10429,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.28.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.28.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.28_1726753875714_0.3453134676079894"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-09-19T13:51:15.898Z","publish_time":1726753875898,"_source_registry_name":"default","_cnpm_publish_time":1726753875898},"1.0.0-next.27":{"name":"polka","version":"1.0.0-next.27","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","exports":{".":{"import":{"types":"./index.d.mts","default":"./build.mjs"},"require":{"types":"./index.d.ts","default":"./build.js"}},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"dependencies":{"@polka/url":"^1.0.0-next.21","trouter":"^4.0.0"},"_id":"polka@1.0.0-next.27","readmeFilename":"readme.md","gitHead":"e682cf069743248f53ae26ad583735cabd2e8529","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"shasum":"c9b43c585287c93df0235c6f2362ab7d9426962d","size":10430,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.27.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.27.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.27_1726635309760_0.2543658479021531"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-09-18T04:55:09.940Z","publish_time":1726635309940,"_source_registry_name":"default","_cnpm_publish_time":1726635309940},"1.0.0-next.25":{"name":"polka","version":"1.0.0-next.25","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","exports":{".":{"import":{"types":"./index.d.mts","default":"./build.mjs"},"require":{"types":"./index.d.ts","default":"./build.js"}},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"dependencies":{"@polka/url":"^1.0.0-next.21","trouter":"^4.0.0"},"_id":"polka@1.0.0-next.25","readmeFilename":"readme.md","gitHead":"eba0aaff89c8b0765dcc89b23f738399c5edff5e","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"shasum":"5808c9fd2106e76617c372e8ba40f6238e799cd3","size":10406,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.25.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.25.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.25_1709850750010_0.2660830685781175"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-03-07T22:32:30.159Z","publish_time":1709850750159,"_source_registry_name":"default","_cnpm_publish_time":1709850750159},"1.0.0-next.24":{"name":"polka","version":"1.0.0-next.24","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","exports":{".":{"import":{"types":"./index.d.mts","default":"./build.mjs"},"require":{"types":"./index.d.ts","default":"./build.js"}},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"dependencies":{"@polka/url":"^1.0.0-next.21","trouter":"^4.0.0"},"_id":"polka@1.0.0-next.24","readmeFilename":"readme.md","gitHead":"b7a236f2b5490b296a14f8423c1dfbc35c060ac7","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_nodeVersion":"20.8.1","_npmVersion":"10.1.0","dist":{"shasum":"6197e7f0d99d2622663d3ad327febd8320cafddf","size":10335,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.24.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.24.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.24_1701707104700_0.38868851689416006"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-12-04T16:25:04.914Z","publish_time":1701707104914,"_source_registry_name":"default","_cnpm_publish_time":1701707104914},"1.0.0-next.23":{"name":"polka","version":"1.0.0-next.23","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","exports":{".":{"types":"./index.d.ts","import":"./build.mjs","require":"./build.js"},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"dependencies":{"@polka/url":"^1.0.0-next.21","trouter":"^3.1.0"},"readmeFilename":"readme.md","gitHead":"8fb37d8e63344ce3a537025ba2fbb4245ef853b3","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.23","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"shasum":"04552865f26fa513ff2b651387e5c2da433471c1","size":10096,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.23.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.23.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.23_1694024643616_0.7123913376386877"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-06T18:24:03.801Z","publish_time":1694024643801,"_source_registry_name":"default","_cnpm_publish_time":1694024643801},"1.0.0-next.22":{"name":"polka","version":"1.0.0-next.22","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","exports":{".":{"import":"./build.mjs","require":"./build.js"},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"dependencies":{"@polka/url":"^1.0.0-next.21","trouter":"^3.1.0"},"gitHead":"ce5f91b3a2b8771b225d6e257496164d7f5366fa","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.22","_nodeVersion":"16.9.1","_npmVersion":"lerna/3.13.4/node@v16.9.1+x64 (darwin)","dist":{"shasum":"3c25659a401608cf437732f292baf481dc6ec16e","size":10835,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.22.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.22.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.22_1633101020258_0.49369535877197035"},"_hasShrinkwrap":false,"publish_time":1633101020417,"_cnpm_publish_time":1633101020417},"1.0.0-next.21":{"name":"polka","version":"1.0.0-next.21","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","exports":{".":{"import":"./build.mjs","require":"./build.js"},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"dependencies":{"@polka/url":"^1.0.0-next.21","trouter":"^3.1.0"},"gitHead":"8d6e31871225f4449e645ecba13de7014f772b34","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.21","_nodeVersion":"16.9.1","_npmVersion":"lerna/3.13.4/node@v16.9.1+x64 (darwin)","dist":{"shasum":"a7d7b8e6ff0e1e4d83d98d9600a5a0f46d37b02f","size":10806,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.21.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.21.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.21_1633092980968_0.8639429002473529"},"_hasShrinkwrap":false,"publish_time":1633092981126,"_cnpm_publish_time":1633092981126},"1.0.0-next.20":{"name":"polka","version":"1.0.0-next.20","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","exports":{".":{"import":"./build.mjs","require":"./build.js"},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"dependencies":{"@polka/url":"^1.0.0-next.20","trouter":"^3.1.0"},"gitHead":"daa2c85fac5d5ac06d7c678018cc55eed00ae95a","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.20","_nodeVersion":"16.8.0","_npmVersion":"lerna/3.13.4/node@v16.8.0+x64 (darwin)","dist":{"shasum":"c68b0eba5d36ceb08d97d060ef878f07533fbba4","size":10811,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.20.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.20.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.20_1630047940783_0.23446922541935944"},"_hasShrinkwrap":false,"publish_time":1630047940992,"_cnpm_publish_time":1630047940992},"1.0.0-next.19":{"name":"polka","version":"1.0.0-next.19","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","exports":{".":{"import":"./build.mjs","require":"./build.js"},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"dependencies":{"@polka/url":"^1.0.0-next.19","trouter":"^3.1.0"},"gitHead":"6ac64983eeb35a67c483949e08f356e46569803c","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.19","_nodeVersion":"16.6.2","_npmVersion":"lerna/3.13.4/node@v16.6.2+x64 (darwin)","dist":{"shasum":"349a3c33abaccc8cbb660a9b35d4bc1d4546d343","size":10811,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.19.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.19.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.19_1629948384431_0.07286369174930662"},"_hasShrinkwrap":false,"publish_time":1629948384703,"_cnpm_publish_time":1629948384703},"1.0.0-next.18":{"name":"polka","version":"1.0.0-next.18","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","exports":{".":{"import":"./build.mjs","require":"./build.js"},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"dependencies":{"@polka/url":"^1.0.0-next.18","trouter":"^3.1.0"},"gitHead":"765e0b2e888f210b869e9584b31af6e876ccfdc4","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.18","_nodeVersion":"16.6.2","_npmVersion":"lerna/3.13.4/node@v16.6.2+x64 (darwin)","dist":{"shasum":"a9c57ed33912e4d81eb338dc283e0ab180299470","size":10811,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.18.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.18.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.18_1629948261072_0.09634947096636015"},"_hasShrinkwrap":false,"publish_time":1629948261230,"_cnpm_publish_time":1629948261230},"1.0.0-next.17":{"name":"polka","version":"1.0.0-next.17","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","exports":{".":{"import":"./build.mjs","require":"./build.js"},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"dependencies":{"@polka/url":"^1.0.0-next.17","trouter":"^3.1.0"},"gitHead":"e0a65c781b763f7421f1a64d4166b3911f4d20e9","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.17","_nodeVersion":"14.15.3","_npmVersion":"lerna/3.13.4/node@v14.15.3+x64 (darwin)","dist":{"shasum":"1820a8bfdc09b904d352bfac95c466e8f899509a","size":10810,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.17.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.17.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.17_1628900939930_0.6263257699207476"},"_hasShrinkwrap":false,"publish_time":1628900940061,"_cnpm_publish_time":1628900940061},"1.0.0-next.16":{"name":"polka","version":"1.0.0-next.16","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","exports":{".":{"import":"./build.mjs","require":"./build.js"},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"dependencies":{"@polka/url":"^1.0.0-next.15","trouter":"^3.1.0"},"gitHead":"5771c50f45c95021a88971cfafad29be055c071b","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.16","_nodeVersion":"14.15.3","_npmVersion":"lerna/3.13.4/node@v14.15.3+x64 (darwin)","dist":{"shasum":"40139691f831e2ad126ad79e08894c1181646176","size":10812,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.16.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.16.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.16_1628892581111_0.8115792416489147"},"_hasShrinkwrap":false,"publish_time":1628892581262,"_cnpm_publish_time":1628892581262},"1.0.0-next.15":{"name":"polka","version":"1.0.0-next.15","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","exports":{".":{"import":"./build.mjs","require":"./build.js"},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"dependencies":{"@polka/url":"^1.0.0-next.15","trouter":"^3.1.0"},"gitHead":"e0e131dd28b03e26652a96b9a1428c017209e187","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.15","_nodeVersion":"14.15.3","_npmVersion":"lerna/3.13.4/node@v14.15.3+x64 (darwin)","dist":{"shasum":"04190847b4bc598261755a29c51872ea8259cc77","size":10705,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.15.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.15.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.15_1621893672429_0.0027576999196325946"},"_hasShrinkwrap":false,"publish_time":1621893672588,"_cnpm_publish_time":1621893672588},"1.0.0-next.14":{"name":"polka","version":"1.0.0-next.14","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=6"},"dependencies":{"@polka/url":"^1.0.0-next.12","trouter":"^3.1.0"},"gitHead":"37bd282a93f731db9cfdad93f50e76759a212e44","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.14","_nodeVersion":"14.15.3","_npmVersion":"lerna/3.13.4/node@v14.15.3+x64 (darwin)","dist":{"shasum":"58afc40fb3380d86bf6a6385b187e25c44bb3eba","size":10669,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.14.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.14.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.14_1617562760172_0.09289588312425501"},"_hasShrinkwrap":false,"publish_time":1617562760345,"_cnpm_publish_time":1617562760345},"1.0.0-next.13":{"name":"polka","version":"1.0.0-next.13","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=6"},"dependencies":{"@polka/url":"^1.0.0-next.12","trouter":"^3.1.0"},"readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.13","_nodeVersion":"14.15.3","_npmVersion":"6.14.9","dist":{"shasum":"56f952b29bf2d4f0ab38b5d32a775e35235437db","size":9949,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.13.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.13_1616970226325_0.3645239891049439"},"_hasShrinkwrap":false,"publish_time":1616970226491,"_cnpm_publish_time":1616970226491},"1.0.0-next.12":{"name":"polka","version":"1.0.0-next.12","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","types":"index.d.ts","main":"build.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=6"},"dependencies":{"@polka/url":"^1.0.0-next.12","trouter":"^3.1.0"},"gitHead":"dc4a3c4b677dda9d38386299e83e84a3220e49c9","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.12","_nodeVersion":"14.15.3","_npmVersion":"lerna/3.13.4/node@v14.15.3+x64 (darwin)","dist":{"shasum":"5b8ecaee0bbaf25e68975995d75b85f27679313f","size":9764,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.12.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.12_1616969981892_0.37823841112955314"},"_hasShrinkwrap":false,"publish_time":1616969982084,"_cnpm_publish_time":1616969982084},"1.0.0-next.11":{"name":"polka","version":"1.0.0-next.11","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","main":"build.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=6"},"dependencies":{"@polka/url":"^1.0.0-next.11","trouter":"^3.1.0"},"gitHead":"4edc74c28fde992eb10e23a6f6f4fd6040ccb34a","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.11","_nodeVersion":"10.13.0","_npmVersion":"lerna/3.13.4/node@v10.13.0+x64 (darwin)","dist":{"shasum":"b1543043c6e5e3c19f6b8f6835b41dfcc13be583","size":10090,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.11.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.11_1578926974135_0.8594060400471297"},"_hasShrinkwrap":false,"publish_time":1578926974274,"_cnpm_publish_time":1578926974274},"1.0.0-next.10":{"name":"polka","version":"1.0.0-next.10","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","main":"build.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=6"},"dependencies":{"@polka/url":"^1.0.0-next.9","trouter":"^3.1.0"},"gitHead":"a5b3fc4fd21ee3b8a123fb9afdc18e7eb1f71e04","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.10","_nodeVersion":"10.13.0","_npmVersion":"lerna/3.13.4/node@v10.13.0+x64 (darwin)","dist":{"shasum":"ab72d9f7c0195886a56000d2c05f9c15ee70c890","size":10108,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.10.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.10_1578301941493_0.12557691805994353"},"_hasShrinkwrap":false,"publish_time":1578301941698,"_cnpm_publish_time":1578301941698},"1.0.0-next.9":{"name":"polka","version":"1.0.0-next.9","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","main":"build.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=6"},"dependencies":{"@polka/url":"^1.0.0-next.9","trouter":"^3.1.0"},"gitHead":"5c8f314e57c1edb3132f2556ce13fb6c2b4e839b","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.9","_nodeVersion":"10.13.0","_npmVersion":"lerna/3.13.4/node@v10.13.0+x64 (darwin)","dist":{"shasum":"04a6627c4149c283e8fa8f855178ba6401b51053","size":10043,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.9.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.9_1574305770342_0.5955465751487983"},"_hasShrinkwrap":false,"publish_time":1574305770518,"_cnpm_publish_time":1574305770518},"1.0.0-next.7":{"name":"polka","version":"1.0.0-next.7","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"build.mjs","main":"build.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=6"},"dependencies":{"@polka/url":"^1.0.0-next.7","trouter":"^3.1.0"},"gitHead":"60d0e15ad0fa36b0331fc5e4707dd409982f9824","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.7","_nodeVersion":"12.13.0","_npmVersion":"lerna/3.13.4/node@v12.13.0+x64 (darwin)","dist":{"shasum":"6ee6ccb2bed7bd87bc02c5513dcd507b12a36504","size":10041,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.7.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.7_1572330330841_0.7480129391692201"},"_hasShrinkwrap":false,"publish_time":1572330330999,"_cnpm_publish_time":1572330330999},"1.0.0-next.6":{"name":"polka","version":"1.0.0-next.6","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"index.mjs","main":"index.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"engines":{"node":">=6"},"dependencies":{"@polka/url":"^1.0.0-next.3","trouter":"^3.1.0"},"gitHead":"c021b2461921868d22610124570c1f2dda919832","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.6","_nodeVersion":"10.13.0","_npmVersion":"lerna/3.13.4/node@v10.13.0+x64 (darwin)","dist":{"shasum":"3eaf9f73950621d483ebe20b5ea6b17b74943147","size":10026,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.6.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.6_1564991374334_0.40339929011286224"},"_hasShrinkwrap":false,"publish_time":1564991374555,"_cnpm_publish_time":1564991374555},"1.0.0-next.5":{"name":"polka","version":"1.0.0-next.5","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"index.mjs","main":"index.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"@polka/url":"^1.0.0-next.3","trouter":"^3.1.0"},"gitHead":"faa9cff561a59b7a9b24c1775e5acc2d5780091a","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.5","_nodeVersion":"10.13.0","_npmVersion":"lerna/3.13.4/node@v10.13.0+x64 (darwin)","dist":{"shasum":"e64822fd7a71e9ac2679030c04046fef80a275c7","size":9922,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.5.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.5_1564990835709_0.329697590766064"},"_hasShrinkwrap":false,"publish_time":1564990835854,"_cnpm_publish_time":1564990835854},"1.0.0-next.4":{"name":"polka","version":"1.0.0-next.4","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"index.mjs","main":"index.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"@polka/url":"^1.0.0-next.3","trouter":"^3.0.2"},"gitHead":"bb9187156b6cdffedb2147456d9e6127333e4900","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.4","_nodeVersion":"10.13.0","_npmVersion":"lerna/3.13.4/node@v10.13.0+x64 (darwin)","dist":{"shasum":"02c8ce0a9ac37034ff52f1b1b057d7e17cc685bf","size":9972,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.4.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.4_1558593893071_0.988830612194441"},"_hasShrinkwrap":false,"publish_time":1558593893342,"_cnpm_publish_time":1558593893342},"1.0.0-next.3":{"name":"polka","version":"1.0.0-next.3","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","module":"index.mjs","main":"index.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"@polka/url":"^1.0.0-next.3","trouter":"^3.0.2"},"gitHead":"602086f1f4f1a6103e0589b04b69f8b4d934f0fc","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.3","_nodeVersion":"10.13.0","_npmVersion":"lerna/3.13.4/node@v10.13.0+x64 (darwin)","dist":{"shasum":"6018d791ebae67ed86317c3a00ecd2c2ebd24d49","size":9970,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.3.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.3_1556821810872_0.261414785154811"},"_hasShrinkwrap":false,"publish_time":1556821811087,"_cnpm_publish_time":1556821811087},"1.0.0-next.2":{"name":"polka","version":"1.0.0-next.2","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"@polka/url":"^1.0.0-next.1","trouter":"^3.0.1"},"gitHead":"5fc9c6e7dee2da250014ed119cb9f6c5480b5ead","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.2","_nodeVersion":"10.13.0","_npmVersion":"lerna/3.13.1/node@v10.13.0+x64 (darwin)","dist":{"shasum":"277be7e6dbc7e224d42b122912da613e33ad6f16","size":9849,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.2.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.2_1555988219127_0.754060563488754"},"_hasShrinkwrap":false,"publish_time":1555988219284,"_cnpm_publish_time":1555988219284},"1.0.0-next.1":{"name":"polka","version":"1.0.0-next.1","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"@polka/url":"^1.0.0-next.1","trouter":"^3.0.0"},"gitHead":"8d32406bd3fa924b648df3e67ed32da502293904","readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.1","_nodeVersion":"10.13.0","_npmVersion":"lerna/3.13.1/node@v10.13.0+x64 (darwin)","dist":{"shasum":"cddbe0ef2dbf6b47cc31c318ca3fa8f171b2a285","size":9866,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.1.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.1_1553991236151_0.9149582467123603"},"_hasShrinkwrap":false,"publish_time":1553991236255,"_cnpm_publish_time":1553991236255},"1.0.0-next.0":{"name":"polka","version":"1.0.0-next.0","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"description":"A micro web server so fast, it'll make you dance! :dancers:","license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"@polka/url":"^1.0.0-next.0","trouter":"^3.0.0"},"readmeFilename":"readme.md","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@1.0.0-next.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"f728be291c4757cce9e71e1d7b6df161a7a94d96","size":9157,"noattachment":false,"key":"/polka/-/polka-1.0.0-next.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-1.0.0-next.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_1.0.0-next.0_1552203719184_0.5657306724655413"},"_hasShrinkwrap":false,"publish_time":1552203719374,"_cnpm_publish_time":1552203719374},"0.5.2":{"name":"polka","version":"0.5.2","description":"A micro web server so fast, it'll make you dance! :dancers:","repository":{"type":"git","url":"https://github.com/lukeed/polka.git"},"license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"@polka/url":"^0.5.0","trouter":"^2.0.1"},"_id":"polka@0.5.2","dist":{"shasum":"588bee0c5806dbc6c64958de3a1251860e9f2e26","size":9587,"noattachment":false,"key":"/polka/-/polka-0.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.5.2.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_0.5.2_1549667368411_0.3862562177949662"},"_hasShrinkwrap":false,"publish_time":1549667368525,"_cnpm_publish_time":1549667368525},"0.5.1":{"name":"polka","version":"0.5.1","description":"A micro web server so fast, it'll make you dance! :dancers:","repository":{"type":"git","url":"https://github.com/lukeed/polka.git"},"license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"@polka/url":"^0.5.0","trouter":"^2.0.1"},"_id":"polka@0.5.1","dist":{"shasum":"989a45b89a2ab9e3618f54b5720f37946a923891","size":9597,"noattachment":false,"key":"/polka/-/polka-0.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.5.1.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_0.5.1_1537908957658_0.6883578895546136"},"_hasShrinkwrap":false,"publish_time":1537908957840,"_cnpm_publish_time":1537908957840},"0.5.0":{"name":"polka","version":"0.5.0","description":"A micro web server so fast, it'll make you dance! :dancers:","repository":{"type":"git","url":"https://github.com/lukeed/polka.git"},"license":"MIT","author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"@polka/url":"^0.5.0","trouter":"^2.0.1"},"_id":"polka@0.5.0","dist":{"shasum":"74407e17593d6d36185c91fe1267ed861236e9c6","size":9478,"noattachment":false,"key":"/polka/-/polka-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.5.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_0.5.0_1537294656529_0.39714328878732497"},"_hasShrinkwrap":false,"publish_time":1537294656820,"_cnpm_publish_time":1537294656820},"0.4.0":{"name":"polka","version":"0.4.0","description":"A micro web server so fast, it'll make you dance! :dancers:","repository":{"type":"git","url":"https://github.com/lukeed/polka.git"},"license":"MIT","files":["*.js"],"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"parseurl":"^1.3.2","trouter":"^1.1.0"},"_id":"polka@0.4.0","dist":{"shasum":"453fc513cd530a089dd55d8ff3daea9752f161df","size":8177,"noattachment":false,"key":"/polka/-/polka-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.4.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_0.4.0_1526326994270_0.37086484243443985"},"_hasShrinkwrap":false,"publish_time":1526326994347,"_cnpm_publish_time":1526326994347},"0.3.4":{"name":"polka","version":"0.3.4","description":"A micro web server so fast, it'll make you dance! :dancers:","repository":{"type":"git","url":"https://github.com/lukeed/polka.git"},"license":"MIT","files":["*.js"],"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"parseurl":"^1.3.2","trouter":"^1.0.0"},"_id":"polka@0.3.4","dist":{"shasum":"685bc3529a4582378853d568aa15d78eb3318eb3","size":7933,"noattachment":false,"key":"/polka/-/polka-0.3.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.3.4.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_0.3.4_1518819520593_0.8713895066632924"},"_hasShrinkwrap":false,"publish_time":1518819520688,"_cnpm_publish_time":1518819520688},"0.3.3":{"name":"polka","version":"0.3.3","description":"A micro web server so fast, it'll make you dance! :dancers:","repository":{"type":"git","url":"https://github.com/lukeed/polka.git"},"license":"MIT","files":["*.js"],"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"parseurl":"^1.3.2","trouter":"^1.0.0"},"_id":"polka@0.3.3","dist":{"shasum":"dd55631c878414d339c2b1b1ee5998d2482750d3","size":7927,"noattachment":false,"key":"/polka/-/polka-0.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.3.3.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_0.3.3_1518203331748_0.1678456671302624"},"_hasShrinkwrap":false,"publish_time":1518203331821,"_cnpm_publish_time":1518203331821},"0.3.2":{"name":"polka","version":"0.3.2","description":"A micro web server so fast, it'll make you dance! :dancers:","repository":{"type":"git","url":"https://github.com/lukeed/polka.git"},"license":"MIT","files":["*.js"],"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"parseurl":"^1.3.2","trouter":"^1.0.0"},"_id":"polka@0.3.2","dist":{"shasum":"39a5774addd2ed08b7daf90a8ce04376ce61c924","size":7872,"noattachment":false,"key":"/polka/-/polka-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.3.2.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka_0.3.2_1517968971896_0.12834376975215855"},"_hasShrinkwrap":false,"publish_time":1517968973015,"_cnpm_publish_time":1517968973015},"0.3.1":{"name":"polka","version":"0.3.1","description":"A micro web server so fast, it'll make you dance! :dancers:","repository":{"type":"git","url":"https://github.com/lukeed/polka.git"},"license":"MIT","files":["*.js"],"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"parseurl":"^1.3.2","trouter":"^1.0.0"},"_id":"polka@0.3.1","dist":{"shasum":"d4791ef744124a9d962ac4786cdc4ff053f33481","size":7832,"noattachment":false,"key":"/polka/-/polka-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.3.1.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka-0.3.1.tgz_1517631886480_0.6446885894984007"},"directories":{},"publish_time":1517631886569,"_hasShrinkwrap":false,"_cnpm_publish_time":1517631886569},"0.3.0":{"name":"polka","version":"0.3.0","description":"A micro web server so fast, it'll make you dance! :dancers:","repository":{"type":"git","url":"https://github.com/lukeed/polka.git"},"license":"MIT","files":["*.js"],"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"dependencies":{"parseurl":"^1.3.2","trouter":"^1.0.0"},"_id":"polka@0.3.0","dist":{"shasum":"afe5967a5bb9d7e195b63e7ced3123f587608515","size":7779,"noattachment":false,"key":"/polka/-/polka-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.3.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka-0.3.0.tgz_1516744808869_0.9737067874521017"},"directories":{},"publish_time":1516744808940,"_hasShrinkwrap":false,"_cnpm_publish_time":1516744808940},"0.2.3":{"name":"polka","version":"0.2.3","description":"WIP","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"main":"lib/index.js","license":"MIT","files":["lib"],"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"scripts":{"test":"tape test/*.js | tap-spec"},"dependencies":{"parseurl":"^1.3.2","trouter":"^1.0.0"},"devDependencies":{"axios":"^0.17.1","express":"^4.16.2","fastify":"^0.39.1","tap-spec":"^4.1.1","tape":"^4.8.0"},"gitHead":"6b271308d63596ad95dc78d975b6951025e305f0","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@0.2.3","_shasum":"23ed1a590a690a1e7e48bce37b1e28f0a01c556c","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"23ed1a590a690a1e7e48bce37b1e28f0a01c556c","size":7930,"noattachment":false,"key":"/polka/-/polka-0.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.2.3.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka-0.2.3.tgz_1516221268523_0.4617247914429754"},"directories":{},"publish_time":1516221268733,"_hasShrinkwrap":false,"_cnpm_publish_time":1516221268733},"0.2.2":{"name":"polka","version":"0.2.2","description":"WIP","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"main":"lib/index.js","license":"MIT","files":["lib"],"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"scripts":{"test":"tape test/*.js | tap-spec"},"dependencies":{"parseurl":"^1.3.2","trouter":"^1.0.0"},"devDependencies":{"axios":"^0.17.1","express":"^4.16.2","fastify":"^0.39.1","tap-spec":"^4.1.1","tape":"^4.8.0"},"gitHead":"9c6a4706a02d45b79c433e74a3c6d1b1978d96e9","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@0.2.2","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"0d88aca9807a82b49e9b9d517a394e960d728fe0","size":7907,"noattachment":false,"key":"/polka/-/polka-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.2.2.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka-0.2.2.tgz_1516084576013_0.34088591067120433"},"directories":{},"publish_time":1516084576074,"_hasShrinkwrap":false,"_cnpm_publish_time":1516084576074},"0.2.1":{"name":"polka","version":"0.2.1","description":"WIP","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"main":"lib/index.js","license":"MIT","files":["lib"],"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"scripts":{"test":"tape test/*.js | tap-spec"},"dependencies":{"parseurl":"^1.3.2","trouter":"^1.0.0"},"devDependencies":{"axios":"^0.17.1","express":"^4.16.2","tap-spec":"^4.1.1","tape":"^4.8.0"},"gitHead":"f3d4601a9d0e7a6c5141a022bdeac9350cc7f91d","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@0.2.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"5a3560059e0912e629b25fd40442dca884afae44","size":7953,"noattachment":false,"key":"/polka/-/polka-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.2.1.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka-0.2.1.tgz_1515975872905_0.6568761807866395"},"directories":{},"publish_time":1515975873308,"_hasShrinkwrap":false,"_cnpm_publish_time":1515975873308},"0.2.0":{"name":"polka","version":"0.2.0","description":"WIP","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"main":"lib/index.js","license":"MIT","files":["lib"],"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"scripts":{"test":"tape test/*.js | tap-spec"},"dependencies":{"parseurl":"^1.3.2","trouter":"^1.0.0"},"devDependencies":{"axios":"^0.17.1","express":"^4.16.2","tap-spec":"^4.1.1","tape":"^4.8.0"},"gitHead":"4c837d85e1fec397804f2f87a903489a52a9055a","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@0.2.0","_shasum":"c82ec77e25d0abdc393b7e32ecff7c086ee4475b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"c82ec77e25d0abdc393b7e32ecff7c086ee4475b","size":7963,"noattachment":false,"key":"/polka/-/polka-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.2.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka-0.2.0.tgz_1515794029154_0.5060658867005259"},"directories":{},"publish_time":1515794029236,"_cnpm_publish_time":1515794029236,"_hasShrinkwrap":false},"0.1.0":{"name":"polka","version":"0.1.0","description":"WIP","repository":{"type":"git","url":"git+https://github.com/lukeed/polka.git"},"main":"lib/index.js","license":"MIT","files":["lib"],"author":{"name":"Luke Edwards","email":"luke@lukeed.com","url":"https://lukeed.com"},"scripts":{"test":"tape test/*.js | tap-spec"},"dependencies":{"parseurl":"^1.3.2","trouter":"^1.0.0"},"devDependencies":{"axios":"^0.17.1","express":"^4.16.2","tap-spec":"^4.1.1","tape":"^4.8.0"},"gitHead":"ea1834cf3d2befa025c1ad743dff35059ea09501","bugs":{"url":"https://github.com/lukeed/polka/issues"},"homepage":"https://github.com/lukeed/polka#readme","_id":"polka@0.1.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"d5d11762e825b1f85489fe1ec6ac87304d3b5a3d","size":7807,"noattachment":false,"key":"/polka/-/polka-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.1.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polka-0.1.0.tgz_1515710662016_0.49275538488291204"},"directories":{},"publish_time":1515710662103,"_cnpm_publish_time":1515710662103,"_hasShrinkwrap":false},"0.0.0":{"name":"polka","version":"0.0.0","main":"index.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"gitHead":"a9d545e6f321680bcea986fcf942b2d3c493e321","_id":"polka@0.0.0","scripts":{},"_shasum":"80e98b554dbaf9ea87ea5a01964ad785530a1d16","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"80e98b554dbaf9ea87ea5a01964ad785530a1d16","size":232,"noattachment":false,"key":"/polka/-/polka-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/polka/download/polka-0.0.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/polka-0.0.0.tgz_1486544209524_0.9032783817965537"},"directories":{},"publish_time":1486544211613,"_cnpm_publish_time":1486544211613,"_hasShrinkwrap":false}},"readme":"<div align=\"center\">\n  <img src=\"https://github.com/lukeed/polka/raw/master/polka.png\" alt=\"Polka\" width=\"400\" height=\"300\" />\n</div>\n\n<h1 align=\"center\">Polka</h1>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/polka\">\n    <img src=\"https://badgen.now.sh/npm/v/polka\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/polka\">\n    <img src=\"https://badgen.now.sh/travis/lukeed/polka\" alt=\"travis\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/polka\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/polka\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/polka\">\n    <img src=\"https://badgen.now.sh/npm/dm/polka\" alt=\"downloads\" />\n  </a>\n  <a href=\"https://packagephobia.now.sh/result?p=polka\">\n    <img src=\"https://packagephobia.now.sh/badge?p=polka\" alt=\"install size\" />\n  </a>\n</div>\n\n<div align=\"center\">A micro web server so fast, it'll make you dance! :dancers:</div>\n\n<br />\n\nPolka is an extremely minimal, highly performant Express.js alternative. Yes, you're right, Express is _already_ super fast & not _that_ big :thinking: &mdash; but Polka shows that there was (somehow) room for improvement!\n\nEssentially, Polka is just a [native HTTP server](https://nodejs.org/dist/latest-v9.x/docs/api/http.html#http_class_http_server) with added support for routing, middleware, and sub-applications. That's it! :tada:\n\nAnd, of course, in mandatory bullet-point format:\n\n* 33-50% faster than Express for simple applications\n* Middleware support, including Express middleware you already know & love\n* Nearly identical application API & route pattern definitions\n* ~90 LOC for Polka, 120 including [its router](https://github.com/lukeed/trouter)\n\n\n## Install\n\n```\n$ npm install --save polka\n```\n\n## Usage\n\n```js\nconst polka = require('polka');\n\nfunction one(req, res, next) {\n  req.hello = 'world';\n  next();\n}\n\nfunction two(req, res, next) {\n  req.foo = '...needs better demo ????';\n  next();\n}\n\npolka()\n  .use(one, two)\n  .get('/users/:id', (req, res) => {\n    console.log(`~> Hello, ${req.hello}`);\n    res.end(`User: ${req.params.id}`);\n  })\n  .listen(3000, err => {\n    if (err) throw err;\n    console.log(`> Running on localhost:3000`);\n  });\n```\n\n## API\n\nPolka extends [Trouter](https://github.com/lukeed/trouter) which means it inherits its API, too!\n\n### polka(options)\n\nReturns an instance of Polka~!\n\n#### options.server\nType: `Server`<br>\n\nA custom, instantiated server that the Polka instance should attach its [`handler`](#handlerreq-res-parsed) to. This is useful if you have initialized a server elsewhere in your application and want Polka to use _it_ instead of creating a new `http.Server`.\n\nPolka _only_ updates the server when [`polka.listen`](#listen) is called. At this time, Polka will create a [`http.Server`](https://nodejs.org/api/http.html#http_class_http_server) if a server was not already provided via `options.server`.\n\n> **Important:** The `server` key will be `undefined` until `polka.listen` is invoked, unless a server was provided.\n\n#### options.onError\nType: `Function`\n\nA catch-all error handler; executed whenever a middleware throws an error. Change this if you don't like default behavior.\n\nIts signature is `(err, req, res, next)`, where `err` is the `String` or `Error` thrown by your middleware.\n\n> **Caution:** Use `next()` to bypass certain errors **at your own risk!** <br>You must be certain that the exception will be handled elsewhere or _can_ be safely ignored. <br>Otherwise your response will never terminate!\n\n#### options.onNoMatch\nType: `Function`\n\nA handler when no route definitions were matched. Change this if you don't like default behavior, which sends a `404` status & `Not found` response.\n\nIts signature is `(req, res)` and requires that you terminate the response.\n\n\n### use(base, ...fn)\n\nAttach [middleware(s)](#middleware) and/or sub-application(s) to the server. These will execute _before_ your routes' [handlers](#handlers).\n\n**Important:** If a `base` pathname is provided, all functions within the same `use()` block will _only_ execute when the `req.path` matches the `base` path.\n\n#### base\nType: `String`<br>\nDefault: `undefined`\n\nThe base path on which the following middleware(s) or sub-application should be mounted.\n\n#### fn\nType: `Function|Array`\n\nYou may pass one or more functions at a time. Each function must have the standardized `(req, res, next)` signature.\n\nYou may also pass a sub-application, which _must_ be accompanied by a `base` pathname.\n\nPlease see [`Middleware`](#middleware) and [Express' middleware examples](http://expressjs.com/en/4x/api.html#middleware-callback-function-examples) for more info.\n\n\n### parse(req)\n\nReturns: `Object` or `undefined`\n\nAs of `v0.5.0`, this is an alias of the [`@polka/url`](/packages/url) module. For nearly all cases, you'll notice no changes.\n\nBut, for whatever reason, you can quickly swap in [`parseurl`](https://github.com/pillarjs/parseurl) again:\n\n```js\nconst app = polka();\napp.parse = require('parseurl');\n//=> Done!\n```\n\n### listen()\n\nReturns: `Polka`\n\nBoots (or creates) the underlying [`http.Server`](https://nodejs.org/dist/latest-v9.x/docs/api/http.html#http_class_http_server) for the first time. All arguments are passed to [`server.listen`](https://nodejs.org/dist/latest-v9.x/docs/api/net.html#net_server_listen) directly with no changes.\n\nAs of `v0.5.0`, this method no longer returns a Promise. Instead, the current Polka instance is returned directly, allowing for chained operations.\n\n```js\n// Could not do this before 0.5.0\nconst { server, handler } = polka().listen();\n\n// Or this!\nconst app = polka().listen(PORT, onAppStart);\n\napp.use('users', require('./users'))\n  .get('/', (req, res) => {\n    res.end('Pretty cool!');\n  });\n```\n\n### handler(req, res, parsed)\n\nThe main Polka [`IncomingMessage`](https://nodejs.org/api/http.html#http_class_http_incomingmessage) handler. It receives all requests and tries to match the incoming URL against known routes.\n\nIf the `req.url` is not immediately matched, Polka will look for sub-applications or middleware groups matching the `req.url`'s [`base`](#base) path. If any are found, they are appended to the loop, running _after_ any global middleware.\n\n> **Note:** Any middleware defined within a sub-application is run _after_ the main app's (aka, global) middleware and _before_ the sub-application's route handler.\n\nAt the end of the loop, if a middleware hasn't yet terminated the response (or thrown an error), the route handler will be executed, if found &mdash; otherwise a `(404) Not found` response is returned, configurable via [`options.onNoMatch`](#optionsonnomatch).\n\n#### req\nType: `IncomingMessage`\n\n#### res\nType: `ServerResponse`\n\n#### parsed\nType: `Object`\n\nOptionally provide a parsed [URL](https://nodejs.org/dist/latest-v9.x/docs/api/url.html#url_class_url) object. Useful if you've already parsed the incoming path. Otherwise, [`app.parse`](#parsereq) (aka [`parseurl`](https://github.com/pillarjs/parseurl)) will run by default.\n\n\n## Routing\n\nRoutes are used to define how an application responds to varying HTTP methods and endpoints.\n\n> If you're coming from Express, there's nothing new here!<br> However, do check out [Comparisons](#comparisons) for some pattern changes.\n\n### Basics\n\nEach route is comprised of a [path pattern](#patterns), a [HTTP method](#methods), and a [handler](#handlers) (aka, what you want to do).\n\nIn code, this looks like:\n\n```js\napp.METHOD(pattern, handler);\n```\n\nwherein:\n\n* `app` is an instance of `polka`\n* [`METHOD`](#methods) is any valid HTTP/1.1 method, lowercased\n* [`pattern`](#patterns) is a routing pattern (string)\n* [`handler`](#handlers) is the function to execute when `pattern` is matched\n\nAlso, a single pathname (or `pattern`) may be reused with multiple METHODs.\n\nThe following example demonstrates some simple routes.\n\n```js\nconst app = polka();\n\napp.get('/', (req, res) => {\n  res.end('Hello world!');\n});\n\napp.get('/users', (req, res) => {\n  res.end('Get all users!');\n});\n\napp.post('/users', (req, res) => {\n  res.end('Create a new User!');\n});\n\napp.put('/users/:id', (req, res) => {\n  res.end(`Update User with ID of ${req.params.id}`);\n});\n\napp.delete('/users/:id', (req, res) => {\n  res.end(`CY@ User ${req.params.id}!`);\n});\n```\n\n### Patterns\n\nUnlike the very popular [`path-to-regexp`](https://github.com/pillarjs/path-to-regexp), Polka uses string comparison to locate route matches. While [faster](https://github.com/lukeed/matchit#benchmarks) & more memory efficient, this does also prevent complex pattern matching.\n\nHowever, have no fear! :boom: All the basic and most commonly used patterns are supported. You probably only ever used these patterns in the first place. :wink:\n\n> See [Comparisons](#comparisons) for the list of `RegExp`-based patterns that Polka does not support.\n\nThe supported pattern types are:\n\n* static (`/users`)\n* named parameters (`/users/:id`)\n* nested parameters (`/users/:id/books/:title`)\n* optional parameters (`/users/:id?/books/:title?`)\n* any match / wildcards (`/users/*`)\n\n### Parameters\n\nAny named parameters included within your route [`pattern`](#patterns) will be automatically added to your incoming `req` object. All parameters will be found within `req.params` under the same name they were given.\n\n> **Important:** Your parameter names should be unique, as shared names will overwrite each other!\n\n```js\napp.get('/users/:id/books/:title', (req, res) => {\n  let { id, title } = req.params;\n  res.end(`User: ${id} && Book: ${title}`);\n});\n```\n\n```sh\n$ curl /users/123/books/Narnia\n#=> User: 123 && Book: Narnia\n```\n\n### Methods\n\nAny valid HTTP/1.1 method is supported! However, only the most common methods are used throughout this documentation for demo purposes.\n\n> **Note:** For a full list of valid METHODs, please see [this list](https://github.com/lukeed/trouter#method).\n\n### Handlers\n\nRequest handlers accept the incoming [`IncomingMessage`](https://nodejs.org/api/http.html#http_class_http_incomingmessage) and the formulating [`ServerResponse`](https://nodejs.org/dist/latest-v9.x/docs/api/http.html#http_class_http_serverresponse).\n\nEvery route definition must contain a valid `handler` function, or else an error will be thrown at runtime.\n\n> **Important:** You must _always_ terminate a `ServerResponse`!\n\nIt's a **very good** practice to _always_ terminate your response ([`res.end`](https://nodejs.org/api/http.html#http_request_end_data_encoding_callback)) inside a handler, even if you expect a [middleware](#middleware) to do it for you. In the event a response is/was not terminated, the server will hang & eventually exit with a `TIMEOUT` error.\n\n> **Note:** This is a native `http` behavior.\n\n#### Async Handlers\n\nIf using Node 7.4 or later, you may leverage native `async` and `await` syntax! :heart_eyes_cat:\n\nNo special preparation is needed &mdash; simply add the appropriate keywords.\n\n```js\nconst app = polka();\n\nconst sleep = ms => new Promise(r => setTimeout(r, ms));\n\nasync function authenticate(req, res, next) {\n  let token = req.headers['authorization'];\n  if (!token) return (res.statusCode=401,res.end('No token!'));\n  req.user = await Users.find(token); // <== fake\n  next(); // done, woot!\n}\n\napp\n  .use(authenticate)\n  .get('/', async (req, res) => {\n    // log middleware's findings\n    console.log('~> current user', req.user);\n    // force sleep, because we can~!\n    await sleep(500);\n    // send greeting\n    res.end(`Hello, ${req.user.name}`);\n  });\n```\n\n\n## Middleware\n\nMiddleware are functions that run in between (hence \"middle\") receiving the request & executing your route's [`handler`](#handlers) response.\n\n> Coming from Express? Use any middleware you already know & love! :tada:\n\nThe middleware signature receives the request (`req`), the response (`res`), and a callback (`next`).\n\nThese can apply mutations to the `req` and `res` objects, and unlike Express, have access to `req.params`, `req.path`, `req.search`, and `req.query`!\n\nMost importantly, a middleware ***must*** either call `next()` or terminate the response (`res.end`). Failure to do this will result in a never-ending response, which will eventually crash the `http.Server`.\n\n```js\n// Log every request\nfunction logger(req, res, next) {\n  console.log(`~> Received ${req.method} on ${req.url}`);\n  next(); // move on\n}\n\nfunction authorize(req, res, next) {\n  // mutate req; available later\n  req.token = req.headers['authorization'];\n  req.token ? next() : ((res.statusCode=401) && res.end('No token!'));\n}\n\npolka().use(logger, authorize).get('*', (req, res) => {\n  console.log(`~> user token: ${req.token}`);\n  res.end('Hello, valid user');\n});\n```\n\n```sh\n$ curl /\n# ~> Received GET on /\n#=> (401) No token!\n\n$ curl -H \"authorization: secret\" /foobar\n# ~> Received GET on /foobar\n# ~> user token: secret\n#=> (200) Hello, valid user\n```\n\n### Middleware Sequence\n\nIn Polka, middleware functions are organized into tiers.\n\nUnlike Express, Polka middleware are tiered into \"global\", \"filtered\", and \"route-specific\" groups.\n\n* Global middleware are defined via `.use('/', ...fn)` or `.use(...fn)`, which are synonymous.<br>_Because_ every request's `pathname` begins with a `/`, this tier is always triggered.\n\n* Sub-group or \"filtered\" middleware are defined with a base `pathname` that's more specific than `'/'`. For example, defining `.use('/users', ...fn)` will run on any `/users/**/*` request.<br>These functions will execute _after_ \"global\" middleware but before the route-specific handler.\n\n* Route handlers match specific paths and execute last in the chain. They must also match the `method` action.\n\nOnce the chain of middleware handler(s) has been composed, Polka will iterate through them sequentially until all functions have run, until a chain member has terminated the response early, or until a chain member has thrown an error.\n\nContrast this with Express, which does not tier your middleware and instead iterates through your entire application in the sequence that you composed it.\n\n```js\n// Express\nexpress()\n  .get('/', get)\n  .use(foo)\n  .get('/users/123', user)\n  .use('/users', users)\n\n// Polka\nPolka()\n  .get('/', get)\n  .use(foo)\n  .get('/users/123', user)\n  .use('/users', users)\n```\n\n```sh\n$ curl {APP}/\n# Express :: [get]\n# Polka   :: [foo, get]\n\n$ curl {APP}/users/123\n# Express :: [foo, user]\n# Polka   :: [foo, users, user]\n```\n\n\n### Middleware Errors\n\nIf an error arises within a middleware, the loop will be exited. This means that no other middleware will execute & neither will the route handler.\n\nSimilarly, regardless of `statusCode`, an early response termination will also exit the loop & prevent the route handler from running.\n\nThere are three ways to \"throw\" an error from within a middleware function.\n\n> **Hint:** None of them use `throw` :joy_cat:\n\n1. **Pass any string to `next()`**\n\n    This will exit the loop & send a `500` status code, with your error string as the response body.\n\n    ```js\n    polka()\n      .use((req, res, next) => next('????'))\n      .get('*', (req, res) => res.end('wont run'));\n    ```\n\n    ```sh\n    $ curl /\n    #=> (500) ????\n    ```\n\n2. **Pass an `Error` to `next()`**\n\n    This is similar to the above option, but gives you a window in changing the `statusCode` to something other than the `500` default.\n\n    ```js\n    function oopsies(req, res, next) {\n      let err = new Error('Try again');\n      err.code = 422;\n      next(err);\n    }\n    ```\n\n    ```sh\n    $ curl /\n    #=> (422) Try again\n    ```\n\n3. **Terminate the response early**\n\n    Once the response has been ended, there's no reason to continue the loop!\n\n    This approach is the most versatile as it allows to control every aspect of the outgoing `res`.\n\n    ```js\n    function oopsies(req, res, next) {\n      if (true) {\n        // something bad happened~\n        res.writeHead(400, {\n          'Content-Type': 'application/json',\n          'X-Error-Code': 'Please dont do this IRL'\n        });\n        let json = JSON.stringify({ error:'Missing CSRF token' });\n        res.end(json);\n      } else {\n        next(); // never called FYI\n      }\n    }\n    ```\n\n    ```sh\n    $ curl /\n    #=> (400) {\"error\":\"Missing CSRF token\"}\n    ```\n\n\n## Benchmarks\n\nQuick comparison between various frameworks using [`wrk`](https://github.com/wg/wrk) on `Node v10.4.0`.<br> Results are taken with the following command, after one warm-up run:\n\n```\n$ wrk -t4 -c4 -d10s http://localhost:3000/users/123\n```\n\nAdditional benchmarks between Polka and Express (using various Node versions) can be [found here](/bench).\n\n> **Important:** Time is mostly spent in _your application code_ rather than Express or Polka code!<br> Switching from Express to Polka will (likely) not show such drastic performance gains.\n\n```\nNative\n    Thread Stats   Avg      Stdev     Max   +/- Stdev\n        Latency     1.96ms  119.06us   5.33ms   92.57%\n        Req/Sec    12.78k   287.46    13.13k    90.00%\n      508694 requests in 10.00s, 50.45MB read\n    Requests/sec:  50867.22\n    Transfer/sec:      5.05MB\n\nPolka\n    Thread Stats   Avg      Stdev     Max   +/- Stdev\n        Latency     1.98ms  119.26us   4.45ms   92.87%\n        Req/Sec    12.68k   287.74    13.05k    94.06%\n      509817 requests in 10.10s, 50.56MB read\n    Requests/sec:  50475.67\n    Transfer/sec:      5.01MB\n\nRayo\n    Thread Stats   Avg      Stdev     Max   +/- Stdev\n        Latency     2.02ms  116.55us   6.66ms   92.55%\n        Req/Sec    12.43k   262.32    12.81k    91.58%\n      499795 requests in 10.10s, 49.57MB read\n    Requests/sec:  49481.55\n    Transfer/sec:      4.91MB\n\nFastify\n    Thread Stats   Avg      Stdev     Max   +/- Stdev\n        Latency     2.10ms  138.04us   5.46ms   91.50%\n        Req/Sec    11.96k   414.14    15.82k    95.04%\n      479518 requests in 10.10s, 66.31MB read\n    Requests/sec:  47476.75\n    Transfer/sec:      6.57MB\n\nKoa\n    Thread Stats   Avg      Stdev     Max   +/- Stdev\n        Latency     2.95ms  247.10us   6.91ms   72.18%\n        Req/Sec     8.52k   277.12     9.09k    70.30%\n      342518 requests in 10.10s, 47.36MB read\n    Requests/sec:  33909.82\n    Transfer/sec:      4.69MB\n\nExpress\n    Thread Stats   Avg      Stdev     Max   +/- Stdev\n        Latency     4.91ms  484.52us  10.65ms   89.71%\n        Req/Sec     5.11k   350.75     9.69k    98.51%\n      204520 requests in 10.10s, 40.57MB read\n    Requests/sec:  20249.80\n    Transfer/sec:      4.02MB\n```\n\n\n## Comparisons\n\nPolka's API aims to be _very_ similar to Express since most Node.js developers are already familiar with it. If you know Express, you already know Polka! :dancer:\n\nThere are, however, a few main differences. Polka does not support or offer:\n\n1) **Polka uses a tiered middleware system.**\n\n    Express maintains the sequence of your route & middleware declarations during its runtime, which can pose a problem when composing sub-applications. Typically, this forces you to duplicate groups of logic.\n\n    Please see [Middleware Sequence](#middleware-sequence) for an example and additional details.\n\n2) **Any built-in view/rendering engines.**\n\n    Most templating engines can be incorporated into middleware functions or used directly within a route handler.\n\n3) **The ability to `throw` from within middleware.**\n\n    However, all other forms of middleware-errors are supported. (See [Middleware Errors](#middleware-errors).)\n\n    ```js\n    function middleware(res, res, next) {\n      // pass an error message to next()\n      next('uh oh');\n\n      // pass an Error to next()\n      next(new Error('????'));\n\n      // send an early, customized error response\n      res.statusCode = 401;\n      res.end('Who are you?');\n    }\n    ```\n\n4) **Express-like response helpers... yet! (#14)**\n\n    Express has a nice set of [response helpers](http://expressjs.com/en/4x/api.html#res.append). While Polka relies on the [native Node.js response methods](https://nodejs.org/dist/latest-v9.x/docs/api/http.html#http_class_http_serverresponse), it would be very easy/possible to attach a global middleware that contained a similar set of helpers. (_TODO_)\n\n5) **`RegExp`-based route patterns.**\n\n    Polka's router uses string comparison to match paths against patterns. It's a lot quicker & more efficient.\n\n    The following routing patterns **are not** supported:\n\n    ```js\n    app.get('/ab?cd', _ => {});\n    app.get('/ab+cd', _ => {});\n    app.get('/ab*cd', _ => {});\n    app.get('/ab(cd)?e', _ => {});\n    app.get(/a/, _ => {});\n    app.get(/.*fly$/, _ => {});\n    ```\n\n    The following routing patterns **are** supported:\n\n    ```js\n    app.get('/users', _ => {});\n    app.get('/users/:id', _ => {});\n    app.get('/users/:id?', _ => {});\n    app.get('/users/:id/books/:title', _ => {});\n    app.get('/users/*', _ => {});\n    ```\n\n6) **Polka instances are not (directly) the request handler.**\n\n    Most packages in the Express ecosystem expect you to pass your `app` directly into the package. This is because `express()` returns a middleware signature directly.\n\n    In the Polka-sphere, this functionality lives in your application's [`handler`](#handlerreq-res-parsed) instead.\n\n    Here's an example with [`supertest`](https://github.com/visionmedia/supertest), a popular testing utility for Express apps.\n\n    ```js\n    const request = require('supertest');\n    const send = require('@polka/send-type');\n\n    const express = require('express')();\n    const polka = require('polka')();\n\n    express.get('/user', (req, res) => {\n      res.status(200).json({ name: 'john' });\n    });\n\n    polka.get('/user', (req, res) => {\n      send(res, 200, { name: 'john' });\n    });\n\n    function isExpected(app) {\n      request(app)\n        .get('/user')\n        .expect('Content-Type', /json/)\n        .expect('Content-Length', '15')\n        .expect(200);\n    }\n\n    // Express: Pass in the entire application directly\n    isExpected(express);\n\n    // Polka: Pass in the application `handler` instead\n    isExpected(polka.handler);\n    ```\n\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","_attachments":{},"license":"MIT"}