Я пытаюсь создать свой первый пакет Angular Component с помощью lerna, и он работал довольно хорошо, пока я не понял, что мне нужно добавить «ng-packagr», чтобы весь HTML-код был встроен в остальной код. После добавления этой поддержки и начала ее работы мои файлы внезапно не публикуются в архиве.
Вот мой package.json
{
"name": "@custom/core",
"version": "0.0.7",
"description": "Test",
"main": "./dist/bundles/custom-core.umd.min.js",
"module": "./dist/esm2015/custom-core.js",
"typings": "./dist/index.d.ts",
"$schema": "./node_modules/ng-packagr/package.schema.json",
"ngPackage": {
"lib": {
"entryFile": "./src/index.ts"
},
"whitelistedNonPeerDependencies": [
"."
]
},
"scripts": {
"build": "ng-packagr -p package.json"
},
"files": [
"dist"
],
...
Моя папка dist содержит всевозможные папки вроде этой:
Но затем, когда я запускаю lerna publish
или npm pack
, происходит следующее:
Как видите, в архив добавляется только 1 файл ...
Кто-нибудь знает, почему это происходит внезапно? Я пробовал поиграть с моим .gitignore, думая, что, возможно, он заставлял упаковку игнорировать эти другие файлы, но это было не так.
ОБНОВЛЕНИЕ
Итак, я обнаружил, что виноват ng-packagr
. Когда я запускаю свой npm run build
, который использует ng-packagr -p package.json
для создания различных пакетов модулей, этот интерфейс командной строки также генерирует package.json, который находится внутри моей папки dist
. Когда npm pack
или lerna publish
пытаются упаковать все, используя package.json
, они должны смотреть на сгенерированный в dist
, а не на тот, который находится в папке над ним.
Я не знаю, как мне это исправить.