(資料圖片)
Turborepo 1.10已發(fā)布。
Turborepo 是一個(gè)適用于 JavaScript 和 TypeScript 代碼庫(kù)的高性能 monorepo 構(gòu)建系統(tǒng)。
所謂 monorepo,簡(jiǎn)單來(lái)說(shuō)就是將所有項(xiàng)目代碼放到一個(gè) Git / Mercurial / Subversion 代碼倉(cāng)庫(kù)中。當(dāng)下許多大型前端項(xiàng)目和公司都采用了 monorepo 方案,比如 Google、Facebook,以及社區(qū)知名開(kāi)源項(xiàng)目 Babel、Vue-next 都使用了 monorepo 方來(lái)管理他們的代碼。
Turborepo 1.10 主要變化
引入代碼生成器:支持使用turbo gen
生成源代碼,包括創(chuàng)建新工作區(qū)和復(fù)制現(xiàn)有工作區(qū) Turborepo 代碼生成器支持開(kāi)發(fā)者以可預(yù)測(cè)的結(jié)構(gòu)化方式將新代碼添加到倉(cāng)庫(kù)庫(kù)中。以前,他們需要自己復(fù)制代碼并手動(dòng)將依賴項(xiàng)添加到新工作區(qū)。借助代碼生成器,現(xiàn)在自動(dòng)化了創(chuàng)建新工作區(qū)并將其集成到倉(cāng)庫(kù)中的過(guò)程。
優(yōu)化環(huán)境變量輸入:現(xiàn)在可以更輕松地依賴具有通配符和.env
支持的環(huán)境變量。 .env
文件通常用于加載環(huán)境變量。當(dāng)使用turbo
來(lái)運(yùn)行的時(shí)候,這可能會(huì)導(dǎo)致問(wèn)題,因?yàn)檫@些變量可能是不可見(jiàn)的,并且不容易包含在任務(wù)的哈希中。在本地工作時(shí),此問(wèn)題可能會(huì)導(dǎo)致意外的緩存命中。
Turborepo 現(xiàn)在通過(guò)自動(dòng)支持.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"] } }}
引入新的環(huán)境模式:現(xiàn)在可以指定--env-mode=strict
來(lái)控制任務(wù)哈希 (task hashes) 中包含的環(huán)境變量 引入環(huán)境變量通配符:大型應(yīng)用程序的turbo.json
中可能會(huì)出現(xiàn)許多環(huán)境變量。這可能會(huì)使配置難以管理和維護(hù)。使用通配符,現(xiàn)在可以指定要包含在哈希中的變量模式。 { "$schema": "https://turbo.build/schema.json", "pipeline": { "build": { "env": ["ACME_*"] } }}
詳情查看發(fā)布公告。
關(guān)鍵詞: