{"adoption": {"forks": 585, "observed_at": "2026-08-28T04:10:02.737366+00:00", "stars": 7742}, "canonical_url": "https://ross.abutalabs.com/products/midway", "card": {"archived": false, "artifact_type": "framework", "description": "🍔 A Node.js Serverless Framework for front-end/full-stack developers. Build the application for next decade. Works on AWS, Alibaba Cloud, Tencent Cloud and traditional VM/Container. Super easy integrate with React and Vue. 🌈", "domain": ["web-development", "backend", "developer-tools", "cloud-computing", "microservices", "apis"], "enriched": true, "function": ["web-framework", "api-framework", "middleware", "routing", "orm", "caching", "rpc", "websocket"], "health_score": 100, "homepage": "https://www.midwayjs.org/", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["midwayjs/midway"], "name": "midwayjs/midway", "platform": ["cross-platform", "serverless", "cloud"], "pushed_at": "2026-08-26T15:26:15+00:00", "repo": "midwayjs/midway", "stars": 7742, "tags": ["typescript", "serverless", "ioc", "dependency-injection", "fullstack", "faas", "enterprise", "koa", "express", "eggjs", "react-integration", "vue-integration", "decorators", "alibaba", "nodejs", "docker"], "topics": ["enterprise", "framework", "web", "typescript", "ioc", "dependency-injection-container", "midway", "serverless", "serverless-framework", "aws", "aliyun", "cloud", "azure", "mircoservices", "react", "vue"], "urls": [], "use_cases": ["build a TypeScript Node.js REST API with decorators and dependency injection", "deploy a serverless function-based backend to Alibaba Cloud or AWS", "develop a fullstack app with zero-API React or Vue integration", "build enterprise microservices with gRPC or message queues", "create a websocket or socket.io backend service", "generate OpenAPI/Swagger docs from controller decorators", "migrate between traditional VM/container deployment and FaaS without rewriting"], "what_it_is": "Midway is a progressive, TypeScript-first Node.js framework from Alibaba's Taobao frontend architecture team, built around a custom dependency injection (IoC) container. It supports both object-oriented (Class + decorators) and functional (Hooks) programming styles for building web applications, APIs, fullstack apps, microservices, RPC, Socket, and Serverless/FaaS services deployable to AWS, Alibaba Cloud, Tencent Cloud, or traditional servers.", "when_to_avoid": ["you prefer a minimal, unopinionated framework like plain Express, Koa, or Fastify", "your team is not using TypeScript", "you need the largest English-language community and ecosystem (NestJS is stronger there)", "you're building a simple static site or frontend-only project"], "when_to_choose": ["you want a NestJS-like IoC framework with first-class TypeScript and strong Chinese-language documentation", "you need one codebase deployable to both serverless platforms and traditional servers", "you're building enterprise-grade Node.js backends with ORM, Redis, caching, and scheduling built in", "you want integrated fullstack development with React/Vue hooks-style API calls"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/midway", "repo": "midwayjs/midway", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.737366+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:35:10.362905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4275612094a1cca4af9293594f3440cdb8bb2f8dbf45997bace2359bcf250f94", "fetched_at": "2026-08-28T04:10:02.737366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midwayjs/midway"}, {"content_hash": "928779d6561e6f44073e27da7c3aafcbe7ad885b054dfbff84ac6cef3ecf5c93", "fetched_at": "2026-08-29T08:31:40.763516+00:00", "kind": "homepage", "missing": false, "url": "https://www.midwayjs.org/"}, {"content_hash": "27be73d4854679edb75c5b4c0b0b2a30d7e1ac3d5db0b46749e7630ef39570cf", "fetched_at": "2026-08-29T08:31:40.772734+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/intro"}, {"content_hash": "ec8fbb78bf709c7e0eb7f807f0e32d1ce7c69cb51b002fbe165907cc1d8b7354", "fetched_at": "2026-08-29T08:31:40.776325+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/3.0.0/intro"}, {"content_hash": "1a5909aa1f54c8221ecffe1e775197586f5eaf874c5f864c26edb064d2278009", "fetched_at": "2026-08-29T08:31:40.778156+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/2.0.0/intro"}, {"content_hash": "3453f7071e4431f6479fb7f90e664a7a7aa3690c83da733725b7d5cbc5e1cecb", "fetched_at": "2026-08-29T08:31:40.774556+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/axios"}, {"content_hash": "74f17968955ab2296794beb11fdd472d8c1c3f46dc92d7cb754cfcf3a69e7753", "fetched_at": "2026-08-29T08:31:40.779931+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/1.0.0/intro"}, {"content_hash": "b2f68f19b8fc5f3762fe06bafd4e18ccd8c9fbe5c2970f911421ffeb9702ddb9", "fetched_at": "2026-08-29T08:31:40.781752+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/orm"}, {"content_hash": "4cd57a358af56ea49f0d4fff53b4cde4f76a1691ac3a7c5031c248d68626e4bb", "fetched_at": "2026-08-29T08:31:40.784494+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/redis"}, {"content_hash": "e777b32d9db093171a8997ec3b352d1b02abf8eee7677381fe11b70bfe35faaf", "fetched_at": "2026-08-29T08:31:40.786922+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/swagger"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.737366+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:35:10.362905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4275612094a1cca4af9293594f3440cdb8bb2f8dbf45997bace2359bcf250f94", "fetched_at": "2026-08-28T04:10:02.737366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midwayjs/midway"}, {"content_hash": "928779d6561e6f44073e27da7c3aafcbe7ad885b054dfbff84ac6cef3ecf5c93", "fetched_at": "2026-08-29T08:31:40.763516+00:00", "kind": "homepage", "missing": false, "url": "https://www.midwayjs.org/"}, {"content_hash": "27be73d4854679edb75c5b4c0b0b2a30d7e1ac3d5db0b46749e7630ef39570cf", "fetched_at": "2026-08-29T08:31:40.772734+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/intro"}, {"content_hash": "ec8fbb78bf709c7e0eb7f807f0e32d1ce7c69cb51b002fbe165907cc1d8b7354", "fetched_at": "2026-08-29T08:31:40.776325+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/3.0.0/intro"}, {"content_hash": "1a5909aa1f54c8221ecffe1e775197586f5eaf874c5f864c26edb064d2278009", "fetched_at": "2026-08-29T08:31:40.778156+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/2.0.0/intro"}, {"content_hash": "3453f7071e4431f6479fb7f90e664a7a7aa3690c83da733725b7d5cbc5e1cecb", "fetched_at": "2026-08-29T08:31:40.774556+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/axios"}, {"content_hash": "74f17968955ab2296794beb11fdd472d8c1c3f46dc92d7cb754cfcf3a69e7753", "fetched_at": "2026-08-29T08:31:40.779931+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/1.0.0/intro"}, {"content_hash": "b2f68f19b8fc5f3762fe06bafd4e18ccd8c9fbe5c2970f911421ffeb9702ddb9", "fetched_at": "2026-08-29T08:31:40.781752+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/orm"}, {"content_hash": "4cd57a358af56ea49f0d4fff53b4cde4f76a1691ac3a7c5031c248d68626e4bb", "fetched_at": "2026-08-29T08:31:40.784494+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/redis"}, {"content_hash": "e777b32d9db093171a8997ec3b352d1b02abf8eee7677381fe11b70bfe35faaf", "fetched_at": "2026-08-29T08:31:40.786922+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/swagger"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:35:10.362905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4275612094a1cca4af9293594f3440cdb8bb2f8dbf45997bace2359bcf250f94", "fetched_at": "2026-08-28T04:10:02.737366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midwayjs/midway"}, {"content_hash": "928779d6561e6f44073e27da7c3aafcbe7ad885b054dfbff84ac6cef3ecf5c93", "fetched_at": "2026-08-29T08:31:40.763516+00:00", "kind": "homepage", "missing": false, "url": "https://www.midwayjs.org/"}, {"content_hash": "27be73d4854679edb75c5b4c0b0b2a30d7e1ac3d5db0b46749e7630ef39570cf", "fetched_at": "2026-08-29T08:31:40.772734+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/intro"}, {"content_hash": "ec8fbb78bf709c7e0eb7f807f0e32d1ce7c69cb51b002fbe165907cc1d8b7354", "fetched_at": "2026-08-29T08:31:40.776325+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/3.0.0/intro"}, {"content_hash": "1a5909aa1f54c8221ecffe1e775197586f5eaf874c5f864c26edb064d2278009", "fetched_at": "2026-08-29T08:31:40.778156+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/2.0.0/intro"}, {"content_hash": "3453f7071e4431f6479fb7f90e664a7a7aa3690c83da733725b7d5cbc5e1cecb", "fetched_at": "2026-08-29T08:31:40.774556+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/axios"}, {"content_hash": "74f17968955ab2296794beb11fdd472d8c1c3f46dc92d7cb754cfcf3a69e7753", "fetched_at": "2026-08-29T08:31:40.779931+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/1.0.0/intro"}, {"content_hash": "b2f68f19b8fc5f3762fe06bafd4e18ccd8c9fbe5c2970f911421ffeb9702ddb9", "fetched_at": "2026-08-29T08:31:40.781752+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/orm"}, {"content_hash": "4cd57a358af56ea49f0d4fff53b4cde4f76a1691ac3a7c5031c248d68626e4bb", "fetched_at": "2026-08-29T08:31:40.784494+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/redis"}, {"content_hash": "e777b32d9db093171a8997ec3b352d1b02abf8eee7677381fe11b70bfe35faaf", "fetched_at": "2026-08-29T08:31:40.786922+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/swagger"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.737366+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.737366+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.737366+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:35:10.362905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4275612094a1cca4af9293594f3440cdb8bb2f8dbf45997bace2359bcf250f94", "fetched_at": "2026-08-28T04:10:02.737366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midwayjs/midway"}, {"content_hash": "928779d6561e6f44073e27da7c3aafcbe7ad885b054dfbff84ac6cef3ecf5c93", "fetched_at": "2026-08-29T08:31:40.763516+00:00", "kind": "homepage", "missing": false, "url": "https://www.midwayjs.org/"}, {"content_hash": "27be73d4854679edb75c5b4c0b0b2a30d7e1ac3d5db0b46749e7630ef39570cf", "fetched_at": "2026-08-29T08:31:40.772734+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/intro"}, {"content_hash": "ec8fbb78bf709c7e0eb7f807f0e32d1ce7c69cb51b002fbe165907cc1d8b7354", "fetched_at": "2026-08-29T08:31:40.776325+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/3.0.0/intro"}, {"content_hash": "1a5909aa1f54c8221ecffe1e775197586f5eaf874c5f864c26edb064d2278009", "fetched_at": "2026-08-29T08:31:40.778156+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/2.0.0/intro"}, {"content_hash": "3453f7071e4431f6479fb7f90e664a7a7aa3690c83da733725b7d5cbc5e1cecb", "fetched_at": "2026-08-29T08:31:40.774556+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/axios"}, {"content_hash": "74f17968955ab2296794beb11fdd472d8c1c3f46dc92d7cb754cfcf3a69e7753", "fetched_at": "2026-08-29T08:31:40.779931+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/1.0.0/intro"}, {"content_hash": "b2f68f19b8fc5f3762fe06bafd4e18ccd8c9fbe5c2970f911421ffeb9702ddb9", "fetched_at": "2026-08-29T08:31:40.781752+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/orm"}, {"content_hash": "4cd57a358af56ea49f0d4fff53b4cde4f76a1691ac3a7c5031c248d68626e4bb", "fetched_at": "2026-08-29T08:31:40.784494+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/redis"}, {"content_hash": "e777b32d9db093171a8997ec3b352d1b02abf8eee7677381fe11b70bfe35faaf", "fetched_at": "2026-08-29T08:31:40.786922+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/swagger"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.737366+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.737366+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:35:10.362905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4275612094a1cca4af9293594f3440cdb8bb2f8dbf45997bace2359bcf250f94", "fetched_at": "2026-08-28T04:10:02.737366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midwayjs/midway"}, {"content_hash": "928779d6561e6f44073e27da7c3aafcbe7ad885b054dfbff84ac6cef3ecf5c93", "fetched_at": "2026-08-29T08:31:40.763516+00:00", "kind": "homepage", "missing": false, "url": "https://www.midwayjs.org/"}, {"content_hash": "27be73d4854679edb75c5b4c0b0b2a30d7e1ac3d5db0b46749e7630ef39570cf", "fetched_at": "2026-08-29T08:31:40.772734+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/intro"}, {"content_hash": "ec8fbb78bf709c7e0eb7f807f0e32d1ce7c69cb51b002fbe165907cc1d8b7354", "fetched_at": "2026-08-29T08:31:40.776325+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/3.0.0/intro"}, {"content_hash": "1a5909aa1f54c8221ecffe1e775197586f5eaf874c5f864c26edb064d2278009", "fetched_at": "2026-08-29T08:31:40.778156+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/2.0.0/intro"}, {"content_hash": "3453f7071e4431f6479fb7f90e664a7a7aa3690c83da733725b7d5cbc5e1cecb", "fetched_at": "2026-08-29T08:31:40.774556+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/axios"}, {"content_hash": "74f17968955ab2296794beb11fdd472d8c1c3f46dc92d7cb754cfcf3a69e7753", "fetched_at": "2026-08-29T08:31:40.779931+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/1.0.0/intro"}, {"content_hash": "b2f68f19b8fc5f3762fe06bafd4e18ccd8c9fbe5c2970f911421ffeb9702ddb9", "fetched_at": "2026-08-29T08:31:40.781752+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/orm"}, {"content_hash": "4cd57a358af56ea49f0d4fff53b4cde4f76a1691ac3a7c5031c248d68626e4bb", "fetched_at": "2026-08-29T08:31:40.784494+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/redis"}, {"content_hash": "e777b32d9db093171a8997ec3b352d1b02abf8eee7677381fe11b70bfe35faaf", "fetched_at": "2026-08-29T08:31:40.786922+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/swagger"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.737366+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.737366+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.737366+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:35:10.362905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4275612094a1cca4af9293594f3440cdb8bb2f8dbf45997bace2359bcf250f94", "fetched_at": "2026-08-28T04:10:02.737366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midwayjs/midway"}, {"content_hash": "928779d6561e6f44073e27da7c3aafcbe7ad885b054dfbff84ac6cef3ecf5c93", "fetched_at": "2026-08-29T08:31:40.763516+00:00", "kind": "homepage", "missing": false, "url": "https://www.midwayjs.org/"}, {"content_hash": "27be73d4854679edb75c5b4c0b0b2a30d7e1ac3d5db0b46749e7630ef39570cf", "fetched_at": "2026-08-29T08:31:40.772734+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/intro"}, {"content_hash": "ec8fbb78bf709c7e0eb7f807f0e32d1ce7c69cb51b002fbe165907cc1d8b7354", "fetched_at": "2026-08-29T08:31:40.776325+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/3.0.0/intro"}, {"content_hash": "1a5909aa1f54c8221ecffe1e775197586f5eaf874c5f864c26edb064d2278009", "fetched_at": "2026-08-29T08:31:40.778156+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/2.0.0/intro"}, {"content_hash": "3453f7071e4431f6479fb7f90e664a7a7aa3690c83da733725b7d5cbc5e1cecb", "fetched_at": "2026-08-29T08:31:40.774556+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/axios"}, {"content_hash": "74f17968955ab2296794beb11fdd472d8c1c3f46dc92d7cb754cfcf3a69e7753", "fetched_at": "2026-08-29T08:31:40.779931+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/1.0.0/intro"}, {"content_hash": "b2f68f19b8fc5f3762fe06bafd4e18ccd8c9fbe5c2970f911421ffeb9702ddb9", "fetched_at": "2026-08-29T08:31:40.781752+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/orm"}, {"content_hash": "4cd57a358af56ea49f0d4fff53b4cde4f76a1691ac3a7c5031c248d68626e4bb", "fetched_at": "2026-08-29T08:31:40.784494+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/redis"}, {"content_hash": "e777b32d9db093171a8997ec3b352d1b02abf8eee7677381fe11b70bfe35faaf", "fetched_at": "2026-08-29T08:31:40.786922+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/swagger"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.737366+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.737366+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:35:10.362905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4275612094a1cca4af9293594f3440cdb8bb2f8dbf45997bace2359bcf250f94", "fetched_at": "2026-08-28T04:10:02.737366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midwayjs/midway"}, {"content_hash": "928779d6561e6f44073e27da7c3aafcbe7ad885b054dfbff84ac6cef3ecf5c93", "fetched_at": "2026-08-29T08:31:40.763516+00:00", "kind": "homepage", "missing": false, "url": "https://www.midwayjs.org/"}, {"content_hash": "27be73d4854679edb75c5b4c0b0b2a30d7e1ac3d5db0b46749e7630ef39570cf", "fetched_at": "2026-08-29T08:31:40.772734+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/intro"}, {"content_hash": "ec8fbb78bf709c7e0eb7f807f0e32d1ce7c69cb51b002fbe165907cc1d8b7354", "fetched_at": "2026-08-29T08:31:40.776325+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/3.0.0/intro"}, {"content_hash": "1a5909aa1f54c8221ecffe1e775197586f5eaf874c5f864c26edb064d2278009", "fetched_at": "2026-08-29T08:31:40.778156+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/2.0.0/intro"}, {"content_hash": "3453f7071e4431f6479fb7f90e664a7a7aa3690c83da733725b7d5cbc5e1cecb", "fetched_at": "2026-08-29T08:31:40.774556+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/axios"}, {"content_hash": "74f17968955ab2296794beb11fdd472d8c1c3f46dc92d7cb754cfcf3a69e7753", "fetched_at": "2026-08-29T08:31:40.779931+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/1.0.0/intro"}, {"content_hash": "b2f68f19b8fc5f3762fe06bafd4e18ccd8c9fbe5c2970f911421ffeb9702ddb9", "fetched_at": "2026-08-29T08:31:40.781752+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/orm"}, {"content_hash": "4cd57a358af56ea49f0d4fff53b4cde4f76a1691ac3a7c5031c248d68626e4bb", "fetched_at": "2026-08-29T08:31:40.784494+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/redis"}, {"content_hash": "e777b32d9db093171a8997ec3b352d1b02abf8eee7677381fe11b70bfe35faaf", "fetched_at": "2026-08-29T08:31:40.786922+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/swagger"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:35:10.362905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4275612094a1cca4af9293594f3440cdb8bb2f8dbf45997bace2359bcf250f94", "fetched_at": "2026-08-28T04:10:02.737366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midwayjs/midway"}, {"content_hash": "928779d6561e6f44073e27da7c3aafcbe7ad885b054dfbff84ac6cef3ecf5c93", "fetched_at": "2026-08-29T08:31:40.763516+00:00", "kind": "homepage", "missing": false, "url": "https://www.midwayjs.org/"}, {"content_hash": "27be73d4854679edb75c5b4c0b0b2a30d7e1ac3d5db0b46749e7630ef39570cf", "fetched_at": "2026-08-29T08:31:40.772734+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/intro"}, {"content_hash": "ec8fbb78bf709c7e0eb7f807f0e32d1ce7c69cb51b002fbe165907cc1d8b7354", "fetched_at": "2026-08-29T08:31:40.776325+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/3.0.0/intro"}, {"content_hash": "1a5909aa1f54c8221ecffe1e775197586f5eaf874c5f864c26edb064d2278009", "fetched_at": "2026-08-29T08:31:40.778156+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/2.0.0/intro"}, {"content_hash": "3453f7071e4431f6479fb7f90e664a7a7aa3690c83da733725b7d5cbc5e1cecb", "fetched_at": "2026-08-29T08:31:40.774556+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/axios"}, {"content_hash": "74f17968955ab2296794beb11fdd472d8c1c3f46dc92d7cb754cfcf3a69e7753", "fetched_at": "2026-08-29T08:31:40.779931+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/1.0.0/intro"}, {"content_hash": "b2f68f19b8fc5f3762fe06bafd4e18ccd8c9fbe5c2970f911421ffeb9702ddb9", "fetched_at": "2026-08-29T08:31:40.781752+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/orm"}, {"content_hash": "4cd57a358af56ea49f0d4fff53b4cde4f76a1691ac3a7c5031c248d68626e4bb", "fetched_at": "2026-08-29T08:31:40.784494+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/redis"}, {"content_hash": "e777b32d9db093171a8997ec3b352d1b02abf8eee7677381fe11b70bfe35faaf", "fetched_at": "2026-08-29T08:31:40.786922+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/swagger"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:35:10.362905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4275612094a1cca4af9293594f3440cdb8bb2f8dbf45997bace2359bcf250f94", "fetched_at": "2026-08-28T04:10:02.737366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midwayjs/midway"}, {"content_hash": "928779d6561e6f44073e27da7c3aafcbe7ad885b054dfbff84ac6cef3ecf5c93", "fetched_at": "2026-08-29T08:31:40.763516+00:00", "kind": "homepage", "missing": false, "url": "https://www.midwayjs.org/"}, {"content_hash": "27be73d4854679edb75c5b4c0b0b2a30d7e1ac3d5db0b46749e7630ef39570cf", "fetched_at": "2026-08-29T08:31:40.772734+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/intro"}, {"content_hash": "ec8fbb78bf709c7e0eb7f807f0e32d1ce7c69cb51b002fbe165907cc1d8b7354", "fetched_at": "2026-08-29T08:31:40.776325+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/3.0.0/intro"}, {"content_hash": "1a5909aa1f54c8221ecffe1e775197586f5eaf874c5f864c26edb064d2278009", "fetched_at": "2026-08-29T08:31:40.778156+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/2.0.0/intro"}, {"content_hash": "3453f7071e4431f6479fb7f90e664a7a7aa3690c83da733725b7d5cbc5e1cecb", "fetched_at": "2026-08-29T08:31:40.774556+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/axios"}, {"content_hash": "74f17968955ab2296794beb11fdd472d8c1c3f46dc92d7cb754cfcf3a69e7753", "fetched_at": "2026-08-29T08:31:40.779931+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/1.0.0/intro"}, {"content_hash": "b2f68f19b8fc5f3762fe06bafd4e18ccd8c9fbe5c2970f911421ffeb9702ddb9", "fetched_at": "2026-08-29T08:31:40.781752+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/orm"}, {"content_hash": "4cd57a358af56ea49f0d4fff53b4cde4f76a1691ac3a7c5031c248d68626e4bb", "fetched_at": "2026-08-29T08:31:40.784494+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/redis"}, {"content_hash": "e777b32d9db093171a8997ec3b352d1b02abf8eee7677381fe11b70bfe35faaf", "fetched_at": "2026-08-29T08:31:40.786922+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/swagger"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:35:10.362905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4275612094a1cca4af9293594f3440cdb8bb2f8dbf45997bace2359bcf250f94", "fetched_at": "2026-08-28T04:10:02.737366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midwayjs/midway"}, {"content_hash": "928779d6561e6f44073e27da7c3aafcbe7ad885b054dfbff84ac6cef3ecf5c93", "fetched_at": "2026-08-29T08:31:40.763516+00:00", "kind": "homepage", "missing": false, "url": "https://www.midwayjs.org/"}, {"content_hash": "27be73d4854679edb75c5b4c0b0b2a30d7e1ac3d5db0b46749e7630ef39570cf", "fetched_at": "2026-08-29T08:31:40.772734+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/intro"}, {"content_hash": "ec8fbb78bf709c7e0eb7f807f0e32d1ce7c69cb51b002fbe165907cc1d8b7354", "fetched_at": "2026-08-29T08:31:40.776325+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/3.0.0/intro"}, {"content_hash": "1a5909aa1f54c8221ecffe1e775197586f5eaf874c5f864c26edb064d2278009", "fetched_at": "2026-08-29T08:31:40.778156+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/2.0.0/intro"}, {"content_hash": "3453f7071e4431f6479fb7f90e664a7a7aa3690c83da733725b7d5cbc5e1cecb", "fetched_at": "2026-08-29T08:31:40.774556+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/axios"}, {"content_hash": "74f17968955ab2296794beb11fdd472d8c1c3f46dc92d7cb754cfcf3a69e7753", "fetched_at": "2026-08-29T08:31:40.779931+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/1.0.0/intro"}, {"content_hash": "b2f68f19b8fc5f3762fe06bafd4e18ccd8c9fbe5c2970f911421ffeb9702ddb9", "fetched_at": "2026-08-29T08:31:40.781752+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/orm"}, {"content_hash": "4cd57a358af56ea49f0d4fff53b4cde4f76a1691ac3a7c5031c248d68626e4bb", "fetched_at": "2026-08-29T08:31:40.784494+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/redis"}, {"content_hash": "e777b32d9db093171a8997ec3b352d1b02abf8eee7677381fe11b70bfe35faaf", "fetched_at": "2026-08-29T08:31:40.786922+00:00", "kind": "site_page", "missing": false, "url": "https://www.midwayjs.org/docs/extensions/swagger"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 99}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2974, "days_push": 7, "days_rel": 8, "gap_med": 14.0, "n_releases_24m": 39}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}