Last active
April 14, 2025 20:51
-
-
Save lucivaldo/7950b335e1478786497e811faf26ce70 to your computer and use it in GitHub Desktop.
Script para atualizar as dependências package.json de um projeto Javascript
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/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