Przejdź do treści
100% lokalnie

Przegląd zależności package.json

Dzieli package.json na zależności produkcyjne, deweloperskie, peer i opcjonalne z ich zakresami wersji.

Wejście
Wynik

Przegląd zależności package.json

Wklej zawartość pliku package.json, a to narzędzie posortuje każdą zależność do jej grupy — produkcyjne, deweloperskie, peer i opcjonalne — i wyświetli zakres wersji obok każdej nazwy pakietu. Jest przeznaczony do otwierania nieznanego repozytorium i widzenia, od czego zależy, bez przewijania ściany JSON, lub przeglądu pull requestu, który dotyka listy zależności.

Wybierz, jak sortowana jest lista: pogrupowana według typu lub spłaszczona alfabetycznie. Liczby grup pokazują, ile pakietów znajduje się w każdym wiadrze na pierwszy rzut oka. "Wyjaśnij zakresy wersji" dodaje krótką notatkę do każdego wiersza opisującą, co jego zakres pozwala — caret pozwala na aktualizacje drobne i łatki, tilda tylko łatki, dokładna wersja nigdy się nie aktualizuje sama, a gołą gwiazdkę akceptuje wszystko. Dwa kolejne pola wyboru ujawniają ryzyko: jeden oznacza pakiety przypięte do dokładnej wersji lub całkowicie nieograniczone, drugi oznacza dowolną nazwę pakietu powtórzoną w grupach, zwykle oznakę, że wpis wymaga oczyszczenia. Oddzielny przełącznik dołącza pola engines i packageManager, jeśli są obecne.

Wyjście renderuje się jako zwykła wyrównana tabela, lista tekstu w grupie lub tabela Markdown gotowa do wklejenia do README lub opisu pull requestu. Narzędzie czyta tylko pola, które potrzebuje, i ignoruje resztę, więc wklejenie kompletnego package.json ze skryptami i metadanymi działa dokładnie tak samo, jak wklejenie przyciętej wersji.

Wszystko działa lokalnie w Twojej przeglądarce. Twój package.json nigdy nie jest przesyłany, co ma znaczenie, jeśli zawiera nazwy prywatnych lub nieopublikowanych pakietów. Skopiuj wynik, pobierz go jako plik .txt lub wyślij go bezpośrednio do wejścia innego narzędzia, aby kontynuować pracę.

Częste pytania

Które pola czyta z package.json?
dependencies, devDependencies, peerDependencies, optionalDependencies oraz — gdy opcja jest włączona — engines i packageManager. Wszystkie pozostałe pola, w tym skrypty i metadane, są ignorowane.
Co liczy się za wersję "przypięta" lub "wieloznaczna"?
Przypięta wersja w ogóle nie ma operatora zakresu, na przykład "4.17.21" — nigdy się nie aktualizuje przy instalacji. Znakiem wieloznacznym jest "*" lub pusty ciąg, który akceptuje dowolną wersję. Opcja flagi oznacza oba, ponieważ znajdują się na przeciwnych końcach tego samego problemu: brak kontroli nad tym, co się instaluje.
Dlaczego pakiet może pojawić się w więcej niż jednej grupie?
Zwykle oznacza to, że zależność została dodana dwukrotnie ręcznie lub przeniesiona z devDependencies do peerDependencies bez usunięcia starego wpisu. Flaga duplikatu wskazuje na każdą nazwę pakietu, która pojawia się w dwóch lub więcej z czterech grup.
Czy to weryfikuje zakresy wersji względem rejestru npm?
Nie. Czyta tylko składnię zakresu już w pliku — nie sprawdza sieciowo, jakie wersje faktycznie istnieją, więc działa całkowicie offline.
Czy mój package.json jest gdzieś przesyłany?
Nie. Analiza i formatowanie odbywa się całkowicie w Twojej przeglądarce — Twój plik, w tym wszystkie nazwy prywatnych pakietów, które zawiera, nigdy nie opuszcza Twojego urządzenia.