Я пытаюсь удалить неиспользуемые пакеты из файлов package.json для нескольких проектов, но у меня возникают проблемы с одноранговыми зависимостями.Существуют некоторые инструменты, такие как depcheck
, которые пытаются перечислить все «неиспользуемые» пакеты, но не различают фактические неиспользуемые пакеты и пакеты, которые не используются, поскольку они являются одноранговыми зависимостями.
Существует ли какой-либо пакет или какая-то команда npm
, с которой я не знаком, которая позволит мне либо перечислить все равноправные зависимости в моем проекте, либо, по крайней мере, позволить мне ввести имя пакета?и посмотреть, установлен ли этот пакет, потому что это одноранговая зависимость другого пакета?
Для потомков, вот пример только зависимостей для одного из моих проектов.В этом проекте я знаю, например, что reflect-metadata
является зависимостью от равноправных узлов @nestjs/common
, но я обнаружил это только после его удаления.
"dependencies": {
"@google-cloud/storage": "^3.2.1",
"@google-cloud/vision": "^1.3.0",
"@google/maps": "^0.5.5",
"@nestjs/common": "^6.6.7",
"@nestjs/core": "^6.6.7",
"@nestjs/platform-express": "^6.6.7",
"@slack/webhook": "^5.0.1",
"@typeform/api-client": "^1.5.1",
"algoliasearch": "^3.34.0",
"array-uniq": "^2.1.0",
"basic-auth": "^2.0.1",
"child-process-promise": "^2.2.1",
"class-transformer": "^0.2.3",
"class-validator": "^0.10.0",
"express": "^4.17.1",
"firebase-admin": "^8.5.0",
"firebase-functions": "^3.2.0",
"geoip-lite": "^1.3.8",
"geolib": "^3.0.4",
"glob": "^7.1.4",
"hbs": "^4.0.4",
"hubspot-api": "^2.2.10",
"json2csv": "^4.5.3",
"lodash": "^4.17.15",
"luxon": "^1.17.2",
"node-fetch": "^2.6.0",
"postmark": "^2.2.9",
"promise-settle": "^0.3.0",
"qrcode": "^1.4.1",
"redux": "^4.0.4",
"reflect-metadata": "^0.1.13",
"rxjs": "^6.5.3",
"sales-tax": "^2.0.10",
"sanitize-filename": "^1.6.3",
"sharp": "^0.23.0",
"stripe": "^7.9.0"
},