динамически добавлять папку, чтобы игнорировать при использовании npm publish - PullRequest
0 голосов
/ 30 сентября 2018

У меня есть статический .npmignore файл с

foo
bar
baz

.Когда я публикую в NPM, содержимое этих 3 каталогов будет игнорироваться.

Мой вопрос: есть ли способ динамически добавить папку, которую следует игнорировать при использовании npm publish в командной строке?

Что-то вроде:

npm publish --ignore=.r2g

здесь мы можем игнорировать папку с именем .r2g

Вот документы npm-publish

1 Ответ

0 голосов
/ 23 октября 2018

Во-первых, статическое решение:

Вы можете включить файл .npmignore в каталог, который хотите исключить.Как указано в doc :

Как и в git, npm ищет файлы .npmignore и .gitignore во всех подкаталогах вашего пакета, а не только в корневом каталоге.

Я создал пример этого в https://github.com/dral/npmignore-example (и соответствующем пакете npmignore-example).

Структура файла index.js .npmignore bar / index.js baz / index.jsfoo / index.js /.npmignore

корневой .npmignore удаляет только каталог baz.вложенный foo / .npmignore удаляет весь контент (с этого момента).

Установленный пакет включает в себя только

index.js
bar/index.js

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

echo '*' > .r2g/.npmignore && npm publish && rm .r2g/.npmignore

Затем, если вам нужно автоматизировать это, рассмотрите возможность использования сценариев prepublish и postpublish, которые учитывают переменную envтак что вы можете использовать что-то вроде NPM_IGNORE=.r2g npm publish.

Надеюсь, это поможет.

...