{"id":36501910,"url":"https://github.com/aomex/aomex","last_synced_at":"2026-01-12T02:22:53.393Z","repository":{"id":246334575,"uuid":"820781203","full_name":"aomex/aomex","owner":"aomex","description":"流畅的 node.js 框架","archived":false,"fork":false,"pushed_at":"2025-12-01T15:12:43.000Z","size":2818,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-12-02T22:41:02.839Z","etag":null,"topics":["full-typescript","node-framework"],"latest_commit_sha":null,"homepage":"https://aomex.js.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aomex.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-06-27T07:02:10.000Z","updated_at":"2025-12-01T15:12:47.000Z","dependencies_parsed_at":"2024-06-27T08:27:06.667Z","dependency_job_id":"54ebb3a2-47c3-4375-bb03-9b714489cd06","html_url":"https://github.com/aomex/aomex","commit_stats":{"total_commits":198,"total_committers":1,"mean_commits":198.0,"dds":0.0,"last_synced_commit":"58328ed806ff5df0b35832751ca6d4f1f84595e2"},"previous_names":["aomex/aomex"],"tags_count":80,"template":false,"template_full_name":null,"purl":"pkg:github/aomex/aomex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aomex%2Faomex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aomex%2Faomex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aomex%2Faomex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aomex%2Faomex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aomex","download_url":"https://codeload.github.com/aomex/aomex/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aomex%2Faomex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28332086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:36:25.062Z","status":"online","status_checked_at":"2026-01-12T02:00:08.677Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["full-typescript","node-framework"],"created_at":"2026-01-12T02:22:52.656Z","updated_at":"2026-01-12T02:22:53.378Z","avatar_url":"https://github.com/aomex.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# aomex\n\n流畅的 node.js 框架\n\n[![node version](https://img.shields.io/node/v/%40aomex%2Fcommon?logo=node.js)](https://nodejs.org)\n[![npm peer typescript version](https://img.shields.io/npm/dependency-version/%40aomex%2Fcommon/peer/typescript?logo=typescript)](https://github.com/microsoft/TypeScript)\n[![GitHub Workflow Status (lint)](https://img.shields.io/github/actions/workflow/status/aomex/aomex/lint.yml?branch=main\u0026label=lint\u0026logo=eslint)](https://github.com/aomex/aomex/actions/workflows/lint.yml)\n[![GitHub Workflow Status (test)](https://img.shields.io/github/actions/workflow/status/aomex/aomex/test.yml?branch=main\u0026label=test\u0026logo=vitest)](https://github.com/aomex/aomex/actions/workflows/test.yml)\n[![Codecov](https://img.shields.io/codecov/c/github/aomex/aomex?logo=codecov)](https://codecov.io/gh/aomex/aomex)\n[![License](https://img.shields.io/github/license/aomex/aomex?logo=open-source-initiative)](https://github.com/aomex/aomex/blob/main/LICENSE)\n\n# 特性\n\n- HTTP接口\n- 终端指令\n- 中间件\n- 数据验证\n- 日志\n- 缓存\n- i18n\n- 定时任务\n\n# 安装\n\n使用脚手架一键安装\n\n```bash\nnpx create-aomex@latest\n```\n\n# 应用平台\n\n| Name                          | Version                                                                                             | Desc           |\n| ----------------------------- | --------------------------------------------------------------------------------------------------- | -------------- |\n| [web](./packages/web)         | [![npm](https://img.shields.io/npm/v/@aomex/web)](https://www.npmjs.com/package/@aomex/web)         | web接口服务    |\n| [console](./packages/console) | [![npm](https://img.shields.io/npm/v/@aomex/console)](https://www.npmjs.com/package/@aomex/console) | 控制台指令服务 |\n\n# 核心库\n\n| Name                                      | Version                                                                                                         | Platform    | Desc                 |\n| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ----------- | -------------------- |\n| [compress](./packages/compress)           | [![npm](https://img.shields.io/npm/v/@aomex/compress)](https://www.npmjs.com/package/@aomex/compress)           | web         | 压缩响应内容         |\n| [cors](./packages/cors)                   | [![npm](https://img.shields.io/npm/v/@aomex/cors)](https://www.npmjs.com/package/@aomex/cors)                   | web         | 跨域请求共享         |\n| [http-logger](./packages/http-logger)     | [![npm](https://img.shields.io/npm/v/@aomex/http-logger)](https://www.npmjs.com/package/@aomex/http-logger)     | web         | http请求日志         |\n| [helmet](./packages/helmet)               | [![npm](https://img.shields.io/npm/v/@aomex/helmet)](https://www.npmjs.com/package/@aomex/helmet)               | web         | 设置安全报文         |\n| [pretty-json](./packages/pretty-json)     | [![npm](https://img.shields.io/npm/v/@aomex/pretty-json)](https://www.npmjs.com/package/@aomex/pretty-json)     | web         | 美化响应输出         |\n| [serve-static](./packages/serve-static)   | [![npm](https://img.shields.io/npm/v/@aomex/serve-static)](https://www.npmjs.com/package/@aomex/serve-static)   | web         | 静态文件服务         |\n| [response-time](./packages/response-time) | [![npm](https://img.shields.io/npm/v/@aomex/response-time)](https://www.npmjs.com/package/@aomex/response-time) | web         | 设置服务响应时长报文 |\n| [rate-limit](./packages/rate-limit)       | [![npm](https://img.shields.io/npm/v/@aomex/rate-limit)](https://www.npmjs.com/package/@aomex/rate-limit)       | web         | 请求限速             |\n| [etag](./packages/etag)                   | [![npm](https://img.shields.io/npm/v/@aomex/etag)](https://www.npmjs.com/package/@aomex/etag)                   | web         | 设置etag报文         |\n| [cron](./packages/cron)                   | [![npm](https://img.shields.io/npm/v/@aomex/cron)](https://www.npmjs.com/package/@aomex/cron)                   | console     | 定时任务             |\n| [async-trace](./packages/async-trace)     | [![npm](https://img.shields.io/npm/v/@aomex/async-trace)](https://www.npmjs.com/package/@aomex/async-trace)     | web/console | 异步逻辑链路追踪     |\n\n# 缓存\n\n| Name                                                  | Version                                                                                                                     | Desc        |\n| ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| [cache](./packages/cache)                             | [![npm](https://img.shields.io/npm/v/@aomex/cache)](https://www.npmjs.com/package/@aomex/cache)                             | 缓存库入口  |\n| [cache-redis-adapter](./packages/cache-redis-adapter) | [![npm](https://img.shields.io/npm/v/@aomex/cache-redis-adapter)](https://www.npmjs.com/package/@aomex/cache-redis-adapter) | redis适配器 |\n\n# 文档服务\n\n| Name                                                    | Version                                                                                                   | Desc                                                   |\n| ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |\n| [openapi](./packages/openapi)                           | [![npm](https://img.shields.io/npm/v/@aomex/openapi)](https://www.npmjs.com/package/@aomex/openapi)       | 根据接口生成 openapi{.json,.yaml} 文件                 |\n| [foca-openapi](https://github.com/foca-js/foca-openapi) | [![npm](https://img.shields.io/npm/v/foca-openapi)](https://www.npmjs.com/package/foca-openapi)           | 根据 openapi{.json,.yaml} 文件生成Typescript请求客户端 |\n| [swagger-ui](./packages/swagger-ui)                     | [![npm](https://img.shields.io/npm/v/@aomex/swagger-ui)](https://www.npmjs.com/package/@aomex/swagger-ui) | swagger文档渲染网页                                    |\n| [redoc-ui](./packages/redoc-ui)                         | [![npm](https://img.shields.io/npm/v/@aomex/redoc-ui)](https://www.npmjs.com/package/@aomex/redoc-ui)     | redoc文档渲染网页                                      |\n\n# 身份认证\n\n| Name                                                    | Version                                                                                                                       | Desc                |\n| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------- |\n| [auth](./packages/auth)                                 | [![npm](https://img.shields.io/npm/v/@aomex/auth)](https://www.npmjs.com/package/@aomex/auth)                                 | 身份认证统一入口    |\n| [auth-bearer-strategy](./packages/auth-bearer-strategy) | [![npm](https://img.shields.io/npm/v/@aomex/auth-bearer-strategy)](https://www.npmjs.com/package/@aomex/auth-bearer-strategy) | Bearer Token 方案   |\n| [auth-jwt-strategy](./packages/auth-jwt-strategy)       | [![npm](https://img.shields.io/npm/v/@aomex/auth-jwt-strategy)](https://www.npmjs.com/package/@aomex/auth-jwt-strategy)       | Json Web Token 方案 |\n\n# 第三方搭配\n\n| Name                                                 | Version                                                                                   | Desc                                |\n| ---------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------- |\n| [tsx](https://github.com/privatenumber/tsx)          | [![npm](https://img.shields.io/npm/v/tsx)](https://www.npmjs.com/package/tsx)             | 执行 TS 文件                        |\n| [prisma](https://github.com/prisma/prisma)           | [![npm](https://img.shields.io/npm/v/prisma)](https://www.npmjs.com/package/prisma)       | 数据库 ORM                          |\n| [mongoose](https://github.com/Automattic/mongoose)   | [![npm](https://img.shields.io/npm/v/mongoose)](https://www.npmjs.com/package/mongoose)   | 数据库 ORM                          |\n| [vitest](https://github.com/vitest-dev/vitest)       | [![npm](https://img.shields.io/npm/v/vitest)](https://www.npmjs.com/package/vitest)       | 测试框架                            |\n| [tsc-alias](https://github.com/justkey007/tsc-alias) | [![npm](https://img.shields.io/npm/v/tsc-alias)](https://www.npmjs.com/package/tsc-alias) | 补全`.js`后缀                       |\n| [volta](https://volta.sh/)                           |                                                                                           | 不同项目自动切换node和pnpm/yarn版本 |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faomex%2Faomex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faomex%2Faomex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faomex%2Faomex/lists"}