Dostępny menedżer pakietów NPM 7.0

Opublikowano wydanie menedżera pakietów NPM 7.0, wchodzącego w skład Node.js i stosowanego do dystrybucji modułów napisanych w języku JavaScript. Repozytorium NPM obsługuje ponad 1,3 miliona pakietów, z których korzysta około 12 milionów deweloperów. W miesiącu rejestrowane jest około 75 miliardów pobrań. NPM 7.0 stał się pierwszym istotnym wydaniem, opracowanym po zakupie NPM Inc przez firmę GitHub. Nowa wersja zostanie włączona w dostawę przyszłego wydania platformy Node.js 15, które oczekiwane jest 20 października. Aby zainstalować NPM 7.0, bez oczekiwania na nową wersję Node.js, można wykonać polecenie „npm i -g npm@7”.

Kluczowe nowości:

  • Obszary robocze (Workspaces), pozwalają na agregowanie w jeden pakiet zależności z kilku pakietów w celu ich zainstalowania za jednym razem.
  • Automatyczna instalacja peer-zależności (używanych w wtyczkach do określenia podstawowych pakietów, z którymi obecny pakiet jest zaprojektowany do współpracy, nawet jeśli nie jest bezpośrednio w nim używany). Peer-zależności są określane w pliku package.json w sekcji „peerDependencies”. Wcześniej takie zależności były instalowane ręcznie przez programistów, ale w NPM 7.0 wprowadzono algorytm, który zapewnia, że poprawnie określona peer-zależność jest odnajdywana na tym samym poziomie lub wyżej w drzewie node_modules.
  • Druga wersja formatu blokady (package-lock v2) i wsparcie dla pliku blokady yarn.lock. Nowy format umożliwia realizację powtarzalnych kompilacji i obejmuje wszystko, co potrzebne do pełnej budowy drzewa pakietów. NPM może teraz również używać plików yarn.lock jako źródła metadanych pakietu i informacji o blokadach.
  • Przeprowadzono istotny refaktoring komponentów wewnętrznych, mający na celu podział funkcjonalności dla uproszczenia konserwacji i zwiększenia niezawodności. Na przykład kod do inspekcji i zarządzania drzewem node_modules został przeniesiony do osobnego modułu Arborist.
  • Zrealizowano przejście na użycie pola package.exports, co uniemożliwia ładowanie wewnętrznych modułów za pomocą wywołania require().
  • Całkowicie przepisano pakiet npx, który teraz wykorzystuje polecenie „npm exec” do uruchamiania plików wykonywalnych z pakietów.
  • Znacząco zmieniono wynik polecenia „npm audit”, zarówno w formacie czytelnym, jak i w trybie „—json”.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster