{
  "manifest": {
    "name": "express",
    "description": "Fast, unopinionated, minimalist web framework",
    "version": "4.19.2",
    "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": "https://github.com/expressjs/express.git"
    },
    "homepage": "http://expressjs.com/",
    "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.2",
      "content-disposition": "0.5.4",
      "content-type": "~1.0.4",
      "cookie": "0.6.0",
      "cookie-signature": "1.0.6",
      "debug": "2.6.9",
      "depd": "2.0.0",
      "encodeurl": "~1.0.2",
      "escape-html": "~1.0.3",
      "etag": "~1.8.1",
      "finalhandler": "1.2.0",
      "fresh": "0.5.2",
      "http-errors": "2.0.0",
      "merge-descriptors": "1.0.1",
      "methods": "~1.1.2",
      "on-finished": "2.4.1",
      "parseurl": "~1.3.3",
      "path-to-regexp": "0.1.7",
      "proxy-addr": "~2.0.7",
      "qs": "6.11.0",
      "range-parser": "~1.2.1",
      "safe-buffer": "5.2.1",
      "send": "0.18.0",
      "serve-static": "1.15.0",
      "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": "10.2.0",
      "morgan": "1.10.0",
      "nyc": "15.1.0",
      "pbkdf2-password": "1.2.1",
      "supertest": "6.3.0",
      "vhost": "~3.0.2"
    },
    "engines": {
      "node": ">= 0.10.0"
    },
    "files": [
      "LICENSE",
      "History.md",
      "Readme.md",
      "index.js",
      "lib/"
    ],
    "scripts": {
      "lint": "eslint .",
      "test": "mocha --require test/support/env --reporter spec --bail --check-leaks test/ test/acceptance/",
      "test-ci": "nyc --reporter=lcovonly --reporter=text npm test",
      "test-cov": "nyc --reporter=html --reporter=text npm test",
      "test-tap": "mocha --require test/support/env --reporter tap --check-leaks test/ test/acceptance/"
    },
    "_registry": "npm",
    "_loc": "/homez.1033/heliovt/.cache/yarn/v6/npm-express-4.19.2-e25437827a3aa7f2a827bc8171bbbb664a356465-integrity/node_modules/express/package.json",
    "readmeFilename": "Readme.md",
    "readme": "[![Express Logo](https://i.cloudup.com/zfY6lL7eFa-3000x3000.png)](http://expressjs.com/)\n\n  Fast, unopinionated, minimalist web framework for [Node.js](http://nodejs.org).\n\n  [![NPM Version][npm-version-image]][npm-url]\n  [![NPM Install Size][npm-install-size-image]][npm-install-size-url]\n  [![NPM Downloads][npm-downloads-image]][npm-downloads-url]\n\n```js\nconst express = require('express')\nconst app = express()\n\napp.get('/', function (req, res) {\n  res.send('Hello World')\n})\n\napp.listen(3000)\n```\n\n## Installation\n\nThis is a [Node.js](https://nodejs.org/en/) module available through the\n[npm registry](https://www.npmjs.com/).\n\nBefore installing, [download and install Node.js](https://nodejs.org/en/download/).\nNode.js 0.10 or higher is required.\n\nIf this is a brand new project, make sure to create a `package.json` first with\nthe [`npm init` command](https://docs.npmjs.com/creating-a-package-json-file).\n\nInstallation is done using the\n[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):\n\n```console\n$ npm install express\n```\n\nFollow [our installing guide](http://expressjs.com/en/starter/installing.html)\nfor more information.\n\n## Features\n\n  * Robust routing\n  * Focus on high performance\n  * Super-high test coverage\n  * HTTP helpers (redirection, caching, etc)\n  * View system supporting 14+ template engines\n  * Content negotiation\n  * Executable for generating applications quickly\n\n## Docs & Community\n\n  * [Website and Documentation](http://expressjs.com/) - [[website repo](https://github.com/expressjs/expressjs.com)]\n  * [#express](https://web.libera.chat/#express) on [Libera Chat](https://libera.chat) IRC\n  * [GitHub Organization](https://github.com/expressjs) for Official Middleware & Modules\n  * Visit the [Wiki](https://github.com/expressjs/express/wiki)\n  * [Google Group](https://groups.google.com/group/express-js) for discussion\n  * [Gitter](https://gitter.im/expressjs/express) for support and discussion\n\n**PROTIP** Be sure to read [Migrating from 3.x to 4.x](https://github.com/expressjs/express/wiki/Migrating-from-3.x-to-4.x) as well as [New features in 4.x](https://github.com/expressjs/express/wiki/New-features-in-4.x).\n\n## Quick Start\n\n  The quickest way to get started with express is to utilize the executable [`express(1)`](https://github.com/expressjs/generator) to generate an application as shown below:\n\n  Install the executable. The executable's major version will match Express's:\n\n```console\n$ npm install -g express-generator@4\n```\n\n  Create the app:\n\n```console\n$ express /tmp/foo && cd /tmp/foo\n```\n\n  Install dependencies:\n\n```console\n$ npm install\n```\n\n  Start the server:\n\n```console\n$ npm start\n```\n\n  View the website at: http://localhost:3000\n\n## Philosophy\n\n  The Express philosophy is to provide small, robust tooling for HTTP servers, making\n  it a great solution for single page applications, websites, hybrids, or public\n  HTTP APIs.\n\n  Express does not force you to use any specific ORM or template engine. With support for over\n  14 template engines via [Consolidate.js](https://github.com/tj/consolidate.js),\n  you can quickly craft your perfect framework.\n\n## Examples\n\n  To view the examples, clone the Express repo and install the dependencies:\n\n```console\n$ git clone https://github.com/expressjs/express.git --depth 1\n$ cd express\n$ npm install\n```\n\n  Then run whichever example you want:\n\n```console\n$ node examples/content-negotiation\n```\n\n## Contributing\n\n  [![Linux Build][github-actions-ci-image]][github-actions-ci-url]\n  [![Windows Build][appveyor-image]][appveyor-url]\n  [![Test Coverage][coveralls-image]][coveralls-url]\n\nThe Express.js project welcomes all constructive contributions. Contributions take many forms,\nfrom code for bug fixes and enhancements, to additions and fixes to documentation, additional\ntests, triaging incoming pull requests and issues, and more!\n\nSee the [Contributing Guide](Contributing.md) for more technical details on contributing.\n\n### Security Issues\n\nIf you discover a security vulnerability in Express, please see [Security Policies and Procedures](Security.md).\n\n### Running Tests\n\nTo run the test suite, first install the dependencies, then run `npm test`:\n\n```console\n$ npm install\n$ npm test\n```\n\n## People\n\nThe original author of Express is [TJ Holowaychuk](https://github.com/tj)\n\nThe current lead maintainer is [Douglas Christopher Wilson](https://github.com/dougwilson)\n\n[List of all contributors](https://github.com/expressjs/express/graphs/contributors)\n\n## License\n\n  [MIT](LICENSE)\n\n[appveyor-image]: https://badgen.net/appveyor/ci/dougwilson/express/master?label=windows\n[appveyor-url]: https://ci.appveyor.com/project/dougwilson/express\n[coveralls-image]: https://badgen.net/coveralls/c/github/expressjs/express/master\n[coveralls-url]: https://coveralls.io/r/expressjs/express?branch=master\n[github-actions-ci-image]: https://badgen.net/github/checks/expressjs/express/master?label=linux\n[github-actions-ci-url]: https://github.com/expressjs/express/actions/workflows/ci.yml\n[npm-downloads-image]: https://badgen.net/npm/dm/express\n[npm-downloads-url]: https://npmcharts.com/compare/express?minimal=true\n[npm-install-size-image]: https://badgen.net/packagephobia/install/express\n[npm-install-size-url]: https://packagephobia.com/result?p=express\n[npm-url]: https://npmjs.org/package/express\n[npm-version-image]: https://badgen.net/npm/v/express\n",
    "licenseText": "(The MIT License)\n\nCopyright (c) 2009-2014 TJ Holowaychuk <tj@vision-media.ca>\nCopyright (c) 2013-2014 Roman Shtylman <shtylman+expressjs@gmail.com>\nCopyright (c) 2014-2015 Douglas Christopher Wilson <doug@somethingdoug.com>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  "artifacts": [],
  "remote": {
    "resolved": "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465",
    "type": "tarball",
    "reference": "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz",
    "hash": "e25437827a3aa7f2a827bc8171bbbb664a356465",
    "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
    "registry": "npm",
    "packageName": "express",
    "cacheIntegrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== sha1-4lQ3gno6p/KoJ7yBcbu7Zko1ZGU="
  },
  "registry": "npm",
  "hash": "e25437827a3aa7f2a827bc8171bbbb664a356465"
}