19 пакетів Node.js, які варто знати розробнику JavaScript для продуктивного та легкого життя

Ви витрачаєте занадто багато часу на створення коду JavaScript? Читайте далі, щоб дізнатися про різні пакети Node.js, які можуть зробити життя розробника JavaScript продуктивним і легким.

JavaScript — це синхронна однопотокова мова. Це найпоширеніша мова програмування для розробки програмного забезпечення та програм. Багато фреймворків, таких як Reactjs, Angularjs, Vuejs, Expressjs і Node.js, були розроблені з їхньою базовою мовою JavaScript.

Багато розробників стикаються з проблемами під час кодування в JavaScript через різні складні концепції, такі як обіцянки, цикл подій, зворотні виклики, підйом, закриття тощо.

Щоб спростити розробку в JavaScript, доступно багато пакетів Node.js, які допомагають у обробці помилок, форматуванні коду, видаленні файлів, налагодженні коду, забезпеченні безпеки тощо. Деякі також надають інтерактивний інтерфейс користувача командного рядка для кращого візуального представлення потужності ЦП, потужність обробки, серйозність помилок і т.д.

Retire.js

Retire.js — це бібліотека Javascript, яка надає список уразливостей, пов’язаних з іншими версіями бібліотеки Javascript.

Його можна використовувати як розширення Chrome, Firefox, сканер командного рядка, плагін Grunt тощо. Його можна встановити за допомогою такої команди:

$ npm install -g retire

Retire.js має різні команди для сканування файлів JavaScript і вузлів. Він сканує веб-сайти JavaScript і реєструє попередження в консолі розробника. Retire.js генерує код виходу 13, коли знаходить уразливості. Gulp task автоматично сканує файли та повідомляє про вразливості.

Np

Np — це пакет JavaScript, який надає різноманітні функції, такі як очищення коду, встановлення залежностей, публікація пакетів і тегів тощо. Він забезпечує надсилання коду до головної гілки та забезпечує інтерактивний інтерфейс користувача.

Двофакторна автентифікація використовується для забезпечення безпеки нових сховищ. Це гарантує, що робота виконується на останній версії шляхом перевстановлення залежностей. Останню версію переміщено до npm. Його можна встановити за допомогою такої команди:

$ npm install --global np

Його різноманітні функції включають публікацію коду з будь-якої гілки, створення підкаталогів для публікації, пропуск очищення коду та тестування тощо. Конфігурація np може бути виконана глобально та локально за допомогою прапорців CLI у файлах конфігурації np, як-от np-config.js і без -config.json.

ESLint

ESLint — це інструмент пакета JavaScript, який аналізує JavaScript і визначає шаблони в коді ECMA/JavaScript. Він оцінює шаблони в коді за допомогою AST. Усі правила інструменту визначено у формі плагінів, і їх можна динамічно додавати під час виконання. ESLint можна встановити за допомогою наведеної нижче команди:

$ npm init @eslint/config

Після встановлення за допомогою наведеної вище команди створюється файл .eslintrc із набором правил із визначеннями помилок та їхніми умовами. ESLint дозволяє визначати всі залежності у файлі .lock користувача і не використовує власний файл .lock. Це також дуже безпечно.

Shelljs

Shelljs — це середовище, де команди UNIX можна виконувати в будь-якій операційній системі через API Node.js. Shelljs є портативним і також підтримує плагіни сторонніх виробників. Можна використовувати різні команди: echo, exec, chmod, pushd, popd, cd, cat тощо. Наступну команду можна використовувати для встановлення Shelljs.

$ npm install [-g] shelljs

Він був перевірений у різних проектах, таких як Firefox, JSHint, ESLint, Zepto тощо. Місцевому імпорту пакетів Shelljs надається перевага над глобальним імпортом. Його також можна налаштувати як тихий, фатальний, багатослівний тощо.

  Що означає «IANAL» і як ви його використовуєте?

омлет

Omelette надає шаблон для автоматичного завершення коду для проектів Node і Deno. Він використовує надзвичайно простий API, а також підтримує Async API і Tree API. Зразок фрагмента коду для впровадження Omelette показано нижче:

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()

Після імпортування Omelette потрібно створити об’єкт Omelette. Потім різні функції для автозавершення коду, як-от setupShellInitFile() для налаштування, cleanupShellInitFile() для очищення, можна викликати на об’єкті omelette для автоматичного завершення коду. Він також підтримує використання лямбда-функцій для створення складних літеральних API шаблонів.

гарніше

Prettier використовується для форматування коду. Це допомагає у виділенні проміжків табуляції, відстежує максимальний вміст в одному рядку та забезпечує правильний відступ в умовних операторах і операторах циклу. Він перетворює код у акуратний і читабельний формат. Наприклад:

Нижче наведено фрагмент коду,

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

перетворюється на наведений нижче, коли використовується розширення Prettier:

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

Він може працювати в середовищах CI, інтегрованих середовищах розробки (IDE) тощо.

jscpd

jscpd — це служба технічного управління боргом. Це пакет JavaScript, який допомагає знаходити повторювані фрагменти коду в різних кодах і цифрових документах. Він використовує алгоритм зіставлення рядків під назвою Рабіна-Карпа для пошуку дублікатів коду.

jscpd/core має здатність виявляти дублювання коду в різних середовищах, а jspd/tokenizer використовується для токенізації вихідного коду програми. Крім них, багато інших пакетів, таких як html-reporter, badge-reporter, leveldb-store тощо. Команда для встановлення jscpd:

$ npm install -g jscpd

jscpd використовується GitHub Super Linter, Code-Inspector, Mega-Linter, Codacy тощо. Кожен із них використовує jscpd для різних цілей. Вони використовують його для обробки природної мови, агрегаторів рядків, аналізу коду тощо.

Vtop

Vtop — це монітор, який дає графічне представлення діяльності командного рядка. Він надає інформацію про використання ЦП шляхом аналізу різних потоків і процесів, що виконуються, і представлення їх у графічному вигляді за допомогою діаграм, стрибків тощо. Він був розроблений за допомогою JavaScript, Makefile і Shell. Команда для встановлення Vtop:

$ npm install -g vtop

Щоб зробити графічний інтерфейс більш привабливим відповідно до вимог, можна використовувати різні теми та кольорові коди. Різноманітні комбінації клавіш, наприклад «u» для оновлення, «g» для переходу до верхнього процесу списку, «G» для переходу в кінець списку, «dd» для завершення процесів, що належать до певної групи тощо. може бути використано.

Standardjs

Standardjs — це бібліотека JavaScript, яка автоматизує налаштування файлів, форматує код і швидко знаходить проблеми з обробкою винятків програмістами. Команда для встановлення Standardj наведена нижче:

$ npm install standard --global

Після встановлення ви можете запустити його над файлом/фрагментом коду за допомогою команди «standard» в інтерфейсі командного рядка. Усі залежності Standardjs можна додати, визначивши «standard: «*» в об’єкті залежностей файлу package.json.

Його також можна встановити як плагін для різних текстових редакторів, таких як Visual Studio Code, Sublime Text, Atom, Vim, Brackets тощо. Node.js, Expressjs, npm, Brave і GoDaddy використовують Standardjs для задоволення своїх бізнес-вимог.

NodeJsScan

NodeJsScan — це статичний сканер коду безпеки для програм Node.js. Він інформує про стан безпеки програми через інтерактивний інтерфейс користувача. Його можна інтегрувати з різними програмами, такими як Slack для сповіщень/сповіщень, сповіщень електронною поштою, налаштувавши параметри SMTP у файлі settings.py NodeJsScan, конвеєр CI/CD тощо. Це також допомагає створювати образи докерів.

  Як освоїти Google Alerts

Він реєструє помилки, інформацію та попередження. Детальний опис помилки, як-от причина її виникнення, її серйозність, номери рядків, у яких виникли помилки, кількість перевірених файлів і знайдених проблем тощо. Для кращої читабельності та аналізу також будуються графіки та діаграми.

сміття

Кошик — це бібліотека JavaScript, яка переміщує видалені файли в кошик замість остаточного видалення. Він підтримує Mac, Linux і Windows. Команда, яка використовується для встановлення кошика:

$ npm install trash

Trash — це API, який приймає вхідні дані та параметри як параметри функції під час виклику функції trash(). Вхідними даними може бути рядок або масив рядків. Опції можуть бути об’єктом. Функція trash повертає обіцянку. У різних операційних системах використовуються різні команди. macOS-trash використовується в MacOs, XDG Spec в Linux і recycle-bin у Windows.

Xo

Xo — це оболонка JavaScript і TypeScript, яка використовує ESLint. Це допомагає створити читабельний код, надаючи відступи коду, додаючи крапки з комою, одинарні лапки, коми тощо, де це потрібно. Багато плагінів ESLint, як-от unicorn, import, ava, n тощо, можна використовувати з Xo. Команда, яка використовується для встановлення xo:

$ npm install xo --save-dev

Проблеми можна виправляти автоматично за допомогою команди $xo –fix. Xo можна налаштувати за допомогою властивості xo у файлі package.json. Його можна встановити як плагін для різних редакторів, таких як Vim, Visual Studio Code, Atom, Sublime Text, Emacs тощо.

diff2html

diff2html розшифровується як «парсер відмінностей і гарний генератор HTML». Він висвітлює зміни в коді поточної версії порівняно з попередньою версією. Це допомагає розробникам легко визначити та зрозуміти, які зміни були внесені. Він робить це за допомогою кольорових кодів.

Це робиться шляхом виділення рядків і пліч-о-пліч змін. Він виділяє зміни синтаксису коду та групує схожі рядки разом, щоб легко відстежувати зміни коду. Команда для встановлення diff2html така:

$ npm install diff2html

Він також інтегрований з командним рядком. Деякі проекти, які використовують diff2html, це Jenkins, Codacy, Ungit, git-explorer, code-annotation тощо.

Крейда

Chalk — це модуль Node.js, який допомагає форматувати та стилізувати код. Це також допомагає створювати та додавати кольорові теми до тексту. Це виразний API, і його продуктивність чудова. Він вкладає стилі та не має залежностей. Використання Chalk можна побачити у фрагменті коду нижче:

import chalk from 'chalk';

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

chalk.level визначає кольори, які підтримуються на кожному рівні. «0» означає, що всі кольори вимкнено, «1» означає підтримку базових кольорів, «2» означає підтримку 256 кольорів, а «3» означає підтримку Truecolor. Різноманітні модифікатори стилів для форматування тексту, які підтримуються крейдою: інверсний, прихований, видимий, закреслений, напівжирний, скинути, курсив, підкреслений, накладений, затемнений тощо.

NpKill

Npkill — це інструмент, який видаляє старі та важкі папки вузлів-модулів. Це допомагає дуже швидко видаляти модулі вузлів і звільняти місце у вашій системі. Він був розроблений за допомогою TypeScript, JavaScript і Go. Він не має жодних залежностей і простий у використанні. Для встановлення Npkill використовується така команда:

$ npm i -g npkill

Усі модулі вузлів, указані в шляху за допомогою команди npkill, буде видалено. Однак потрібно бути обережним під час видалення модулів вузлів, оскільки це незворотньо. Якщо модулі будь-якого активного проекту видаляються в процесі, файли пошкоджуються, і модулі вузлів потрібно інсталювати знову.

  Як користуватися Microsoft Teams

fkill-cli

fkill-cli — це інтерактивний інструмент командного рядка з відкритим кодом, який вбиває процеси та порти Linux. Він був розроблений за допомогою Node.js. Він простий, безкоштовний, безпечний і сумісний із різними платформами. Він працює на Windows, Linux і macOS. Для встановлення fkill-cli використовується така команда:

$ npm install --global fkill-cli

Для завершення процесу потрібні ім’я та ідентифікатор процесу. «-f» примусово виконує операцію, тоді як команда «-v» відображає аргументи процесу. API fkill приймає вхідні дані та параметри як аргументи та повертає об’єкт обіцянки. Деякі параметри: force, silent, ignoreCase, tree та forceAfterTimeout.

Localtunel

Localtunnel — це платформа, яка дозволяє обмінюватися веб-службами із зовнішнього середовища з локальним середовищем комп’ютера, не змінюючи налаштування DNS і брандмауера системи.

Запити проксуються Localtunnel і передаються на локально розгорнутий сервер після призначення йому загальнодоступної URL-адреси. Для встановлення Localtunnel використовується така команда:

$ npm install -g localtunnel

Він безпечний і використовує запити HTTPS. Ці API можна використовувати для тестування веб-хуків. Інтерфейс користувача можна протестувати в хмарних браузерах за допомогою Localtunnel.

Inquirer.js

Inquirer.js — це інтерактивний інтерфейс користувача командного рядка для програм Node.js. Це полегшує процес пошуку помилок, аналізу введених даних, перевірки відповідей і керування ієрархічними запитами. Він використовує власні модулі ESM для реалізації своїх функцій. Для встановлення Inquirer.js використовується така команда:

$ npm install --save inquirer

Використовуються різні методи, зокрема prompt, registerPrompt, createPromptModule тощо. prompt() — це функція, яка приймає питання та відповідь як вхідні дані та повертає обіцянку під час виклику.

Question — це об’єкт, який є хешованою версією значень, пов’язаних із запитанням, як-от тип, повідомлення, за замовчуванням, вибір, фільтр тощо. Пара об’єктів «ключ-значення» містить хешовану версію відповідей клієнта. Ключ є властивістю question, тоді як значення може містити підтвердження, введення, число, вихідний список тощо.

http-сервер

http-сервер – це статичний http-сервер командного рядка. Це просто і не вимагає жодних налаштувань. Він складається з 2 файлів: index.html і 404.html. index.html — це файл за замовчуванням, який відображатиметься за запитами. 404.html відображається, коли файл не знайдено. Команда, яка використовується для встановлення http-сервера, виглядає так:

$ npm install --global http-server

Він був розроблений за допомогою HTML і JavaScript. Він забезпечує безпеку за допомогою сертифікатів TLS/SSL. Він використовує алгоритм RSA для шифрування та дешифрування ключів. Це також дозволяє визначити парольну фразу разом із закритим ключем з метою безпеки.

Заключні слова

JavaScript є найпоширенішою мовою програмування для розробки програмного забезпечення. Щоб полегшити життя розробників, були розроблені різні пакети Node.js.

Пакети Node.js, такі як Retire.js, Localtunnel, Xo, Inquirer.js, Shelljs, fpkill, NodeJsScan, Prettier тощо, можна використовувати для форматування коду, забезпечення безпеки, виділення змін коду, видалення важких і небажаних модулів вузлів тощо. Це допомагає розробникам ефективно налагоджувати, писати та керувати своїм кодом.

Ви також можете прочитати про те, як встановити Node.js і NPM на Windows і macOS.