T
typescript-circular-dependency
Wykryj i napraw cykliczne zależności w TypeScript i JavaScript
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do automatycznego wykrywania i rozwiązywania cyklicznych importów w projektach TypeScript/JavaScript. Pomaga w debugowaniu błędów runtime'owych takich jak "Cannot access X before initialization" czy importy zwracające undefined. Narzędzie analizuje graf zależności modułów i wskazuje dokładne miejsca, gdzie moduł A importuje z B, a B importuje z powrotem z A, co powoduje niezainicjalizowane wartości. Szczególnie przydatne gdy testy w Jest/Vitest padają, a w przeglądarce działa, lub gdy zmiana kolejności importów rozwiązuje problem.
Jak używać
- Zainstaluj narzędzie madge globalnie za pomocą npm install -g madge, które będzie analizować strukturę zależności w Twoim projekcie.
- Uruchom madge z flagą --circular na katalogu src, aby znaleźć wszystkie cykliczne zależności: madge --circular --extensions ts,tsx src/
- Przeanalizuj wynik — skill wskaże dokładne ścieżki, gdzie moduł A importuje z B, a B importuje z powrotem z A.
- Zidentyfikuj typ cyklu (service-to-service, barrel exports, circular hooks) — każdy wymaga innego podejścia do naprawy.
- Zastosuj rozwiązanie: podziel moduły na mniejsze części, użyj lazy imports, wydziel wspólny kod do osobnego pliku lub zmień kolejność inicjalizacji.
- Uruchom ponownie madge, aby potwierdzić, że cykliczne zależności zostały wyeliminowane, a następnie przetestuj aplikację.