Finding Unused files with Require.js imports
In an effort to clean up some code, I wanted to find a list of files not imported by my app. I didn't see anything in a brief search, so I wrote this little script. Hopefully its helpful. It finds all javascript files in directories you specify as parameters to the script, greps your git repository for references to those files and echos those that should be removed.
This script does have the possibility for false negatives (ie: things
that aren't used that we don't mention) because we use
basenames. Examples might be a foo/utils.js
which is used hiding the
bar/utils.js
which isn't used. You may need to run this multiple
times as deleting some files will uncover new unused files.
#!/bin/bash JS_FILES=$(find "$@" -name "*.js") for FILE in $JS_FILES; do short_name=`basename $FILE` filename="${short_name%.*}" git grep --quiet $filename 1>/dev/null if [ "$?" == "1" ]; then echo "Should delete: $FILE" fi done;