Skip to content

Instantly share code, notes, and snippets.

@lucivaldo
Last active April 14, 2025 20:51
Show Gist options
  • Select an option

  • Save lucivaldo/7950b335e1478786497e811faf26ce70 to your computer and use it in GitHub Desktop.

Select an option

Save lucivaldo/7950b335e1478786497e811faf26ce70 to your computer and use it in GitHub Desktop.
Script para atualizar as dependências package.json de um projeto Javascript
#!/usr/bin/env bash
# Interrompe o script se ocorrer algum erro
set -e
# Verifica se jq está instalado
if ! command -v jq &> /dev/null; then
echo "Erro: 'jq' não está instalado. Instale com: https://jqlang.github.io/jq/"
exit 1
fi
# Lê o conteúdo das dependências e devDependencies
readarray -t dependencies < <(jq -r '.dependencies // {} | keys[]' package.json)
readarray -t dev_dependencies < <(jq -r '.devDependencies // {} | keys[]' package.json)
echo "------------ Limpando arquivos e diretórios ------------"
rm -rf node_modules .next package-lock.json
# Desinstala dependências se existirem
if [[ ${#dependencies[@]} -gt 0 ]]; then
echo "------------ Desinstalando dependências ------------"
npm remove "${dependencies[@]}"
else
echo "Nenhuma dependência para remover."
fi
if [[ ${#dev_dependencies[@]} -gt 0 ]]; then
echo "------------ Desinstalando dependências de desenvolvimento ------------"
npm remove "${dev_dependencies[@]}"
else
echo "Nenhuma dependência de desenvolvimento para remover."
fi
# Reinstala as dependências
if [[ ${#dependencies[@]} -gt 0 ]]; then
echo "------------ Instalando dependências ------------"
npm install "${dependencies[@]}"
fi
if [[ ${#dev_dependencies[@]} -gt 0 ]]; then
echo "------------ Instalando dependências de desenvolvimento ------------"
npm install -D "${dev_dependencies[@]}"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment