Я пытаюсь реорганизовать проект Angular/Ionic, который я унаследовал. Я запустил npm-check и получил много НЕИСПОЛЬЗУЕМЫХ зависимостей, как показано ниже, с пометкой «Проверьте свой код перед удалением, поскольку depcheck не может предвидеть все способы использования зависимостей».
@babel/plugin-transform-block-scoping 😕 NOTUSED? Still using @babel/plugin-transform-block-scoping?
Depcheck did not find code similar to require('@babel/plugin-transform-block-scoping') or import from '@babel/plugin-transform-block-scoping'.
Check your code before removing as depcheck isn't able to foresee all ways dependencies can be used.
Use rc file options to remove unused check, but still monitor for outdated version:
.npmcheckrc {"depcheck": {"ignoreMatches": ["@babel/plugin-transform-block-scoping"]}}
Use --skip-unused to skip this check.
To remove this package: npm uninstall @babel/plugin-transform-block-scoping --save
@capacitor/android 😎 MAJOR UP Major update available. https://capacitorjs.com
npm install @capacitor/[email protected] --save to go from 3.9.0 to 4.7.3
😕 NOTUSED? Still using @capacitor/android?
Depcheck did not find code similar to require('@capacitor/android') or import from '@capacitor/android'.
Check your code before removing as depcheck isn't able to foresee all ways dependencies can be used.
Use rc file options to remove unused check, but still monitor for outdated version:
.npmcheckrc {"depcheck": {"ignoreMatches": ["@capacitor/android"]}}
Use --skip-unused to skip this check.
To remove this package: npm uninstall @capacitor/android --save
cordova-plugin-fingerprint-aio 😕 NOTUSED? Still using cordova-plugin-fingerprint-aio?
Depcheck did not find code similar to require('cordova-plugin-fingerprint-aio') or import from 'cordova-plugin-fingerprint-aio'.
Check your code before removing as depcheck isn't able to foresee all ways dependencies can be used.
Use rc file options to remove unused check, but still monitor for outdated version:
.npmcheckrc {"depcheck": {"ignoreMatches": ["cordova-plugin-fingerprint-aio"]}}
Use --skip-unused to skip this check.
To remove this package: npm uninstall cordova-plugin-fingerprint-aio --save
webpack 😕 NOTUSED? Still using webpack?
Depcheck did not find code similar to require('webpack') or import from 'webpack'.
Check your code before removing as depcheck isn't able to foresee all ways dependencies can be used.
Use rc file options to remove unused check, but still monitor for outdated version:
.npmcheckrc {"depcheck": {"ignoreMatches": ["webpack"]}}
Use --skip-unused to skip this check.
To remove this package: npm uninstall webpack --save-dev
После проверки кода Angular, если он не ссылается на пакет ни require('package-name')
, ни import from 'package-name'
, могу ли я безопасно удалить этот пакет? Как еще его можно еще использовать, если он не требуется или не импортируется в код?
Поведение npm-check может различаться в зависимости от того, как он выполняет свои оценки. Если NOTUSED означает, что пакет не используется вашим кодом, это не обязательно означает, что другие установленные пакеты не полагаются на него. К сожалению, их документация не дает четкого определения NOTUSED.
Чтобы действовать осторожно, сначала создайте резервные копии файлов package.json и package-lock.json. Затем вы можете попытаться удалить или удалить пакеты один за другим и перестроить свой проект. Не забудьте проверить свой код перед удалением каких-либо пакетов, так как depcheck может быть не в состоянии предсказать каждое возможное использование зависимостей.
Не во всех случаях. Как вы заявили: «Проверьте свой код перед удалением, поскольку depcheck не может предвидеть все способы использования зависимостей». На всякий случай создайте резервную копию файлов package.json и package-lock.json где-нибудь, а затем попробуйте удалить их один за другим и пересобрать проект.
Спасибо, если вы обновите свой ответ этим, я приму ответ.
Я обновил его сейчас! :)
Если пакет вообще не используется (импортируется или требуется) кодом, и он существует только в
package.json
списке зависимостей, как вы думаете, его можно безопасно удалить?