Npm 7.0.0 oficjalnie wydane ze wsparciem dla yarn.lock
Interfejs wiersza polecenia npm 7.0.0 wydany! Po miesiącach prób stabilna wersja jest dostępna. Pierwsze podejście do tego wydania było w maju, a w czerwcu pisaliśmy o wydaniu wersji beta z workspaces. Jest to jedna z nowości, jak również nowe jest automatyczne instalowanie zależności równorzędnych. Kolejnym przełomem jest dostępność interfejsu z Node.js 15.0.0 już od przyszłego tygodnia.
Workspaces w npm 7.0.0
Tak jak wspominaliśmy w czerwcu, nowe wydanie zawiera obsługę obszarów roboczych (workspaces). Jest to zestaw funkcji interfejsu npm, dzięki którym z pojedynczego pakietu głównego zapewniona jest obsługa zarządzania wieloma pakietami.
Zależności równorzędne
Przełomową zmianą jest automatyczne instalowanie zależności równorzędnych. Jest to zupełnie nowa funkcja, więc czasami przepływ pracy może być zakłócony. Przed wprowadzeniem nowej wersji npm 7 programiści sami zarządzali i instalowali własne zależności równorzędne. Od teraz nowowprowadzony algorytm zapewnia dopasowanie zależności równorzędnej, znalezionej w danej lub wyższej, zależnej od peer, lokalizacji w drzewie modułów Node.
Przebudowa npm 7.0.0
Kolejną ważną zmianą jest przebudowa elementów wewnętrznych npm. W związku z tym przeniesiono inspekcję i zarządzanie drzewem node_modules do modułu Arborist. Takie zmiany pomogą bazie kodu npm być łatwiejszą w utrzymaniu i niezawodną. Mniej błędów i szybszy cykl iteracji oznacza szybsze dostarczanie aktualizacji do npm.
Pakiet package-lock i wsparcie yarn.lock
Pierwszy z formatów zawarty w npm 7.0.0 – package-lock – odblokowuje możliwość tworzenia odtwarzalnych deterministycznie kompilacji. Dzięki niemu npm może zbudować pełne drzewo pakietów. Z kolei korzystając z yarn.lock (ignorowanego we wcześniejszych wersjach) CLI npm otrzymuje informacje o źródłach metadanych projektu oraz wskazówki dotyczące rozdzielczości.
Zmiany w npx
Zgodnie z wprowadzoną wersją beta w czerwcu, przepisano plik binarny npx. Pozwala to na korzystanie z polecenia npm exec. Najbardziej widoczną zmianą w funkcjonalności jest wyświetlanie monitu. Pokaże się on, jeśli nie zainstalowano jeszcze uruchamianego modułu.
Podsumowanie
Nową wersję interfejsu wiersza polecenia można wypróbować, instalując go i uruchamiając npm i -g npm@7 w terminalu. Opublikowanej wersji nie oznaczono jako wersję latest. Mimo gotowości do codziennego użytku, twórcy nie narzucają programistom korzystania z npm 7.0.0. Do momentu opublikowania jako ostateczne wydanie, twórcy planują ulepszać interfejs polecenia o nowe funkcje. Będą także uwzględniać opinie i raporty otrzymywane od użytkowników.