Репликация поведения `npm pack` - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь повторить поведение npm pack, потому что у него есть ограничение, когда он не пишет в стандартный вывод, он может писать только в локальный файл (см. Эту проблему: https://github.com/npm/npm/issues/12039)

Теперь я могу сменить текущий каталог и написать в стандартный вывод следующим образом:

tar --exclude='./node_modules/' -cv . | gzip > archive.tar.gz

однако, когда вы извлекаете npm pack тарболов, все содержимое вашего пакета должно находиться в каталоге с именем 'package'.

Итак, мой вопрос - как я могу архивировать текущий каталог, но поместить текущий каталог в каталог с именем 'package', прежде чем он будет заархивирован?

Есть ли tar-флаг, который позволяет вам это делать?

1 Ответ

0 голосов
/ 16 мая 2018

Я проделал некоторую работу, и в ходе моего тестирования npm примет tarball со всем в корне или со всем в подкаталоге с именем package.

Чтобы проверить приведенную выше теорию, вы можетеtar каталог проекта NPM с:

tar --exclude='node_modules' -c . > archive.tar

, затем установите его где-нибудь еще с

  npm install /path/to/archive.tar

, который вы не можете установить в том же проекте, хотя NPM будет жаловаться на циклические задержки, поэтомуустановите его в другом проекте.

...