Простое симпатичное CLI приложение для

Простое CLI приложение для Node.JS

При слиянии веток всегда вызывает проблемы файл package-lock.json. Напишем простое демонстрационное приложение для Node.JS, которое будет облегчать работу с git-репозиторием. В его задачи входит удаление проблемного файла, его восстановление с помощью команды npm install и добавление в индекс git.

Вы можете найти готовое приложение здесь. Чтобы его запустить, используйте команду npx fix-package-lock .

Как взаимодействовать с командной строкой?

Чтобы передавать команды в терминал из скрипта, будем использовать пакет execa от Sindre Sohrus, который называют “лучшим child_process”. Для начала работы нужно выполнить команду npm install –save execa .

Теперь протестируем новый модуль.

>> node index.js
index.js
node_modules
package-lock.json
package.json

Выполнение последовательных действий

Чтобы сгенерировать package-lock, его сначала нужно удалить. После этого необходимо заново установить пакеты с помощью команды npm install .

Для выполнения нескольких действий подряд потребуется модуль Listr. Он позволяет делать нечто подобное:

Запустите npm install –save listr и создайте в главном файле последовательность команд.

Содержимое файла index.js :

Теперь вывод node index.js будет выглядеть следующим образом:

Простое CLI приложение для Node.JS: модуль Listr

Длительные задачи, например, вызов execa для установки npm-пакетов, возвращают Promise. Listr выводит для них состояние выполнения. Также есть возможность отображать сообщение, которое изменяется с помощью Observables. Дополнительную информацию можно найти в документации.

Исполняемые js-файлы

Было бы гораздо удобнее запускать скрипт, используя ./index.js вместо node index.js . Чтобы сделать так, файл должен быть исполняемым. В UNIX системах для этого используется следующая команда:

chmod +x index.js

Теперь нужно сообщить системе, как она должна пытаться запустить файл, с помощью шебанга.

Его нужно добавить в файл index.js:

Теперь мы можем запускать приложение короткой командой:

Создание исполняемого файла

В файле package.json есть поле bin . Оно дает npm команду создать исполняемый файл и установить его в PATH. Добавим эту опцию в наше приложение:

Публикация npm-пакета

Публикация модуля остается упражнением для читателя. Используя команду np , сделать это несложно.

Подсказка: просто запустите npx np в любом пакете, который вы пытаетесь опубликовать.

Готовое приложение можно найти здесь. Чтобы запустить его, используйте команду npx fix-package-lock .