19 pakietów Node.js, które warto znać jako programista JavaScript dla produktywnego i łatwego życia

Czy spędzasz zbyt dużo czasu na tworzeniu kodu JavaScript? Czytaj dalej, aby poznać różne pakiety Node.js, które mogą sprawić, że życie programisty JavaScript będzie produktywne i łatwe.

JavaScript to synchroniczny język jednowątkowy. Jest to najczęściej używany język programowania do tworzenia oprogramowania i aplikacji. Wiele frameworków, takich jak Reactjs, Angularjs, Vuejs, Expressjs i Node.js, zostało opracowanych z ich podstawowym językiem, JavaScript.

Wielu programistów boryka się z problemami podczas kodowania w JavaScript z powodu różnych złożonych koncepcji, takich jak obietnice, pętla zdarzeń, wywołania zwrotne, podnoszenie, zamknięcia itp.

Aby ułatwić programowanie w JavaScript, dostępnych jest wiele pakietów Node.js, które pomagają w obsłudze błędów, formatowaniu kodu, usuwaniu plików, debugowaniu kodu, zapewnianiu bezpieczeństwa itp. Niektóre zapewniają również interaktywne interfejsy użytkownika wiersza poleceń dla lepszej wizualnej reprezentacji mocy procesora, zdolność przetwarzania, waga błędów itp.

Retire.js

Retire.js to biblioteka Javascript, która zawiera listę luk w zabezpieczeniach związanych z innymi wersjami biblioteki Javascript.

Może być używany jako rozszerzenie Chrome, rozszerzenie Firefox, skaner wiersza poleceń, wtyczka Grunt itp. Można go zainstalować za pomocą następującego polecenia:

$ npm install -g retire

Retire.js zawiera różne polecenia do skanowania plików JavaScript i węzłów. Skanuje witryny JavaScript i rejestruje ostrzeżenia w konsoli programisty. Retire.js generuje kod zakończenia 13, gdy znajdzie luki. Zadanie Gulp automatycznie skanuje pliki i zgłasza luki w zabezpieczeniach.

Np

Np to pakiet JavaScript, który zapewnia różne funkcje, takie jak czyszczenie kodu, instalacja zależności, publikowanie pakietów i tagów itp. Zapewnia, że ​​kod jest wypychany do gałęzi master i zapewnia interaktywny interfejs użytkownika.

Uwierzytelnianie dwuskładnikowe służy do zapewnienia bezpieczeństwa nowych repozytoriów. Zapewnia, że ​​praca jest wykonywana na najnowszej wersji poprzez ponowną instalację zależności. Najnowsza wersja jest przekazywana do npm. Można go zainstalować za pomocą następującego polecenia:

$ npm install --global np

Jego różne funkcje obejmują publikowanie kodu z dowolnej gałęzi, tworzenie podkatalogów do publikowania, pomijanie czyszczenia kodu i testowania itp. Konfiguracja np może odbywać się globalnie i lokalnie za pomocą flag CLI w plikach konfiguracyjnych np jak np-config.js i no -config.json.

ESLint

ESLint to narzędzie do tworzenia pakietów JavaScript, które analizuje JavaScript i identyfikuje wzorce w kodzie ECMA/JavaScript. Ocenia wzorce w kodzie za pomocą AST. Wszystkie reguły narzędzia są zdefiniowane w postaci wtyczek i można je dynamicznie dodawać w czasie wykonywania. ESLint można zainstalować za pomocą poniższego polecenia:

$ npm init @eslint/config

Po zainstalowaniu go za pomocą powyższego polecenia generowany jest plik .eslintrc z zestawem reguł z definicjami błędów i odpowiadającymi im warunkami. ESLint umożliwia zdefiniowanie wszystkich zależności w pliku .lock użytkownika i nie używa własnego pliku .lock. Jest również bardzo bezpieczny.

Shelljs

Shelljs to środowisko, w którym polecenia UNIX mogą być wykonywane w dowolnym systemie operacyjnym za pośrednictwem interfejsu API Node.js. Shelljs jest przenośny i obsługuje również wtyczki innych firm. Różne polecenia, których można użyć, to echo, exec, chmod, pushd, popd, cd, cat itp. Do zainstalowania Shelljs można użyć następującego polecenia.

$ npm install [-g] shelljs

Został przetestowany w różnych projektach, takich jak Firefox, JSHint, ESLint, Zepto, itp. Lokalny import pakietów Shelljs jest preferowany nad importami globalnymi. Może być również skonfigurowany jako cichy, krytyczny, gadatliwy itp.

Omlet

Omelette udostępnia szablon do automatycznego uzupełniania kodu dla projektów Node i Deno. Korzysta z super łatwego interfejsu API i obsługuje również Async API i Tree API. Przykładowy fragment kodu do implementacji Omleta jest pokazany poniżej:

import * as omelette from 'omelette';

const firstArgument = ({ reply }) => {
  reply([ 'beautiful', 'cruel', 'far' ])
}

const planet = ({ reply }) => {
  reply([ 'world', 'mars', 'pluto' ])
}

omelette`hello|hi ${firstArgument} ${planet}`.init()

Po zaimportowaniu omleta należy utworzyć obiekt omleta. Następnie różne funkcje do automatycznego uzupełniania kodu, takie jak setupShellInitFile() do konfiguracji, cleanupShellInitFile() do czyszczenia, mogą być wywoływane na obiekcie omletu w celu automatycznego uzupełniania kodu. Obsługuje również użycie funkcji Lambda do tworzenia złożonych interfejsów API literału szablonów.

Ładniejsze

Prettier służy do formatowania kodu. Pomaga w dodawaniu spacji tabulacji, śledzi maksymalną zawartość w jednym wierszu i zapewnia prawidłowe wcięcia w instrukcjach warunkowych i pętli. Konwertuje kod do zgrabnego i czytelnego formatu. Na przykład:

Fragment kodu znajduje się poniżej,

foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());

zostanie przekonwertowany na poniższy, gdy używane jest rozszerzenie Prettier:

foo(
  reallyLongArg(),
  omgSoManyParameters(),
  IShouldRefactorThis(),
  isThereSeriouslyAnotherOne()
);

Może działać w środowiskach CI, zintegrowanych środowiskach programistycznych (IDE) itp.

jscpd

jscpd to usługa zarządzania długiem technicznym. Jest to pakiet JavaScript, który pomaga znaleźć zduplikowane fragmenty kodu w różnych kodach i dokumentach cyfrowych. Używa algorytmu dopasowywania ciągów zwanego Rabin-Karp do wyszukiwania duplikatów kodu.

jscpd/core ma możliwość wykrywania duplikacji kodu w różnych środowiskach, a jspd/tokenizer służy do tokenizacji kodu źródłowego programu. Oprócz tego wiele innych pakietów, takich jak html-reporter, badge-reporter, leveldb-store, itp. Polecenie do instalacji jscpd to:

$ npm install -g jscpd

jscpd jest używany przez GitHub Super Linter, Code-Inspector, Mega-Linter, Codacy itp. Każdy z nich używa jscpd w innym celu. Używają go do przetwarzania języka naturalnego, agregatorów linii, analizy kodu itp.

Vtop

Vtop to monitor, który daje graficzną reprezentację aktywności wiersza poleceń. Dostarcza informacji o wykorzystaniu procesora, analizując różne uruchomione wątki i procesy oraz przedstawiając je graficznie za pomocą wykresów, skoków itp. Został opracowany przy użyciu JavaScript, Makefile i Shell. Polecenie do zainstalowania Vtop to:

$ npm install -g vtop

Można użyć różnych motywów i kodów kolorów, aby uatrakcyjnić GUI zgodnie z wymaganiami. Różne skróty klawiaturowe, takie jak „u” do aktualizacji, „g” do przejścia do najwyższego procesu listy, „G” do przejścia na koniec listy, „dd” do zabicia procesów należących do określonego grp itp. może być użyte.

Standardjs

Standardjs to biblioteka JavaScript, która automatyzuje konfigurację plików, formatuje kod i szybko znajduje problemy z obsługą wyjątków programistów. Polecenie instalacji Standardjs podano poniżej:

$ npm install standard --global

Po zainstalowaniu można go uruchomić na fragmencie pliku/kodu za pomocą polecenia „standard” w interfejsie wiersza poleceń. Wszystkie zależności Standardjs można dodać, definiując „standard: „*” w obiekcie zależności pliku package.json.

Można go również zainstalować jako wtyczkę do różnych edytorów tekstu, takich jak Visual Studio Code, Sublime Text, Atom, Vim, Brackets itp. Node.js, Expressjs, npm, Brave i GoDaddy używają Standardjs do spełnienia swoich wymagań biznesowych.

NodeJsScan

NodeJsScan to statyczny skaner kodów bezpieczeństwa dla aplikacji Node.js. Informuje o stanie bezpieczeństwa aplikacji za pomocą interaktywnego interfejsu użytkownika. Można go zintegrować z różnymi aplikacjami, takimi jak Slack dla alertów/powiadomień, alertów e-mail, konfigurując ustawienia SMTP w pliku settings.py NodeJsScan, potok CI/CD itp. Pomaga również w budowaniu obrazów dockera.

Rejestruje błędy, informacje i komunikaty ostrzegawcze. Szczegółowy opis błędu, taki jak przyczyna jego wystąpienia, jego powaga, numery wierszy, w których wystąpiły błędy, liczba zeskanowanych plików i znalezionych problemów itp. Wykresy i wykresy są również kreślone w celu zapewnienia lepszej czytelności i analizy.

Śmieci

Kosz to biblioteka JavaScript, która przenosi usunięte pliki do kosza zamiast trwale je usuwać. Obsługuje systemy Mac, Linux i Windows. Polecenie użyte do zainstalowania Kosza to:

$ npm install trash

Trash to interfejs API, który pobiera dane wejściowe i opcje jako parametry funkcji, gdy wywoływana jest funkcja trash(). Dane wejściowe mogą być ciągiem lub tablicą ciągów. Opcje mogą być przedmiotem. Funkcja kosza zwraca obietnicę. W różnych systemach operacyjnych używane są różne polecenia. macOS-trash jest używany w MacOs, XDG Spec w systemie Linux i kosz w systemie Windows.

Xo

Xo to wrapper JavaScript i TypeScript, który używa pod spodem ESLint. Pomaga w tworzeniu czytelnego kodu poprzez wcięcie kodu, dodawanie średników, pojedynczych cudzysłowów, przecinków itp. tam, gdzie jest to wymagane. Wiele wtyczek ESLint, takich jak unicorn, import, ava, n itp., może być używanych z Xo. Polecenie używane do instalacji xo to:

$ npm install xo --save-dev

Problemy można naprawić automatycznie za pomocą polecenia $xo –fix. Xo można skonfigurować za pomocą właściwości xo w pliku package.json. Można go zainstalować jako wtyczkę do różnych edytorów, takich jak Vim, Visual Studio Code, Atom, Sublime Text, Emacs itp.

diff2html

diff2html oznacza „parser różnicowy i ładny generator HTML”. Podkreśla zmiany w kodzie aktualnej wersji w porównaniu z poprzednią wersją. Pomaga programistom łatwo zidentyfikować i zrozumieć, jakie zmiany zostały wprowadzone. Robi to za pomocą kodów kolorów.

Czyni to, podkreślając zmiany linia po linii i obok siebie. Podkreśla zmiany składni kodu i grupuje podobne wiersze, aby łatwo śledzić zmiany w kodzie. Polecenie do zainstalowania diff2html wygląda jak poniżej:

$ npm install diff2html

Jest również zintegrowany z linią poleceń. Niektóre projekty używające diff2html to Jenkins, Codacy, Ungit, git-explorer, adnotacja kodu itp.

Kreda

Chalk to moduł Node.js, który pomaga w formatowaniu i stylizacji kodu. Pomaga również w tworzeniu i dodawaniu motywów kolorystycznych do tekstu. Jest to ekspresyjne API, a jego wydajność jest doskonała. Zagnieżdża style i nie ma zależności. Użycie kredy można zobaczyć w poniższym fragmencie kodu:

import chalk from 'chalk';

console.log(chalk.blue('Hello world!'));

chalk.level definiuje kolory obsługiwane na każdym poziomie. „0” oznacza, że ​​wszystkie kolory są wyłączone, „1” oznacza podstawową obsługę kolorów, „2” oznacza obsługę 256 kolorów, a „3” oznacza obsługę Truecolor. Różne modyfikatory stylu służące do formatowania tekstu obsługiwanego przez kredę to: odwrócenie, ukrycie, widoczne, przekreślenie, pogrubienie, zerowanie, kursywa, podkreślenie, nadkreślenie, przyciemnienie itp.

NpKill

Npkill to narzędzie, które usuwa stare i ciężkie foldery modułów węzłów. Pomaga bardzo szybko usunąć moduły węzłów i zwolnić miejsce w systemie. Został opracowany przy użyciu TypeScript, JavaScript i Go. Nie ma żadnych zależności i jest łatwy w użyciu. Polecenie używane do instalacji Npkill to:

$ npm i -g npkill

Wszystkie moduły węzłów określone w ścieżce za pomocą polecenia npkill zostaną usunięte. Należy jednak uważać podczas usuwania modułów węzła, ponieważ jest to nieodwracalne. Jeśli moduły dowolnego aktywnego projektu zostaną usunięte w trakcie tego procesu, pliki zostaną uszkodzone, a moduły węzłów muszą zostać ponownie zainstalowane.

fkill-cli

fkill-cli to otwarte i interaktywne narzędzie wiersza poleceń, które zabija procesy i porty Linuksa. Został opracowany przy użyciu Node.js. Jest prosty, darmowy, bezpieczny i kompatybilny z wieloma platformami. Działa w systemach Windows, Linux i macOS. Polecenie użyte do zainstalowania fkill-cli to:

$ npm install --global fkill-cli

Nazwa i identyfikator procesu są wymagane do zabicia procesu. „-f” wymusza wykonanie operacji, podczas gdy polecenie „-v” wyświetla argumenty procesu. Interfejs API fkill przyjmuje dane wejściowe i opcje jako argumenty i zwraca obiekt obietnicy. Niektóre opcje to force, silent, ignoreCase, tree i forceAfterTimeout.

Tunel lokalny

Localtunnel to platforma umożliwiająca udostępnianie usług internetowych ze środowiska zewnętrznego z lokalnym środowiskiem komputera bez zmiany ustawień DNS i zapory sieciowej systemu.

Żądania są przekazywane przez Localtunnel i przekazywane do lokalnie wdrożonego serwera po przypisaniu go do publicznie dostępnego adresu URL. Polecenie używane do instalacji Localtunnel wygląda następująco:

$ npm install -g localtunnel

Jest bezpieczny i wykorzystuje żądania HTTPS. Te interfejsy API mogą służyć do testowania elementów webhook. Interfejs użytkownika można przetestować w przeglądarkach w chmurze za pomocą Localtunnel.

Zapytanie.js

Inquirer.js to interaktywny interfejs użytkownika wiersza poleceń dla aplikacji Node.js. Ułatwia proces znajdowania błędów, analizowania danych wejściowych, sprawdzania poprawności odpowiedzi i zarządzania podpowiedziami hierarchicznymi. Do realizacji swoich funkcjonalności wykorzystuje natywne moduły ESM. Polecenie użyte do zainstalowania Inquirer.js to:

$ npm install --save inquirer

Różne używane metody obejmują monit, registerPrompt, createPromptModule itp. prompt() to funkcja, która przyjmuje pytanie i odpowiedź jako dane wejściowe i zwraca obietnicę po wywołaniu.

Pytanie to obiekt, który jest zaszyfrowaną wersją wartości związanych z pytaniem, takich jak typ, wiadomość, wartość domyślna, wybory, filtr itp. Para obiektów klucz-wartość odpowiedzi zawiera zaszyfrowaną wersję odpowiedzi klienta. Kluczem jest właściwość pytania, podczas gdy wartość może zawierać potwierdzenie, dane wejściowe, liczbę, listę nieprzetworzonych danych itp.

serwer http

http-server to statyczny serwer http z linii poleceń. Jest prosty i nie wymaga żadnych konfiguracji. Składa się z 2 plików: index.html i 404.html. index.html to domyślny plik, który będzie renderowany na żądanie. 404.html jest renderowany, gdy plik nie zostanie znaleziony. Polecenie użyte do zainstalowania serwera http jest pokazane poniżej:

$ npm install --global http-server

Został opracowany przy użyciu HTML i JavaScript. Zapewnia bezpieczeństwo dzięki certyfikatom TLS/SSL. Wykorzystuje algorytm RSA do szyfrowania i deszyfrowania klucza. Pozwala również zdefiniować hasło wraz z kluczem prywatnym ze względów bezpieczeństwa.

Ostatnie słowa

JavaScript jest najczęściej używanym językiem programowania do tworzenia oprogramowania. Aby ułatwić życie programistom, opracowano różne pakiety Node.js.

Pakiety Node.js, takie jak Retire.js, Localtunnel, Xo, Inquirer.js, Shelljs, fpkill, NodeJsScan, Prettier itp., mogą być używane do formatowania kodu, zapewniania bezpieczeństwa, wyróżniania zmian w kodzie, usuwania ciężkich i niechcianych modułów węzłów itp. Pomaga to programistom efektywnie debugować, pisać i zarządzać swoim kodem.

Możesz również przeczytać o tym, jak zainstalować Node.js i NPM w systemach Windows i macOS.