turborepo
Zoptymalizuj budowanie monorepo – równoległa kompilacja z inteligentnym cache'owaniem
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Turborepo to system budowania dla monorepo napisanych w JavaScript i TypeScript. Automatycznie cache'uje wyniki zadań i uruchamia je równolegle na podstawie grafu zależności między pakietami. Skraca czas kompilacji, testowania i lintowania dzięki inteligentnej paralelizacji i cache'owaniu zdalnych wyników. Idealne dla zespołów zarządzających wieloma aplikacjami i bibliotekami w jednym repozytorium.
Jak używać
Zainstaluj Turborepo w swoim monorepo, jeśli jeszcze go nie masz – dodaj go do zależności root package.json lub użyj CLI do inicjalizacji struktury.
Utwórz plik turbo.json w katalogu root repozytorium. W tym pliku zdefiniuj wszystkie zadania (build, lint, test) oraz ich zależności za pomocą pola dependsOn, które wskazuje, które zadania muszą być wykonane wcześniej.
Dodaj skrypty do każdego pakietu – w package.json każdej aplikacji i biblioteki (apps/web, apps/api, packages/ui) umieść konkretne polecenia, takie jak "build": "next build" lub "lint": "eslint .".
W root package.json dodaj delegujące skrypty, które uruchamiają Turborepo – na przykład "build": "turbo run build". Nie umieszczaj logiki zadań w root package.json, ponieważ uniemożliwia to paralelizację.
Uruchom zadania za pomocą turbo run – polecenie turbo run build automatycznie wykryje zależności między pakietami i uruchomi je w optymalnej kolejności, cache'ując wyniki dla przyszłych uruchomień.
Opcjonalnie skonfiguruj cache zdalne, aby wyniki były udostępniane między członkami zespołu i w CI/CD – dzięki temu każdy developer i pipeline mogą korzystać z wcześniej cache'owanych wyników zamiast przebudowywać wszystko od nowa.