#!/bin/bash # 🚀 Script de Configuração Universal - PraFrota FE # Este script automatiza a instalação de dependências em sistemas Linux. set -e # Cores para output GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' echo -e "${GREEN}=============================================${NC}" echo -e "${GREEN} Iniciando Configuração do PraFrota FE ${NC}" echo -e "${GREEN}=============================================${NC}" # 1. Detecção do Sistema Operacional if [ -f /etc/os-release ]; then . /etc/os-release OS=$ID else echo -e "${RED}Erro: Não foi possível detectar a distribuição Linux.${NC}" exit 1 fi echo -e "${YELLOW}ℹ️ Sistema detectado: $OS${NC}" # 2. Instalação de Ferramentas de Sistema (Git, Curl, Build Essentials) case $OS in ubuntu|debian|linuxmint) echo -e "${YELLOW}📦 Instalando dependências via APT...${NC}" sudo apt update sudo apt install -y git curl build-essential ;; fedora|rhel|centos|almalinux) echo -e "${YELLOW}📦 Instalando dependências via DNF/YUM...${NC}" sudo dnf groupinstall -y "Development Tools" sudo dnf install -y git curl ;; arch|manjaro) echo -e "${YELLOW}📦 Instalando dependências via PACMAN...${NC}" sudo pacman -S --noconfirm base-devel git curl ;; *) echo -e "${RED}⚠️ Distribuição '$OS' não suportada automaticamente.${NC}" echo -e "Por favor, instale 'git', 'curl' e ferramentas de compilação manualmente." ;; esac # 3. Gerenciamento do Node.js via NVM if [ -z "$NVM_DIR" ]; then echo -e "${YELLOW}📦 Instalando NVM (Node Version Manager)...${NC}" curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" fi echo -e "${YELLOW}📦 Instalando Node.js v20.12.0...${NC}" nvm install 20.12.0 nvm use 20.12.0 nvm alias default 20.12.0 # 4. Configuração do Projeto echo -e "${YELLOW}📦 Instalando dependências do projeto (npm install)...${NC}" npm install --legacy-peer-deps echo -e "${YELLOW}🏗️ Compilando bibliotecas internas (crítico)...${NC}" npm run build libs echo -e "${GREEN}=============================================${NC}" echo -e "${GREEN} ✅ Configuração Concluída com Sucesso! ${NC}" echo -e "${GREEN} Para iniciar o projeto: npm run start-debug${NC}" echo -e "${GREEN}=============================================${NC}"