diff --git a/docs/usage/configuration-options.md b/docs/usage/configuration-options.md index 11e578a4236bed6efbeb5ee791373d09caa26d26..1fbcc15d1585d4138bfbcdf8480432a4edf17cb5 100644 --- a/docs/usage/configuration-options.md +++ b/docs/usage/configuration-options.md @@ -2104,6 +2104,13 @@ The above config will suppress the comment which is added to a PR whenever you c It is only recommended to configure this field if you wish to use the `schedules` feature and want to write them in your local timezone. Please see the above link for valid timezone names. +## transitiveRemediation + +When enabled, Renovate will attempt to remediate vulnerabilities even if they exist only in transitive dependencies. + +Applicable only for GitHub platform (with vulnerability alerts enabled), `npm` manager, and when a `package-lock.json` v1 format is present. +This is considered a feature flag with the aim to remove it and default to this behavior once it has been more widely tested. + ## unicodeEmoji If enabled emoji shortcodes (`:warning:`) are replaced with their unicode equivalents (`âš ï¸`) diff --git a/lib/config/definitions.ts b/lib/config/definitions.ts index 45415d21cac33168418b20a3c5288ad086a04b2c..61681bca88f5fc6a2d45d8b8caf900a380a2f5e4 100644 --- a/lib/config/definitions.ts +++ b/lib/config/definitions.ts @@ -1263,6 +1263,12 @@ const options: RenovateOptions[] = [ cli: false, env: false, }, + { + name: 'transitiveRemediation', + description: 'Enable remediation of transitive dependencies.', + type: 'boolean', + default: false, + }, { name: 'vulnerabilityAlerts', description: diff --git a/lib/datasource/common.ts b/lib/datasource/common.ts index 9823ecefa3a2680303c81f78525c62c107dd8178..b1e9ba773bc220b86c1ea6899ce0b80bf2138821 100644 --- a/lib/datasource/common.ts +++ b/lib/datasource/common.ts @@ -48,6 +48,8 @@ export interface Release { version: string; newDigest?: string; constraints?: Record<string, string[]>; + dependencies?: Record<string, string>; + devDependencies?: Record<string, string>; } export interface ReleaseResult { diff --git a/lib/datasource/npm/get.ts b/lib/datasource/npm/get.ts index 2ea47e90c86977fa9baacba485d8a5e997389ee6..623f41bad7725293c65016af1c42e13eabdc5801 100644 --- a/lib/datasource/npm/get.ts +++ b/lib/datasource/npm/get.ts @@ -212,6 +212,8 @@ export async function getDependency( const release: NpmRelease = { version, gitRef: res.versions[version].gitHead, + dependencies: res.versions[version].dependencies, + devDependencies: res.versions[version].devDependencies, }; if (res.time?.[version]) { release.releaseTimestamp = res.time[version]; diff --git a/lib/manager/common.ts b/lib/manager/common.ts index 7795b4e7bcddbb208a5fc67aa6e81067114b3fcf..3517f22e3997189effac0e3d03628044b8564c71 100644 --- a/lib/manager/common.ts +++ b/lib/manager/common.ts @@ -236,6 +236,16 @@ export interface BumpedPackageFile { newContent: string; } +export interface UpdateLockedConfig { + packageFile?: string; + packageFileContent?: string; + lockFile?: string; + lockFileContent?: string; + depName?: string; + currentVersion?: string; + newVersion?: string; +} + export interface ManagerApi { defaultConfig: Record<string, unknown>; language?: string; @@ -270,6 +280,10 @@ export interface ManagerApi { updateDependency?( updateDependencyConfig: UpdateDependencyConfig ): Result<string | null>; + + updateLockedDependency?( + config: UpdateLockedConfig + ): Result<Record<string, string | null>>; } // TODO: name and properties used by npm manager diff --git a/lib/manager/npm/index.ts b/lib/manager/npm/index.ts index 8309fa7553b7ad277deba11de2316d916a85bea5..0fc2489fbded064a55c4f1d354512c6a9afe24d3 100644 --- a/lib/manager/npm/index.ts +++ b/lib/manager/npm/index.ts @@ -2,7 +2,11 @@ import { LANGUAGE_JAVASCRIPT } from '../../constants/languages'; import * as npmVersioning from '../../versioning/npm'; export { extractAllPackageFiles } from './extract'; -export { bumpPackageVersion, updateDependency } from './update'; +export { + bumpPackageVersion, + updateDependency, + updateLockedDependency, +} from './update'; export { getRangeStrategy } from './range'; export const language = LANGUAGE_JAVASCRIPT; diff --git a/lib/manager/npm/update/index.ts b/lib/manager/npm/update/index.ts index 23c3f54e1209c57447e91fdd8e9bf1f04ac4c706..b7bd85f277f4b5ef4fce4b397f14f05b039ace46 100644 --- a/lib/manager/npm/update/index.ts +++ b/lib/manager/npm/update/index.ts @@ -1,2 +1,3 @@ -export { bumpPackageVersion } from './package-version'; export { updateDependency } from './dependency'; +export { updateLockedDependency } from './locked-dependency'; +export { bumpPackageVersion } from './package-version'; diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/accepts.json b/lib/manager/npm/update/locked-dependency/__fixtures__/accepts.json new file mode 100644 index 0000000000000000000000000000000000000000..16297a15c6943678b63c81ceea1f085518ab881b --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/__fixtures__/accepts.json @@ -0,0 +1 @@ +{"_id":"accepts","_rev":"91-f04bf255c335d2519aca2e1d537f78f8","name":"accepts","dist-tags":{"latest":"1.3.7"},"versions":{"1.0.0":{"name":"accepts","version":"1.0.0","dependencies":{"mime":"~1.2.11","negotiator":"~0.3.0"},"devDependencies":{"mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/accepts","_id":"accepts@1.0.0","dist":{"shasum":"3604c765586c3b9cf7877b6937cdbd4587f947dc","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.0.0.tgz"},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"1.0.1":{"name":"accepts","version":"1.0.1","dependencies":{"mime":"~1.2.11","negotiator":"~0.4.0"},"devDependencies":{"mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/accepts","_id":"accepts@1.0.1","dist":{"shasum":"c1e06d613e6246ba874678d6d9b92389b7ce310c","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.0.1.tgz"},"_from":".","_npmVersion":"1.3.23","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"1.0.2":{"name":"accepts","version":"1.0.2","dependencies":{"mime":"~1.2.11","negotiator":"0.4.5"},"devDependencies":{"mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/accepts","_id":"accepts@1.0.2","dist":{"shasum":"96266ace1b4c03f9637428f3acafe891959f3883","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.0.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.0.3":{"name":"accepts","version":"1.0.3","dependencies":{"mime":"~1.2.11","negotiator":"0.4.6"},"devDependencies":{"istanbul":"0.2.10","mocha":"*","should":"*"},"gitHead":"b17538c271b31cdad481c29d1623d76561a69d81","homepage":"https://github.com/expressjs/accepts","_id":"accepts@1.0.3","_shasum":"92b1db0d4f3db47b0530df6e15ae97db514dc2f8","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"92b1db0d4f3db47b0530df6e15ae97db514dc2f8","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.0.3.tgz"},"directories":{}},"1.0.4":{"name":"accepts","version":"1.0.4","dependencies":{"mime-types":"~1.0.0","negotiator":"0.4.6"},"devDependencies":{"istanbul":"0.2.10","mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/accepts","_id":"accepts@1.0.4","_shasum":"a01739f55fbd67b26056ac5bc26537166a0707ca","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"dist":{"shasum":"a01739f55fbd67b26056ac5bc26537166a0707ca","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.0.4.tgz"},"directories":{}},"1.0.5":{"name":"accepts","version":"1.0.5","dependencies":{"mime-types":"~1.0.0","negotiator":"0.4.6"},"devDependencies":{"istanbul":"0.2.10","mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/accepts","_id":"accepts@1.0.5","dist":{"shasum":"3a484f1870a8264cfa4266cf6fb0197d6bc86bff","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.0.5.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.0.6":{"name":"accepts","version":"1.0.6","dependencies":{"mime-types":"~1.0.0","negotiator":"0.4.7"},"devDependencies":{"istanbul":"0.2.11","mocha":"*","should":"*"},"gitHead":"77b5766d9233a208870b7cd4e92347c2b9cafc4c","homepage":"https://github.com/expressjs/accepts","_id":"accepts@1.0.6","_shasum":"8cbbf84772d70211110d9b00b1208aae01f15724","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"dist":{"shasum":"8cbbf84772d70211110d9b00b1208aae01f15724","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.0.6.tgz"},"directories":{}},"1.0.7":{"name":"accepts","version":"1.0.7","dependencies":{"mime-types":"~1.0.0","negotiator":"0.4.7"},"devDependencies":{"istanbul":"0.2.11","mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/accepts","_id":"accepts@1.0.7","dist":{"shasum":"5b501fb4f0704309964ccdb048172541208dab1a","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.0.7.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.1.0":{"name":"accepts","version":"1.1.0","dependencies":{"mime-types":"~2.0.0","negotiator":"0.4.7"},"devDependencies":{"istanbul":"~0.3.0","mocha":"1","should":"4"},"files":["index.js"],"gitHead":"564a01f1d1b4864365029a55773b765fb9e7756a","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.1.0","_shasum":"43ba6d946374c80f91823eaec6bb43dc4955500b","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"dist":{"shasum":"43ba6d946374c80f91823eaec6bb43dc4955500b","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.1.0.tgz"},"directories":{}},"1.1.1":{"name":"accepts","version":"1.1.1","dependencies":{"mime-types":"~2.0.2","negotiator":"0.4.8"},"devDependencies":{"istanbul":"~0.3.0","mocha":"1"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"57e2960cfc6e8863c258613aa7e5947169e1d824","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.1.1","_shasum":"3b40bf6abc3fe3bc004534f4672ae1efd0063a96","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"3b40bf6abc3fe3bc004534f4672ae1efd0063a96","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.1.1.tgz"},"directories":{}},"1.1.2":{"name":"accepts","version":"1.1.2","dependencies":{"mime-types":"~2.0.2","negotiator":"0.4.9"},"devDependencies":{"istanbul":"~0.3.0","mocha":"1"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"026a08f23ee1aaa1bb0fb874fab49fbc00b6d898","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.1.2","_shasum":"8469a0a0a215b50cb0d156d351662f8978b00876","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"8469a0a0a215b50cb0d156d351662f8978b00876","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.1.2.tgz"},"directories":{}},"1.1.3":{"name":"accepts","version":"1.1.3","dependencies":{"mime-types":"~2.0.3","negotiator":"0.4.9"},"devDependencies":{"istanbul":"~0.3.0","mocha":"~2.0.1"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"8c3267ffe54e657b00dcd019ce6fdf8b342377b6","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.1.3","_shasum":"14d99f8ee3ea69f8709d4bd17ffe153bef0f6c6d","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"14d99f8ee3ea69f8709d4bd17ffe153bef0f6c6d","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.1.3.tgz"},"directories":{}},"1.1.4":{"name":"accepts","version":"1.1.4","dependencies":{"mime-types":"~2.0.4","negotiator":"0.4.9"},"devDependencies":{"istanbul":"~0.3.4","mocha":"~2.0.1"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"df66414d80f096627b28f137127fce0a851d7900","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.1.4","_shasum":"d71c96f7d41d0feda2c38cd14e8a27c04158df4a","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"d71c96f7d41d0feda2c38cd14e8a27c04158df4a","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.1.4.tgz"},"directories":{}},"1.2.0":{"name":"accepts","version":"1.2.0","dependencies":{"mime-types":"~2.0.4","negotiator":"0.5.0"},"devDependencies":{"istanbul":"~0.3.4","mocha":"~2.0.1"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"2e889c93fc7f7907fb89468bafe23d352f9cdc9a","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.0","_shasum":"6dabb991bfa82ad0011f6e970b99151d6e109966","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"6dabb991bfa82ad0011f6e970b99151d6e109966","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.0.tgz"},"directories":{}},"1.2.1":{"name":"accepts","version":"1.2.1","dependencies":{"mime-types":"~2.0.5","negotiator":"0.5.0"},"devDependencies":{"istanbul":"0.3.5","mocha":"~2.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"b517171bbd972803dbbe6c80050a9c795288265f","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.1","_shasum":"07f17ad3e9d8f0cc6097931c310079d6c1eac704","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"07f17ad3e9d8f0cc6097931c310079d6c1eac704","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.1.tgz"},"directories":{}},"1.2.2":{"name":"accepts","version":"1.2.2","dependencies":{"mime-types":"~2.0.7","negotiator":"0.5.0"},"devDependencies":{"istanbul":"0.3.5","mocha":"~2.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"08c807538789b4908ddb5f6ad58550b2d0c3c261","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.2","_shasum":"9bc29b9b39f33a351e76a76058184ebc8ed7783f","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"9bc29b9b39f33a351e76a76058184ebc8ed7783f","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.2.tgz"},"directories":{}},"1.2.3":{"name":"accepts","version":"1.2.3","dependencies":{"mime-types":"~2.0.8","negotiator":"0.5.0"},"devDependencies":{"istanbul":"0.3.5","mocha":"~2.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"b4f616ff54790683759280244384cbead0742095","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.3","_shasum":"2cb8b306cce2aa70e73ab39cc750061526c0778f","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"2cb8b306cce2aa70e73ab39cc750061526c0778f","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.3.tgz"},"directories":{}},"1.2.4":{"name":"accepts","version":"1.2.4","dependencies":{"mime-types":"~2.0.9","negotiator":"0.5.1"},"devDependencies":{"istanbul":"0.3.5","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"dfa143a31879bf5fb4934bbefc5741504a1cc15f","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.4","_shasum":"f4e6c66f4faf69c76bd7a63a1ffc5bd2dacfb2ac","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"f4e6c66f4faf69c76bd7a63a1ffc5bd2dacfb2ac","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.4.tgz"},"directories":{}},"1.2.5":{"name":"accepts","version":"1.2.5","dependencies":{"mime-types":"~2.0.10","negotiator":"0.5.1"},"devDependencies":{"istanbul":"0.3.7","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"e74f846e885aa70fceba1af6ce96e3952e6782c1","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.5","_shasum":"bb07dc52c141ae562611a836ff433bcec8871ce9","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"bb07dc52c141ae562611a836ff433bcec8871ce9","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.5.tgz"},"directories":{}},"1.2.6":{"name":"accepts","version":"1.2.6","dependencies":{"mime-types":"~2.0.11","negotiator":"0.5.2"},"devDependencies":{"istanbul":"0.3.9","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"bebfc8d4f557d68662184751af0f9c64bea6da01","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.6","_shasum":"8f6c694267f0dc2f722d8b1752f56434e58be469","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"8f6c694267f0dc2f722d8b1752f56434e58be469","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.6.tgz"},"directories":{}},"1.2.7":{"name":"accepts","version":"1.2.7","dependencies":{"mime-types":"~2.0.11","negotiator":"0.5.3"},"devDependencies":{"istanbul":"0.3.9","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"067cd4c96d517cf3299f0d9c67733e752d0257e1","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.7","_shasum":"efea24e36e0b5b93d001a7598ac441c32ef56003","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"efea24e36e0b5b93d001a7598ac441c32ef56003","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.7.tgz"},"directories":{}},"1.2.8":{"name":"accepts","version":"1.2.8","dependencies":{"mime-types":"~2.1.0","negotiator":"0.5.3"},"devDependencies":{"istanbul":"0.3.14","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"0d60f3a79aec8f682ebf86dd871c8e69c72b5170","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.8","_shasum":"6ae87f81ceb551258163531988b435142cf927e2","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"6ae87f81ceb551258163531988b435142cf927e2","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.8.tgz"},"directories":{}},"1.2.9":{"name":"accepts","version":"1.2.9","dependencies":{"mime-types":"~2.1.1","negotiator":"0.5.3"},"devDependencies":{"istanbul":"0.3.14","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"66496bc5b99bfc99aa0fa96d160f8b5eec7f9b5d","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.9","_shasum":"76e9631d05e3ff192a34afb9389f7b3953ded001","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"76e9631d05e3ff192a34afb9389f7b3953ded001","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.9.tgz"},"directories":{}},"1.2.10":{"name":"accepts","version":"1.2.10","dependencies":{"mime-types":"~2.1.2","negotiator":"0.5.3"},"devDependencies":{"istanbul":"0.3.17","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"9afac08d5ab40aff6af007121672adc83d85ebf1","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.10","_shasum":"f825f151c0960914881625be845d04940691ef69","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"f825f151c0960914881625be845d04940691ef69","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.10.tgz"},"directories":{}},"1.2.11":{"name":"accepts","version":"1.2.11","dependencies":{"mime-types":"~2.1.3","negotiator":"0.5.3"},"devDependencies":{"istanbul":"0.3.17","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"c9c8adea7bb8395089ead858fc059a38e99ac3bc","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.11","_shasum":"d341c6e3b420489632f0f4f8d2ad4fd9ddf374e0","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"d341c6e3b420489632f0f4f8d2ad4fd9ddf374e0","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.11.tgz"},"directories":{}},"1.2.12":{"name":"accepts","version":"1.2.12","dependencies":{"mime-types":"~2.1.4","negotiator":"0.5.3"},"devDependencies":{"istanbul":"0.3.17","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"f01900aa33b1089575bd29caea851a8a241df07c","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.12","_shasum":"7e6d880f473b5c48d46e3e35f71ea7c3b68514c3","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"7e6d880f473b5c48d46e3e35f71ea7c3b68514c3","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.12.tgz"},"directories":{}},"1.2.13":{"name":"accepts","version":"1.2.13","dependencies":{"mime-types":"~2.1.6","negotiator":"0.5.3"},"devDependencies":{"istanbul":"0.3.19","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"b7e15ecb25dacc0b2133ed0553d64f8a79537e01","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.13","_shasum":"e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz"},"directories":{}},"1.3.0":{"name":"accepts","version":"1.3.0","dependencies":{"mime-types":"~2.1.7","negotiator":"0.6.0"},"devDependencies":{"istanbul":"0.3.21","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"f4a54dfbc147808b2ed89428a52db858be0838d5","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.3.0","_shasum":"2341420f16d0b2d538a5898416ab0faa28912622","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"2341420f16d0b2d538a5898416ab0faa28912622","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.3.0.tgz"},"directories":{}},"1.3.1":{"name":"accepts","version":"1.3.1","dependencies":{"mime-types":"~2.1.9","negotiator":"0.6.0"},"devDependencies":{"istanbul":"0.4.2","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"6551051596cfcbd7aaaf9f02af8f487ce83cbf00","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.3.1","_shasum":"dc295faf85024e05b04f5a6faf5eec1d1fd077e5","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"dc295faf85024e05b04f5a6faf5eec1d1fd077e5","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.3.1.tgz"},"directories":{}},"1.3.2":{"name":"accepts","version":"1.3.2","dependencies":{"mime-types":"~2.1.10","negotiator":"0.6.0"},"devDependencies":{"istanbul":"0.4.2","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"abc38f70222e9c3b73d2f74f2259fbcc3fdd09ca","homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.3.2","_shasum":"9bfd7ddc497fdc1dad73a97b3f7cdc133929fac1","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"9bfd7ddc497fdc1dad73a97b3f7cdc133929fac1","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.3.2.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/accepts-1.3.2.tgz_1457497267109_0.11459392495453358"},"directories":{}},"1.3.3":{"name":"accepts","version":"1.3.3","dependencies":{"mime-types":"~2.1.11","negotiator":"0.6.1"},"devDependencies":{"istanbul":"0.4.3","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"3e925b1e65ed7da2798849683d49814680dfa426","homepage":"https://github.com/jshttp/accepts#readme","_id":"accepts@1.3.3","_shasum":"c3ca7434938648c3e0d9c1e328dd68b622c284ca","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"c3ca7434938648c3e0d9c1e328dd68b622c284ca","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/accepts-1.3.3.tgz_1462251932032_0.7092335098423064"},"directories":{}},"1.3.4":{"name":"accepts","version":"1.3.4","dependencies":{"mime-types":"~2.1.16","negotiator":"0.6.1"},"devDependencies":{"eslint":"3.19.0","eslint-config-standard":"10.2.1","eslint-plugin-import":"2.7.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-node":"5.1.1","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"71ea430741d6eb5484b6c67c95924540a98186a5","homepage":"https://github.com/jshttp/accepts#readme","_id":"accepts@1.3.4","_shasum":"86246758c7dd6d21a6474ff084a4740ec05eb21f","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"86246758c7dd6d21a6474ff084a4740ec05eb21f","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/accepts-1.3.4.tgz_1503455053008_0.43370609171688557"},"directories":{}},"1.3.5":{"name":"accepts","version":"1.3.5","dependencies":{"mime-types":"~2.1.18","negotiator":"0.6.1"},"devDependencies":{"eslint":"4.18.1","eslint-config-standard":"11.0.0","eslint-plugin-import":"2.9.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-node":"6.0.1","eslint-plugin-promise":"3.6.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"c38d0e968cdc1526f7cc7a718977ee76655c84f5","homepage":"https://github.com/jshttp/accepts#readme","_id":"accepts@1.3.5","_shasum":"eb777df6011723a3b14e8a72c0805c8e86746bd2","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"eb777df6011723a3b14e8a72c0805c8e86746bd2","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz","fileCount":5,"unpackedSize":16555},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/accepts_1.3.5_1519869527663_0.6663620712347182"},"_hasShrinkwrap":false},"1.3.6":{"name":"accepts","version":"1.3.6","dependencies":{"mime-types":"~2.1.24","negotiator":"0.6.1"},"devDependencies":{"deep-equal":"1.0.1","eslint":"5.16.0","eslint-config-standard":"12.0.0","eslint-plugin-import":"2.17.2","eslint-plugin-markdown":"1.0.0","eslint-plugin-node":"8.0.1","eslint-plugin-promise":"4.1.1","eslint-plugin-standard":"4.0.0","istanbul":"0.4.5","mocha":"6.1.4"},"gitHead":"9073b101e04d52711ba05918b19f9aaa8ee93f64","homepage":"https://github.com/jshttp/accepts#readme","_id":"accepts@1.3.6","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-QsaoUD2dpVpjENy8JFpQnXP9vyzoZPmAoKrE3S6HtSB7qzSebkJNnmdY4p004FQUSSiHXPueENpoeuUW/7a8Ig==","shasum":"27de8682f0833e966dde5c5d7a63ec8523106e4b","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.3.6.tgz","fileCount":5,"unpackedSize":16622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcxdY4CRA9TVsSAnZWagAAwVsQAKRxXFaYDKxfJF2Uo/Qc\ns5SyR5DD5cZNA+jAvBvbbHPMCN1Unqkyqvy7wqzyvK/4NbISi3zgkUqKBRfy\nt1twSdfeVorBx7RuL+RuzL9xB4xu7puksd7GzV/43gaclLN1/XHYgKfJnQTj\nUsqqhXLDWYo8GDJtKPh+i5wjOBNyLEa1Ygyhl7D/7+SlgK8fqRthR4UqRYg5\nOTsrRmYJTzMKKE+rmsPFHkYMK2VM0nITBzCBAqAr5dIQjOG0fkUPOqQKAJ4M\nSR1+mcrWZfU7qEUKcGtVpRaZufRYpdS9DfB4I+8nDIjuSoDLjkLD5NsZddZt\nvHjDzQMttHTlnKBhTCLq1FtbXgZ+IrEbRwzCYhbCmQIJXX39w1eDWUydUHuQ\nElPS2kYBFtrSWMrrtuVjXC2eXf3vbGX+i+iQyoN8+ZJgqFydLjXT8e5oFCki\nSQNK5x9MyVJfiXBM2tv363GEPfd3r7eW5Uo6KjMTS/OrzLFCZImlaoUsUy1P\nj/4gDyUWlYrOO7500hVj+4+a0aqvK/IarS4ozBYiWMQLENlLvJilcPNTINv2\nE2ljP0xi0P/c8ryFghSB3cpvMbAe+goCo8WGq3CXXcmlIbHnc1+cZnQUv2Jp\nMdVdCmhEfCZE9iTiRmJOGJrmWHU1IOLJVlEsKJT4twNY1K9bz31KeIuCnxG9\nmvTH\r\n=JCfs\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/accepts_1.3.6_1556469304437_0.6314449329354344"},"_hasShrinkwrap":false},"1.3.7":{"name":"accepts","version":"1.3.7","dependencies":{"mime-types":"~2.1.24","negotiator":"0.6.2"},"devDependencies":{"deep-equal":"1.0.1","eslint":"5.16.0","eslint-config-standard":"12.0.0","eslint-plugin-import":"2.17.2","eslint-plugin-markdown":"1.0.0","eslint-plugin-node":"8.0.1","eslint-plugin-promise":"4.1.1","eslint-plugin-standard":"4.0.0","mocha":"6.1.4","nyc":"14.0.0"},"gitHead":"2a6e060aebb52813fdb074e9e7f66da1cfa61902","homepage":"https://github.com/jshttp/accepts#readme","_id":"accepts@1.3.7","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==","shasum":"531bc726517a3b2b41f850021c6cc15eaab507cd","tarball":"https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz","fileCount":5,"unpackedSize":16646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcx8PPCRA9TVsSAnZWagAAM+kP/jPydIHPrA4TftraRNde\nnxojlC9prOP0Sn9FxBvevf3S9zBFEa2sa5fVUP4LUkNmG57fcmroDAaXnllW\nof8elLx8Al27QtOUi5lZ36AZAJ/aYHtGcTPnLjZejZOido1Mi2h8em/4Rk7M\nK/1RhYxG48u6B1Q/ZPXyJ23r95/PqfBhzAmaAKUfYBrcCMU/WT1SPS6DLCKv\nQZ6Oj9DFFlK7R+L15vRG7U1qmyMjkOVgK+oaNev7fpR0qVtc92xhfomgfrSK\ngqTrj05bKu4KIpJwH/T5GieWE2w7s42Q5TlmgWh/OMJNUFs9rltoe9tyetJE\nJcpTPFysR2lX5DS3YYwjgyguy515sseGMOIts0+92oE53OCKIC0FzE3IbPQw\nmXQCsUXK2IR+p3JwpIUz0oMswN4JDZ4I+BLNIy6LLibTiWw12NKdg1BWK/Yw\nJqZ5cyUW+45S3i82slyGttRABPS6WXq3CU5SqVp8+EUnwKqMceglw/b9dLfk\n0OiaPGGqUU48012PNNkqu1ERWqbb0JaGAlSrmaQRofGnceuAXvv2lCvAdhyc\n1hD32bl54Xox1ejJMCihiFJQCEOpTXrIEfXUEbyJFzSIZwaCW2uIP1OkYs9W\nPLWCaBiMcE12foiMMqv0cO1QrLYRyW1OPPttUhQoxbk//uKTMlrKPUjZM5PE\nR3Kk\r\n=HEy7\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/accepts_1.3.7_1556595662948_0.6750107293886682"},"_hasShrinkwrap":false}},"time":{"modified":"2019-04-30T03:41:05.722Z","created":"2013-12-27T21:42:44.260Z","1.0.0":"2013-12-27T21:42:44.260Z","1.0.1":"2014-01-18T10:45:26.867Z","1.0.2":"2014-05-29T17:39:16.522Z","1.0.3":"2014-06-12T02:20:47.089Z","1.0.4":"2014-06-20T09:14:35.360Z","1.0.5":"2014-06-20T18:09:25.636Z","1.0.6":"2014-06-25T00:41:01.419Z","1.0.7":"2014-07-04T16:44:27.323Z","1.1.0":"2014-09-02T08:42:07.312Z","1.1.1":"2014-09-29T02:33:19.048Z","1.1.2":"2014-10-15T05:46:17.738Z","1.1.3":"2014-11-09T22:54:13.630Z","1.1.4":"2014-12-10T20:46:16.678Z","1.2.0":"2014-12-19T18:39:58.872Z","1.2.1":"2014-12-30T16:53:59.673Z","1.2.2":"2014-12-30T23:03:52.908Z","1.2.3":"2015-02-01T06:44:08.286Z","1.2.4":"2015-02-15T02:26:32.170Z","1.2.5":"2015-03-14T02:00:21.101Z","1.2.6":"2015-05-07T13:19:34.052Z","1.2.7":"2015-05-11T02:38:21.186Z","1.2.8":"2015-06-08T04:36:45.130Z","1.2.9":"2015-06-08T15:33:29.234Z","1.2.10":"2015-07-01T20:17:54.682Z","1.2.11":"2015-07-17T03:21:56.994Z","1.2.12":"2015-07-31T02:33:20.250Z","1.2.13":"2015-09-07T02:59:01.117Z","1.3.0":"2015-09-30T01:30:22.953Z","1.3.1":"2016-01-20T04:49:25.286Z","1.3.2":"2016-03-09T04:21:11.635Z","1.3.3":"2016-05-03T05:05:33.253Z","1.3.4":"2017-08-23T02:24:13.961Z","1.3.5":"2018-03-01T01:58:47.742Z","1.3.6":"2019-04-28T16:35:04.574Z","1.3.7":"2019-04-30T03:41:03.144Z"},"readmeFilename":"README.md","homepage":"https://github.com/jshttp/accepts#readme"} \ No newline at end of file diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/express.json b/lib/manager/npm/update/locked-dependency/__fixtures__/express.json new file mode 100644 index 0000000000000000000000000000000000000000..e02c672f69d0b5c206547a6b6b678b0628661eac --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/__fixtures__/express.json @@ -0,0 +1 @@ +{"_id":"express","_rev":"3912-31430c0b35709bba7672dd2a16f35aa9","name":"express","dist-tags":{"latest":"4.17.1","next":"5.0.0-alpha.8"},"versions":{"0.14.0":{"name":"express","version":"0.14.0","directories":{"lib":"./lib"},"_id":"express@0.14.0","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/express/-/express-0.14.0.tgz","shasum":"7b33a9fb54c605a3be46c1d3dbbc821acf1d2efb"},"deprecated":"express 0.x series is deprecated"},"0.14.1":{"name":"express","version":"0.14.1","directories":{"lib":"./lib"},"_id":"express@0.14.1","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/express/-/express-0.14.1.tgz","shasum":"40b0119ea0549892b03b5bb56c79cdff468d04b4"},"deprecated":"express 0.x series is deprecated"},"1.0.0":{"name":"express","version":"1.0.0","dependencies":{"connect":">= 0.3.0"},"directories":{"lib":"./lib/express"},"bin":{"express":"./bin/express"},"_id":"express@1.0.0","_nodeSupported":true,"_npmVersion":"0.2.7-3","_nodeVersion":"v0.2.4","dist":{"tarball":"https://registry.npmjs.org/express/-/express-1.0.0.tgz","shasum":"48a43d78a96eb9232f631d23cc8de8f854d8e0e9"},"deprecated":"express 1.x series is deprecated"},"1.0.1":{"name":"express","version":"1.0.1","dependencies":{"connect":">= 0.3.0"},"directories":{"lib":"./lib/express"},"bin":{"express":"./bin/express"},"_id":"express@1.0.1","_engineSupported":true,"_npmVersion":"0.2.13-1","_nodeVersion":"v0.2.5","dist":{"shasum":"53ad8442c3feb46588f08698f1872c4dbf24137f","tarball":"https://registry.npmjs.org/express/-/express-1.0.1.tgz"},"deprecated":"express 1.x series is deprecated"},"1.0.2":{"name":"express","version":"1.0.2","dependencies":{"connect":">= 0.3.0"},"directories":{"lib":"./lib/express"},"bin":{"express":"./bin/express"},"_id":"express@1.0.2","_engineSupported":true,"_npmVersion":"0.2.13-1","_nodeVersion":"v0.2.6","dist":{"shasum":"5985fd1986b2275d8e96976a8b8de011dc823e0d","tarball":"https://registry.npmjs.org/express/-/express-1.0.2.tgz"},"deprecated":"express 1.x series is deprecated"},"1.0.3":{"name":"express","version":"1.0.3","dependencies":{"connect":">= 0.3.0"},"directories":{"lib":"./lib/express"},"bin":{"express":"./bin/express"},"_id":"express@1.0.3","_engineSupported":true,"_npmVersion":"0.2.13-1","_nodeVersion":"v0.2.6","dist":{"shasum":"e07fd860c4af7ffddc77653fd1fd930fce26cb61","tarball":"https://registry.npmjs.org/express/-/express-1.0.3.tgz"},"deprecated":"express 1.x series is deprecated"},"1.0.4":{"name":"express","version":"1.0.4","dependencies":{"connect":">= 0.5.x","qs":">= 0.0.1"},"directories":{"lib":"./lib/express","bin":"./bin"},"bin":{"express":"./bin/express"},"_id":"express@1.0.4","_engineSupported":true,"_npmVersion":"0.2.16","_nodeVersion":"v0.2.6","modules":{"index.js":"lib/express/index.js","request.js":"lib/express/request.js","response.js":"lib/express/response.js","server.js":"lib/express/server.js","utils.js":"lib/express/utils.js","view.js":"lib/express/view.js"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"fab80c530d40b04f4f558f7f03b2cbf0f9040b14","tarball":"https://registry.npmjs.org/express/-/express-1.0.4.tgz"},"deprecated":"express 1.x series is deprecated"},"1.0.5":{"name":"express","version":"1.0.5","dependencies":{"connect":">= 0.5.0","qs":">= 0.0.2"},"directories":{"lib":"./lib/express","bin":"./bin"},"bin":{"express":"./bin/express"},"_id":"express@1.0.5","_engineSupported":true,"_npmVersion":"0.2.16","_nodeVersion":"v0.2.6","modules":{"index.js":"lib/express/index.js","request.js":"lib/express/request.js","response.js":"lib/express/response.js","server.js":"lib/express/server.js","utils.js":"lib/express/utils.js","view.js":"lib/express/view.js"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"2d32dff93a8c454e9a717c43b856c5369efc2856","tarball":"https://registry.npmjs.org/express/-/express-1.0.5.tgz"},"deprecated":"express 1.x series is deprecated"},"1.0.6":{"name":"express","version":"1.0.6","dependencies":{"connect":">= 0.5.0","qs":">= 0.0.2"},"directories":{"lib":"./lib/express","bin":"./bin"},"bin":{"express":"./bin/express"},"_id":"express@1.0.6","_engineSupported":true,"_npmVersion":"0.2.16","_nodeVersion":"v0.2.6","modules":{"index.js":"lib/express/index.js","request.js":"lib/express/request.js","response.js":"lib/express/response.js","server.js":"lib/express/server.js","utils.js":"lib/express/utils.js","view.js":"lib/express/view.js"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"9aee1508f0e9ce4cc2eabdda94ec8793898306f9","tarball":"https://registry.npmjs.org/express/-/express-1.0.6.tgz"},"deprecated":"express 1.x series is deprecated"},"1.0.7":{"name":"express","version":"1.0.7","dependencies":{"connect":">= 0.5.0","qs":">= 0.0.2"},"directories":{"lib":"./lib/express","bin":"./bin"},"bin":{"express":"./bin/express"},"_id":"express@1.0.7","_engineSupported":true,"_npmVersion":"0.2.16","_nodeVersion":"v0.2.6","modules":{"index.js":"lib/express/index.js","request.js":"lib/express/request.js","response.js":"lib/express/response.js","server.js":"lib/express/server.js","utils.js":"lib/express/utils.js","view.js":"lib/express/view.js"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"ccb14eee039e4177ce410fe5f074e96f68629e6c","tarball":"https://registry.npmjs.org/express/-/express-1.0.7.tgz"},"deprecated":"express 1.x series is deprecated"},"1.0.8":{"name":"express","version":"1.0.8","dependencies":{"connect":">= 0.5.0 < 1.0.0","qs":">= 0.0.5"},"directories":{"lib":"./lib/express","bin":"./bin"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@1.0.8","_engineSupported":false,"_npmVersion":"0.3.13","_nodeVersion":"v0.4.2","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"fe254667ad612c23dd87d61180dc194cda1f7d38","tarball":"https://registry.npmjs.org/express/-/express-1.0.8.tgz"},"deprecated":"express 1.x series is deprecated"},"2.0.0":{"name":"express","version":"2.0.0","dependencies":{"connect":">= 1.1.0 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.0.0","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.2","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"f9f715cf54e9b6f3f00115fe7e1188964d0a74b2","tarball":"https://registry.npmjs.org/express/-/express-2.0.0.tgz"},"deprecated":"express 2.x series is deprecated"},"2.1.0":{"name":"express","version":"2.1.0","dependencies":{"connect":">= 1.1.1 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.1.0","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.3","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"34542d68cf298d5a89d74dc1c8f96b5c4e1b00a7","tarball":"https://registry.npmjs.org/express/-/express-2.1.0.tgz"},"deprecated":"express 2.x series is deprecated"},"2.1.1":{"name":"express","version":"2.1.1","dependencies":{"connect":">= 1.1.1 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.1.1","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.3","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"4ab83c3509050ef917532cdb174bc23d8a007af4","tarball":"https://registry.npmjs.org/express/-/express-2.1.1.tgz"},"deprecated":"express 2.x series is deprecated"},"2.2.0":{"name":"express","version":"2.2.0","dependencies":{"connect":">= 1.2.0 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.2.0","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.3","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"ab38a7eaad67a1c28495021a798d234086d73dea","tarball":"https://registry.npmjs.org/express/-/express-2.2.0.tgz"},"deprecated":"express 2.x series is deprecated"},"2.2.1":{"name":"express","version":"2.2.1","dependencies":{"connect":">= 1.2.0 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.2.1","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.4","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"a4937f9d5e661282cd62d88e227132f79ccbe25f","tarball":"https://registry.npmjs.org/express/-/express-2.2.1.tgz"},"deprecated":"express 2.x series is deprecated"},"2.2.2":{"name":"express","version":"2.2.2","dependencies":{"connect":">= 1.3.0 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.2.2","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.5","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"19c26d4cd36018896fc90a9eef3300052b3e01d2","tarball":"https://registry.npmjs.org/express/-/express-2.2.2.tgz"},"deprecated":"express 2.x series is deprecated"},"2.3.0":{"name":"express","version":"2.3.0","dependencies":{"connect":">= 1.4.0 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.3.0","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.4.6","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"c32ae9a32a364077976352349eac54820cf21e3e","tarball":"https://registry.npmjs.org/express/-/express-2.3.0.tgz"},"deprecated":"express 2.x series is deprecated"},"2.3.1":{"name":"express","version":"2.3.1","dependencies":{"connect":">= 1.4.0 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.3.1","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.4.6","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"15a9459c9b9e785d52d14a62595a29d7cbab4882","tarball":"https://registry.npmjs.org/express/-/express-2.3.1.tgz"},"deprecated":"express 2.x series is deprecated"},"2.3.2":{"name":"express","version":"2.3.2","dependencies":{"connect":">= 1.4.0 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.3.2","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.4.6","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"ad6a3071d59a3bf1a4ed0b1b2942d9f0e510a028","tarball":"https://registry.npmjs.org/express/-/express-2.3.2.tgz"},"deprecated":"express 2.x series is deprecated"},"2.3.3":{"name":"express","version":"2.3.3","dependencies":{"connect":">= 1.4.0 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"devDependencies":{},"_id":"express@2.3.3","_engineSupported":true,"_npmVersion":"1.0.3","_nodeVersion":"v0.4.7","_defaultsLoaded":true,"dist":{"shasum":"936507d26e0433598679a645a87e403b3292547c","tarball":"https://registry.npmjs.org/express/-/express-2.3.3.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.3.4":{"name":"express","version":"2.3.4","dependencies":{"connect":">= 1.4.0 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"devDependencies":{},"_id":"express@2.3.4","_engineSupported":true,"_npmVersion":"1.0.3","_nodeVersion":"v0.4.7","_defaultsLoaded":true,"dist":{"shasum":"8db976504b3f7f1da32abc845c45c20610a1ffd0","tarball":"https://registry.npmjs.org/express/-/express-2.3.4.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.3.5":{"name":"express","version":"2.3.5","dependencies":{"connect":">= 1.4.0 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"devDependencies":{},"_id":"express@2.3.5","_engineSupported":true,"_npmVersion":"1.0.3","_nodeVersion":"v0.4.7","_defaultsLoaded":true,"dist":{"shasum":"a3113d0d9db4ea118e2c12b044a04c16741e799b","tarball":"https://registry.npmjs.org/express/-/express-2.3.5.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.3.6":{"name":"express","version":"2.3.6","dependencies":{"connect":">= 1.4.1 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.3.6","_engineSupported":true,"_npmVersion":"1.0.3","_nodeVersion":"v0.4.7","_defaultsLoaded":true,"dist":{"shasum":"8598e2995fc7c7427b7c3aed53837be652e873c7","tarball":"https://registry.npmjs.org/express/-/express-2.3.6.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.3.7":{"name":"express","version":"2.3.7","dependencies":{"connect":">= 1.4.1 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.3.7","_engineSupported":true,"_npmVersion":"1.0.3","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"6d008ca32c4a23110032e67f4c40843c068e13b7","tarball":"https://registry.npmjs.org/express/-/express-2.3.7.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.3.8":{"name":"express","version":"2.3.8","dependencies":{"connect":">= 1.4.1 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.3.8","_engineSupported":true,"_npmVersion":"1.0.3","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"fac5808b93b5abf84906c886fe314a0d4f44fa89","tarball":"https://registry.npmjs.org/express/-/express-2.3.8.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.3.9":{"name":"express","version":"2.3.9","dependencies":{"connect":">= 1.4.1 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.3.9","_engineSupported":true,"_npmVersion":"1.0.3","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"e5b6a5dc5452e9bcaf8936297f9f0e111b71a2a7","tarball":"https://registry.npmjs.org/express/-/express-2.3.9.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.3.10":{"name":"express","version":"2.3.10","dependencies":{"connect":">= 1.4.1 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.3.10","_engineSupported":true,"_npmVersion":"1.0.3","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"09b5e939b28af0705d1ac46265c703db1016310c","tarball":"https://registry.npmjs.org/express/-/express-2.3.10.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.3.11":{"name":"express","version":"2.3.11","dependencies":{"connect":">= 1.4.1 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.3.11","_engineSupported":true,"_npmVersion":"1.0.3","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"1dcd3a404332565a64c8290797e183707612f25a","tarball":"https://registry.npmjs.org/express/-/express-2.3.11.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.3.12":{"name":"express","version":"2.3.12","dependencies":{"connect":">= 1.5.1 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmJsonOpts":{"file":"/Users/tj/.npm/express/2.3.12/package/package.json","wscript":false,"serverjs":false},"_id":"express@2.3.12","_engineSupported":true,"_npmVersion":"1.0.14","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"9e750c8e50ff976f89b4ed9e1ca6d534bad23014","tarball":"https://registry.npmjs.org/express/-/express-2.3.12.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.4.0":{"name":"express","version":"2.4.0","dependencies":{"connect":">= 1.5.1 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmJsonOpts":{"file":"/Users/tj/.npm/express/2.4.0/package/package.json","wscript":false,"serverjs":false},"_id":"express@2.4.0","_engineSupported":true,"_npmVersion":"1.0.14","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"c6cad05e9ec481a91e3817ca25cfd55ea37c00ce","tarball":"https://registry.npmjs.org/express/-/express-2.4.0.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.4.1":{"name":"express","version":"2.4.1","dependencies":{"connect":">= 1.5.2 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmJsonOpts":{"file":"/Users/tj/.npm/express/2.4.1/package/package.json","wscript":false,"serverjs":false},"_id":"express@2.4.1","_engineSupported":true,"_npmVersion":"1.0.14","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"006d435d5ca4332e51cc56ec3a69c707e40d62b4","tarball":"https://registry.npmjs.org/express/-/express-2.4.1.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.4.2":{"name":"express","version":"2.4.2","dependencies":{"connect":">= 1.5.2 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmJsonOpts":{"file":"/Users/tj/.npm/express/2.4.2/package/package.json","wscript":false,"serverjs":false},"_id":"express@2.4.2","_engineSupported":true,"_npmVersion":"1.0.14","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"bfdd3dfd9c387e3196ac9dc8c7ff8d3a930d4d1a","tarball":"https://registry.npmjs.org/express/-/express-2.4.2.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.4.3":{"name":"express","version":"2.4.3","dependencies":{"connect":">= 1.5.2 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmJsonOpts":{"file":"/Users/tj/.npm/express/2.4.3/package/package.json","wscript":false,"serverjs":false},"_id":"express@2.4.3","_engineSupported":true,"_npmVersion":"1.0.14","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"5f52dd1e2cddbb83b3483cfb4c8c5c24d3975450","tarball":"https://registry.npmjs.org/express/-/express-2.4.3.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.4.4":{"name":"express","version":"2.4.4","dependencies":{"connect":">= 1.5.2 < 2.0.0","mime":">= 0.0.1","qs":">= 0.3.0"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmJsonOpts":{"file":"/Users/tj/.npm/express/2.4.4/package/package.json","wscript":false,"serverjs":false},"_id":"express@2.4.4","_engineSupported":true,"_npmVersion":"1.0.24","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"ae677e39c6f489e328cb7994b88ebee7db19b6d9","tarball":"https://registry.npmjs.org/express/-/express-2.4.4.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.4.5":{"name":"express","version":"2.4.5","dependencies":{"connect":">= 1.5.2 < 2.0.0","mime":">= 0.0.1","qs":">= 0.3.1"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmJsonOpts":{"file":"/Users/tj/.npm/express/2.4.5/package/package.json","wscript":false,"serverjs":false},"_id":"express@2.4.5","_engineSupported":true,"_npmVersion":"1.0.24","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"b042984190df1ea06cc6e89c3eb4dfa848376322","tarball":"https://registry.npmjs.org/express/-/express-2.4.5.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.4.6":{"name":"express","version":"2.4.6","dependencies":{"connect":">= 1.5.2 < 2.0.0","mime":">= 0.0.1","qs":">= 0.3.1"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmJsonOpts":{"file":"/Users/tj/.npm/express/2.4.6/package/package.json","wscript":false,"serverjs":false},"_id":"express@2.4.6","_engineSupported":true,"_npmVersion":"1.0.24","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"df8152c5a40bd89ad74ab07e5ef999fac5a00916","tarball":"https://registry.npmjs.org/express/-/express-2.4.6.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.4.7":{"name":"express","version":"2.4.7","dependencies":{"connect":"1.7.x","mime":">= 0.0.1","qs":">= 0.3.1","mkdirp":"0.0.7"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.7.2","hamljs":"0.5.1","jade":"0.11.0","stylus":"0.13.0","should":"0.2.1","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmJsonOpts":{"file":"/Users/tj/.npm/express/2.4.7/package/package.json","wscript":false,"serverjs":false},"_id":"express@2.4.7","_engineSupported":true,"_npmVersion":"1.0.24","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"872bbf5427e062100901ade6e80ff577ac24de3f","tarball":"https://registry.npmjs.org/express/-/express-2.4.7.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.5.0":{"name":"express","version":"2.5.0","dependencies":{"connect":"1.7.x","mime":">= 0.0.1","qs":">= 0.3.1","mkdirp":"0.0.7"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.9.2","hamljs":"0.5.1","jade":"0.16.2","stylus":"0.13.0","should":"0.3.2","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmJsonOpts":{"file":"/Users/tj/.npm/express/2.5.0/package/package.json","wscript":false,"serverjs":false},"_id":"express@2.5.0","_engineSupported":true,"_npmVersion":"1.0.24","_nodeVersion":"v0.5.9","_defaultsLoaded":true,"dist":{"shasum":"3f9716eaa0e7380025fbb2c6c9942e3d9c9ed3b9","tarball":"https://registry.npmjs.org/express/-/express-2.5.0.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.5.1":{"name":"express","version":"2.5.1","dependencies":{"connect":"1.8.x","mime":">= 0.0.1","qs":">= 0.3.1","mkdirp":"0.0.7"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.9.2","hamljs":"0.5.1","jade":"0.16.2","stylus":"0.13.0","should":"0.3.2","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@2.5.1","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"0644284c2c219264e2955fe94717ce7b462cd5d6","tarball":"https://registry.npmjs.org/express/-/express-2.5.1.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.5.2":{"name":"express","version":"2.5.2","dependencies":{"connect":"1.8.x","mime":">= 0.0.1","qs":">= 0.3.1","mkdirp":"0.0.7"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.9.2","hamljs":"0.5.1","jade":"0.16.2","stylus":"0.13.0","should":"0.3.2","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@2.5.2","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"d58c41f7dff9a69696cffcc8e9bde4e81cbbcbef","tarball":"https://registry.npmjs.org/express/-/express-2.5.2.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.5.3":{"name":"express","version":"2.5.3","dependencies":{"connect":"1.x","mime":">= 0.0.1","qs":">= 0.3.1","mkdirp":"0.0.7"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.9.2","hamljs":"0.5.1","jade":"0.16.2","stylus":"0.13.0","should":"0.3.2","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@2.5.3","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.6","_defaultsLoaded":true,"dist":{"shasum":"65c909b778715753797129b9ea39bca6a248d6f1","tarball":"https://registry.npmjs.org/express/-/express-2.5.3.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.5.4":{"name":"express","version":"2.5.4","dependencies":{"connect":"1.x","mime":">= 0.0.1","qs":">= 0.3.1","mkdirp":"0.0.7"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.9.2","hamljs":"0.5.1","jade":"0.16.2","stylus":"0.13.0","should":"0.3.2","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@2.5.4","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"3090710723a13acfe000817b0fbeea13d8faee4b","tarball":"https://registry.npmjs.org/express/-/express-2.5.4.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.5.5":{"name":"express","version":"2.5.5","dependencies":{"connect":"1.x","mime":">= 0.0.1","qs":">= 0.3.1","mkdirp":"0.0.7"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.9.2","hamljs":"0.5.1","jade":"0.16.2","stylus":"0.13.0","should":"0.3.2","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@2.5.5","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"d15d4ffe5c420adda0645680361bb21c836b6e7c","tarball":"https://registry.npmjs.org/express/-/express-2.5.5.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.5.6":{"name":"express","version":"2.5.6","dependencies":{"connect":"1.x","mime":">= 0.0.1","qs":">= 0.3.1","mkdirp":"0.0.7"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.9.2","hamljs":"0.6.x","jade":"0.16.2","stylus":"0.13.0","should":"0.3.2","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@2.5.6","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"1f2a96d01e1285797dae715d9ac93d9c60dd772a","tarball":"https://registry.npmjs.org/express/-/express-2.5.6.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.5.7":{"name":"express","version":"2.5.7","dependencies":{"connect":"1.x","mime":">= 0.0.1","qs":">= 0.3.1","mkdirp":"0.0.7"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.9.2","hamljs":"0.6.x","jade":"0.16.2","stylus":"0.13.0","should":"0.3.2","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@2.5.7","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"9f8fa92be38cb3c11959e99e18806cda19fd359f","tarball":"https://registry.npmjs.org/express/-/express-2.5.7.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.5.8":{"name":"express","version":"2.5.8","dependencies":{"connect":"1.x","mime":"1.2.4","qs":"0.4.x","mkdirp":"0.3.0"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.9.2","hamljs":"0.6.x","jade":"0.16.2","stylus":"0.13.0","should":"0.3.2","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@2.5.8","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"f166b55d4e8c6d2307ef88ad1768209613f7452a","tarball":"https://registry.npmjs.org/express/-/express-2.5.8.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.5.9":{"name":"express","version":"2.5.9","dependencies":{"connect":"1.x","mime":"1.2.4","qs":"0.4.x","mkdirp":"0.3.0"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.9.2","hamljs":"0.6.x","jade":"0.16.2","stylus":"0.13.0","should":"0.3.2","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@2.5.9","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.9","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"62d111ccaccf425182e1f30e541f84b551a72f2c","tarball":"https://registry.npmjs.org/express/-/express-2.5.9.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.5.10":{"name":"express","version":"2.5.10","dependencies":{"connect":"1.x","mime":"1.2.4","qs":"0.4.x","mkdirp":"0.3.0"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.9.2","hamljs":"0.6.x","jade":"0.16.2","stylus":"0.13.0","should":"0.3.2","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@2.5.10","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.24","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"b1cdaf0c7e98e33125e6f8476800bdeb7f7efc8a","tarball":"https://registry.npmjs.org/express/-/express-2.5.10.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"2.5.11":{"name":"express","version":"2.5.11","dependencies":{"connect":"1.x","mime":"1.2.4","qs":"0.4.x","mkdirp":"0.3.0"},"devDependencies":{"connect-form":"0.2.1","ejs":"0.4.2","expresso":"0.9.2","hamljs":"0.6.x","jade":"0.16.2","stylus":"0.13.0","should":"0.3.2","express-messages":"0.0.2","node-markdown":">= 0.0.1","connect-redis":">= 0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.5.11","dist":{"shasum":"4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0","tarball":"https://registry.npmjs.org/express/-/express-2.5.11.tgz"},"directories":{},"deprecated":"express 2.x series is deprecated"},"3.0.0":{"name":"express","version":"3.0.0","dependencies":{"connect":"2.6.0","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.4","crc":"0.2.0","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.0","dist":{"shasum":"41e202f3627ea442be9e86d5ec51246ad72339ed","tarball":"https://registry.npmjs.org/express/-/express-3.0.0.tgz"},"_npmVersion":"1.1.63","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.0.1":{"name":"express","version":"3.0.1","dependencies":{"connect":"2.6.2","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.4","crc":"0.2.0","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"0.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.1","dist":{"shasum":"36a5008d158a97e82817f45b89561633b61a1be8","tarball":"https://registry.npmjs.org/express/-/express-3.0.1.tgz"},"_npmVersion":"1.1.65","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.0.2":{"name":"express","version":"3.0.2","dependencies":{"connect":"2.6.2","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.4","crc":"0.2.0","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"0.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.2","dist":{"shasum":"fd93ed32f9a938cf79b7c4df95a2458d412f09b9","tarball":"https://registry.npmjs.org/express/-/express-3.0.2.tgz"},"_npmVersion":"1.1.65","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.0.3":{"name":"express","version":"3.0.3","dependencies":{"connect":"2.7.0","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.5","crc":"0.2.0","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"0.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.3","dist":{"shasum":"007c7590b1ab31219e6d8d71f86ad5086204868c","tarball":"https://registry.npmjs.org/express/-/express-3.0.3.tgz"},"_npmVersion":"1.1.65","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.0.4":{"name":"express","version":"3.0.4","dependencies":{"connect":"2.7.1","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.5","buffer-crc32":"0.1.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"0.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.4","dist":{"shasum":"04a8e939145940a6bb3b215d736ec2c1584ee0a8","tarball":"https://registry.npmjs.org/express/-/express-3.0.4.tgz"},"_npmVersion":"1.1.68","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.0.5":{"name":"express","version":"3.0.5","dependencies":{"connect":"2.7.1","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.5","buffer-crc32":"0.1.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"0.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.5","dist":{"shasum":"4c6e5850e6b5e8ca2af57f21ed7097de50948b73","tarball":"https://registry.npmjs.org/express/-/express-3.0.5.tgz"},"_npmVersion":"1.1.66","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.0.6":{"name":"express","version":"3.0.6","dependencies":{"connect":"2.7.2","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.5","buffer-crc32":"0.1.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"0.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.6","dist":{"shasum":"d274fcb868b95788bf4af62168d75d13fd77d8b4","tarball":"https://registry.npmjs.org/express/-/express-3.0.6.tgz"},"_npmVersion":"1.1.66","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.1.0":{"name":"express","version":"3.1.0","dependencies":{"connect":"2.7.2","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.5","buffer-crc32":"0.1.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"0.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.1.0","dist":{"shasum":"f869b2d92320f5c3dd496c172e06f02b6ad43310","tarball":"https://registry.npmjs.org/express/-/express-3.1.0.tgz"},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.1.1":{"name":"express","version":"3.1.1","dependencies":{"connect":"2.7.4","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"~0.3.4","cookie":"0.0.5","buffer-crc32":"~0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"0.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.1.1","dist":{"shasum":"2cc065f642856be506686399aadeff375a701468","tarball":"https://registry.npmjs.org/express/-/express-3.1.1.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.1.2":{"name":"express","version":"3.1.2","dependencies":{"connect":"2.7.5","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"~0.3.4","cookie":"0.0.5","buffer-crc32":"~0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"1.0.0","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.1.2","dist":{"shasum":"52a02c8db8f22bbfa0d7478d847cd45161f985f7","tarball":"https://registry.npmjs.org/express/-/express-3.1.2.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.2.0":{"name":"express","version":"3.2.0","dependencies":{"connect":"2.7.6","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"~0.3.4","cookie":"0.0.5","buffer-crc32":"~0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.2.0","dist":{"shasum":"7b66d6c66b038038eedf452804222b3077374ae0","tarball":"https://registry.npmjs.org/express/-/express-3.2.0.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.2.1":{"name":"express","version":"3.2.1","dependencies":{"connect":"2.7.7","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.4","cookie":"0.0.5","buffer-crc32":"0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"1.0.1","debug":"*","qs":"0.6.1"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.2.1","dist":{"shasum":"fd9ce6c0b8e4fda80772cef9af6e756434628d84","tarball":"https://registry.npmjs.org/express/-/express-3.2.1.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.2.2":{"name":"express","version":"3.2.2","dependencies":{"connect":"2.7.8","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.4","cookie":"0.0.5","buffer-crc32":"0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"1.0.1","debug":"*","qs":"0.6.3"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.2.2","dist":{"shasum":"22c6cb2e0efc20833670425cd820c5f4bb119f8b","tarball":"https://registry.npmjs.org/express/-/express-3.2.2.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.2.3":{"name":"express","version":"3.2.3","dependencies":{"connect":"2.7.9","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.4","cookie":"0.0.5","buffer-crc32":"0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"1.0.1","debug":"*","qs":"0.6.4"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.2.3","dist":{"shasum":"9952eb764953ad40e4caa1f0b8715f7ba667f477","tarball":"https://registry.npmjs.org/express/-/express-3.2.3.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.2.4":{"name":"express","version":"3.2.4","dependencies":{"connect":"2.7.9","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.4","cookie":"0.0.5","buffer-crc32":"0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.2.4","dist":{"shasum":"f39fcba9a224011058fb581647688b12df94f585","tarball":"https://registry.npmjs.org/express/-/express-3.2.4.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.2.5":{"name":"express","version":"3.2.5","dependencies":{"connect":"2.7.10","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.4","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.2.5","dist":{"shasum":"d2c86134d9fa1573b8004d23c6dc0d50bc8efe20","tarball":"https://registry.npmjs.org/express/-/express-3.2.5.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.2.6":{"name":"express","version":"3.2.6","dependencies":{"connect":"2.7.11","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.4","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.2.6","dist":{"shasum":"d8a9fe065adc23c5b41ec2c689c672b261430ffc","tarball":"https://registry.npmjs.org/express/-/express-3.2.6.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.3.0":{"name":"express","version":"3.3.0","dependencies":{"connect":"2.8.0","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.4","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.1","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"*","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.3.0","dist":{"shasum":"f89f8fc1ddfb7ffdfc9db3103a75881cd64dce7f","tarball":"https://registry.npmjs.org/express/-/express-3.3.0.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.3.1":{"name":"express","version":"3.3.1","dependencies":{"connect":"2.8.1","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.4","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.1","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"*","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.3.1","dist":{"shasum":"4bb79fb3548313d9e1a49ffdc5aa369a936127d7","tarball":"https://registry.npmjs.org/express/-/express-3.3.1.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.3.2":{"name":"express","version":"3.3.2","dependencies":{"connect":"2.8.2","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.4","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.2","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"*","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.3.2","dist":{"shasum":"d70c4888da2f35c9fa80e6747323ec6afeb6f947","tarball":"https://registry.npmjs.org/express/-/express-3.3.2.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.3.3":{"name":"express","version":"3.3.3","dependencies":{"connect":"2.8.3","commander":"1.2.0","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.2","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"*","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.3.3","dist":{"shasum":"c9b5244edad7c6b85dae94e5cf1b29162470c933","tarball":"https://registry.npmjs.org/express/-/express-3.3.3.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.3.4":{"name":"express","version":"3.3.4","dependencies":{"connect":"2.8.4","commander":"1.2.0","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.1.0","methods":"0.0.1","send":"0.1.3","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"*","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.3.4","dist":{"shasum":"9abf22017213a8f6f54a421ce22b8ec27b7def62","tarball":"https://registry.npmjs.org/express/-/express-3.3.4.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.3.5":{"name":"express","version":"3.3.5","dependencies":{"connect":"2.8.5","commander":"1.2.0","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.0.1","send":"0.1.4","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"*","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.3.5","dist":{"shasum":"3fd077660c9ccae4710fcfb326290a01d1e72566","tarball":"https://registry.npmjs.org/express/-/express-3.3.5.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.3.6":{"name":"express","version":"3.3.6","dependencies":{"connect":"2.8.5","commander":"1.2.0","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.0.1","send":"0.1.4","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"*","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.3.6","dist":{"shasum":"c1082fdb55b9de2ce399252eb4e048da2ed9918d","tarball":"https://registry.npmjs.org/express/-/express-3.3.6.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"1.0.0-beta":{"name":"express","version":"1.0.0-beta","directories":{"lib":"./lib/express"},"bin":{"express":"./bin/express"},"_id":"express@1.0.0-beta","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/express/-/express-1.0.0beta.tgz","shasum":"f8c485ec1aa2d8612c667a0fca08603abdb27246"}},"1.0.0-beta2":{"name":"express","version":"1.0.0-beta2","directories":{"lib":"./lib/express"},"bin":{"express":"./bin/express"},"_id":"express@1.0.0-beta2","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/express/-/express-1.0.0beta2.tgz","shasum":"4e9f6f94405c969173e09a20ba3f0d27020ec9e9"}},"1.0.0-rc":{"name":"express","version":"1.0.0-rc","dependencies":{"connect":">= 0.2.2"},"directories":{"lib":"./lib/express"},"bin":{"express":"./bin/express"},"_id":"express@1.0.0-rc","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/express/-/express-1.0.0rc.tgz","shasum":"cc9545ae107dac12821f997e3dd43c5df223ba13"}},"1.0.0-rc2":{"name":"express","version":"1.0.0-rc2","dependencies":{"connect":">= 0.2.4"},"directories":{"lib":"./lib/express"},"bin":{"express":"./bin/express"},"_id":"express@1.0.0-rc2","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/express/-/express-1.0.0rc2.tgz","shasum":"040b7790e1ab041e8218835376c5d21bba634bac"}},"1.0.0-rc3":{"name":"express","version":"1.0.0-rc3","dependencies":{"connect":">= 0.2.5"},"directories":{"lib":"./lib/express"},"bin":{"express":"./bin/express"},"_id":"express@1.0.0-rc3","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/express/-/express-1.0.0rc3.tgz","shasum":"ae5ee7dfbe436192adad65c7817c5ae78a8b4f93"}},"1.0.0-rc4":{"name":"express","version":"1.0.0-rc4","dependencies":{"connect":">= 0.2.6"},"directories":{"lib":"./lib/express"},"bin":{"express":"./bin/express"},"_id":"express@1.0.0-rc4","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/express/-/express-1.0.0rc4.tgz","shasum":"c5363c021717c02728c692fedc632cac9a869160"}},"2.0.0-beta":{"name":"express","version":"2.0.0-beta","dependencies":{"connect":">= 1.0.1","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.0.0-beta","_engineSupported":true,"_npmVersion":"0.3.13","_nodeVersion":"v0.4.2","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"c2095479887128f161ee13211e7b886edb4d9f98","tarball":"https://registry.npmjs.org/express/-/express-2.0.0beta.tgz"}},"2.0.0-beta2":{"name":"express","version":"2.0.0-beta2","dependencies":{"connect":">= 1.0.1 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.0.0-beta2","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.1","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"274e49af300145688e87ed2f5c5e59f6e26af135","tarball":"https://registry.npmjs.org/express/-/express-2.0.0beta2.tgz"}},"2.0.0-beta3":{"name":"express","version":"2.0.0-beta3","dependencies":{"connect":">= 1.0.1 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.0.0-beta3","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.2","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"f9c1324023729c4eb96688023e989fe2f8565c61","tarball":"https://registry.npmjs.org/express/-/express-2.0.0beta3.tgz"}},"2.0.0-rc":{"name":"express","version":"2.0.0-rc","dependencies":{"connect":">= 1.0.1 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.0.0-rc","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.2","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"6d3da0301b6cdce94ee437ae40ae6c8c7f5d7ccf","tarball":"https://registry.npmjs.org/express/-/express-2.0.0rc.tgz"}},"2.0.0-rc2":{"name":"express","version":"2.0.0-rc2","dependencies":{"connect":">= 1.1.0 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.0.0-rc2","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.2","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"381e1388bcd56d0449dbbf2272975f907488f710","tarball":"https://registry.npmjs.org/express/-/express-2.0.0rc2.tgz"}},"2.0.0-rc3":{"name":"express","version":"2.0.0-rc3","dependencies":{"connect":">= 1.1.0 < 2.0.0","mime":">= 0.0.1","qs":">= 0.0.6"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@2.0.0-rc3","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.2","directories":{"lib":"./lib","bin":"./bin"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"538a35c8b0e2b08c455a20528b8d6a5568e901c1","tarball":"https://registry.npmjs.org/express/-/express-2.0.0rc3.tgz"}},"3.0.0-alpha1":{"name":"express","version":"3.0.0-alpha1","dependencies":{"connect":"2.1.2","commander":"0.5.2","mime":"1.2.5","mkdirp":"0.3.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@3.0.0-alpha1","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.9","_defaultsLoaded":true,"dist":{"shasum":"252902b7ed3a4b18a9163c51bdab519282cf2401","tarball":"https://registry.npmjs.org/express/-/express-3.0.0alpha1.tgz"},"directories":{}},"3.0.0-alpha2":{"name":"express","version":"3.0.0-alpha2","dependencies":{"connect":"2.2.1","commander":"0.5.2","mime":"1.2.5","mkdirp":"0.3.1","crc":"0.1.0","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@3.0.0-alpha2","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.9","_defaultsLoaded":true,"dist":{"shasum":"e82f7ba6b2c3e678c44343d0ba4fe339ca928e6c","tarball":"https://registry.npmjs.org/express/-/express-3.0.0alpha2.tgz"},"directories":{}},"3.0.0-alpha3":{"name":"express","version":"3.0.0-alpha3","dependencies":{"connect":"2.2.2","commander":"0.5.2","mime":"1.2.5","mkdirp":"0.3.1","crc":"0.2.0","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@3.0.0-alpha3","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"a65af40b696d39310c434d810adc9c4942fc2f9c","tarball":"https://registry.npmjs.org/express/-/express-3.0.0alpha3.tgz"},"directories":{}},"3.0.0-alpha4":{"name":"express","version":"3.0.0-alpha4","dependencies":{"connect":"2.2.2","commander":"0.5.2","mime":"1.2.5","mkdirp":"0.3.1","crc":"0.2.0","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@3.0.0-alpha4","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"9bc6be2bcfbbd74dba66063808d3a75ad4bd7edb","tarball":"https://registry.npmjs.org/express/-/express-3.0.0alpha4.tgz"},"directories":{}},"3.0.0-alpha5":{"name":"express","version":"3.0.0-alpha5","dependencies":{"connect":"2.2.2","commander":"0.6.0","mime":"1.2.5","mkdirp":"0.3.1","crc":"0.2.0","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@3.0.0-alpha5","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"d01ff9c2ebd769744ee90cc89561a1c8ca5340ac","tarball":"https://registry.npmjs.org/express/-/express-3.0.0alpha5.tgz"},"directories":{}},"3.0.0-beta1":{"name":"express","version":"3.0.0-beta1","dependencies":{"connect":"2.3.0","commander":"0.6.1","mime":"1.2.5","mkdirp":"0.3.2","crc":"0.2.0","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@3.0.0-beta1","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"557dda7815bffb84dea4cd3c09e1fe6538b2262f","tarball":"https://registry.npmjs.org/express/-/express-3.0.0beta1.tgz"},"directories":{}},"3.0.0-beta2":{"name":"express","version":"3.0.0-beta2","dependencies":{"connect":"2.3.1","commander":"0.6.1","mime":"1.2.5","mkdirp":"0.3.2","cookie":"0.0.3","crc":"0.2.0","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@3.0.0-beta2","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"2755a16a2f7054c06d93f3a17dd6cbd0d5aa8698","tarball":"https://registry.npmjs.org/express/-/express-3.0.0beta2.tgz"},"directories":{}},"3.0.0-beta3":{"name":"express","version":"3.0.0-beta3","dependencies":{"connect":"2.3.3","commander":"0.6.1","mkdirp":"0.3.2","cookie":"0.0.3","crc":"0.2.0","fresh":"0.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"express@3.0.0-beta3","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.24","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"e8425ee5f1d1c649c2e0627f437a331e9b9da867","tarball":"https://registry.npmjs.org/express/-/express-3.0.0beta3.tgz"},"directories":{}},"3.0.0-beta4":{"name":"express","version":"3.0.0-beta4","dependencies":{"connect":"2.3.4","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.3","crc":"0.2.0","fresh":"0.1.0","methods":"0.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.0-beta4","dist":{"shasum":"0f7e5bb2db67e81b4d1c752300954133df276063","tarball":"https://registry.npmjs.org/express/-/express-3.0.0beta4.tgz"},"directories":{}},"3.0.0-beta6":{"name":"express","version":"3.0.0-beta6","dependencies":{"connect":"2.3.8","commander":"0.6.1","range-parser":"0.0.4","response-send":"0.0.1","mkdirp":"0.3.3","cookie":"0.0.3","fresh":"0.1.0","methods":"0.0.1","send":"0.0.2","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.0-beta6","dist":{"shasum":"3eef2ed7ce7511170df4d15f4d2dade10dbc6614","tarball":"https://registry.npmjs.org/express/-/express-3.0.0beta6.tgz"},"directories":{}},"3.0.0-beta7":{"name":"express","version":"3.0.0-beta7","dependencies":{"connect":"2.3.9","commander":"0.6.1","range-parser":"0.0.4","response-send":"0.0.1","mkdirp":"0.3.3","cookie":"0.0.3","fresh":"0.1.0","methods":"0.0.1","send":"0.0.3","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.0-beta7","dist":{"shasum":"92e854f2814e05a333d2acfde43585cfda21d9aa","tarball":"https://registry.npmjs.org/express/-/express-3.0.0beta7.tgz"},"directories":{}},"3.0.0-rc1":{"name":"express","version":"3.0.0-rc1","dependencies":{"connect":"2.4.1","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.4","crc":"0.2.0","fresh":"0.1.0","methods":"0.0.1","send":"0.0.3","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.0-rc1","dist":{"shasum":"b96bc45e19a0fece6b4c26c297db2f958a50643a","tarball":"https://registry.npmjs.org/express/-/express-3.0.0rc1.tgz"},"directories":{}},"3.0.0-rc2":{"name":"express","version":"3.0.0-rc2","dependencies":{"connect":"2.4.2","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.4","crc":"0.2.0","fresh":"0.1.0","methods":"0.0.1","send":"0.0.3","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.0-rc2","dist":{"shasum":"ffa79ccee41abc97f2c57576cc433339200fcd33","tarball":"https://registry.npmjs.org/express/-/express-3.0.0rc2.tgz"},"directories":{}},"3.0.0-rc3":{"name":"express","version":"3.0.0-rc3","dependencies":{"connect":"2.4.3","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.4","crc":"0.2.0","fresh":"0.1.0","methods":"0.0.1","send":"0.0.3","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.0-rc3","dist":{"shasum":"740d4e14335a1e92a19493930def0c747a0367b4","tarball":"https://registry.npmjs.org/express/-/express-3.0.0rc3.tgz"},"directories":{}},"3.0.0-rc4":{"name":"express","version":"3.0.0-rc4","dependencies":{"connect":"2.4.4","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.4","crc":"0.2.0","fresh":"0.1.0","methods":"0.0.1","send":"0.0.4","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"publishConfig":{"tag":"3.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.0-rc4","dist":{"shasum":"f07490f3578a87e06d4244d58c18d6f6e2c5fc33","tarball":"https://registry.npmjs.org/express/-/express-3.0.0rc4.tgz"},"directories":{}},"3.0.0-rc5":{"name":"express","version":"3.0.0-rc5","dependencies":{"connect":"2.5.0","commander":"0.6.1","range-parser":"0.0.4","mkdirp":"0.3.3","cookie":"0.0.4","crc":"0.2.0","fresh":"0.1.0","methods":"0.0.1","send":"0.1.0","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"*","hjs":"*","stylus":"*","should":"*","connect-redis":"*","github-flavored-markdown":"*","supertest":"0.0.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.0.0-rc5","dist":{"shasum":"c63b56257f33a74498dbc0ba8986a3d5b627fc9d","tarball":"https://registry.npmjs.org/express/-/express-3.0.0rc5.tgz"},"_npmVersion":"1.1.61","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.3.7":{"name":"express","version":"3.3.7","dependencies":{"connect":"2.8.7","commander":"1.2.0","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.0.1","send":"0.1.4","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"*","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.3.7","dist":{"shasum":"de0b67ae1b04999fe7141940c2749f5b435a8fcd","tarball":"https://registry.npmjs.org/express/-/express-3.3.7.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.3.8":{"name":"express","version":"3.3.8","dependencies":{"connect":"2.8.8","commander":"1.2.0","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.0.1","send":"0.1.4","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"*","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.3.8","dist":{"shasum":"8e98ac30d81f4c95b85d71d2af6cf84f62ef19bd","tarball":"https://registry.npmjs.org/express/-/express-3.3.8.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.4.0":{"name":"express","version":"3.4.0","dependencies":{"connect":"2.9.0","commander":"1.2.0","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.0.1","send":"0.1.4","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"*","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.4.0","dist":{"shasum":"6ed289da0d5f55ac30997cf832e5fc36f784071e","tarball":"https://registry.npmjs.org/express/-/express-3.4.0.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"3.4.1":{"name":"express","version":"3.4.1","dependencies":{"connect":"2.9.1","commander":"2.0.0","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.0.1","send":"0.1.4","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"2","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.4.1","dist":{"shasum":"3b4fb8862b6a1dfce3dc760629833d0cfef9314c","tarball":"https://registry.npmjs.org/express/-/express-3.4.1.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"3.4.2":{"name":"express","version":"3.4.2","dependencies":{"connect":"2.9.2","commander":"1.3.2","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.0.1","send":"0.1.4","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"2","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.4.2","dist":{"shasum":"3cfaa66fb1e1fac5012129b473f0e2143544aa07","tarball":"https://registry.npmjs.org/express/-/express-3.4.2.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"3.4.3":{"name":"express","version":"3.4.3","dependencies":{"connect":"2.10.1","commander":"1.3.2","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.0.1","send":"0.1.4","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"2","connect-redis":"*","marked":"*","supertest":"0.6.0"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.4.3","dist":{"shasum":"d0d237d60cd9c741b50da88379527e2a1d804627","tarball":"https://registry.npmjs.org/express/-/express-3.4.3.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"3.4.4":{"name":"express","version":"3.4.4","dependencies":{"connect":"2.11.0","commander":"1.3.2","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.1.0","send":"0.1.4","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"2","connect-redis":"*","marked":"*","supertest":"0.8.1 - 1"},"main":"index","bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.4.4","dist":{"shasum":"0b63ae626c96b71b78d13dfce079c10351635a86","tarball":"https://registry.npmjs.org/express/-/express-3.4.4.tgz"},"_from":".","_npmVersion":"1.3.13","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"3.4.5":{"name":"express","version":"3.4.5","dependencies":{"connect":"2.11.1","commander":"1.3.2","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.1.0","send":"0.1.4","cookie-signature":"1.0.1","debug":">= 0.7.3 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.14.0","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.0.2","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.8.1"},"main":"index","bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.4.5","dist":{"shasum":"dc82aa4d932f0d0ee93e8e7ee9824d73bb00d47a","tarball":"https://registry.npmjs.org/express/-/express-3.4.5.tgz"},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"3.4.6":{"name":"express","version":"3.4.6","dependencies":{"connect":"2.11.2","commander":"1.3.2","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.1.0","send":"0.1.4","cookie-signature":"1.0.1","debug":">= 0.7.3 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.14.0","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.0.2","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.8.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.4.6","dist":{"shasum":"85b6004076f9004f806e9f49c90487d1f6f89c43","tarball":"https://registry.npmjs.org/express/-/express-3.4.6.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"3.4.7":{"name":"express","version":"3.4.7","dependencies":{"connect":"2.12.0","commander":"1.3.2","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.1.0","send":"0.1.4","cookie-signature":"1.0.1","merge-descriptors":"0.0.1","debug":">= 0.7.3 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.15.1","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.1.1","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.8.1"},"main":"index","bin":{"express":"./bin/express"},"_id":"express@3.4.7","dist":{"shasum":"3b939c47d2aa44dfecf77d50da2123c5bd313366","tarball":"https://registry.npmjs.org/express/-/express-3.4.7.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"3.4.8":{"name":"express","version":"3.4.8","dependencies":{"connect":"2.12.0","commander":"1.3.2","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.1.0","send":"0.1.4","cookie-signature":"1.0.1","merge-descriptors":"0.0.1","debug":">= 0.7.3 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.15.1","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.1.1","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.8.1"},"main":"index","bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.4.8","dist":{"shasum":"aa7a8986de07053337f4bc5ed9a6453d9cc8e2e1","tarball":"https://registry.npmjs.org/express/-/express-3.4.8.tgz"},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"4.0.0-rc1":{"name":"express","version":"4.0.0-rc1","dependencies":{"accepts":"1.0.0","type-is":"1.0.0","range-parser":"1.0.0","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","debug":">= 0.7.3 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.15.1","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.1.1","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.8.1","body-parser":"1.0.0","cookie-parser":"1.0.1","static-favicon":"1.0.0","express-session":"1.0.1","morgan":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.0.0-rc1","dist":{"shasum":"a9f3f89e4726e2ff60f62ab625c960eaa2cba3a6","tarball":"https://registry.npmjs.org/express/-/express-4.0.0-rc1.tgz"},"_from":"https://github.com/visionmedia/express/archive/4.0.0-rc1.tar.gz","_resolved":"https://github.com/visionmedia/express/archive/4.0.0-rc1.tar.gz","_npmVersion":"1.4.4","_npmUser":{"name":"shtylman","email":"shtylman@gmail.com"},"directories":{}},"4.0.0-rc2":{"name":"express","version":"4.0.0-rc2","dependencies":{"accepts":"1.0.0","type-is":"1.0.0","range-parser":"1.0.0","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","debug":">= 0.7.3 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.15.1","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.1.1","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.8.1","body-parser":"1.0.0","cookie-parser":"1.0.1","static-favicon":"1.0.0","express-session":"1.0.1","morgan":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.0.0-rc2","dist":{"shasum":"0b3fc3b853b393cdb5042dc9960498015ed06b96","tarball":"https://registry.npmjs.org/express/-/express-4.0.0-rc2.tgz"},"_from":"https://github.com/visionmedia/express/archive/4.0.0-rc2.tar.gz","_resolved":"https://github.com/visionmedia/express/archive/4.0.0-rc2.tar.gz","_npmVersion":"1.4.4","_npmUser":{"name":"shtylman","email":"shtylman@gmail.com"},"directories":{}},"3.5.0":{"name":"express","version":"3.5.0","dependencies":{"connect":"2.14.1","commander":"1.3.2","range-parser":"1.0.0","mkdirp":"0.3.5","cookie":"0.1.1","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.7.3 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.17.1","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.1.1","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.9.0"},"main":"index","bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.5.0","dist":{"shasum":"703f299aa2a7fce122025b61a2e170d536b35019","tarball":"https://registry.npmjs.org/express/-/express-3.5.0.tgz"},"_from":".","_npmVersion":"1.4.4","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"4.0.0-rc3":{"name":"express","version":"4.0.0-rc3","dependencies":{"parseurl":"1.0.1","accepts":"1.0.0","type-is":"1.0.0","range-parser":"1.0.0","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","serve-static":"1.0.1","path-to-regexp":"0.1.0","debug":">= 0.7.3 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.15.1","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.1.1","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.8.1","body-parser":"1.0.0","cookie-parser":"1.0.1","static-favicon":"1.0.0","express-session":"1.0.1","morgan":"1.0.0","vhost":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.0.0-rc3","dist":{"shasum":"da0113235684e89d36bd7796440809e889ee8692","tarball":"https://registry.npmjs.org/express/-/express-4.0.0-rc3.tgz"},"_from":"https://github.com/visionmedia/express/archive/4.0.0-rc3.tar.gz","_resolved":"https://github.com/visionmedia/express/archive/4.0.0-rc3.tar.gz","_npmVersion":"1.4.4","_npmUser":{"name":"shtylman","email":"shtylman@gmail.com"},"directories":{}},"4.0.0-rc4":{"name":"express","version":"4.0.0-rc4","dependencies":{"parseurl":"1.0.1","accepts":"1.0.0","type-is":"1.0.0","range-parser":"1.0.0","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","serve-static":"1.0.1","path-to-regexp":"0.1.2","debug":">= 0.7.3 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.15.1","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.1.1","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.8.1","body-parser":"1.0.0","cookie-parser":"1.0.1","static-favicon":"1.0.0","express-session":"1.0.1","morgan":"1.0.0","vhost":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.0.0-rc4","dist":{"shasum":"1cedc8790f47b776b9d100f5388e5fb652ea4388","tarball":"https://registry.npmjs.org/express/-/express-4.0.0-rc4.tgz"},"_from":"https://github.com/visionmedia/express/archive/4.0.0-rc4.tar.gz","_resolved":"https://github.com/visionmedia/express/archive/4.0.0-rc4.tar.gz","_npmVersion":"1.4.6","_npmUser":{"name":"shtylman","email":"shtylman@gmail.com"},"directories":{}},"3.5.1":{"name":"express","version":"3.5.1","dependencies":{"connect":"2.14.1","commander":"1.3.2","range-parser":"1.0.0","mkdirp":"0.3.5","cookie":"0.1.1","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.7.3 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.17.1","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.1.1","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.9.0"},"main":"index","bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.5.1","dist":{"shasum":"4b333e1117faca336a538f4c724140b9ce1a87e7","tarball":"https://registry.npmjs.org/express/-/express-3.5.1.tgz"},"_from":"https://github.com/visionmedia/express/archive/3.5.1.tar.gz","_resolved":"https://github.com/visionmedia/express/archive/3.5.1.tar.gz","_npmVersion":"1.4.6","_npmUser":{"name":"shtylman","email":"shtylman@gmail.com"},"directories":{}},"4.0.0":{"name":"express","version":"4.0.0","dependencies":{"parseurl":"1.0.1","accepts":"1.0.0","type-is":"1.0.0","range-parser":"1.0.0","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","serve-static":"1.0.1","path-to-regexp":"0.1.2","debug":">= 0.7.3 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.15.1","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.1.1","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.8.1","body-parser":"1.0.0","cookie-parser":"1.0.1","static-favicon":"1.0.0","express-session":"1.0.1","morgan":"1.0.0","vhost":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.0.0","dist":{"shasum":"274dc82933c9f574cc38a0ce5ea8172be9c6b094","tarball":"https://registry.npmjs.org/express/-/express-4.0.0.tgz"},"_from":"https://github.com/visionmedia/express/archive/4.0.0.tar.gz","_resolved":"https://github.com/visionmedia/express/archive/4.0.0.tar.gz","_npmVersion":"1.4.6","_npmUser":{"name":"shtylman","email":"shtylman@gmail.com"},"directories":{}},"3.5.2":{"name":"express","version":"3.5.2","dependencies":{"connect":"2.14.5","commander":"1.3.2","range-parser":"1.0.0","mkdirp":"0.4.0","cookie":"0.1.2","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"0.1.0","send":"0.3.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.7.3 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.18.2","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.1.1","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.11.0"},"main":"index","bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.5.2","dist":{"shasum":"aab0d2b31ef21259eac24dc45c43378fcf144b6d","tarball":"https://registry.npmjs.org/express/-/express-3.5.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.1.0":{"name":"express","version":"4.1.0","dependencies":{"parseurl":"1.0.1","accepts":"1.0.1","type-is":"1.1.0","range-parser":"1.0.0","cookie":"0.1.2","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"0.1.0","send":"0.3.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","serve-static":"1.1.0","path-to-regexp":"0.1.2","debug":">= 0.7.3 < 1"},"devDependencies":{"mocha":"~1.18.2","body-parser":"1.0.2","connect-redis":"~2.0.0","ejs":"~1.0.0","express-session":"1.0.3","jade":"~0.35.0","marked":"0.3.2","multiparty":"~3.2.4","static-favicon":"1.0.2","hjs":"~0.0.6","should":"~3.3.1","supertest":"~0.11.0","method-override":"1.0.0","cookie-parser":"1.0.1","morgan":"1.0.0","vhost":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.1.0","dist":{"shasum":"a822be824cf88e8ad67ec5df75d02887de6058b4","tarball":"https://registry.npmjs.org/express/-/express-4.1.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.1.1":{"name":"express","version":"4.1.1","dependencies":{"parseurl":"1.0.1","accepts":"1.0.1","type-is":"1.1.0","range-parser":"1.0.0","cookie":"0.1.2","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"0.1.0","send":"0.3.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","serve-static":"1.1.0","path-to-regexp":"0.1.2","debug":">= 0.7.3 < 1"},"devDependencies":{"mocha":"~1.18.2","body-parser":"1.0.2","connect-redis":"~2.0.0","ejs":"~1.0.0","express-session":"1.0.3","jade":"~0.35.0","marked":"0.3.2","multiparty":"~3.2.4","static-favicon":"1.0.2","hjs":"~0.0.6","should":"~3.3.1","supertest":"~0.11.0","method-override":"1.0.0","cookie-parser":"1.0.1","morgan":"1.0.0","vhost":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.1.1","dist":{"shasum":"266f08c3cbc21fc1831e954073dda8cf3cae002f","tarball":"https://registry.npmjs.org/express/-/express-4.1.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"3.5.3":{"name":"express","version":"3.5.3","dependencies":{"connect":"2.14.5","commander":"1.3.2","range-parser":"1.0.0","mkdirp":"0.4.0","cookie":"0.1.2","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"0.1.0","send":"0.3.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.7.3 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.18.2","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.1.1","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.11.0"},"main":"index","bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.5.3","dist":{"shasum":"af440e1ddad078934ec78241420b40bbc56dc2ad","tarball":"https://registry.npmjs.org/express/-/express-3.5.3.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.1.2":{"name":"express","version":"4.1.2","dependencies":{"parseurl":"1.0.1","accepts":"1.0.1","type-is":"1.1.0","range-parser":"1.0.0","cookie":"0.1.2","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"0.1.0","send":"0.3.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","serve-static":"1.1.0","path-to-regexp":"0.1.2","debug":">= 0.7.3 < 1"},"devDependencies":{"mocha":"~1.18.2","body-parser":"1.0.2","connect-redis":"~2.0.0","ejs":"~1.0.0","express-session":"1.0.3","jade":"~0.35.0","marked":"0.3.2","multiparty":"~3.2.4","static-favicon":"1.0.2","hjs":"~0.0.6","should":"~3.3.1","supertest":"~0.11.0","method-override":"1.0.0","cookie-parser":"1.0.1","morgan":"1.0.0","vhost":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.1.2","dist":{"shasum":"cb1d114255718a65a1bcd6958036ef720c529487","tarball":"https://registry.npmjs.org/express/-/express-4.1.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"3.6.0":{"name":"express","version":"3.6.0","dependencies":{"connect":"2.15.0","commander":"1.3.2","methods":"1.0.0","mkdirp":"0.5.0","range-parser":"1.0.0","cookie":"0.1.2","buffer-crc32":"0.2.1","fresh":"0.2.2","send":"0.3.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.8.0 < 1"},"devDependencies":{"ejs":"~0.8.4","mocha":"~1.18.2","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","should":"~2.1.1","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.12.1"},"main":"index","bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.6.0","dist":{"shasum":"94c7b0f8f506b046d4d9770b40992f224026e5d5","tarball":"https://registry.npmjs.org/express/-/express-3.6.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.2.0":{"name":"express","version":"4.2.0","dependencies":{"parseurl":"1.0.1","accepts":"1.0.1","type-is":"1.1.0","range-parser":"1.0.0","cookie":"0.1.2","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"1.0.0","send":"0.3.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","serve-static":"1.1.0","path-to-regexp":"0.1.2","debug":"0.8.1"},"devDependencies":{"mocha":"~1.18.2","body-parser":"~1.1.2","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~0.35.0","marked":"0.3.2","multiparty":"~3.2.4","hjs":"~0.0.6","should":"~3.3.1","supertest":"~0.12.0","method-override":"1.0.0","cookie-parser":"1.0.1","express-session":"1.0.4","morgan":"1.0.1","vhost":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.2.0","dist":{"shasum":"3121993a45126693e8bf897aefb4dd783762dc60","tarball":"https://registry.npmjs.org/express/-/express-4.2.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"3.7.0":{"name":"express","version":"3.7.0","dependencies":{"connect":"2.16.2","commander":"1.3.2","methods":"1.0.0","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.0","range-parser":"1.0.0","cookie":"0.1.2","buffer-crc32":"0.2.1","fresh":"0.2.2","send":"0.3.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.8.0 < 1"},"devDependencies":{"coveralls":"2.10.0","ejs":"~0.8.4","istanbul":"0.2.10","mocha":"~1.18.2","should":"~3.3.1","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.12.1"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.7.0","dist":{"shasum":"74f62f00ab2d7d49f19a9b6c81fb80b00e495868","tarball":"https://registry.npmjs.org/express/-/express-3.7.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"3.8.0":{"name":"express","version":"3.8.0","dependencies":{"connect":"2.17.1","commander":"1.3.2","methods":"1.0.0","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.0","range-parser":"1.0.0","cookie":"0.1.2","buffer-crc32":"0.2.1","fresh":"0.2.2","send":"0.3.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.8.0 < 1"},"devDependencies":{"ejs":"~0.8.4","istanbul":"0.2.10","mocha":"~1.19.0","should":"~3.3.1","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.12.1"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.8.0","dist":{"shasum":"f243c1752630b21b5e898cc586d1d39690422876","tarball":"https://registry.npmjs.org/express/-/express-3.8.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.3.0":{"name":"express","version":"4.3.0","dependencies":{"accepts":"1.0.1","parseurl":"1.0.1","proxy-addr":"1.0.0","range-parser":"1.0.0","type-is":"1.2.0","cookie":"0.1.2","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"1.0.0","send":"0.3.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","serve-static":"1.1.0","path-to-regexp":"0.1.2","debug":"0.8.1"},"devDependencies":{"after":"0.8.1","istanbul":"0.2.10","mocha":"~1.19.0","should":"~3.3.1","supertest":"~0.12.0","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~0.35.0","marked":"0.3.2","multiparty":"~3.2.4","hjs":"~0.0.6","body-parser":"1.2.0","cookie-parser":"1.1.0","express-session":"1.2.0","method-override":"1.0.1","morgan":"1.1.1","vhost":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.3.0","dist":{"shasum":"3a65f18e40be9ea124f11c435b88b07430ef6fea","tarball":"https://registry.npmjs.org/express/-/express-4.3.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.3.1":{"name":"express","version":"4.3.1","dependencies":{"accepts":"1.0.1","parseurl":"1.0.1","proxy-addr":"1.0.0","range-parser":"1.0.0","type-is":"1.2.0","cookie":"0.1.2","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"1.0.0","send":"0.3.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","serve-static":"1.1.0","path-to-regexp":"0.1.2","debug":"0.8.1"},"devDependencies":{"after":"0.8.1","istanbul":"0.2.10","mocha":"~1.19.0","should":"~3.3.1","supertest":"~0.12.0","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~0.35.0","marked":"0.3.2","multiparty":"~3.2.4","hjs":"~0.0.6","body-parser":"1.2.0","cookie-parser":"1.1.0","express-session":"1.2.0","method-override":"1.0.1","morgan":"1.1.1","vhost":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.3.1","_shasum":"656b2c148d1db3e2ac53727b799f0e34ecc7d713","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"656b2c148d1db3e2ac53727b799f0e34ecc7d713","tarball":"https://registry.npmjs.org/express/-/express-4.3.1.tgz"},"directories":{}},"3.8.1":{"name":"express","version":"3.8.1","dependencies":{"connect":"2.17.3","commander":"1.3.2","methods":"1.0.0","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.0","range-parser":"1.0.0","cookie":"0.1.2","buffer-crc32":"0.2.1","fresh":"0.2.2","send":"0.3.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.8.0 < 1"},"devDependencies":{"ejs":"~0.8.4","istanbul":"0.2.10","mocha":"~1.19.0","should":"~3.3.1","jade":"~0.30.0","hjs":"~0.0.6","stylus":"~0.40.0","connect-redis":"~1.4.5","marked":"0.2.10","supertest":"~0.12.1"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.8.1","_shasum":"884148c879c5ae88243c635dee4d91956b750143","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"884148c879c5ae88243c635dee4d91956b750143","tarball":"https://registry.npmjs.org/express/-/express-3.8.1.tgz"},"directories":{}},"4.3.2":{"name":"express","version":"4.3.2","dependencies":{"accepts":"1.0.1","parseurl":"1.0.1","proxy-addr":"1.0.0","range-parser":"1.0.0","type-is":"1.2.0","cookie":"0.1.2","buffer-crc32":"0.2.1","fresh":"0.2.2","methods":"1.0.0","send":"0.3.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","serve-static":"1.1.0","path-to-regexp":"0.1.2","debug":"0.8.1"},"devDependencies":{"after":"0.8.1","istanbul":"0.2.10","mocha":"~1.19.0","should":"~3.3.1","supertest":"~0.12.0","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~0.35.0","marked":"0.3.2","multiparty":"~3.2.4","hjs":"~0.0.6","body-parser":"1.2.2","cookie-parser":"1.1.0","express-session":"1.2.1","method-override":"1.0.2","morgan":"1.1.1","vhost":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.3.2","_shasum":"b8332c55d7b2f69f2d90e14c0958431e3a1a25dc","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"b8332c55d7b2f69f2d90e14c0958431e3a1a25dc","tarball":"https://registry.npmjs.org/express/-/express-4.3.2.tgz"},"directories":{}},"3.9.0":{"name":"express","version":"3.9.0","dependencies":{"buffer-crc32":"0.2.1","connect":"2.18.0","commander":"1.3.2","methods":"1.0.0","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.0","range-parser":"1.0.0","send":"0.4.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.8.0 < 1"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.9.0","_shasum":"da991c3ff90bb5b9f26842e3e3f70c8caa4797c8","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"da991c3ff90bb5b9f26842e3e3f70c8caa4797c8","tarball":"https://registry.npmjs.org/express/-/express-3.9.0.tgz"},"directories":{}},"4.4.0":{"name":"express","version":"4.4.0","dependencies":{"accepts":"1.0.2","buffer-crc32":"0.2.1","parseurl":"1.0.1","proxy-addr":"1.0.0","range-parser":"1.0.0","send":"0.4.0","type-is":"1.2.0","cookie":"0.1.2","fresh":"0.2.2","methods":"1.0.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","serve-static":"1.2.0","path-to-regexp":"0.1.2","debug":"0.8.1"},"devDependencies":{"after":"0.8.1","istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~1.3.1","marked":"0.3.2","multiparty":"~3.2.4","hjs":"~0.0.6","body-parser":"1.2.2","cookie-parser":"1.1.0","express-session":"1.2.1","method-override":"1.0.2","morgan":"1.1.1","vhost":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.4.0","_shasum":"1ffd7dbe7a24fb2940ad0570611a3312b76d8f37","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"1ffd7dbe7a24fb2940ad0570611a3312b76d8f37","tarball":"https://registry.npmjs.org/express/-/express-4.4.0.tgz"},"directories":{}},"4.4.1":{"name":"express","version":"4.4.1","dependencies":{"accepts":"1.0.2","buffer-crc32":"0.2.1","methods":"1.0.1","parseurl":"1.0.1","proxy-addr":"1.0.0","range-parser":"1.0.0","send":"0.4.1","serve-static":"1.2.1","type-is":"1.2.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","escape-html":"1.0.1","qs":"0.6.6","path-to-regexp":"0.1.2","debug":"0.8.1"},"devDependencies":{"after":"0.8.1","istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~1.3.1","marked":"0.3.2","multiparty":"~3.2.4","hjs":"~0.0.6","body-parser":"1.3.0","cookie-parser":"1.1.0","express-session":"1.2.1","method-override":"2.0.1","morgan":"1.1.1","vhost":"1.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.4.1","_shasum":"9e0364d1c74e076d7409d302429a384b10dfbd42","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"9e0364d1c74e076d7409d302429a384b10dfbd42","tarball":"https://registry.npmjs.org/express/-/express-4.4.1.tgz"},"directories":{}},"3.10.0":{"name":"express","version":"3.10.0","dependencies":{"buffer-crc32":"0.2.1","connect":"2.19.1","commander":"1.3.2","escape-html":"1.0.1","methods":"1.0.1","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.0","range-parser":"1.0.0","send":"0.4.1","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.8.0 < 1"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.10.0","_shasum":"508aebb75685a84fe5873b080a2f759c5e0f4a97","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"508aebb75685a84fe5873b080a2f759c5e0f4a97","tarball":"https://registry.npmjs.org/express/-/express-3.10.0.tgz"},"directories":{}},"3.10.1":{"name":"express","version":"3.10.1","dependencies":{"buffer-crc32":"0.2.1","connect":"2.19.2","commander":"1.3.2","escape-html":"1.0.1","methods":"1.0.1","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.4.1","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.8.0 < 1"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.10.1","dist":{"shasum":"259578cd1238731560460e833bc8b2a10b031b4d","tarball":"https://registry.npmjs.org/express/-/express-3.10.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"3.10.2":{"name":"express","version":"3.10.2","dependencies":{"buffer-crc32":"0.2.1","connect":"2.19.3","commander":"1.3.2","escape-html":"1.0.1","methods":"1.0.1","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.4.1","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.8.0 < 1"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.10.2","_shasum":"4fa0df0a6dd3956255cc23ade6c6576911d8e467","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"4fa0df0a6dd3956255cc23ade6c6576911d8e467","tarball":"https://registry.npmjs.org/express/-/express-3.10.2.tgz"},"directories":{}},"3.10.3":{"name":"express","version":"3.10.3","dependencies":{"buffer-crc32":"0.2.1","connect":"2.19.4","commander":"1.3.2","debug":"1.0.0","escape-html":"1.0.1","methods":"1.0.1","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.4.1","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.3","merge-descriptors":"0.0.2"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.10.3","_shasum":"d669d5fa2d79fa6349af5fa6338d646bc346ada5","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"d669d5fa2d79fa6349af5fa6338d646bc346ada5","tarball":"https://registry.npmjs.org/express/-/express-3.10.3.tgz"},"directories":{}},"3.10.4":{"name":"express","version":"3.10.4","dependencies":{"buffer-crc32":"0.2.1","connect":"2.19.5","commander":"1.3.2","debug":"1.0.1","escape-html":"1.0.1","methods":"1.0.1","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.4.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.3","merge-descriptors":"0.0.2"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.10.4","_shasum":"527bd28b0e17cd41722617ab88cb4a41b15f497d","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"527bd28b0e17cd41722617ab88cb4a41b15f497d","tarball":"https://registry.npmjs.org/express/-/express-3.10.4.tgz"},"directories":{}},"4.4.2":{"name":"express","version":"4.4.2","dependencies":{"accepts":"1.0.2","buffer-crc32":"0.2.1","debug":"1.0.1","escape-html":"1.0.1","methods":"1.0.1","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.4.2","serve-static":"1.2.2","type-is":"1.2.1","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","qs":"0.6.6","path-to-regexp":"0.1.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.2.10","mocha":"~1.20.1","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~1.3.1","marked":"0.3.2","multiparty":"~3.2.4","hjs":"~0.0.6","body-parser":"1.3.0","cookie-parser":"1.1.0","express-session":"1.2.1","method-override":"2.0.2","morgan":"1.1.1","vhost":"2.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.4.2","dist":{"shasum":"ff6c8a513d31cc60cabe0f71848dea3cb4f56df6","tarball":"https://registry.npmjs.org/express/-/express-4.4.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"3.10.5":{"name":"express","version":"3.10.5","dependencies":{"buffer-crc32":"0.2.1","connect":"2.19.6","commander":"1.3.2","debug":"1.0.2","escape-html":"1.0.1","methods":"1.0.1","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.4.3","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.3","merge-descriptors":"0.0.2"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"73c5533e665743d305e266eee134c48d88d2dcfd","homepage":"https://github.com/visionmedia/express","_id":"express@3.10.5","_shasum":"842c0bcb4f6b7fc6323fa3030f24d0e9f82c5501","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"842c0bcb4f6b7fc6323fa3030f24d0e9f82c5501","tarball":"https://registry.npmjs.org/express/-/express-3.10.5.tgz"},"directories":{}},"4.4.3":{"name":"express","version":"4.4.3","dependencies":{"accepts":"1.0.3","buffer-crc32":"0.2.1","debug":"1.0.2","escape-html":"1.0.1","methods":"1.0.1","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.4.3","serve-static":"1.2.3","type-is":"1.2.1","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","qs":"0.6.6","path-to-regexp":"0.1.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.2.10","mocha":"~1.20.1","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~1.3.1","marked":"0.3.2","multiparty":"~3.2.4","hjs":"~0.0.6","body-parser":"1.3.0","cookie-parser":"1.1.0","express-session":"1.2.1","method-override":"2.0.2","morgan":"1.1.1","vhost":"2.0.0"},"gitHead":"ac573cf830fc73284293055df7034c4b11aa5459","homepage":"https://github.com/visionmedia/express","_id":"express@4.4.3","_shasum":"c52525743153f00452fe8b13fee1e94330a208a0","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"c52525743153f00452fe8b13fee1e94330a208a0","tarball":"https://registry.npmjs.org/express/-/express-4.4.3.tgz"},"directories":{}},"3.11.0":{"name":"express","version":"3.11.0","dependencies":{"buffer-crc32":"0.2.3","connect":"2.20.2","commander":"1.3.2","debug":"1.0.2","depd":"0.3.0","escape-html":"1.0.1","methods":"1.0.1","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.4.3","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.3","merge-descriptors":"0.0.2"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.11.0","dist":{"shasum":"f1c8e1c991a444dd7ae331bfb7f1a4557fcfd2ee","tarball":"https://registry.npmjs.org/express/-/express-3.11.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.4.4":{"name":"express","version":"4.4.4","dependencies":{"accepts":"~1.0.5","buffer-crc32":"0.2.3","debug":"1.0.2","escape-html":"1.0.1","methods":"1.0.1","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.4.3","serve-static":"1.2.3","type-is":"1.2.1","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","utils-merge":"1.0.0","qs":"0.6.6","path-to-regexp":"0.1.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.2.10","mocha":"~1.20.1","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~1.3.1","marked":"0.3.2","multiparty":"~3.2.4","hjs":"~0.0.6","body-parser":"~1.4.3","cookie-parser":"~1.3.1","express-session":"~1.5.0","method-override":"2.0.2","morgan":"1.1.1","vhost":"2.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.4.4","dist":{"shasum":"198bfd931c16ce869e54af5fb0515064fb8ea431","tarball":"https://registry.npmjs.org/express/-/express-4.4.4.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"3.12.0":{"name":"express","version":"3.12.0","dependencies":{"buffer-crc32":"0.2.3","connect":"2.21.0","commander":"1.3.2","debug":"1.0.2","depd":"0.3.0","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.0.1","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.4.3","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.3","merge-descriptors":"0.0.2"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.12.0","dist":{"shasum":"8f00c9bef6f4d186f4a481ad831844dd7d73336e","tarball":"https://registry.npmjs.org/express/-/express-3.12.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"3.12.1":{"name":"express","version":"3.12.1","dependencies":{"buffer-crc32":"0.2.3","connect":"2.21.1","commander":"1.3.2","debug":"1.0.2","depd":"0.3.0","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.0.1","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.4.3","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"istanbul":"0.2.12","mocha":"~1.20.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.12.1","dist":{"shasum":"f13d260d1ac6ebc4913a42dfee913cdc65dd96d4","tarball":"https://registry.npmjs.org/express/-/express-3.12.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.4.5":{"name":"express","version":"4.4.5","dependencies":{"accepts":"~1.0.5","buffer-crc32":"0.2.3","debug":"1.0.2","escape-html":"1.0.1","methods":"1.0.1","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.4.3","serve-static":"1.2.3","type-is":"1.2.1","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","utils-merge":"1.0.0","qs":"0.6.6","path-to-regexp":"0.1.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.2.10","mocha":"~1.20.1","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~1.3.1","marked":"0.3.2","multiparty":"~3.2.4","hjs":"~0.0.6","body-parser":"~1.4.3","cookie-parser":"~1.3.1","express-session":"~1.5.0","method-override":"2.0.2","morgan":"1.1.1","vhost":"2.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.4.5","dist":{"shasum":"5f2f302f277187abd721c3a36e44d86c5e3f03eb","tarball":"https://registry.npmjs.org/express/-/express-4.4.5.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"3.13.0":{"name":"express","version":"3.13.0","dependencies":{"basic-auth":"0.0.1","buffer-crc32":"0.2.3","connect":"2.22.0","commander":"1.3.2","debug":"1.0.2","depd":"0.3.0","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.0.1","mkdirp":"0.5.0","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.5.0","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"istanbul":"0.2.12","mocha":"~1.20.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.13.0","dist":{"shasum":"69ac1d62732992e9529dc3b21eb40f23cc64438b","tarball":"https://registry.npmjs.org/express/-/express-3.13.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.5.0":{"name":"express","version":"4.5.0","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.2","depd":"0.3.0","escape-html":"1.0.1","finalhandler":"0.0.2","media-typer":"0.2.0","methods":"1.0.1","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.5.0","serve-static":"~1.3.0","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","utils-merge":"1.0.0","qs":"0.6.6","path-to-regexp":"0.1.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.2.14","mocha":"~1.20.1","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~1.3.1","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.4.3","cookie-parser":"~1.3.1","express-session":"~1.6.1","method-override":"2.0.2","multiparty":"~3.3.0","morgan":"1.1.1","vhost":"2.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.5.0","dist":{"shasum":"64c68b9e41f66339c95a462f37f94ff436724bd7","tarball":"https://registry.npmjs.org/express/-/express-4.5.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.5.1":{"name":"express","version":"4.5.1","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.2","depd":"0.3.0","escape-html":"1.0.1","finalhandler":"0.0.2","media-typer":"0.2.0","methods":"1.0.1","parseurl":"1.0.1","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.5.0","serve-static":"~1.3.0","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","utils-merge":"1.0.0","qs":"0.6.6","path-to-regexp":"0.1.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.2.14","mocha":"~1.20.1","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~1.3.1","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.4.3","cookie-parser":"~1.3.1","express-session":"~1.6.1","method-override":"2.0.2","multiparty":"~3.3.0","morgan":"1.1.1","vhost":"2.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.5.1","dist":{"shasum":"4bc3e6ec9db28e575fe591c36fbb781ffef6fe7c","tarball":"https://registry.npmjs.org/express/-/express-4.5.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"3.14.0":{"name":"express","version":"3.14.0","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.23.0","commander":"1.3.2","debug":"1.0.3","depd":"0.3.0","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.1.3","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.5.0","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.20.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.14.0","dist":{"shasum":"91f28701eedbce71ddca15b0fb92cfeff1401afb","tarball":"https://registry.npmjs.org/express/-/express-3.14.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.6.0":{"name":"express","version":"4.6.0","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.3","depd":"0.3.0","escape-html":"1.0.1","finalhandler":"0.0.3","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.1.3","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.6.0","serve-static":"~1.3.2","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","qs":"0.6.6","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.20.1","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~1.3.1","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.4.3","cookie-parser":"~1.3.1","express-session":"~1.6.5","method-override":"~2.1.1","multiparty":"~3.3.0","morgan":"1.1.1","vhost":"2.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.6.0","dist":{"shasum":"abaf229003006ada5a4dc5d99abbc7095570af7d","tarball":"https://registry.npmjs.org/express/-/express-4.6.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.6.1":{"name":"express","version":"4.6.1","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.3","depd":"0.3.0","escape-html":"1.0.1","finalhandler":"0.0.3","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.1.3","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.6.0","serve-static":"~1.3.2","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","qs":"0.6.6","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.20.1","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","jade":"~1.3.1","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.4.3","cookie-parser":"~1.3.1","express-session":"~1.6.5","method-override":"~2.1.1","multiparty":"~3.3.0","morgan":"1.1.1","vhost":"2.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.6.1","dist":{"shasum":"c806e51755cb453ba17fac2f343caff6af885df4","tarball":"https://registry.npmjs.org/express/-/express-4.6.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"3.15.0":{"name":"express","version":"3.15.0","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.24.0","commander":"1.3.2","debug":"1.0.4","depd":"0.4.2","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.2.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.7.0","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.20.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.15.0","dist":{"shasum":"c9ac9eb2c38c34a650597300a06848d2e7001aa4","tarball":"https://registry.npmjs.org/express/-/express-3.15.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.7.0":{"name":"express","version":"4.7.0","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.2","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.2.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.7.0","serve-static":"~1.4.0","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","qs":"0.6.6","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.20.1","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.5.0","cookie-parser":"~1.3.1","express-session":"~1.7.0","jade":"~1.5.0","method-override":"~2.1.1","morgan":"~1.2.0","multiparty":"~3.3.1","vhost":"2.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.7.0","dist":{"shasum":"9b38ca8eb3bf75fdcd9fad39ad85d02f5ef80b4b","tarball":"https://registry.npmjs.org/express/-/express-4.7.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"3.15.1":{"name":"express","version":"3.15.1","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.24.1","commander":"1.3.2","debug":"1.0.4","depd":"0.4.3","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.2.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.7.1","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.15.1","dist":{"shasum":"ce6800e0fa51c1c9700f246fc90eb8bcde8172e1","tarball":"https://registry.npmjs.org/express/-/express-3.15.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.7.1":{"name":"express","version":"4.7.1","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.3","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.2.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.7.1","serve-static":"~1.4.1","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","qs":"0.6.6","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.5.0","cookie-parser":"~1.3.1","express-session":"~1.7.0","jade":"~1.5.0","method-override":"~2.1.1","morgan":"~1.2.0","multiparty":"~3.3.1","vhost":"2.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.7.1","dist":{"shasum":"06c0aa7d03d5ea5565bb0249b2da3671a24062d3","tarball":"https://registry.npmjs.org/express/-/express-4.7.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"3.15.2":{"name":"express","version":"3.15.2","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.24.2","commander":"1.3.2","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.2.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.7.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"homepage":"https://github.com/visionmedia/express","_id":"express@3.15.2","dist":{"shasum":"a45f213bcfc5022914223d5d67747661cc7515a1","tarball":"https://registry.npmjs.org/express/-/express-3.15.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.7.2":{"name":"express","version":"4.7.2","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.2.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.7.2","serve-static":"~1.4.2","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","qs":"0.6.6","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.5.2","cookie-parser":"~1.3.1","express-session":"~1.7.2","jade":"~1.5.0","method-override":"~2.1.1","morgan":"~1.2.2","multiparty":"~3.3.1","vhost":"2.0.0"},"homepage":"https://github.com/visionmedia/express","_id":"express@4.7.2","dist":{"shasum":"2cbae61efab6c2db72a547ff3bf380e637c08590","tarball":"https://registry.npmjs.org/express/-/express-4.7.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"4.7.3":{"name":"express","version":"4.7.3","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.2.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.7.3","serve-static":"~1.4.3","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","qs":"0.6.6","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.5.2","cookie-parser":"~1.3.1","express-session":"~1.7.2","jade":"~1.5.0","method-override":"~2.1.1","morgan":"~1.2.2","multiparty":"~3.3.1","vhost":"2.0.0"},"gitHead":"52775a52ad9e00fbd38056af6ed0cddb4286d3d2","homepage":"https://github.com/visionmedia/express","_id":"express@4.7.3","_shasum":"9fde138763113224c8204a48209511d0c2d27284","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"9fde138763113224c8204a48209511d0c2d27284","tarball":"https://registry.npmjs.org/express/-/express-4.7.3.tgz"},"directories":{}},"3.15.3":{"name":"express","version":"3.15.3","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.24.3","commander":"1.3.2","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.2.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.7.4","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.3.1","hjs":"~0.0.6","marked":"0.3.2","connect-redis":"~1.4.5","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"15590d75b26f1e4b95b565f8306c763ee860d3e2","homepage":"https://github.com/visionmedia/express","_id":"express@3.15.3","_shasum":"993a9ef1c2d67f2525d086a67dc187edeab6f025","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"993a9ef1c2d67f2525d086a67dc187edeab6f025","tarball":"https://registry.npmjs.org/express/-/express-3.15.3.tgz"},"directories":{}},"4.7.4":{"name":"express","version":"4.7.4","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.2.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.7.4","serve-static":"~1.4.4","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","qs":"0.6.6","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.5.2","cookie-parser":"~1.3.1","express-session":"~1.7.2","jade":"~1.5.0","method-override":"~2.1.1","morgan":"~1.2.2","multiparty":"~3.3.1","vhost":"2.0.0"},"gitHead":"b886eb52cf955c2f29ad31b514607d4e38c1dbaf","homepage":"https://github.com/visionmedia/express","_id":"express@4.7.4","_shasum":"caf59389cf0b31b1314bf44d3355c2a80cfa217c","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"caf59389cf0b31b1314bf44d3355c2a80cfa217c","tarball":"https://registry.npmjs.org/express/-/express-4.7.4.tgz"},"directories":{}},"3.16.0":{"name":"express","version":"3.16.0","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.25.0","commander":"1.3.2","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.2.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.8.1","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.5.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"c652cf7eedc3f4b9eb6de6c1c8c31fcf33f33c85","homepage":"https://github.com/visionmedia/express","_id":"express@3.16.0","_shasum":"289dc292da617d06ac21bc1f4b2ee0e9a09a9c38","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"289dc292da617d06ac21bc1f4b2ee0e9a09a9c38","tarball":"https://registry.npmjs.org/express/-/express-3.16.0.tgz"},"directories":{}},"4.8.0":{"name":"express","version":"4.8.0","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.2.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","qs":"1.0.2","range-parser":"1.0.0","send":"0.8.1","serve-static":"~1.5.0","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.6.0","cookie-parser":"~1.3.1","express-session":"~1.7.2","jade":"~1.5.0","method-override":"~2.1.1","morgan":"~1.2.2","multiparty":"~3.3.1","vhost":"2.0.0"},"gitHead":"4aea02310ad7738fb1b3bac08de5424d82bfe4c6","homepage":"https://github.com/visionmedia/express","_id":"express@4.8.0","_shasum":"a6079da464ec502ecaef4e11faa7e127f5593d85","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"a6079da464ec502ecaef4e11faa7e127f5593d85","tarball":"https://registry.npmjs.org/express/-/express-4.8.0.tgz"},"directories":{}},"3.16.1":{"name":"express","version":"3.16.1","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.25.1","commander":"1.3.2","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.2.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.8.1","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.5.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"ea427c1bb4667be345d786c5120c435dbca3d13a","homepage":"https://github.com/visionmedia/express","_id":"express@3.16.1","_shasum":"fc5cc9627c8c2837da21119b8d909247b0b40ba0","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"fc5cc9627c8c2837da21119b8d909247b0b40ba0","tarball":"https://registry.npmjs.org/express/-/express-3.16.1.tgz"},"directories":{}},"4.8.1":{"name":"express","version":"4.8.1","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.2.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","qs":"1.1.0","range-parser":"1.0.0","send":"0.8.1","serve-static":"~1.5.0","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.6.1","cookie-parser":"~1.3.1","express-session":"~1.7.2","jade":"~1.5.0","method-override":"~2.1.1","morgan":"~1.2.2","multiparty":"~3.3.1","vhost":"2.0.0"},"gitHead":"e8f8ea7e05c27eb10286ec62a5f4df533deeeff8","homepage":"https://github.com/visionmedia/express","_id":"express@4.8.1","_shasum":"24cf5a613156d5d95bc8c2fa843cf12e2a1be6c9","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"24cf5a613156d5d95bc8c2fa843cf12e2a1be6c9","tarball":"https://registry.npmjs.org/express/-/express-4.8.1.tgz"},"directories":{}},"3.16.2":{"name":"express","version":"3.16.2","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.25.2","commander":"1.3.2","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.2.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.8.1","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.5.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"ddac571fdf36aef1381c53dd4766f5e9054b1aa3","homepage":"https://github.com/visionmedia/express","_id":"express@3.16.2","_shasum":"5ed1411187b64e05fef8b70671d3bf9fdf9bc7eb","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"5ed1411187b64e05fef8b70671d3bf9fdf9bc7eb","tarball":"https://registry.npmjs.org/express/-/express-3.16.2.tgz"},"directories":{}},"4.8.2":{"name":"express","version":"4.8.2","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.2.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","qs":"1.2.0","range-parser":"1.0.0","send":"0.8.1","serve-static":"~1.5.0","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.6.1","cookie-parser":"~1.3.1","express-session":"~1.7.2","jade":"~1.5.0","method-override":"~2.1.1","morgan":"~1.2.2","multiparty":"~3.3.1","vhost":"2.0.0"},"gitHead":"22ca953e96e66e142e2e89ba1fa3386a876ce55f","homepage":"https://github.com/visionmedia/express","_id":"express@4.8.2","_shasum":"99fd5c03a8d885ba83981599619d71d088e46d3c","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"99fd5c03a8d885ba83981599619d71d088e46d3c","tarball":"https://registry.npmjs.org/express/-/express-4.8.2.tgz"},"directories":{}},"3.16.3":{"name":"express","version":"3.16.3","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.25.3","commander":"1.3.2","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.2.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.8.1","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.5.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"d13e6135844e1c949ac0f10f307130c4df153085","homepage":"https://github.com/visionmedia/express","_id":"express@3.16.3","_shasum":"89157f5e6a84365036ed93ae1e413ab1bd6ce1a5","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"89157f5e6a84365036ed93ae1e413ab1bd6ce1a5","tarball":"https://registry.npmjs.org/express/-/express-3.16.3.tgz"},"directories":{}},"3.16.4":{"name":"express","version":"3.16.4","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.25.4","commander":"1.3.2","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.8.1","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.5.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"7119f2b16d610af6e4eb6d79292c52e2e8c506d9","homepage":"https://github.com/visionmedia/express","_id":"express@3.16.4","_shasum":"d0dae63fc0d5a24ef48901d6b31d5e5791226033","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"d0dae63fc0d5a24ef48901d6b31d5e5791226033","tarball":"https://registry.npmjs.org/express/-/express-3.16.4.tgz"},"directories":{}},"4.8.3":{"name":"express","version":"4.8.3","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","qs":"1.2.1","range-parser":"1.0.0","send":"0.8.1","serve-static":"~1.5.1","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.6.1","cookie-parser":"~1.3.1","express-session":"~1.7.2","jade":"~1.5.0","method-override":"~2.1.1","morgan":"~1.2.2","multiparty":"~3.3.1","vhost":"2.0.0"},"gitHead":"1643ae442c724e1ea14383b62675cb13c49e3f49","homepage":"https://github.com/visionmedia/express","_id":"express@4.8.3","_shasum":"a2c95b9079cda0473a04448f6b6c1e7fc20bf200","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"a2c95b9079cda0473a04448f6b6c1e7fc20bf200","tarball":"https://registry.npmjs.org/express/-/express-4.8.3.tgz"},"directories":{}},"3.16.5":{"name":"express","version":"3.16.5","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.25.5","commander":"1.3.2","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.8.1","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.5.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"0dddd772c0096b62ab67295083fb1795c353f0ff","homepage":"https://github.com/visionmedia/express","_id":"express@3.16.5","_shasum":"70dc7fd31be9d7bea32312ce0e461dd4ca5bb58b","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"70dc7fd31be9d7bea32312ce0e461dd4ca5bb58b","tarball":"https://registry.npmjs.org/express/-/express-3.16.5.tgz"},"directories":{}},"3.16.6":{"name":"express","version":"3.16.6","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.25.6","commander":"1.3.2","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.8.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.5.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"f13f4652da58c42e30c59e2b0b5b0d58b1d97bb7","homepage":"https://github.com/visionmedia/express","_id":"express@3.16.6","_shasum":"585104615f0b857750856424bcfaa4c16b3cce1c","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"585104615f0b857750856424bcfaa4c16b3cce1c","tarball":"https://registry.npmjs.org/express/-/express-3.16.6.tgz"},"directories":{}},"4.8.4":{"name":"express","version":"4.8.4","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","qs":"1.2.2","range-parser":"1.0.0","send":"0.8.2","serve-static":"~1.5.2","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.6.4","cookie-parser":"~1.3.1","express-session":"~1.7.5","jade":"~1.5.0","method-override":"~2.1.1","morgan":"~1.2.2","multiparty":"~3.3.2","vhost":"2.0.0"},"gitHead":"0cf02d4667264cea9682d49941f1242ac6f289df","homepage":"https://github.com/visionmedia/express","_id":"express@4.8.4","_shasum":"b14d432cc1897e10b1915cf9b648f8930deadb0e","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"b14d432cc1897e10b1915cf9b648f8930deadb0e","tarball":"https://registry.npmjs.org/express/-/express-4.8.4.tgz"},"directories":{}},"3.16.7":{"name":"express","version":"3.16.7","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.25.7","commander":"1.3.2","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.8.3","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.5.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"0b12cc0cacbd8948079a0ca78b87d540def950eb","_id":"express@3.16.7","_shasum":"788aab5d66e85060211d6fea08eb2986f2f2631c","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"788aab5d66e85060211d6fea08eb2986f2f2631c","tarball":"https://registry.npmjs.org/express/-/express-3.16.7.tgz"},"directories":{}},"4.8.5":{"name":"express","version":"4.8.5","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","qs":"1.2.2","range-parser":"1.0.0","send":"0.8.3","serve-static":"~1.5.3","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.6.5","cookie-parser":"~1.3.1","express-session":"~1.7.6","jade":"~1.5.0","method-override":"~2.1.3","morgan":"~1.2.3","multiparty":"~3.3.2","vhost":"2.0.0"},"gitHead":"27f195374d7372f3270357873239f2c2962aafcc","_id":"express@4.8.5","_shasum":"59cf7666c29bf7cb8545a1acd43dd81a52cb26d9","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"59cf7666c29bf7cb8545a1acd43dd81a52cb26d9","tarball":"https://registry.npmjs.org/express/-/express-4.8.5.tgz"},"directories":{}},"3.16.8":{"name":"express","version":"3.16.8","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.25.8","commander":"1.3.2","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.8.3","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.5.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"0299bee8fae527c02c42dee8ced22a1f63f05093","_id":"express@3.16.8","_shasum":"46307b9e35a52e523b9d58a16e4c128cd21f43f4","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"46307b9e35a52e523b9d58a16e4c128cd21f43f4","tarball":"https://registry.npmjs.org/express/-/express-3.16.8.tgz"},"directories":{}},"4.8.6":{"name":"express","version":"4.8.6","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","qs":"2.2.0","range-parser":"1.0.0","send":"0.8.3","serve-static":"~1.5.3","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.6.6","cookie-parser":"~1.3.2","express-session":"~1.7.6","jade":"~1.5.0","method-override":"~2.1.3","morgan":"~1.2.3","multiparty":"~3.3.2","vhost":"2.0.0"},"gitHead":"b6ae091bdfa5d1717b65eba8dbba3d67ad999438","_id":"express@4.8.6","_shasum":"703b2aa835dafab9840bb890bc55557d96516acd","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"703b2aa835dafab9840bb890bc55557d96516acd","tarball":"https://registry.npmjs.org/express/-/express-4.8.6.tgz"},"directories":{}},"3.16.9":{"name":"express","version":"3.16.9","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.25.9","commander":"1.3.2","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.8.3","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.5.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"4d032cda058596e1ae89924ff69e80c3849ef4ff","_id":"express@3.16.9","_shasum":"993747be5669700280d9682cb61ad138939847fc","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"993747be5669700280d9682cb61ad138939847fc","tarball":"https://registry.npmjs.org/express/-/express-3.16.9.tgz"},"directories":{}},"4.8.7":{"name":"express","version":"4.8.7","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","qs":"2.2.2","range-parser":"1.0.0","send":"0.8.3","serve-static":"~1.5.3","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.6.7","cookie-parser":"~1.3.2","express-session":"~1.7.6","jade":"~1.5.0","method-override":"~2.1.3","morgan":"~1.2.3","multiparty":"~3.3.2","vhost":"2.0.0"},"gitHead":"46f0bfc65f151a900e7c36a81b950c79b2c1a596","_id":"express@4.8.7","_shasum":"e4290dd5ff9c5a1a1af6f7a1c0c53021adf8564d","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"e4290dd5ff9c5a1a1af6f7a1c0c53021adf8564d","tarball":"https://registry.npmjs.org/express/-/express-4.8.7.tgz"},"directories":{}},"3.16.10":{"name":"express","version":"3.16.10","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.25.10","commander":"1.3.2","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","media-typer":"0.2.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"1.0.1","range-parser":"1.0.0","send":"0.8.5","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.5.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"3d188fe13e1901222cd830dcdc9772a34b9bd745","_id":"express@3.16.10","_shasum":"c68c5ac30e9e890b812c11408dcde183c411bb56","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"c68c5ac30e9e890b812c11408dcde183c411bb56","tarball":"https://registry.npmjs.org/express/-/express-3.16.10.tgz"},"directories":{}},"4.8.8":{"name":"express","version":"4.8.8","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.0.7","buffer-crc32":"0.2.3","debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finalhandler":"0.1.0","media-typer":"0.2.0","methods":"1.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","qs":"2.2.2","range-parser":"1.0.0","send":"0.8.5","serve-static":"~1.5.4","type-is":"~1.3.2","vary":"0.1.0","cookie":"0.1.2","fresh":"0.2.2","cookie-signature":"1.0.4","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","connect-redis":"~2.0.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.7.0","cookie-parser":"~1.3.2","express-session":"~1.7.6","jade":"~1.5.0","method-override":"~2.1.3","morgan":"~1.2.3","multiparty":"~3.3.2","vhost":"~3.0.0"},"gitHead":"621d074bd87dd7a7064c5607dbed05b97f80fcc0","_id":"express@4.8.8","_shasum":"6aba348ccdfa87608040b12ca0010107a0aac28e","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"6aba348ccdfa87608040b12ca0010107a0aac28e","tarball":"https://registry.npmjs.org/express/-/express-4.8.8.tgz"},"directories":{}},"3.17.0":{"name":"express","version":"3.17.0","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.26.0","commander":"1.3.2","cookie-signature":"1.0.5","debug":"~2.0.0","depd":"0.4.4","escape-html":"1.0.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"1.0.1","range-parser":"~1.0.2","send":"0.9.1","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.6.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"fa1fcd9fec14234f3fde38b6f4929bb2043fedef","_id":"express@3.17.0","_shasum":"e882e8921dbd193042559b52f7d0250f749ec7ac","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"e882e8921dbd193042559b52f7d0250f749ec7ac","tarball":"https://registry.npmjs.org/express/-/express-3.17.0.tgz"},"directories":{}},"3.17.1":{"name":"express","version":"3.17.1","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","buffer-crc32":"0.2.3","connect":"2.26.0","commander":"1.3.2","cookie-signature":"1.0.5","debug":"~2.0.0","depd":"0.4.4","escape-html":"1.0.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"1.0.1","range-parser":"~1.0.2","send":"0.9.1","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.6.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"4b1b8e420f4f4ee95e835e2eebc41a66dba556f2","_id":"express@3.17.1","_shasum":"82b357f0bc78733b1ac1070224f89a37dea76a74","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"82b357f0bc78733b1ac1070224f89a37dea76a74","tarball":"https://registry.npmjs.org/express/-/express-3.17.1.tgz"},"directories":{}},"4.9.0":{"name":"express","version":"4.9.0","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.0","buffer-crc32":"0.2.3","cookie-signature":"1.0.5","debug":"~2.0.0","depd":"0.4.4","escape-html":"1.0.1","etag":"~1.3.0","finalhandler":"0.2.0","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","qs":"2.2.3","range-parser":"~1.0.2","send":"0.9.1","serve-static":"~1.6.1","type-is":"~1.5.1","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.8.1","connect-redis":"~2.1.0","cookie-parser":"~1.3.2","express-session":"~1.8.1","jade":"~1.6.0","method-override":"~2.2.0","morgan":"~1.3.0","multiparty":"~3.3.2","vhost":"~3.0.0"},"gitHead":"1716e3b067af5acaeeee4165a865e0b670300aee","_id":"express@4.9.0","_shasum":"9b2ea4ebce57c7ac710604c74f6c303ab344a7f3","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"9b2ea4ebce57c7ac710604c74f6c303ab344a7f3","tarball":"https://registry.npmjs.org/express/-/express-4.9.0.tgz"},"directories":{}},"3.17.2":{"name":"express","version":"3.17.2","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.26.1","commander":"1.3.2","cookie-signature":"1.0.5","crc":"3.0.0","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"1.0.1","range-parser":"~1.0.2","send":"0.9.2","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.6.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"f29399c4e1f644a64e08a45251f113d361bdfbb3","_id":"express@3.17.2","_shasum":"9593dd94af5d4776ea2b6dbff8c4d850a3381353","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"9593dd94af5d4776ea2b6dbff8c4d850a3381353","tarball":"https://registry.npmjs.org/express/-/express-3.17.2.tgz"},"directories":{}},"4.9.1":{"name":"express","version":"4.9.1","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.0","cookie-signature":"1.0.5","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","etag":"~1.3.1","finalhandler":"0.2.0","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","qs":"2.2.3","range-parser":"~1.0.2","send":"0.9.2","serve-static":"~1.6.2","type-is":"~1.5.1","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.8.2","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.8.2","jade":"~1.6.0","method-override":"~2.2.0","morgan":"~1.3.1","multiparty":"~3.3.2","vhost":"~3.0.0"},"gitHead":"947fb8b27425851f3316ae9d39df5035085dde4a","_id":"express@4.9.1","_shasum":"70536ee2a8f2c302c4df45e23f4fcc7e4c2c9603","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"70536ee2a8f2c302c4df45e23f4fcc7e4c2c9603","tarball":"https://registry.npmjs.org/express/-/express-4.9.1.tgz"},"directories":{}},"4.9.2":{"name":"express","version":"4.9.2","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.0","cookie-signature":"1.0.5","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","etag":"~1.3.1","finalhandler":"0.2.0","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"1.0.1","qs":"2.2.3","range-parser":"~1.0.2","send":"0.9.2","serve-static":"~1.6.2","type-is":"~1.5.1","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.8.2","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.8.2","jade":"~1.6.0","method-override":"~2.2.0","morgan":"~1.3.1","multiparty":"~3.3.2","vhost":"~3.0.0"},"gitHead":"91891e3aee6f2a0b1c4db1e0b499338d05bda91b","_id":"express@4.9.2","_shasum":"988fbe666dfb1ba7f13edf7f27fea2a8bd101439","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"988fbe666dfb1ba7f13edf7f27fea2a8bd101439","tarball":"https://registry.npmjs.org/express/-/express-4.9.2.tgz"},"directories":{}},"3.17.3":{"name":"express","version":"3.17.3","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.26.1","commander":"1.3.2","cookie-signature":"1.0.5","crc":"3.0.0","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.2","range-parser":"~1.0.2","send":"0.9.2","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.6.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"63286e1192c695630a9c221c93b98d3b982fc5c7","_id":"express@3.17.3","_shasum":"cc25ea448a0f23225385948511f0bedb2dfa92c2","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"cc25ea448a0f23225385948511f0bedb2dfa92c2","tarball":"https://registry.npmjs.org/express/-/express-3.17.3.tgz"},"directories":{}},"4.9.3":{"name":"express","version":"4.9.3","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.0","cookie-signature":"1.0.5","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","etag":"~1.3.1","finalhandler":"0.2.0","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.2","qs":"2.2.3","range-parser":"~1.0.2","send":"0.9.2","serve-static":"~1.6.2","type-is":"~1.5.1","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.8.2","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.8.2","jade":"~1.6.0","method-override":"~2.2.0","morgan":"~1.3.1","multiparty":"~3.3.2","vhost":"~3.0.0"},"gitHead":"bc38d896ea6bb8049e08467c0ff7fcf40956e744","_id":"express@4.9.3","_shasum":"6aadd470fbb0fdd2550536ab33b63c3fcb7f1028","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"6aadd470fbb0fdd2550536ab33b63c3fcb7f1028","tarball":"https://registry.npmjs.org/express/-/express-4.9.3.tgz"},"directories":{}},"3.17.4":{"name":"express","version":"3.17.4","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.26.2","commander":"1.3.2","cookie-signature":"1.0.5","crc":"3.0.0","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.2","range-parser":"~1.0.2","send":"0.9.2","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.6.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"b09afad7b19d87bbc5acae6220e79f4765fb69c3","_id":"express@3.17.4","_shasum":"38d2749198f4d2d6b19433bd1105d065eb975a14","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"38d2749198f4d2d6b19433bd1105d065eb975a14","tarball":"https://registry.npmjs.org/express/-/express-3.17.4.tgz"},"directories":{}},"4.9.4":{"name":"express","version":"4.9.4","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.0","cookie-signature":"1.0.5","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","etag":"~1.3.1","finalhandler":"0.2.0","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.2","qs":"2.2.4","range-parser":"~1.0.2","send":"0.9.2","serve-static":"~1.6.2","type-is":"~1.5.1","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.8.2","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.8.2","jade":"~1.6.0","method-override":"~2.2.0","morgan":"~1.3.1","multiparty":"~3.3.2","vhost":"~3.0.0"},"gitHead":"8e46af1b1dd543b9933b86613a16ddcb7dc286be","_id":"express@4.9.4","_shasum":"008e18c92add61fcb534968e04c7e0102a66690b","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"008e18c92add61fcb534968e04c7e0102a66690b","tarball":"https://registry.npmjs.org/express/-/express-4.9.4.tgz"},"directories":{}},"3.17.5":{"name":"express","version":"3.17.5","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.26.3","commander":"1.3.2","cookie-signature":"1.0.5","crc":"3.0.0","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.3","range-parser":"~1.0.2","send":"0.9.3","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.6.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"43e2cd79cba6acddb0d2c0de6dceb5874e21f5e5","_id":"express@3.17.5","_shasum":"859f4f7bd8d4b8656982592d432f6a0ee06afd30","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"859f4f7bd8d4b8656982592d432f6a0ee06afd30","tarball":"https://registry.npmjs.org/express/-/express-3.17.5.tgz"},"directories":{}},"4.9.5":{"name":"express","version":"4.9.5","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.0","cookie-signature":"1.0.5","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","etag":"~1.4.0","finalhandler":"0.2.0","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.3","qs":"2.2.4","range-parser":"~1.0.2","send":"0.9.3","serve-static":"~1.6.3","type-is":"~1.5.1","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.8.2","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.8.2","jade":"~1.6.0","method-override":"~2.2.0","morgan":"~1.3.1","multiparty":"~3.3.2","vhost":"~3.0.0"},"gitHead":"daadf6033b013319360850a6fc51911533a84512","_id":"express@4.9.5","_shasum":"7f62aa84ac8f5e96acfb98e2944dde0bf1cf8688","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"7f62aa84ac8f5e96acfb98e2944dde0bf1cf8688","tarball":"https://registry.npmjs.org/express/-/express-4.9.5.tgz"},"directories":{}},"3.17.6":{"name":"express","version":"3.17.6","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.26.4","commander":"1.3.2","cookie-signature":"1.0.5","crc":"3.0.0","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.3","range-parser":"~1.0.2","send":"0.9.3","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.0","ejs":"~1.0.0","jade":"~1.6.0","hjs":"~0.0.6","marked":"0.3.2","supertest":"~0.13.0"},"bin":{"express":"./bin/express"},"gitHead":"cc18da5cdfd6edbe1878b80f1c37cf0d6b86bcb6","_id":"express@3.17.6","_shasum":"e2f9a6a48b85233afc4f7b6c5cd6799c53f5f46f","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"e2f9a6a48b85233afc4f7b6c5cd6799c53f5f46f","tarball":"https://registry.npmjs.org/express/-/express-3.17.6.tgz"},"directories":{}},"3.17.7":{"name":"express","version":"3.17.7","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.26.5","commander":"1.3.2","cookie-signature":"1.0.5","crc":"3.0.0","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.3","range-parser":"~1.0.2","send":"0.9.3","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.0","supertest":"~0.14.0","ejs":"~1.0.0","jade":"~1.6.0","hjs":"~0.0.6","marked":"0.3.2"},"bin":{"express":"./bin/express"},"gitHead":"9f292d873ef3124ed1760ca3647780452b34daf0","_id":"express@3.17.7","_shasum":"4261113907252e0b4b8346a342d321fe7fd11d75","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"4261113907252e0b4b8346a342d321fe7fd11d75","tarball":"https://registry.npmjs.org/express/-/express-3.17.7.tgz"},"directories":{}},"4.9.6":{"name":"express","version":"4.9.6","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.1","cookie-signature":"1.0.5","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","etag":"~1.4.0","finalhandler":"0.2.0","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.3","qs":"2.2.4","range-parser":"~1.0.2","send":"0.9.3","serve-static":"~1.6.4","type-is":"~1.5.2","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.14.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.8.2","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.8.2","jade":"~1.6.0","method-override":"~2.2.0","morgan":"~1.3.1","multiparty":"~3.3.2","vhost":"~3.0.0"},"gitHead":"efd2dfb8c82e42b43f3d7f03181381d390d9174d","_id":"express@4.9.6","_shasum":"0b3e3970784d9133c4335c299539e6d895dbb208","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"0b3e3970784d9133c4335c299539e6d895dbb208","tarball":"https://registry.npmjs.org/express/-/express-4.9.6.tgz"},"directories":{}},"4.9.7":{"name":"express","version":"4.9.7","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.1","cookie-signature":"1.0.5","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","etag":"~1.4.0","finalhandler":"0.2.0","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.3","qs":"2.2.4","range-parser":"~1.0.2","send":"0.9.3","serve-static":"~1.6.4","type-is":"~1.5.2","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.14.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.8.2","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.8.2","jade":"~1.6.0","method-override":"~2.2.0","morgan":"~1.3.1","multiparty":"~3.3.2","vhost":"~3.0.0"},"gitHead":"b0e4e641f93e422e4704f79f2ba3d3dcd0c5d8e6","_id":"express@4.9.7","_shasum":"ae3e0bdf0095749467fde125afd77e7988ff0fbb","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"ae3e0bdf0095749467fde125afd77e7988ff0fbb","tarball":"https://registry.npmjs.org/express/-/express-4.9.7.tgz"},"directories":{}},"3.17.8":{"name":"express","version":"3.17.8","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.26.6","commander":"1.3.2","cookie-signature":"1.0.5","crc":"3.0.0","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.3","range-parser":"~1.0.2","send":"0.9.3","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~1.21.5","should":"~4.0.0","supertest":"~0.14.0","ejs":"~1.0.0","jade":"~1.6.0","hjs":"~0.0.6","marked":"0.3.2"},"bin":{"express":"./bin/express"},"gitHead":"6d39d0f8a809eed1b75e0d5bd4d2dad3d2190f25","_id":"express@3.17.8","_shasum":"f0a451865f31938ea518a924c6f521df2d474d4b","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"f0a451865f31938ea518a924c6f521df2d474d4b","tarball":"https://registry.npmjs.org/express/-/express-3.17.8.tgz"},"directories":{}},"4.9.8":{"name":"express","version":"4.9.8","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.2","cookie-signature":"1.0.5","debug":"~2.0.0","depd":"0.4.5","escape-html":"1.0.1","etag":"~1.4.0","finalhandler":"0.2.0","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.3","qs":"2.2.4","range-parser":"~1.0.2","send":"0.9.3","serve-static":"~1.6.4","type-is":"~1.5.2","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~1.21.5","should":"~4.0.4","supertest":"~0.14.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.8.2","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.8.2","jade":"~1.6.0","method-override":"~2.2.0","morgan":"~1.3.1","multiparty":"~3.3.2","vhost":"~3.0.0"},"gitHead":"f15bba7309f2e0a17f7b7a5552b9618f074078c8","_id":"express@4.9.8","_shasum":"f360f596baeabbd0e5223b603d6eb578d9d2d10d","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"f360f596baeabbd0e5223b603d6eb578d9d2d10d","tarball":"https://registry.npmjs.org/express/-/express-4.9.8.tgz"},"directories":{}},"3.18.0":{"name":"express","version":"3.18.0","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.27.0","content-disposition":"0.5.0","commander":"1.3.2","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.0","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.3","range-parser":"~1.0.2","send":"0.10.0","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~1.21.5","should":"~4.0.0","supertest":"~0.14.0","ejs":"~1.0.0","jade":"~1.7.0","hjs":"~0.0.6","marked":"0.3.2"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"366000184f6fa2ae39b96c4806c7ab625a01e71c","_id":"express@3.18.0","_shasum":"ff1f4ee689ba6e622a087e397994f7c2115c5c57","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"ff1f4ee689ba6e622a087e397994f7c2115c5c57","tarball":"https://registry.npmjs.org/express/-/express-3.18.0.tgz"},"directories":{}},"3.18.1":{"name":"express","version":"3.18.1","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.27.1","content-disposition":"0.5.0","commander":"1.3.2","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.0","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.3","range-parser":"~1.0.2","send":"0.10.1","utils-merge":"1.0.0","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~2.0.0","should":"~4.1.0","supertest":"~0.14.0","ejs":"~1.0.0","jade":"~1.7.0","hjs":"~0.0.6","marked":"0.3.2"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"88dfd36eaafa7a0349401a6142413dbb4030ab78","_id":"express@3.18.1","_shasum":"0bbd6269abbdb53482166b0b5a9a04e311be9977","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"0bbd6269abbdb53482166b0b5a9a04e311be9977","tarball":"https://registry.npmjs.org/express/-/express-3.18.1.tgz"},"directories":{}},"4.10.0":{"name":"express","version":"4.10.0","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.2","content-disposition":"0.5.0","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.0","finalhandler":"0.3.2","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.1","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.3","qs":"2.3.0","range-parser":"~1.0.2","send":"0.10.1","serve-static":"~1.7.1","type-is":"~1.5.2","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~2.0.0","should":"~4.1.0","supertest":"~0.14.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.9.1","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.9.1","jade":"~1.7.0","method-override":"~2.3.0","morgan":"~1.4.1","multiparty":"~4.0.0","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"d40dc651f3561a4978fdc9c40e7fc802261d99ce","_id":"express@4.10.0","_shasum":"52719d5a1cde4edd47b87da43b1a7c337d761a12","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"52719d5a1cde4edd47b87da43b1a7c337d761a12","tarball":"https://registry.npmjs.org/express/-/express-4.10.0.tgz"},"directories":{}},"3.18.2":{"name":"express","version":"3.18.2","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.27.2","content-disposition":"0.5.0","commander":"1.3.2","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.0","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.3","range-parser":"~1.0.2","send":"0.10.1","utils-merge":"1.0.0","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~2.0.0","should":"~4.1.0","supertest":"~0.14.0","ejs":"~1.0.0","jade":"~1.7.0","hjs":"~0.0.6","marked":"0.3.2"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"a12ae729bdb1e59f4f5962f0429fd116fd1fba24","_id":"express@3.18.2","_shasum":"7f92bce77e4f606a8defcf6aed54f8cfa0e044ca","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"7f92bce77e4f606a8defcf6aed54f8cfa0e044ca","tarball":"https://registry.npmjs.org/express/-/express-3.18.2.tgz"},"directories":{}},"4.10.1":{"name":"express","version":"4.10.1","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.2","content-disposition":"0.5.0","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.0","finalhandler":"0.3.2","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.1","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.3","qs":"2.3.2","range-parser":"~1.0.2","send":"0.10.1","serve-static":"~1.7.1","type-is":"~1.5.2","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~2.0.0","should":"~4.1.0","supertest":"~0.14.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.9.1","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.9.1","jade":"~1.7.0","method-override":"~2.3.0","morgan":"~1.4.1","multiparty":"~4.0.0","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"8bb013ec9567ae95a649c7537e1689944749d493","_id":"express@4.10.1","_shasum":"a291c812bc8b0ed6ab877366fe0e68a2368fde7e","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"a291c812bc8b0ed6ab877366fe0e68a2368fde7e","tarball":"https://registry.npmjs.org/express/-/express-4.10.1.tgz"},"directories":{}},"5.0.0-alpha.1":{"name":"express","version":"5.0.0-alpha.1","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.2","content-disposition":"0.5.0","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.0","finalhandler":"0.3.2","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.1","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.3","qs":"2.3.2","range-parser":"~1.0.2","send":"0.10.1","serve-static":"~1.7.1","type-is":"~1.5.2","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~2.0.0","should":"~4.1.0","supertest":"~0.14.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.9.1","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.9.1","jade":"~1.7.0","method-override":"~2.3.0","morgan":"~1.4.1","multiparty":"~4.0.0","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"4052c15c7f10b79fb7c54f3837ffe118f7a99811","_id":"express@5.0.0-alpha.1","_shasum":"415df02c51ae01c221362fca59b03591d956b2d7","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"415df02c51ae01c221362fca59b03591d956b2d7","tarball":"https://registry.npmjs.org/express/-/express-5.0.0-alpha.1.tgz"},"directories":{}},"3.18.3":{"name":"express","version":"3.18.3","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.27.3","content-disposition":"0.5.0","commander":"1.3.2","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.0","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.3","range-parser":"~1.0.2","send":"0.10.1","utils-merge":"1.0.0","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~2.0.0","should":"~4.2.1","supertest":"~0.14.0","ejs":"~1.0.0","jade":"~1.7.0","hjs":"~0.0.6","marked":"0.3.2"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"28c6952d1c40d2ed840967206c1a7fc8d21da71b","_id":"express@3.18.3","_shasum":"4020829da766557f308161b3d0ea01c838b2aff6","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"4020829da766557f308161b3d0ea01c838b2aff6","tarball":"https://registry.npmjs.org/express/-/express-3.18.3.tgz"},"directories":{}},"4.10.2":{"name":"express","version":"4.10.2","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.3","content-disposition":"0.5.0","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.0","finalhandler":"0.3.2","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.1","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.3","qs":"2.3.2","range-parser":"~1.0.2","send":"0.10.1","serve-static":"~1.7.1","type-is":"~1.5.3","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~2.0.0","should":"~4.2.1","supertest":"~0.14.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.9.1","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.9.1","jade":"~1.7.0","method-override":"~2.3.0","morgan":"~1.4.1","multiparty":"~4.0.0","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"ac56cf46063e461fbaf53c2c869a1a657e8adbe1","_id":"express@4.10.2","_shasum":"df06dde94d968932829d440a2004c5efe64495b0","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"df06dde94d968932829d440a2004c5efe64495b0","tarball":"https://registry.npmjs.org/express/-/express-4.10.2.tgz"},"directories":{}},"3.18.4":{"name":"express","version":"3.18.4","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.27.4","content-disposition":"0.5.0","commander":"1.3.2","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.4","range-parser":"~1.0.2","send":"0.10.1","utils-merge":"1.0.0","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.2","mocha":"~2.0.0","should":"~4.3.0","supertest":"~0.15.0","ejs":"~1.0.0","jade":"~1.7.0","hjs":"~0.0.6","marked":"0.3.2"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"6c8bcd5c4e049b5c212036a2e6cfe9ac98d5b9f8","_id":"express@3.18.4","_shasum":"7b40ad2c10a987692ee97a387c21593011f03712","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"7b40ad2c10a987692ee97a387c21593011f03712","tarball":"https://registry.npmjs.org/express/-/express-3.18.4.tgz"},"directories":{}},"4.10.3":{"name":"express","version":"4.10.3","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.3","content-disposition":"0.5.0","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.2","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.1","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.4","qs":"2.3.3","range-parser":"~1.0.2","send":"0.10.1","serve-static":"~1.7.1","type-is":"~1.5.3","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~2.0.0","should":"~4.3.0","supertest":"~0.15.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.9.3","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.9.2","jade":"~1.7.0","method-override":"~2.3.0","morgan":"~1.5.0","multiparty":"~4.0.0","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"7fcc8b190d7a8a3f3743bc19b4ec0d349e50cc20","_id":"express@4.10.3","_shasum":"08006c11d0c519339963bf643c3d76c2765f9349","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"08006c11d0c519339963bf643c3d76c2765f9349","tarball":"https://registry.npmjs.org/express/-/express-4.10.3.tgz"},"directories":{}},"4.10.4":{"name":"express","version":"4.10.4","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.3","content-disposition":"0.5.0","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.2","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.1","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.4","qs":"2.3.3","range-parser":"~1.0.2","send":"0.10.1","serve-static":"~1.7.1","type-is":"~1.5.3","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~2.0.0","should":"~4.3.0","supertest":"~0.15.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.9.3","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.9.2","jade":"~1.7.0","method-override":"~2.3.0","morgan":"~1.5.0","multiparty":"~4.0.0","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"656e214937889536b0faa73097422061315496f2","_id":"express@4.10.4","_shasum":"31aa70acdad6b6093945c30523df8537336deb58","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"31aa70acdad6b6093945c30523df8537336deb58","tarball":"https://registry.npmjs.org/express/-/express-4.10.4.tgz"},"directories":{}},"4.10.5":{"name":"express","version":"4.10.5","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.4","content-disposition":"0.5.0","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.2","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.1","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.4","qs":"2.3.3","range-parser":"~1.0.2","send":"0.10.1","serve-static":"~1.7.1","type-is":"~1.5.4","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.2","mocha":"~2.0.0","should":"~4.3.0","supertest":"~0.15.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.9.3","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.9.2","jade":"~1.7.0","method-override":"~2.3.0","morgan":"~1.5.0","multiparty":"~4.0.0","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"4d8093302f752725874d6b31b57720d4cab6d078","_id":"express@4.10.5","_shasum":"cdcff3ea56f9cd8017043356553661cbae161f4f","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"cdcff3ea56f9cd8017043356553661cbae161f4f","tarball":"https://registry.npmjs.org/express/-/express-4.10.5.tgz"},"directories":{}},"3.18.5":{"name":"express","version":"3.18.5","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.27.6","content-disposition":"0.5.0","commander":"1.3.2","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.4","range-parser":"~1.0.2","send":"0.10.1","utils-merge":"1.0.0","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.5","mocha":"~2.0.0","should":"~4.3.1","supertest":"~0.15.0","ejs":"~1.0.0","hjs":"~0.0.6","marked":"0.3.2"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"262b60537fd39c76420246d38c813a1743bf223e","_id":"express@3.18.5","_shasum":"bf0feb8562f82419ffdacf7c2315755758bfd7ec","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"bf0feb8562f82419ffdacf7c2315755758bfd7ec","tarball":"https://registry.npmjs.org/express/-/express-3.18.5.tgz"},"directories":{}},"3.18.6":{"name":"express","version":"3.18.6","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.27.6","content-disposition":"0.5.0","commander":"1.3.2","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.4","range-parser":"~1.0.2","send":"0.10.1","utils-merge":"1.0.0","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","istanbul":"0.3.5","mocha":"~2.0.0","should":"~4.3.1","supertest":"~0.15.0","ejs":"~1.0.0","hjs":"~0.0.6","marked":"0.3.2"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"4405b849a9ea62dfa76f32031e187c844f8e217d","_id":"express@3.18.6","_shasum":"cbcc7cb610d061ac619e5d090a5539353a3e870b","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"cbcc7cb610d061ac619e5d090a5539353a3e870b","tarball":"https://registry.npmjs.org/express/-/express-3.18.6.tgz"},"directories":{}},"4.10.6":{"name":"express","version":"4.10.6","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.4","content-disposition":"0.5.0","cookie-signature":"1.0.5","debug":"~2.1.0","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.2","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.0","on-finished":"~2.1.1","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.4","qs":"2.3.3","range-parser":"~1.0.2","send":"0.10.1","serve-static":"~1.7.1","type-is":"~1.5.4","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.5","mocha":"~2.0.0","should":"~4.3.1","supertest":"~0.15.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.9.3","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.9.2","jade":"~1.7.0","method-override":"~2.3.0","morgan":"~1.5.0","multiparty":"~4.0.0","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"b78bd3d1fd6caf8228a1875078fecce936cb2e46","_id":"express@4.10.6","_shasum":"a9015979ccf38b11a39c0f726dcf6c4b85a4e758","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"a9015979ccf38b11a39c0f726dcf6c4b85a4e758","tarball":"https://registry.npmjs.org/express/-/express-4.10.6.tgz"},"directories":{}},"4.10.7":{"name":"express","version":"4.10.7","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.4","content-disposition":"0.5.0","cookie-signature":"1.0.5","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.3","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.1","on-finished":"~2.2.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.4","qs":"2.3.3","range-parser":"~1.0.2","send":"0.10.1","serve-static":"~1.7.2","type-is":"~1.5.5","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.5","mocha":"~2.0.0","should":"~4.3.1","supertest":"~0.15.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.9.3","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.9.2","jade":"~1.7.0","method-override":"~2.3.0","morgan":"~1.5.0","multiparty":"~4.0.0","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"ff5e96c88b23ebf0bb9bf99f9195b5b40215502f","_id":"express@4.10.7","_shasum":"0652f8cd5d0e2949d77b7dea7c5208161ec81ac6","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"0652f8cd5d0e2949d77b7dea7c5208161ec81ac6","tarball":"https://registry.npmjs.org/express/-/express-4.10.7.tgz"},"directories":{}},"3.19.0":{"name":"express","version":"3.19.0","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.28.1","content-disposition":"0.5.0","commander":"2.6.0","cookie-signature":"1.0.5","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"~1.1.1","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.5","range-parser":"~1.0.2","send":"0.11.0","utils-merge":"1.0.0","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","ejs":"2.0.8","istanbul":"0.3.5","mocha":"~2.1.0","should":"~4.4.4","supertest":"~0.15.0","hjs":"~0.0.6","marked":"0.3.2"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"ee3f2b073cbd947a5108b0ed68faf8172a4af2ca","_id":"express@3.19.0","_shasum":"cdac51029ccd012840d74c8c9a05834ac3a23a25","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"cdac51029ccd012840d74c8c9a05834ac3a23a25","tarball":"https://registry.npmjs.org/express/-/express-3.19.0.tgz"},"directories":{}},"4.10.8":{"name":"express","version":"4.10.8","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.1.4","content-disposition":"0.5.0","cookie-signature":"1.0.5","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.3","fresh":"0.2.4","media-typer":"0.3.0","methods":"1.1.1","on-finished":"~2.2.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.5","qs":"2.3.3","range-parser":"~1.0.2","send":"0.10.1","serve-static":"~1.7.2","type-is":"~1.5.5","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.5","mocha":"~2.0.0","should":"~4.3.1","supertest":"~0.15.0","ejs":"~1.0.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.10.1","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.9.2","jade":"~1.8.2","method-override":"~2.3.1","morgan":"~1.5.1","multiparty":"~4.1.0","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"08939683c7a2e5d7dc928d310ebab65878bffff3","_id":"express@4.10.8","_shasum":"2d83571e065c0efb2679c0a5f9ae66aeaa47024a","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"2d83571e065c0efb2679c0a5f9ae66aeaa47024a","tarball":"https://registry.npmjs.org/express/-/express-4.10.8.tgz"},"directories":{}},"4.11.0":{"name":"express","version":"4.11.0","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.2.2","content-disposition":"0.5.0","cookie-signature":"1.0.5","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.3","fresh":"0.2.4","media-typer":"0.3.0","methods":"~1.1.1","on-finished":"~2.2.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.5","qs":"2.3.3","range-parser":"~1.0.2","send":"0.11.0","serve-static":"~1.8.0","type-is":"~1.5.5","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","ejs":"2.0.8","istanbul":"0.3.5","mocha":"~2.1.0","should":"~4.4.4","supertest":"~0.15.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.10.1","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.10.1","jade":"~1.9.0","method-override":"~2.3.1","morgan":"~1.5.1","multiparty":"~4.1.0","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"40f7a8eaa297c26f74c1a5dbc13ab705b6f97b45","_id":"express@4.11.0","_shasum":"ad5b5157b74a95fc5c59442efad0306e7b1aeb99","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"ad5b5157b74a95fc5c59442efad0306e7b1aeb99","tarball":"https://registry.npmjs.org/express/-/express-4.11.0.tgz"},"directories":{}},"3.19.1":{"name":"express","version":"3.19.1","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.28.2","content-disposition":"0.5.0","commander":"2.6.0","cookie-signature":"1.0.5","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"~1.1.1","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.5","range-parser":"~1.0.2","send":"0.11.1","utils-merge":"1.0.0","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","ejs":"2.1.4","istanbul":"0.3.5","mocha":"~2.1.0","should":"~4.6.1","supertest":"~0.15.0","hjs":"~0.0.6","marked":"0.3.2"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"0c567b3282821c98a84640956e7fb4bf236be30e","_id":"express@3.19.1","_shasum":"2b65f584a4c9856ff656595680f522a106b81693","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"2b65f584a4c9856ff656595680f522a106b81693","tarball":"https://registry.npmjs.org/express/-/express-3.19.1.tgz"},"directories":{}},"4.11.1":{"name":"express","version":"4.11.1","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.2.2","content-disposition":"0.5.0","cookie-signature":"1.0.5","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.3","fresh":"0.2.4","media-typer":"0.3.0","methods":"~1.1.1","on-finished":"~2.2.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.5","qs":"2.3.3","range-parser":"~1.0.2","send":"0.11.1","serve-static":"~1.8.1","type-is":"~1.5.5","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","ejs":"2.1.4","istanbul":"0.3.5","mocha":"~2.1.0","should":"~4.6.1","supertest":"~0.15.0","marked":"0.3.2","hjs":"~0.0.6","body-parser":"~1.10.2","connect-redis":"~2.1.0","cookie-parser":"~1.3.3","express-session":"~1.10.1","jade":"~1.9.1","method-override":"~2.3.1","morgan":"~1.5.1","multiparty":"~4.1.1","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"45ebb6cdf45710f4fba93ae41c9dbd16afae83fe","_id":"express@4.11.1","_shasum":"36d04dd27aa1667634e987529767f9c99de7903f","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"36d04dd27aa1667634e987529767f9c99de7903f","tarball":"https://registry.npmjs.org/express/-/express-4.11.1.tgz"},"directories":{}},"3.19.2":{"name":"express","version":"3.19.2","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.28.3","content-disposition":"0.5.0","commander":"2.6.0","cookie-signature":"1.0.5","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","media-typer":"0.3.0","methods":"~1.1.1","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.6","range-parser":"~1.0.2","send":"0.11.1","utils-merge":"1.0.0","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","ejs":"2.1.4","istanbul":"0.3.5","marked":"0.3.3","mocha":"~2.1.0","should":"~4.6.2","supertest":"~0.15.0","hjs":"~0.0.6"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"86328767fe6b253bdbf99343049cc57f1c3a1fbb","_id":"express@3.19.2","_shasum":"7f9b3ad8ae0f29d2df98cb3d8649dec8bcc47bf6","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"7f9b3ad8ae0f29d2df98cb3d8649dec8bcc47bf6","tarball":"https://registry.npmjs.org/express/-/express-3.19.2.tgz"},"directories":{}},"4.11.2":{"name":"express","version":"4.11.2","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.2.3","content-disposition":"0.5.0","cookie-signature":"1.0.5","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.3","fresh":"0.2.4","media-typer":"0.3.0","methods":"~1.1.1","on-finished":"~2.2.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.6","qs":"2.3.3","range-parser":"~1.0.2","send":"0.11.1","serve-static":"~1.8.1","type-is":"~1.5.6","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","ejs":"2.1.4","istanbul":"0.3.5","marked":"0.3.3","mocha":"~2.1.0","should":"~4.6.2","supertest":"~0.15.0","hjs":"~0.0.6","body-parser":"~1.11.0","connect-redis":"~2.2.0","cookie-parser":"~1.3.3","express-session":"~1.10.2","jade":"~1.9.1","method-override":"~2.3.1","morgan":"~1.5.1","multiparty":"~4.1.1","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"63ab25579bda70b4927a179b580a9c580b6c7ada","_id":"express@4.11.2","_shasum":"8df3d5a9ac848585f00a0777601823faecd3b148","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"8df3d5a9ac848585f00a0777601823faecd3b148","tarball":"https://registry.npmjs.org/express/-/express-4.11.2.tgz"},"directories":{}},"3.20.0":{"name":"express","version":"3.20.0","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.29.0","content-disposition":"0.5.0","content-type":"~1.0.1","commander":"2.6.0","cookie-signature":"1.0.6","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","methods":"~1.1.1","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.6","range-parser":"~1.0.2","send":"0.12.1","utils-merge":"1.0.0","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","ejs":"2.1.4","istanbul":"0.3.5","marked":"0.3.3","mocha":"~2.1.0","should":"~5.0.0","supertest":"~0.15.0","hjs":"~0.0.6"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"85755e32d9d262db702bee84830462b5275c27e4","_id":"express@3.20.0","_shasum":"9dac561e31a08e7d2852790d86d17c7b70bdd9ac","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"9dac561e31a08e7d2852790d86d17c7b70bdd9ac","tarball":"https://registry.npmjs.org/express/-/express-3.20.0.tgz"},"directories":{}},"4.12.0":{"name":"express","version":"4.12.0","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.2.4","content-disposition":"0.5.0","content-type":"~1.0.1","cookie-signature":"1.0.6","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.3","fresh":"0.2.4","methods":"~1.1.1","on-finished":"~2.2.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.6","qs":"2.3.3","range-parser":"~1.0.2","send":"0.12.1","serve-static":"~1.9.1","type-is":"~1.6.0","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","ejs":"2.3.1","istanbul":"0.3.6","marked":"0.3.3","mocha":"~2.1.0","should":"~5.0.1","supertest":"~0.15.0","hjs":"~0.0.6","body-parser":"~1.12.0","connect-redis":"~2.2.0","cookie-parser":"~1.3.4","express-session":"~1.10.3","jade":"~1.9.2","method-override":"~2.3.1","morgan":"~1.5.1","multiparty":"~4.1.1","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"51f960f2977566f8d671fc0e8154466a1b3d78ca","_id":"express@4.12.0","_shasum":"739660fce86acbc11ba9c37dc96ff009dc9975e8","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"739660fce86acbc11ba9c37dc96ff009dc9975e8","tarball":"https://registry.npmjs.org/express/-/express-4.12.0.tgz"},"directories":{}},"3.20.1":{"name":"express","version":"3.20.1","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.29.0","content-disposition":"0.5.0","content-type":"~1.0.1","commander":"2.6.0","cookie-signature":"1.0.6","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","methods":"~1.1.1","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.6","range-parser":"~1.0.2","send":"0.12.1","utils-merge":"1.0.0","vary":"~1.0.0","cookie":"0.1.2","merge-descriptors":"0.0.2"},"devDependencies":{"connect-redis":"~1.5.0","ejs":"2.3.1","istanbul":"0.3.6","marked":"0.3.3","mocha":"~2.1.0","should":"~5.0.0","supertest":"~0.15.0"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"b2311c74024ceeb90cd7f4c473b856593106ba65","_id":"express@3.20.1","_shasum":"982701ba766a67a8bcc6f6d92366a1d0794e2c55","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"982701ba766a67a8bcc6f6d92366a1d0794e2c55","tarball":"https://registry.npmjs.org/express/-/express-3.20.1.tgz"},"directories":{}},"4.12.1":{"name":"express","version":"4.12.1","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.2.4","content-disposition":"0.5.0","content-type":"~1.0.1","cookie-signature":"1.0.6","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.3","fresh":"0.2.4","merge-descriptors":"1.0.0","methods":"~1.1.1","on-finished":"~2.2.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.6","qs":"2.3.3","range-parser":"~1.0.2","send":"0.12.1","serve-static":"~1.9.1","type-is":"~1.6.0","vary":"~1.0.0","cookie":"0.1.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","ejs":"2.3.1","istanbul":"0.3.6","marked":"0.3.3","mocha":"~2.1.0","should":"~5.0.1","supertest":"~0.15.0","body-parser":"~1.12.0","connect-redis":"~2.2.0","cookie-parser":"~1.3.4","express-session":"~1.10.3","jade":"~1.9.2","method-override":"~2.3.1","morgan":"~1.5.1","multiparty":"~4.1.1","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"1e6d2654a284f00c4bb92e201d87982e3dfb9a7c","_id":"express@4.12.1","_shasum":"bb784ce513d39f2b283fa2736303f89ba7951aeb","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"bb784ce513d39f2b283fa2736303f89ba7951aeb","tarball":"https://registry.npmjs.org/express/-/express-4.12.1.tgz"},"directories":{}},"4.12.2":{"name":"express","version":"4.12.2","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.2.4","content-disposition":"0.5.0","content-type":"~1.0.1","cookie-signature":"1.0.6","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.3","fresh":"0.2.4","merge-descriptors":"1.0.0","methods":"~1.1.1","on-finished":"~2.2.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.6","qs":"2.3.3","range-parser":"~1.0.2","send":"0.12.1","serve-static":"~1.9.1","type-is":"~1.6.0","vary":"~1.0.0","cookie":"0.1.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","ejs":"2.3.1","istanbul":"0.3.6","marked":"0.3.3","mocha":"~2.1.0","should":"~5.0.1","supertest":"~0.15.0","body-parser":"~1.12.0","connect-redis":"~2.2.0","cookie-parser":"~1.3.4","express-session":"~1.10.3","jade":"~1.9.2","method-override":"~2.3.1","morgan":"~1.5.1","multiparty":"~4.1.1","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"dee9fbbbda2f2483c657cf912f68db1a5ba1fcac","_id":"express@4.12.2","_shasum":"7e72ad4c1b4edf07536a6d1e2acec0161d8564bd","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"7e72ad4c1b4edf07536a6d1e2acec0161d8564bd","tarball":"https://registry.npmjs.org/express/-/express-4.12.2.tgz"},"directories":{}},"3.20.2":{"name":"express","version":"3.20.2","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.29.1","content-disposition":"0.5.0","content-type":"~1.0.1","commander":"2.6.0","cookie":"0.1.2","cookie-signature":"1.0.6","debug":"~2.1.3","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","merge-descriptors":"1.0.0","methods":"~1.1.1","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.7","range-parser":"~1.0.2","send":"0.12.2","utils-merge":"1.0.0","vary":"~1.0.0"},"devDependencies":{"connect-redis":"~1.5.0","ejs":"2.3.1","istanbul":"0.3.8","marked":"0.3.3","mocha":"~2.2.1","should":"~5.2.0","supertest":"~0.15.0"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"011e5dc24185eb213cfc09e027498ca34c742103","_id":"express@3.20.2","_shasum":"c604027746e60f3da0a4b43063375d21c3235858","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"c604027746e60f3da0a4b43063375d21c3235858","tarball":"https://registry.npmjs.org/express/-/express-3.20.2.tgz"},"directories":{}},"4.12.3":{"name":"express","version":"4.12.3","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.2.5","content-disposition":"0.5.0","content-type":"~1.0.1","cookie":"0.1.2","cookie-signature":"1.0.6","debug":"~2.1.3","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.4","fresh":"0.2.4","merge-descriptors":"1.0.0","methods":"~1.1.1","on-finished":"~2.2.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.7","qs":"2.4.1","range-parser":"~1.0.2","send":"0.12.2","serve-static":"~1.9.2","type-is":"~1.6.1","vary":"~1.0.0","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","ejs":"2.3.1","istanbul":"0.3.8","marked":"0.3.3","mocha":"~2.2.1","should":"~5.2.0","supertest":"~0.15.0","body-parser":"~1.12.2","connect-redis":"~2.2.0","cookie-parser":"~1.3.4","cookie-session":"~1.1.0","express-session":"~1.10.4","jade":"~1.9.2","method-override":"~2.3.2","morgan":"~1.5.2","multiparty":"~4.1.1","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"f56463f8bf24015736978d0dc4d398fa22a9d758","_id":"express@4.12.3","_shasum":"6b9d94aec5ae03270d86d390c277a8c5a5ad0ee2","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"6b9d94aec5ae03270d86d390c277a8c5a5ad0ee2","tarball":"https://registry.npmjs.org/express/-/express-4.12.3.tgz"},"directories":{}},"3.20.3":{"name":"express","version":"3.20.3","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.0","connect":"2.29.2","content-disposition":"0.5.0","content-type":"~1.0.1","commander":"2.6.0","cookie":"0.1.2","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.0.1","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","merge-descriptors":"1.0.0","methods":"~1.1.1","mkdirp":"0.5.0","parseurl":"~1.3.0","proxy-addr":"~1.0.8","range-parser":"~1.0.2","send":"0.12.3","utils-merge":"1.0.0","vary":"~1.0.0"},"devDependencies":{"connect-redis":"~1.5.0","ejs":"2.3.1","istanbul":"0.3.9","marked":"0.3.3","mocha":"2.2.5","should":"6.0.1","supertest":"1.0.1"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"b149430114b42299be84b5c1dfe25a8303605db5","_id":"express@3.20.3","_shasum":"5085ab3f5ff761cf7e1597e9b9df156f1094aded","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"5085ab3f5ff761cf7e1597e9b9df156f1094aded","tarball":"https://registry.npmjs.org/express/-/express-3.20.3.tgz"},"directories":{}},"4.12.4":{"name":"express","version":"4.12.4","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.2.7","content-disposition":"0.5.0","content-type":"~1.0.1","cookie":"0.1.2","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.0.1","escape-html":"1.0.1","etag":"~1.6.0","finalhandler":"0.3.6","fresh":"0.2.4","merge-descriptors":"1.0.0","methods":"~1.1.1","on-finished":"~2.2.1","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.8","qs":"2.4.2","range-parser":"~1.0.2","send":"0.12.3","serve-static":"~1.9.3","type-is":"~1.6.2","vary":"~1.0.0","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","ejs":"2.3.1","istanbul":"0.3.9","marked":"0.3.3","mocha":"2.2.5","should":"6.0.1","supertest":"1.0.1","body-parser":"~1.12.4","connect-redis":"~2.3.0","cookie-parser":"~1.3.4","cookie-session":"~1.1.0","express-session":"~1.11.2","jade":"~1.9.2","method-override":"~2.3.3","morgan":"~1.5.3","multiparty":"~4.1.2","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"e9c9f95ade0f20a048861ac886d4767a839d5286","_id":"express@4.12.4","_shasum":"8fec2510255bc6b2e58107c48239c0fa307c1aa2","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"8fec2510255bc6b2e58107c48239c0fa307c1aa2","tarball":"https://registry.npmjs.org/express/-/express-4.12.4.tgz"},"directories":{}},"3.21.0":{"name":"express","version":"3.21.0","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"1.0.2","connect":"2.30.0","content-disposition":"0.5.0","content-type":"~1.0.1","commander":"2.6.0","cookie":"0.1.3","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.0.1","escape-html":"1.0.2","etag":"~1.7.0","fresh":"0.3.0","merge-descriptors":"1.0.0","methods":"~1.1.1","mkdirp":"0.5.1","parseurl":"~1.3.0","proxy-addr":"~1.0.8","range-parser":"~1.0.2","send":"0.13.0","utils-merge":"1.0.0","vary":"~1.0.0"},"devDependencies":{"connect-redis":"~1.5.0","ejs":"2.3.1","istanbul":"0.3.9","marked":"0.3.3","mocha":"2.2.5","should":"7.0.1","supertest":"1.0.1"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"115dbe1a4d817d925d2dc87731a7ceb1663152ed","_id":"express@3.21.0","_shasum":"8ff7c424a92d15ee1a27c4bc8425ddba2c14aa38","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"8ff7c424a92d15ee1a27c4bc8425ddba2c14aa38","tarball":"https://registry.npmjs.org/express/-/express-3.21.0.tgz"},"directories":{}},"4.13.0":{"name":"express","version":"4.13.0","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.2.9","array-flatten":"1.1.0","content-disposition":"0.5.0","content-type":"~1.0.1","cookie":"0.1.3","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.0.1","escape-html":"1.0.2","etag":"~1.7.0","finalhandler":"0.4.0","fresh":"0.3.0","merge-descriptors":"1.0.0","methods":"~1.1.1","on-finished":"~2.3.0","parseurl":"~1.3.0","path-to-regexp":"0.1.6","proxy-addr":"~1.0.8","qs":"2.4.2","range-parser":"~1.0.2","send":"0.13.0","serve-static":"~1.10.0","type-is":"~1.6.3","vary":"~1.0.0","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","ejs":"2.3.1","istanbul":"0.3.9","marked":"0.3.3","mocha":"2.2.5","should":"7.0.1","supertest":"1.0.1","body-parser":"~1.13.1","connect-redis":"~2.3.0","cookie-parser":"~1.3.5","cookie-session":"~1.1.0","express-session":"~1.11.3","jade":"~1.11.0","method-override":"~2.3.3","morgan":"~1.6.0","multiparty":"~4.1.2","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"6c7a36733891ddd6089ee4f267d731383bf58ea9","_id":"express@4.13.0","_shasum":"0678bdbc72715170b3fcc917052f046cb9689add","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"0678bdbc72715170b3fcc917052f046cb9689add","tarball":"https://registry.npmjs.org/express/-/express-4.13.0.tgz"},"directories":{}},"3.21.1":{"name":"express","version":"3.21.1","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"~1.0.3","connect":"2.30.1","content-disposition":"0.5.0","content-type":"~1.0.1","commander":"2.6.0","cookie":"0.1.3","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.0.1","escape-html":"1.0.2","etag":"~1.7.0","fresh":"0.3.0","merge-descriptors":"1.0.0","methods":"~1.1.1","mkdirp":"0.5.1","parseurl":"~1.3.0","proxy-addr":"~1.0.8","range-parser":"~1.0.2","send":"0.13.0","utils-merge":"1.0.0","vary":"~1.0.0"},"devDependencies":{"connect-redis":"~1.5.0","ejs":"2.3.2","istanbul":"0.3.9","marked":"0.3.3","mocha":"2.2.5","should":"7.0.1","supertest":"1.0.1"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"3c0ff8133bace4a0dc1356b8d8e6e83b38d2dd95","_id":"express@3.21.1","_shasum":"427b1f4e68dcfd5da6809892fe19219d52ce6b55","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"427b1f4e68dcfd5da6809892fe19219d52ce6b55","tarball":"https://registry.npmjs.org/express/-/express-3.21.1.tgz"},"directories":{}},"4.13.1":{"name":"express","version":"4.13.1","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.2.10","array-flatten":"1.1.0","content-disposition":"0.5.0","content-type":"~1.0.1","cookie":"0.1.3","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.0.1","escape-html":"1.0.2","etag":"~1.7.0","finalhandler":"0.4.0","fresh":"0.3.0","merge-descriptors":"1.0.0","methods":"~1.1.1","on-finished":"~2.3.0","parseurl":"~1.3.0","path-to-regexp":"0.1.6","proxy-addr":"~1.0.8","qs":"4.0.0","range-parser":"~1.0.2","send":"0.13.0","serve-static":"~1.10.0","type-is":"~1.6.4","vary":"~1.0.0","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","ejs":"2.3.2","istanbul":"0.3.9","marked":"0.3.3","mocha":"2.2.5","should":"7.0.1","supertest":"1.0.1","body-parser":"~1.13.2","connect-redis":"~2.3.0","cookie-parser":"~1.3.5","cookie-session":"~1.2.0","express-session":"~1.11.3","jade":"~1.11.0","method-override":"~2.3.3","morgan":"~1.6.1","multiparty":"~4.1.2","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"2ac25098548f739c4f2b526b2a00aa60a74c8e75","_id":"express@4.13.1","_shasum":"f117aa1d1f6bedbc8de5b6d71fc31a5acd0f63df","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"f117aa1d1f6bedbc8de5b6d71fc31a5acd0f63df","tarball":"https://registry.npmjs.org/express/-/express-4.13.1.tgz"},"directories":{}},"5.0.0-alpha.2":{"name":"express","version":"5.0.0-alpha.2","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.2.10","array-flatten":"1.1.0","content-disposition":"0.5.0","content-type":"~1.0.1","cookie":"0.1.3","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.0.1","escape-html":"1.0.2","etag":"~1.7.0","finalhandler":"0.4.0","fresh":"0.3.0","merge-descriptors":"1.0.0","methods":"~1.1.1","on-finished":"~2.3.0","parseurl":"~1.3.0","path-is-absolute":"1.0.0","path-to-regexp":"0.1.6","proxy-addr":"~1.0.8","qs":"4.0.0","range-parser":"~1.0.2","router":"~1.1.2","send":"0.13.0","serve-static":"~1.10.0","type-is":"~1.6.4","vary":"~1.0.0","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","ejs":"2.3.2","istanbul":"0.3.9","marked":"0.3.3","mocha":"2.2.5","should":"7.0.1","supertest":"1.0.1","body-parser":"~1.13.2","connect-redis":"~2.3.0","cookie-parser":"~1.3.5","cookie-session":"~1.2.0","express-session":"~1.11.3","jade":"~1.11.0","method-override":"~2.3.3","morgan":"~1.6.1","multiparty":"~4.1.2","vhost":"~3.0.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"2c668f87c7c14245d9400cd1357b7dbb38526a3c","_id":"express@5.0.0-alpha.2","_shasum":"fd54177f657b6a4c4540727702edd1cbaa3a6ac5","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"fd54177f657b6a4c4540727702edd1cbaa3a6ac5","tarball":"https://registry.npmjs.org/express/-/express-5.0.0-alpha.2.tgz"},"directories":{}},"3.21.2":{"name":"express","version":"3.21.2","homepage":"http://expressjs.com/","dependencies":{"basic-auth":"~1.0.3","connect":"2.30.2","content-disposition":"0.5.0","content-type":"~1.0.1","commander":"2.6.0","cookie":"0.1.3","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.0.1","escape-html":"1.0.2","etag":"~1.7.0","fresh":"0.3.0","merge-descriptors":"1.0.0","methods":"~1.1.1","mkdirp":"0.5.1","parseurl":"~1.3.0","proxy-addr":"~1.0.8","range-parser":"~1.0.2","send":"0.13.0","utils-merge":"1.0.0","vary":"~1.0.1"},"devDependencies":{"connect-redis":"~1.5.0","ejs":"2.3.3","istanbul":"0.3.9","marked":"0.3.5","mocha":"2.2.5","should":"7.0.2","supertest":"1.0.1"},"bin":{"express":"./bin/express"},"files":["LICENSE","History.md","Readme.md","index.js","bin/","lib/"],"gitHead":"cb59086305367d9fcd7d63b53cfca1a3e4ef77d7","_id":"express@3.21.2","_shasum":"0c2903ee5c54e63d65a96170764703550665a3de","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"0c2903ee5c54e63d65a96170764703550665a3de","tarball":"https://registry.npmjs.org/express/-/express-3.21.2.tgz"},"directories":{}},"4.13.2":{"name":"express","version":"4.13.2","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.2.12","array-flatten":"1.1.1","content-disposition":"0.5.0","content-type":"~1.0.1","cookie":"0.1.3","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.0.1","escape-html":"1.0.2","etag":"~1.7.0","finalhandler":"0.4.0","fresh":"0.3.0","merge-descriptors":"1.0.0","methods":"~1.1.1","on-finished":"~2.3.0","parseurl":"~1.3.0","path-to-regexp":"0.1.7","proxy-addr":"~1.0.8","qs":"4.0.0","range-parser":"~1.0.2","send":"0.13.0","serve-static":"~1.10.0","type-is":"~1.6.6","utils-merge":"1.0.0","vary":"~1.0.1"},"devDependencies":{"after":"0.8.1","ejs":"2.3.3","istanbul":"0.3.17","marked":"0.3.5","mocha":"2.2.5","should":"7.0.2","supertest":"1.0.1","body-parser":"~1.13.3","connect-redis":"~2.4.1","cookie-parser":"~1.3.5","cookie-session":"~1.2.0","express-session":"~1.11.3","jade":"~1.11.0","method-override":"~2.3.5","morgan":"~1.6.1","multiparty":"~4.1.2","vhost":"~3.0.1"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"97b2d70d8adfb4649fd8ca9adc73c47ffcc4bf5b","_id":"express@4.13.2","_shasum":"e4259f58d8ca85f54b820d7057b02ef90b471f1d","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"e4259f58d8ca85f54b820d7057b02ef90b471f1d","tarball":"https://registry.npmjs.org/express/-/express-4.13.2.tgz"},"directories":{}},"4.13.3":{"name":"express","version":"4.13.3","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.2.12","array-flatten":"1.1.1","content-disposition":"0.5.0","content-type":"~1.0.1","cookie":"0.1.3","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.0.1","escape-html":"1.0.2","etag":"~1.7.0","finalhandler":"0.4.0","fresh":"0.3.0","merge-descriptors":"1.0.0","methods":"~1.1.1","on-finished":"~2.3.0","parseurl":"~1.3.0","path-to-regexp":"0.1.7","proxy-addr":"~1.0.8","qs":"4.0.0","range-parser":"~1.0.2","send":"0.13.0","serve-static":"~1.10.0","type-is":"~1.6.6","utils-merge":"1.0.0","vary":"~1.0.1"},"devDependencies":{"after":"0.8.1","ejs":"2.3.3","istanbul":"0.3.17","marked":"0.3.5","mocha":"2.2.5","should":"7.0.2","supertest":"1.0.1","body-parser":"~1.13.3","connect-redis":"~2.4.1","cookie-parser":"~1.3.5","cookie-session":"~1.2.0","express-session":"~1.11.3","jade":"~1.11.0","method-override":"~2.3.5","morgan":"~1.6.1","multiparty":"~4.1.2","vhost":"~3.0.1"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"ef7ad681b245fba023843ce94f6bcb8e275bbb8e","_id":"express@4.13.3","_shasum":"ddb2f1fb4502bf33598d2b032b037960ca6c80a3","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"ddb2f1fb4502bf33598d2b032b037960ca6c80a3","tarball":"https://registry.npmjs.org/express/-/express-4.13.3.tgz"},"directories":{}},"4.13.4":{"name":"express","version":"4.13.4","dependencies":{"accepts":"~1.2.12","array-flatten":"1.1.1","content-disposition":"0.5.1","content-type":"~1.0.1","cookie":"0.1.5","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.1.0","escape-html":"~1.0.3","etag":"~1.7.0","finalhandler":"0.4.1","fresh":"0.3.0","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.1","path-to-regexp":"0.1.7","proxy-addr":"~1.0.10","qs":"4.0.0","range-parser":"~1.0.3","send":"0.13.1","serve-static":"~1.10.2","type-is":"~1.6.6","utils-merge":"1.0.0","vary":"~1.0.1"},"devDependencies":{"after":"0.8.1","ejs":"2.3.4","istanbul":"0.4.2","marked":"0.3.5","mocha":"2.3.4","should":"7.1.1","supertest":"1.1.0","body-parser":"~1.14.2","connect-redis":"~2.4.1","cookie-parser":"~1.4.1","cookie-session":"~1.2.0","express-session":"~1.13.0","jade":"~1.11.0","method-override":"~2.3.5","morgan":"~1.6.1","multiparty":"~4.1.2","vhost":"~3.0.1"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"193bed2649c55c1fd362e46cd4702c773f3e7434","homepage":"https://github.com/expressjs/express","_id":"express@4.13.4","_shasum":"3c0b76f3c77590c8345739061ec0bd3ba067ec24","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"3c0b76f3c77590c8345739061ec0bd3ba067ec24","tarball":"https://registry.npmjs.org/express/-/express-4.13.4.tgz"},"directories":{}},"4.14.0":{"name":"express","version":"4.14.0","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.3","array-flatten":"1.1.1","content-disposition":"0.5.1","content-type":"~1.0.2","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.1.0","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.7.0","finalhandler":"0.5.0","fresh":"0.3.0","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.1","path-to-regexp":"0.1.7","proxy-addr":"~1.1.2","qs":"6.2.0","range-parser":"~1.2.0","send":"0.14.1","serve-static":"~1.11.1","type-is":"~1.6.13","utils-merge":"1.0.0","vary":"~1.1.0"},"devDependencies":{"after":"0.8.1","body-parser":"~1.15.1","cookie-parser":"~1.4.3","ejs":"2.4.2","istanbul":"0.4.3","marked":"0.3.5","method-override":"~2.3.6","mocha":"2.5.3","morgan":"~1.7.0","should":"9.0.2","supertest":"1.2.0","connect-redis":"~2.4.1","cookie-session":"~1.2.0","express-session":"~1.13.0","jade":"~1.11.0","multiparty":"~4.1.2","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"9375a9afa9d7baa814b454c7a6818a7471aaef00","_id":"express@4.14.0","_shasum":"c1ee3f42cdc891fb3dc650a8922d51ec847d0d66","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"c1ee3f42cdc891fb3dc650a8922d51ec847d0d66","tarball":"https://registry.npmjs.org/express/-/express-4.14.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-4.14.0.tgz_1466095407850_0.17484632693231106"},"directories":{}},"4.14.1":{"name":"express","version":"4.14.1","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.3","array-flatten":"1.1.1","content-disposition":"0.5.2","content-type":"~1.0.2","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.1.0","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.7.0","finalhandler":"0.5.1","fresh":"0.3.0","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.1","path-to-regexp":"0.1.7","proxy-addr":"~1.1.3","qs":"6.2.0","range-parser":"~1.2.0","send":"0.14.2","serve-static":"~1.11.2","type-is":"~1.6.14","utils-merge":"1.0.0","vary":"~1.1.0"},"devDependencies":{"after":"0.8.2","body-parser":"1.16.0","cookie-parser":"~1.4.3","ejs":"2.5.5","express-session":"1.15.0","istanbul":"0.4.5","marked":"0.3.6","method-override":"~2.3.6","mocha":"3.2.0","morgan":"~1.7.0","multiparty":"4.1.3","should":"11.2.0","supertest":"1.2.0","connect-redis":"~2.4.1","cookie-session":"~1.2.0","jade":"~1.11.0","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"0437c513f2dbc8d1dfc5a3e35fe35182bd3a671e","_id":"express@4.14.1","_shasum":"646c237f766f148c2120aff073817b9e4d7e0d33","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"646c237f766f148c2120aff073817b9e4d7e0d33","tarball":"https://registry.npmjs.org/express/-/express-4.14.1.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/express-4.14.1.tgz_1485642795215_0.5481494057457894"},"directories":{}},"5.0.0-alpha.3":{"name":"express","version":"5.0.0-alpha.3","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.3","array-flatten":"2.1.1","content-disposition":"0.5.2","content-type":"~1.0.2","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"~2.2.0","depd":"~1.1.0","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.7.0","finalhandler":"0.5.1","fresh":"0.3.0","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.1","path-is-absolute":"1.0.1","path-to-regexp":"0.1.7","proxy-addr":"~1.1.3","qs":"6.2.0","range-parser":"~1.2.0","router":"~1.1.5","send":"0.14.2","serve-static":"~1.11.2","type-is":"~1.6.14","utils-merge":"1.0.0","vary":"~1.1.0"},"devDependencies":{"after":"0.8.2","body-parser":"1.16.0","cookie-parser":"~1.4.3","ejs":"2.5.5","express-session":"1.15.0","istanbul":"0.4.5","marked":"0.3.6","method-override":"~2.3.6","mocha":"3.2.0","morgan":"~1.7.0","multiparty":"4.1.3","should":"11.2.0","supertest":"1.2.0","connect-redis":"~2.4.1","cookie-session":"~1.2.0","jade":"~1.11.0","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"c8d9223e93ee0c08490e4840f3278314ccb221a5","_id":"express@5.0.0-alpha.3","_shasum":"19d63b931bf0f64c42725952ef0602c381fe64db","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"19d63b931bf0f64c42725952ef0602c381fe64db","tarball":"https://registry.npmjs.org/express/-/express-5.0.0-alpha.3.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-5.0.0-alpha.3.tgz_1485660519206_0.28520536865107715"},"directories":{}},"4.15.0":{"name":"express","version":"4.15.0","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.3","array-flatten":"1.1.1","content-disposition":"0.5.2","content-type":"~1.0.2","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.1","depd":"~1.1.0","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","finalhandler":"~1.0.0","fresh":"0.5.0","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.1","path-to-regexp":"0.1.7","proxy-addr":"~1.1.3","qs":"6.3.1","range-parser":"~1.2.0","send":"0.15.0","serve-static":"1.12.0","setprototypeof":"1.0.3","statuses":"~1.3.1","type-is":"~1.6.14","utils-merge":"1.0.0","vary":"~1.1.0"},"devDependencies":{"after":"0.8.2","body-parser":"1.17.0","cookie-parser":"~1.4.3","ejs":"2.5.6","express-session":"1.15.1","istanbul":"0.4.5","marked":"0.3.6","method-override":"2.3.7","mocha":"3.2.0","morgan":"1.8.1","multiparty":"4.1.3","pbkdf2-password":"1.2.1","should":"11.2.0","supertest":"1.2.0","connect-redis":"~2.4.1","cookie-session":"~1.2.0","jade":"~1.11.0","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"504a51c040f22c80c7e52377c0ef00b1c8b2a76b","_id":"express@4.15.0","_shasum":"8fb125829f70a04a59e1c40ceb8dea19cf5c879c","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"8fb125829f70a04a59e1c40ceb8dea19cf5c879c","tarball":"https://registry.npmjs.org/express/-/express-4.15.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-4.15.0.tgz_1488407333719_0.7790739571209997"},"directories":{}},"5.0.0-alpha.4":{"name":"express","version":"5.0.0-alpha.4","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.3","array-flatten":"2.1.1","content-disposition":"0.5.2","content-type":"~1.0.2","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.1","depd":"~1.1.0","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","finalhandler":"~1.0.0","fresh":"0.5.0","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.1","path-is-absolute":"1.0.1","path-to-regexp":"0.1.7","proxy-addr":"~1.1.3","qs":"6.3.1","range-parser":"~1.2.0","router":"~1.3.0","send":"0.15.0","serve-static":"1.12.0","setprototypeof":"1.0.3","statuses":"~1.3.1","type-is":"~1.6.14","utils-merge":"1.0.0","vary":"~1.1.0"},"devDependencies":{"after":"0.8.2","body-parser":"1.17.0","cookie-parser":"~1.4.3","ejs":"2.5.6","express-session":"1.15.1","istanbul":"0.4.5","marked":"0.3.6","method-override":"2.3.7","mocha":"3.2.0","morgan":"1.8.1","multiparty":"4.1.3","pbkdf2-password":"1.2.1","should":"11.2.0","supertest":"1.2.0","connect-redis":"~2.4.1","cookie-session":"~1.2.0","jade":"~1.11.0","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"a3a9166c521008576da724e83221c05a1aa92245","_id":"express@5.0.0-alpha.4","_shasum":"cd96a23fa9e3fce471f9637376b1c7b9d70b865e","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"cd96a23fa9e3fce471f9637376b1c7b9d70b865e","tarball":"https://registry.npmjs.org/express/-/express-5.0.0-alpha.4.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/express-5.0.0-alpha.4.tgz_1488414607195_0.16105826874263585"},"directories":{}},"4.15.1":{"name":"express","version":"4.15.1","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.3","array-flatten":"1.1.1","content-disposition":"0.5.2","content-type":"~1.0.2","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.1","depd":"~1.1.0","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","finalhandler":"~1.0.0","fresh":"0.5.0","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.1","path-to-regexp":"0.1.7","proxy-addr":"~1.1.3","qs":"6.3.1","range-parser":"~1.2.0","send":"0.15.1","serve-static":"1.12.1","setprototypeof":"1.0.3","statuses":"~1.3.1","type-is":"~1.6.14","utils-merge":"1.0.0","vary":"~1.1.0"},"devDependencies":{"after":"0.8.2","body-parser":"1.17.0","cookie-parser":"~1.4.3","ejs":"2.5.6","express-session":"1.15.1","istanbul":"0.4.5","marked":"0.3.6","method-override":"2.3.7","mocha":"3.2.0","morgan":"1.8.1","multiparty":"4.1.3","pbkdf2-password":"1.2.1","should":"11.2.0","supertest":"1.2.0","connect-redis":"~2.4.1","cookie-session":"~1.2.0","jade":"~1.11.0","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"d32ed68b2995e0322100ace29d86e7a86b9c6378","_id":"express@4.15.1","_shasum":"e32897816d94cc477e45f0149a8966bc938a329b","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"e32897816d94cc477e45f0149a8966bc938a329b","tarball":"https://registry.npmjs.org/express/-/express-4.15.1.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-4.15.1.tgz_1488776911316_0.193040527170524"},"directories":{}},"4.15.2":{"name":"express","version":"4.15.2","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.3","array-flatten":"1.1.1","content-disposition":"0.5.2","content-type":"~1.0.2","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.1","depd":"~1.1.0","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","finalhandler":"~1.0.0","fresh":"0.5.0","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.1","path-to-regexp":"0.1.7","proxy-addr":"~1.1.3","qs":"6.4.0","range-parser":"~1.2.0","send":"0.15.1","serve-static":"1.12.1","setprototypeof":"1.0.3","statuses":"~1.3.1","type-is":"~1.6.14","utils-merge":"1.0.0","vary":"~1.1.0"},"devDependencies":{"after":"0.8.2","body-parser":"1.17.1","cookie-parser":"~1.4.3","ejs":"2.5.6","express-session":"1.15.1","istanbul":"0.4.5","marked":"0.3.6","method-override":"2.3.7","mocha":"3.2.0","morgan":"1.8.1","multiparty":"4.1.3","pbkdf2-password":"1.2.1","should":"11.2.0","supertest":"1.2.0","connect-redis":"~2.4.1","cookie-session":"~1.2.0","jade":"~1.11.0","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"d43b074f0b3b56a91f240e62798c932ba104b79a","_id":"express@4.15.2","_shasum":"af107fc148504457f2dca9a6f2571d7129b97b35","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"af107fc148504457f2dca9a6f2571d7129b97b35","tarball":"https://registry.npmjs.org/express/-/express-4.15.2.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/express-4.15.2.tgz_1488807764132_0.2808149973861873"},"directories":{}},"5.0.0-alpha.5":{"name":"express","version":"5.0.0-alpha.5","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.3","array-flatten":"2.1.1","content-disposition":"0.5.2","content-type":"~1.0.2","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.1","depd":"~1.1.0","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","finalhandler":"~1.0.0","fresh":"0.5.0","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.1","path-is-absolute":"1.0.1","path-to-regexp":"0.1.7","proxy-addr":"~1.1.3","qs":"6.4.0","range-parser":"~1.2.0","router":"~1.3.0","send":"0.15.1","serve-static":"1.12.1","setprototypeof":"1.0.3","statuses":"~1.3.1","type-is":"~1.6.14","utils-merge":"1.0.0","vary":"~1.1.0"},"devDependencies":{"after":"0.8.2","body-parser":"1.17.1","cookie-parser":"~1.4.3","ejs":"2.5.6","express-session":"1.15.1","istanbul":"0.4.5","marked":"0.3.6","method-override":"2.3.7","mocha":"3.2.0","morgan":"1.8.1","multiparty":"4.1.3","pbkdf2-password":"1.2.1","should":"11.2.0","supertest":"1.2.0","connect-redis":"~2.4.1","cookie-session":"~1.2.0","jade":"~1.11.0","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"21f725e0ef9e1e9a8ea51e8486e9cadeae956774","_id":"express@5.0.0-alpha.5","_shasum":"e37423a8d82826fb915c7dd166e2900bfa3552e6","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"e37423a8d82826fb915c7dd166e2900bfa3552e6","tarball":"https://registry.npmjs.org/express/-/express-5.0.0-alpha.5.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-5.0.0-alpha.5.tgz_1488808263893_0.666542848572135"},"directories":{}},"4.15.3":{"name":"express","version":"4.15.3","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.3","array-flatten":"1.1.1","content-disposition":"0.5.2","content-type":"~1.0.2","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.7","depd":"~1.1.0","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","finalhandler":"~1.0.3","fresh":"0.5.0","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.1","path-to-regexp":"0.1.7","proxy-addr":"~1.1.4","qs":"6.4.0","range-parser":"~1.2.0","send":"0.15.3","serve-static":"1.12.3","setprototypeof":"1.0.3","statuses":"~1.3.1","type-is":"~1.6.15","utils-merge":"1.0.0","vary":"~1.1.1"},"devDependencies":{"after":"0.8.2","body-parser":"1.17.1","cookie-parser":"~1.4.3","ejs":"2.5.6","express-session":"1.15.2","hbs":"4.0.1","istanbul":"0.4.5","marked":"0.3.6","method-override":"2.3.8","mocha":"3.4.1","morgan":"1.8.1","multiparty":"4.1.3","pbkdf2-password":"1.2.1","should":"11.2.1","supertest":"1.2.0","connect-redis":"~2.4.1","cookie-session":"~1.2.0","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"6da454c7fb37e68ed65ffe0371aa688b89f5bd6e","_id":"express@4.15.3","_shasum":"bab65d0f03aa80c358408972fc700f916944b662","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.10.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"bab65d0f03aa80c358408972fc700f916944b662","tarball":"https://registry.npmjs.org/express/-/express-4.15.3.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-4.15.3.tgz_1495030658380_0.1599606357049197"},"directories":{}},"4.15.4":{"name":"express","version":"4.15.4","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.3","array-flatten":"1.1.1","content-disposition":"0.5.2","content-type":"~1.0.2","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.8","depd":"~1.1.1","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","finalhandler":"~1.0.4","fresh":"0.5.0","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.1","path-to-regexp":"0.1.7","proxy-addr":"~1.1.5","qs":"6.5.0","range-parser":"~1.2.0","send":"0.15.4","serve-static":"1.12.4","setprototypeof":"1.0.3","statuses":"~1.3.1","type-is":"~1.6.15","utils-merge":"1.0.0","vary":"~1.1.1"},"devDependencies":{"after":"0.8.2","body-parser":"1.17.2","cookie-parser":"~1.4.3","cookie-session":"1.3.0","ejs":"2.5.7","eslint":"2.13.1","express-session":"1.15.5","hbs":"4.0.1","istanbul":"0.4.5","marked":"0.3.6","method-override":"2.3.9","mocha":"3.5.0","morgan":"1.8.2","multiparty":"4.1.3","pbkdf2-password":"1.2.1","should":"11.2.1","supertest":"1.2.0","connect-redis":"~2.4.1","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"a4bd4373b2c3b2521ee4c499cb8e90e98f78bfa5","_id":"express@4.15.4","_shasum":"032e2253489cf8fce02666beca3d11ed7a2daed1","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"032e2253489cf8fce02666beca3d11ed7a2daed1","tarball":"https://registry.npmjs.org/express/-/express-4.15.4.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-4.15.4.tgz_1502071931644_0.23451056680642068"},"directories":{}},"4.15.5":{"name":"express","version":"4.15.5","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.3","array-flatten":"1.1.1","content-disposition":"0.5.2","content-type":"~1.0.2","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.9","depd":"~1.1.1","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","finalhandler":"~1.0.6","fresh":"0.5.2","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.1","path-to-regexp":"0.1.7","proxy-addr":"~1.1.5","qs":"6.5.0","range-parser":"~1.2.0","send":"0.15.6","serve-static":"1.12.6","setprototypeof":"1.0.3","statuses":"~1.3.1","type-is":"~1.6.15","utils-merge":"1.0.0","vary":"~1.1.1"},"devDependencies":{"after":"0.8.2","body-parser":"1.18.1","cookie-parser":"~1.4.3","cookie-session":"1.3.1","ejs":"2.5.7","eslint":"2.13.1","express-session":"1.15.5","hbs":"4.0.1","istanbul":"0.4.5","marked":"0.3.6","method-override":"2.3.9","mocha":"3.5.3","morgan":"1.8.2","multiparty":"4.1.3","pbkdf2-password":"1.2.1","should":"13.1.0","supertest":"1.2.0","connect-redis":"~2.4.1","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"ea3d60565242c47be97088ead2708d7b88390858","_id":"express@4.15.5","_shasum":"670235ca9598890a5ae8170b83db722b842ed927","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"670235ca9598890a5ae8170b83db722b842ed927","tarball":"https://registry.npmjs.org/express/-/express-4.15.5.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-4.15.5.tgz_1506317115180_0.2818172036204487"},"directories":{}},"5.0.0-alpha.6":{"name":"express","version":"5.0.0-alpha.6","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.3","array-flatten":"2.1.1","content-disposition":"0.5.2","content-type":"~1.0.2","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.9","depd":"~1.1.1","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","finalhandler":"~1.0.6","fresh":"0.5.2","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.1","path-is-absolute":"1.0.1","path-to-regexp":"0.1.7","proxy-addr":"~1.1.5","qs":"6.5.0","range-parser":"~1.2.0","router":"~1.3.1","send":"0.15.6","serve-static":"1.12.6","setprototypeof":"1.0.3","statuses":"~1.3.1","type-is":"~1.6.15","utils-merge":"1.0.0","vary":"~1.1.1"},"devDependencies":{"after":"0.8.2","body-parser":"1.18.1","cookie-parser":"~1.4.3","cookie-session":"1.3.1","ejs":"2.5.7","eslint":"2.13.1","express-session":"1.15.5","hbs":"4.0.1","istanbul":"0.4.5","marked":"0.3.6","method-override":"2.3.9","mocha":"3.5.3","morgan":"1.8.2","multiparty":"4.1.3","pbkdf2-password":"1.2.1","should":"13.1.0","supertest":"1.2.0","connect-redis":"~2.4.1","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"f4120a645301366891775d1f03925449239a2cb7","_id":"express@5.0.0-alpha.6","_shasum":"85dc44d7e90d4809041407f388f239b5bd2f681e","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"85dc44d7e90d4809041407f388f239b5bd2f681e","tarball":"https://registry.npmjs.org/express/-/express-5.0.0-alpha.6.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-5.0.0-alpha.6.tgz_1506317557150_0.7998493011109531"},"directories":{}},"4.16.0":{"name":"express","version":"4.16.0","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.4","array-flatten":"1.1.1","body-parser":"1.18.2","content-disposition":"0.5.2","content-type":"~1.0.4","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.9","depd":"~1.1.1","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.1","finalhandler":"1.1.0","fresh":"0.5.2","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.2","path-to-regexp":"0.1.7","proxy-addr":"~2.0.2","qs":"6.5.1","range-parser":"~1.2.0","safe-buffer":"5.1.1","send":"0.16.0","serve-static":"1.13.0","setprototypeof":"1.1.0","statuses":"~1.3.1","type-is":"~1.6.15","utils-merge":"1.0.1","vary":"~1.1.2"},"devDependencies":{"after":"0.8.2","cookie-parser":"~1.4.3","cookie-session":"1.3.2","ejs":"2.5.7","eslint":"2.13.1","express-session":"1.15.6","hbs":"4.0.1","istanbul":"0.4.5","marked":"0.3.6","method-override":"2.3.10","mocha":"3.5.3","morgan":"1.9.0","multiparty":"4.1.3","pbkdf2-password":"1.2.1","should":"13.1.0","supertest":"1.2.0","connect-redis":"~2.4.1","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"f974d22c66d3cd91634ddaba1ef8bcaa8e49daf4","_id":"express@4.16.0","_shasum":"b519638e4eb58e7178c81b498ef22f798cb2e255","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"b519638e4eb58e7178c81b498ef22f798cb2e255","tarball":"https://registry.npmjs.org/express/-/express-4.16.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-4.16.0.tgz_1506622949495_0.9396109508816153"},"directories":{}},"4.16.1":{"name":"express","version":"4.16.1","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.4","array-flatten":"1.1.1","body-parser":"1.18.2","content-disposition":"0.5.2","content-type":"~1.0.4","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.9","depd":"~1.1.1","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.1","finalhandler":"1.1.0","fresh":"0.5.2","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.2","path-to-regexp":"0.1.7","proxy-addr":"~2.0.2","qs":"6.5.1","range-parser":"~1.2.0","safe-buffer":"5.1.1","send":"0.16.1","serve-static":"1.13.1","setprototypeof":"1.1.0","statuses":"~1.3.1","type-is":"~1.6.15","utils-merge":"1.0.1","vary":"~1.1.2"},"devDependencies":{"after":"0.8.2","cookie-parser":"~1.4.3","cookie-session":"1.3.2","ejs":"2.5.7","eslint":"2.13.1","express-session":"1.15.6","hbs":"4.0.1","istanbul":"0.4.5","marked":"0.3.6","method-override":"2.3.10","mocha":"3.5.3","morgan":"1.9.0","multiparty":"4.1.3","pbkdf2-password":"1.2.1","should":"13.1.0","supertest":"1.2.0","connect-redis":"~2.4.1","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"e3f7f51f5f5475ca1ad091b1f8b7293f79467d29","_id":"express@4.16.1","_npmVersion":"5.3.0","_nodeVersion":"6.11.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-STB7LZ4N0L+81FJHGla2oboUHTk4PaN1RsOkoRh9OSeEKylvF5hwKYVX1xCLFaCT7MD0BNG/gX2WFMLqY6EMBw==","shasum":"6b33b560183c9b253b7b62144df33a4654ac9ed0","tarball":"https://registry.npmjs.org/express/-/express-4.16.1.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-4.16.1.tgz_1506717522230_0.9567146771587431"},"directories":{}},"4.16.2":{"name":"express","version":"4.16.2","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.4","array-flatten":"1.1.1","body-parser":"1.18.2","content-disposition":"0.5.2","content-type":"~1.0.4","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.9","depd":"~1.1.1","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.1","finalhandler":"1.1.0","fresh":"0.5.2","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.2","path-to-regexp":"0.1.7","proxy-addr":"~2.0.2","qs":"6.5.1","range-parser":"~1.2.0","safe-buffer":"5.1.1","send":"0.16.1","serve-static":"1.13.1","setprototypeof":"1.1.0","statuses":"~1.3.1","type-is":"~1.6.15","utils-merge":"1.0.1","vary":"~1.1.2"},"devDependencies":{"after":"0.8.2","cookie-parser":"~1.4.3","cookie-session":"1.3.2","ejs":"2.5.7","eslint":"2.13.1","express-session":"1.15.6","hbs":"4.0.1","istanbul":"0.4.5","marked":"0.3.6","method-override":"2.3.10","mocha":"3.5.3","morgan":"1.9.0","multiparty":"4.1.3","pbkdf2-password":"1.2.1","should":"13.1.0","supertest":"1.2.0","connect-redis":"~2.4.1","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"351396f971280ab79faddcf9782ea50f4e88358d","_id":"express@4.16.2","_shasum":"e35c6dfe2d64b7dca0a5cd4f21781be3299e076c","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"e35c6dfe2d64b7dca0a5cd4f21781be3299e076c","tarball":"https://registry.npmjs.org/express/-/express-4.16.2.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-4.16.2.tgz_1507605225187_0.6328138182871044"},"directories":{}},"4.16.3":{"name":"express","version":"4.16.3","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.5","array-flatten":"1.1.1","body-parser":"1.18.2","content-disposition":"0.5.2","content-type":"~1.0.4","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.9","depd":"~1.1.2","encodeurl":"~1.0.2","escape-html":"~1.0.3","etag":"~1.8.1","finalhandler":"1.1.1","fresh":"0.5.2","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.2","path-to-regexp":"0.1.7","proxy-addr":"~2.0.3","qs":"6.5.1","range-parser":"~1.2.0","safe-buffer":"5.1.1","send":"0.16.2","serve-static":"1.13.2","setprototypeof":"1.1.0","statuses":"~1.4.0","type-is":"~1.6.16","utils-merge":"1.0.1","vary":"~1.1.2"},"devDependencies":{"after":"0.8.2","cookie-parser":"~1.4.3","cookie-session":"1.3.2","ejs":"2.5.7","eslint":"2.13.1","express-session":"1.15.6","hbs":"4.0.1","istanbul":"0.4.5","marked":"0.3.17","method-override":"2.3.10","mocha":"3.5.3","morgan":"1.9.0","multiparty":"4.1.3","pbkdf2-password":"1.2.1","should":"13.2.1","supertest":"1.2.0","connect-redis":"~2.4.1","vhost":"~3.0.2"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"gitHead":"3ed5090ca91f6a387e66370d57ead94d886275e1","_id":"express@4.16.3","_shasum":"6af8a502350db3246ecc4becf6b5a34d22f7ed53","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.13.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"6af8a502350db3246ecc4becf6b5a34d22f7ed53","tarball":"https://registry.npmjs.org/express/-/express-4.16.3.tgz","fileCount":16,"unpackedSize":205577},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express_4.16.3_1520877014027_0.020052903698088542"},"_hasShrinkwrap":false},"4.16.4":{"name":"express","version":"4.16.4","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.5","array-flatten":"1.1.1","body-parser":"1.18.3","content-disposition":"0.5.2","content-type":"~1.0.4","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"2.6.9","depd":"~1.1.2","encodeurl":"~1.0.2","escape-html":"~1.0.3","etag":"~1.8.1","finalhandler":"1.1.1","fresh":"0.5.2","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.2","path-to-regexp":"0.1.7","proxy-addr":"~2.0.4","qs":"6.5.2","range-parser":"~1.2.0","safe-buffer":"5.1.2","send":"0.16.2","serve-static":"1.13.2","setprototypeof":"1.1.0","statuses":"~1.4.0","type-is":"~1.6.16","utils-merge":"1.0.1","vary":"~1.1.2"},"devDependencies":{"after":"0.8.2","connect-redis":"3.4.0","cookie-parser":"~1.4.3","cookie-session":"1.3.2","ejs":"2.6.1","eslint":"2.13.1","express-session":"1.15.6","hbs":"4.0.1","istanbul":"0.4.5","marked":"0.5.1","method-override":"3.0.0","mocha":"5.2.0","morgan":"1.9.1","multiparty":"4.2.1","pbkdf2-password":"1.2.1","should":"13.2.3","supertest":"3.3.0","vhost":"~3.0.2"},"gitHead":"dc538f6e810bd462c98ee7e6aae24c64d4b1da93","_id":"express@4.16.4","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==","shasum":"fddef61926109e24c515ea97fd2f1bdbf62df12e","tarball":"https://registry.npmjs.org/express/-/express-4.16.4.tgz","fileCount":16,"unpackedSize":206123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvsqSCRA9TVsSAnZWagAAPFwP/iCvznxNrmvgY9ox7w2k\ncS/ej9HZJ5NGjBEWtae1F2bjJ2V7rOxVTGTlqiPMSNIzTgw3fpFkIXp9kCA4\nY03NOsYUjYscGjXR6f2fvOVJ/Si5FKlqr7Ow6WMBClrdo/CMCc8kH9fxtPja\nHla58xiU7ftlzUHIjGmmnHFzAjAeGj+3e3v1omuoeP6mPuxlwYoQ0MuD0sFa\n9qJAFZ0MBrfvoQBI8G++GZZhxalhefuibWi1ErRw3F5cLfvhjKi4HGPh+sDu\nc63D99wQIJIq4HumwX0JNW7OywuL28wgxgtvKyg0iCVR/BnAYiEA0UZUVI4h\nsX1Kuht1oHEp1iGOvGALYotPiovnDCAra+2zPM1p8oZKdXHEpkAygG3mCiD5\nyWlWrFo5jJudULWzMtHp6F0RwQJjpSavnkbusKWZvO717/1Ku5FIM4cnTWVK\nELGmb011jRPMvwFqv1C04SvhBT+UrXe4kd0qwJWQEDT1aWzbjbaroPmVQ+l1\nxzUkHRHm7vYCBE0RxQ4FImNWlYYQVVyBSroYwxvJnP6H8m/DR7oxDPDoJcBn\nXXETuH8Ca+q8KjwdrstVXCwKfB+zs0Z41/oOWKrhsDY2B9HwmyOOA8EtG4QO\np2waBrigD8L4T/Y3II4T144z2MclVid7DulrzKCMiE6yoTqvrH64FfWkLQqG\n11u8\r\n=ZruB\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express_4.16.4_1539230354097_0.4680196437483164"},"_hasShrinkwrap":false},"5.0.0-alpha.7":{"name":"express","version":"5.0.0-alpha.7","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.5","array-flatten":"2.1.1","body-parser":"1.18.3","content-disposition":"0.5.2","content-type":"~1.0.4","cookie":"0.3.1","cookie-signature":"1.0.6","debug":"3.1.0","depd":"~1.1.2","encodeurl":"~1.0.2","escape-html":"~1.0.3","etag":"~1.8.1","finalhandler":"1.1.1","fresh":"0.5.2","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.2","path-is-absolute":"1.0.1","proxy-addr":"~2.0.4","qs":"6.5.2","range-parser":"~1.2.0","router":"2.0.0-alpha.1","safe-buffer":"5.1.2","send":"0.16.2","serve-static":"1.13.2","setprototypeof":"1.1.0","statuses":"~1.4.0","type-is":"~1.6.16","utils-merge":"1.0.1","vary":"~1.1.2"},"devDependencies":{"after":"0.8.2","connect-redis":"3.4.0","cookie-parser":"~1.4.3","cookie-session":"1.3.2","ejs":"2.6.1","eslint":"2.13.1","express-session":"1.15.6","hbs":"4.0.1","istanbul":"0.4.5","marked":"0.5.1","method-override":"3.0.0","mocha":"5.2.0","morgan":"1.9.1","multiparty":"4.2.1","pbkdf2-password":"1.2.1","should":"13.2.3","supertest":"3.3.0","vhost":"~3.0.2"},"readmeFilename":"Readme.md","gitHead":"5f0c829d7ca7da746ee859f13a54631000f8a9b5","_id":"express@5.0.0-alpha.7","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-3FW+yXzYCViXf6Ty9TN9IKLW+rC8qok3ktS4hS1FILAEnMnfnDpQ+23rZVvWC0Ul1alYpJXx7xSBSBp073970g==","shasum":"879bfb1bd52834646a9d8c3a773863c36e4d494c","tarball":"https://registry.npmjs.org/express/-/express-5.0.0-alpha.7.tgz","fileCount":11,"unpackedSize":179029,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb09eLCRA9TVsSAnZWagAA/1AP/269JF2vhXEO9n3MaQLu\nSs95oz9PfsYyucun0Qgjjd5OyERY7IwtkbYoMn60M18w8ni1JR9kjqQ8m07t\nUIpgUBnfnytj9L7qlnmPMF2Uzrh6YwX5gg1jzx0Tri8EwehllZg3f5o2nxPX\nduG87uxNzxUszo52FXRR98Vz6vVup0/0smLa8jtq+VxXRhW3zGcU+zTAIoyy\nP7bvI4Zg5RKWzABTIfBsqW9sxJ6yT0Xa/otiO/IJ3YjJb2f76FdAN1RwrEnA\nvherLVx1V6EooqhkrS0W45Ong2KEytpHWTKj5APDpggffflfJyiON2BqvrPI\nmSDESQzyArpgwckBaSofLcydD7aaGtYP/NpATT3khrWw3UkFeeG0LGGulz7e\nbPN8PFuSXiZ5dfcBXNQsViSF6jkghg0y8bffC3h4VewsKKfgLKehwOjn+Mp4\n7dyZ0KcCJn/xcCCJJFAkJJB9j4Pfqxj1D2hlUMXfSj6L7unmbOnwsFtL0m32\nb0w+WkUxy8DR+UFGUUHGK5bNE9OsX5tYSWm9RH8Z8cco5rgLBkk3Lxq1rSjY\nzLrM5FsakMWgSlI1BTN5gXX9TYumCzke4vI8emkxe8lR3l+XPz2wP/+HB1wg\nfxSecAWnJKwkDAtBifHB8eiOWNLoSnJiOkWk0VnkSXa9Aw95yED1B/sAv/i5\nk5y/\r\n=n8Sg\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express_5.0.0-alpha.7_1540609930884_0.050413303730304504"},"_hasShrinkwrap":false},"4.17.0":{"name":"express","version":"4.17.0","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.7","array-flatten":"1.1.1","body-parser":"1.19.0","content-disposition":"0.5.3","content-type":"~1.0.4","cookie":"0.4.0","cookie-signature":"1.0.6","debug":"2.6.9","depd":"~1.1.2","encodeurl":"~1.0.2","escape-html":"~1.0.3","etag":"~1.8.1","finalhandler":"~1.1.2","fresh":"0.5.2","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.3","path-to-regexp":"0.1.7","proxy-addr":"~2.0.5","qs":"6.7.0","range-parser":"~1.2.1","safe-buffer":"5.1.2","send":"0.17.1","serve-static":"1.14.1","setprototypeof":"1.1.1","statuses":"~1.5.0","type-is":"~1.6.18","utils-merge":"1.0.1","vary":"~1.1.2"},"devDependencies":{"after":"0.8.2","connect-redis":"3.4.1","cookie-parser":"~1.4.4","cookie-session":"1.3.3","ejs":"2.6.1","eslint":"2.13.1","express-session":"1.16.1","hbs":"4.0.4","istanbul":"0.4.5","marked":"0.6.2","method-override":"3.0.0","mocha":"5.2.0","morgan":"1.9.1","multiparty":"4.2.1","pbkdf2-password":"1.2.1","should":"13.2.3","supertest":"3.3.0","vhost":"~3.0.2"},"gitHead":"10c7756764fbe969b307b15a72fd074479c00f8d","_id":"express@4.17.0","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-1Z7/t3Z5ZnBG252gKUPyItc4xdeaA0X934ca2ewckAsVsw9EG71i++ZHZPYnus8g/s5Bty8IMpSVEuRkmwwPRQ==","shasum":"288af62228a73f4c8ea2990ba3b791bb87cd4438","tarball":"https://registry.npmjs.org/express/-/express-4.17.0.tgz","fileCount":16,"unpackedSize":208134,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3hUVCRA9TVsSAnZWagAA3oUP/3V7aiaEhUSyQ9lyDnPF\nxiRwGy0XNIoNRyZbw8gMN2/7V/jjV+H/vWdo9gSr3NJAGsGlS8AtT0uNvKv/\nrssr3WA65/J9QNdCixePj/LHilRzOSMKxnIhk20bVh186vEx7fwehqXbifcS\nNIoSieQRnllJCVH0JudVim4AMWdy3Y2vOLV1kE6UpDs41c3eXzUfFEVxI+WD\nXjUrfHsRCK/IZ5No2Hw8uwF2Y2pnuRHFC0ehIWn+Foijy87doiFidxdn2ybg\nFjdo+AFH3LX2RBR4o7UugtDV1wB0ymRVRNSIk6xoKmMGi5RNE5dhPxNkEvk7\nX5nK18AhRzRFIIZDhHtOZE9wWvlf/25p0y8CmzKrXkpmiuzcby4EneyV0Muk\n8WmbnEO1ah7SATsVf0d/AnR1tCXE+0wLXvVrq9Z1BAkeW1rsR9OHqzpLGCc3\njmYqyrN+2iyPeqy/cemnU52fmUC/Kfj8q8Uv2RCxJo9cAKKp+ljaMXCiJMcP\nrYPu4X0n0ijSLVF1dAQkDs05MVbZeCl5RM0GhPndFwcdCBc1JdJSYK/6ylHK\nFDoB5YBzxglMPL8iMwbDhS2+N25vRDAWr52GKTwJFmcfW04/EXrFEgm2gk1/\nmRLojES3L7P5L96c9P2SVzp7YjWFw71OkQctzlDrNC28VOU3ie95pYQyHV5/\n64mY\r\n=ZTgO\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express_4.17.0_1558058260571_0.7920489008241873"},"_hasShrinkwrap":false},"4.17.1":{"name":"express","version":"4.17.1","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.7","array-flatten":"1.1.1","body-parser":"1.19.0","content-disposition":"0.5.3","content-type":"~1.0.4","cookie":"0.4.0","cookie-signature":"1.0.6","debug":"2.6.9","depd":"~1.1.2","encodeurl":"~1.0.2","escape-html":"~1.0.3","etag":"~1.8.1","finalhandler":"~1.1.2","fresh":"0.5.2","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.3","path-to-regexp":"0.1.7","proxy-addr":"~2.0.5","qs":"6.7.0","range-parser":"~1.2.1","safe-buffer":"5.1.2","send":"0.17.1","serve-static":"1.14.1","setprototypeof":"1.1.1","statuses":"~1.5.0","type-is":"~1.6.18","utils-merge":"1.0.1","vary":"~1.1.2"},"devDependencies":{"after":"0.8.2","connect-redis":"3.4.1","cookie-parser":"~1.4.4","cookie-session":"1.3.3","ejs":"2.6.1","eslint":"2.13.1","express-session":"1.16.1","hbs":"4.0.4","istanbul":"0.4.5","marked":"0.6.2","method-override":"3.0.0","mocha":"5.2.0","morgan":"1.9.1","multiparty":"4.2.1","pbkdf2-password":"1.2.1","should":"13.2.3","supertest":"3.3.0","vhost":"~3.0.2"},"gitHead":"e1b45ebd050b6f06aa38cda5aaf0c21708b0c71e","_id":"express@4.17.1","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==","shasum":"4491fc38605cf51f8629d39c2b5d026f98a4c134","tarball":"https://registry.npmjs.org/express/-/express-4.17.1.tgz","fileCount":16,"unpackedSize":208133,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc6hU/CRA9TVsSAnZWagAAFc4QAJzqxI1sgdfreUHk+NIa\n38jYea65Xg8N9JgZVF67j7aXqPT6VXhGu2j54oveGIkr+RL2Xm58RrRWn+Sg\nVWOOSZzotLKtx1qCYS4ozPRYvujKMLYDeiLxePDCSrrLYt48+IJwkHF04Un1\nJ0ZUmtlEqgLL85gvaCrKa9qF8TfwbQhhIzQ914vum11tJ506ePpffN2xFY0M\nsHf0CiuV1OFOD7Wne/RR7DVsxQwZ/FXomkxLJm8+T+T9ZYm3WQxWVD7BRQpA\nN08+zkPd1XMEZiVZkR9Ie4+7ydZomJE8PNCOt5SzvEW6ekDW10QuuF0521Wj\n5lHp4AflVFq1LTJB0WDR6VIPJRp0H5aYTh1tBRxWHUx/EP2LfFS/XEz1bUvm\nBDVj2e1iA4ZWz8aeu9p/2N8Zp05WGINF3/E4YG9smxxs5EDJZGA9k1DAj6US\nzKWTOemaqypRshFWThvfA70a1Rcwdj+0XGboscg/S20XTT0FvG2GLkEY0OO/\niHBy5fKYplUQsths48V8I9P9Gx6U534iaFJlxlzzVEsDleBkH+NBSP8OB7dx\n8N/0ZQDBY6JWL5ZSW9yVY2FzrTEmUOPC1Rts5Uj4m7SBmu8yK154ylnPQ4T6\nMr0jG8XQPYhTLc5pYNTFZNV1Ydu4d01xIrLhGy/3dc7kRlwy3FN5ceNVsB88\njyN+\r\n=QYw2\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express_4.17.1_1558844734329_0.21547943776855627"},"_hasShrinkwrap":false},"5.0.0-alpha.8":{"name":"express","version":"5.0.0-alpha.8","homepage":"http://expressjs.com/","dependencies":{"accepts":"~1.3.7","array-flatten":"2.1.1","body-parser":"1.19.0","content-disposition":"0.5.3","content-type":"~1.0.4","cookie":"0.4.0","cookie-signature":"1.0.6","debug":"3.1.0","depd":"~1.1.2","encodeurl":"~1.0.2","escape-html":"~1.0.3","etag":"~1.8.1","finalhandler":"~1.1.2","fresh":"0.5.2","merge-descriptors":"1.0.1","methods":"~1.1.2","on-finished":"~2.3.0","parseurl":"~1.3.3","path-is-absolute":"1.0.1","proxy-addr":"~2.0.5","qs":"6.7.0","range-parser":"~1.2.1","router":"2.0.0-alpha.1","safe-buffer":"5.1.2","send":"0.17.1","serve-static":"1.14.1","setprototypeof":"1.1.1","statuses":"~1.5.0","type-is":"~1.6.18","utils-merge":"1.0.1","vary":"~1.1.2"},"devDependencies":{"after":"0.8.2","connect-redis":"3.4.1","cookie-parser":"~1.4.4","cookie-session":"1.3.3","ejs":"2.6.1","eslint":"2.13.1","express-session":"1.16.1","hbs":"4.0.4","istanbul":"0.4.5","marked":"0.6.2","method-override":"3.0.0","mocha":"5.2.0","morgan":"1.9.1","multiparty":"4.2.1","pbkdf2-password":"1.2.1","should":"13.2.3","supertest":"3.3.0","vhost":"~3.0.2"},"readmeFilename":"Readme.md","gitHead":"bd04d8a87fbe22e6fabaa6a5451a885c0790043a","_id":"express@5.0.0-alpha.8","_nodeVersion":"13.11.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-PL8wTLgaNOiq7GpXt187/yWHkrNSfbr4H0yy+V0fpqJt5wpUzBi9DprAkwGKBFOqWHylJ8EyPy34V5u9YArfng==","shasum":"b9dd3a568eab791e3391db47f9e6ab91e61b13fe","tarball":"https://registry.npmjs.org/express/-/express-5.0.0-alpha.8.tgz","fileCount":11,"unpackedSize":181194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee/3fCRA9TVsSAnZWagAAzf8P/2dMh5PO1SR+CZLuGvPE\nOcR9dd4+epUcIgK6antdYjzMm+HHHMTnObyS523wd9Xm2nWLNDI70nSNHUbn\nxIjlGp9o+NMtvv0RnKKkG+xnlidfrkt7SVvlVzr5D65m6UNxp8bP01KElCNh\nqkAO7ipVYFhzEWFbFJWljN9kR1mCSp4qpL+vTn1wn8xSryYH/+ZRc8rBBlCA\nzBUfx3cQAaH8fy6Cij/bzTdcGWqucBrTP6wgRZca3EDKaOhC8JSf072ISqZM\nAwIUANiYZKPGDv5AUh2T1C8jG4tKdoROr9iqIrsHn9iW8Ppk5R4odblZtDNW\nhROzSfS7i5lFZFxhMZCnrV5aN/zbBiRtMIpFGns0EYWd07l5fMRA817ItntM\nbBZB4MJBH91SoTonBg8Elo5oE9428kdHDKiNi+eK6C3ndqAE0KzgeOIBmol4\n4V3Q4/v6MxSAjGWO9Kw3wKjpCJ4B3LV3F4NwKGHDQlWidkCKQOFg5ylCmDcw\n+7z8/GeahapeWRtkifAhavX0rNYiRUjrgY0yeR98YFOg1K4yvYSXxbY4Xv2B\nWqxikjXqPXk6PavumvJizunzxGVKfOpiQ6XFcIkpfIEJ3JRfU8LUgx+EhAIq\nB35/nbzY8E3f3RCINhqV3y+rBsHhPmnElCASaL5iO5A9CaltyfyZPA+ciMS4\neKlV\r\n=P2Q8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express_5.0.0-alpha.8_1585184222586_0.14737233815620043"},"_hasShrinkwrap":false}},"time":{"modified":"2021-02-20T21:22:22.348Z","created":"2010-12-29T19:38:25.450Z","0.14.0":"2010-12-29T19:38:25.450Z","0.14.1":"2010-12-29T19:38:25.450Z","1.0.0beta":"2010-12-29T19:38:25.450Z","1.0.0beta2":"2010-12-29T19:38:25.450Z","1.0.0rc":"2010-12-29T19:38:25.450Z","1.0.0rc2":"2010-12-29T19:38:25.450Z","1.0.0rc3":"2010-12-29T19:38:25.450Z","1.0.0rc4":"2010-12-29T19:38:25.450Z","1.0.0":"2010-12-29T19:38:25.450Z","1.0.1":"2010-12-29T19:38:25.450Z","1.0.2":"2011-01-11T02:09:30.004Z","1.0.3":"2011-01-13T22:09:07.840Z","1.0.4":"2011-02-05T19:13:15.043Z","1.0.5":"2011-02-05T19:16:30.839Z","1.0.6":"2011-02-07T21:45:32.271Z","1.0.7":"2011-02-07T22:26:51.313Z","2.0.0-pre":"2011-02-21T21:46:44.987Z","1.0.8":"2011-03-02T02:58:14.314Z","2.0.0beta":"2011-03-04T00:19:22.568Z","2.0.0beta2":"2011-03-07T17:40:46.229Z","2.0.0beta3":"2011-03-09T23:46:02.495Z","2.0.0rc":"2011-03-14T22:01:43.971Z","2.0.0rc2":"2011-03-17T18:01:26.604Z","2.0.0rc3":"2011-03-17T20:02:05.880Z","2.0.0":"2011-03-18T01:06:40.271Z","2.1.0":"2011-03-24T20:47:46.219Z","2.1.1":"2011-03-29T17:40:33.337Z","2.2.0":"2011-03-30T18:40:56.080Z","2.2.1":"2011-04-04T19:23:50.483Z","2.2.2":"2011-04-12T09:44:57.909Z","2.3.0":"2011-04-25T16:50:01.384Z","2.3.1":"2011-04-26T22:26:27.392Z","2.3.2":"2011-04-27T16:13:33.518Z","2.3.3":"2011-05-03T18:31:39.123Z","2.3.4":"2011-05-08T17:54:04.615Z","2.3.5":"2011-05-20T02:07:37.117Z","2.3.6":"2011-05-20T16:42:09.750Z","2.3.7":"2011-05-23T22:54:25.787Z","2.3.8":"2011-05-25T04:53:16.574Z","2.3.9":"2011-05-25T17:18:34.557Z","2.3.10":"2011-05-27T16:20:13.495Z","2.3.11":"2011-06-04T17:51:29.978Z","2.3.12":"2011-06-22T20:56:29.997Z","2.4.0":"2011-06-28T16:41:30.571Z","2.4.1":"2011-07-06T16:57:15.476Z","2.4.2":"2011-07-07T03:15:52.511Z","2.4.3":"2011-07-14T19:58:45.646Z","2.4.4":"2011-08-05T11:30:40.300Z","2.4.5":"2011-08-19T17:13:10.685Z","2.4.6":"2011-08-22T17:20:21.180Z","2.4.7":"2011-10-05T22:42:01.025Z","2.5.0":"2011-10-24T23:01:02.271Z","2.5.1":"2011-11-18T16:04:40.126Z","2.5.2":"2011-12-10T19:09:42.049Z","2.5.3":"2011-12-30T23:31:24.241Z","2.5.4":"2012-01-02T16:36:02.493Z","2.5.5":"2012-01-08T20:31:55.978Z","2.5.6":"2012-01-13T23:40:26.942Z","2.5.7":"2012-02-06T18:06:55.405Z","2.5.8":"2012-02-08T20:08:32.863Z","2.5.9":"2012-04-03T02:21:28.801Z","3.0.0alpha1":"2012-04-20T01:52:04.759Z","3.0.0alpha2":"2012-04-28T23:49:44.341Z","3.0.0alpha3":"2012-05-08T00:59:57.918Z","3.0.0alpha4":"2012-05-11T00:11:58.696Z","3.0.0alpha5":"2012-05-30T23:48:32.953Z","3.0.0beta1":"2012-06-01T19:27:26.608Z","3.0.0beta2":"2012-06-06T21:47:02.734Z","3.0.0beta3":"2012-06-15T18:40:57.491Z","2.5.10":"2012-06-15T22:51:26.681Z","3.0.0beta4":"2012-06-27T20:42:23.155Z","2.5.11":"2012-07-04T18:24:06.584Z","3.0.0beta5":"2012-07-03T17:20:29.622Z","3.0.0beta6":"2012-07-13T16:19:35.230Z","3.0.0beta7":"2012-07-17T02:28:35.931Z","3.0.0rc1":"2012-07-24T20:33:00.953Z","3.0.0rc2":"2012-08-03T20:33:05.751Z","3.0.0rc3":"2012-08-14T03:24:13.107Z","3.0.0rc4":"2012-08-31T05:13:49.677Z","3.0.0rc5":"2012-10-09T15:44:52.115Z","3.0.0":"2012-10-23T22:30:10.025Z","3.0.1":"2012-11-02T00:27:52.006Z","3.0.2":"2012-11-08T17:15:53.794Z","3.0.3":"2012-11-13T17:13:59.443Z","3.0.4":"2012-12-06T01:10:32.144Z","3.0.5":"2012-12-19T21:45:36.784Z","3.0.6":"2013-01-05T02:51:07.217Z","3.1.0":"2013-01-26T04:27:35.979Z","3.1.1":"2013-04-01T18:26:15.149Z","3.1.2":"2013-04-12T19:14:26.989Z","3.2.0":"2013-04-15T19:35:06.932Z","3.2.1":"2013-04-30T02:17:29.901Z","3.2.2":"2013-05-03T19:55:21.494Z","3.2.3":"2013-05-07T14:55:36.616Z","3.2.4":"2013-05-09T16:18:31.698Z","3.2.5":"2013-05-22T04:02:26.880Z","3.2.6":"2013-06-03T00:15:56.897Z","3.3.0":"2013-06-26T17:07:53.250Z","3.3.1":"2013-06-27T15:32:58.392Z","3.3.2":"2013-07-03T18:25:57.781Z","3.3.3":"2013-07-04T20:40:14.018Z","3.3.4":"2013-07-08T21:42:52.735Z","3.3.5":"2013-08-10T21:51:21.087Z","3.3.6":"2013-08-27T20:49:22.441Z","3.3.7":"2013-08-28T17:04:42.417Z","1.0.0-beta":"2013-08-28T17:04:36.588Z","1.0.0-beta2":"2013-08-28T17:04:36.588Z","1.0.0-rc":"2013-08-28T17:04:36.588Z","1.0.0-rc2":"2013-08-28T17:04:36.588Z","1.0.0-rc3":"2013-08-28T17:04:36.588Z","1.0.0-rc4":"2013-08-28T17:04:36.588Z","2.0.0-beta":"2013-08-28T17:04:36.588Z","2.0.0-beta2":"2013-08-28T17:04:36.588Z","2.0.0-beta3":"2013-08-28T17:04:36.588Z","2.0.0-rc":"2013-08-28T17:04:36.588Z","2.0.0-rc2":"2013-08-28T17:04:36.588Z","2.0.0-rc3":"2013-08-28T17:04:36.588Z","3.0.0-alpha1":"2013-08-28T17:04:36.588Z","3.0.0-alpha2":"2013-08-28T17:04:36.588Z","3.0.0-alpha3":"2013-08-28T17:04:36.588Z","3.0.0-alpha4":"2013-08-28T17:04:36.588Z","3.0.0-alpha5":"2013-08-28T17:04:36.588Z","3.0.0-beta1":"2013-08-28T17:04:36.588Z","3.0.0-beta2":"2013-08-28T17:04:36.588Z","3.0.0-beta3":"2013-08-28T17:04:36.588Z","3.0.0-beta4":"2013-08-28T17:04:36.588Z","3.0.0-beta6":"2013-08-28T17:04:36.588Z","3.0.0-beta7":"2013-08-28T17:04:36.588Z","3.0.0-rc1":"2013-08-28T17:04:36.588Z","3.0.0-rc2":"2013-08-28T17:04:36.588Z","3.0.0-rc3":"2013-08-28T17:04:36.588Z","3.0.0-rc4":"2013-08-28T17:04:36.588Z","3.0.0-rc5":"2013-08-28T17:04:36.588Z","3.3.8":"2013-09-02T15:01:16.142Z","3.4.0":"2013-09-07T19:25:10.243Z","3.4.1":"2013-10-16T01:34:32.939Z","3.4.2":"2013-10-19T02:04:44.007Z","3.4.3":"2013-10-23T18:19:57.170Z","3.4.4":"2013-10-29T17:34:18.760Z","3.4.5":"2013-11-27T23:54:53.947Z","3.4.6":"2013-12-01T20:21:22.058Z","3.4.7":"2013-12-11T07:57:53.225Z","3.4.8":"2014-01-14T04:51:15.079Z","4.0.0-rc1":"2014-03-02T16:19:53.255Z","4.0.0-rc2":"2014-03-05T06:34:13.334Z","3.5.0":"2014-03-06T22:58:36.227Z","4.0.0-rc3":"2014-03-12T01:39:53.076Z","4.0.0-rc4":"2014-03-25T02:54:51.021Z","3.5.1":"2014-03-25T20:59:05.986Z","4.0.0":"2014-04-09T20:39:26.853Z","3.5.2":"2014-04-24T20:40:38.736Z","4.1.0":"2014-04-24T22:17:52.003Z","4.1.1":"2014-04-27T23:50:27.414Z","3.5.3":"2014-05-08T17:53:16.987Z","4.1.2":"2014-05-08T18:44:48.652Z","3.6.0":"2014-05-09T21:07:22.124Z","4.2.0":"2014-05-12T02:04:12.759Z","3.7.0":"2014-05-18T14:42:22.970Z","3.8.0":"2014-05-21T06:08:40.496Z","4.3.0":"2014-05-21T06:14:40.424Z","4.3.1":"2014-05-23T23:12:59.820Z","3.8.1":"2014-05-28T03:43:39.629Z","4.3.2":"2014-05-29T04:20:38.007Z","3.9.0":"2014-05-31T01:38:23.252Z","4.4.0":"2014-05-31T04:02:21.301Z","4.4.1":"2014-06-03T01:27:48.550Z","3.10.0":"2014-06-03T04:42:47.299Z","3.10.1":"2014-06-03T21:19:53.358Z","3.10.2":"2014-06-04T01:36:31.574Z","3.10.3":"2014-06-06T03:41:14.284Z","3.10.4":"2014-06-09T22:56:08.589Z","4.4.2":"2014-06-10T00:43:04.926Z","3.10.5":"2014-06-12T04:36:07.939Z","4.4.3":"2014-06-12T04:42:49.755Z","3.11.0":"2014-06-20T03:43:59.969Z","4.4.4":"2014-06-20T21:13:47.878Z","3.12.0":"2014-06-22T02:35:24.439Z","3.12.1":"2014-06-27T00:19:58.083Z","4.4.5":"2014-06-27T03:54:22.452Z","3.13.0":"2014-07-04T05:08:17.751Z","4.5.0":"2014-07-05T01:04:36.156Z","4.5.1":"2014-07-06T23:47:58.312Z","3.14.0":"2014-07-11T17:31:04.739Z","4.6.0":"2014-07-12T03:40:29.872Z","4.6.1":"2014-07-13T02:19:51.397Z","3.15.0":"2014-07-23T05:08:16.821Z","4.7.0":"2014-07-26T01:34:51.642Z","3.15.1":"2014-07-26T21:50:06.966Z","4.7.1":"2014-07-26T23:02:44.448Z","3.15.2":"2014-07-27T19:55:02.602Z","4.7.2":"2014-07-27T20:02:46.467Z","4.7.3":"2014-08-04T20:13:29.114Z","3.15.3":"2014-08-04T22:25:19.592Z","4.7.4":"2014-08-04T22:25:30.807Z","3.16.0":"2014-08-06T05:39:52.833Z","4.8.0":"2014-08-06T06:50:05.516Z","3.16.1":"2014-08-06T22:06:59.615Z","4.8.1":"2014-08-06T22:20:06.968Z","3.16.2":"2014-08-07T15:58:53.103Z","4.8.2":"2014-08-07T16:04:06.418Z","3.16.3":"2014-08-08T02:31:12.394Z","3.16.4":"2014-08-11T02:22:05.422Z","4.8.3":"2014-08-11T02:29:06.849Z","3.16.5":"2014-08-12T02:29:20.292Z","3.16.6":"2014-08-15T03:52:36.175Z","4.8.4":"2014-08-15T04:25:24.580Z","3.16.7":"2014-08-19T02:45:51.457Z","4.8.5":"2014-08-19T03:05:35.447Z","3.16.8":"2014-08-28T01:17:12.818Z","4.8.6":"2014-08-28T01:52:46.246Z","3.16.9":"2014-08-30T05:23:37.535Z","4.8.7":"2014-08-30T05:37:53.120Z","3.16.10":"2014-09-05T06:16:49.692Z","4.8.8":"2014-09-05T06:25:37.392Z","3.17.0":"2014-09-09T03:22:41.705Z","3.17.1":"2014-09-09T03:48:36.412Z","4.9.0":"2014-09-09T04:33:18.960Z","3.17.2":"2014-09-16T07:18:56.609Z","4.9.1":"2014-09-17T06:54:31.479Z","4.9.2":"2014-09-18T03:52:10.190Z","3.17.3":"2014-09-18T17:40:22.718Z","4.9.3":"2014-09-18T17:45:34.733Z","3.17.4":"2014-09-20T06:02:17.235Z","4.9.4":"2014-09-20T06:07:23.529Z","3.17.5":"2014-09-24T23:41:41.338Z","4.9.5":"2014-09-25T00:24:49.436Z","3.17.6":"2014-10-03T04:05:10.920Z","3.17.7":"2014-10-08T21:22:35.229Z","4.9.6":"2014-10-09T02:35:55.395Z","4.9.7":"2014-10-10T20:43:34.045Z","3.17.8":"2014-10-16T04:36:53.277Z","4.9.8":"2014-10-18T02:05:05.528Z","3.18.0":"2014-10-18T05:10:21.951Z","3.18.1":"2014-10-23T05:30:25.689Z","4.10.0":"2014-10-24T02:36:30.641Z","3.18.2":"2014-10-29T05:14:04.974Z","4.10.1":"2014-10-29T05:21:08.596Z","5.0.0-alpha.1":"2014-11-07T02:54:34.556Z","3.18.3":"2014-11-09T23:38:00.888Z","4.10.2":"2014-11-10T00:10:27.638Z","3.18.4":"2014-11-23T20:52:49.813Z","4.10.3":"2014-11-24T03:12:32.210Z","4.10.4":"2014-11-25T05:19:30.905Z","4.10.5":"2014-12-11T05:08:02.089Z","3.18.5":"2014-12-12T04:24:32.541Z","3.18.6":"2014-12-13T02:45:59.136Z","4.10.6":"2014-12-13T04:17:13.785Z","4.10.7":"2015-01-05T00:40:37.634Z","3.19.0":"2015-01-09T06:36:21.099Z","4.10.8":"2015-01-13T17:48:23.443Z","4.11.0":"2015-01-14T04:21:56.291Z","3.19.1":"2015-01-21T08:23:41.579Z","4.11.1":"2015-01-21T08:34:52.857Z","3.19.2":"2015-02-01T20:24:05.444Z","4.11.2":"2015-02-01T20:45:09.837Z","3.20.0":"2015-02-19T02:53:28.667Z","4.12.0":"2015-02-23T06:58:39.027Z","3.20.1":"2015-03-01T04:23:20.434Z","4.12.1":"2015-03-02T01:13:30.608Z","4.12.2":"2015-03-03T05:46:29.969Z","3.20.2":"2015-03-17T05:06:28.342Z","4.12.3":"2015-03-17T22:04:53.210Z","3.20.3":"2015-05-18T04:06:45.934Z","4.12.4":"2015-05-18T04:41:14.788Z","3.21.0":"2015-06-19T01:42:28.037Z","4.13.0":"2015-06-21T06:50:18.321Z","3.21.1":"2015-07-06T04:55:30.351Z","4.13.1":"2015-07-06T05:42:59.627Z","5.0.0-alpha.2":"2015-07-07T05:46:20.081Z","3.21.2":"2015-07-31T20:17:34.079Z","4.13.2":"2015-07-31T21:10:49.838Z","4.13.3":"2015-08-03T05:04:40.888Z","4.13.4":"2016-01-22T02:15:21.453Z","4.14.0":"2016-06-16T16:43:30.648Z","4.14.1":"2017-01-28T22:33:15.950Z","5.0.0-alpha.3":"2017-01-29T03:28:41.274Z","4.15.0":"2017-03-01T22:28:55.984Z","5.0.0-alpha.4":"2017-03-02T00:30:07.791Z","4.15.1":"2017-03-06T05:08:33.474Z","4.15.2":"2017-03-06T13:42:44.853Z","5.0.0-alpha.5":"2017-03-06T13:51:05.877Z","4.15.3":"2017-05-17T14:17:40.516Z","4.15.4":"2017-08-07T02:12:12.791Z","4.15.5":"2017-09-25T05:25:16.528Z","5.0.0-alpha.6":"2017-09-25T05:32:38.266Z","4.16.0":"2017-09-28T18:22:30.775Z","4.16.1":"2017-09-29T20:38:43.661Z","4.16.2":"2017-10-10T03:13:46.364Z","4.16.3":"2018-03-12T17:50:14.119Z","4.16.4":"2018-10-11T03:59:14.308Z","5.0.0-alpha.7":"2018-10-27T03:12:11.060Z","4.17.0":"2019-05-17T01:57:40.690Z","4.17.1":"2019-05-26T04:25:34.606Z","5.0.0-alpha.8":"2020-03-26T00:57:02.755Z"},"readmeFilename":"","homepage":"http://expressjs.com/"} \ No newline at end of file diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/mime.json b/lib/manager/npm/update/locked-dependency/__fixtures__/mime.json new file mode 100644 index 0000000000000000000000000000000000000000..3e638a6892457da493b35b5baf36c0a4585beaa5 --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/__fixtures__/mime.json @@ -0,0 +1 @@ +{"_id":"mime","_rev":"260-f93b9e4754e74e6a0e62245f37030050","name":"mime","dist-tags":{"latest":"2.5.2"},"versions":{"1.0.0":{"name":"mime","url":"http://github.com/bentomas/node-mime","dependencies":{},"lib":".","main":"mime","version":"1.0.0","_id":"mime@1.0.0","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/mime/-/mime-1.0.0.tgz","shasum":"0650d4779569617b3ee8bec7b8b7522e74af05be"},"directories":{}},"1.1.0":{"name":"mime","url":"http://github.com/bentomas/node-mime","dependencies":{},"lib":".","main":"mime","version":"1.1.0","_id":"mime@1.1.0","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/mime/-/mime-1.1.0.tgz","shasum":"a067f5be8a6c9eeb83f3733c8c22dd142a603add"},"directories":{}},"1.2.1":{"name":"mime","url":"http://github.com/bentomas/node-mime","dependencies":{},"lib":".","main":"mime","version":"1.2.1","_id":"mime@1.2.1","_engineSupported":true,"_npmVersion":"0.2.16","_nodeVersion":"v0.3.1","directories":{},"modules":{"README.md":"README.md","index.js":"index.js","package.json":"package.json","mime.js":"mime.js","node.types":"node.types","mime.types":"mime.types","test.js":"test.js"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"9876d4db9491091d154288a32893564839b8e04e","tarball":"https://registry.npmjs.org/mime/-/mime-1.2.1.tgz"}},"1.2.2":{"name":"mime","url":"http://github.com/bentomas/node-mime","dependencies":{},"lib":".","main":"mime.js","version":"1.2.2","devDependencies":{},"_id":"mime@1.2.2","_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.4.6","_defaultsLoaded":true,"dist":{"shasum":"b9d6355bf53e8d7d56693130e451daff340148cf","tarball":"https://registry.npmjs.org/mime/-/mime-1.2.2.tgz"},"directories":{}},"1.2.3":{"name":"mime","url":"http://github.com/bentomas/node-mime","dependencies":{},"lib":".","main":"mime.js","version":"1.2.3","_npmJsonOpts":{"file":"/home/kieffer/.npm/mime/1.2.3/package/package.json","wscript":false,"serverjs":false},"_id":"mime@1.2.3","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.27","_nodeVersion":"v0.4.6","_defaultsLoaded":true,"dist":{"shasum":"7717bad7444f42d0c7d98cdc2a7b20068f837b68","tarball":"https://registry.npmjs.org/mime/-/mime-1.2.3.tgz"},"directories":{}},"1.2.4":{"dependencies":{},"devDependencies":{"async_testing":""},"main":"mime.js","name":"mime","version":"1.2.4","_npmJsonOpts":{"file":"/home/kieffer/.npm/mime/1.2.4/package/package.json","wscript":false,"serverjs":false},"_id":"mime@1.2.4","_engineSupported":true,"_npmVersion":"1.0.27","_nodeVersion":"v0.4.6","_defaultsLoaded":true,"dist":{"shasum":"11b5fdaf29c2509255176b80ad520294f5de92b7","tarball":"https://registry.npmjs.org/mime/-/mime-1.2.4.tgz"},"directories":{}},"1.2.5":{"dependencies":{},"devDependencies":{},"main":"mime.js","name":"mime","version":"1.2.5","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"_id":"mime@1.2.5","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.6","_defaultsLoaded":true,"dist":{"shasum":"9eed073022a8bf5e16c8566c6867b8832bfbfa13","tarball":"https://registry.npmjs.org/mime/-/mime-1.2.5.tgz"},"directories":{}},"1.2.6":{"dependencies":{},"devDependencies":{},"main":"mime.js","name":"mime","version":"1.2.6","_npmUser":{"name":"bentomas","email":"benjamin@benjaminthomas.org"},"_id":"mime@1.2.6","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.12","_nodeVersion":"v0.6.14","_defaultsLoaded":true,"dist":{"shasum":"b1f86c768c025fa87b48075f1709f28aeaf20365","tarball":"https://registry.npmjs.org/mime/-/mime-1.2.6.tgz"},"directories":{}},"1.2.7":{"dependencies":{},"devDependencies":{},"main":"mime.js","name":"mime","version":"1.2.7","_id":"mime@1.2.7","dist":{"shasum":"c7a13f33a7073d9900f288436b06b3a16200865b","tarball":"https://registry.npmjs.org/mime/-/mime-1.2.7.tgz"},"directories":{}},"1.2.8":{"dependencies":{},"devDependencies":{},"main":"mime.js","name":"mime","version":"1.2.8","_id":"mime@1.2.8","dist":{"shasum":"59178be248b0e06df58f6e04db3c8ee30084e110","tarball":"https://registry.npmjs.org/mime/-/mime-1.2.8.tgz"},"directories":{}},"1.2.9":{"dependencies":{},"devDependencies":{},"main":"mime.js","name":"mime","version":"1.2.9","_id":"mime@1.2.9","dist":{"shasum":"009cd40867bd35de521b3b966f04e2f8d4d13d09","tarball":"https://registry.npmjs.org/mime/-/mime-1.2.9.tgz"},"directories":{}},"1.2.10":{"dependencies":{},"devDependencies":{},"main":"mime.js","name":"mime","version":"1.2.10","_id":"mime@1.2.10","dist":{"shasum":"066380acbc3d78d4f4a51004d8988425dc68b9b1","tarball":"https://registry.npmjs.org/mime/-/mime-1.2.10.tgz"},"directories":{}},"1.2.11":{"dependencies":{},"devDependencies":{},"main":"mime.js","name":"mime","version":"1.2.11","_id":"mime@1.2.11","dist":{"shasum":"58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10","tarball":"https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"directories":{}},"1.3.0":{"dependencies":{"mime-db":"^1.2.0"},"licenses":[{"type":"MIT","url":"https://raw.github.com/broofa/node-mime/master/LICENSE"}],"devDependencies":{},"main":"mime.js","name":"mime","version":"1.3.0","gitHead":"2e177718416ed104343446a5eec9861092650aab","homepage":"https://github.com/broofa/node-mime","_id":"mime@1.3.0","_shasum":"447c1ac7a6e4df33e3eebf13419bd736f99067f0","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"shasum":"447c1ac7a6e4df33e3eebf13419bd736f99067f0","tarball":"https://registry.npmjs.org/mime/-/mime-1.3.0.tgz"},"directories":{}},"1.3.2":{"bin":{"mime":"cli.js"},"dependencies":{"mime-db":"^1.2.0"},"licenses":[{"type":"MIT","url":"https://raw.github.com/broofa/node-mime/master/LICENSE"}],"devDependencies":{},"main":"mime.js","name":"mime","version":"1.3.2","gitHead":"ab8f0ab3c8139b849b2caca107553643766f0bc9","homepage":"https://github.com/broofa/node-mime","_id":"mime@1.3.2","_shasum":"10d5293d23d8d4086cd2666a936477a49764c3bf","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"shasum":"10d5293d23d8d4086cd2666a936477a49764c3bf","tarball":"https://registry.npmjs.org/mime/-/mime-1.3.2.tgz"},"directories":{}},"1.3.3":{"bin":{"mime":"cli.js"},"licenses":[{"type":"MIT","url":"https://raw.github.com/broofa/node-mime/master/LICENSE"}],"dependencies":{},"devDependencies":{"mime-db":"^1.2.0"},"main":"mime.js","name":"mime","version":"1.3.3","gitHead":"a80fa147ce33a6ee23336542ff855fa5b3036e07","homepage":"https://github.com/broofa/node-mime","_id":"mime@1.3.3","_shasum":"6b681b6c0c0f6b41aec7eb5ced09f43fc81d6caf","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"shasum":"6b681b6c0c0f6b41aec7eb5ced09f43fc81d6caf","tarball":"https://registry.npmjs.org/mime/-/mime-1.3.3.tgz"},"directories":{}},"1.3.4":{"bin":{"mime":"cli.js"},"licenses":[{"type":"MIT","url":"https://raw.github.com/broofa/node-mime/master/LICENSE"}],"dependencies":{},"devDependencies":{"mime-db":"^1.2.0"},"main":"mime.js","name":"mime","version":"1.3.4","gitHead":"1628f6e0187095009dcef4805c3a49706f137974","homepage":"https://github.com/broofa/node-mime","_id":"mime@1.3.4","_shasum":"115f9e3b6b3daf2959983cb38f149a2d40eb5d53","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"shasum":"115f9e3b6b3daf2959983cb38f149a2d40eb5d53","tarball":"https://registry.npmjs.org/mime/-/mime-1.3.4.tgz"},"directories":{}},"1.3.5":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"mime-db":"^1.22.0"},"main":"mime.js","name":"mime","version":"1.3.5","gitHead":"902ec070313fd40c9a8135ef4ef401f8a1db9472","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@1.3.5","_shasum":"dc1ee70b80fee4999cb0775c9f94beefc9a779a3","_from":".","_npmVersion":"4.3.0","_nodeVersion":"6.9.2","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"shasum":"dc1ee70b80fee4999cb0775c9f94beefc9a779a3","tarball":"https://registry.npmjs.org/mime/-/mime-1.3.5.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mime-1.3.5.tgz_1494526697656_0.34659774391911924"},"deprecated":"Breaks custom overrides. Upgrade to v1.3.6","directories":{}},"1.3.6":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"mime-db":"^1.22.0"},"main":"mime.js","name":"mime","version":"1.3.6","gitHead":"78aa9df74925ee629b9f2c35ec16b099189e9cef","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@1.3.6","_shasum":"591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0","_from":".","_npmVersion":"4.3.0","_nodeVersion":"6.9.2","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"shasum":"591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0","tarball":"https://registry.npmjs.org/mime/-/mime-1.3.6.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/mime-1.3.6.tgz_1494565179088_0.4127067362423986"},"directories":{}},"1.4.0":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"mime-db":"1.30.0"},"main":"mime.js","name":"mime","version":"1.4.0","gitHead":"ccbac35bf6c2edfe84e3befbed899e171cb9a6b2","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@1.4.0","_npmVersion":"5.3.0","_nodeVersion":"7.10.0","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-n9ChLv77+QQEapYz8lV+rIZAW3HhAPW2CXnzb1GN5uMkuczshwvkW7XPsbzU0ZQN3sP47Er2KVkp2p3KyqZKSQ==","shasum":"69e9e0db51d44f2a3b56e48b7817d7d137f1a343","tarball":"https://registry.npmjs.org/mime/-/mime-1.4.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime-1.4.0.tgz_1503936302287_0.8870804917532951"},"directories":{}},"2.0.0":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"chalk":"1.1.3","github-release-notes":"0.9.0","mime-db":"1.30.0","mime-types":"2.1.15","mocha":"3.5.3","runmd":"0.1.8"},"name":"mime","version":"2.0.0","gitHead":"404b573239557eb266501eb70106efa04217a96f","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.0.0","_shasum":"e58e03970e44e57ed1394893b07e6312f71925e3","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.3","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"shasum":"e58e03970e44e57ed1394893b07e6312f71925e3","tarball":"https://registry.npmjs.org/mime/-/mime-2.0.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime-2.0.0.tgz_1505261064172_0.8468218639027327"},"directories":{}},"2.0.1":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"chalk":"1.1.3","eslint":"4.6.1","github-release-notes":"0.9.0","mime-db":"1.30.0","mime-types":"2.1.15","mocha":"3.5.3","runmd":"0.1.8"},"name":"mime","version":"2.0.1","gitHead":"a52b627ec9b867e8ae6b8595309b343e7d070df0","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.0.1","_npmVersion":"5.4.1","_nodeVersion":"7.10.0","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-n2tQ4rs2+GMucMG2YHTwaONXZ/31ZS/vseUOzK5mTecwE91c33tapG51M0kB2R30hi7sY5nKvIkLCdCgUzx6FQ==","shasum":"73dd0bc6a678836cc8322db5d8e4c3e6f3c06471","tarball":"https://registry.npmjs.org/mime/-/mime-2.0.1.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime-2.0.1.tgz_1505339730502_0.12810324365273118"},"directories":{}},"2.0.2":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"chalk":"1.1.3","eslint":"4.6.1","github-release-notes":"0.9.0","mime-db":"1.30.0","mime-types":"2.1.15","mocha":"3.5.3","runmd":"0.1.8"},"name":"mime","version":"2.0.2","gitHead":"4a375abebfa3900921217daa270302e01a1c67ae","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.0.2","_npmVersion":"5.4.1","_nodeVersion":"7.10.0","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-Oy3+E5KrKoJ99krrYGn+u6jkCEdyFiZX2plVzbuuGLWo5X5K2Oej0KcbF1vHsrB7WFPMSaNqfHjJ6ksLT6kxSg==","shasum":"097fd2c88c652eae48b2702d7cbf54c08d8ef50a","tarball":"https://registry.npmjs.org/mime/-/mime-2.0.2.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime-2.0.2.tgz_1505733954150_0.4373962297104299"},"directories":{}},"1.4.1":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"mime-db":"1.30.0"},"main":"mime.js","name":"mime","version":"1.4.1","gitHead":"eb24bae372a76acd2c95fd05f8837814c33a9e3d","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@1.4.1","_npmVersion":"5.4.2","_nodeVersion":"7.10.0","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==","shasum":"121f9ebc49e3766f311a76e1fa1c8003c4b03aa6","tarball":"https://registry.npmjs.org/mime/-/mime-1.4.1.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime-1.4.1.tgz_1506364709246_0.33135218149982393"},"directories":{}},"2.0.3":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"chalk":"1.1.3","eslint":"4.6.1","github-release-notes":"0.9.0","mime-db":"1.30.0","mime-types":"2.1.15","mocha":"3.5.3","runmd":"0.1.8"},"name":"mime","version":"2.0.3","gitHead":"f2d859eb53607b909cca03858429035bb025b21a","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.0.3","_npmVersion":"5.4.2","_nodeVersion":"7.10.0","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-TrpAd/vX3xaLPDgVRm6JkZwLR0KHfukMdU2wTEbqMDdCnY6Yo3mE+mjs9YE6oMNw2QRfXVeBEYpmpO94BIqiug==","shasum":"4353337854747c48ea498330dc034f9f4bbbcc0b","tarball":"https://registry.npmjs.org/mime/-/mime-2.0.3.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime-2.0.3.tgz_1506364719414_0.6998918044846505"},"directories":{}},"1.5.0":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"github-release-notes":"0.13.1","mime-db":"1.31.0"},"main":"mime.js","name":"mime","version":"1.5.0","gitHead":"949b4519c5a89484d532108f8eaa46c08772d06b","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@1.5.0","_npmVersion":"5.5.1","_nodeVersion":"7.10.1","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-v/jMDoK/qKptnTuC3YUNbIj8uUYvTCIHzVu9BHldKSWja48wusAtfjlcBlqnFrqClu3yf69ScDxBPrIyFnF51g==","shasum":"59c20e03ae116089edeb7d3b34a6788c5b3cccea","tarball":"https://registry.npmjs.org/mime/-/mime-1.5.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime-1.5.0.tgz_1511386720367_0.24678691499866545"},"directories":{}},"1.6.0":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"github-release-notes":"0.13.1","mime-db":"1.31.0","mime-score":"1.1.0"},"main":"mime.js","name":"mime","version":"1.6.0","gitHead":"87b396e859aad0cea0845e706613d333c2b0bfdc","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@1.6.0","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==","shasum":"32cd9e5c64553bd58d19a568af452acff04981b1","tarball":"https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime-1.6.0.tgz_1511571198990_0.8219187778886408"},"directories":{}},"2.0.5":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"chalk":"1.1.3","eslint":"4.6.1","github-release-notes":"0.9.0","mime-db":"1.30.0","mime-score":"1.0.1","mime-types":"2.1.15","mocha":"3.5.3","runmd":"1.0.1"},"name":"mime","version":"2.0.5","gitHead":"25141e4ba73de46d089dcd039438df62ee76f23e","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.0.5","_npmVersion":"5.5.1","_nodeVersion":"7.10.1","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-345FGKrFL5gB4gCt9tdpMJvjYnx6G3z2qBLB7SIHbZui0h1L9GKd6fXqiqa0ShzrIFy1VSydJOCrtRSi907Ggw==","shasum":"6cce36408c28535b29088d9d263288e72c786775","tarball":"https://registry.npmjs.org/mime/-/mime-2.0.5.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime-2.0.5.tgz_1513970526401_0.26077263429760933"},"directories":{}},"2.1.0":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"chalk":"1.1.3","eslint":"4.6.1","mime-db":"1.32.0","mime-score":"1.0.1","mime-types":"2.1.15","mocha":"3.5.3","runmd":"1.0.1","standard-version":"4.2.0"},"name":"mime","version":"2.1.0","gitHead":"10550a2410e60cd7b34a870a7ac46f36ea526d9d","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.1.0","_npmVersion":"5.5.1","_nodeVersion":"7.10.1","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-jPEuocEVyg24I7hWcF6EL5qH0OQ3Ficy95tXA9eNBN6qXsIopYi/CJl3ldTUR+Sljt2rP2SkWpeTcAMon/pjKA==","shasum":"1022a5ada445aa30686e4059abaea83d0b4e8f9c","tarball":"https://registry.npmjs.org/mime/-/mime-2.1.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime-2.1.0.tgz_1513976718970_0.17231444269418716"},"directories":{}},"2.2.0":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"chalk":"1.1.3","eslint":"4.6.1","mime-db":"1.32.0","mime-score":"1.0.1","mime-types":"2.1.15","mocha":"3.5.3","runmd":"1.0.1","standard-version":"4.2.0"},"name":"mime","version":"2.2.0","gitHead":"797e9cee7ac45dfa6bdc8dbe7bc396a1e6f6c581","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.2.0","_npmVersion":"5.5.1","_nodeVersion":"7.10.1","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA==","shasum":"161e541965551d3b549fa1114391e3a3d55b923b","tarball":"https://registry.npmjs.org/mime/-/mime-2.2.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime-2.2.0.tgz_1515104848510_0.7507974696345627"},"directories":{}},"2.2.1":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"chalk":"1.1.3","eslint":"4.6.1","mime-db":"1.33.0","mime-score":"1.0.1","mime-types":"2.1.15","mocha":"3.5.3","runmd":"1.0.1","standard-version":"4.2.0"},"name":"mime","version":"2.2.1","gitHead":"2aec3b6701bfc21d46ca0d1e8830990e8b867559","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.2.1","_npmVersion":"5.5.1","_nodeVersion":"7.10.1","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-8QKdX8CfqnkIn19mnv3Zq78RugzDXZNrcewbZrjf8h0R6aN5Daizum/OoXxqVVhkFW3Ow4LFSn5iOi7qJJOMoA==","shasum":"3a5e605c59bba00fb731f6a1f84701638131671d","tarball":"https://registry.npmjs.org/mime/-/mime-2.2.1.tgz","fileCount":16,"unpackedSize":70404},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.2.1_1522428052314_0.8356571506040067"},"_hasShrinkwrap":false},"2.2.2":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"chalk":"1.1.3","eslint":"4.6.1","mime-db":"1.33.0","mime-score":"1.0.1","mime-types":"2.1.15","mocha":"3.5.3","runmd":"1.0.1","standard-version":"4.2.0"},"name":"mime","version":"2.2.2","gitHead":"5c22f2180a7213b9e07f26dc9753e34f48121840","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.2.2","_npmVersion":"5.5.1","_nodeVersion":"7.10.1","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-A7PDg4s48MkqFEcYg2b069m3DXOEq7hx+9q9rIFrSSYfzsh35GX+LOVMQ8Au0ko7d8bSQCIAuzkjp0vCtwENlQ==","shasum":"6b4c109d88031d7b5c23635f5b923da336d79121","tarball":"https://registry.npmjs.org/mime/-/mime-2.2.2.tgz","fileCount":16,"unpackedSize":70633},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.2.2_1522428150241_0.8170773846359634"},"_hasShrinkwrap":false},"2.3.0":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"chalk":"1.1.3","eslint":"4.6.1","mime-db":"1.33.0","mime-score":"1.0.1","mime-types":"2.1.15","mocha":"3.5.3","runmd":"1.0.1","standard-version":"4.2.0"},"name":"mime","version":"2.3.0","gitHead":"27195f8cdd41d3c35d1caf0deb792d68438ed2c9","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.3.0","_npmVersion":"5.5.1","_nodeVersion":"7.10.1","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-9dE160rWamibtUmS5kbAuu8Fbk9FihwN7ZYuWXbd6hSFKEKCqRe0hJ8pnqvmNOt5ljmXHmnKTxinIkdM1mKuPw==","shasum":"e3e1ae7f594b15ef331b79083216b50333ed2ebd","tarball":"https://registry.npmjs.org/mime/-/mime-2.3.0.tgz","fileCount":18,"unpackedSize":71566},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.3.0_1523452739150_0.6349406966306868"},"_hasShrinkwrap":false},"2.3.1":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"chalk":"1.1.3","eslint":"4.6.1","mime-db":"1.33.0","mime-score":"1.0.1","mime-types":"2.1.15","mocha":"3.5.3","runmd":"1.0.1","standard-version":"4.2.0"},"name":"mime","version":"2.3.1","gitHead":"9508ad5469f06e570e521086690925275d9b38bf","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.3.1","_npmVersion":"5.5.1","_nodeVersion":"7.10.1","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==","shasum":"b1621c54d63b97c47d3cfe7f7215f7d64517c369","tarball":"https://registry.npmjs.org/mime/-/mime-2.3.1.tgz","fileCount":18,"unpackedSize":71814},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.3.1_1523453415547_0.6151419470390307"},"_hasShrinkwrap":false},"2.4.0":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"chalk":"1.1.3","eslint":"^5.9.0","mime-db":"^1.37.0","mime-score":"1.0.1","mime-types":"2.1.15","mocha":"5.2.0","runmd":"1.0.1","standard-version":"^4.4.0"},"name":"mime","version":"2.4.0","gitHead":"a246724b51217b4319a409fd74801004f5ee4c2d","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.4.0","_npmVersion":"6.3.0","_nodeVersion":"8.11.1","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==","shasum":"e051fd881358585f3279df333fe694da0bcffdd6","tarball":"https://registry.npmjs.org/mime/-/mime-2.4.0.tgz","fileCount":18,"unpackedSize":73137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/HUOCRA9TVsSAnZWagAAivMP/3yoL2JUahYb3gcIho77\no1CWe26C8rnZwNnYXzGv9WaaTJ/xfKr6enMW7+G6moemwgX+3h3roAp7eVFz\nGKpkhLNO07geRl0rETZafFaHyxVZd9BuKy+OR/Q/DkjNvza+xeDqJ2SB4wdt\n8WzNT7rH9Espnxvxf9KhA0YWoDUPSOqL/PbAZySuYcmxn4keNJQ+yp0PLDOE\n63shHVVsL7/Vy3qKKUMRAmfwuQCl8CpLL8wi2r/FfNbuvaAKC34d8Y33Aus2\naN2ehHBcUKFjrGor4VwU+G2MYPhGnZovc5w7QIMcBovRRoM8kQKXOyItvF/X\nuW5uzUY9wFRBnkj9tlGTEa4RvFBCp2PvkWpczQsorZZjYbKUC4C9ISSCUzN6\nELoGMxMkQsLIZdwVEFgYUxsN/9Xzjgdac7KEyFw+cQhGfNGrl9rathNWXUEF\nYQn8XMW4jghZ7ZfftVaPARo8mX/Eg1x8VAujrOoupOAPhCgp9sBbb0s00TqW\njdpF5PD3Ny5O6SPFweDwka2WsSV9/elxeDDg8cWTpj+p0SSFbT0d4b/kUWZq\nzgaAWqNSVoC6BpcGS5I7svxJ4dlQbL2BTyu6VXQdzKJ++CGsUn5X+7UBHAe4\nenT4ZUCHJP3mhSNE582PMO/HwNKUYraVHHHAmRfyGBGqnS/mg33WxZrtPgcs\n2zvm\r\n=7Hld\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.4.0_1543271694176_0.25128092892425236"},"_hasShrinkwrap":false},"2.4.1":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"benchmark":"^2.1.4","chalk":"2.4.2","eslint":"5.16.0","mime-db":"1.38.0","mime-score":"1.1.2","mime-types":"2.1.22","mocha":"6.0.2","runmd":"1.2.1","standard-version":"5.0.2"},"name":"mime","version":"2.4.1","gitHead":"e3f7a2bece1e20a4101df4f8b021ce49b26cf76d","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.4.1","_npmVersion":"6.4.1","_nodeVersion":"8.15.1","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-VRUfmQO0rCd3hKwBymAn3kxYzBHr3I/wdVMywgG3HhXOwrCQgN84ZagpdTm2tZ4TNtwsSmyJWYO88mb5XvzGqQ==","shasum":"19eb7357bebbda37df585b14038347721558c715","tarball":"https://registry.npmjs.org/mime/-/mime-2.4.1.tgz","fileCount":19,"unpackedSize":74127,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpQClCRA9TVsSAnZWagAAYVUP/3jqCEnfpQ5MM2Z1eM9X\nvrFQx51FLk41ONqqaw8W82zXdWdQUMmNPMFRrqccP2SLl6tcWPoYZABMTJBB\nQy40c6FE2gSyI5M+S3hUUP8p06UkD0g8uKUr4vCtVflCAQ9O4cdw/LK/Rh7x\n5MrV9NH38H3r4+G7xz5vthmVG3LM/mexaYXyD+7dn7aV4QolPgqslMNoYKjo\n25a/D5ZPvAuQOoVYF2yrHJs17mSiPVnIxA7WwkueF9EKttYOCPZRsEUUxcWC\neXCweZ0GF1a5JuFDpJrK3TctjBxbiFbUgJ5cR6NKTf9rmROTZ/iy2HIenahS\nPpRr/KnynSFosPB2NZnjpU5JXq4rW80dYOgjx36CQ2/8ndTsewL8h9GWUqA/\no/A5TjxG8rfIlva+7K/z0DDrBRke9woHEJl9wOHfuIHuu+2AdxuLd7XKOcEj\ny9ZpvaZnLejPgYxs3DgbOb9jugy0DGGzvkzVBySsc6q/moHNx2epBMcYw0ti\nK9bUFRoqFFbAa6y9DBn0vnONV2+FSCvdXqL528Ygk8HQ3JUEAIZHPP45J6H5\nW/o9dgebeOPRGFFfBgod7o53KbK+Jh3iQ6Gr2AsYYBkYa2cLqQ4jaaIplD3q\naPvaJK9razBBKTB5a9vvXbSNhc7hfp8L0NhiRH6E00olnKggjH3NoYQgm4+/\nOJjP\r\n=UFF/\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.4.1_1554317477098_0.19078577985849443"},"_hasShrinkwrap":false},"2.4.2":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"benchmark":"^2.1.4","chalk":"2.4.2","eslint":"5.16.0","mime-db":"1.38.0","mime-score":"1.1.2","mime-types":"2.1.22","mocha":"6.0.2","runmd":"1.2.1","standard-version":"5.0.2"},"name":"mime","version":"2.4.2","gitHead":"30ba26ddf43c11754cbb424d6d679d4c6a11cb34","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.4.2","_npmVersion":"6.4.1","_nodeVersion":"8.15.1","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-zJBfZDkwRu+j3Pdd2aHsR5GfH2jIWhmL1ZzBoc+X+3JEti2hbArWcyJ+1laC1D2/U/W1a/+Cegj0/OnEU2ybjg==","shasum":"ce5229a5e99ffc313abac806b482c10e7ba6ac78","tarball":"https://registry.npmjs.org/mime/-/mime-2.4.2.tgz","fileCount":19,"unpackedSize":74360,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcqkA1CRA9TVsSAnZWagAAggkP/RAyGuatr02wOmMFLwLz\nlC20G3opBTIEuh+hknPf/CcDnEWK+WF3Wc255bEr9z9ocInDa/dj9KpZj1LC\nCfdXWFjDsTHsRYeAUmS770Yc6+8e8GE8vc2UFM7jk6ZnwG9xagV+v8Xm9YAs\nRtd7BN7tXre/fngrG5kcaLHvcDC72+VQ7dkvIDJq0Im9mdI5VmFmP20A60Ng\nkC03fLT2bB53WNLsXGUoX2TEwVF7BW8i5IgLwuVjfCrO3B9n1DToqHht5u9u\n8/K99pwX73Ps/na/iPppvLRcwCFIiL8hcZ7yH95Lr05tFZPiadcJQ5zEyFcj\n2C+kFRpI5FkCVyS356+z2csvWY7XXhclWKxKWHC9/Uxq7qf5QvukQbagwdrh\nLtn9WyRPYf4vZ9BgdAhsAjLfEHOG5aek8hzI2mrJJ60kL/SuKLTVwC7AZkQ2\nwM3lFSp7dWxczqp1tP9E9bOYIj/s7FdeauWpoYSMfTQuDiLCGblR/b6ieB6g\nXVk/2FMtCvAhPlKsBUjP0kG1Y81TbUVgxu30cfjDQWPKZ6v2zLjg+NY8skPS\nMAlLuA3Eju89X7gQykBwlv9RNNXVv1y0D2LlnsIjttPfo3RX+/PmrD1GhN7P\nt9A4GKJ9WTUwK2njcLt8qHHehTTnHF/qM8/idGoez98Z2Z/yGuWRoD8FH4yK\n2Uzj\r\n=chBD\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.4.2_1554661428827_0.7122084947285079"},"_hasShrinkwrap":false},"2.4.3":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"benchmark":"^2.1.4","chalk":"2.4.2","eslint":"5.16.0","mime-db":"1.38.0","mime-score":"1.1.2","mime-types":"2.1.22","mocha":"6.0.2","runmd":"1.2.1","standard-version":"5.0.2"},"name":"mime","version":"2.4.3","gitHead":"2f595e4f000daa858f2c2611b56ec221545331f1","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.4.3","_npmVersion":"6.4.1","_nodeVersion":"8.15.1","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==","shasum":"229687331e86f68924e6cb59e1cdd937f18275fe","tarball":"https://registry.npmjs.org/mime/-/mime-2.4.3.tgz","fileCount":19,"unpackedSize":74508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3B0tCRA9TVsSAnZWagAA448QAKQAmUAlViGYaqHe5CyB\n1th8GxX+J9t6msjV0ffe1ZGti+RZWQ30rCRuLCkyg4GxQ0lBkWbzOPe/IA6B\ntq6lQ3UZAU8j/bjApETdsbktCiHFStB8/XPpnh4q3kG3o0BTyGZn2564PR//\nZH+rPhZNmpQe/6oqF3CAUa5ilXxOENGcFWxlwKLzCVULP50TiA+bgSxyMdT2\n/x6SBImaasjkW3XyOjQbjWbxu6JLmiutUGxSkUDXPeKyGbEOCHYwL6bSCbrr\nucdBEZpz9p7v/hdm8J2E1DbJZHhSH79wy1b0jeH1MFUckfLLPgRIxaa4jhZY\nRuL80s4UBPQZqcUEOYwnoiAedUT0u4Yq4d0n807jHKpmQ6Lcjwbr9xxF8Bd9\nlpt6c9V/ckV/2VWi1+44MLDJ/vd+Os4wDs9PWcSaYoD97k/5xjrdj/9Y808S\nzByUs330xcgLtElwgqcAySu3PC122RKQI6g+06JHZR+X2yqpSsQV1PeumBdY\nC4XcXUlxobxVC3rXE7fnXyr53I+Nqi4WdEFYLPwYEGpqG6T7MaQa5B2doqy8\naZ1PSS3klKF2qTpG4vAO9POqZysuxD1epqG+G1gQYuaVWZQeuOtgCcMiG4YR\n0T2N40r+8kAaLNgB9vUcUibm4bHIJwS1KCJ54Pz6ut3XxzfTBlGtZjfIe4nC\nie3z\r\n=kNJP\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.4.3_1557929260873_0.13141022034633631"},"_hasShrinkwrap":false},"2.4.4":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"benchmark":"*","chalk":"*","eslint":"*","mime-db":"1.40.0","mime-score":"*","mime-types":"2.1.24","mocha":"6.1.4","runmd":"*","standard-version":"6.0.1"},"name":"mime","version":"2.4.4","gitHead":"6479a848ac4699e9dc4049409aad99dbebc3f1da","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.4.4","_npmVersion":"6.4.1","_nodeVersion":"8.15.1","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==","shasum":"bd7b91135fc6b01cde3e9bae33d659b63d8857e5","tarball":"https://registry.npmjs.org/mime/-/mime-2.4.4.tgz","fileCount":19,"unpackedSize":74946,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+q7iCRA9TVsSAnZWagAAIMMP/1ZtPOiAAL1b2hbekcva\nTgHAroKFU8SdPR3d8nXnDd56g4KbQ5rlWM1EgVlbVSAuuCYQU5R0MKqgaq9P\np27JNBEQTPHsmTAZeN9mZ1R2TTqAwped5RcjOFsrZDYvGPGSOiTKPtv6ZGzg\n/zVJwLNR3DaWNSsu3lnw2/K2kyucZ3xSPRnGgIpzbdJ/pheNbXS6lCA7mWMZ\nDFkhAOB3Z19J3ahFPd/+AdxswtknFOmKEefudXXbdezjYyf355LWz7Cta/OM\nc+B8DRq/TrBqcko2ixY1dJwAs9h8eRnO/QnJT/ysRwFC/YnnrNyq/S77WbfP\nlkW1QZfLFDOt6qsK3ll3VLLf/hxK4Sdsvc+aaFvK4f8rRK8WSppMgPaVLAtV\nilOUETPqj0wp/ycurCxwVJi+Hm8hQyfh05X1glFVUD8YYp9IZIWpOVOqqLdN\n7TL1UDx4oJ0/wpdjy3wSAKfavGk5JuL9TnXa3TbJoRJ8T1FkGhWvAmnRsO20\ncrNCIK1kwl2OBnYjMx54uEs7783DTntg3f/HWGg73tfmv9RLe5ngWYK81FrU\nV5AfTrtiAFyYspJug9uHfRkeoBX5eEhzfOzGyVgcyoMcVMCWY/+dtYMQeAeh\n9ImJrg9jQT7wFMPxeFEaCIYGhnsqjFl7N/8jJwNH6dKfsPxA9KuDf7PVhUG9\ne0MT\r\n=TmH0\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.4.4_1559932641676_0.5461150856587325"},"_hasShrinkwrap":false},"2.4.5":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"benchmark":"*","chalk":"*","eslint":"*","mime-db":"1.44.0","mime-score":"1.2.0","mime-types":"2.1.27","mocha":"7.1.2","runmd":"*","standard-version":"7.1.0"},"name":"mime","version":"2.4.5","gitHead":"32a1681cb917e6ef65a101b7cd93943d151cafb1","homepage":"https://github.com/broofa/node-mime#readme","_id":"mime@2.4.5","_nodeVersion":"12.10.0","_npmVersion":"6.13.6","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==","shasum":"d8de2ecb92982dedbb6541c9b6841d7f218ea009","tarball":"https://registry.npmjs.org/mime/-/mime-2.4.5.tgz","fileCount":10,"unpackedSize":57965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJerKx5CRA9TVsSAnZWagAA4pUP/1WBKA/862DBDbaBOo/I\no6LAeulSAUufwBKXAY6G521veNZtHcKSuzd63y8l+2RCAou5qplQrZLYn/Pk\nXd9lLcHNKk3zamil9sgjJn7biQMmxnFriz/2fO/Q2ZDXNK17nqIfmbz7a9Xs\noZhXsdVfRYY+kD+MEdTO4VAJdxZ/TsZUO6HbBSoyCynG6QxnbxqKKjG9FAgv\nbMYacbihCVXcI2yCa3bo3QWRgJepD8hYPZG0YzW5NDowolOitSHSDIN2HnTJ\nAEmUJuNhktFIiv1BZNbEwqUIZly6JQhlEUweIyaQG0+zFkO7Ea8S4VP4ZnIL\nfpZBAYtuybtgzJaN6poT9AwEgLxFQv8jkbuULA+Ma33WrOINinersZtb+laM\npcjRhq0ItxoYLBkraWYUmAC1g4d3ia39hzO68fLvvw96VkDnJlTGkIubg5UH\nguuGTMFPEJCyCWcT2mXtTwwepWuygSMCAkLlDIisb/4bcxx+8CyagpGdobS0\n1J+GxCbXrocWprb0ZGYaFR3hk9Z2hbKu3JRN1XOgICd5psUbi7tvlonbpmPD\n7r50RZn48VTMyKdmMuonFSZ7QzZBUVecoc91dioLBHPE3yRJ8JPok0/8edk4\nwm2EE7lrO1JNxJq9VvGMaPlDE/LQus34NoBIAnyCodgx0ZcF4hmTJnWlPAaK\nVNqo\r\n=xHhY\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.4.5_1588374649078_0.25380674476731957"},"_hasShrinkwrap":false},"2.4.6":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"benchmark":"*","chalk":"*","eslint":"*","mime-db":"1.44.0","mime-score":"1.2.0","mime-types":"2.1.27","mocha":"7.1.2","runmd":"*","standard-version":"7.1.0"},"name":"mime","version":"2.4.6","gitHead":"c8a4810d7697ecee9ecbf52e833548d9d885f0cd","homepage":"https://github.com/broofa/mime#readme","_id":"mime@2.4.6","_nodeVersion":"12.10.0","_npmVersion":"6.13.6","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==","shasum":"e5b407c90db442f2beb5b162373d07b69affa4d1","tarball":"https://registry.npmjs.org/mime/-/mime-2.4.6.tgz","fileCount":10,"unpackedSize":57564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezpQLCRA9TVsSAnZWagAAw7QP/1YrEg60oynV6aaZqeGO\nm8DhTTe29D2i7rj4uKotubnKClrS49729E8aO86DBJP0UqNStnobuegOQL6F\nqdLLJgi5B1CCyuezV54uKA5evj6jBObPsfFfWnDDY4jmReRQfS2qPyOzPtdG\nKs8RdF+j9DknwBYjGm2dOGjX94tYZoiLY6ZSPS4mDZ2bAnMt9zKwYONMbvV2\nwzqR2Rawu5CyVOr2UnervidQvy74A0jIXKGBoyhzSJ+VXqevMLiJGWWnGoz+\nSBM25Vg6Rdu1hHnlmiaLoMEN8QF78lmgMcQunA/61nDkAkICGo8QUubp/j18\najUrKY4+y96VIuf15doCrrqQbNIMeCG8gCLZ2deI7A5c96at0xgIa2+67n5E\nz+G5jEvoHzPCYApDpCKg1RD2vIhJv6WywzhlHGXVEL7k/DgUcN/PLENqPykC\nGxgz5MxGU7hVkQYc+EQHnHRLWq8A9/YedNqOYpP5UCJoWfAT9M4ypRjjNa3n\ntgVVzv6cpzwBoBhh/2qV1NSvftnudyRZpj42s8RMQUCJgT/g5hwXZxQ43hg/\nIzrHaEkvXpr/MENUZIRXWUIPx6Iy4EONYox0VJ7P4/7zDO1AboNUGO0s8wD5\n+7mwLy1/ne+8ns7FisY0ArSxjz/egyln9n4MNzItCOwpRvy5F9x1JU7kqruF\n7uCG\r\n=i4GN\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.4.6_1590596619489_0.033845580310938095"},"_hasShrinkwrap":false},"2.4.7":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"benchmark":"*","chalk":"4.1.0","eslint":"7.15.0","mime-db":"1.45.0","mime-score":"1.2.0","mime-types":"2.1.27","mocha":"8.2.1","runmd":"*","standard-version":"9.0.0"},"name":"mime","version":"2.4.7","gitHead":"f5a0ea5e85f5d921f0c3dbc027843f38e2568393","homepage":"https://github.com/broofa/mime#readme","_id":"mime@2.4.7","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==","shasum":"962aed9be0ed19c91fd7dc2ece5d7f4e89a90d74","tarball":"https://registry.npmjs.org/mime/-/mime-2.4.7.tgz","fileCount":10,"unpackedSize":58019,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2XFbCRA9TVsSAnZWagAAGBIP/2wnqIr5EzLqIXw7b3Sn\nuBwB9awWa8A+4QA6oUp+KN03WQ0j38FXTyl9dJjE10w5TrQNDUeVZWAWZ5Xo\nOt9v8ZlpVYpvF/4oRhSByvOu0aNX5gBs0nSeWSIkGj0K8cMxcFrMQOO9FFlB\neuiTsLAty7l1lB/p/2CAxSJVUtdGdordPe2t5VMHzO9T/CDlMNOWcb1a5cuq\nXLPzHOTOjTmraZWvTg0OWjWEb3PQkR7D+DKgPbIyVuBjqbvelPilVHwZzR4b\n1zFBLyNBrteu19aBgNd6gOumIgTmGlTpFWfxl75hjhfh8Itt1BpkTQwJgwCW\n195bdYNl/D9xaedrbRpu98kaEAXCpwVOFaA4syMJa3TS3wB1FzlYSG1sovaa\nSddAw45zlT0KPz6+/MDK/q0qWS/Wb5S0uim2Griz9WLK8aWj6KoJgMi/YGZ6\nElPafMFYjWYtcpmyMds5Bpj65mfd1/m4ODhy2XZh/ye5gjwftBtlH9pyWwbd\n1ZONAKgR/k4mZ4BTLSXy4sF8lLRKlGsO/6EDsE1GghaiLs1CY9Khy5dDXUIR\n/zF0hQY+tVunBtYnIuU7iY5uY5kWrUO1eW2IX60+Iqf0BUPVIWDRS7AfM63x\n7OPbkleWlq+nORS9Z5q2NkuxC1C/I418nwGFjodOt02SwRc+HgUckd4UxvQq\nsGZm\r\n=46Lb\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.4.7_1608085850499_0.8692853814519579"},"_hasShrinkwrap":false},"2.5.0":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"benchmark":"*","chalk":"4.1.0","eslint":"7.15.0","mime-db":"1.45.0","mime-score":"1.2.0","mime-types":"2.1.27","mocha":"7.2.0","runmd":"*","standard-version":"9.0.0"},"name":"mime","version":"2.5.0","gitHead":"9847c9f9ee077a8d6e17d0b738b1b28c030a9a89","homepage":"https://github.com/broofa/mime#readme","_id":"mime@2.5.0","_nodeVersion":"14.15.3","_npmVersion":"6.14.9","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==","shasum":"2b4af934401779806ee98026bb42e8c1ae1876b1","tarball":"https://registry.npmjs.org/mime/-/mime-2.5.0.tgz","fileCount":10,"unpackedSize":59334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAjgjCRA9TVsSAnZWagAA+o8P/0+GZju4bxlcw7ovI3mp\nIAZ7a5EKqnEGeV4q2Crj9LTWTezX1rpytEZXJLMrUHHs2IGa7UYHE3fYE3zN\nxwMbE/pGh/WvTdknObSVF3PpcOlJM6Otp+tZ7V3IgzmDucy8QffPyJpMu+6y\nk348N4mBvTH/jA3ylRI4imEp0ZDisnPHfHp5wMMU64KTVKvcec0m7HjhuW1Z\nQ0zKGNWUPa5FUdFH9fIQ50B4Ph0maziVSjNdZO7FT68dvyb29rCV1jfSGXFb\n1qcuQfoUC7zKAQi7yBQvEC6OesYWhZaJrY902cdC80IyAxqDoXN1dcIiWunv\nCCYvDb5ViTrA/ATlLgeToYNWgQIOaYv13rwf2GBba3EblpbTcJVJXgYcIIvm\nTMfV5UmYCq/mUjNQlbs1R/U1YCIP/lLPYdICanis9Pv4Ihc0qowL9ujCPMLN\nHoj8jJSVfqR7UyBC56p4APFvAaSl62autYOp3b0aGmKo8hAZU5Qbw0QYDkTG\nOlvPHyY0tXXMPYQnTf5GS+tLx/+HwlE76+O9OmL5o114z/KZezKWBvm+o7KD\nvtZGfR8icY0iNw5OZoXKCGSlnrtXOrkzuBYj6Fwt0AIgI3u5uIntr83Py9HD\ntnibfsRG8zr7sEVhzAQ5uRlV/pZAELk2Uq4g+tZJy9dipksjmjYodKt1wcxN\nXmdt\r\n=k+zX\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.5.0_1610758179316_0.31376355128743305"},"_hasShrinkwrap":false},"2.5.2":{"bin":{"mime":"cli.js"},"dependencies":{},"devDependencies":{"benchmark":"*","chalk":"4.1.0","eslint":"7.20.0","mime-db":"1.46.0","mime-score":"1.2.0","mime-types":"2.1.28","mocha":"8.3.0","runmd":"*","standard-version":"9.1.0"},"name":"mime","version":"2.5.2","gitHead":"29d52df2faaf8430de14227089fb1699db06cc55","homepage":"https://github.com/broofa/mime#readme","_id":"mime@2.5.2","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"dist":{"integrity":"sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==","shasum":"6e3dc6cc2b9510643830e5f19d5cb753da5eeabe","tarball":"https://registry.npmjs.org/mime/-/mime-2.5.2.tgz","fileCount":10,"unpackedSize":59664,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLVliCRA9TVsSAnZWagAADsoP/3fqPwQLQl/bpVjg5cxP\nIbYPkY3c6h6wvNBPLPby/nooeQ+dqCUkj8+2mU1VnsEwVcBa7mY3QLt5Bmca\nyr4HHTZNVyHXEPEYP85adkT5SlC4l2uW6PcoSEqaZFf+oAVOWhHy+BFSz3oQ\nYyf0TObWLwZH5PGpkYtoff6FfHuF6HJRHf80UcnZUQUGQxMpeItre4HJMGeu\nwkq4UTBwCvFB/baJH+zPNH9vQcLqZeRu/z3+D5KdnMAPCm2AhU/VEhKVgvo1\nOWsu2Imu4C7Zj+p43mDf768FsMLS9bP3+fkxjvQNNFjEM8gOA2tswbV6sfeI\nV1fvj9xd8LZpHdna2p96MtQ8+84Hh3t/dxgWFutUb1UUnhihpvTU7uNgwhC+\nYutgkr0s7Cgw3NBiUyOOtsI50QsOppUQNiVuOPGRJrxndHFWyEtonBe3AQwu\nX4hLmYQeKppfxR1cWAWm+KrGv7O6+tP34bMDbUOg08hWUrzFoCKboFunthAU\nlUsZwJ9k3TnFyPJaziZNifgsvQD35OeeCTokSpXqvc4JWYikh0MRYWVAquXc\nYeryrs82NYgO2RXVYNwkiaJx2qAmBmijGzpQ3yIAa9mykv16HzTkuoXpEOTt\nL0vQ1j1cZtEZsFPOM0ZUmmHXDvnqy+isFm555PFOz11fC4tiRtQBXHZIbpSt\nb6Kb\r\n=cO7j\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mime_2.5.2_1613584738148_0.9892401529209087"},"_hasShrinkwrap":false}},"time":{"modified":"2021-02-17T17:59:02.281Z","created":"2011-01-20T16:27:31.008Z","1.0.0":"2011-01-20T16:27:31.008Z","1.1.0":"2011-01-20T16:27:31.008Z","1.2.1":"2011-01-20T16:27:31.008Z","1.2.2":"2011-05-09T11:56:13.470Z","1.2.3":"2011-09-07T13:19:46.375Z","1.2.4":"2011-09-18T12:00:16.878Z","1.2.5":"2012-02-16T14:14:57.547Z","1.2.6":"2012-06-26T15:32:22.315Z","1.2.7":"2012-07-19T22:34:29.843Z","1.2.8":"2013-01-10T18:31:25.510Z","1.2.9":"2013-01-17T16:59:18.360Z","1.2.10":"2013-07-25T17:03:54.344Z","1.2.11":"2013-08-15T17:46:51.772Z","1.3.0":"2015-02-05T19:45:52.999Z","1.3.1":"2015-02-05T20:08:40.328Z","1.3.2":"2015-02-05T20:21:14.114Z","1.3.3":"2015-02-07T00:03:37.869Z","1.3.4":"2015-02-07T00:04:32.434Z","1.3.5":"2017-05-11T18:18:17.906Z","1.3.6":"2017-05-12T04:59:41.167Z","1.4.0":"2017-08-28T16:05:02.616Z","2.0.0":"2017-09-13T00:04:24.258Z","2.0.1":"2017-09-13T21:55:30.616Z","2.0.2":"2017-09-18T11:25:54.278Z","1.4.1":"2017-09-25T18:38:29.492Z","2.0.3":"2017-09-25T18:38:39.500Z","1.5.0":"2017-11-22T21:38:40.771Z","1.6.0":"2017-11-25T00:53:19.104Z","2.0.5":"2017-12-22T19:22:06.502Z","2.1.0":"2017-12-22T21:05:19.255Z","2.2.0":"2018-01-04T22:27:28.600Z","2.2.1":"2018-03-30T16:40:52.382Z","2.2.2":"2018-03-30T16:42:30.335Z","2.3.0":"2018-04-11T13:18:59.263Z","2.3.1":"2018-04-11T13:30:15.691Z","2.4.0":"2018-11-26T22:34:54.322Z","2.4.1":"2019-04-03T18:51:17.186Z","2.4.2":"2019-04-07T18:23:49.030Z","2.4.3":"2019-05-15T14:07:40.987Z","2.4.4":"2019-06-07T18:37:21.843Z","2.4.5":"2020-05-01T23:10:49.282Z","2.4.6":"2020-05-27T16:23:39.613Z","2.4.7":"2020-12-16T02:30:50.715Z","2.5.0":"2021-01-16T00:49:39.456Z","2.5.2":"2021-02-17T17:58:58.345Z"},"readmeFilename":"README.md","homepage":"https://github.com/broofa/mime#readme"} \ No newline at end of file diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/package-lock.json b/lib/manager/npm/update/locked-dependency/__fixtures__/package-lock.json new file mode 100644 index 0000000000000000000000000000000000000000..29e61899dd4c4cb8565280a72ca85f352c8226b8 --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/__fixtures__/package-lock.json @@ -0,0 +1,164 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "accepts": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.0.0.tgz", + "integrity": "sha1-NgTHZVhsO5z3h3tpN829RYf5R9w=", + "requires": { + "mime": "~1.2.11", + "negotiator": "~0.3.0" + } + }, + "buffer-crc32": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz", + "integrity": "sha1-vj5TgvwCttYySVasGvmKqYsIU0w=" + }, + "cookie": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz", + "integrity": "sha1-kOtGndzpBchm3mh+/EMTHYgB+dA=" + }, + "cookie-signature": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz", + "integrity": "sha1-kc2ZfMUftkFZVzjGnNoCAyj1D/k=" + }, + "debug": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz", + "integrity": "sha1-IP9NJvXkIstoobrLu2EDmtjBwTA=" + }, + "escape-html": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz", + "integrity": "sha1-GBoobq05ejmpKFfPsdQwUuNWv/A=" + }, + "express": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.0.0.tgz", + "integrity": "sha1-J03IKTPJ9XTMOKDOXqgXK+nGsJQ=", + "requires": { + "accepts": "1.0.0", + "buffer-crc32": "0.2.1", + "cookie": "0.1.0", + "cookie-signature": "1.0.3", + "debug": ">= 0.7.3 < 1", + "escape-html": "1.0.1", + "fresh": "0.2.2", + "merge-descriptors": "0.0.2", + "methods": "0.1.0", + "parseurl": "1.0.1", + "path-to-regexp": "0.1.2", + "qs": "0.6.6", + "range-parser": "1.0.0", + "send": "0.2.0", + "serve-static": "1.0.1", + "type-is": "1.0.0", + "utils-merge": "1.0.0" + } + }, + "fresh": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz", + "integrity": "sha1-lzHc9WeMf660T7kDxPct9VGH+nc=" + }, + "merge-descriptors": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz", + "integrity": "sha1-w2pSp4FDdRPFcnXzndnTF1FKyMc=" + }, + "methods": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/methods/-/methods-0.1.0.tgz", + "integrity": "sha1-M11Cnu/SG3us8unJIqjSvRSjDk8=" + }, + "mime": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", + "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=" + }, + "negotiator": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz", + "integrity": "sha1-cG1pLv7d9XTVfqn7GriaT6fuj2A=" + }, + "parseurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz", + "integrity": "sha1-Llfc5u/dN8NRhwEDCUTCK/OIt7Q=" + }, + "path-to-regexp": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.2.tgz", + "integrity": "sha1-mysVH5zDAYye6lDKlXKeBXgXErQ=" + }, + "qs": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", + "integrity": "sha1-bgFQmP9RlouKPIGQAdXyyJvEsQc=" + }, + "range-parser": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz", + "integrity": "sha1-pLJkz+C+XONqvjdlrJwqJIdG28A=" + }, + "send": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.2.0.tgz", + "integrity": "sha1-Bnq/Rc/4v/spy9t0OXJbMjiKLFg=", + "requires": { + "debug": "*", + "fresh": "~0.2.1", + "mime": "~1.2.9", + "range-parser": "~1.0.0" + } + }, + "serve-static": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.0.1.tgz", + "integrity": "sha1-ENy/1Es+ApGhMfyatKslqfWnikI=", + "requires": { + "send": "0.1.4" + }, + "dependencies": { + "fresh": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz", + "integrity": "sha1-v9lALPPfEsSkwxDHn5mj3eE9NKc=" + }, + "range-parser": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz", + "integrity": "sha1-wEJ//vUcEKy6B4KkbJYC50T/Ygs=" + }, + "send": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/send/-/send-0.1.4.tgz", + "integrity": "sha1-vnDY0b4B3mGCGvE3gLUDRaT3Gr0=", + "requires": { + "debug": "*", + "fresh": "0.2.0", + "mime": "~1.2.9", + "range-parser": "0.0.4" + } + } + } + }, + "type-is": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.0.0.tgz", + "integrity": "sha1-T/Qk6XNJoe4ZELS/xIhZXs3EQ/w=", + "requires": { + "mime": "~1.2.11" + } + }, + "utils-merge": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", + "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=" + } + } +} diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/package.json b/lib/manager/npm/update/locked-dependency/__fixtures__/package.json new file mode 100644 index 0000000000000000000000000000000000000000..fa0ac8a91c374204d02bea82da2dc4b8ce8e1ceb --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/__fixtures__/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "express": "4.0.0" + } +} diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/send.json b/lib/manager/npm/update/locked-dependency/__fixtures__/send.json new file mode 100644 index 0000000000000000000000000000000000000000..9d0ef74175b05c3eb520c09b28940154cef723d1 --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/__fixtures__/send.json @@ -0,0 +1 @@ +{"_id":"send","_rev":"131-7bc5ad70ee0e895d5bb294e6952b88cf","name":"send","dist-tags":{"latest":"0.17.1"},"versions":{"0.0.1":{"name":"send","version":"0.0.1","dependencies":{"debug":"*","mime":"1.2.6","fresh":"0.1.0","range-parser":"0.0.4"},"devDependencies":{"mocha":"*","should":"*","supertest":"0.0.1","connect":"2.x"},"main":"index","_id":"send@0.0.1","dist":{"shasum":"0d04102e8ac681fb635dc7030e9c9b41de683e00","tarball":"https://registry.npmjs.org/send/-/send-0.0.1.tgz"},"directories":{}},"0.0.2":{"name":"send","version":"0.0.2","dependencies":{"debug":"*","mime":"1.2.6","fresh":"0.1.0","range-parser":"0.0.4"},"devDependencies":{"mocha":"*","should":"*","supertest":"0.0.1","connect":"2.x"},"main":"index","_id":"send@0.0.2","dist":{"shasum":"8792a53497bb91b62973b588179eb4c5ed0ff7fd","tarball":"https://registry.npmjs.org/send/-/send-0.0.2.tgz"},"directories":{}},"0.0.3":{"name":"send","version":"0.0.3","dependencies":{"debug":"*","mime":"1.2.6","fresh":"0.1.0","range-parser":"0.0.4"},"devDependencies":{"mocha":"*","should":"*","supertest":"0.0.1","connect":"2.x"},"main":"index","_id":"send@0.0.3","dist":{"shasum":"4d5f843edf9d65dac31c8a5d2672c179ecb67184","tarball":"https://registry.npmjs.org/send/-/send-0.0.3.tgz"},"directories":{}},"0.0.4":{"name":"send","version":"0.0.4","dependencies":{"debug":"*","mime":"1.2.6","fresh":"0.1.0","range-parser":"0.0.4"},"devDependencies":{"mocha":"*","should":"*","supertest":"0.0.1","connect":"2.x"},"main":"index","_id":"send@0.0.4","dist":{"shasum":"2d4cf79b189fcd09610e1302510ac9b0e4dde800","tarball":"https://registry.npmjs.org/send/-/send-0.0.4.tgz"},"directories":{}},"0.1.0":{"name":"send","version":"0.1.0","dependencies":{"debug":"*","mime":"1.2.6","fresh":"0.1.0","range-parser":"0.0.4"},"devDependencies":{"mocha":"*","should":"*","supertest":"0.0.1","connect":"2.x"},"main":"index","_id":"send@0.1.0","dist":{"shasum":"cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640","tarball":"https://registry.npmjs.org/send/-/send-0.1.0.tgz"},"_npmVersion":"1.1.61","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"0.1.1":{"name":"send","version":"0.1.1","dependencies":{"debug":"*","mime":"~1.2.9","fresh":"0.1.0","range-parser":"0.0.4"},"devDependencies":{"mocha":"*","should":"*","supertest":"0.0.1","connect":"2.x"},"main":"index","_id":"send@0.1.1","dist":{"shasum":"0bcfcbd03def6e2d8612e1abf8f4895b450c60c8","tarball":"https://registry.npmjs.org/send/-/send-0.1.1.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"0.1.2":{"name":"send","version":"0.1.2","dependencies":{"debug":"*","mime":"~1.2.9","fresh":"0.1.0","range-parser":"0.0.4"},"devDependencies":{"mocha":"*","should":"*","supertest":"0.0.1","connect":"2.x"},"main":"index","_id":"send@0.1.2","dist":{"shasum":"c2744e98111bf1bb62eb4996dfda8a9980752984","tarball":"https://registry.npmjs.org/send/-/send-0.1.2.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"0.1.3":{"name":"send","version":"0.1.3","dependencies":{"debug":"*","mime":"~1.2.9","fresh":"0.1.0","range-parser":"0.0.4"},"devDependencies":{"mocha":"*","should":"*","supertest":"0.0.1","connect":"2.x"},"main":"index","_id":"send@0.1.3","dist":{"shasum":"a7875daa6802d31e2ce32fdad98d3664c51ecea3","tarball":"https://registry.npmjs.org/send/-/send-0.1.3.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"0.1.4":{"name":"send","version":"0.1.4","dependencies":{"debug":"*","mime":"~1.2.9","fresh":"0.2.0","range-parser":"0.0.4"},"devDependencies":{"mocha":"*","should":"*","supertest":"0.0.1","connect":"2.x"},"main":"index","_id":"send@0.1.4","dist":{"shasum":"be70d8d1be01de61821af13780b50345a4f71abd","tarball":"https://registry.npmjs.org/send/-/send-0.1.4.tgz"},"_from":".","_npmVersion":"1.3.4","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"0.2.0":{"name":"send","version":"0.2.0","dependencies":{"debug":"*","mime":"~1.2.9","fresh":"~0.2.1","range-parser":"~1.0.0"},"devDependencies":{"mocha":"*","should":"*","supertest":"0.0.1","connect":"2.x"},"main":"index","homepage":"https://github.com/visionmedia/send","_id":"send@0.2.0","dist":{"shasum":"067abf45cff8bffb29cbdb7439725b32388a2c58","tarball":"https://registry.npmjs.org/send/-/send-0.2.0.tgz"},"_from":".","_npmVersion":"1.3.15","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"directories":{}},"0.3.0":{"name":"send","version":"0.3.0","dependencies":{"buffer-crc32":"0.2.1","debug":"0.8.0","fresh":"~0.2.1","mime":"1.2.11","range-parser":"~1.0.0"},"devDependencies":{"mocha":"*","should":"*","supertest":"0.10.0","connect":"2.x"},"main":"index","homepage":"https://github.com/visionmedia/send","_id":"send@0.3.0","dist":{"shasum":"9718324634806fc75bc4f8f5e51f57d9d66606e7","tarball":"https://registry.npmjs.org/send/-/send-0.3.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"0.4.0":{"name":"send","version":"0.4.0","dependencies":{"debug":"0.8.1","finished":"1.1.4","fresh":"~0.2.1","mime":"1.2.11","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.19.0","should":"~3.3.2","supertest":"~0.13.0"},"homepage":"https://github.com/visionmedia/send","_id":"send@0.4.0","_shasum":"e7ec677072e5651f18712dd493732fcf422cec39","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"e7ec677072e5651f18712dd493732fcf422cec39","tarball":"https://registry.npmjs.org/send/-/send-0.4.0.tgz"},"directories":{}},"0.4.1":{"name":"send","version":"0.4.1","dependencies":{"debug":"0.8.1","finished":"1.1.4","fresh":"~0.2.1","mime":"1.2.11","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/visionmedia/send","_id":"send@0.4.1","_shasum":"6e9a5d41cb9c0fb3514226446fa319aed46d433d","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"6e9a5d41cb9c0fb3514226446fa319aed46d433d","tarball":"https://registry.npmjs.org/send/-/send-0.4.1.tgz"},"directories":{}},"0.4.2":{"name":"send","version":"0.4.2","dependencies":{"debug":"1.0.1","finished":"1.2.1","fresh":"~0.2.1","mime":"1.2.11","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/visionmedia/send","_id":"send@0.4.2","dist":{"shasum":"7641b23126fc54975d2be37674b36d6bb617b26c","tarball":"https://registry.npmjs.org/send/-/send-0.4.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"0.4.3":{"name":"send","version":"0.4.3","dependencies":{"debug":"1.0.2","escape-html":"1.0.1","finished":"1.2.2","fresh":"0.2.2","mime":"1.2.11","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"ffac4f5c4eca470a041ff328e425a8050a4d792c","homepage":"https://github.com/visionmedia/send","_id":"send@0.4.3","_shasum":"9627b23b7707fbf6373831cac5793330b594b640","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"9627b23b7707fbf6373831cac5793330b594b640","tarball":"https://registry.npmjs.org/send/-/send-0.4.3.tgz"},"directories":{}},"0.5.0":{"name":"send","version":"0.5.0","dependencies":{"debug":"1.0.2","escape-html":"1.0.1","finished":"1.2.2","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/visionmedia/send","_id":"send@0.5.0","dist":{"shasum":"fc0f7e2f92e29aebfd8a1b2deb4a394e7a531a68","tarball":"https://registry.npmjs.org/send/-/send-0.5.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"0.6.0":{"name":"send","version":"0.6.0","dependencies":{"debug":"1.0.3","depd":"0.3.0","escape-html":"1.0.1","finished":"1.2.2","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/visionmedia/send","_id":"send@0.6.0","dist":{"shasum":"a59da9265db7c35141e1079cf1f368ee0d59b3ab","tarball":"https://registry.npmjs.org/send/-/send-0.6.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"0.7.0":{"name":"send","version":"0.7.0","dependencies":{"debug":"1.0.4","depd":"0.4.2","escape-html":"1.0.1","finished":"1.2.2","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/visionmedia/send","_id":"send@0.7.0","dist":{"shasum":"f479a05c57d36bf564311dd1e3825b84b26ae336","tarball":"https://registry.npmjs.org/send/-/send-0.7.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"0.7.1":{"name":"send","version":"0.7.1","dependencies":{"debug":"1.0.4","depd":"0.4.3","escape-html":"1.0.1","finished":"1.2.2","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/visionmedia/send","_id":"send@0.7.1","dist":{"shasum":"fe02421cd5fb3bcc10287f72c18e94818e3f80fd","tarball":"https://registry.npmjs.org/send/-/send-0.7.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"0.7.2":{"name":"send","version":"0.7.2","dependencies":{"debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finished":"1.2.2","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/visionmedia/send","_id":"send@0.7.2","dist":{"shasum":"3b5f696f701d56fe115b860cc6b3f0cdbfbf7804","tarball":"https://registry.npmjs.org/send/-/send-0.7.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"0.7.3":{"name":"send","version":"0.7.3","dependencies":{"debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finished":"1.2.2","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/visionmedia/send","_id":"send@0.7.3","dist":{"shasum":"2caa2e2627d2f9c2d109d3f5c2942935480aa993","tarball":"https://registry.npmjs.org/send/-/send-0.7.3.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"0.7.4":{"name":"send","version":"0.7.4","dependencies":{"debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finished":"1.2.2","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"c7a90d47e2bc50a1aaabc0a28618a78a401daa65","homepage":"https://github.com/visionmedia/send","_id":"send@0.7.4","_shasum":"c80a084cb8eb940345f3ab4ce9e4ee25cb6647cb","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"c80a084cb8eb940345f3ab4ce9e4ee25cb6647cb","tarball":"https://registry.npmjs.org/send/-/send-0.7.4.tgz"},"directories":{}},"0.8.0":{"name":"send","version":"0.8.0","dependencies":{"debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finished":"1.2.2","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"7e8591cf07cbba182f60e1cf7cc7c4b66558ba4a","homepage":"https://github.com/visionmedia/send","_id":"send@0.8.0","_shasum":"cbe98d58c1bdaa666bb95acb68ed1df92e1ae6e1","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"cbe98d58c1bdaa666bb95acb68ed1df92e1ae6e1","tarball":"https://registry.npmjs.org/send/-/send-0.8.0.tgz"},"directories":{}},"0.8.1":{"name":"send","version":"0.8.1","dependencies":{"debug":"1.0.4","depd":"0.4.4","escape-html":"1.0.1","finished":"1.2.2","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"d7c99ee941d73fe9a668fc4c673185bfd2167ce7","homepage":"https://github.com/visionmedia/send","_id":"send@0.8.1","_shasum":"86bbdcc3fb0ce6ebc2d15af977d94c0b300d02eb","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"86bbdcc3fb0ce6ebc2d15af977d94c0b300d02eb","tarball":"https://registry.npmjs.org/send/-/send-0.8.1.tgz"},"directories":{}},"0.8.2":{"name":"send","version":"0.8.2","dependencies":{"debug":"1.0.4","depd":"0.4.4","dethroy":"1.0.2","escape-html":"1.0.1","finished":"1.2.2","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"80b8de10744b3dbfd10b31afc160bc3241ae7570","homepage":"https://github.com/visionmedia/send","_id":"send@0.8.2","_shasum":"f67efb2e3c89bf5bcd90ccda8683b17f1cbfd0ac","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"f67efb2e3c89bf5bcd90ccda8683b17f1cbfd0ac","tarball":"https://registry.npmjs.org/send/-/send-0.8.2.tgz"},"directories":{}},"0.8.3":{"name":"send","version":"0.8.3","dependencies":{"debug":"1.0.4","depd":"0.4.4","destroy":"1.0.3","escape-html":"1.0.1","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","on-finished":"2.1.0","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"463d1c92267d0b84e5df27f2aecad62859d5a57b","homepage":"https://github.com/visionmedia/send","_id":"send@0.8.3","_shasum":"593886004fcb968a1b5727814a32b388b3b99083","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"593886004fcb968a1b5727814a32b388b3b99083","tarball":"https://registry.npmjs.org/send/-/send-0.8.3.tgz"},"directories":{}},"0.8.4":{"name":"send","version":"0.8.4","dependencies":{"debug":"1.0.4","depd":"0.4.4","destroy":"1.0.3","escape-html":"1.0.1","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","on-finished":"2.1.0","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"c00b287725234439237b0f70b94475ccd55e58f2","homepage":"https://github.com/visionmedia/send","_id":"send@0.8.4","_shasum":"259cd04e507df26a70eaa5b66cb20a26d8f18d65","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"259cd04e507df26a70eaa5b66cb20a26d8f18d65","tarball":"https://registry.npmjs.org/send/-/send-0.8.4.tgz"},"directories":{}},"0.8.5":{"name":"send","version":"0.8.5","dependencies":{"debug":"1.0.4","depd":"0.4.4","destroy":"1.0.3","escape-html":"1.0.1","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","on-finished":"2.1.0","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"c4fcb5daaca40bf4cf73e28dadbbe095ba44eeb3","homepage":"https://github.com/visionmedia/send","_id":"send@0.8.5","_shasum":"37f708216e6f50c175e74c69fec53484e2fd82c7","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"37f708216e6f50c175e74c69fec53484e2fd82c7","tarball":"https://registry.npmjs.org/send/-/send-0.8.5.tgz"},"directories":{}},"0.9.0":{"name":"send","version":"0.9.0","dependencies":{"debug":"~2.0.0","depd":"0.4.4","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.3.0","fresh":"0.2.2","mime":"1.2.11","ms":"0.6.2","on-finished":"2.1.0","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"files":["History.md","LICENSE","index.js"],"gitHead":"18ec0938bbb0fcf9b395fa55a275b962099b78d8","homepage":"https://github.com/visionmedia/send","_id":"send@0.9.0","_shasum":"778341d52134c895a4ecaf44a4a30d762f8ee3eb","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"778341d52134c895a4ecaf44a4a30d762f8ee3eb","tarball":"https://registry.npmjs.org/send/-/send-0.9.0.tgz"},"directories":{}},"0.9.1":{"name":"send","version":"0.9.1","dependencies":{"debug":"~2.0.0","depd":"0.4.4","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.3.0","fresh":"0.2.4","mime":"1.2.11","ms":"0.6.2","on-finished":"2.1.0","range-parser":"~1.0.0"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"files":["History.md","LICENSE","index.js"],"gitHead":"4f1bebbe16964d5ac83832e1357e50c9118836b0","homepage":"https://github.com/visionmedia/send","_id":"send@0.9.1","_shasum":"d93689f7c9ce36bd32f8ee572bb60bda032edc23","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"d93689f7c9ce36bd32f8ee572bb60bda032edc23","tarball":"https://registry.npmjs.org/send/-/send-0.9.1.tgz"},"directories":{}},"0.9.2":{"name":"send","version":"0.9.2","dependencies":{"debug":"~2.0.0","depd":"0.4.5","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.3.1","fresh":"0.2.4","mime":"1.2.11","ms":"0.6.2","on-finished":"2.1.0","range-parser":"~1.0.2"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"files":["History.md","LICENSE","index.js"],"gitHead":"c2b125b19c1f0f1f3c9bcd72be32d1ea54f2f620","homepage":"https://github.com/visionmedia/send","_id":"send@0.9.2","_shasum":"77d22a0f462604451917075c6f52e69c2b3b6e25","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"77d22a0f462604451917075c6f52e69c2b3b6e25","tarball":"https://registry.npmjs.org/send/-/send-0.9.2.tgz"},"directories":{}},"0.9.3":{"name":"send","version":"0.9.3","dependencies":{"debug":"~2.0.0","depd":"0.4.5","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.4.0","fresh":"0.2.4","mime":"1.2.11","ms":"0.6.2","on-finished":"2.1.0","range-parser":"~1.0.2"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"files":["History.md","LICENSE","index.js"],"gitHead":"3dbf47379d9077502208d8057022babcfc2f7cbc","homepage":"https://github.com/visionmedia/send","_id":"send@0.9.3","_shasum":"b43a7414cd089b7fbec9b755246f7c37b7b85cc0","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"b43a7414cd089b7fbec9b755246f7c37b7b85cc0","tarball":"https://registry.npmjs.org/send/-/send-0.9.3.tgz"},"directories":{}},"0.10.0":{"name":"send","version":"0.10.0","dependencies":{"debug":"~2.1.0","depd":"~1.0.0","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.5.0","fresh":"0.2.4","mime":"1.2.11","ms":"0.6.2","on-finished":"2.1.0","range-parser":"~1.0.2"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.14.0"},"files":["History.md","LICENSE","index.js"],"gitHead":"0b3d336e6c99e79af059560d63e46de51a17e96d","homepage":"https://github.com/visionmedia/send","_id":"send@0.10.0","_shasum":"2f984b703934c628b72b72d70557b75ca906ea6c","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"2f984b703934c628b72b72d70557b75ca906ea6c","tarball":"https://registry.npmjs.org/send/-/send-0.10.0.tgz"},"directories":{}},"0.10.1":{"name":"send","version":"0.10.1","dependencies":{"debug":"~2.1.0","depd":"~1.0.0","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.5.0","fresh":"0.2.4","mime":"1.2.11","ms":"0.6.2","on-finished":"~2.1.1","range-parser":"~1.0.2"},"devDependencies":{"istanbul":"0.3.2","mocha":"~2.0.0","should":"~4.1.0","supertest":"~0.14.0"},"files":["History.md","LICENSE","index.js"],"gitHead":"a5e6237f3e812a99d079e2100f6294251ef5f465","homepage":"https://github.com/tj/send","_id":"send@0.10.1","_shasum":"7745c50ec72f115115980e8fb179aec01900e08a","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"7745c50ec72f115115980e8fb179aec01900e08a","tarball":"https://registry.npmjs.org/send/-/send-0.10.1.tgz"},"directories":{}},"0.11.0":{"name":"send","version":"0.11.0","dependencies":{"debug":"~2.1.1","depd":"~1.0.0","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","mime":"1.2.11","ms":"0.7.0","on-finished":"~2.2.0","range-parser":"~1.0.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.5","mocha":"~2.1.0","supertest":"~0.15.0"},"files":["History.md","LICENSE","index.js"],"gitHead":"4768cf446683666f4d28931b80bda72b45687a70","homepage":"https://github.com/tj/send","_id":"send@0.11.0","_shasum":"d66b83b44576061ebd49551943b3c5c1f61cb308","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"d66b83b44576061ebd49551943b3c5c1f61cb308","tarball":"https://registry.npmjs.org/send/-/send-0.11.0.tgz"},"directories":{}},"0.11.1":{"name":"send","version":"0.11.1","dependencies":{"debug":"~2.1.1","depd":"~1.0.0","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","mime":"1.2.11","ms":"0.7.0","on-finished":"~2.2.0","range-parser":"~1.0.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.5","mocha":"~2.1.0","supertest":"~0.15.0"},"files":["History.md","LICENSE","index.js"],"gitHead":"1e18c059e94879ededcea3d58f52eec6791560ee","homepage":"https://github.com/tj/send","_id":"send@0.11.1","_shasum":"1beabfd42f9e2709f99028af3078ac12b47092d5","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"1beabfd42f9e2709f99028af3078ac12b47092d5","tarball":"https://registry.npmjs.org/send/-/send-0.11.1.tgz"},"directories":{}},"0.12.0":{"name":"send","version":"0.12.0","dependencies":{"debug":"~2.1.1","depd":"~1.0.0","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","mime":"1.3.4","ms":"0.7.0","on-finished":"~2.2.0","range-parser":"~1.0.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.5","mocha":"~2.1.0","supertest":"~0.15.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"98d60d9949e25d81f2863ec75fd1d1264949f1f9","homepage":"https://github.com/pillarjs/send","_id":"send@0.12.0","_shasum":"d8c124a27797c47206d8fd52d37cd27ef15a506e","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"d8c124a27797c47206d8fd52d37cd27ef15a506e","tarball":"https://registry.npmjs.org/send/-/send-0.12.0.tgz"},"directories":{}},"0.12.1":{"name":"send","version":"0.12.1","dependencies":{"debug":"~2.1.1","depd":"~1.0.0","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","mime":"1.3.4","ms":"0.7.0","on-finished":"~2.2.0","range-parser":"~1.0.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.5","mocha":"~2.1.0","supertest":"~0.15.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"700757e7aa065b58fb101bd149bedb8239fac228","homepage":"https://github.com/pillarjs/send","_id":"send@0.12.1","_shasum":"65e2e4330eae6b4d1082a921bfc8e9c9f1776b31","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"65e2e4330eae6b4d1082a921bfc8e9c9f1776b31","tarball":"https://registry.npmjs.org/send/-/send-0.12.1.tgz"},"directories":{}},"0.12.2":{"name":"send","version":"0.12.2","dependencies":{"debug":"~2.1.3","depd":"~1.0.0","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","mime":"1.3.4","ms":"0.7.0","on-finished":"~2.2.0","range-parser":"~1.0.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.7","mocha":"~2.2.1","supertest":"~0.15.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"c9a4bf66fa7add5976b2fdbbf3ea20d7f83673f8","homepage":"https://github.com/pillarjs/send","_id":"send@0.12.2","_shasum":"ba6785e47ab41aa0358b9da401ab22ff0f58eab6","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"ba6785e47ab41aa0358b9da401ab22ff0f58eab6","tarball":"https://registry.npmjs.org/send/-/send-0.12.2.tgz"},"directories":{}},"0.12.3":{"name":"send","version":"0.12.3","dependencies":{"debug":"~2.2.0","depd":"~1.0.1","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.6.0","fresh":"0.2.4","mime":"1.3.4","ms":"0.7.1","on-finished":"~2.2.1","range-parser":"~1.0.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.9","mocha":"2.2.4","supertest":"~0.15.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"db460d914de7114d267a55e2a2d60f869c8ddd33","homepage":"https://github.com/pillarjs/send","_id":"send@0.12.3","_shasum":"cd12dc58fde21e4f91902b39b2fda05a7a6d9bdc","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"cd12dc58fde21e4f91902b39b2fda05a7a6d9bdc","tarball":"https://registry.npmjs.org/send/-/send-0.12.3.tgz"},"directories":{}},"0.13.0":{"name":"send","version":"0.13.0","dependencies":{"debug":"~2.2.0","depd":"~1.0.1","destroy":"1.0.3","escape-html":"1.0.2","etag":"~1.7.0","fresh":"0.3.0","http-errors":"~1.3.1","mime":"1.3.4","ms":"0.7.1","on-finished":"~2.3.0","range-parser":"~1.0.2","statuses":"~1.2.1"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.9","mocha":"2.2.5","supertest":"1.0.1"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"80cfa7f54ce87c75e92619d5bc510406bd69133a","homepage":"https://github.com/pillarjs/send","_id":"send@0.13.0","_shasum":"518f921aeb0560aec7dcab2990b14cf6f3cce5de","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"518f921aeb0560aec7dcab2990b14cf6f3cce5de","tarball":"https://registry.npmjs.org/send/-/send-0.13.0.tgz"},"directories":{}},"0.13.1":{"name":"send","version":"0.13.1","dependencies":{"debug":"~2.2.0","depd":"~1.1.0","destroy":"~1.0.4","escape-html":"~1.0.3","etag":"~1.7.0","fresh":"0.3.0","http-errors":"~1.3.1","mime":"1.3.4","ms":"0.7.1","on-finished":"~2.3.0","range-parser":"~1.0.3","statuses":"~1.2.1"},"devDependencies":{"after":"0.8.1","istanbul":"0.4.2","mocha":"2.3.4","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"dbce43fc7102c14b475c25cde918b726063cc991","homepage":"https://github.com/pillarjs/send","_id":"send@0.13.1","_shasum":"a30d5f4c82c8a9bae9ad00a1d9b1bdbe6f199ed7","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"a30d5f4c82c8a9bae9ad00a1d9b1bdbe6f199ed7","tarball":"https://registry.npmjs.org/send/-/send-0.13.1.tgz"},"directories":{}},"0.13.2":{"name":"send","version":"0.13.2","dependencies":{"debug":"~2.2.0","depd":"~1.1.0","destroy":"~1.0.4","escape-html":"~1.0.3","etag":"~1.7.0","fresh":"0.3.0","http-errors":"~1.3.1","mime":"1.3.4","ms":"0.7.1","on-finished":"~2.3.0","range-parser":"~1.0.3","statuses":"~1.2.1"},"devDependencies":{"after":"0.8.1","istanbul":"0.4.2","mocha":"2.4.5","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"5a089701b1c49d96084716bdb5465edefa08c906","homepage":"https://github.com/pillarjs/send","_id":"send@0.13.2","_shasum":"765e7607c8055452bba6f0b052595350986036de","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"765e7607c8055452bba6f0b052595350986036de","tarball":"https://registry.npmjs.org/send/-/send-0.13.2.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/send-0.13.2.tgz_1457238386348_0.8199156709015369"},"directories":{}},"0.14.0":{"name":"send","version":"0.14.0","dependencies":{"debug":"~2.2.0","depd":"~1.1.0","destroy":"~1.0.4","escape-html":"~1.0.3","etag":"~1.7.0","fresh":"0.3.0","http-errors":"~1.5.0","mime":"1.3.4","ms":"0.7.1","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.3.0"},"devDependencies":{"after":"0.8.1","eslint":"2.11.1","eslint-config-standard":"5.3.1","eslint-plugin-promise":"1.3.1","eslint-plugin-standard":"1.3.2","istanbul":"0.4.3","mocha":"2.5.3","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"4b69813e46421a5884c986e9437ebd899abd2146","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.14.0","_shasum":"6b192d05c0b87c48263738bba9d50d04b2328b77","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"6b192d05c0b87c48263738bba9d50d04b2328b77","tarball":"https://registry.npmjs.org/send/-/send-0.14.0.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/send-0.14.0.tgz_1465261751359_0.5311042286921293"},"directories":{}},"0.14.1":{"name":"send","version":"0.14.1","dependencies":{"debug":"~2.2.0","depd":"~1.1.0","destroy":"~1.0.4","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.7.0","fresh":"0.3.0","http-errors":"~1.5.0","mime":"1.3.4","ms":"0.7.1","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.3.0"},"devDependencies":{"after":"0.8.1","eslint":"2.11.1","eslint-config-standard":"5.3.1","eslint-plugin-promise":"1.3.1","eslint-plugin-standard":"1.3.2","istanbul":"0.4.3","mocha":"2.5.3","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"d6dd3b91bbb73ad89f1398fa227b200db9bff037","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.14.1","_shasum":"a954984325392f51532a7760760e459598c89f7a","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"a954984325392f51532a7760760e459598c89f7a","tarball":"https://registry.npmjs.org/send/-/send-0.14.1.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/send-0.14.1.tgz_1465535036412_0.3431496580597013"},"directories":{}},"0.14.2":{"name":"send","version":"0.14.2","dependencies":{"debug":"~2.2.0","depd":"~1.1.0","destroy":"~1.0.4","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.7.0","fresh":"0.3.0","http-errors":"~1.5.1","mime":"1.3.4","ms":"0.7.2","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.3.1"},"devDependencies":{"after":"0.8.2","eslint":"2.11.1","eslint-config-standard":"5.3.1","eslint-plugin-promise":"1.3.1","eslint-plugin-standard":"1.3.2","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"f3397bc0170fb9f2d84c45e81981dff6e58e102d","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.14.2","_shasum":"39b0438b3f510be5dc6f667a11f71689368cdeef","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"39b0438b3f510be5dc6f667a11f71689368cdeef","tarball":"https://registry.npmjs.org/send/-/send-0.14.2.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/send-0.14.2.tgz_1485185381110_0.5022726391907781"},"directories":{}},"0.15.0":{"name":"send","version":"0.15.0","dependencies":{"debug":"2.6.1","depd":"~1.1.0","destroy":"~1.0.4","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","fresh":"0.5.0","http-errors":"~1.6.1","mime":"1.3.4","ms":"0.7.2","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.3.1"},"devDependencies":{"after":"0.8.2","eslint":"3.16.0","eslint-config-standard":"6.2.1","eslint-plugin-markdown":"1.0.0-beta.3","eslint-plugin-promise":"3.4.2","eslint-plugin-standard":"2.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"7196b1eb738b4e6fc075b3f48cdbec4f7659b22b","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.15.0","_shasum":"f0185d6466fa76424b866f3d533e2d19dd0aaa39","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"f0185d6466fa76424b866f3d533e2d19dd0aaa39","tarball":"https://registry.npmjs.org/send/-/send-0.15.0.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/send-0.15.0.tgz_1488062687975_0.6238442889880389"},"directories":{}},"0.15.1":{"name":"send","version":"0.15.1","dependencies":{"debug":"2.6.1","depd":"~1.1.0","destroy":"~1.0.4","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","fresh":"0.5.0","http-errors":"~1.6.1","mime":"1.3.4","ms":"0.7.2","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.3.1"},"devDependencies":{"after":"0.8.2","eslint":"3.17.0","eslint-config-standard":"7.0.0","eslint-plugin-markdown":"1.0.0-beta.4","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"2.1.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"ea1748a3b3e00dbcbb0629cf368ced575c6ab7d6","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.15.1","_shasum":"8a02354c26e6f5cca700065f5f0cdeba90ec7b5f","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"8a02354c26e6f5cca700065f5f0cdeba90ec7b5f","tarball":"https://registry.npmjs.org/send/-/send-0.15.1.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/send-0.15.1.tgz_1488683436582_0.6725058956071734"},"directories":{}},"0.15.2":{"name":"send","version":"0.15.2","dependencies":{"debug":"2.6.4","depd":"~1.1.0","destroy":"~1.0.4","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","fresh":"0.5.0","http-errors":"~1.6.1","mime":"1.3.4","ms":"1.0.0","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.3.1"},"devDependencies":{"after":"0.8.2","eslint":"3.19.0","eslint-config-standard":"7.1.0","eslint-plugin-markdown":"1.0.0-beta.4","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"2.3.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"93b86b2cf38c986858cb389c560f483b74b07544","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.15.2","_shasum":"f91fab4403bcf87e716f70ceb5db2f578bdc17d6","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"f91fab4403bcf87e716f70ceb5db2f578bdc17d6","tarball":"https://registry.npmjs.org/send/-/send-0.15.2.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/send-0.15.2.tgz_1493182451670_0.7988206197042018"},"directories":{}},"0.15.3":{"name":"send","version":"0.15.3","dependencies":{"debug":"2.6.7","depd":"~1.1.0","destroy":"~1.0.4","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","fresh":"0.5.0","http-errors":"~1.6.1","mime":"1.3.4","ms":"2.0.0","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.3.1"},"devDependencies":{"after":"0.8.2","eslint":"3.19.0","eslint-config-standard":"7.1.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"2.3.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"a20f8f282bf392c610a07ec1fb042e33073dd3a2","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.15.3","_shasum":"5013f9f99023df50d1bd9892c19e3defd1d53309","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"5013f9f99023df50d1bd9892c19e3defd1d53309","tarball":"https://registry.npmjs.org/send/-/send-0.15.3.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/send-0.15.3.tgz_1494996875701_0.7597074673976749"},"directories":{}},"0.15.4":{"name":"send","version":"0.15.4","dependencies":{"debug":"2.6.8","depd":"~1.1.1","destroy":"~1.0.4","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.0","fresh":"0.5.0","http-errors":"~1.6.2","mime":"1.3.4","ms":"2.0.0","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.3.1"},"devDependencies":{"after":"0.8.2","eslint":"3.19.0","eslint-config-standard":"7.1.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"2.3.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"bad2a468e4ff38c13ffb5a113ce74ba9a812f804","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.15.4","_shasum":"985faa3e284b0273c793364a35c6737bd93905b9","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"985faa3e284b0273c793364a35c6737bd93905b9","tarball":"https://registry.npmjs.org/send/-/send-0.15.4.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/send-0.15.4.tgz_1501997109327_0.6382732526399195"},"directories":{}},"0.15.5":{"name":"send","version":"0.15.5","dependencies":{"debug":"2.6.8","depd":"~1.1.1","destroy":"~1.0.4","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.1","fresh":"0.5.2","http-errors":"~1.6.2","mime":"1.3.4","ms":"2.0.0","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.3.1"},"devDependencies":{"after":"0.8.2","eslint":"3.19.0","eslint-config-standard":"7.1.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"2.3.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"2d17fa124adc7f81f1d9bf4841fff42b674b8448","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.15.5","_shasum":"32ef6c8d820c9756597c3174b8c9dd51e3319be2","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"32ef6c8d820c9756597c3174b8c9dd51e3319be2","tarball":"https://registry.npmjs.org/send/-/send-0.15.5.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/send-0.15.5.tgz_1505961403259_0.7260283746290952"},"directories":{}},"0.15.6":{"name":"send","version":"0.15.6","dependencies":{"debug":"2.6.9","depd":"~1.1.1","destroy":"~1.0.4","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.1","fresh":"0.5.2","http-errors":"~1.6.2","mime":"1.3.4","ms":"2.0.0","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.3.1"},"devDependencies":{"after":"0.8.2","eslint":"3.19.0","eslint-config-standard":"7.1.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"2.3.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"8b080c8c4e127fe3dd41a758f06f6b15899b39ec","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.15.6","_shasum":"20f23a9c925b762ab82705fe2f9db252ace47e34","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"20f23a9c925b762ab82705fe2f9db252ace47e34","tarball":"https://registry.npmjs.org/send/-/send-0.15.6.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/send-0.15.6.tgz_1506119153076_0.4855279584880918"},"directories":{}},"0.16.0":{"name":"send","version":"0.16.0","dependencies":{"debug":"2.6.9","depd":"~1.1.1","destroy":"~1.0.4","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.1","fresh":"0.5.2","http-errors":"~1.6.2","mime":"1.4.1","ms":"2.0.0","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.3.1"},"devDependencies":{"after":"0.8.2","eslint":"3.19.0","eslint-config-standard":"10.2.1","eslint-plugin-import":"2.7.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-node":"5.1.1","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"b11c3a3feba4601e19885776c189b81ae763c7d5","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.16.0","_shasum":"16338dbb9a2ede4ad57b48420ec3b82d8e80a57b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"16338dbb9a2ede4ad57b48420ec3b82d8e80a57b","tarball":"https://registry.npmjs.org/send/-/send-0.16.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/send-0.16.0.tgz_1506559201485_0.3913189717568457"},"directories":{}},"0.16.1":{"name":"send","version":"0.16.1","dependencies":{"debug":"2.6.9","depd":"~1.1.1","destroy":"~1.0.4","encodeurl":"~1.0.1","escape-html":"~1.0.3","etag":"~1.8.1","fresh":"0.5.2","http-errors":"~1.6.2","mime":"1.4.1","ms":"2.0.0","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.3.1"},"devDependencies":{"after":"0.8.2","eslint":"3.19.0","eslint-config-standard":"10.2.1","eslint-plugin-import":"2.7.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-node":"5.2.0","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"3daa901cf731b86187e4449fa2c52f971e0b3dbc","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.16.1","_npmVersion":"5.3.0","_nodeVersion":"6.11.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==","shasum":"a70e1ca21d1382c11d0d9f6231deb281080d7ab3","tarball":"https://registry.npmjs.org/send/-/send-0.16.1.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/send-0.16.1.tgz_1506713804078_0.7579168814700097"},"directories":{}},"0.16.2":{"name":"send","version":"0.16.2","dependencies":{"debug":"2.6.9","depd":"~1.1.2","destroy":"~1.0.4","encodeurl":"~1.0.2","escape-html":"~1.0.3","etag":"~1.8.1","fresh":"0.5.2","http-errors":"~1.6.2","mime":"1.4.1","ms":"2.0.0","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.4.0"},"devDependencies":{"after":"0.8.2","eslint":"3.19.0","eslint-config-standard":"10.2.1","eslint-plugin-import":"2.8.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-node":"5.2.1","eslint-plugin-promise":"3.6.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"gitHead":"c378e25a4212eb0fff2c869cbf5d0d6606bbc389","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.16.2","_npmVersion":"5.6.0","_nodeVersion":"6.12.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==","shasum":"6ecca1e0f8c156d141597559848df64730a6bbc1","tarball":"https://registry.npmjs.org/send/-/send-0.16.2.tgz","fileCount":5,"unpackedSize":46571},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/send_0.16.2_1518020786249_0.2212788549628577"},"_hasShrinkwrap":false},"0.17.0":{"name":"send","version":"0.17.0","dependencies":{"debug":"2.6.9","depd":"~1.1.2","destroy":"~1.0.4","encodeurl":"~1.0.2","escape-html":"~1.0.3","etag":"~1.8.1","fresh":"0.5.2","http-errors":"~1.7.2","mime":"1.6.0","ms":"2.1.1","on-finished":"~2.3.0","range-parser":"~1.2.0","statuses":"~1.5.0"},"devDependencies":{"after":"0.8.2","eslint":"5.16.0","eslint-config-standard":"12.0.0","eslint-plugin-import":"2.17.2","eslint-plugin-markdown":"1.0.0","eslint-plugin-node":"8.0.1","eslint-plugin-promise":"4.1.1","eslint-plugin-standard":"4.0.0","istanbul":"0.4.5","mocha":"6.1.4","supertest":"4.0.2"},"gitHead":"0ef8f0cb8d8f3875f034d04d16db37a85f6150d8","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.17.0","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-NYR0jCuwnBaGA2X5bO3+QDZmmJ+PUCvFCRTED5nx9l/BK3Pr8mD8Ryvk9bw08JJUdXxt2u+tVIGoqJPrHWGqSA==","shasum":"6d190beaaf08c5cf7e325ded024f1a7cd934ed9a","tarball":"https://registry.npmjs.org/send/-/send-0.17.0.tgz","fileCount":5,"unpackedSize":48043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJczLPjCRA9TVsSAnZWagAAzrIP/30L3J0n3A7tIHr+BqYX\nvEBFSet7QNTYYmdiunNkEVZaiJtrJTRspaipTRtBrJw7Bmjhe9Fi5pvan3gi\nd1lLBQMWSfVJoSLAwpDtBzmq73e2QNs8e3tH9cmYNBX79oFKNa2CNoftiZtD\n1QMphhjmUD7Ead/YCS/lroNY2TvJjkOscsk7DiVFbu4YKGldqVDz/qLeQPV9\nMxpQcWkS0yKla9N8y4mrLBmEjKwKNsDiyWP5BJIhDWNLWcI3yICNpY3Z3pcz\n9X7VPZNMnpuFSpqZ37C/a5cfTjki0roBd4vGgNC4B72N+4MNF11HQzeMjNL1\neolCWtS6WDijOtUBuiV8+BHM4iElyDQ2PkelCM/23AXLC4wLxYH+JiLVsHNP\nm/gfHK7Y/Brr44r5zyKk4BP+HOgaRefzEPv0jJ+lkdH9N/R22Cw1yMn1FVZ0\nbRDCFlQyKRCbPgKIzEREGcU/3Z+KMbc8JDKs6RfCxQx5WXEjFKgx1aLM0inR\nIeBv/v6T+8Xjm6XbXZFNK5VOuP2ujKEjjK9JRp6lD3aJOe51XUzq/jwARnXr\n5h9adHpY4i55gxmBGKln/muQ3ADZG+bZp372JVT5nAJK83/Y4P0InuUrgoyj\nuVBSj+Fl5Xh1JP31D2aTEm3OAFUAKh2r8rn7qiAjevnByBC0X89EJTYzFiS6\nrNoQ\r\n=F+qh\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/send_0.17.0_1556919266756_0.33347645446552265"},"_hasShrinkwrap":false},"0.17.1":{"name":"send","version":"0.17.1","dependencies":{"debug":"2.6.9","depd":"~1.1.2","destroy":"~1.0.4","encodeurl":"~1.0.2","escape-html":"~1.0.3","etag":"~1.8.1","fresh":"0.5.2","http-errors":"~1.7.2","mime":"1.6.0","ms":"2.1.1","on-finished":"~2.3.0","range-parser":"~1.2.1","statuses":"~1.5.0"},"devDependencies":{"after":"0.8.2","eslint":"5.16.0","eslint-config-standard":"12.0.0","eslint-plugin-import":"2.17.2","eslint-plugin-markdown":"1.0.0","eslint-plugin-node":"8.0.1","eslint-plugin-promise":"4.1.1","eslint-plugin-standard":"4.0.0","istanbul":"0.4.5","mocha":"6.1.4","supertest":"4.0.2"},"gitHead":"de073ed3237ade9ff71c61673a34474b30e5d45b","homepage":"https://github.com/pillarjs/send#readme","_id":"send@0.17.1","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==","shasum":"c1d8b059f7900f7466dd4938bdc44e11ddb376c8","tarball":"https://registry.npmjs.org/send/-/send-0.17.1.tgz","fileCount":5,"unpackedSize":48173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1igoCRA9TVsSAnZWagAA4xIP/RwpQJfYKVcRmNymna4k\n8R7ZXHoC9MyoxLCBvNuzZ5uy/HCYYVgPR7ilzmDfDQInJZJOZUBiMXFBs413\ntyXBv5Y0kXVARuXPBcy/pH6cVCn5nFlOneEj+ntNo5mrFCJxysxCR9xfoG7o\nuKfVrPmKRVm7dLJBuJzPzjQZEL1b6GqV3+aMypBNdGwK8E53MgJodwdZQbvg\nixSOMJ1D0e9qY4afOZII9Ejpoxk3+bu5+UadK++vYtWFCh2REhd+dzpD8FTu\nAah/Ub1jt7WHb2rJNclhxh+DsiIwWukCIpJ1dsPSBTQ+MQjoAXNrJdVxnMcj\n7uwXW/7wRho0o5q59JfUH98zv0GeIYjfjLfhS8uHm43niDtvnTLKe3ZTJqVY\nMPQz71+VfaTE5rHKpyrHxEhj1MGKFwAGQbNtrhx2HVvtLMz+qNLAeCa6rUPR\n48U9yJ2HfEhlm+y08i43lEtdY+Sk5oNtG+Wk1PUUlPdbXW/Hma13ALXK57pP\n09Q8IZwbTGufeJnK2maVByHc+08GZ4FclVAd8h3pUeFxyK2MR9hbtlQx27sg\n4KXbizzUuPx4tO7qp9aa+oS8wS1qLn/BkrFJPKuzExvnnsrTttEc1S1LHbhg\nlVFT6U1oGpXQlLiBwbzotePJeFXcLZsxovN+NfCZT0csI83ivh5bREiUImkH\nIWSh\r\n=fsxk\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/send_0.17.1_1557538855803_0.6558032822355342"},"_hasShrinkwrap":false}},"time":{"modified":"2019-05-11T01:40:58.566Z","created":"2012-07-04T02:26:08.255Z","0.0.1":"2012-07-04T02:26:10.649Z","0.0.2":"2012-07-09T16:29:14.274Z","0.0.3":"2012-07-16T16:22:27.594Z","0.0.4":"2012-08-16T17:08:01.033Z","0.1.0":"2012-09-19T18:36:49.783Z","0.1.1":"2013-06-03T00:14:29.429Z","0.1.2":"2013-07-03T18:24:03.585Z","0.1.3":"2013-07-08T21:40:12.056Z","0.1.4":"2013-08-10T21:46:51.934Z","0.2.0":"2014-01-29T21:19:55.890Z","0.3.0":"2014-04-24T14:33:52.351Z","0.4.0":"2014-05-28T02:50:46.903Z","0.4.1":"2014-06-02T23:53:20.620Z","0.4.2":"2014-06-09T20:16:17.145Z","0.4.3":"2014-06-12T01:35:22.251Z","0.5.0":"2014-06-28T23:23:22.527Z","0.6.0":"2014-07-12T02:05:02.867Z","0.7.0":"2014-07-21T04:30:36.755Z","0.7.1":"2014-07-26T20:46:28.667Z","0.7.2":"2014-07-27T19:05:37.467Z","0.7.3":"2014-07-30T01:48:52.102Z","0.7.4":"2014-08-04T21:04:40.155Z","0.8.0":"2014-08-06T05:03:16.854Z","0.8.1":"2014-08-06T05:20:28.132Z","0.8.2":"2014-08-15T01:38:30.488Z","0.8.3":"2014-08-17T03:15:44.430Z","0.8.4":"2014-09-04T18:57:53.219Z","0.8.5":"2014-09-05T04:50:05.074Z","0.9.0":"2014-09-08T00:58:30.172Z","0.9.1":"2014-09-08T02:54:39.675Z","0.9.2":"2014-09-16T05:38:49.312Z","0.9.3":"2014-09-24T18:57:04.630Z","0.10.0":"2014-10-16T04:06:01.941Z","0.10.1":"2014-10-23T02:00:08.239Z","0.11.0":"2015-01-05T22:41:38.413Z","0.11.1":"2015-01-20T16:27:08.360Z","0.12.0":"2015-02-16T23:44:30.552Z","0.12.1":"2015-02-17T17:47:24.752Z","0.12.2":"2015-03-14T05:50:18.656Z","0.12.3":"2015-05-13T15:11:33.838Z","0.13.0":"2015-06-17T01:48:02.477Z","0.13.1":"2016-01-16T07:41:37.163Z","0.13.2":"2016-03-06T04:26:29.707Z","0.14.0":"2016-06-07T01:09:13.081Z","0.14.1":"2016-06-10T05:03:58.643Z","0.14.2":"2017-01-23T15:29:43.221Z","0.15.0":"2017-02-25T22:44:48.725Z","0.15.1":"2017-03-05T03:10:38.679Z","0.15.2":"2017-04-26T04:54:13.689Z","0.15.3":"2017-05-17T04:54:36.978Z","0.15.4":"2017-08-06T05:25:10.510Z","0.15.5":"2017-09-21T02:36:44.305Z","0.15.6":"2017-09-22T22:25:54.154Z","0.16.0":"2017-09-28T00:40:02.604Z","0.16.1":"2017-09-29T19:36:45.181Z","0.16.2":"2018-02-07T16:26:27.070Z","0.17.0":"2019-05-03T21:34:26.929Z","0.17.1":"2019-05-11T01:40:56.003Z"},"readmeFilename":"README.md","homepage":"https://github.com/pillarjs/send#readme"} \ No newline at end of file diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/serve-static.json b/lib/manager/npm/update/locked-dependency/__fixtures__/serve-static.json new file mode 100644 index 0000000000000000000000000000000000000000..d0acc76a1c0a6b2f875b37ffa63efb4bdd6bcf4f --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/__fixtures__/serve-static.json @@ -0,0 +1 @@ +{"_id":"serve-static","_rev":"246-2c374ef23701f73c615acc51b399c5a5","name":"serve-static","dist-tags":{"latest":"1.14.1"},"versions":{"1.0.0":{"name":"serve-static","version":"1.0.0","dependencies":{"send":"0.1.4"},"devDependencies":{"connect":"^2.13.0","mocha":"^1.17.0","should":"^3.0.0","supertest":"~0.9.0"},"_id":"serve-static@1.0.0","dist":{"shasum":"98efa31e6ae767b233bc44c77bd29140b2d31c6f","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.0.0.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.0.1":{"name":"serve-static","version":"1.0.1","dependencies":{"send":"0.1.4"},"devDependencies":{"connect":"^2.13.0","mocha":"^1.17.0","should":"^3.0.0","supertest":"~0.9.0"},"_id":"serve-static@1.0.1","dist":{"shasum":"10dcbfd44b3e0291a131fc9ab4ab25a9f5a78a42","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.0.1.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.0.2":{"name":"serve-static","version":"1.0.2","dependencies":{"send":"0.2.0"},"devDependencies":{"connect":"^2.13.0","mocha":"^1.17.0","should":"^3.0.0","supertest":"~0.9.0"},"_id":"serve-static@1.0.2","dist":{"shasum":"4129f6727b09fb031134fa6d185683e30bfbef54","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.0.2.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.0.3":{"name":"serve-static","version":"1.0.3","dependencies":{"send":"0.2.0"},"devDependencies":{"connect":"~2.14.1","mocha":"~1.17.1","should":"~3.1.3","supertest":"~0.9.0"},"_id":"serve-static@1.0.3","dist":{"shasum":"3443a4002fb50d7fa0a777bb53103301e4d0c38a","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.0.3.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.0.4":{"name":"serve-static","version":"1.0.4","dependencies":{"parseurl":"1.0.1","send":"0.2.0"},"devDependencies":{"connect":"~2.14.1","mocha":"~1.18.2","should":"~3.3.0","supertest":"~0.10.0"},"homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.0.4","dist":{"shasum":"426fedebe77bad21f373f1efcae09746639fba06","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.0.4.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.1.0":{"name":"serve-static","version":"1.1.0","dependencies":{"parseurl":"1.0.1","send":"0.3.0"},"devDependencies":{"connect":"~2.14.1","mocha":"~1.18.2","should":"~3.3.0","supertest":"~0.11.0"},"homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.1.0","dist":{"shasum":"454dfa05bb3ddd4e701a8915b83a278aa91c5643","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.1.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.2.0":{"name":"serve-static","version":"1.2.0","dependencies":{"parseurl":"1.0.1","send":"0.4.0"},"devDependencies":{"connect":"~2.14.1","mocha":"~1.18.2","should":"~3.3.0","supertest":"~0.11.0"},"homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.2.0","dist":{"shasum":"b711bde722cad70686c1add385c6020bcdb7d295","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.2.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.2.1":{"name":"serve-static","version":"1.2.1","dependencies":{"escape-html":"1.0.1","parseurl":"1.0.1","send":"0.4.1"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.2.1","_shasum":"a800a9de23dbd1ffb1258edb986128ee4a4ea03d","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"a800a9de23dbd1ffb1258edb986128ee4a4ea03d","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.2.1.tgz"},"directories":{}},"1.2.2":{"name":"serve-static","version":"1.2.2","dependencies":{"escape-html":"1.0.1","parseurl":"1.0.1","send":"0.4.2"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.2.2","dist":{"shasum":"6ffc6c23fad03bcd0710eceda844123bd71bc951","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.2.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.2.3":{"name":"serve-static","version":"1.2.3","dependencies":{"escape-html":"1.0.1","parseurl":"1.0.1","send":"0.4.3"},"devDependencies":{"istanbul":"0.2.10","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"9b62eb425f96e421e324cbe23552c214153d6034","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.2.3","_shasum":"93cecbc340f079ecb8589281d1dc31c26c0cd158","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"93cecbc340f079ecb8589281d1dc31c26c0cd158","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.2.3.tgz"},"directories":{}},"1.3.0":{"name":"serve-static","version":"1.3.0","dependencies":{"escape-html":"1.0.1","parseurl":"1.0.1","send":"0.5.0"},"devDependencies":{"istanbul":"0.2.13","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.3.0","dist":{"shasum":"0aba0b27c1b8264eee1a3f9c615886738d9727cb","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.3.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.3.1":{"name":"serve-static","version":"1.3.1","dependencies":{"escape-html":"1.0.1","parseurl":"~1.1.3","send":"0.5.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.3.1","dist":{"shasum":"95489d1bcf491d54350d5aeeb2cca53cd3b12d4f","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.3.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.3.2":{"name":"serve-static","version":"1.3.2","dependencies":{"escape-html":"1.0.1","parseurl":"~1.1.3","send":"0.6.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.3.2","dist":{"shasum":"d904a6cbf55f511c78138f6f45ee6e69d9d105ca","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.3.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.4.0":{"name":"serve-static","version":"1.4.0","dependencies":{"escape-html":"1.0.1","parseurl":"~1.2.0","send":"0.7.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.20.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.4.0","dist":{"shasum":"03c6608035158e3bb999129d9793cddc7e0db772","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.4.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.4.1":{"name":"serve-static","version":"1.4.1","dependencies":{"escape-html":"1.0.1","parseurl":"~1.2.0","send":"0.7.1"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.4.1","dist":{"shasum":"6814dc11c575db0394883af5ec2202ff989491b6","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.4.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.4.2":{"name":"serve-static","version":"1.4.2","dependencies":{"escape-html":"1.0.1","parseurl":"~1.2.0","send":"0.7.2"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.4.2","dist":{"shasum":"0153b12368318402827aad902d0f124e79145092","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.4.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.4.3":{"name":"serve-static","version":"1.4.3","dependencies":{"escape-html":"1.0.1","parseurl":"~1.2.0","send":"0.7.3"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.4.3","dist":{"shasum":"9f08c7dea1b15e2eb1382ae0e12b8a0de295de52","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.4.3.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.4.4":{"name":"serve-static","version":"1.4.4","dependencies":{"escape-html":"1.0.1","parseurl":"~1.2.0","send":"0.7.4"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"90b8f98c641a4c26854754e405365b1d5a388e31","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.4.4","_shasum":"9dc99f37a2c5e28cda2fe6045114620a62032f29","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"9dc99f37a2c5e28cda2fe6045114620a62032f29","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.4.4.tgz"},"directories":{}},"1.5.0":{"name":"serve-static","version":"1.5.0","dependencies":{"escape-html":"1.0.1","parseurl":"~1.2.0","send":"0.8.1"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"b292a569848a3a7f60f6c87eabc87780c0954311","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.5.0","_shasum":"c0f19e3cb9bef0203258db282a3ddda9cb8e675c","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"c0f19e3cb9bef0203258db282a3ddda9cb8e675c","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.5.0.tgz"},"directories":{}},"1.5.1":{"name":"serve-static","version":"1.5.1","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.8.1","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"e9df84943e8104ca3cdbf75096964bbfedd3b180","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.5.1","_shasum":"86185e202015641a1f962447f5695605cd8aa9c2","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"86185e202015641a1f962447f5695605cd8aa9c2","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.5.1.tgz"},"directories":{}},"1.5.2":{"name":"serve-static","version":"1.5.2","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.8.2","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"72f7362176cf62172617cd795d6c94b295f0c610","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.5.2","_shasum":"565d369193a075edac7fa973550d88df154f7b66","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"565d369193a075edac7fa973550d88df154f7b66","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.5.2.tgz"},"directories":{}},"1.5.3":{"name":"serve-static","version":"1.5.3","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.8.3","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"gitHead":"7c237ec83ee199d181b5abfeab2ee986c1394dde","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.5.3","_shasum":"2e28efa5899686fd3ccdb97a80aa464002244581","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"2e28efa5899686fd3ccdb97a80aa464002244581","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.5.3.tgz"},"directories":{}},"1.5.4":{"name":"serve-static","version":"1.5.4","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.8.5","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"8f3185f75261cc7b2e87c04cf1377e154bdae1a7","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.5.4","_shasum":"819fb37ae46bd02dd520b77fcf7fd8f5112f9782","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"819fb37ae46bd02dd520b77fcf7fd8f5112f9782","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.5.4.tgz"},"directories":{}},"1.6.0":{"name":"serve-static","version":"1.6.0","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.9.0","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"229f5486e87518ee88b4fd0c5563e02126032121","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.6.0","_shasum":"283f43b9051293691ab4979bf2e09b4482517677","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"283f43b9051293691ab4979bf2e09b4482517677","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.6.0.tgz"},"directories":{}},"1.6.1":{"name":"serve-static","version":"1.6.1","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.9.1","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"8c96c3815cd0c96cbe8af68f303c2d36189d3b88","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.6.1","_shasum":"2f257563afbe931d28cee4aa3dfeddc975a87193","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"2f257563afbe931d28cee4aa3dfeddc975a87193","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.6.1.tgz"},"directories":{}},"1.6.2":{"name":"serve-static","version":"1.6.2","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.9.2","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"7053ce75b7091a891d3bcb88a2b19b1b0692396c","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.6.2","_shasum":"c1390ff43941867250296b091391d25be7c87571","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"c1390ff43941867250296b091391d25be7c87571","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.6.2.tgz"},"directories":{}},"1.6.3":{"name":"serve-static","version":"1.6.3","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.9.3","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.13.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"14deeaf397728ee25119bf340eeb37e14ab620b3","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.6.3","_shasum":"b214235d4d4516db050ea9f7b429b46212e79132","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"b214235d4d4516db050ea9f7b429b46212e79132","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.6.3.tgz"},"directories":{}},"1.6.4":{"name":"serve-static","version":"1.6.4","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.9.3","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.14.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"f1308134d21aeaf5849a3d41c3a04b1779819f3c","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.6.4","_shasum":"c512e4188d7a9366672db24e40d294f0c6212367","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"c512e4188d7a9366672db24e40d294f0c6212367","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.6.4.tgz"},"directories":{}},"1.7.0":{"name":"serve-static","version":"1.7.0","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.10.0","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.5","should":"~4.0.0","supertest":"~0.14.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"25a23406b3447d7bc5af283f158da7c4ad05ba03","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.7.0","_shasum":"af2ad4e619fa2d46dcd19dd59e3b034c92510e4d","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"af2ad4e619fa2d46dcd19dd59e3b034c92510e4d","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.7.0.tgz"},"directories":{}},"1.7.1":{"name":"serve-static","version":"1.7.1","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.10.1","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.2","mocha":"~2.0.0","should":"~4.1.0","supertest":"~0.14.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"61f59894e6a3d41532383ca440a395772bcdc8ed","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.7.1","_shasum":"6ea54d5ba7ef563f00e5fad25d0e4f5307e9809b","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"6ea54d5ba7ef563f00e5fad25d0e4f5307e9809b","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.7.1.tgz"},"directories":{}},"1.7.2":{"name":"serve-static","version":"1.7.2","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.10.1","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.5","mocha":"~2.1.0","supertest":"~0.15.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"40f88bd0269cd4f4ffcb52bded570ad57e4b56ba","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.7.2","_shasum":"3164ce06d4e6c3459bdcc9d6018fb4fb35e84b39","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"3164ce06d4e6c3459bdcc9d6018fb4fb35e84b39","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.7.2.tgz"},"directories":{}},"1.8.0":{"name":"serve-static","version":"1.8.0","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.11.0","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.5","mocha":"~2.1.0","supertest":"~0.15.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"dadd5479f4316a1201817c6b39be67e2417f3a51","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.8.0","_shasum":"239e57bbfce030a8933d274e3fe7b55492ea267c","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"239e57bbfce030a8933d274e3fe7b55492ea267c","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.8.0.tgz"},"directories":{}},"1.8.1":{"name":"serve-static","version":"1.8.1","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.11.1","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.5","mocha":"~2.1.0","supertest":"~0.15.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"5a47eff4e550f30a7a1e5fb87c8656a1b8dbb249","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.8.1","_shasum":"08fabd39999f050fc311443f46d5888a77ecfc7c","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"08fabd39999f050fc311443f46d5888a77ecfc7c","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.8.1.tgz"},"directories":{}},"1.6.5":{"name":"serve-static","version":"1.6.5","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.9.3","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.0","should":"~4.0.0","supertest":"~0.14.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"07632f27cd7690f516f4f4994279cde4ad6c01d5","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.6.5","_shasum":"aca17e0deac4a87729f6078781b7d27f63aa3d9c","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"aca17e0deac4a87729f6078781b7d27f63aa3d9c","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.6.5.tgz"},"directories":{}},"1.9.0":{"name":"serve-static","version":"1.9.0","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.12.0","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.5","mocha":"~2.1.0","supertest":"~0.15.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"0909dce1eec7dd5cf0cc29ebc9deb3ea1fb56636","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.9.0","_shasum":"d304085813ee0a9b3e1c068c9062a56ad8424b44","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"d304085813ee0a9b3e1c068c9062a56ad8424b44","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.9.0.tgz"},"directories":{}},"1.9.1":{"name":"serve-static","version":"1.9.1","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.12.1","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.5","mocha":"~2.1.0","supertest":"~0.15.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"8cce88d079c19cb8ace548f60bd216622de993e1","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.9.1","_shasum":"a611b2b8a2cfb5f89685f293cb365f3f5eb61451","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"a611b2b8a2cfb5f89685f293cb365f3f5eb61451","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.9.1.tgz"},"directories":{}},"1.9.2":{"name":"serve-static","version":"1.9.2","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.12.2","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.7","mocha":"~2.2.1","supertest":"~0.15.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"6446e1c45de75f143b36ce60dd75c4daf52d2376","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.9.2","_shasum":"069fa32453557b218ec2e39140c82d8905d5672c","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"069fa32453557b218ec2e39140c82d8905d5672c","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.9.2.tgz"},"directories":{}},"1.9.3":{"name":"serve-static","version":"1.9.3","dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.12.3","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.9","mocha":"2.2.5","supertest":"1.0.1"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"c76d20a9f51a15a467eab2b0610e5de60506dfbc","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.9.3","_shasum":"5f8da07323ad385ff3dc541f1a7917b2e436eb57","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"5f8da07323ad385ff3dc541f1a7917b2e436eb57","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.9.3.tgz"},"directories":{}},"1.10.0":{"name":"serve-static","version":"1.10.0","dependencies":{"escape-html":"1.0.2","parseurl":"~1.3.0","send":"0.13.0"},"devDependencies":{"istanbul":"0.3.9","mocha":"2.2.5","supertest":"1.0.1"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"856c5e0f796a8988525c356018594bfb8c51a4fa","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.10.0","_shasum":"be632faa685820e4a43ed3df1379135cc4f370d7","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"be632faa685820e4a43ed3df1379135cc4f370d7","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.10.0.tgz"},"directories":{}},"1.10.1":{"name":"serve-static","version":"1.10.1","dependencies":{"escape-html":"~1.0.3","parseurl":"~1.3.0","send":"0.13.1"},"devDependencies":{"istanbul":"0.4.2","mocha":"2.3.4","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"8a5da6bf09f515323fd4a669b8f8074762bdf678","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.10.1","_shasum":"7f80024368d7fcd7975d0c38844ec5d9b2c43ac4","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"7f80024368d7fcd7975d0c38844ec5d9b2c43ac4","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.10.1.tgz"},"directories":{}},"1.10.2":{"name":"serve-static","version":"1.10.2","dependencies":{"escape-html":"~1.0.3","parseurl":"~1.3.1","send":"0.13.1"},"devDependencies":{"istanbul":"0.4.2","mocha":"2.3.4","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"aec36c897a33c6c2421fa41cc4947042d67332f6","homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.10.2","_shasum":"feb800d0e722124dd0b00333160c16e9caa8bcb3","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"feb800d0e722124dd0b00333160c16e9caa8bcb3","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.10.2.tgz"},"directories":{}},"1.10.3":{"name":"serve-static","version":"1.10.3","dependencies":{"escape-html":"~1.0.3","parseurl":"~1.3.1","send":"0.13.2"},"devDependencies":{"eslint":"2.11.1","eslint-config-standard":"5.3.1","eslint-plugin-promise":"1.3.1","eslint-plugin-standard":"1.3.2","istanbul":"0.4.3","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"8be028d005967471832109d777daa4b45bd1948b","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.10.3","_shasum":"ce5a6ecd3101fed5ec09827dac22a9c29bfb0535","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"ce5a6ecd3101fed5ec09827dac22a9c29bfb0535","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/serve-static-1.10.3.tgz_1464664781274_0.7150349044241011"},"directories":{}},"1.11.0":{"name":"serve-static","version":"1.11.0","dependencies":{"escape-html":"~1.0.3","parseurl":"~1.3.1","send":"0.14.0"},"devDependencies":{"eslint":"2.11.1","eslint-config-standard":"5.3.1","eslint-plugin-promise":"1.3.2","eslint-plugin-standard":"1.3.2","istanbul":"0.4.3","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"28022afd11828493521162287b550a508f60769f","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.11.0","_shasum":"dbe5fb4e4b63d4d11a824b5be3f368907e675bba","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"dbe5fb4e4b63d4d11a824b5be3f368907e675bba","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.11.0.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/serve-static-1.11.0.tgz_1465366666509_0.32959614507853985"},"directories":{}},"1.11.1":{"name":"serve-static","version":"1.11.1","dependencies":{"encodeurl":"~1.0.1","escape-html":"~1.0.3","parseurl":"~1.3.1","send":"0.14.1"},"devDependencies":{"eslint":"2.11.1","eslint-config-standard":"5.3.1","eslint-plugin-promise":"1.3.2","eslint-plugin-standard":"1.3.2","istanbul":"0.4.3","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"b3a24df138ea2f2c43afcbee0dcce5badf4c78ae","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.11.1","_shasum":"d6cce7693505f733c759de57befc1af76c0f0805","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"d6cce7693505f733c759de57befc1af76c0f0805","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.11.1.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/serve-static-1.11.1.tgz_1465608601758_0.0030737747438251972"},"directories":{}},"1.11.2":{"name":"serve-static","version":"1.11.2","dependencies":{"encodeurl":"~1.0.1","escape-html":"~1.0.3","parseurl":"~1.3.1","send":"0.14.2"},"devDependencies":{"eslint":"3.14.0","eslint-config-standard":"6.2.1","eslint-plugin-promise":"3.4.0","eslint-plugin-standard":"2.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"01f2a83d7456ef03a89e8c951c757dd79ae92522","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.11.2","_shasum":"2cf9889bd4435a320cc36895c9aa57bd662e6ac7","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"2cf9889bd4435a320cc36895c9aa57bd662e6ac7","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.11.2.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/serve-static-1.11.2.tgz_1485190261958_0.8670230756979436"},"directories":{}},"1.12.0":{"name":"serve-static","version":"1.12.0","dependencies":{"encodeurl":"~1.0.1","escape-html":"~1.0.3","parseurl":"~1.3.1","send":"0.15.0"},"devDependencies":{"eslint":"3.16.1","eslint-config-standard":"6.2.1","eslint-plugin-markdown":"1.0.0-beta.3","eslint-plugin-promise":"3.4.0","eslint-plugin-standard":"2.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"f75f96908b3b4add99352a59af13560859a1b10a","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.12.0","_shasum":"150eb8aa262c2dd1924e960373145446c069dad6","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"150eb8aa262c2dd1924e960373145446c069dad6","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.12.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/serve-static-1.12.0.tgz_1488068897344_0.12889141752384603"},"directories":{}},"1.12.1":{"name":"serve-static","version":"1.12.1","dependencies":{"encodeurl":"~1.0.1","escape-html":"~1.0.3","parseurl":"~1.3.1","send":"0.15.1"},"devDependencies":{"eslint":"3.17.0","eslint-config-standard":"7.0.0","eslint-plugin-markdown":"1.0.0-beta.4","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"2.1.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"3e6e778fcf6c88dcf659b8f1d5f06be2eebbe2db","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.12.1","_shasum":"7443a965e3ced647aceb5639fa06bf4d1bbe0039","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"7443a965e3ced647aceb5639fa06bf4d1bbe0039","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.12.1.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/serve-static-1.12.1.tgz_1488686352386_0.390035341726616"},"directories":{}},"1.12.2":{"name":"serve-static","version":"1.12.2","dependencies":{"encodeurl":"~1.0.1","escape-html":"~1.0.3","parseurl":"~1.3.1","send":"0.15.2"},"devDependencies":{"eslint":"3.19.0","eslint-config-standard":"10.2.1","eslint-plugin-import":"2.2.0","eslint-plugin-markdown":"1.0.0-beta.4","eslint-plugin-node":"4.2.2","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"cb296b7ddfa869590d5ce0acb3f4a96b66f1d2b7","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.12.2","_shasum":"e546e2726081b81b4bcec8e90808ebcdd323afba","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"e546e2726081b81b4bcec8e90808ebcdd323afba","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.12.2.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/serve-static-1.12.2.tgz_1493262384444_0.37266619759611785"},"directories":{}},"1.12.3":{"name":"serve-static","version":"1.12.3","dependencies":{"encodeurl":"~1.0.1","escape-html":"~1.0.3","parseurl":"~1.3.1","send":"0.15.3"},"devDependencies":{"eslint":"3.19.0","eslint-config-standard":"10.2.1","eslint-plugin-import":"2.2.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-node":"4.2.2","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"281475f89cf5b3f4801ed4e5767fce7b0976e411","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.12.3","_shasum":"9f4ba19e2f3030c547f8af99107838ec38d5b1e2","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"9f4ba19e2f3030c547f8af99107838ec38d5b1e2","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/serve-static-1.12.3.tgz_1494998781756_0.8577500546816736"},"directories":{}},"1.12.4":{"name":"serve-static","version":"1.12.4","dependencies":{"encodeurl":"~1.0.1","escape-html":"~1.0.3","parseurl":"~1.3.1","send":"0.15.4"},"devDependencies":{"eslint":"3.19.0","eslint-config-standard":"10.2.1","eslint-plugin-import":"2.6.1","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-node":"5.1.0","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"c16b4d1c2c7bc1aaf76194187f087549b63bf2f9","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.12.4","_shasum":"9b6aa98eeb7253c4eedc4c1f6fdbca609901a961","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"9b6aa98eeb7253c4eedc4c1f6fdbca609901a961","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.12.4.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-static-1.12.4.tgz_1501998894621_0.48076217574998736"},"directories":{}},"1.12.5":{"name":"serve-static","version":"1.12.5","dependencies":{"encodeurl":"~1.0.1","escape-html":"~1.0.3","parseurl":"~1.3.2","send":"0.15.5"},"devDependencies":{"eslint":"3.19.0","eslint-config-standard":"10.2.1","eslint-plugin-import":"2.7.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-node":"5.1.1","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"afd17c3a6ffe81085e606b89d103959a6dc1ef19","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.12.5","_shasum":"693a54118216f0310105c7180e5fdd6a50f654a5","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"693a54118216f0310105c7180e5fdd6a50f654a5","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.12.5.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-static-1.12.5.tgz_1506036076569_0.7109229087363929"},"directories":{}},"1.12.6":{"name":"serve-static","version":"1.12.6","dependencies":{"encodeurl":"~1.0.1","escape-html":"~1.0.3","parseurl":"~1.3.2","send":"0.15.6"},"devDependencies":{"eslint":"3.19.0","eslint-config-standard":"10.2.1","eslint-plugin-import":"2.7.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-node":"5.1.1","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"843d1eabfdef46396c4f6d59d19a955f14574aaa","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.12.6","_shasum":"b973773f63449934da54e5beba5e31d9f4211577","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"b973773f63449934da54e5beba5e31d9f4211577","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.12.6.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-static-1.12.6.tgz_1506126249562_0.78251140168868"},"directories":{}},"1.13.0":{"name":"serve-static","version":"1.13.0","dependencies":{"encodeurl":"~1.0.1","escape-html":"~1.0.3","parseurl":"~1.3.2","send":"0.16.0"},"devDependencies":{"eslint":"3.19.0","eslint-config-standard":"10.2.1","eslint-plugin-import":"2.7.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-node":"5.1.1","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"1c58cfdd2ab8bee9ed5d37bb5b54047f839349ed","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.13.0","_shasum":"810c91db800e94ba287eae6b4e06caab9fdc16f1","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"810c91db800e94ba287eae6b4e06caab9fdc16f1","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.13.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-static-1.13.0.tgz_1506561074296_0.6352248503826559"},"directories":{}},"1.13.1":{"name":"serve-static","version":"1.13.1","dependencies":{"encodeurl":"~1.0.1","escape-html":"~1.0.3","parseurl":"~1.3.2","send":"0.16.1"},"devDependencies":{"eslint":"3.19.0","eslint-config-standard":"10.2.1","eslint-plugin-import":"2.7.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-node":"5.2.0","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"f6f76136aa967f917886730c57efd4c9d3bc12f7","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.13.1","_npmVersion":"5.3.0","_nodeVersion":"6.11.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==","shasum":"4c57d53404a761d8f2e7c1e8a18a47dbf278a719","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-static-1.13.1.tgz_1506715867957_0.268530584173277"},"directories":{}},"1.13.2":{"name":"serve-static","version":"1.13.2","dependencies":{"encodeurl":"~1.0.2","escape-html":"~1.0.3","parseurl":"~1.3.2","send":"0.16.2"},"devDependencies":{"eslint":"3.19.0","eslint-config-standard":"10.2.1","eslint-plugin-import":"2.8.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-node":"5.2.1","eslint-plugin-promise":"3.6.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"2.5.3","supertest":"1.1.0"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"f287bd6c26ad2bfd0422c533b0358f2f4b16f7db","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.13.2","_npmVersion":"5.6.0","_nodeVersion":"6.12.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==","shasum":"095e8472fd5b46237db50ce486a43f4b86c6cec1","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz","fileCount":5,"unpackedSize":24364},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-static_1.13.2_1518028719917_0.8918243597229449"},"_hasShrinkwrap":false},"1.14.0":{"name":"serve-static","version":"1.14.0","dependencies":{"encodeurl":"~1.0.2","escape-html":"~1.0.3","parseurl":"~1.3.3","send":"0.17.0"},"devDependencies":{"eslint":"5.16.0","eslint-config-standard":"12.0.0","eslint-plugin-import":"2.17.2","eslint-plugin-markdown":"1.0.0","eslint-plugin-node":"8.0.1","eslint-plugin-promise":"4.1.1","eslint-plugin-standard":"4.0.0","istanbul":"0.4.5","mocha":"6.1.4","safe-buffer":"5.1.2","supertest":"4.0.2"},"gitHead":"a8918403e423da80993ecafdec5709d75e06e6c2","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.14.0","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-Kg15ayeXWLhAE5T9adD3xGcEHchIZsDUExIIfSTOzg6kgmIa86NP8NpuOAYKLbPEYU1OQ+KCQrtKh8AG3h7KAQ==","shasum":"fad67e9f36d8c670b93fffd0586afe634f6c88a5","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.14.0.tgz","fileCount":5,"unpackedSize":24749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0k4NCRA9TVsSAnZWagAA7mkQAI7fJzKb8h9eZnXTjYY8\nZTg81cXUpO2bJnIx7ZQkiyL4KQaO62FVuVF/T0l2fAuaqE9MqUWVFGuqyYN7\nu0ZO2vHCf3SZqqNxdBw+xMFD8mIHHyCsAy1se1TyI1yXpo9nbuh5a5aCL4Tm\n0Ly+NazfLOtu/YX7JUj2qwI0BscPJuWB6sUiOZC1pQshiGmOomAbrD/6s7nr\nDkFMFSs5B6/GpiYkh5gHh+JI2NXFxzxciUpHcq2Ef0G5sDbPt3I1p+tuL/EV\noI9lugHSRh6P5hyB9M60a+SeQAS4sRea77VigXNjotHUw7krTUgVA4+pJUdA\no4fEAJg0+rxUK6SEcI4vADXDqRU1CG7FQBgYle+wJdp3IwbEWd47sfZE1ZIW\nVXgK5HWU9+Di8TCTSasM8JSiwqsIJZTL3C3Q2R0Jilsw8JE8EIsgrx/gSlyM\nXnWa/JWRVpj/w64IGf+gH2nl36B9Y938bjaTKMEYxiHpWnu9Yl0yWixsD3kw\nOSyoLv1ZvGLml4u6g+EzCsRup8pZOtT2+TJFI0IHsVYbskdTAE7q5H6R0Ra0\nlwqgdqMdS83Bf80wc/B6XRH5ZJINxWglV6kUfiOMp3Y2dBt83aiePOqsaOKI\nQKHrB1EtbjNjez0YVrqGH0rVsCenXD6pu5YHkO1Hg3YsoTUEeMzyET0AQ6tJ\nHaMq\r\n=44Cy\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-static_1.14.0_1557286413079_0.3223911248244453"},"_hasShrinkwrap":false},"1.14.1":{"name":"serve-static","version":"1.14.1","dependencies":{"encodeurl":"~1.0.2","escape-html":"~1.0.3","parseurl":"~1.3.3","send":"0.17.1"},"devDependencies":{"eslint":"5.16.0","eslint-config-standard":"12.0.0","eslint-plugin-import":"2.17.2","eslint-plugin-markdown":"1.0.0","eslint-plugin-node":"8.0.1","eslint-plugin-promise":"4.1.1","eslint-plugin-standard":"4.0.0","istanbul":"0.4.5","mocha":"6.1.4","safe-buffer":"5.1.2","supertest":"4.0.2"},"gitHead":"94feedb81682f4503ed9f8dc6d51a5c1b9bfa091","homepage":"https://github.com/expressjs/serve-static#readme","_id":"serve-static@1.14.1","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==","shasum":"666e636dc4f010f7ef29970a88a674320898b2f9","tarball":"https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz","fileCount":5,"unpackedSize":24894,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1kQ5CRA9TVsSAnZWagAATzwP/j3OHYbfRHaSzvx+7R9w\nS65ncOxHfuv8DsFQRCJsWmkq1+px8WBIRCZiPePbZC4U/bH9ZnOSycKOWEn9\nc+YAWpOvR+JGFJjMI2KFn3kQgb//WFnD6Hg2d1wY9CeIGp5wfhyDpf7sl1oZ\n9MByAaTfHBxc46eoZ5w2drm7XlOseA5rk8r12NeN7q5JVVRJuPUS2k3Xu+sM\n4vv95+kKz9K4kNLxKfBxK28DNKk1zbtvfade6fMi24YfWVSJO+eiQZ2pCXXf\nx5I31i7gE6RMM2ijr/mwCsZn4zGMzWhnRgejTxEIQeEGm5skMP8MfeobUNon\nRb/XABMEAhWwYBssPwOccjlBPy+iK5KYxSihx28uIj++yreQIWqjdHaqeq7j\nZPdUitvLTfZ3PNCKwtjYqfbKQXZhGlMoT0fOIHYm7KXT2RRwi8XyZVR607xT\nBZVksFpf3K7uuoRWowRohNTpNRJZI90sUm08IBV3iL6XtJg4Rb/iGZCOUHnJ\nEcPKmQZxPKE/Af//RTqBQAOSfYSCoHrWzI7M07JEuGHsQSXB1eeXtZkVirqd\n9i9kSN/u1j7UMj6ml2OJTcH4mchvkPYTS+I+ailnzEPqyaXVZvYCOGTZ4OAl\ng5lKaWEDeYxdg2FwjWKRQCU39kaV7Ia47fTY0sDGfqXREPyJ3ZyhuMrBKHac\nMTiw\r\n=GE2J\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serve-static_1.14.1_1557546040326_0.1307430777112919"},"_hasShrinkwrap":false}},"time":{"modified":"2019-05-11T03:40:43.146Z","created":"2014-03-06T03:09:28.171Z","1.0.0":"2014-03-06T03:09:32.347Z","1.0.1":"2014-03-06T03:26:54.332Z","1.0.2":"2014-03-06T15:03:41.948Z","1.0.3":"2014-03-20T18:09:49.893Z","1.0.4":"2014-04-07T17:01:58.608Z","1.1.0":"2014-04-24T18:06:17.300Z","1.2.0":"2014-05-29T17:11:02.362Z","1.2.1":"2014-06-03T00:43:02.047Z","1.2.2":"2014-06-09T20:42:02.880Z","1.2.3":"2014-06-12T01:46:13.711Z","1.3.0":"2014-06-29T00:35:07.395Z","1.3.1":"2014-07-09T19:56:13.955Z","1.3.2":"2014-07-12T02:45:11.917Z","1.4.0":"2014-07-22T02:36:40.493Z","1.4.1":"2014-07-26T20:51:44.572Z","1.4.2":"2014-07-27T19:17:05.102Z","1.4.3":"2014-07-30T01:57:08.348Z","1.4.4":"2014-08-04T21:12:30.992Z","1.5.0":"2014-08-06T05:23:58.966Z","1.5.1":"2014-08-10T03:49:14.868Z","1.5.2":"2014-08-15T01:44:34.666Z","1.5.3":"2014-08-17T17:58:22.850Z","1.5.4":"2014-09-05T05:06:27.532Z","1.6.0":"2014-09-08T01:55:54.182Z","1.6.1":"2014-09-08T02:59:37.793Z","1.6.2":"2014-09-16T05:51:48.663Z","1.6.3":"2014-09-24T20:03:28.791Z","1.6.4":"2014-10-08T17:05:20.120Z","1.7.0":"2014-10-16T04:15:43.659Z","1.7.1":"2014-10-23T04:20:01.443Z","1.7.2":"2015-01-03T04:35:34.564Z","1.8.0":"2015-01-06T04:17:27.572Z","1.8.1":"2015-01-21T05:04:38.586Z","1.6.5":"2015-02-04T22:19:40.440Z","1.9.0":"2015-02-17T00:46:14.214Z","1.9.1":"2015-02-17T19:01:22.984Z","1.9.2":"2015-03-15T02:52:05.823Z","1.9.3":"2015-05-15T05:12:55.170Z","1.10.0":"2015-06-18T04:52:56.197Z","1.10.1":"2016-01-17T04:51:56.747Z","1.10.2":"2016-01-20T05:56:47.928Z","1.10.3":"2016-05-31T03:19:43.455Z","1.11.0":"2016-06-08T06:17:48.440Z","1.11.1":"2016-06-11T01:30:04.320Z","1.11.2":"2017-01-23T16:51:02.629Z","1.12.0":"2017-02-26T00:28:19.390Z","1.12.1":"2017-03-05T03:59:13.116Z","1.12.2":"2017-04-27T03:06:26.381Z","1.12.3":"2017-05-17T05:26:23.671Z","1.12.4":"2017-08-06T05:54:55.708Z","1.12.5":"2017-09-21T23:21:20.128Z","1.12.6":"2017-09-23T00:24:10.593Z","1.13.0":"2017-09-28T01:11:15.341Z","1.13.1":"2017-09-29T20:11:08.976Z","1.13.2":"2018-02-07T18:38:40.596Z","1.14.0":"2019-05-08T03:33:33.249Z","1.14.1":"2019-05-11T03:40:40.466Z"},"readmeFilename":"README.md","homepage":"https://github.com/expressjs/serve-static#readme"} \ No newline at end of file diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/type-is.json b/lib/manager/npm/update/locked-dependency/__fixtures__/type-is.json new file mode 100644 index 0000000000000000000000000000000000000000..badf1b3e6d51915b839783a912f0299879f160b4 --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/__fixtures__/type-is.json @@ -0,0 +1 @@ +{"_id":"type-is","_rev":"102-89ebc836b7a802429f3bf5f44fc8069a","name":"type-is","dist-tags":{"latest":"1.6.18"},"versions":{"1.0.0":{"name":"type-is","version":"1.0.0","dependencies":{"mime":"~1.2.11"},"devDependencies":{"mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/type-is","_id":"type-is@1.0.0","dist":{"shasum":"4ff424e97349a1ee1910b4bfc488595ecdc443fc","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.0.0.tgz"},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"1.0.1":{"name":"type-is","version":"1.0.1","dependencies":{"mime":"~1.2.11"},"devDependencies":{"mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/type-is","_id":"type-is@1.0.1","dist":{"shasum":"ae09d93953c7846f5c083192837575ab363408f1","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.0.1.tgz"},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"1.1.0":{"name":"type-is","version":"1.1.0","dependencies":{"mime":"~1.2.11"},"devDependencies":{"mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/type-is","_id":"type-is@1.1.0","dist":{"shasum":"d0245ec8b2676668d59dd0cf3255060676a57db6","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.1.0.tgz"},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"directories":{}},"1.2.0":{"name":"type-is","version":"1.2.0","dependencies":{"mime":"1.2.11"},"devDependencies":{"mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/type-is","_id":"type-is@1.2.0","dist":{"shasum":"a9aaa3f2014850d4813663f6c714cf6318195138","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.2.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.2.1":{"name":"type-is","version":"1.2.1","dependencies":{"mime-types":"1.0.0"},"devDependencies":{"mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/type-is","_id":"type-is@1.2.1","_shasum":"73d448080a4f1dd18acb1eefff62968c5b5d54a2","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"dist":{"shasum":"73d448080a4f1dd18acb1eefff62968c5b5d54a2","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.2.1.tgz"},"directories":{}},"1.2.2":{"name":"type-is","version":"1.2.2","dependencies":{"mime-types":"1.0.0"},"devDependencies":{"mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/type-is","_id":"type-is@1.2.2","dist":{"shasum":"dfdbf7cffa57cea0f9b1b55b96f629454e0eee97","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.2.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.3.0":{"name":"type-is","version":"1.3.0","dependencies":{"media-typer":"0.2.0","mime-types":"1.0.0"},"devDependencies":{"istanbul":"0.2.10","mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/type-is","_id":"type-is@1.3.0","dist":{"shasum":"131df06aca1476419f95de3e38f2efef8b249c20","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.3.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.3.1":{"name":"type-is","version":"1.3.1","dependencies":{"media-typer":"0.2.0","mime-types":"1.0.0"},"devDependencies":{"istanbul":"0.2.10","mocha":"*","should":"*"},"homepage":"https://github.com/expressjs/type-is","_id":"type-is@1.3.1","dist":{"shasum":"a6789b5a52138289ade1ef8f6d9f2874ffd70b6b","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.3.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"directories":{}},"1.3.2":{"name":"type-is","version":"1.3.2","dependencies":{"media-typer":"0.2.0","mime-types":"~1.0.1"},"devDependencies":{"istanbul":"0.2.11","mocha":"*","should":"*"},"gitHead":"d76790909638d4cf1785e09858db5576f91f710f","homepage":"https://github.com/expressjs/type-is","_id":"type-is@1.3.2","_shasum":"4f2a5dc58775ca1630250afc7186f8b36309d1bb","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"dist":{"shasum":"4f2a5dc58775ca1630250afc7186f8b36309d1bb","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.3.2.tgz"},"directories":{}},"1.4.0":{"name":"type-is","version":"1.4.0","dependencies":{"media-typer":"0.2.0","mime-types":"~2.0.0"},"devDependencies":{"istanbul":"~0.3.0","mocha":"1","should":"4"},"files":["index.js"],"gitHead":"f0483c28a704eaef3da9c0f8d9a2fc9dc6d50d3f","homepage":"https://github.com/expressjs/type-is","_id":"type-is@1.4.0","_shasum":"de51d78a2ccb19a8fa2e137b06784f6b39a88059","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"dist":{"shasum":"de51d78a2ccb19a8fa2e137b06784f6b39a88059","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.4.0.tgz"},"directories":{}},"1.5.0":{"name":"type-is","version":"1.5.0","dependencies":{"media-typer":"0.2.0","mime-types":"~2.0.0"},"devDependencies":{"istanbul":"~0.3.0","mocha":"1","should":"4"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"1cff718285478905d97bbf6cf666e0ce1c0284e3","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.5.0","_shasum":"e3539711529c5ee4e7cd9f5bed27487cb819f823","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"e3539711529c5ee4e7cd9f5bed27487cb819f823","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.5.0.tgz"},"directories":{}},"1.5.1":{"name":"type-is","version":"1.5.1","dependencies":{"media-typer":"0.3.0","mime-types":"~2.0.1"},"devDependencies":{"istanbul":"~0.3.0","mocha":"1"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"74d33287453bf7c166f6410fc608c1c7588070ae","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.5.1","_shasum":"5c1e62d874f79199fb16b34d16972dba376ccbed","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"5c1e62d874f79199fb16b34d16972dba376ccbed","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.5.1.tgz"},"directories":{}},"1.5.2":{"name":"type-is","version":"1.5.2","dependencies":{"media-typer":"0.3.0","mime-types":"~2.0.2"},"devDependencies":{"istanbul":"~0.3.0","mocha":"1"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"53b2d3f2c0177ac89576055d327d543291d36879","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.5.2","_shasum":"8291bbe845a904acfaffd05a41fdeb234bfa9e5f","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"8291bbe845a904acfaffd05a41fdeb234bfa9e5f","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.5.2.tgz"},"directories":{}},"1.5.3":{"name":"type-is","version":"1.5.3","dependencies":{"media-typer":"0.3.0","mime-types":"~2.0.3"},"devDependencies":{"istanbul":"~0.3.0","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"202b4823bcc0aeda3595c14a03fdcb2c60cb0ebf","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.5.3","_shasum":"b7fb92d0abc628393f10dd260932cca65fe9ff68","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"b7fb92d0abc628393f10dd260932cca65fe9ff68","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.5.3.tgz"},"directories":{}},"1.5.4":{"name":"type-is","version":"1.5.4","dependencies":{"media-typer":"0.3.0","mime-types":"~2.0.4"},"devDependencies":{"istanbul":"~0.3.2","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"d604e7a69ce986692e9f241e21b9abe6d4f77eb0","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.5.4","_shasum":"f2afe8635dcf2d159096202be6e120423fa19837","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"f2afe8635dcf2d159096202be6e120423fa19837","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.5.4.tgz"},"directories":{}},"1.5.5":{"name":"type-is","version":"1.5.5","dependencies":{"media-typer":"0.3.0","mime-types":"~2.0.7"},"devDependencies":{"istanbul":"0.3.5","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"b13dc3fa142ad60bea775181ba5f50364042691f","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.5.5","_shasum":"45248af57f96366d0326ea0868f6bc8607dc4b21","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"45248af57f96366d0326ea0868f6bc8607dc4b21","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.5.5.tgz"},"directories":{}},"1.5.6":{"name":"type-is","version":"1.5.6","dependencies":{"media-typer":"0.3.0","mime-types":"~2.0.8"},"devDependencies":{"istanbul":"0.3.5","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"18f74f0f51c066c1485344c2e8d88c86c00d3bea","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.5.6","_shasum":"5be39670ac699b4d0f59df84264cb05be1c9998b","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"5be39670ac699b4d0f59df84264cb05be1c9998b","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.5.6.tgz"},"directories":{}},"1.5.7":{"name":"type-is","version":"1.5.7","dependencies":{"media-typer":"0.3.0","mime-types":"~2.0.9"},"devDependencies":{"istanbul":"0.3.5","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"f4335cc563a98ee80366f04f67c50cef089ae803","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.5.7","_shasum":"b9368a593cc6ef7d0645e78b2f4c64cbecd05e90","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"b9368a593cc6ef7d0645e78b2f4c64cbecd05e90","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.5.7.tgz"},"directories":{}},"1.6.0":{"name":"type-is","version":"1.6.0","dependencies":{"media-typer":"0.3.0","mime-types":"~2.0.9"},"devDependencies":{"istanbul":"0.3.5","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"8386837f91cfbf9f21f02758dee36655a901e1c4","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.0","_shasum":"efcb9223fafad5a03be14d8f6c9e1785f2c0e7c3","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"efcb9223fafad5a03be14d8f6c9e1785f2c0e7c3","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.0.tgz"},"directories":{}},"1.6.1":{"name":"type-is","version":"1.6.1","dependencies":{"media-typer":"0.3.0","mime-types":"~2.0.10"},"devDependencies":{"istanbul":"0.3.7","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"339a7df4d8fed268b0f12d0fdab91d39f88d6f4e","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.1","_shasum":"49addecb0f6831cbc1d34ba929f0f3a4f21b0f2e","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"49addecb0f6831cbc1d34ba929f0f3a4f21b0f2e","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.1.tgz"},"directories":{}},"1.6.2":{"name":"type-is","version":"1.6.2","dependencies":{"media-typer":"0.3.0","mime-types":"~2.0.11"},"devDependencies":{"istanbul":"0.3.9","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"4e33e2fbb1f0daa6ec8c5444dbb60e44292ae314","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.2","_shasum":"694e83e5d110417e681cea278227f264ae406e33","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"694e83e5d110417e681cea278227f264ae406e33","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.2.tgz"},"directories":{}},"1.6.3":{"name":"type-is","version":"1.6.3","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.1"},"devDependencies":{"istanbul":"0.3.14","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"294dff1c93d2ccb9a56191d37e390a8d2ad02e6f","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.3","_shasum":"d87d201777f76dfc526ac202679715d41a28c580","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"d87d201777f76dfc526ac202679715d41a28c580","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.3.tgz"},"directories":{}},"1.6.4":{"name":"type-is","version":"1.6.4","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.2"},"devDependencies":{"istanbul":"0.3.17","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"0edac23cef38f02ded0e072af65a078865af5b66","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.4","_shasum":"d76fe92f0bcf7b0cf16b64d095e248f71079c318","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"d76fe92f0bcf7b0cf16b64d095e248f71079c318","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.4.tgz"},"directories":{}},"1.6.5":{"name":"type-is","version":"1.6.5","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.3"},"devDependencies":{"istanbul":"0.3.17","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"b5fd0918ecc05113d32dbb97b02bb18cb635b059","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.5","_shasum":"92129495c7b7563eaf923b447382c6c471f95de4","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"92129495c7b7563eaf923b447382c6c471f95de4","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.5.tgz"},"directories":{}},"1.6.6":{"name":"type-is","version":"1.6.6","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.4"},"devDependencies":{"istanbul":"0.3.17","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"f2b12fce6172bf91f771d8898055d6efa0e30422","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.6","_shasum":"398799519b62360f55c3cd6c486294531975926c","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"398799519b62360f55c3cd6c486294531975926c","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.6.tgz"},"directories":{}},"1.6.7":{"name":"type-is","version":"1.6.7","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.5"},"devDependencies":{"istanbul":"0.3.18","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"f162e9e971c19d28c348bb9b9ef660d17fcf1ba0","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.7","_shasum":"5ec2bc7c7debc37f586d518c0747ab901f76bcec","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"5ec2bc7c7debc37f586d518c0747ab901f76bcec","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.7.tgz"},"directories":{}},"1.6.8":{"name":"type-is","version":"1.6.8","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.6"},"devDependencies":{"istanbul":"0.3.19","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"6c93143cead7c596072133491b84f03a05403d3e","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.8","_shasum":"3bac8c0c852754c855143e206d4a16e908bf0315","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"3bac8c0c852754c855143e206d4a16e908bf0315","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.8.tgz"},"directories":{}},"1.6.9":{"name":"type-is","version":"1.6.9","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.7"},"devDependencies":{"istanbul":"0.3.21","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"2f5999d6f2d88f2f36eeb1e8db78c2ec43fdbf13","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.9","_shasum":"87f3e88b92ff5ac30fbc1acf9a9d00cbc38b3d7a","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"87f3e88b92ff5ac30fbc1acf9a9d00cbc38b3d7a","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.9.tgz"},"directories":{}},"1.6.10":{"name":"type-is","version":"1.6.10","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.8"},"devDependencies":{"istanbul":"0.4.1","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"072de04e5c6bd4a3dd089dbd70ec2b1d505625a9","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.10","_shasum":"d27e995b20d8c2a543f3420573f690a3929fd75a","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"d27e995b20d8c2a543f3420573f690a3929fd75a","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.10.tgz"},"directories":{}},"1.6.11":{"name":"type-is","version":"1.6.11","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.9"},"devDependencies":{"istanbul":"0.4.2","mocha":"1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"8e60e3e78aef84928e0e6c09da950f6950adcdd2","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.11","_shasum":"42ecde7970f2363738b986c0351efba5aa531648","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"42ecde7970f2363738b986c0351efba5aa531648","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.11.tgz"},"directories":{}},"1.6.12":{"name":"type-is","version":"1.6.12","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.10"},"devDependencies":{"istanbul":"0.4.2","mocha":"1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"7ba49c0ccc8e34f4321768c0b13c2ebcccaae28c","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.12","_shasum":"0352a9dfbfff040fe668cc153cc95829c354173e","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"0352a9dfbfff040fe668cc153cc95829c354173e","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.12.tgz"},"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/type-is-1.6.12.tgz_1456726142464_0.8247741810046136"},"directories":{}},"1.6.13":{"name":"type-is","version":"1.6.13","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.11"},"devDependencies":{"eslint":"2.10.2","eslint-config-standard":"5.3.1","eslint-plugin-promise":"1.1.0","eslint-plugin-standard":"1.3.2","istanbul":"0.4.3","mocha":"1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"88c47523fff910343b3ca7d4928dad40f21ea6cd","homepage":"https://github.com/jshttp/type-is#readme","_id":"type-is@1.6.13","_shasum":"6e83ba7bc30cd33a7bb0b7fb00737a2085bf9d08","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"6e83ba7bc30cd33a7bb0b7fb00737a2085bf9d08","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/type-is-1.6.13.tgz_1463622049206_0.9134831207338721"},"directories":{}},"1.6.14":{"name":"type-is","version":"1.6.14","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.13"},"devDependencies":{"eslint":"2.10.2","eslint-config-standard":"5.3.1","eslint-plugin-promise":"1.1.0","eslint-plugin-standard":"1.3.2","istanbul":"0.4.5","mocha":"1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"f88151e69d91c5ed42e29dea78f5566403a5a7ad","homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.14","_shasum":"e219639c17ded1ca0789092dd54a03826b817cb2","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"e219639c17ded1ca0789092dd54a03826b817cb2","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.14.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/type-is-1.6.14.tgz_1479517858770_0.4908413903322071"},"directories":{}},"1.6.15":{"name":"type-is","version":"1.6.15","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.15"},"devDependencies":{"eslint":"3.19.0","eslint-config-standard":"7.1.0","eslint-plugin-markdown":"1.0.0-beta.4","eslint-plugin-promise":"3.5.0","eslint-plugin-standard":"2.1.1","istanbul":"0.4.5","mocha":"1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"9e88be851cc628364ad8842433dce32437ea4e73","homepage":"https://github.com/jshttp/type-is#readme","_id":"type-is@1.6.15","_shasum":"cab10fb4909e441c82842eafe1ad646c81804410","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.3","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"shasum":"cab10fb4909e441c82842eafe1ad646c81804410","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/type-is-1.6.15.tgz_1491016789014_0.6958203655667603"},"directories":{}},"1.6.16":{"name":"type-is","version":"1.6.16","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.18"},"devDependencies":{"eslint":"3.19.0","eslint-config-standard":"10.2.1","eslint-plugin-import":"2.8.0","eslint-plugin-markdown":"1.0.0-beta.6","eslint-plugin-node":"5.2.1","eslint-plugin-promise":"3.6.0","eslint-plugin-standard":"3.0.1","istanbul":"0.4.5","mocha":"1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"gitHead":"dc723b95e2c52c689cf9d4cefbc5d91e74f7524a","homepage":"https://github.com/jshttp/type-is#readme","_id":"type-is@1.6.16","_npmVersion":"5.6.0","_nodeVersion":"6.13.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==","shasum":"f89ce341541c672b25ee7ae3c73dee3b2be50194","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz","fileCount":5,"unpackedSize":16739},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/type-is_1.6.16_1518812522921_0.03331830182177953"},"_hasShrinkwrap":false},"1.6.17":{"name":"type-is","version":"1.6.17","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.24"},"devDependencies":{"eslint":"5.16.0","eslint-config-standard":"12.0.0","eslint-plugin-import":"2.17.2","eslint-plugin-markdown":"1.0.0","eslint-plugin-node":"8.0.1","eslint-plugin-promise":"4.1.1","eslint-plugin-standard":"4.0.0","mocha":"6.1.4","nyc":"14.0.0"},"gitHead":"c22b4afcd251c5205d1bb49e6d6835b16233121a","homepage":"https://github.com/jshttp/type-is#readme","_id":"type-is@1.6.17","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-jYZzkOoAPVyQ9vlZ4xEJ4BBbHC4a7hbY1xqyCPe6AiQVVqfbZEulJm0VpqK4B+096O1VQi0l6OBGH210ejx/bA==","shasum":"9ef72233f08ffbe83b8fa3c93f4f93ecbc330bc2","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.17.tgz","fileCount":5,"unpackedSize":17324,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwduDCRA9TVsSAnZWagAAjUMP/AlxKf7FVSUFr1IeznKR\nUIrZtUn1zbEIksxVqt68ZC2Ktj7nvcriZP6UkWPskaL8gQ5u/MRWOKZ3loVU\nzZoskOp+WXZdcLr8+HG6FRytmfRPj2wm04+D0YiRAfdBQJKXI7U3U9EWAkw6\niBWG0mFTQNfrgoArRKfqFbCJrkBy25Z3ouOo6L5MbmRCVpYFmS17Vv+HxlBe\nLB2cpnA4fnJCs6XvrxcyTLBPR/8jL8KeBLLpatLDJeqE3L5M9b/yvpjyPYXc\nBnfPIWGCu5vQjAtVRpLx54C3I7QFK+wbturRwyTbEu+S6MTNy9IboHlg6a0p\nBpds8UpJ83EgQ9oh+GAklzNNJyXwf/ygZ8L7hkL1fTjvLp78+r9k1ojcvEbn\nH8oNRpgkFau77MaPVWznVV4qgQKF2wRx9bDcTnRspJ8Jemgjk7nwwhZe8L42\nB5ZEUwVPGAPWPMXRsvkF0VSVFerGGgUluleBqsGe2xE9kk24vPv/4cAZFZnu\nwCsN7xtyLs8m6/YkOe5U5PJMW0RHt76gfghMwDzZIcZBNZECCC4PA3hqbGve\n1wsdSnzR+ELRi9GYLyab+5NO3OK78WTWw8MrnFYtwMS8uscc4cAl1WGnhkvu\nR2zjksu035ojjFOaGN7QxVdx4ZOP0Y0hnRhKVmEUHZ0Z0Yqo1Q0OHR5Egmlm\nhg/k\r\n=EGkU\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/type-is_1.6.17_1556208514463_0.06453249157999785"},"_hasShrinkwrap":false},"1.6.18":{"name":"type-is","version":"1.6.18","dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.24"},"devDependencies":{"eslint":"5.16.0","eslint-config-standard":"12.0.0","eslint-plugin-import":"2.17.2","eslint-plugin-markdown":"1.0.0","eslint-plugin-node":"8.0.1","eslint-plugin-promise":"4.1.1","eslint-plugin-standard":"4.0.0","mocha":"6.1.4","nyc":"14.0.0"},"gitHead":"bfebe3d4ac312debccb7dbbc79242e2581dea5f0","homepage":"https://github.com/jshttp/type-is#readme","_id":"type-is@1.6.18","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"dist":{"integrity":"sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==","shasum":"4e552cd05df09467dcbc4ef739de89f2cf37c131","tarball":"https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz","fileCount":5,"unpackedSize":18497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcww7VCRA9TVsSAnZWagAADo4P/isJIJ9PaSvaRKD2jXlI\nfnZaodUUUdgiQfzG0uL2nvb7F4iHg6ddCEG5ofw4MzDQAXpsmv2r7F/3CVE7\n6KvUo5mVJ/KngeH95DxUcef/bTTAbCFdht7gbTFpZ0UKM4Ow3iuvgyvz/3aI\nJgkxqw8WgY/IdFk5NVZ3g5x8kGWXD1Llf44LLptYZ3R9J2u73CDP3ft9nE1Y\np9NAu3X0NH11U6IFNS+T62hehOfdsJUjY1XZc6142m7KsXjiDxISiX2tj0kg\n1DsW7oOJeWnbOJSxxfiI4Np1T0gRupjYfFBg/Fsfl6p+qcOAgQYMZTqv2iR+\nWSD9QuL/QYiYKqfAiumnC3uxPkT6AUqohIzk5HUSXrJcuyCmFWNDIO3MllC7\nW+9Ac6+qkN+dMGRx9hWS632uyb6AxbbulXNPbv//JwGzSyu+gLSkOQgk0vto\ngMYi7HUbQQquVBftMs7OqZ3HiP4q1gMr1H4PuoUUQw1FzxgSi6gY8hJriqM/\nPSKVym4y0Umict5DJnirgtSIAArTLVHAmEcY1XRFJB43HLrkNdcCpVH6FfRh\nvZ3dQsN5HQA0ioRyCstwsjDAbEzYStPIXmBOdBFmNnRIMoBe/16HbNZbO208\nKODasC9g3GHFn/IGgr3h8gW+WD76ISD5zUFshm0w4eJGx9XKtzhhjicnm6PO\nO1q0\r\n=WOqY\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/type-is_1.6.18_1556287189103_0.20416863530873397"},"_hasShrinkwrap":false}},"time":{"modified":"2019-04-26T13:59:51.822Z","created":"2013-12-28T00:06:19.362Z","1.0.0":"2013-12-28T00:06:19.362Z","1.0.1":"2014-03-30T07:59:36.618Z","1.1.0":"2014-04-13T00:23:29.651Z","1.2.0":"2014-05-12T03:30:58.338Z","1.2.1":"2014-06-04T04:37:46.796Z","1.2.2":"2014-06-20T01:21:35.783Z","1.3.0":"2014-06-20T02:04:10.178Z","1.3.1":"2014-06-20T03:04:57.712Z","1.3.2":"2014-06-25T01:04:21.979Z","1.4.0":"2014-09-02T08:46:55.515Z","1.5.0":"2014-09-05T19:49:01.787Z","1.5.1":"2014-09-08T06:33:30.713Z","1.5.2":"2014-09-29T05:30:21.355Z","1.5.3":"2014-11-09T22:46:49.093Z","1.5.4":"2014-12-11T02:42:44.888Z","1.5.5":"2014-12-31T05:26:13.133Z","1.5.6":"2015-01-30T05:31:55.125Z","1.5.7":"2015-02-10T05:35:50.380Z","1.6.0":"2015-02-13T03:55:36.313Z","1.6.1":"2015-03-14T04:20:19.211Z","1.6.2":"2015-05-11T05:52:18.626Z","1.6.3":"2015-06-08T18:58:33.938Z","1.6.4":"2015-07-02T01:22:52.689Z","1.6.5":"2015-07-17T03:36:46.181Z","1.6.6":"2015-07-31T17:12:11.577Z","1.6.7":"2015-08-20T18:16:35.954Z","1.6.8":"2015-09-04T14:57:13.431Z","1.6.9":"2015-09-28T04:16:01.110Z","1.6.10":"2015-12-01T19:07:05.618Z","1.6.11":"2016-01-30T05:09:52.834Z","1.6.12":"2016-02-29T06:09:05.369Z","1.6.13":"2016-05-19T01:40:52.083Z","1.6.14":"2016-11-19T01:11:00.743Z","1.6.15":"2017-04-01T03:19:49.693Z","1.6.16":"2018-02-16T20:22:03.004Z","1.6.17":"2019-04-25T16:08:34.582Z","1.6.18":"2019-04-26T13:59:49.224Z"},"readmeFilename":"README.md","homepage":"https://github.com/jshttp/type-is#readme"} \ No newline at end of file diff --git a/lib/manager/npm/update/locked-dependency/__snapshots__/dep-constraints.spec.ts.snap b/lib/manager/npm/update/locked-dependency/__snapshots__/dep-constraints.spec.ts.snap new file mode 100644 index 0000000000000000000000000000000000000000..4e49a07769db212c63b22e54910c858039ab1ed0 --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/__snapshots__/dep-constraints.spec.ts.snap @@ -0,0 +1,29 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`manager/npm/update/locked-dependency/dep-constraints findDepConstraints() finds direct dependency 1`] = ` +Array [ + Object { + "constraint": "4.0.0", + "depType": "dependencies", + }, +] +`; + +exports[`manager/npm/update/locked-dependency/dep-constraints findDepConstraints() finds direct devDependency 1`] = ` +Array [ + Object { + "constraint": "4.0.0", + "depType": "devDependencies", + }, +] +`; + +exports[`manager/npm/update/locked-dependency/dep-constraints findDepConstraints() finds indirect dependency 1`] = ` +Array [ + Object { + "constraint": "0.2.0", + "parentDepName": "express", + "parentVersion": "4.0.0", + }, +] +`; diff --git a/lib/manager/npm/update/locked-dependency/__snapshots__/get-locked.spec.ts.snap b/lib/manager/npm/update/locked-dependency/__snapshots__/get-locked.spec.ts.snap new file mode 100644 index 0000000000000000000000000000000000000000..9e5cf94a7fe6f62fcf2ddcc14af71cc3353049da --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/__snapshots__/get-locked.spec.ts.snap @@ -0,0 +1,46 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`manager/npm/update/locked-dependency/get-locked getLockedDependencies() finds direct dependency 1`] = ` +Array [ + Object { + "integrity": "sha1-J03IKTPJ9XTMOKDOXqgXK+nGsJQ=", + "requires": Object { + "accepts": "1.0.0", + "buffer-crc32": "0.2.1", + "cookie": "0.1.0", + "cookie-signature": "1.0.3", + "debug": ">= 0.7.3 < 1", + "escape-html": "1.0.1", + "fresh": "0.2.2", + "merge-descriptors": "0.0.2", + "methods": "0.1.0", + "parseurl": "1.0.1", + "path-to-regexp": "0.1.2", + "qs": "0.6.6", + "range-parser": "1.0.0", + "send": "0.2.0", + "serve-static": "1.0.1", + "type-is": "1.0.0", + "utils-merge": "1.0.0", + }, + "resolved": "https://registry.npmjs.org/express/-/express-4.0.0.tgz", + "version": "4.0.0", + }, +] +`; + +exports[`manager/npm/update/locked-dependency/get-locked getLockedDependencies() finds indirect dependency 1`] = ` +Array [ + Object { + "integrity": "sha1-Bnq/Rc/4v/spy9t0OXJbMjiKLFg=", + "requires": Object { + "debug": "*", + "fresh": "~0.2.1", + "mime": "~1.2.9", + "range-parser": "~1.0.0", + }, + "resolved": "https://registry.npmjs.org/send/-/send-0.2.0.tgz", + "version": "0.2.0", + }, +] +`; diff --git a/lib/manager/npm/update/locked-dependency/common.ts b/lib/manager/npm/update/locked-dependency/common.ts new file mode 100644 index 0000000000000000000000000000000000000000..f850f4a94580770506a88560ac6f0096c8b8e35f --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/common.ts @@ -0,0 +1,22 @@ +export interface PackageLockDependency { + version: string; + resolved?: string; + integrity?: string; + dependencies?: Record<string, PackageLockDependency>; +} + +export type PackageLockDependencies = Record<string, PackageLockDependency>; + +export interface PackageLockOrEntry { + lockfileVersion?: number; + version?: string; + dependencies?: PackageLockDependencies; + requires?: Record<string, string>; +} + +export interface ParentDependency { + parentDepName?: string; + parentVersion?: string; + constraint: string; + depType?: string; +} diff --git a/lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts b/lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..7eda1ecb194dce044aedda09cc1f61e9e5d9ef6b --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts @@ -0,0 +1,36 @@ +import { readFileSync } from 'fs'; +import { resolve } from 'upath'; +import { getName } from '../../../../../test/util'; +import { findDepConstraints } from './dep-constraints'; + +jest.mock('../../../../util/fs'); + +const packageJson = JSON.parse( + readFileSync(resolve(__dirname, './__fixtures__/package.json'), 'utf8') +); +const packageLockJson = JSON.parse( + readFileSync(resolve(__dirname, './__fixtures__/package-lock.json'), 'utf8') +); + +describe(getName(__filename), () => { + describe('findDepConstraints()', () => { + it('finds indirect dependency', () => { + expect( + findDepConstraints(packageJson, packageLockJson, 'send', '0.2.0') + ).toMatchSnapshot(); + }); + it('finds direct dependency', () => { + expect( + findDepConstraints(packageJson, packageLockJson, 'express', '4.0.0') + ).toMatchSnapshot(); + }); + it('finds direct devDependency', () => { + const packageJsonDev = { ...packageJson }; + packageJsonDev.devDependencies = packageJsonDev.dependencies; + delete packageJsonDev.dependencies; + expect( + findDepConstraints(packageJsonDev, packageLockJson, 'express', '4.0.0') + ).toMatchSnapshot(); + }); + }); +}); diff --git a/lib/manager/npm/update/locked-dependency/dep-constraints.ts b/lib/manager/npm/update/locked-dependency/dep-constraints.ts new file mode 100644 index 0000000000000000000000000000000000000000..b1cc9af7683e5789fd0012cb6d26f8dcc0f5f623 --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/dep-constraints.ts @@ -0,0 +1,62 @@ +import type { PackageJson } from 'type-fest'; + +import { api as semver } from '../../../../versioning/npm'; +import { PackageLockOrEntry, ParentDependency } from './common'; + +// Finds all parent dependencies for a given depName@currentVersion +export function findDepConstraints( + packageJson: PackageJson, + lockEntry: PackageLockOrEntry, + depName: string, + currentVersion: string, + parentDepName?: string +): ParentDependency[] { + let parents: ParentDependency[] = []; + let packageJsonConstraint = packageJson.dependencies?.[depName]; + if (packageJsonConstraint) { + parents.push({ + depType: 'dependencies', + constraint: packageJsonConstraint, + }); + } + packageJsonConstraint = packageJson.devDependencies?.[depName]; + if (packageJsonConstraint) { + parents.push({ + depType: 'devDependencies', + constraint: packageJsonConstraint, + }); + } + const { dependencies, requires, version } = lockEntry; + if (parentDepName && requires) { + const constraint = requires[depName]; + if (constraint && semver.matches(currentVersion, constraint)) { + parents.push({ + parentDepName, + parentVersion: version, + constraint, + }); + } + } + if (dependencies) { + for (const [packageName, dependency] of Object.entries(dependencies)) { + parents = parents.concat( + findDepConstraints( + packageJson, + dependency, + depName, + currentVersion, + packageName + ) + ); + } + } + // dedupe + const res: ParentDependency[] = []; + for (const req of parents) { + const reqStringified = JSON.stringify(req); + if (!res.find((i) => JSON.stringify(i) === reqStringified)) { + res.push(req); + } + } + return res; +} diff --git a/lib/manager/npm/update/locked-dependency/get-locked.spec.ts b/lib/manager/npm/update/locked-dependency/get-locked.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..f6ee9de18acee99eb1fff54c81299aa935ae6d5c --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/get-locked.spec.ts @@ -0,0 +1,33 @@ +import { readFileSync } from 'fs'; +import { resolve } from 'upath'; +import { getName } from '../../../../../test/util'; +import { getLockedDependencies } from './get-locked'; + +jest.mock('../../../../util/fs'); + +const packageLockJson = JSON.parse( + readFileSync(resolve(__dirname, './__fixtures__/package-lock.json'), 'utf8') +); + +describe(getName(__filename), () => { + describe('getLockedDependencies()', () => { + it('handles error', () => { + expect(getLockedDependencies(null as any, 'some-dep', '1.0.0')).toEqual( + [] + ); + }); + it('returns empty if failed to parse', () => { + expect(getLockedDependencies({}, 'some-dep', '1.0.0')).toEqual([]); + }); + it('finds direct dependency', () => { + expect( + getLockedDependencies(packageLockJson, 'express', '4.0.0') + ).toMatchSnapshot(); + }); + it('finds indirect dependency', () => { + expect( + getLockedDependencies(packageLockJson, 'send', '0.2.0') + ).toMatchSnapshot(); + }); + }); +}); diff --git a/lib/manager/npm/update/locked-dependency/get-locked.ts b/lib/manager/npm/update/locked-dependency/get-locked.ts new file mode 100644 index 0000000000000000000000000000000000000000..fd0e1fd740622a7fc756e19a9585ef7e9b4a8464 --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/get-locked.ts @@ -0,0 +1,28 @@ +import { logger } from '../../../../logger'; +import { PackageLockDependency, PackageLockOrEntry } from './common'; + +// Finds matching dependencies withing a package lock file of sub-entry +export function getLockedDependencies( + entry: PackageLockOrEntry, + depName: string, + currentVersion: string +): PackageLockDependency[] { + let res: PackageLockDependency[] = []; + try { + const { dependencies } = entry; + if (!dependencies) { + return []; + } + if (dependencies[depName]?.version === currentVersion) { + res.push(dependencies[depName]); + } + for (const dependency of Object.values(dependencies)) { + res = res.concat( + getLockedDependencies(dependency, depName, currentVersion) + ); + } + } catch (err) { + logger.warn({ err }, 'getLockedDependencies() error'); + } + return res; +} diff --git a/lib/manager/npm/update/locked-dependency/index.spec.ts b/lib/manager/npm/update/locked-dependency/index.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..e6ba59c4008e73d355f1e424ebd324a3fb0ccb18 --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/index.spec.ts @@ -0,0 +1,174 @@ +import { readFileSync } from 'fs'; +import { resolve } from 'upath'; +import * as httpMock from '../../../../../test/http-mock'; +import { getName } from '../../../../../test/util'; +import { clone } from '../../../../util/clone'; +import { UpdateLockedConfig } from '../../../common'; +import { updateLockedDependency } from '.'; + +const packageFileContent = readFileSync( + resolve(__dirname, './__fixtures__/package.json'), + 'utf8' +); +const lockFileContent = readFileSync( + resolve(__dirname, './__fixtures__/package-lock.json'), + 'utf8' +); + +const acceptsJson = JSON.parse( + readFileSync(resolve(__dirname, './__fixtures__/accepts.json'), 'utf8') +); + +const expressJson = JSON.parse( + readFileSync(resolve(__dirname, './__fixtures__/express.json'), 'utf8') +); + +const mimeJson = JSON.parse( + readFileSync(resolve(__dirname, './__fixtures__/mime.json'), 'utf8') +); + +const serveStaticJson = JSON.parse( + readFileSync(resolve(__dirname, './__fixtures__/serve-static.json'), 'utf8') +); + +const sendJson = JSON.parse( + readFileSync(resolve(__dirname, './__fixtures__/send.json'), 'utf8') +); + +const typeIsJson = JSON.parse( + readFileSync(resolve(__dirname, './__fixtures__/type-is.json'), 'utf8') +); + +describe(getName(__filename), () => { + describe('updateLockedDependency()', () => { + let config: UpdateLockedConfig; + beforeEach(() => { + httpMock.setup(); + config = { + packageFile: 'package.json', + packageFileContent, + lockFile: 'package-lock.json', + lockFileContent, + depName: 'some-dep', + currentVersion: '1.0.0', + newVersion: '1.0.1', + }; + }); + afterEach(() => { + httpMock.reset(); + }); + it('validates filename', async () => { + expect( + await updateLockedDependency({ ...config, lockFile: 'yarn.lock' }) + ).toBeNull(); + }); + it('validates versions', async () => { + expect( + await updateLockedDependency({ + ...config, + newVersion: '^2.0.0', + }) + ).toBeNull(); + }); + it('returns null for unparseable files', async () => { + expect( + await updateLockedDependency({ ...config, lockFileContent: 'not json' }) + ).toBeNull(); + }); + it('rejects lockFileVersion 2', async () => { + expect( + await updateLockedDependency({ + ...config, + lockFileContent: lockFileContent.replace(': 1,', ': 2,'), + }) + ).toBeNull(); + }); + it('returns null if no locked deps', async () => { + expect(await updateLockedDependency(config)).toBeNull(); + }); + it('rejects null if no constraint found', async () => { + expect( + await updateLockedDependency({ + ...config, + lockFileContent: lockFileContent.replace('1.0.0', '10.0.0'), + depName: 'accepts', + currentVersion: '10.0.0', + newVersion: '11.0.0', + }) + ).toBeNull(); + }); + it('remediates in-range', async () => { + const res = await updateLockedDependency({ + ...config, + depName: 'mime', + currentVersion: '1.2.11', + newVersion: '1.2.12', + }); + expect(res['package-lock.json']).toContain('"mime":{"version":"1.2.12"'); + }); + it('fails to remediate if parent dep cannot support', async () => { + const acceptsModified = clone(acceptsJson); + acceptsModified.versions['2.0.0'] = {}; + httpMock + .scope('https://registry.npmjs.org') + .get('/accepts') + .reply(200, acceptsModified); + httpMock + .scope('https://registry.npmjs.org') + .get('/express') + .reply(200, expressJson); + const res = await updateLockedDependency({ + ...config, + depName: 'accepts', + currentVersion: '1.0.0', + newVersion: '2.0.0', + }); + expect(res).toBeNull(); + }); + it('remediates express', async () => { + config.depName = 'express'; + config.currentVersion = '4.0.0'; + config.newVersion = '4.1.0'; + const res = await updateLockedDependency(config); + expect(res['package.json']).toContain('"express": "4.1.0"'); + expect(res['package-lock.json']).toContain( + '"express":{"version":"4.1.0"' + ); + }); + it('remediates mime', async () => { + config.depName = 'mime'; + config.currentVersion = '1.2.11'; + config.newVersion = '1.4.1'; + httpMock + .scope('https://registry.npmjs.org') + .get('/accepts') + .reply(200, acceptsJson); + httpMock + .scope('https://registry.npmjs.org') + .get('/express') + .reply(200, expressJson); + httpMock + .scope('https://registry.npmjs.org') + .get('/mime') + .reply(200, mimeJson); + httpMock + .scope('https://registry.npmjs.org') + .get('/send') + .reply(200, sendJson); + httpMock + .scope('https://registry.npmjs.org') + .get('/serve-static') + .reply(200, serveStaticJson); + httpMock + .scope('https://registry.npmjs.org') + .get('/type-is') + .reply(200, typeIsJson); + const res = await updateLockedDependency(config); + expect(res['package-lock.json']).toContain('"mime":{"version":"1.4.1"'); + expect(res['package-lock.json']).toContain( + '"express":{"version":"4.16.0"' + ); + expect(res['package.json']).toContain('"express": "4.16.0"'); + }); + }); +}); diff --git a/lib/manager/npm/update/locked-dependency/index.ts b/lib/manager/npm/update/locked-dependency/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..5a2d9a260f3324db537cdc09c03d2bb59a0a0b23 --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/index.ts @@ -0,0 +1,193 @@ +import type { PackageJson } from 'type-fest'; +import { logger } from '../../../../logger'; +import { api as semver } from '../../../../versioning/npm'; +import { UpdateLockedConfig } from '../../../common'; +import { updateDependency } from '../dependency'; +import { PackageLockOrEntry } from './common'; +import { findDepConstraints } from './dep-constraints'; +import { getLockedDependencies } from './get-locked'; +import { findFirstParentVersion } from './parent-version'; + +export function validateInputs(config: UpdateLockedConfig): boolean { + const { currentVersion, newVersion, lockFile } = config; + if (!lockFile.endsWith('package-lock.json')) { + logger.debug({ lockFile }, 'Unsupported lock file'); + return false; + } + if (!(semver.isVersion(currentVersion) && semver.isVersion(newVersion))) { + logger.warn( + { currentVersion, newVersion }, + 'Update versions are not valid' + ); + return false; + } + return true; +} + +export async function updateLockedDependency( + config: UpdateLockedConfig, + isParentUpdate = false +): Promise<Record<string, string>> { + const { + depName, + currentVersion, + newVersion, + packageFile, + packageFileContent, + lockFile, + lockFileContent, + } = config; + logger.debug( + `npm.updateLockedDependency: ${depName}@${currentVersion} -> ${newVersion} [${lockFile}]` + ); + try { + if (!validateInputs(config)) { + return null; + } + let packageJson: PackageJson; + let packageLockJson: PackageLockOrEntry; + let newPackageJsonContent: string; + try { + packageJson = JSON.parse(packageFileContent); + packageLockJson = JSON.parse(lockFileContent); + } catch (err) { + logger.warn({ err }, 'Failed to parse files'); + return null; + } + if (packageLockJson.lockfileVersion === 2) { + logger.debug('Only lockfileVersion 1 is supported'); + return null; + } + const lockedDeps = getLockedDependencies( + packageLockJson, + depName, + currentVersion + ); + if (!lockedDeps.length) { + logger.debug( + `${depName}@${currentVersion} not found in ${lockFile} - no work to do` + ); + // Don't return null if we're a parent update or else the whole update will fail + // istanbul ignore if: too hard to replicate + if (isParentUpdate) { + return { + packageFile: packageFileContent, + lockFile: lockFileContent, + }; + } + return null; + } + logger.debug( + `Found matching dependencies with length ${lockedDeps.length}` + ); + const constraints = findDepConstraints( + packageJson, + packageLockJson, + depName, + currentVersion + ); + logger.trace({ deps: lockedDeps, constraints }, 'Matching details'); + if (!constraints.length) { + logger.warn('Could not find constraints for the locked dependency'); + return null; + } + const parentUpdates: UpdateLockedConfig[] = []; + for (const { + parentDepName, + parentVersion, + constraint, + depType, + } of constraints) { + if (semver.matches(newVersion, constraint)) { + // Parent dependency is compatible with the new version we want + logger.debug( + `${depName} can be updated to ${newVersion} in-range with matching constraint "${constraint}" in ${ + parentDepName ? `${parentDepName}@${parentVersion}` : packageFile + }` + ); + } else if (parentDepName && parentVersion) { + // Parent dependency needs updating too + const parentNewVersion = await findFirstParentVersion( + parentDepName, + parentVersion, + depName, + newVersion + ); + if (parentNewVersion) { + if (parentNewVersion === parentVersion) { + logger.debug( + `Update of ${depName} to ${newVersion} already achieved in parent ${parentDepName}@${parentNewVersion}` + ); + } else { + // Update the parent dependency so that we can update this dependency + logger.debug( + `Update of ${depName} to ${newVersion} can be achieved due to parent ${parentDepName}` + ); + const parentUpdate: UpdateLockedConfig = { + depName: parentDepName, + currentVersion: parentVersion, + newVersion: parentNewVersion, + }; + parentUpdates.push(parentUpdate); + } + } else { + // For some reason it's not possible to update the parent to a version compatible with our desired dep version + logger.debug( + `Update of ${depName} to ${newVersion} cannot be achieved due to parent ${parentDepName}` + ); + return null; + } + } else if (depType) { + // The constaint comes from the package.json file, so we need to update it + const newValue = semver.getNewValue({ + currentValue: constraint, + rangeStrategy: 'replace', + currentVersion, + newVersion, + }); + newPackageJsonContent = updateDependency({ + fileContent: packageFileContent, + upgrade: { depName, depType, newValue }, + }); + } + } + for (const dependency of lockedDeps) { + // Remove resolved and integrity fields for npm to fill in + dependency.version = newVersion; + delete dependency.resolved; + delete dependency.integrity; + } + let newLockFileContent = JSON.stringify(packageLockJson); + // iterate through the parent updates first + for (const parentUpdate of parentUpdates) { + const parentUpdateConfig = { + ...config, + lockFileContent: newLockFileContent, + ...parentUpdate, + }; + const parentUpdateResult = await updateLockedDependency( + parentUpdateConfig, + true + ); + // istanbul ignore if: hard to test due to recursion + if (!parentUpdateResult) { + logger.debug( + `Update of ${depName} to ${newVersion} impossible due to failed update of parent ${parentUpdate.depName} to ${parentUpdate.newVersion}` + ); + return null; + } + newPackageJsonContent = + parentUpdateResult[packageFile] || newPackageJsonContent; + newLockFileContent = parentUpdateResult[lockFile]; + } + const files = {}; + files[lockFile] = newLockFileContent; + if (newPackageJsonContent) { + files[packageFile] = newPackageJsonContent; + } + return files; + } catch (err) /* istanbul ignore next */ { + logger.error({ err }, 'updateLockedDependency() error'); + return null; + } +} diff --git a/lib/manager/npm/update/locked-dependency/parent-version.spec.ts b/lib/manager/npm/update/locked-dependency/parent-version.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..29706d00fc763f4691a146fa159cee06a9a96546 --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/parent-version.spec.ts @@ -0,0 +1,136 @@ +import { readFileSync } from 'fs'; +import { resolve } from 'upath'; +import * as httpMock from '../../../../../test/http-mock'; +import { getName } from '../../../../../test/util'; +import { findFirstParentVersion } from './parent-version'; + +const expressJson = JSON.parse( + readFileSync(resolve(__dirname, './__fixtures__/express.json'), 'utf8') +); + +describe(getName(__filename), () => { + describe('getLockedDependencies()', () => { + beforeEach(() => { + httpMock.setup(); + }); + + afterEach(() => { + httpMock.reset(); + }); + it('finds indirect dependency', async () => { + httpMock + .scope('https://registry.npmjs.org') + .get('/send') + .reply(200, { + name: 'send', + repository: {}, + versions: { + '0.11.0': {}, + '0.11.1': {}, + '0.12.0': {}, + '0.13.0': {}, + }, + 'dist-tags': { latest: '0.13.0' }, + }); + httpMock + .scope('https://registry.npmjs.org') + .get('/express') + .reply(200, expressJson); + expect( + await findFirstParentVersion('express', '4.0.0', 'send', '0.11.1') + ).toEqual('4.11.1'); + }); + it('finds indirect devDependency', async () => { + httpMock + .scope('https://registry.npmjs.org') + .get('/cookie-parser') + .reply(200, { + name: 'cookie-parser', + repository: {}, + versions: { + '1.0.1': {}, + '1.0.2': {}, + }, + 'dist-tags': { latest: '1.0.2' }, + }); + httpMock + .scope('https://registry.npmjs.org') + .get('/express') + .reply(200, expressJson); + expect( + await findFirstParentVersion( + 'express', + '4.0.0', + 'cookie-parser', + '1.0.2' + ) + ).toEqual('4.3.0'); + }); + it('finds removed dependencies', async () => { + httpMock + .scope('https://registry.npmjs.org') + .get('/buffer-crc32') + .reply(200, { + name: 'buffer-crc32', + repository: {}, + versions: { + '10.0.0': {}, + }, + 'dist-tags': { latest: '10.0.0' }, + }); + httpMock + .scope('https://registry.npmjs.org') + .get('/express') + .reply(200, expressJson); + expect( + await findFirstParentVersion( + 'express', + '4.0.0', + 'buffer-crc32', + '10.0.0' + ) + ).toEqual('4.9.1'); + }); + it('finds when a range matches greater versions', async () => { + httpMock + .scope('https://registry.npmjs.org') + .get('/type-is') + .reply(200, { + name: 'type-is', + repository: {}, + versions: { + '1.2.1': {}, + '1.6.15': {}, + }, + 'dist-tags': { latest: '1.6.15' }, + }); + httpMock + .scope('https://registry.npmjs.org') + .get('/express') + .reply(200, expressJson); + expect( + await findFirstParentVersion('express', '4.16.1', 'type-is', '1.2.1') + ).toEqual('4.16.1'); + }); + it('returns null if no matching', async () => { + httpMock + .scope('https://registry.npmjs.org') + .get('/debug') + .reply(200, { + name: 'debug', + repository: {}, + versions: { + '10.0.0': {}, + }, + 'dist-tags': { latest: '10.0.0' }, + }); + httpMock + .scope('https://registry.npmjs.org') + .get('/express') + .reply(200, expressJson); + expect( + await findFirstParentVersion('express', '4.16.1', 'debug', '9.0.0') + ).toBeNull(); + }); + }); +}); diff --git a/lib/manager/npm/update/locked-dependency/parent-version.ts b/lib/manager/npm/update/locked-dependency/parent-version.ts new file mode 100644 index 0000000000000000000000000000000000000000..7d547350a0410ee652592aa7f705804f050e9f26 --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/parent-version.ts @@ -0,0 +1,93 @@ +import { GetPkgReleasesConfig, getPkgReleases } from '../../../../datasource'; +import { logger } from '../../../../logger'; +import { api as semver } from '../../../../versioning/npm'; + +/** + * Finds the first stable version of parentName after parentStartingVersion which either: + * - depends on targetDepName@targetVersion or a range which it satisfies, OR + * - removes the dependency targetDepName altogether, OR + * - depends on any version of targetDepName higher than targetVersion + */ +export async function findFirstParentVersion( + parentName: string, + parentStartingVersion: string, + targetDepName: string, + targetVersion: string +): Promise<string | null> { + logger.debug( + `Finding first version of ${parentName} starting with ${parentStartingVersion} which supports >= ${targetDepName}@${targetVersion}` + ); + try { + let lookupConfig: GetPkgReleasesConfig = { + datasource: 'npm', + depName: targetDepName, + }; + const targetDep = await getPkgReleases(lookupConfig); + const targetVersions = targetDep.releases + .map((release) => release.version) + .filter( + (version) => + semver.isStable(version) && + (version === targetVersion || + semver.isGreaterThan(version, targetVersion)) + ); + lookupConfig = { + datasource: 'npm', + depName: parentName, + }; + const parentDep = await getPkgReleases(lookupConfig); + const parentVersions = parentDep.releases + .map((release) => release.version) + .filter( + (version) => + semver.isStable(version) && + (version === parentStartingVersion || + semver.isGreaterThan(version, parentStartingVersion)) + ) + .sort((v1, v2) => semver.sortVersions(v1, v2)); + // iterate through parentVersions in sorted order + for (const parentVersion of parentVersions) { + const { dependencies, devDependencies } = parentDep.releases.find( + (release) => release.version === parentVersion + ); + const constraint = + dependencies[targetDepName] || devDependencies[targetDepName]; + if (!constraint) { + logger.debug( + `${targetDepName} has been removed from ${parentName}@${parentVersion}` + ); + return parentVersion; + } + if (semver.matches(targetVersion, constraint)) { + // could be version or range + logger.debug( + `${targetDepName} needs ${parentName}@${parentVersion} which uses constraint "${constraint}" in order to update to ${targetVersion}` + ); + return parentVersion; + } + if (semver.isVersion(constraint)) { + if (semver.isGreaterThan(constraint, targetVersion)) { + // it's not the version we were after - the parent skipped to a higher version + logger.debug( + `${targetDepName} needs ${parentName}@${parentVersion} which uses version "${constraint}" in order to update to greater than ${targetVersion}` + ); + return parentVersion; + } + } else if ( + // check the range against all versions + targetVersions.some((version) => semver.matches(version, constraint)) + ) { + // the constraint didn't match the version we wanted, but it matches one of the versions higher + logger.debug( + `${targetDepName} needs ${parentName}@${parentVersion} which uses constraint "${constraint}" in order to update to greater than ${targetVersion}` + ); + return parentVersion; + } + } + } catch (err) /* istanbul ignore next */ { + logger.warn({ err }, 'findFirstSupportingVersion error'); + return null; + } + logger.debug(`Could not find a matching version`); + return null; +} diff --git a/lib/workers/branch/__snapshots__/get-updated.spec.ts.snap b/lib/workers/branch/__snapshots__/get-updated.spec.ts.snap index f6fdd541c1ac6b51c0617955f85097968fc5cc92..28862513be364ba57d9c56b4499637d744594aac 100644 --- a/lib/workers/branch/__snapshots__/get-updated.spec.ts.snap +++ b/lib/workers/branch/__snapshots__/get-updated.spec.ts.snap @@ -88,6 +88,34 @@ Object { } `; +exports[`workers/branch/get-updated getUpdatedPackageFiles() handles isRemediation rebase 1`] = ` +Object { + "artifactErrors": Array [], + "reuseExistingBranch": false, + "updatedArtifacts": Array [], + "updatedPackageFiles": Array [ + Object { + "contents": "new contents", + "name": "package-lock.json", + }, + ], +} +`; + +exports[`workers/branch/get-updated getUpdatedPackageFiles() handles isRemediation success 1`] = ` +Object { + "artifactErrors": Array [], + "reuseExistingBranch": undefined, + "updatedArtifacts": Array [], + "updatedPackageFiles": Array [ + Object { + "contents": "new contents", + "name": "package-lock.json", + }, + ], +} +`; + exports[`workers/branch/get-updated getUpdatedPackageFiles() handles lock file errors 1`] = ` Object { "artifactErrors": Array [ diff --git a/lib/workers/branch/get-updated.spec.ts b/lib/workers/branch/get-updated.spec.ts index a28f47fcd285bf79abdb4a5171712264fd0adf11..21adf701cec0369a0ff3c79ed10af70450ff51da 100644 --- a/lib/workers/branch/get-updated.spec.ts +++ b/lib/workers/branch/get-updated.spec.ts @@ -114,6 +114,30 @@ describe('workers/branch/get-updated', () => { const res = await getUpdatedPackageFiles(config); expect(res).toMatchSnapshot(); }); + it('handles isRemediation success', async () => { + config.upgrades.push({ + manager: 'npm', + isRemediation: true, + } as never); + npm.updateLockedDependency.mockResolvedValueOnce({ + 'package-lock.json': 'new contents', + }); + const res = await getUpdatedPackageFiles(config); + expect(res).toMatchSnapshot(); + }); + it('handles isRemediation rebase', async () => { + config.upgrades.push({ + manager: 'npm', + isRemediation: true, + } as never); + config.reuseExistingBranch = true; + git.getFile.mockResolvedValueOnce('existing content'); + npm.updateLockedDependency.mockResolvedValue({ + 'package-lock.json': 'new contents', + }); + const res = await getUpdatedPackageFiles(config); + expect(res).toMatchSnapshot(); + }); it('handles lockFileMaintenance error', async () => { config.upgrades.push({ manager: 'composer', diff --git a/lib/workers/branch/get-updated.ts b/lib/workers/branch/get-updated.ts index c23ca1e227b43063868a6691a6f24b26c7699bf1..fa5edf2dd9b2d56482492329bd62ee0e863729bf 100644 --- a/lib/workers/branch/get-updated.ts +++ b/lib/workers/branch/get-updated.ts @@ -29,7 +29,7 @@ export async function getUpdatedPackageFiles( const packageFileUpdatedDeps: Record<string, string[]> = {}; const lockFileMaintenanceFiles = []; for (const upgrade of config.upgrades) { - const { manager, packageFile, depName } = upgrade; + const { manager, packageFile, lockFile, depName } = upgrade; packageFileManagers[packageFile] = manager; packageFileUpdatedDeps[packageFile] = packageFileUpdatedDeps[packageFile] || []; @@ -42,7 +42,7 @@ export async function getUpdatedPackageFiles( ); } // istanbul ignore if - if (config.reuseExistingBranch && !packageFileContent) { + if (reuseExistingBranch && !packageFileContent) { logger.debug( { packageFile, depName }, 'Rebasing branch after file not found' @@ -54,6 +54,45 @@ export async function getUpdatedPackageFiles( } if (upgrade.updateType === 'lockFileMaintenance') { lockFileMaintenanceFiles.push(packageFile); + } else if (upgrade.isRemediation) { + let lockFileContent = updatedFileContents[lockFile]; + if (!lockFileContent) { + lockFileContent = await getFile( + lockFile, + reuseExistingBranch ? config.branchName : config.baseBranch + ); + } + // istanbul ignore if: to hard to test + if (reuseExistingBranch && !lockFileContent) { + logger.debug( + { lockFile, depName }, + 'Rebasing branch after lock file not found' + ); + return getUpdatedPackageFiles({ + ...config, + reuseExistingBranch: false, + }); + } + const updateLockedDependency = get(manager, 'updateLockedDependency'); + const files = await updateLockedDependency({ + ...upgrade, + packageFileContent, + lockFileContent, + }); + if (files) { + if (reuseExistingBranch) { + // This ensure it's always 1 commit from the bot + logger.debug( + { lockFile, depName }, + 'Need to update file(s) so will rebase first' + ); + return getUpdatedPackageFiles({ + ...config, + reuseExistingBranch: false, + }); + } + Object.assign(updatedFileContents, files); + } } else { const bumpPackageVersion = get(manager, 'bumpPackageVersion'); const updateDependency = get(manager, 'updateDependency'); @@ -122,7 +161,7 @@ export async function getUpdatedPackageFiles( newContent = bumpedContent; } if (!newContent) { - if (config.reuseExistingBranch) { + if (reuseExistingBranch) { logger.debug( { packageFile, depName }, 'Rebasing branch after error updating content' @@ -139,7 +178,7 @@ export async function getUpdatedPackageFiles( throw new Error(WORKER_FILE_UPDATE_FAILED); } if (newContent !== packageFileContent) { - if (config.reuseExistingBranch) { + if (reuseExistingBranch) { // This ensure it's always 1 commit from the bot logger.debug( { packageFile, depName }, @@ -150,7 +189,7 @@ export async function getUpdatedPackageFiles( reuseExistingBranch: false, }); } - logger.debug(`Updating ${depName} in ${packageFile}`); + logger.debug(`Updating ${depName} in ${packageFile || lockFile}`); updatedFileContents[packageFile] = newContent; } if (newContent === packageFileContent) { @@ -223,7 +262,7 @@ export async function getUpdatedPackageFiles( } } } - if (!config.reuseExistingBranch) { + if (!reuseExistingBranch) { // Only perform lock file maintenance if it's a fresh commit for (const packageFile of lockFileMaintenanceFiles) { const manager = packageFileManagers[packageFile]; @@ -233,7 +272,7 @@ export async function getUpdatedPackageFiles( updatedFileContents[packageFile] || (await getFile( packageFile, - config.reuseExistingBranch ? config.branchName : config.baseBranch + reuseExistingBranch ? config.branchName : config.baseBranch )); const results = await updateArtifacts({ packageFileName: packageFile, @@ -255,7 +294,7 @@ export async function getUpdatedPackageFiles( } } return { - reuseExistingBranch: config.reuseExistingBranch, // Need to overwrite original config + reuseExistingBranch, // Need to overwrite original config updatedPackageFiles, updatedArtifacts, artifactErrors, diff --git a/lib/workers/common.ts b/lib/workers/common.ts index 04676279254b8869c2c6e2527423956851eaf320..4974beeb7834bb3177195731acc70078028fc52d 100644 --- a/lib/workers/common.ts +++ b/lib/workers/common.ts @@ -41,7 +41,7 @@ export interface BranchUpgradeConfig language?: string; manager?: string; packageFile?: string; - + lockFile?: string; reuseExistingBranch?: boolean; prHeader?: string; prFooter?: string; diff --git a/lib/workers/repository/init/__snapshots__/vulnerability.spec.ts.snap b/lib/workers/repository/init/__snapshots__/vulnerability.spec.ts.snap index 7104a70fda60066ef6d9849d752a22224893b3d1..805bb0fb6ecb5f8ef2c37290dcb26c0fbccc58cd 100644 --- a/lib/workers/repository/init/__snapshots__/vulnerability.spec.ts.snap +++ b/lib/workers/repository/init/__snapshots__/vulnerability.spec.ts.snap @@ -1,19 +1,9 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`workers/repository/init/vulnerability detectVulnerabilityAlerts() returns alerts 1`] = ` +exports[`workers/repository/init/vulnerability detectVulnerabilityAlerts() returns alerts and remediations 1`] = ` Array [ Object { - "allowedVersions": "1.8.3", - "force": Object { - "branchTopic": "{{{datasource}}}-{{{depName}}}-vulnerability", - "commitMessageSuffix": "[SECURITY]", - "dependencyDashboardApproval": false, - "groupName": null, - "prCreation": "immediate", - "rangeStrategy": "update-lockfile", - "schedule": Array [], - }, - "isVulnerabilityAlert": true, + "enabled": false, "matchCurrentVersion": "= 1.8.2", "matchDatasources": Array [ "npm", @@ -24,12 +14,6 @@ Array [ "matchPackageNames": Array [ "electron", ], - "prBodyNotes": Array [ - "### GitHub Vulnerability Alerts", - "#### [GHSA-8xwg-wv7v-4vqp](https://nvd.nist.gov/vuln/detail/CVE-2018-1000136) - -Electron version 1.7 up to 1.7.12; 1.8 up to 1.8.3 and 2.0.0 up to 2.0.0-beta.3 contains an improper handling of values vulnerability in Webviews that can result in remote code execution. This attack appear to be exploitable via an app which allows execution of 3rd party code AND disallows node integration AND has not specified if webview is enabled/disabled. This vulnerability appears to have been fixed in 1.7.13, 1.8.4, 2.0.0-beta.4.", - ], }, Object { "allowedVersions": "==2.2.0", @@ -106,3 +90,22 @@ An issue was discovered in FasterXML jackson-databind prior to 2.7.9.4, 2.8.11.2 }, ] `; + +exports[`workers/repository/init/vulnerability detectVulnerabilityAlerts() returns alerts and remediations 2`] = ` +Object { + "backend/package-lock.json": Array [ + Object { + "currentVersion": "1.8.2", + "datasource": "npm", + "depName": "electron", + "newVersion": "1.8.3", + "prBodyNotes": Array [ + "### GitHub Vulnerability Alerts", + "#### [GHSA-8xwg-wv7v-4vqp](https://nvd.nist.gov/vuln/detail/CVE-2018-1000136) + +Electron version 1.7 up to 1.7.12; 1.8 up to 1.8.3 and 2.0.0 up to 2.0.0-beta.3 contains an improper handling of values vulnerability in Webviews that can result in remote code execution. This attack appear to be exploitable via an app which allows execution of 3rd party code AND disallows node integration AND has not specified if webview is enabled/disabled. This vulnerability appears to have been fixed in 1.7.13, 1.8.4, 2.0.0-beta.4.", + ], + }, + ], +} +`; diff --git a/lib/workers/repository/init/vulnerability.spec.ts b/lib/workers/repository/init/vulnerability.spec.ts index b322efd45782fe8dc31d42babbf1d7aea7a1d77d..cec4f4fe194727725cbb2a3de12a76341393b62c 100644 --- a/lib/workers/repository/init/vulnerability.spec.ts +++ b/lib/workers/repository/init/vulnerability.spec.ts @@ -36,7 +36,8 @@ describe('workers/repository/init/vulnerability', () => { NO_VULNERABILITY_ALERTS ); }); - it('returns alerts', async () => { + it('returns alerts and remediations', async () => { + config.transitiveRemediation = true; delete config.vulnerabilityAlerts.enabled; platform.getVulnerabilityAlerts.mockResolvedValue([ partial<VulnerabilityAlert>({}), @@ -273,6 +274,7 @@ describe('workers/repository/init/vulnerability', () => { const res = await detectVulnerabilityAlerts(config); expect(res.packageRules).toMatchSnapshot(); expect(res.packageRules).toHaveLength(3); + expect(res.remediations).toMatchSnapshot(); }); }); }); diff --git a/lib/workers/repository/init/vulnerability.ts b/lib/workers/repository/init/vulnerability.ts index 22ea4001ffa1218728ddb89b2e8a2d3ec09e8189..666ce7c5c9cb1ebedfb889f6b8084ae05b308b51 100644 --- a/lib/workers/repository/init/vulnerability.ts +++ b/lib/workers/repository/init/vulnerability.ts @@ -31,6 +31,7 @@ type CombinedAlert = Record< VulnerableRequirements, { advisories: SecurityAdvisory[]; + fileType?: string; firstPatchedVersion?: string; } > @@ -88,6 +89,7 @@ export async function detectVulnerabilityAlerts( datasourceMapping[alert.securityVulnerability.package.ecosystem]; const depName = alert.securityVulnerability.package.name; const fileName = alert.vulnerableManifestPath; + const fileType = alert.vulnerableManifestFilename; const firstPatchedVersion = alert.securityVulnerability.firstPatchedVersion.identifier; const advisory = alert.securityAdvisory; @@ -125,11 +127,13 @@ export async function detectVulnerabilityAlerts( } else { logger.debug('Invalid firstPatchedVersion: ' + firstPatchedVersion); } + alertDetails.fileType = fileType; } catch (err) { logger.warn({ err }, 'Error parsing vulnerability alert'); } } const alertPackageRules: PackageRule[] = []; + config.remediations = {} as never; for (const [fileName, files] of Object.entries(combinedAlerts)) { for (const [datasource, dependencies] of Object.entries(files)) { for (const [depName, currentValues] of Object.entries(dependencies)) { @@ -174,13 +178,36 @@ export async function detectVulnerabilityAlerts( matchPackageNames: [depName], matchCurrentVersion, matchFiles: [fileName], - allowedVersions, - prBodyNotes, - isVulnerabilityAlert: true, - force: { - ...config.vulnerabilityAlerts, - }, }; + const supportedRemediationFileTypes = ['package-lock.json']; + if ( + config.transitiveRemediation && + supportedRemediationFileTypes.includes(val.fileType) + ) { + config.remediations[fileName] ||= []; + const currentVersion = matchCurrentVersion.replace('=', '').trim(); + const newVersion = allowedVersions; + const remediation = { + datasource, + depName, + currentVersion, + newVersion, + prBodyNotes, + }; + config.remediations[fileName].push(remediation); + // Disable the package rule as all vulnerabilities will be remediated via the lock file + matchRule.enabled = false; + } else { + // Remediate only direct dependencies + Object.assign(matchRule, { + allowedVersions, + prBodyNotes, + isVulnerabilityAlert: true, + force: { + ...config.vulnerabilityAlerts, + }, + }); + } alertPackageRules.push(matchRule); } } diff --git a/lib/workers/repository/updates/flatten.spec.ts b/lib/workers/repository/updates/flatten.spec.ts index 5b6e0631e398832d8334c7e866f288c97ca20267..b7359abf533f63dd3ded69ad12614a598270be39 100644 --- a/lib/workers/repository/updates/flatten.spec.ts +++ b/lib/workers/repository/updates/flatten.spec.ts @@ -27,10 +27,22 @@ describe('workers/repository/updates/flatten', () => { }, }, ]; + config.remediations = { + 'package-lock.json': [ + { + datasoource: 'npm', + depName: 'foo', + currentVersion: '1.2.0', + newVersion: '1.3.0', + prBodyNotes: '', + }, + ], + }; const packageFiles = { npm: [ { packageFile: 'package.json', + lockFiles: ['package-lock.json'], deps: [ { depName: '@org/a', updates: [{ newValue: '1.0.0' }] }, { depName: 'foo', updates: [{ newValue: '2.0.0' }] }, @@ -96,11 +108,12 @@ describe('workers/repository/updates/flatten', () => { ], }; const res = await flattenUpdates(config, packageFiles); - expect(res).toHaveLength(12); + expect(res).toHaveLength(13); expect( res.filter((r) => r.updateType === 'lockFileMaintenance') ).toHaveLength(2); - expect(res.filter((r) => r.depNameShort)).toHaveLength(9); // lockFileMaintenance has no depName + expect(res.filter((r) => r.isVulnerabilityAlert)).toHaveLength(1); + expect(res.filter((r) => r.depNameShort)).toHaveLength(10); // lockFileMaintenance has no depName }); }); }); diff --git a/lib/workers/repository/updates/flatten.ts b/lib/workers/repository/updates/flatten.ts index 73cfce1bd14dddc70367015f9d2cc25577e45497..569435583b971593fc2440cba619f865d6329e30 100644 --- a/lib/workers/repository/updates/flatten.ts +++ b/lib/workers/repository/updates/flatten.ts @@ -134,9 +134,34 @@ export async function flattenUpdates( generateBranchName(lockFileConfig); updates.push(lockFileConfig); } + if (get(manager, 'updateLockedDependency')) { + for (const lockFile of packageFileConfig.lockFiles || []) { + const remediations = config.remediations?.[lockFile]; + if (remediations) { + for (const remediation of remediations) { + let updateConfig = mergeChildConfig( + packageFileConfig, + remediation + ); + updateConfig = mergeChildConfig( + updateConfig, + config.vulnerabilityAlerts + ); + updateConfig.isVulnerabilityAlert = true; + updateConfig.isRemediation = true; + updateConfig.lockFile = lockFile; + updateConfig.currentValue = updateConfig.currentVersion; + updateConfig.newValue = updateConfig.newVersion; + updateConfig = applyUpdateConfig(updateConfig); + updates.push(updateConfig); + } + } + } + } } } return updates .filter((update) => update.enabled) + .map(({ vulnerabilityAlerts, ...update }) => update) .map((update) => filterConfig(update, 'branch')); }