23 lines
645 B
Bash
23 lines
645 B
Bash
|
|
#!/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
|