Každý příkaz postupuje z aktuálního adresáře směrem nahoru k nejbližšímu .lingo/config.json. Tohle jediné pravidlo stačí, aby CLI v monorepu fungovalo — stačí si jen zvolit, kde budou konfigurační soubory uložené.
Možnost 1: jedna konfigurace v kořeni#
Pokud vaše balíčky používají stejný zdrojový jazyk a stejné cílové jazyky, umístěte jeden .lingo/config.json do kořene repozitáře a nechte jeho vzory v files sahat do jednotlivých balíčků:
{
"sourceLocale": "en",
"targetLocales": ["de", "fr"],
"files": [
{ "pattern": "apps/web/locales/en.json" },
{ "pattern": "packages/docs/content/en/**/*.md" }
]
}Jeden lingo push v kořeni pokryje všechno. Lockfile bude také v kořeni.
Možnost 2: konfigurace pro každý balíček#
Když balíčky potřebují různé jazyky nebo engine, dejte každému vlastní .lingo/config.json:
apps/web/.lingo/config.json # de, fr
apps/mobile/.lingo/config.json # de, fr, ja, koSpouštějte příkazy přímo v balíčku (nebo se do něj cd) — CLI najde konfiguraci daného balíčku:
cd apps/mobile && lingo pushKaždý balíček má vlastní lockfile a nezávisle se propojuje se svým vlastním engine.
CI pro každý balíček#
V CI nasměrujte job každého balíčku do jeho adresáře pomocí --working-directory:
- run: npx @lingo.dev/cli@latest ci --step push --working-directory apps/web
- run: npx @lingo.dev/cli@latest ci --step push --working-directory apps/mobileViz CI/CD.
Spouštění z podadresáře
Kvůli lokálním příkazům nemusíte ručně cd do kořene balíčku — když spustíte lingo push odkudkoli uvnitř balíčku, CLI vystoupá ke konfiguraci daného balíčku a zapíše lockfile zpět vedle ní.
