23 lines
645 B
Bash
Executable File
23 lines
645 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Read package exclusion list from arguments
|
|
exclusionList=("$@")
|
|
|
|
# Convert exclusion list to grep pattern
|
|
exclusionPattern=$(printf "|%s" "${exclusionList[@]}")
|
|
exclusionPattern=${exclusionPattern:1}
|
|
|
|
# Get list of all dev dependencies
|
|
devDeps=$(jq -r '.devDependencies | keys | .[]' package.json)
|
|
|
|
# Filter out exclusion list
|
|
depsToUninstall=$(echo "$devDeps" | grep -Ev "$exclusionPattern")
|
|
|
|
# If there are dependencies to uninstall then uninstall them
|
|
if [ -n "$depsToUninstall" ]; then
|
|
echo "Uninstalling dev dependencies: $depsToUninstall"
|
|
npm uninstall $depsToUninstall
|
|
else
|
|
echo "No dev dependencies to uninstall"
|
|
fi
|