Das Skript von gombosg ist viel besser als npm-check.
Ich habe es ein wenig modifiziert, damit auch devDependencies in node_modules gefunden werden.
Beispiel sass
wird nie verwendet, aber benötigt in sass-loader
#!/bin/bash
DIRNAME=${1:-.}
cd $DIRNAME
FILES=$(mktemp)
PACKAGES=$(mktemp)
# use fd
# https://github.com/sharkdp/fd
function check {
cat package.json \
| jq "{} + .$1 | keys" \
| sed -n 's/.*"\(.*\)".*/\1/p' > $PACKAGES
echo "--------------------------"
echo "Überprüfung von $1..."
fd '(js|ts|json)$' -t f > $FILES
while read PACKAGE
do
if [ -d "node_modules/${PACKAGE}" ]; then
fd -t f '(js|ts|json)$' node_modules/${PACKAGE} >> $FILES
fi
RES=$(cat $FILES | xargs -I {} egrep -i "(import|require|loader|plugins|${PACKAGE}).*['\"](${PACKAGE}|.?\d+)[\"']" '{}' | wc -l)
if [ $RES = 0 ]
then
echo -e "UNBENUTZT\t\t $PACKAGE"
else
echo -e "VERWENDET ($RES)\t $PACKAGE"
fi
done < $PACKAGES
}
check "dependencies"
check "devDependencies"
check "peerDependencies"
Ergebnis mit dem originalen Skript:
--------------------------
Überprüfung von dependencies...
UNBENUTZT jquery
--------------------------
Überprüfung von devDependencies...
UNBENUTZT @types/jquery
UNBENUTZT @types/jqueryui
VERWENDET (1) autoprefixer
VERWENDET (1) awesome-typescript-loader
VERWENDET (1) cache-loader
VERWENDET (1) css-loader
VERWENDET (1) d3
VERWENDET (1) mini-css-extract-plugin
VERWENDET (1) postcss-loader
UNBENUTZT sass
VERWENDET (1) sass-loader
VERWENDET (1) terser-webpack-plugin
UNBENUTZT typescript
UNBENUTZT webpack
UNBENUTZT webpack-cli
VERWENDET (1) webpack-fix-style-only-entries
und das modifizierte:
Überprüfung von dependencies...
VERWENDET (5) jquery
--------------------------
Überprüfung von devDependencies...
UNBENUTZT @types/jquery
UNBENUTZT @types/jqueryui
VERWENDET (1) autoprefixer
VERWENDET (1) awesome-typescript-loader
VERWENDET (1) cache-loader
VERWENDET (1) css-loader
VERWENDET (2) d3
VERWENDET (1) mini-css-extract-plugin
VERWENDET (1) postcss-loader
VERWENDET (3) sass
VERWENDET (1) sass-loader
VERWENDET (1) terser-webpack-plugin
VERWENDET (16) typescript
VERWENDET (16) webpack
VERWENDET (2) webpack-cli
VERWENDET (2) webpack-fix-style-only-entries