TLDR : Насколько надежным является предположение, что совместимая версия make
установлена на компьютерах, на которых будет установлен мой пакет NPM?
Я работаю на клиента, который действительно любит make и Makefiles. Нам нужно интегрировать пакет JS в другой проект. Мой метод перехода будет npm install our-package
. Пакет требует шага сборки. Мы хотим иметь возможность устанавливать версии, которые еще не выпущены в npm.js из GitHub. Процесс сборки состоит из нескольких строк сценария оболочки, поэтому я не хочу повторять его в Makefile
и в package.json
(он очень быстро выйдет из синхронизации). Прямой путь - установить scrpits.prepare
в make
в packgae.json
. Но я беспокоюсь о кроссплатформенной совместимости (Windows, контейнеры и т. Д.).
Обновление : я также обнаружил, что чрезвычайно легко создать бесконечный цикл, в котором make
вызывает npm ci
или npm install
, а затем npm
вызывает make
. С npm install
есть опция --ignore-scripts
, но ci
не имеет эквивалента, см .: https://npm.community/t/add-ignore-scripts-option-to-clean-install-ci-command/6322