[JavaScript, Node.JS] Engine-version — npm пакет, который позволит задать корректное окружение разработки
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Некоторые проекты зачастую требуют специфичные версии локально установленных программ. Это может быть как определенная версия node.js или npm (например, npm@7 с поддержкой workspaces), так и определенная база данных, менеджер пакетов и другие утилиты, которые нельзя установить из npm. Зачастую команды фиксирую версии в чатиках, readme или вики.npm позволяет задекларировать в package.json файле необходимые версии node и npm, но никак не проверяет их. Чтобы исправить это и расширить список инструментов был написан небольшой npm пакет engine-version. Пакет работает очень просто: сначала он считывает описание необходимого софта из package.json, а затем смотрит установлена ли программа и совпадает ли установленная версия описанной. И если проверки прошли неудачно, отображается список ошибок.
Чтобы начать пользоваться пакетом нужно сначала установить пакет из npm:
npm install --save-dev engine-version
Описать список необходиммых инструментов в package.json (формат описания):
{
...
"engines": {
"node": ">=16.0.0",
"npm": "~7.0.0",
"mysql": "*"
},
...
}
Добавить скрипт запускающий проверку в package.json, например, перед процессом сборки пакета:
{
...
"scripts": {
"prebuild": "engine-version",
"build": "my_build_script"
},
...
}
Дальше планируется сделать:
- Сделать ошибки более информативными
- Возможность конфигурирования при помощи аргументов (предупреждения вместо ошибок)
- Добавить альтернативные виды проверки версий для популярных программ, не понимающих аргумент --version (сейчас проверка установленной версии выполняется вызовом программы с опцией --version в дочернем процессе)
===========
Источник:
habr.com
===========
Похожие новости:
- [Поисковые технологии, PHP, MySQL, JavaScript, Функциональное программирование] Pick — самая маленькая поисковая система на PHP и MySQL
- [Социальные сети и сообщества] Пробуем заработать на сообществе ВКонтакте с помощью пранк бота (Call Prank)
- [Разработка веб-сайтов, JavaScript, ReactJS] Представляем Quarkly – инструмент для react-разработчиков и дизайнеров, который поможет оптимизировать вашу разработку
- [Разработка веб-сайтов, JavaScript, Программирование, VueJS] Vue 3 на Typescript
- [Разработка веб-сайтов, JavaScript, HTML] Рендеринг на клиенте, на сервере и генерация статических сайтов
- [JavaScript] JS и его запретные тайны
- [JavaScript] Интересная форма
- [Разработка веб-сайтов, JavaScript, Программирование] Заметка о перебираемых объектах
- [Разработка веб-сайтов, JavaScript, Программирование] Управление памятью в JavaScript (перевод)
- [Разработка веб-сайтов, Google API, IT-компании] Систему Google reCAPTCHA раскритиковали за приватность
Теги для поиска: #_javascript, #_node.js, #_proverka (проверка), #_okruzhenie (окружение), #_npm, #_javascript, #_node.js
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:51
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Некоторые проекты зачастую требуют специфичные версии локально установленных программ. Это может быть как определенная версия node.js или npm (например, npm@7 с поддержкой workspaces), так и определенная база данных, менеджер пакетов и другие утилиты, которые нельзя установить из npm. Зачастую команды фиксирую версии в чатиках, readme или вики.npm позволяет задекларировать в package.json файле необходимые версии node и npm, но никак не проверяет их. Чтобы исправить это и расширить список инструментов был написан небольшой npm пакет engine-version. Пакет работает очень просто: сначала он считывает описание необходимого софта из package.json, а затем смотрит установлена ли программа и совпадает ли установленная версия описанной. И если проверки прошли неудачно, отображается список ошибок. Чтобы начать пользоваться пакетом нужно сначала установить пакет из npm: npm install --save-dev engine-version
{
... "engines": { "node": ">=16.0.0", "npm": "~7.0.0", "mysql": "*" }, ... } {
... "scripts": { "prebuild": "engine-version", "build": "my_build_script" }, ... }
=========== Источник: habr.com =========== Похожие новости:
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:51
Часовой пояс: UTC + 5