Mentionsy
Modularny Angular z Nx: błędy, których musisz unikać w monorepo
Odcinek opublikowany 10.10.2024
🚨 Pułapki Angulara i Nx w Monorepo – Co Może Pójść Nie Tak?
W tym odcinku rozkładamy na czynniki pierwsze najczęstsze błędy popełniane w Angularze i Nx podczas pracy z monorepo. Na bazie doświadczeń z code review w naszej pracy, omawiamy, dlaczego wyłączanie reguł eslint czy brak konwencji nazewnictwa mogą pogrążyć Twój projekt. Dowiesz się, jak zarządzać zależnościami między bibliotekami, uniknąć rozlewania kodu po całym repozytorium oraz jak efektywnie korzystać z narzędzi Nx, by zapanować nad monorepo. Odkryj też, co się dzieje, gdy zabraknie odpowiedzialności za wspólny kod!
💡 Masz podobne doświadczenia? Podziel się nimi w komentarzach!
🔗 Subskrybuj, by nie przegapić kolejnych odcinków pełnych praktycznych porad!
#Angular #Nx #Monorepo #Frontend #CodeQuality #JavaScript #SoftwareDevelopment #CI_CD
Szukaj w treści odcinka
Monorepo też Cię znajdzie.
Już kiedyś o tym wspominaliśmy, że wyłączenie ESLint i reguły ESLinta nie jest najlepszą rzeczą, szczególnie w monorepo, ponieważ te reguły pozwalają nam na to, żeby
I to jest projekt w Nx, czyli jest monorepo.
Kolejnym problemem, z jakim możecie się spotkać w angularowych aplikacjach i to niekoniecznie monorepo, to jest niemyślenie o granicach, kierunkach zależności i to, jak ten kod jest połączony między sobą oraz przy warstwach, bo nasz kod jest często układany w jakieś konkretne warstwy.
Kolejnym problemem jest to, że mamy kod, który się rozlewa po różnych miejscach w naszym monorepo.
Akurat ten punkt wydaje mi się szczególnie ważny w monorepo i zastanawiałem się, czy masz jakieś propozycje, czy masz jakieś doświadczenie, jak zapobiec takim sytuacjom, w którym po prostu niektóre byty w monorepo przestają mieć właściciela.
I teraz przechodzimy do takich błędów, pułapek, które można spotkać już bardziej w Nx, w monorepo.
Mimo tego, że nie wysypie się kod, to nie mamy tutaj, pozbawiamy się dobrodziejstw monorepo i dobrodziejstw Nx.
I właśnie dlatego zawsze unikamy kopiowania bibliotek w monorepo, który jest zbudowany na NX-ie.
Tak, i oczywiście możemy do tego użyć cache'a, możemy do tego użyć NxCloud'a, możemy do tego użyć naszego własnego cloud'a na przykład Amazonie S3, są do tego odpowiednie biblioteki, ale pamiętajcie, że Nx i monorepo po prostu przychodzi z kosztem, o którym już kiedyś mówiliśmy, że te pipeline'y sporo zajmują, więc affected i cache to jest absolutny must have.
W tych wypadkach warto zaufać komuś, kto zna się na tym troszeczkę lepiej i trzymać się jednak swojej domeny, swoich bibliotek, swoich aplikacji, ponieważ jakiekolwiek zmiany w konfiguracjach czy tworzenie, tak jak mówiłem wcześniej, czegoś customowego może namieszać bardzo mocno monorepo.
A jakbyście mieli jakieś pytania do NX-a, monorepo, potrzebowali pomocy?
Kolejną rzeczą, o której chciałbym opowiedzieć, to jest to, że jak już pracujemy z Nx-em i monorepo, jakieś mikrofronty na przykład robimy, to trzeba zrozumieć jedną rzecz, że monorepo nie umożliwia nam tak out of the box, takiego kompletnie niezależnego developmentu dla różnych zespołów.
Monorepo przychodzi z dobrodziejstwem inwentarza i może być w niektórych setupach bardzo trudne tak organizacyjnie.
Po prostu to jest monorepo.
Pytanie, czy jesteście w Waszym zespole gotowi na monorepo i na to, że jest teraz kilka zespołów, które chcą się wyrejestrować w różnym momencie.
To, co chciałbym dodać od siebie, jeżeli chodzi o rylisowanie monorepo, no to to jest dziura bez dna tak naprawdę i jeżeli nie jesteście do końca pewni, jak to organizacyjnie zrobić, tak jak Jakub wspomniał, to lepiej może trzymać się z dala od monorepo, ponieważ nie zawsze ten trunk base jest możliwy i nie zawsze takie merżowanie do mastera jest tak mile widziane przez biznes waszej organizacji.
Modularny Angular z Nx fajna rzecz, ale uważajcie z tym monorepo, bo to nie zawsze jest takie kolorowe i różowe.
Ostatnie odcinki
-
Koniec RxJS w Angularze? Signals przejmują ster...
27.11.2025 17:00
-
Czy już wszyscy frontend developerzy są inżynie...
20.11.2025 15:00
-
Odwróć zależności albo zgiń – Nx graph day!
19.11.2025 15:00
-
🚨 94,8% stron niedostępnych! Czy Europejski Akt...
18.11.2025 15:00
-
Angular 20: Bez ngIf, bez ngFor... bez sensu?
17.11.2025 15:00
-
Ten setup zniszczy Twój monolit – NX + Micro Fr...
16.11.2025 15:00
-
Hack Angular Material 3 – styluj bez palet kolo...
15.11.2025 15:00
-
Micro Frontendy 2025 - czy ten pociąg już odjec...
14.11.2025 15:00
-
Czy Liquid Glass od Apple kończy erę hybrydowyc...
13.11.2025 17:00
-
Bootstrap, jQuery - przyjaciele, czy jeszcze ży...
11.11.2025 15:00