English | 简体中文

NPM version NPM quality NPM download FOSSA Status

Continuous Integration Test coverage Known Vulnerabilities Open Collective backers and sponsors

Features

  • Built-in Process Management
  • Plugin System
  • Framework Customization
  • Lots of plugins

Quickstart

Follow the commands listed below.

$ mkdir showcase && cd showcase
$ npm init egg --type=simple # Optionally pnpm create egg --type=simple
$ npm install
$ npm run dev
$ open http://localhost:7001

Node.js >= 14.20.0 required.

Documentations

Contributors

contributors

How to Contribute

Please let us know how can we help. Do check out issues for bug reports or suggestions first.

To become a contributor, please follow our contributing guide.

Sponsors and Backers

sponsors backers

License

MIT

FOSSA Status

eggjs/egg

{
"props": {
"initialPayload": {
"allShortcutsEnabled": false,
"path": "/",
"repo": {
"id": 61421257,
"defaultBranch": "master",
"name": "egg",
"ownerLogin": "eggjs",
"currentUserCanPush": false,
"isFork": false,
"isEmpty": false,
"createdAt": "2016-06-18T06:53:23.000Z",
"ownerAvatar": "https://avatars.githubusercontent.com/u/15833670?v=4",
"public": true,
"private": false,
"isOrgOwned": true
},
"currentUser": null,
"refInfo": {
"name": "master",
"listCacheKey": "v0:1726460786.0",
"canEdit": false,
"refType": "branch",
"currentOid": "ce4fd67278e008a0f58beff8db5c0f770f3eadc7"
},
"tree": {
"items": [
{
"name": ".github",
"path": ".github",
"contentType": "directory"
},
{
"name": "app",
"path": "app",
"contentType": "directory"
},
{
"name": "config",
"path": "config",
"contentType": "directory"
},
{
"name": "lib",
"path": "lib",
"contentType": "directory"
},
{
"name": "scripts",
"path": "scripts",
"contentType": "directory"
},
{
"name": "site",
"path": "site",
"contentType": "directory"
},
{
"name": "test",
"path": "test",
"contentType": "directory"
},
{
"name": ".eslintignore",
"path": ".eslintignore",
"contentType": "file"
},
{
"name": ".eslintrc",
"path": ".eslintrc",
"contentType": "file"
},
{
"name": ".gitignore",
"path": ".gitignore",
"contentType": "file"
},
{
"name": "CHANGELOG.md",
"path": "CHANGELOG.md",
"contentType": "file"
},
{
"name": "CONTRIBUTING.md",
"path": "CONTRIBUTING.md",
"contentType": "file"
},
{
"name": "CONTRIBUTING.zh-CN.md",
"path": "CONTRIBUTING.zh-CN.md",
"contentType": "file"
},
{
"name": "LICENSE",
"path": "LICENSE",
"contentType": "file"
},
{
"name": "README.md",
"path": "README.md",
"contentType": "file"
},
{
"name": "README.zh-CN.md",
"path": "README.zh-CN.md",
"contentType": "file"
},
{
"name": "SECURITY.md",
"path": "SECURITY.md",
"contentType": "file"
},
{
"name": "agent.js",
"path": "agent.js",
"contentType": "file"
},
{
"name": "index.d.ts",
"path": "index.d.ts",
"contentType": "file"
},
{
"name": "index.js",
"path": "index.js",
"contentType": "file"
},
{
"name": "index.test-d.ts",
"path": "index.test-d.ts",
"contentType": "file"
},
{
"name": "package.json",
"path": "package.json",
"contentType": "file"
},
{
"name": "vercel.json",
"path": "vercel.json",
"contentType": "file"
}
],
"templateDirectorySuggestionUrl": null,
"readme": null,
"totalCount": 23,
"showBranchInfobar": false
},
"fileTree": null,
"fileTreeProcessingTime": null,
"foldersToFetch": [],
"treeExpanded": false,
"symbolsExpanded": false,
"isOverview": true,
"overview": {
"banners": {
"shouldRecommendReadme": false,
"isPersonalRepo": false,
"showUseActionBanner": false,
"actionSlug": null,
"actionId": null,
"showProtectBranchBanner": false,
"publishBannersInfo": {
"dismissActionNoticePath": "/settings/dismiss-notice/publish_action_from_repo",
"releasePath": "/eggjs/egg/releases/new?marketplace=true",
"showPublishActionBanner": false
},
"interactionLimitBanner": null,
"showInvitationBanner": false,
"inviterName": null,
"actionsMigrationBannerInfo": {
"releaseTags": [],
"showImmutableActionsMigrationBanner": false,
"initialMigrationStatus": null
}
},
"codeButton": {
"contactPath": "/contact",
"isEnterprise": false,
"local": {
"protocolInfo": {
"httpAvailable": true,
"sshAvailable": null,
"httpUrl": "https://github.com/eggjs/egg.git",
"showCloneWarning": null,
"sshUrl": null,
"sshCertificatesRequired": null,
"sshCertificatesAvailable": null,
"ghCliUrl": "gh repo clone eggjs/egg",
"defaultProtocol": "http",
"newSshKeyUrl": "/settings/ssh/new",
"setProtocolPath": "/users/set_protocol"
},
"platformInfo": {
"cloneUrl": "https://desktop.github.com",
"showVisualStudioCloneButton": false,
"visualStudioCloneUrl": "https://windows.github.com",
"showXcodeCloneButton": false,
"xcodeCloneUrl": "xcode://clone?repo=https%3A%2F%2Fgithub.com%2Feggjs%2Fegg",
"zipballUrl": "/eggjs/egg/archive/refs/heads/master.zip"
}
},
"newCodespacePath": "/codespaces/new?hide_repo_select=true&repo=61421257"
},
"popovers": {
"rename": null,
"renamedParentRepo": null
},
"commitCount": "1,167",
"overviewFiles": [
{
"displayName": "README.md",
"repoName": "egg",
"refName": "master",
"path": "README.md",
"preferredFileType": "readme",
"tabName": "README",
"richText": "<article class=\"markdown-body entry-content container-lg\" itemprop=\"text\"><p dir=\"auto\">English | <a href=\"/eggjs/egg/blob/master/README.zh-CN.md\">简体中文</a></p>\n<div dir=\"auto\">\n\t<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/eggjs/egg/blob/master/site/public/assets/egg-banner.png\"><img src=\"/eggjs/egg/raw/master/site/public/assets/egg-banner.png\" style=\"max-width: 100%;\"></a>\n</div>\n<p dir=\"auto\"><a href=\"https://npmjs.org/package/egg\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/01da2a33a4014539d33a69d81048773816dba563d28db1dd02fa3eca06cc9596/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f762f6567672e7376673f7374796c653d666c61742d737175617265\" alt=\"NPM version\" data-canonical-src=\"https://img.shields.io/npm/v/egg.svg?style=flat-square\" style=\"max-width: 100%;\"></a>\n<a href=\"http://packagequality.com/#?package=egg\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/046683338ec9b123c5487144af6814670bf85ed78f7826e6e2767236c6d505cf/687474703a2f2f6e706d2e7061636b6167657175616c6974792e636f6d2f736869656c642f6567672e7376673f7374796c653d666c61742d737175617265\" alt=\"NPM quality\" data-canonical-src=\"http://npm.packagequality.com/shield/egg.svg?style=flat-square\" style=\"max-width: 100%;\"></a>\n<a href=\"https://npmjs.org/package/egg\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/379ccf98b1042fa321fdb12fdbdf3c3b1afd5d31dbefad6e114570f03aeadd8e/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f646d2f6567672e7376673f7374796c653d666c61742d737175617265\" alt=\"NPM download\" data-canonical-src=\"https://img.shields.io/npm/dm/egg.svg?style=flat-square\" style=\"max-width: 100%;\"></a>\n<a href=\"https://app.fossa.com/projects/git%2Bgithub.com%2Feggjs%2Fegg?ref=badge_shield\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/130f84d41fcef9b4d845d96ce180ddd1789685ac6f6c0614206fd92583908b69/68747470733a2f2f6170702e666f7373612e636f6d2f6170692f70726f6a656374732f6769742532426769746875622e636f6d2532466567676a732532466567672e7376673f747970653d736869656c64\" alt=\"FOSSA Status\" data-canonical-src=\"https://app.fossa.com/api/projects/git%2Bgithub.com%2Feggjs%2Fegg.svg?type=shield\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\"><a href=\"https://github.com/eggjs/egg/actions?query=branch%3Amaster\"><img src=\"https://github.com/eggjs/egg/actions/workflows/nodejs.yml/badge.svg\" alt=\"Continuous Integration\" style=\"max-width: 100%;\"></a>\n<a href=\"https://codecov.io/gh/eggjs/egg\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/676644fa528ea2b3e238ef2ea4e53b06530f7f7a15fede5d8e3b2dc8f3f66ab3/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6567676a732f6567672e7376673f7374796c653d666c61742d737175617265\" alt=\"Test coverage\" data-canonical-src=\"https://img.shields.io/codecov/c/github/eggjs/egg.svg?style=flat-square\" style=\"max-width: 100%;\"></a>\n<a href=\"https://snyk.io/test/npm/egg\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/e9c2ec2a5d2fce1fc03648a04f48645e02abccf67ab0ff22d5f83f2790d971ea/68747470733a2f2f736e796b2e696f2f746573742f6e706d2f6567672f62616467652e7376673f7374796c653d666c61742d737175617265\" alt=\"Known Vulnerabilities\" data-canonical-src=\"https://snyk.io/test/npm/egg/badge.svg?style=flat-square\" style=\"max-width: 100%;\"></a>\n<a href=\"https://opencollective.com/eggjs\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/d2777cb49bfa532bd0fe5f47b47b0203f4c8e58cb4b8ec28466fb854850d85c3/68747470733a2f2f696d672e736869656c64732e696f2f6f70656e636f6c6c6563746976652f616c6c2f6567676a733f7374796c653d666c61742d737175617265\" alt=\"Open Collective backers and sponsors\" data-canonical-src=\"https://img.shields.io/opencollective/all/eggjs?style=flat-square\" style=\"max-width: 100%;\"></a></p>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">Features</h2><a id=\"user-content-features\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<ul dir=\"auto\">\n<li>Built-in Process Management</li>\n<li>Plugin System</li>\n<li>Framework Customization</li>\n<li>Lots of <a href=\"https://github.com/search?q=topic%3Aegg-plugin&amp;type=Repositories\">plugins</a></li>\n</ul>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">Quickstart</h2><a id=\"user-content-quickstart\" class=\"anchor\" aria-label=\"Permalink: Quickstart\" href=\"#quickstart\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<p dir=\"auto\">Follow the commands listed below.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ mkdir showcase &amp;&amp; cd showcase\n$ npm init egg --type=simple # Optionally pnpm create egg --type=simple\n$ npm install\n$ npm run dev\n$ open http://localhost:7001\"><pre>$ mkdir showcase <span class=\"pl-k\">&amp;&amp;</span> <span class=\"pl-c1\">cd</span> showcase\n$ npm init egg --type=simple <span class=\"pl-c\"><span class=\"pl-c\">#</span> Optionally pnpm create egg --type=simple</span>\n$ npm install\n$ npm run dev\n$ open http://localhost:7001</pre></div>\n<blockquote>\n<p dir=\"auto\">Node.js &gt;= 14.20.0 required.</p>\n</blockquote>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">Documentations</h2><a id=\"user-content-documentations\" class=\"anchor\" aria-label=\"Permalink: Documentations\" href=\"#documentations\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<ul dir=\"auto\">\n<li><a href=\"https://eggjs.org/en/index.html\" rel=\"nofollow\">Documentations</a></li>\n<li><a href=\"https://github.com/search?q=topic%3Aegg-plugin&amp;type=Repositories\">Plugins</a></li>\n<li><a href=\"https://github.com/search?q=topic%3Aegg-framework&amp;type=Repositories\">Frameworks</a></li>\n<li><a href=\"https://github.com/eggjs/examples\">Examples</a></li>\n</ul>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">Contributors</h2><a id=\"user-content-contributors\" class=\"anchor\" aria-label=\"Permalink: Contributors\" href=\"#contributors\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<p dir=\"auto\"><a href=\"https://github.com/eggjs/egg/graphs/contributors\"><img src=\"https://camo.githubusercontent.com/9281fcb4210b938e779ecc4800d5e5e367544b8ea3f2f1fcebd9eb6f2379f491/68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d6567676a732f656767266d61783d32343026636f6c756d6e733d3236\" alt=\"contributors\" data-canonical-src=\"https://contrib.rocks/image?repo=eggjs/egg&amp;max=240&amp;columns=26\" style=\"max-width: 100%;\"></a></p>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">How to Contribute</h2><a id=\"user-content-how-to-contribute\" class=\"anchor\" aria-label=\"Permalink: How to Contribute\" href=\"#how-to-contribute\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<p dir=\"auto\">Please let us know how can we help. Do check out <a href=\"https://github.com/eggjs/egg/issues\">issues</a> for bug reports or suggestions first.</p>\n<p dir=\"auto\">To become a contributor, please follow our <a href=\"/eggjs/egg/blob/master/CONTRIBUTING.md\">contributing guide</a>.</p>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">Sponsors and Backers</h2><a id=\"user-content-sponsors-and-backers\" class=\"anchor\" aria-label=\"Permalink: Sponsors and Backers\" href=\"#sponsors-and-backers\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<p dir=\"auto\"><a href=\"https://opencollective.com/eggjs#support\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/1f597c0f8ec12176c814046d5e4017d5ab4bbdd3d72cb2e5463b5f8c2d96daa3/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6567676a732f74696572732f73706f6e736f72732e7376673f6176617461724865696768743d3438\" alt=\"sponsors\" data-canonical-src=\"https://opencollective.com/eggjs/tiers/sponsors.svg?avatarHeight=48\" style=\"max-width: 100%;\"></a>\n<a href=\"https://opencollective.com/eggjs#support\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/689241cf7cb0825a1bcb0e2e3a4213ac7f2f33b04d268bd2a639ffed58867974/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6567676a732f74696572732f6261636b6572732e7376673f6176617461724865696768743d3438\" alt=\"backers\" data-canonical-src=\"https://opencollective.com/eggjs/tiers/backers.svg?avatarHeight=48\" style=\"max-width: 100%;\"></a></p>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\">License</h2><a id=\"user-content-license\" class=\"anchor\" aria-label=\"Permalink: License\" href=\"#license\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<p dir=\"auto\"><a href=\"/eggjs/egg/blob/master/LICENSE\">MIT</a></p>\n<p dir=\"auto\"><a href=\"https://app.fossa.com/projects/git%2Bgithub.com%2Feggjs%2Fegg?ref=badge_large\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/3ff762fd096bd5d418d2c70205f78749f41264ee8903dc5c186da34cd23f5fd4/68747470733a2f2f6170702e666f7373612e636f6d2f6170692f70726f6a656374732f6769742532426769746875622e636f6d2532466567676a732532466567672e7376673f747970653d6c61726765\" alt=\"FOSSA Status\" data-canonical-src=\"https://app.fossa.com/api/projects/git%2Bgithub.com%2Feggjs%2Fegg.svg?type=large\" style=\"max-width: 100%;\"></a></p>\n</article>",
"loaded": true,
"timedOut": false,
"errorMessage": null,
"headerInfo": {
"toc": [
{
"level": 2,
"text": "Features",
"anchor": "features",
"htmlText": "Features"
},
{
"level": 2,
"text": "Quickstart",
"anchor": "quickstart",
"htmlText": "Quickstart"
},
{
"level": 2,
"text": "Documentations",
"anchor": "documentations",
"htmlText": "Documentations"
},
{
"level": 2,
"text": "Contributors",
"anchor": "contributors",
"htmlText": "Contributors"
},
{
"level": 2,
"text": "How to Contribute",
"anchor": "how-to-contribute",
"htmlText": "How to Contribute"
},
{
"level": 2,
"text": "Sponsors and Backers",
"anchor": "sponsors-and-backers",
"htmlText": "Sponsors and Backers"
},
{
"level": 2,
"text": "License",
"anchor": "license",
"htmlText": "License"
}
],
"siteNavLoginPath": "/login?return_to=https%3A%2F%2Fgithub.com%2Feggjs%2Fegg"
}
},
{
"displayName": "LICENSE",
"repoName": "egg",
"refName": "master",
"path": "LICENSE",
"preferredFileType": "license",
"tabName": "MIT",
"richText": null,
"loaded": false,
"timedOut": false,
"errorMessage": null,
"headerInfo": {
"toc": null,
"siteNavLoginPath": "/login?return_to=https%3A%2F%2Fgithub.com%2Feggjs%2Fegg"
}
},
{
"displayName": "SECURITY.md",
"repoName": "egg",
"refName": "master",
"path": "SECURITY.md",
"preferredFileType": "security",
"tabName": "Security",
"richText": null,
"loaded": false,
"timedOut": false,
"errorMessage": null,
"headerInfo": {
"toc": null,
"siteNavLoginPath": "/login?return_to=https%3A%2F%2Fgithub.com%2Feggjs%2Fegg"
}
}
],
"overviewFilesProcessingTime": 0
}
},
"appPayload": {
"helpUrl": "https://docs.github.com",
"findFileWorkerPath": "/assets-cdn/worker/find-file-worker-1583894afd38.js",
"findInFileWorkerPath": "/assets-cdn/worker/find-in-file-worker-67668e8c2caa.js",
"githubDevUrl": null,
"enabled_features": {
"code_nav_ui_events": false,
"overview_shared_code_dropdown_button": false,
"react_blob_overlay": false,
"copilot_conversational_ux_embedding_update": false,
"copilot_smell_icebreaker_ux": true,
"copilot_workspace": false,
"blob_edit_unsaved_changes_storage": true,
"accessible_code_button": true
}
}
}
}
{
"accept-ranges": "bytes",
"cache-control": "max-age=0, private, must-revalidate",
"content-encoding": "gzip",
"content-security-policy": "default-src 'none'; base-uri 'self'; child-src github.com/assets-cdn/worker/ github.com/webpack/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.com/assets-cdn/worker/ github.com/webpack/ github.com/assets/ gist.github.com/assets-cdn/worker/",
"content-type": "text/html; charset=utf-8",
"date": "Wed, 13 Nov 2024 12:37:45 GMT",
"etag": "5b91200337ea27260ddfc2336bf107aa",
"referrer-policy": "no-referrer-when-downgrade",
"server": "GitHub.com",
"set-cookie": "logged_in=no; Path=/; Domain=github.com; Expires=Thu, 13 Nov 2025 12:37:44 GMT; HttpOnly; Secure; SameSite=Lax",
"strict-transport-security": "max-age=31536000; includeSubdomains; preload",
"transfer-encoding": "chunked",
"vary": "X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With",
"x-content-type-options": "nosniff",
"x-frame-options": "deny",
"x-github-request-id": "C6BC:75813:25CA1E1:34347CD:67349D92",
"x-xss-protection": "0"
}