npm postinstall script - выполнить скрипт из зависимости - PullRequest
0 голосов
/ 07 ноября 2019

к сожалению, я не могу найти ничего по этому вопросу, за исключением некоторых вещей 4 года назад.

Предположим, у меня есть 2 пакета: @my/package и @my/parent.

Сейчас в@my/parent Я пытаюсь использовать скрипт postinstall, например: postinstall: "node ./node_modules/@my/package/dist/postinstall.js"

Это всегда будет неудачным, потому что, очевидно, во время вызова скрипта postinstall файл скрипта отсутствует.

Это должно быть так? Разве вы не можете вызывать сценарии из зависимостей в postinstall?

Заранее спасибо.

Приветствия

1 Ответ

0 голосов
/ 12 ноября 2019

Хорошо, чтобы ответить на мой собственный вопрос:

Не рекомендуется использовать ./node_modules/@my/package/... из скрипта postinstall @my/parent, потому что в зависимости от потребителей package.json / версии, @my/package может небыть установленным внутри @my/parent, но как братья и сестры. В этом случае путь не будет разрешен.

Так что если вы хотите использовать что-то из другого пакета в вашем скрипте postinstall, вам придется полагаться на разрешение модуля узлов. Один из способов сделать это: вместо

postinstall: "node ./node_modules/@my/package/dist/postinstall.js"

do

postinstall: "node -r @my/package/dist/postinstall.js"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...