GitHub 工作流 (GitHub Workflows)
- pr.yml:
- 为所有拉取请求运行测试
- 运行 nx affected,仅执行缓存失效的任务
- 也使用 pkg-pr-new 发布包预览并创建示例链接
- release.yml:
- 为合并到发布分支的代码运行测试
- 运行 nx run-many,执行所有任务并确保输出存在(发布构建的必要条件)
- 使用 Changesets 处理版本控制和发布
Nx
TanStack 项目使用 Nx 来快速执行我们的测试和构建。任务在本地和 CI 中并行化和缓存。虽然 Nx 拥有广泛的插件系统,但我们仅将 Nx 用作 NPM 脚本运行器。
配置文件 (Config Files)
- ./nx.json:主配置文件,定义任务依赖项、输入和输出
- ./package.json:需要手动指定根级脚本(例如 test:format)
- ./**/package.json:自动检测包级脚本(例如 build)
Nx 代理 (Nx Agents)
- Nx 允许您在多台 CI 机器上分发任务,从而增加可以并行运行的作业数量
- 请注意,这确实会产生相当大的启动延迟