AG Charts 技术栈与架构约束
本文档概述 AG Charts 单仓库(monorepo)偏好的技术及架构约束。
关键要求:零运行时依赖
AG Charts 的主要库(ag-charts-core、ag-charts-community、ag-charts-enterprise)必须具有零第三方运行时依赖。仅允许内部 AG Charts 包以及用于构建/测试工具的开发依赖。
核心库
包 / 运行时依赖 / 用途
ag-charts-types:无(零依赖)/TypeScript 类型定义
ag-charts-core:仅 ag-charts-types/核心渲染引擎与实用工具
ag-charts-locale:无(零依赖)/国际化(40 多种语言)
ag-charts-community:ag-charts-core、ag-charts-types、ag-charts-locale/MIT 许可的图表库
ag-charts-enterprise:ag-charts-community、ag-charts-core/带有高级功能的商业图表库
核心技术:
TypeScript:主要语言,启用严格模式
Canvas API:使用场景图的自定义高性能渲染
纯 JavaScript:无外部运行时依赖
框架封装
包 / 运行时依赖 / 对等依赖
ag-charts-react:ag-charts-community/react ^18.0.0 || ^19.0.0
ag-charts-angular:ag-charts-community、tslib/@angular/common >= 17.0.0, @angular/core >= 17.0.0
ag-charts-vue3:ag-charts-community/vue ^3.5.0
文档网站(ag-charts-website)
技术 / 用途
Astro (v5.8.2):静态站点生成器
Markdoc:文档内容编写
React:Astro 内的交互组件
Vite:开发服务器与构建工具
Prism.js:语法高亮
Algolia:文档搜索
Nanostores:轻量级状态管理
Cheerio:服务端 HTML 解析
开发与构建工具
工具 / 用途 / 使用者
Nx (v20.3.1):单仓库编排与缓存/所有包
TypeScript (v5.4.5):类型检查与编译/所有包
SWC:快速转译/构建系统
ESBuild:高性能打包/生产构建
Jest:带可视化快照的单元测试/核心库
Playwright:端到端测试/网站
Vitest:快速单元测试/网站组件
ESLint:带自定义规则的代码检查/所有包
Prettier:代码格式化/所有包
Size Limit:包体积监控/核心库
版本要求
Node.js:^22.21.1
Yarn:^1.22.21
构建目标:ES2020(排除 IE)
TypeScript:所有包启用严格模式
适用场景:在选择技术方案、添加依赖或理解零依赖要求时参考本文档。