Как отладить.npmignore?
Как файлы пакета (они будут опубликованы) могут быть перечислены для отладки записей в .npmignore
?
Я ищу что-то вроде эквивалента git ls-files
за .gitignore
,
Единственный способ, который я нашел, - это упаковать пакет и затем перечислить архив, который я нахожу немного неуклюжим:
npm pack
tar -tzf <package-id>.tgz
1 ответ
Как заметил в комментарии Майк "Pomax" Камерманс, тот факт, что .npmignore
а также .gitignore
Использовать тот же синтаксис можно с помощью:
git ls-files -co --exclude-per-directory=.npmignore
Приведенная выше команда перечисляет именно те файлы, которые не игнорируются npm в соответствии с .npmignore
файл. (Кроме того, npm автоматически игнорирует некоторые другие записи, такие как node_modules
.)
Гит ls-files
Команда обычно перечисляет комбинации файлов в рабочем каталоге и индексе.
-c
опция говорит показать кешированные файлы-o
показать "другие", то есть неотслеживаемые файлы--exclude-per-directory=.npmignore
использование.npmignore
как имя файлов игнорируемых записей
РЕДАКТИРОВАТЬ: так как у подхода выше есть куча исключений - файлы, которые никогда или никогда не будут включены независимо от содержимого .npmignore
- Я считаю это ненадежным. Следующая команда тяжелая, но надежная:
file_name=$(npm pack) && tar -ztf $file_name && rm $file_name
Это упаковывает проект, перечисляет файлы пакета и в конце удаляет созданный пакет.
npm pack --dry-run
распечатывает, что будет включено
logger ❯ npm pack --dry-run
npm notice
npm notice @supercollider.js/logger@1.0.0
npm notice === Tarball Contents ===
npm notice 817B package.json
npm notice 199B README.md
npm notice 1.7kB lib/index.d.ts
npm notice 693B lib/index.d.ts.map
npm notice 3.9kB lib/index.js
npm notice 2.9kB lib/index.js.map
npm notice === Tarball Details ===
npm notice name: @supercollider.js/logger
npm notice version: 1.0.0
npm notice filename: supercollider.js-logger-1.0.0.tgz
npm notice package size: 3.0 kB
npm notice unpacked size: 10.2 kB
npm notice shasum: 6c60400e1d61723ce3d7705bb3a8a9a907b7d83b
npm notice integrity: sha512-+1tQZMPQr3cAp[...]zPu6R/BqYdIJQ==
npm notice total files: 6
npm notice
supercollider.js-logger-1.0.0.tgz