{"_id":"resolve-path","_rev":"34-dfc5f21ca191452164e7e879c3a6b4f4","name":"resolve-path","dist-tags":{"latest":"1.4.0"},"versions":{"1.0.0":{"name":"resolve-path","version":"1.0.0","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"resolve-path@1.0.0","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"homepage":"https://github.com/expressjs/resolve-path","bugs":{"url":"https://github.com/expressjs/resolve-path/issues","email":"me@jongleberry.com"},"dist":{"shasum":"b88baf7f3b8ddc90b21b75b18ac322ee072e9f84","tarball":"https://registry.npmjs.org/resolve-path/-/resolve-path-1.0.0.tgz","integrity":"sha512-ulxZhyiyhHlbqX7NylSyski4nwBtdk+cUW/K4iTizWWgbeY+S57eex/PkTfVBIVkJK9H4kNmtNBz4pwJW4rkzg==","signatures":[{"sig":"MEUCIQCE3ZKKtG9s/qNwsyTLmMqqUGbpgjxrYTn9qIcYD3nTqgIgRhonS/8uF6i7rwb7tmsfN5YBmOrmzW/BFWeL7SQGwVU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"NODE_ENV=test mocha --require should --reporter spec --bail"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"repository":{"url":"https://github.com/expressjs/resolve-path.git","type":"git"},"_npmVersion":"1.4.4","description":"resolve a relative path from a root path with validation","directories":{},"devDependencies":{"mocha":"^1.13","should":"^3.0"}},"1.1.0":{"name":"resolve-path","version":"1.1.0","keywords":["resolve","path","safe"],"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"resolve-path@1.1.0","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"shtylman","email":"shtylman@gmail.com"},{"name":"mscdex","email":"mscdex@mscdex.net"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"}],"homepage":"https://github.com/pillarjs/resolve-path","bugs":{"url":"https://github.com/pillarjs/resolve-path/issues"},"dist":{"shasum":"a991d427ba2985a27cb2608db8f2186861dd0223","tarball":"https://registry.npmjs.org/resolve-path/-/resolve-path-1.1.0.tgz","integrity":"sha512-gsjReIg+S8Se/AcblRi+gpOQNbj/u/JoGHNWY0xOZhRdp5/Ebh37aUyMflnv/wSVmWNtOWP+1tQpBLK/VKPgrw==","signatures":[{"sig":"MEUCIQDKMMcAz2lui/Tvv3sOPuYAGDE+JxENlD7RVMKIJPZdlwIgbo+aVO2jt/bj0Iw8ON9WfENe4vh85eOKaZhLnZT91ew=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"a991d427ba2985a27cb2608db8f2186861dd0223","gitHead":"7f4dd97f81f23cc41de0947e4ef452a2c87b74eb","scripts":{"test":"mocha","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"repository":{"url":"https://github.com/pillarjs/resolve-path","type":"git"},"_npmVersion":"2.1.12","description":"resolve a relative path from a root path with validation","directories":{},"_nodeVersion":"0.11.14","dependencies":{"http-assert":"1"},"devDependencies":{"mocha":"2","istanbul":"0"}},"1.2.0":{"name":"resolve-path","version":"1.2.0","keywords":["resolve","path","safe"],"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"resolve-path@1.2.0","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"shtylman","email":"shtylman@gmail.com"},{"name":"mscdex","email":"mscdex@mscdex.net"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"}],"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"homepage":"https://github.com/pillarjs/resolve-path","bugs":{"url":"https://github.com/pillarjs/resolve-path/issues"},"dist":{"shasum":"576fabd822afb5b07a50254daa564cf59f22d950","tarball":"https://registry.npmjs.org/resolve-path/-/resolve-path-1.2.0.tgz","integrity":"sha512-7CngazvUEoy1xwW14lJin+tWuNQNnnYj9ulMCnPHuPCResdQK/cP+BYqg9JZOLir5tFqnCJt68T3yG3mgLjo3w==","signatures":[{"sig":"MEQCIH8xpd+NGW1MWSaR13TtPP+DStNVKaaj8teA+QkIjX2kAiAiKc+BMnZ7CvUTkaTvXr5M0H3o5rsiwRayzRak88yJnw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["HISTORY.md","LICENSE","README.md","index.js"],"_shasum":"576fabd822afb5b07a50254daa564cf59f22d950","engines":{"node":">= 0.8"},"gitHead":"54784b03a15164e75b65592c4b24b7c0d50367af","scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"repository":{"url":"https://github.com/pillarjs/resolve-path","type":"git"},"_npmVersion":"1.4.28","description":"Resolve a relative path against a root path with validation","directories":{},"dependencies":{"http-errors":"~1.2.8"},"devDependencies":{"mocha":"~2.1.0","istanbul":"0.3.5"}},"1.2.1":{"name":"resolve-path","version":"1.2.1","keywords":["resolve","path","safe"],"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"resolve-path@1.2.1","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"shtylman","email":"shtylman@gmail.com"},{"name":"mscdex","email":"mscdex@mscdex.net"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"}],"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"homepage":"https://github.com/pillarjs/resolve-path","bugs":{"url":"https://github.com/pillarjs/resolve-path/issues"},"dist":{"shasum":"cb1fcb7fa909fe33807b4213d7c222c8734f18a5","tarball":"https://registry.npmjs.org/resolve-path/-/resolve-path-1.2.1.tgz","integrity":"sha512-eeVdj1IOWK9gXWuBJLP0qNC5pvtWhTttxCfR2frAUGq4BkamalJcfKgh5yC/FMX9oGt8a0eytQus+Spq16ki+A==","signatures":[{"sig":"MEUCIFBUz9I1D4oSV3jCcOPCVm0zPUNInwsWoKjU+zxm6V5KAiEAmb01+HL/IYU3qdlXjmHN5ttqoPdC19fd2aC4a6yC1X0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["HISTORY.md","LICENSE","README.md","index.js"],"_shasum":"cb1fcb7fa909fe33807b4213d7c222c8734f18a5","engines":{"node":">= 0.8"},"gitHead":"8b0b690ad4a8444621b11731d05f4ee12d7e5508","scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"repository":{"url":"https://github.com/pillarjs/resolve-path","type":"git"},"_npmVersion":"1.4.28","description":"Resolve a relative path against a root path with validation","directories":{},"dependencies":{"http-errors":"~1.2.8"},"devDependencies":{"mocha":"~2.1.0","istanbul":"0.3.5"}},"1.2.2":{"name":"resolve-path","version":"1.2.2","keywords":["resolve","path","safe"],"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"resolve-path@1.2.2","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"shtylman","email":"shtylman@gmail.com"},{"name":"mscdex","email":"mscdex@mscdex.net"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"}],"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"homepage":"https://github.com/pillarjs/resolve-path","bugs":{"url":"https://github.com/pillarjs/resolve-path/issues"},"dist":{"shasum":"5a8fa192d4684d35ab4aaa096852fd7a06b730fb","tarball":"https://registry.npmjs.org/resolve-path/-/resolve-path-1.2.2.tgz","integrity":"sha512-5qfJFsOwrV3hIvyVD99ogQh5PF2PHK8msQLRzN8JW7cY/YqrulljQqodP+VKZu2oWKaA5wBbSAP5yjkQmfc4Ow==","signatures":[{"sig":"MEYCIQC3S6dpdv0yQlErQjfnpWmAbU41c6A9Zug/k8TKRF3vVAIhANeaofqMBoqvoGBNejDCbInOsV7V17WEOI9NypgBPr34","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["HISTORY.md","LICENSE","README.md","index.js"],"_shasum":"5a8fa192d4684d35ab4aaa096852fd7a06b730fb","engines":{"node":">= 0.8"},"gitHead":"d4c3d78a633b96d42d814d759799e171be0e9589","scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"},"_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"repository":{"url":"https://github.com/pillarjs/resolve-path","type":"git"},"_npmVersion":"1.4.28","description":"Resolve a relative path against a root path with validation","directories":{},"dependencies":{"http-errors":"~1.3.1"},"devDependencies":{"mocha":"~2.1.0","istanbul":"0.3.5"}},"1.3.0":{"name":"resolve-path","version":"1.3.0","keywords":["resolve","path","safe"],"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"resolve-path@1.3.0","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"mscdex","email":"mscdex@mscdex.net"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"},{"name":"defunctzombie","email":"shtylman@gmail.com"}],"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"homepage":"https://github.com/pillarjs/resolve-path","bugs":{"url":"https://github.com/pillarjs/resolve-path/issues"},"dist":{"shasum":"6c76d9b23bf037eca79a470fcbb97cb7b60ee34c","tarball":"https://registry.npmjs.org/resolve-path/-/resolve-path-1.3.0.tgz","integrity":"sha512-86rG2kIjDrLL8a+GBoGEPiyrc9v04i8EZfEOKqXOw+TcAoSIEVCgKgz5K3wE6gJjv1Gg84DvD2LgU/T4P4yh2w==","signatures":[{"sig":"MEUCIHYnkZP9aPgPSCBhFCuSz2dXNlAWN1HhKyS5pB0KWYtcAiEAuGQzivWE+DuV3WU70FbgtMvPfw7+q39RUh6M9RxGvTg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["HISTORY.md","LICENSE","README.md","index.js"],"_shasum":"6c76d9b23bf037eca79a470fcbb97cb7b60ee34c","engines":{"node":">= 0.8"},"gitHead":"9a0445d8f5e55965c202909ce523927a9ab07c9e","scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"},"_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"repository":{"url":"https://github.com/pillarjs/resolve-path","type":"git"},"_npmVersion":"1.4.28","description":"Resolve a relative path against a root path with validation","directories":{},"dependencies":{"http-errors":"~1.3.1","path-is-absolute":"1.0.0"},"devDependencies":{"mocha":"2.2.5","istanbul":"0.3.9"}},"1.3.1":{"name":"resolve-path","version":"1.3.1","keywords":["resolve","path","safe"],"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"resolve-path@1.3.1","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"mscdex","email":"mscdex@mscdex.net"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"},{"name":"defunctzombie","email":"shtylman@gmail.com"}],"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"homepage":"https://github.com/pillarjs/resolve-path#readme","bugs":{"url":"https://github.com/pillarjs/resolve-path/issues"},"dist":{"shasum":"4850b43948a91343aea69d1294c0fd0ae568f56b","tarball":"https://registry.npmjs.org/resolve-path/-/resolve-path-1.3.1.tgz","integrity":"sha512-s6iTdv1cK0/YXhoykwcSlncdt+5qcpL2tu/up49BqpspDCViujLFoNYnrXgg+dKxuqVz6tQ55LCzyLjyLSfyXQ==","signatures":[{"sig":"MEUCIGxeKpLv5m3ryUhdjlPjHWGIAuGP10g+mUC7WKuUmluBAiEAg+3PienzrhIyjfTJuTC6xqxrjrzJUwqu5vs9XSr35wg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["HISTORY.md","LICENSE","README.md","index.js"],"_shasum":"4850b43948a91343aea69d1294c0fd0ae568f56b","engines":{"node":">= 0.8"},"gitHead":"07ff4410f213aebd0ce6b37a8efd0323ece52c27","scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"repository":{"url":"git+https://github.com/pillarjs/resolve-path.git","type":"git"},"_npmVersion":"3.6.0","description":"Resolve a relative path against a root path with validation","directories":{},"_nodeVersion":"5.7.0","dependencies":{"http-errors":"~1.4.0","path-is-absolute":"1.0.0"},"devDependencies":{"mocha":"2.4.5","istanbul":"0.4.2"},"_npmOperationalInternal":{"tmp":"tmp/resolve-path-1.3.1.tgz_1456698560934_0.25436124857515097","host":"packages-9-west.internal.npmjs.com"}},"1.3.2":{"name":"resolve-path","version":"1.3.2","keywords":["resolve","path","safe"],"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"resolve-path@1.3.2","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"mscdex","email":"mscdex@mscdex.net"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"},{"name":"defunctzombie","email":"shtylman@gmail.com"}],"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"homepage":"https://github.com/pillarjs/resolve-path","bugs":{"url":"https://github.com/pillarjs/resolve-path/issues"},"dist":{"shasum":"c20924408aff77466e819da548d7ce40a81d561f","tarball":"https://registry.npmjs.org/resolve-path/-/resolve-path-1.3.2.tgz","integrity":"sha512-+BAeds7mPO07fM3S8aDTO5Pec11+1fjQlVj6jF0bkFR9cMLHR/Vc6KEBsitgKfzJjfd9PMB7IZcy1yGZWYwkcg==","signatures":[{"sig":"MEUCIGG/0Dv7Du8DeNbE39TBYE2DThgiC+DzIRTr0xjqKJ0HAiEAgsYEhOqloS6HoaKyQNjYlqYOeoba+4/cOfhoJGbUw6o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["HISTORY.md","LICENSE","README.md","index.js"],"_shasum":"c20924408aff77466e819da548d7ce40a81d561f","engines":{"node":">= 0.8"},"gitHead":"5d2fb011f164922a633b965091aa6603272b9e40","scripts":{"lint":"eslint **/*.js","test":"mocha --reporter spec --bail --check-leaks test/","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"},"_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"repository":{"url":"https://github.com/pillarjs/resolve-path","type":"git"},"_npmVersion":"1.4.28","description":"Resolve a relative path against a root path with validation","directories":{},"dependencies":{"http-errors":"~1.5.0","path-is-absolute":"1.0.0"},"devDependencies":{"mocha":"2.5.3","eslint":"2.12.0","istanbul":"0.4.3","eslint-plugin-promise":"1.3.2","eslint-config-standard":"5.3.1","eslint-plugin-standard":"1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/resolve-path-1.3.2.tgz_1466178860146_0.997490526875481","host":"packages-12-west.internal.npmjs.com"}},"1.3.3":{"name":"resolve-path","version":"1.3.3","keywords":["resolve","path","safe"],"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"resolve-path@1.3.3","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"mscdex","email":"mscdex@mscdex.net"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"},{"name":"defunctzombie","email":"shtylman@gmail.com"}],"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"homepage":"https://github.com/pillarjs/resolve-path","bugs":{"url":"https://github.com/pillarjs/resolve-path/issues"},"dist":{"shasum":"4d83aba6468c2b8e632a575e3f52b0fa0dbe1a5c","tarball":"https://registry.npmjs.org/resolve-path/-/resolve-path-1.3.3.tgz","integrity":"sha512-AkDz/LtdXp81O9j790V50N2Utho9tqk7EUQlgFTUOS8mwztCnsfHKPYfjzVkEsjiFajFBorKmSWHXkG3Zn9N0A==","signatures":[{"sig":"MEUCIQD2i58bK59rqQvTlKVqJhcYhCAM84Ic98NWlPZYIUdmhQIgO6kOznciFlXWon6WZ6s7bItpQ7zRTh7SxqUirfTI+yc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["HISTORY.md","LICENSE","README.md","index.js"],"_shasum":"4d83aba6468c2b8e632a575e3f52b0fa0dbe1a5c","engines":{"node":">= 0.8"},"gitHead":"5741e74db208c51578e158cbc747198ff2a1f65f","scripts":{"lint":"eslint --plugin markdown --ext js,md .","test":"mocha --reporter spec --bail --check-leaks test/","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"},"_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"repository":{"url":"https://github.com/pillarjs/resolve-path","type":"git"},"_npmVersion":"1.4.28","description":"Resolve a relative path against a root path with validation","directories":{},"dependencies":{"http-errors":"~1.5.0","path-is-absolute":"1.0.1"},"devDependencies":{"mocha":"2.5.3","eslint":"3.10.1","istanbul":"0.4.5","eslint-plugin-promise":"3.3.2","eslint-config-standard":"6.2.1","eslint-plugin-markdown":"1.0.0-beta.3","eslint-plugin-standard":"2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/resolve-path-1.3.3.tgz_1479179525843_0.11867789761163294","host":"packages-12-west.internal.npmjs.com"}},"1.4.0":{"name":"resolve-path","version":"1.4.0","keywords":["resolve","path","safe"],"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"resolve-path@1.4.0","maintainers":[{"name":"defunctzombie","email":"shtylman@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"},{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"mscdex","email":"mscdex@mscdex.net"}],"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"homepage":"https://github.com/pillarjs/resolve-path#readme","bugs":{"url":"https://github.com/pillarjs/resolve-path/issues"},"dist":{"shasum":"c4bda9f5efb2fce65247873ab36bb4d834fe16f7","tarball":"https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz","fileCount":5,"integrity":"sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==","signatures":[{"sig":"MEUCIQCvUXNiLmHlfPfxT92z6IrQmxYX4nY4I1/yrjpUSPE8OwIgS6UjMYHnBX5JrU6E+/9V6qKNpCBNjFKOT6BDEc1I6nw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9236},"_from":".","files":["HISTORY.md","LICENSE","README.md","index.js"],"_shasum":"c4bda9f5efb2fce65247873ab36bb4d834fe16f7","engines":{"node":">= 0.8"},"gitHead":"a42cc4e93ed227a77444bdb269ce1c4723d9b76d","scripts":{"lint":"eslint --plugin markdown --ext js,md .","test":"mocha --reporter spec --bail --check-leaks test/","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"},"_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"repository":{"url":"git+https://github.com/pillarjs/resolve-path.git","type":"git"},"_npmVersion":"3.10.10","description":"Resolve a relative path against a root path with validation","directories":{},"_nodeVersion":"6.11.1","dependencies":{"http-errors":"~1.6.2","path-is-absolute":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"2.5.3","eslint":"3.19.0","istanbul":"0.4.5","eslint-plugin-node":"5.2.1","eslint-plugin-import":"2.8.0","eslint-plugin-promise":"3.6.0","eslint-config-standard":"10.2.1","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-standard":"3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/resolve-path_1.4.0_1518550314129_0.7262946224981486","host":"s3://npm-registry-packages"}}},"time":{"created":"2014-03-23T11:48:30.582Z","modified":"2025-05-14T14:56:08.651Z","1.0.0":"2014-03-23T11:48:30.582Z","1.1.0":"2014-12-27T22:06:02.372Z","1.2.0":"2015-01-05T21:03:05.902Z","1.2.1":"2015-01-20T05:03:09.961Z","1.2.2":"2015-02-17T03:56:35.588Z","1.3.0":"2015-06-16T04:22:23.730Z","1.3.1":"2016-02-28T22:29:22.074Z","1.3.2":"2016-06-17T15:54:22.654Z","1.3.3":"2016-11-15T03:12:07.718Z","1.4.0":"2018-02-13T19:31:55.011Z"},"bugs":{"url":"https://github.com/pillarjs/resolve-path/issues"},"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","homepage":"https://github.com/pillarjs/resolve-path#readme","keywords":["resolve","path","safe"],"repository":{"url":"git+https://github.com/pillarjs/resolve-path.git","type":"git"},"description":"Resolve a relative path against a root path with validation","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"maintainers":[{"email":"ulisesgascondev@gmail.com","name":"ulisesgascon"},{"email":"hello@blakeembrey.com","name":"blakeembrey"},{"email":"fishrock123@rocketmail.com","name":"fishrock123"},{"email":"doug@somethingdoug.com","name":"dougwilson"},{"email":"jonathanrichardong@gmail.com","name":"jongleberry"},{"email":"shtylman@gmail.com","name":"defunctzombie"}],"readme":"# resolve-path\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-image]][node-url]\n[![Linux Build][travis-image]][travis-url]\n[![Windows Build][appveyor-image]][appveyor-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nResolve a relative path against a root path with validation.\n\nThis module would protect against commons attacks like `GET /../file.js`\nwhich reaches outside the root folder.\n\n## Installation\n\nThis is a [Node.js](https://nodejs.org/en/) module available through the\n[npm registry](https://www.npmjs.com/). Installation is done using the\n[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):\n\n```sh\n$ npm install resolve-path\n```\n\n## API\n\n```\nvar resolvePath = require('resolve-path')\n```\n\n### resolvePath(relativePath)\n\nResolve a relative path against `process.cwd()` (the process's current working\ndirectory) and return an absolute path. *This will throw* if the resulting resolution\nseems malicious. The following are malicious:\n\n  - The relative path is an absolute path\n  - The relative path contains a NULL byte\n  - The relative path resolves to a path outside of `process.cwd()`\n  - The relative path traverses above `process.cwd()` and back down\n\n### resolvePath(rootPath, relativePath)\n\nResolve a relative path against the provided root path and return an absolute path.\n*This will throw* if the resulting resolution seems malicious. The following are\nmalicious:\n\n  - The relative path is an absolute path\n  - The relative path contains a NULL byte\n  - The relative path resolves to a path outside of the root path\n  - The relative path traverses above the root and back down\n\n## Example\n\n### Safely resolve paths in a public directory\n\n```js\nvar http = require('http')\nvar parseUrl = require('parseurl')\nvar path = require('path')\nvar resolvePath = require('resolve-path')\n\n// the public directory\nvar publicDir = path.join(__dirname, 'public')\n\n// the server\nvar server = http.createServer(function onRequest (req, res) {\n  try {\n    // get the pathname from the URL (decoded)\n    var pathname = decodeURIComponent(parseUrl(req).pathname)\n\n    if (!pathname) {\n      res.statusCode = 400\n      res.end('path required')\n      return\n    }\n\n    // remove leading slash\n    var filename = pathname.substr(1)\n\n    // resolve the full path\n    var fullpath = resolvePath(publicDir, filename)\n\n    // echo the resolved path\n    res.statusCode = 200\n    res.end('resolved to ' + fullpath)\n  } catch (err) {\n    res.statusCode = err.status || 500\n    res.end(err.message)\n  }\n})\n\nserver.listen(3000)\n```\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/resolve-path.svg\n[npm-url]: https://npmjs.org/package/resolve-path\n[node-image]: https://img.shields.io/node/v/resolve-path.svg\n[node-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/pillarjs/resolve-path/master.svg?label=linux\n[travis-url]: https://travis-ci.org/pillarjs/resolve-path\n[appveyor-image]: https://img.shields.io/appveyor/ci/dougwilson/resolve-path/master.svg?label=windows\n[appveyor-url]: https://ci.appveyor.com/project/dougwilson/resolve-path\n[coveralls-image]: https://img.shields.io/coveralls/pillarjs/resolve-path/master.svg\n[coveralls-url]: https://coveralls.io/r/pillarjs/resolve-path?branch=master\n[downloads-image]: https://img.shields.io/npm/dm/resolve-path.svg\n[downloads-url]: https://npmjs.org/package/resolve-path\n","readmeFilename":"README.md","users":{"tedyhy":true}}