Mentionsy

Subiektywny Frontend
Subiektywny Frontend
27.10.2025 15:00

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

Znaleziono 18 wyników dla "Monorepo"

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.