{"name":"express","description":"Fast, unopinionated, minimalist web framework","version":"4.22.1","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"Ciaran Jessup","email":"ciaranj@gmail.com"},{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Guillermo Rauch","email":"rauchg@gmail.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com"},{"name":"Roman Shtylman","email":"shtylman+expressjs@gmail.com"},{"name":"Young Jae Sim","email":"hanul@hanul.me"}],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/expressjs/express.git"},"homepage":"http://expressjs.com/","funding":{"type":"opencollective","url":"https://opencollective.com/express"},"keywords":["express","framework","sinatra","web","http","rest","restful","router","app","api"],"dependencies":{"accepts":"~1.3.8","array-flatten":"1.1.1","body-parser":"~1.20.3","content-disposition":"~0.5.4","content-type":"~1.0.4","cookie":"~0.7.1","cookie-signature":"~1.0.6","debug":"2.6.9","depd":"2.0.0","encodeurl":"~2.0.0","escape-html":"~1.0.3","etag":"~1.8.1","finalhandler":"~1.3.1","fresh":"~0.5.2","http-errors":"~2.0.0","merge-descriptors":"1.0.3","methods":"~1.1.2","on-finished":"~2.4.1","parseurl":"~1.3.3","path-to-regexp":"~0.1.12","proxy-addr":"~2.0.7","qs":"~6.14.0","range-parser":"~1.2.1","safe-buffer":"5.2.1","send":"~0.19.0","serve-static":"~1.16.2","setprototypeof":"1.2.0","statuses":"~2.0.1","type-is":"~1.6.18","utils-merge":"1.0.1","vary":"~1.1.2"},"devDependencies":{"after":"0.8.2","connect-redis":"3.4.2","cookie-parser":"1.4.6","cookie-session":"2.0.0","ejs":"3.1.9","eslint":"8.47.0","express-session":"1.17.2","hbs":"4.2.0","marked":"0.7.0","method-override":"3.0.0","mocha":"^6.2.2","morgan":"1.10.0","nyc":"^14.1.1","pbkdf2-password":"1.2.1","supertest":"^6.1.6","vhost":"~3.0.2"},"engines":{"node":">= 0.10.0"},"scripts":{"lint":"eslint .","test":"mocha --require test/support/env --reporter spec --bail --check-leaks test/ test/acceptance/","test-ci":"nyc --exclude examples --exclude test --exclude benchmarks --reporter=lcovonly --reporter=text npm test","test-cov":"nyc --exclude examples --exclude test --exclude benchmarks --reporter=html --reporter=text npm test","test-tap":"mocha --require test/support/env --reporter tap --check-leaks test/ test/acceptance/"},"_id":"express@4.22.1","readmeFilename":"Readme.md","gitHead":"12fae14531a78f19a2caaa5d4f58d9b01eaf3194","bugs":{"url":"https://github.com/expressjs/express/issues"},"_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"shasum":"1de23a09745a4fffdb39247b344bb5eaff382069","size":58157,"noattachment":false,"key":"/express/-/express-4.22.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express/download/express-4.22.1.tgz"},"_npmUser":{"name":"jonchurch","email":"npm@jonchurch.com"},"directories":{},"maintainers":[{"name":"ctcpip","email":""},{"name":"jonchurch","email":""},{"name":"sheplu","email":""},{"name":"ulisesgascon","email":""},{"name":"wesleytodd","email":"wes@wesleytodd.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express_4.22.1_1764622240905_0.2146183258182699"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-01T20:50:41.122Z","publish_time":1764622241122,"_source_registry_name":"default","_cnpm_publish_time":1764622241122,"dist-tags":{"latest":"5.2.1","latest-4":"4.22.1"}}