diff --git a/lib/manager/npm/post-update/index.ts b/lib/manager/npm/post-update/index.ts index 03ec150b52bcca..c4b880b3d9c05b 100644 --- a/lib/manager/npm/post-update/index.ts +++ b/lib/manager/npm/post-update/index.ts @@ -252,9 +252,12 @@ export async function writeUpdatedPackageFiles( return; } const { localDir } = GlobalConfig.get(); + const supportedLockFiles = ['package-lock.json']; for (const packageFile of config.updatedPackageFiles) { - if (packageFile.name.endsWith('package-lock.json')) { - logger.debug(`Writing package-lock file: ${packageFile.name}`); + if ( + supportedLockFiles.some((fileName) => packageFile.name.endsWith(fileName)) + ) { + logger.debug(`Writing lock file: ${packageFile.name}`); await outputFile( upath.join(localDir, packageFile.name), packageFile.contents 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 deleted file mode 100644 index 4e49a07769db21..00000000000000 --- a/lib/manager/npm/update/locked-dependency/__snapshots__/dep-constraints.spec.ts.snap +++ /dev/null @@ -1,29 +0,0 @@ -// 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/__fixtures__/express.json b/lib/manager/npm/update/locked-dependency/common/__fixtures__/express.json similarity index 100% rename from lib/manager/npm/update/locked-dependency/__fixtures__/express.json rename to lib/manager/npm/update/locked-dependency/common/__fixtures__/express.json diff --git a/lib/manager/npm/update/locked-dependency/__snapshots__/parent-version.spec.ts.snap b/lib/manager/npm/update/locked-dependency/common/__snapshots__/parent-version.spec.ts.snap similarity index 76% rename from lib/manager/npm/update/locked-dependency/__snapshots__/parent-version.spec.ts.snap rename to lib/manager/npm/update/locked-dependency/common/__snapshots__/parent-version.spec.ts.snap index a9619750b5058e..91d68745a95c5b 100644 --- a/lib/manager/npm/update/locked-dependency/__snapshots__/parent-version.spec.ts.snap +++ b/lib/manager/npm/update/locked-dependency/common/__snapshots__/parent-version.spec.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`manager/npm/update/locked-dependency/parent-version getLockedDependencies() finds indirect dependency 1`] = ` +exports[`manager/npm/update/locked-dependency/common/parent-version getLockedDependencies() finds indirect dependency 1`] = ` Array [ Object { "headers": Object { @@ -25,7 +25,7 @@ Array [ ] `; -exports[`manager/npm/update/locked-dependency/parent-version getLockedDependencies() finds removed dependencies 1`] = ` +exports[`manager/npm/update/locked-dependency/common/parent-version getLockedDependencies() finds removed dependencies 1`] = ` Array [ Object { "headers": Object { @@ -40,7 +40,7 @@ Array [ ] `; -exports[`manager/npm/update/locked-dependency/parent-version getLockedDependencies() finds when a greater version is needed 1`] = ` +exports[`manager/npm/update/locked-dependency/common/parent-version getLockedDependencies() finds when a greater version is needed 1`] = ` Array [ Object { "headers": Object { @@ -55,7 +55,7 @@ Array [ ] `; -exports[`manager/npm/update/locked-dependency/parent-version getLockedDependencies() finds when a range matches greater versions 1`] = ` +exports[`manager/npm/update/locked-dependency/common/parent-version getLockedDependencies() finds when a range matches greater versions 1`] = ` Array [ Object { "headers": Object { @@ -70,7 +70,7 @@ Array [ ] `; -exports[`manager/npm/update/locked-dependency/parent-version getLockedDependencies() returns null if no matching 1`] = ` +exports[`manager/npm/update/locked-dependency/common/parent-version getLockedDependencies() returns null if no matching 1`] = ` Array [ Object { "headers": Object { diff --git a/lib/manager/npm/update/locked-dependency/parent-version.spec.ts b/lib/manager/npm/update/locked-dependency/common/parent-version.spec.ts similarity index 93% rename from lib/manager/npm/update/locked-dependency/parent-version.spec.ts rename to lib/manager/npm/update/locked-dependency/common/parent-version.spec.ts index 5ecfd4fee648f7..145e6c46759282 100644 --- a/lib/manager/npm/update/locked-dependency/parent-version.spec.ts +++ b/lib/manager/npm/update/locked-dependency/common/parent-version.spec.ts @@ -1,10 +1,10 @@ -import * as httpMock from '../../../../../test/http-mock'; -import { loadJsonFixture } from '../../../../../test/util'; +import * as httpMock from '../../../../../../test/http-mock'; +import { loadJsonFixture } from '../../../../../../test/util'; import { findFirstParentVersion } from './parent-version'; const expressJson = loadJsonFixture('express.json'); -describe('manager/npm/update/locked-dependency/parent-version', () => { +describe('manager/npm/update/locked-dependency/common/parent-version', () => { describe('getLockedDependencies()', () => { it('finds indirect dependency', async () => { httpMock diff --git a/lib/manager/npm/update/locked-dependency/parent-version.ts b/lib/manager/npm/update/locked-dependency/common/parent-version.ts similarity index 95% rename from lib/manager/npm/update/locked-dependency/parent-version.ts rename to lib/manager/npm/update/locked-dependency/common/parent-version.ts index abd5d24151a621..8c777c3680ae8a 100644 --- a/lib/manager/npm/update/locked-dependency/parent-version.ts +++ b/lib/manager/npm/update/locked-dependency/common/parent-version.ts @@ -1,6 +1,9 @@ -import { GetPkgReleasesConfig, getPkgReleases } from '../../../../datasource'; -import { logger } from '../../../../logger'; -import { api as semver } from '../../../../versioning/npm'; +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: diff --git a/lib/manager/npm/update/locked-dependency/index.spec.ts b/lib/manager/npm/update/locked-dependency/index.spec.ts index 2e9431873381e1..022b2f4077b21c 100644 --- a/lib/manager/npm/update/locked-dependency/index.spec.ts +++ b/lib/manager/npm/update/locked-dependency/index.spec.ts @@ -4,14 +4,16 @@ import { clone } from '../../../../util/clone'; import type { UpdateLockedConfig } from '../../../types'; import { updateLockedDependency } from '.'; -const packageFileContent = loadFixture('package.json'); -const lockFileContent = loadFixture('package-lock.json'); -const acceptsJson = JSON.parse(loadFixture('accepts.json')); -const expressJson = JSON.parse(loadFixture('express.json')); -const mimeJson = JSON.parse(loadFixture('mime.json')); -const serveStaticJson = JSON.parse(loadFixture('serve-static.json')); -const sendJson = JSON.parse(loadFixture('send.json')); -const typeIsJson = JSON.parse(loadFixture('type-is.json')); +const packageFileContent = loadFixture('package.json', './package-lock'); +const lockFileContent = loadFixture('package-lock.json', './package-lock'); +const acceptsJson = JSON.parse(loadFixture('accepts.json', './package-lock')); +const expressJson = JSON.parse(loadFixture('express.json', './common')); +const mimeJson = JSON.parse(loadFixture('mime.json', './package-lock')); +const serveStaticJson = JSON.parse( + loadFixture('serve-static.json', './package-lock') +); +const sendJson = JSON.parse(loadFixture('send.json', './package-lock')); +const typeIsJson = JSON.parse(loadFixture('type-is.json', './package-lock')); describe('manager/npm/update/locked-dependency/index', () => { describe('updateLockedDependency()', () => { diff --git a/lib/manager/npm/update/locked-dependency/index.ts b/lib/manager/npm/update/locked-dependency/index.ts index e915cdcfec6e65..08198cd155ec15 100644 --- a/lib/manager/npm/update/locked-dependency/index.ts +++ b/lib/manager/npm/update/locked-dependency/index.ts @@ -1,203 +1,19 @@ -import detectIndent from 'detect-indent'; -import type { PackageJson } from 'type-fest'; import { logger } from '../../../../logger'; -import { api as semver } from '../../../../versioning/npm'; +import * as semver from '../../../../versioning/semver'; import type { UpdateLockedConfig } from '../../../types'; -import { updateDependency } from '../dependency'; -import { findDepConstraints } from './dep-constraints'; -import { getLockedDependencies } from './get-locked'; -import { findFirstParentVersion } from './parent-version'; -import type { PackageLockOrEntry } from './types'; +import * as packageLock from './package-lock'; -export function validateInputs(config: UpdateLockedConfig): boolean { +export function updateLockedDependency( + config: UpdateLockedConfig +): Promise> { 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({ config }, 'Update versions are not valid'); - return false; - } - return true; -} - -export async function updateLockedDependency( - config: UpdateLockedConfig, - isParentUpdate = false -): Promise> { - 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; - const detectedIndent = detectIndent(lockFileContent).indent || ' '; - 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) { - const res = {}; - res[packageFile] = packageFileContent; - res[lockFile] = lockFileContent; - return res; - } - return null; - } - logger.debug( - `Found matching dependencies with length ${lockedDeps.length}` - ); - const constraints = findDepConstraints( - packageJson, - packageLockJson, - depName, - currentVersion, - newVersion - ); - logger.trace({ deps: lockedDeps, constraints }, 'Matching details'); - if (!constraints.length) { - logger.info( - { depName, currentVersion, newVersion }, - 'Could not find constraints for the locked dependency - cannot remediate' - ); - 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, - null, - detectedIndent - ); - // iterate through the parent updates first - for (const parentUpdate of parentUpdates) { - const parentUpdateConfig = { - ...config, - lockFileContent: newLockFileContent, - packageFileContent: newPackageJsonContent || packageFileContent, - ...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] || newLockFileContent; - } - const files = {}; - if (newLockFileContent) { - files[lockFile] = newLockFileContent; - } - if (newPackageJsonContent) { - files[packageFile] = newPackageJsonContent; - } - return files; - } catch (err) /* istanbul ignore next */ { - logger.error({ err }, 'updateLockedDependency() error'); return null; } + if (lockFile.endsWith('package-lock.json')) { + return packageLock.updateLockedDependency(config); + } + logger.debug({ lockFile }, 'Unsupported lock file'); + return null; } diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/accepts.json b/lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/accepts.json similarity index 100% rename from lib/manager/npm/update/locked-dependency/__fixtures__/accepts.json rename to lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/accepts.json diff --git a/lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/express.json b/lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/express.json new file mode 100644 index 00000000000000..e02c672f69d0b5 --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/package-lock/__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/package-lock/__fixtures__/mime.json similarity index 100% rename from lib/manager/npm/update/locked-dependency/__fixtures__/mime.json rename to lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/mime.json diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/package-lock.json b/lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/package-lock.json similarity index 100% rename from lib/manager/npm/update/locked-dependency/__fixtures__/package-lock.json rename to lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/package-lock.json diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/package.json b/lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/package.json similarity index 100% rename from lib/manager/npm/update/locked-dependency/__fixtures__/package.json rename to lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/package.json diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/send.json b/lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/send.json similarity index 100% rename from lib/manager/npm/update/locked-dependency/__fixtures__/send.json rename to lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/send.json diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/serve-static.json b/lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/serve-static.json similarity index 100% rename from lib/manager/npm/update/locked-dependency/__fixtures__/serve-static.json rename to lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/serve-static.json diff --git a/lib/manager/npm/update/locked-dependency/__fixtures__/type-is.json b/lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/type-is.json similarity index 100% rename from lib/manager/npm/update/locked-dependency/__fixtures__/type-is.json rename to lib/manager/npm/update/locked-dependency/package-lock/__fixtures__/type-is.json diff --git a/lib/manager/npm/update/locked-dependency/package-lock/__snapshots__/dep-constraints.spec.ts.snap b/lib/manager/npm/update/locked-dependency/package-lock/__snapshots__/dep-constraints.spec.ts.snap new file mode 100644 index 00000000000000..f784dddca7160a --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/package-lock/__snapshots__/dep-constraints.spec.ts.snap @@ -0,0 +1,29 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`manager/npm/update/locked-dependency/package-lock/dep-constraints findDepConstraints() finds direct dependency 1`] = ` +Array [ + Object { + "constraint": "4.0.0", + "depType": "dependencies", + }, +] +`; + +exports[`manager/npm/update/locked-dependency/package-lock/dep-constraints findDepConstraints() finds direct devDependency 1`] = ` +Array [ + Object { + "constraint": "4.0.0", + "depType": "devDependencies", + }, +] +`; + +exports[`manager/npm/update/locked-dependency/package-lock/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/package-lock/__snapshots__/get-locked.spec.ts.snap similarity index 80% rename from lib/manager/npm/update/locked-dependency/__snapshots__/get-locked.spec.ts.snap rename to lib/manager/npm/update/locked-dependency/package-lock/__snapshots__/get-locked.spec.ts.snap index 9e5cf94a7fe6f6..ed0a953b1ea712 100644 --- a/lib/manager/npm/update/locked-dependency/__snapshots__/get-locked.spec.ts.snap +++ b/lib/manager/npm/update/locked-dependency/package-lock/__snapshots__/get-locked.spec.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`manager/npm/update/locked-dependency/get-locked getLockedDependencies() finds direct dependency 1`] = ` +exports[`manager/npm/update/locked-dependency/package-lock/get-locked getLockedDependencies() finds direct dependency 1`] = ` Array [ Object { "integrity": "sha1-J03IKTPJ9XTMOKDOXqgXK+nGsJQ=", @@ -29,7 +29,7 @@ Array [ ] `; -exports[`manager/npm/update/locked-dependency/get-locked getLockedDependencies() finds indirect dependency 1`] = ` +exports[`manager/npm/update/locked-dependency/package-lock/get-locked getLockedDependencies() finds indirect dependency 1`] = ` Array [ Object { "integrity": "sha1-Bnq/Rc/4v/spy9t0OXJbMjiKLFg=", diff --git a/lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts b/lib/manager/npm/update/locked-dependency/package-lock/dep-constraints.spec.ts similarity index 86% rename from lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts rename to lib/manager/npm/update/locked-dependency/package-lock/dep-constraints.spec.ts index d5c7effca9b3be..db3dd66d6fdcad 100644 --- a/lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts +++ b/lib/manager/npm/update/locked-dependency/package-lock/dep-constraints.spec.ts @@ -1,12 +1,12 @@ -import { loadJsonFixture } from '../../../../../test/util'; +import { loadJsonFixture } from '../../../../../../test/util'; import { findDepConstraints } from './dep-constraints'; -jest.mock('../../../../util/fs'); +jest.mock('../../../../../util/fs'); const packageJson = loadJsonFixture('package.json'); const packageLockJson = loadJsonFixture('package-lock.json'); -describe('manager/npm/update/locked-dependency/dep-constraints', () => { +describe('manager/npm/update/locked-dependency/package-lock/dep-constraints', () => { describe('findDepConstraints()', () => { it('finds indirect dependency', () => { // FIXME: explicit assert condition diff --git a/lib/manager/npm/update/locked-dependency/dep-constraints.ts b/lib/manager/npm/update/locked-dependency/package-lock/dep-constraints.ts similarity index 93% rename from lib/manager/npm/update/locked-dependency/dep-constraints.ts rename to lib/manager/npm/update/locked-dependency/package-lock/dep-constraints.ts index 88e4eb48532c12..ae696bca2d418b 100644 --- a/lib/manager/npm/update/locked-dependency/dep-constraints.ts +++ b/lib/manager/npm/update/locked-dependency/package-lock/dep-constraints.ts @@ -1,7 +1,7 @@ import type { PackageJson } from 'type-fest'; -import { logger } from '../../../../logger'; -import { regEx } from '../../../../util/regex'; -import { api as semver } from '../../../../versioning/npm'; +import { logger } from '../../../../../logger'; +import { regEx } from '../../../../../util/regex'; +import { api as semver } from '../../../../../versioning/npm'; import type { PackageLockOrEntry, ParentDependency } from './types'; // Finds all parent dependencies for a given depName@currentVersion diff --git a/lib/manager/npm/update/locked-dependency/get-locked.spec.ts b/lib/manager/npm/update/locked-dependency/package-lock/get-locked.spec.ts similarity index 82% rename from lib/manager/npm/update/locked-dependency/get-locked.spec.ts rename to lib/manager/npm/update/locked-dependency/package-lock/get-locked.spec.ts index 1c0ad4c656290d..04ffc599f6a321 100644 --- a/lib/manager/npm/update/locked-dependency/get-locked.spec.ts +++ b/lib/manager/npm/update/locked-dependency/package-lock/get-locked.spec.ts @@ -1,11 +1,11 @@ -import { loadJsonFixture } from '../../../../../test/util'; +import { loadJsonFixture } from '../../../../../../test/util'; import { getLockedDependencies } from './get-locked'; -jest.mock('../../../../util/fs'); +jest.mock('../../../../../util/fs'); const packageLockJson = loadJsonFixture('package-lock.json'); -describe('manager/npm/update/locked-dependency/get-locked', () => { +describe('manager/npm/update/locked-dependency/package-lock/get-locked', () => { describe('getLockedDependencies()', () => { it('handles error', () => { expect(getLockedDependencies(null as any, 'some-dep', '1.0.0')).toEqual( diff --git a/lib/manager/npm/update/locked-dependency/get-locked.ts b/lib/manager/npm/update/locked-dependency/package-lock/get-locked.ts similarity index 94% rename from lib/manager/npm/update/locked-dependency/get-locked.ts rename to lib/manager/npm/update/locked-dependency/package-lock/get-locked.ts index 02ed1b85b85a72..2da3363c166388 100644 --- a/lib/manager/npm/update/locked-dependency/get-locked.ts +++ b/lib/manager/npm/update/locked-dependency/package-lock/get-locked.ts @@ -1,4 +1,4 @@ -import { logger } from '../../../../logger'; +import { logger } from '../../../../../logger'; import type { PackageLockDependency, PackageLockOrEntry } from './types'; // Finds matching dependencies withing a package lock file of sub-entry diff --git a/lib/manager/npm/update/locked-dependency/package-lock/index.ts b/lib/manager/npm/update/locked-dependency/package-lock/index.ts new file mode 100644 index 00000000000000..0aa2d7e4583b64 --- /dev/null +++ b/lib/manager/npm/update/locked-dependency/package-lock/index.ts @@ -0,0 +1,187 @@ +import detectIndent from 'detect-indent'; +import type { PackageJson } from 'type-fest'; +import { logger } from '../../../../../logger'; +import { api as semver } from '../../../../../versioning/npm'; +import type { UpdateLockedConfig } from '../../../../types'; +import { updateDependency } from '../../dependency'; +import { findFirstParentVersion } from '../common/parent-version'; +import { findDepConstraints } from './dep-constraints'; +import { getLockedDependencies } from './get-locked'; +import type { PackageLockOrEntry } from './types'; + +export async function updateLockedDependency( + config: UpdateLockedConfig, + isParentUpdate = false +): Promise> { + const { + depName, + currentVersion, + newVersion, + packageFile, + packageFileContent, + lockFile, + lockFileContent, + } = config; + logger.debug( + `npm.updateLockedDependency: ${depName}@${currentVersion} -> ${newVersion} [${lockFile}]` + ); + try { + let packageJson: PackageJson; + let packageLockJson: PackageLockOrEntry; + const detectedIndent = detectIndent(lockFileContent).indent || ' '; + 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) { + const res = {}; + res[packageFile] = packageFileContent; + res[lockFile] = lockFileContent; + return res; + } + return null; + } + logger.debug( + `Found matching dependencies with length ${lockedDeps.length}` + ); + const constraints = findDepConstraints( + packageJson, + packageLockJson, + depName, + currentVersion, + newVersion + ); + logger.trace({ deps: lockedDeps, constraints }, 'Matching details'); + if (!constraints.length) { + logger.info( + { depName, currentVersion, newVersion }, + 'Could not find constraints for the locked dependency - cannot remediate' + ); + 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, + null, + detectedIndent + ); + // iterate through the parent updates first + for (const parentUpdate of parentUpdates) { + const parentUpdateConfig = { + ...config, + lockFileContent: newLockFileContent, + packageFileContent: newPackageJsonContent || packageFileContent, + ...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] || newLockFileContent; + } + const files = {}; + if (newLockFileContent) { + 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/types.ts b/lib/manager/npm/update/locked-dependency/package-lock/types.ts similarity index 100% rename from lib/manager/npm/update/locked-dependency/types.ts rename to lib/manager/npm/update/locked-dependency/package-lock/types.ts