【资料图】
Turborepo 1.10已发布。
Turborepo 是一个适用于 JavaScript 和 TypeScript 代码库的高性能 monorepo 构建系统。
所谓 monorepo,简单来说就是将所有项目代码放到一个 Git / Mercurial / Subversion 代码仓库中。当下许多大型前端项目和公司都采用了 monorepo 方案,比如 Google、Facebook,以及社区知名开源项目 Babel、Vue-next 都使用了 monorepo 方来管理他们的代码。
Turborepo 1.10 主要变化
引入代码生成器:支持使用turbo gen
生成源代码,包括创建新工作区和复制现有工作区 Turborepo 代码生成器支持开发者以可预测的结构化方式将新代码添加到仓库库中。以前,他们需要自己复制代码并手动将依赖项添加到新工作区。借助代码生成器,现在自动化了创建新工作区并将其集成到仓库中的过程。
优化环境变量输入:现在可以更轻松地依赖具有通配符和.env
支持的环境变量。 .env
文件通常用于加载环境变量。当使用turbo
来运行的时候,这可能会导致问题,因为这些变量可能是不可见的,并且不容易包含在任务的哈希中。在本地工作时,此问题可能会导致意外的缓存命中。
Turborepo 现在通过自动支持.env
文件让这一切变得更加容易。
{ "$schema": "https://turbo.build/schema.json", "globalDotEnv": [".env"], "pipeline": { "build": { "dotEnv": [".env.production.local", ".env.local", ".env.production", ".env"] }, "dev": { "dotEnv": [".env.development.local", ".env.local", ".env.development", ".env"] }, "test": { "dotEnv": [".env.test.local", ".env.test", ".env"] } }}
引入新的环境模式:现在可以指定--env-mode=strict
来控制任务哈希 (task hashes) 中包含的环境变量 引入环境变量通配符:大型应用程序的turbo.json
中可能会出现许多环境变量。这可能会使配置难以管理和维护。使用通配符,现在可以指定要包含在哈希中的变量模式。 { "$schema": "https://turbo.build/schema.json", "pipeline": { "build": { "env": ["ACME_*"] } }}
详情查看发布公告。