NPM 7.0 zawiera automatyczną instalację zależności i nie tylko

Ostatnio Uwolnienie nowa wersja menedżera pakietów NPM 7.0, zawarte w dystrybucji Node.js i używane do dystrybucji modułów JavaScript.

Ta nowa wersja NPM 7.0 przybywa z Workspaces(zestaw funkcji npm CLI), który zapewnia obsługę zarządzania wieloma pakietami, w zależności od wielu pakietów do zainstalowania w jednym kroku.

Wesołego startu we wtorek! Dzisiejszy dzień to ważny kamień milowy dla zespołu npm CLI - oficjalnie odcięliśmy npm@7.0.0. Jeśli śledziłeś ten ostatni rok lub dłużej, teraz ciężko pracowaliśmy, aby dostarczyć ci tę wersję.

Plik automatyczna instalacja zależności peer-to-peer (używany we wtyczkach do określenia pakietów podstawowych, dla których jest przeznaczony bieżący pakiet, nawet jeśli nie jest używany bezpośrednio w nim).

Odpowiednie zależności między urządzeniami równorzędnymi dla pakietów są teraz wykrywane automatycznie, ponieważ wcześniej programiści musieli instalować je ręcznie.

Zależności równorzędne są określone w pliku package.json w sekcji „peerDependencies”. NPM 7.0 implementuje algorytm zapewniający, że prawidłowo zdefiniowana zależność między urządzeniami równorzędnymi zostanie znaleziona na lub powyżej poziomu pakietu zależnego w drzewie node_modules.

Nasze skupienie i determinacja przekroczyły ostatnie 3 miesiące, gdy podnieśliśmy cotygodniowe tempo wydawania i zaczęliśmy zajmować się błędami / komentarzami w naszych oknach beta / rc.

Jak wspomniałem wcześniej, wciąż mamy wiele do zrobienia, ale uważamy, że CLI jest dziś w bardzo stabilnym miejscu i jest gotowe do użycia. npm v7 będzie dostarczany z Node.js v15 (PR, aby wylądować to dzieło zostanie wkrótce otwarte) i nie możemy się doczekać kontynuacji tempa zmian / ulepszeń, zbliżając się do ostatniego kwartału roku.

Z drugiej strony prezentowana jest druga wersja formatu blokady (blokada pakietu v2) oraz obsługę pliku blokady yarn.lock.

Format blokowania pakietów został poprawiony i najwyraźniej zawiera wszystko, czego npm potrzebuje do pełnego utworzenia drzewa pakietów. Do tej pory pliki yarn.lock były najwyraźniej ignorowane, ponieważ od wersji 7 klient npm może również odczytywać z nich metadane pakietów i informacje o rozdzielczości.

Nowy format pozwala na powtarzalne kompilacje i zawiera wszystko, czego potrzebujesz do zbudowania pełnego drzewa pakietów.

Ponadto wspomina się, że pomimo ogromnego przeglądu wewnętrznych elementów npm, zespół pracował niestrudzenie, aby zapewnić minimalne zakłócenia w większości przepływów pracy.

Głównym wewnętrzna refaktoryzacja komponentów, w celu oddzielenia funkcjonalności w celu uproszczenia konserwacji i zwiększenia niezawodności.

Na przykład kod do inspekcji i zarządzania drzewem node_modules został przeniesiony do oddzielnego modułu Arborist.

Przejście do korzystania z pola package.exports, co uniemożliwia podłączenie modułów wewnętrznych poprzez wywołanie require ().
Całkowicie przepisany pakiet npx, który teraz używa polecenia „npm exec” do uruchamiania plików wykonywalnych z pakietów.

Dane wyjściowe polecenia „npm audit” uległy znacznym zmianom, zarówno po wygenerowaniu w formacie czytelnym dla człowieka, jak i po wybraniu trybu „–json”.

Rozładowanie

Nowa wersja jest teraz dostępna dla ogółu społeczeństwa i można szybko zaktualizować poprzednią wersję lub całkowicie zainstalować nową wersję.

Na koniec warto wiedzieć, że repozytorium NPM obsługuje ponad 1,3 miliona pakietów, z których korzysta około 12 milionów programistów. Miesięcznie rejestrowanych jest około 75 miliardów pobrań. NPM 7.0 było pierwszym znaczącym wydaniem utworzonym po zakupie NPM Inc przez GitHub.

Nowa wersja będzie dostarczana z przyszłą wersją platformy Node.js 15, zaplanowany na 20 października. Aby zainstalować NPM 7.0 bez czekania na nową wersję Node.js, można to zrobić, uruchamiając polecenie w terminalu:

npm i -g npm@7

Jeśli chcesz dowiedzieć się więcej na ten temat O nowej wydanej wersji możecie sprawdzić w oficjalnym ogłoszeniu.

Link jest taki.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.