npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@conexean/deploy

v2.2.6

Published

🚀 CLI moderno para deploy de projetos Next.js da Conexean

Readme

🚀 Conexean Deploy CLI

CLI moderno para deploy de projetos Next.js da Conexean

npm version Version License: MIT

📋 Índice

🚀 Instalação

Instalação Global (Recomendado)

npm install -g @conexean/deploy
# ou
pnpm add -g @conexean/deploy

Instalação Local

npm install --save-dev @conexean/deploy
# ou
pnpm add -D @conexean/deploy

Uso Direto

npx @conexean/deploy --help

⚡ Uso Rápido

# 1. Inicializar configuração
conexean-deploy init

# 2. Criar banco de dados
conexean-deploy db create

# 3. Fazer build
conexean-deploy build

# 4. Fazer deploy
conexean-deploy deploy

# 5. Verificar status
conexean-deploy status

# 6. Listar bancos e usuários
conexean-deploy db list

🔧 Configuração

1. Inicializar Projeto

conexean-deploy init

Isso criará um arquivo deploy.config.json com a configuração básica.

2. Configurar Servidor

Edite o arquivo deploy.config.json:

{
  "name": "meu-projeto",
  "server": {
    "host": "192.168.1.100",
    "user": "ubuntu",
    "port": "22",
    "path": "/var/www/production"
  },
  "database": {
    "host": "localhost",
    "port": "5432",
    "adminUser": "postgres",
    "adminPassword": "senha_admin",
    "targetUser": "app_user",
    "targetPassword": "senha_app",
    "targetDatabase": "app_db"
  },
  "build": {
    "command": "pnpm build",
    "outputDir": ".next"
  },
  "files": [
    ".next",
    "public",
    "package.json",
    "pnpm-lock.yaml",
    "next.config.mjs",
    "prisma"
  ],
  "excludePatterns": [
    "node_modules",
    ".git",
    ".next/cache",
    "*.log",
    ".env.local",
    "coverage"
  ],
  "commands": {
    "beforeDeploy": [
      "echo 'Preparando deploy...'"
    ],
    "afterDeploy": [
      "pnpm install --production",
      "pnpm prisma generate",
      "pm2 delete ${name} || true",
      "pm2 start npm --name ${name} -- start"
    ]
  }
}

📚 Comandos

Comandos Principais

| Comando | Descrição | Opções | |---------|-----------|--------| | init | Inicializa configuração do projeto | --force | | build | Builda o projeto Next.js | --env, --clean | | deploy | Faz deploy para o servidor | --env, --force, --no-build, --no-backup | | rollback | Faz rollback para versão anterior | --env, --version | | status | Mostra status do projeto | --env |

Exemplos de Uso

# Build para produção
conexean-deploy build --env production

# Deploy para staging
conexean-deploy deploy --env staging

# Deploy forçado (ignora erros)
conexean-deploy deploy --env production --force

# Rollback para versão específica
conexean-deploy rollback --env production --version v1.2.3

# Status do ambiente de produção
conexean-deploy status --env production

🗄️ Comandos de Banco de Dados

Comandos Disponíveis

| Comando | Descrição | Opções | |---------|-----------|--------| | db backup | Cria backup do banco de produção | --env | | db backup-local | Cria backup do banco local | - | | db restore-local | Restaura backup no banco local | [file] | | db restore-prod | Restaura backup local em produção | [file] | | db create | Cria banco usando configuração do projeto | - | | db list | Lista bancos de dados e usuários | --env | | db drop | Remove banco e usuário do projeto | --env, --force, --user, --database |

Backup e Restore

# Criar backup de produção
conexean-deploy db backup --env production

# Criar backup local
conexean-deploy db backup-local

# Restaurar backup no local
conexean-deploy db restore-local

# Restaurar backup específico no local
conexean-deploy db restore-local backup_projeto_production_2024-01-15.sql

# Restaurar backup local em produção
conexean-deploy db restore-prod

# Restaurar backup específico em produção
conexean-deploy db restore-prod backup_projeto_production_2024-01-15.sql

🚀 Criar Banco de Dados

Cria banco de dados usando a configuração do projeto (definida no init):

# Criar banco usando configuração do projeto
conexean-deploy db create

O comando usa automaticamente as configurações definidas no deploy.config.json:

  • Nome do banco: config.database.targetDatabase
  • Usuário: config.database.targetUser
  • Senha: config.database.targetPassword
  • Host: config.database.host
  • Porta: config.database.port

📋 Listar Bancos e Usuários

# Listar todos os bancos e usuários
conexean-deploy db list

# Listar para ambiente específico
conexean-deploy db list --env production

Exibe informações detalhadas:

  • Bancos: Nome, tamanho, proprietário, collation
  • Usuários: Permissões, bancos proprietários, status

🗑️ Remover Banco e Usuário

# Remover banco e usuário do projeto atual
conexean-deploy db drop

# Remover com confirmação forçada
conexean-deploy db drop --force

# Remover usuário específico
conexean-deploy db drop --user nome_do_usuario --force

# Remover banco específico
conexean-deploy db drop --database nome_do_banco --force

# Remover ambos
conexean-deploy db drop --user nome_do_usuario --database nome_do_banco --force

🔧 Configuração de Banco Existente

# Configurar banco existente (usuário, permissões)
conexean-deploy db setup --env production

🚀 Fluxo Completo de Banco de Dados

1. Inicializar Projeto

conexean-deploy init

2. Criar Banco de Dados

conexean-deploy db create

3. Listar Bancos e Usuários

conexean-deploy db list

4. Fazer Backup

conexean-deploy db backup

5. Restaurar Backup (se necessário)

conexean-deploy db restore-local

6. Remover Banco (se necessário)

conexean-deploy db drop --force

📊 Exemplo de Saída do db list:

🗄️ BANCOS DE DADOS:
────────────────────────────────────────────────────────────────────────────────
   📁 postgres
      Tamanho: 7739 kB
      Proprietário: conexean
      Collation: en_US.UTF-8

   📁 prod_barradao
      Tamanho: 8947 kB
      Proprietário: conexean
      Collation: en_US.UTF-8

👥 USUÁRIOS:
────────────────────────────────────────────────────────────────────────────────
   👤 conexean
      Super usuário: ❌ Não
      Pode criar DB: ✅ Sim
      Pode fazer login: ✅ Sim
      Bancos proprietário: prod_barradao, prod_conexean_portal, prod_cclimp

   👤 prod_user_barradao
      Super usuário: ❌ Não
      Pode criar DB: ❌ Não
      Pode fazer login: ✅ Sim

🔧 Configuração Avançada

🔐 Autenticação SSH Melhorada

O CLI suporta múltiplos métodos de autenticação SSH:

  1. SSH Agent (Recomendado - Mais seguro)

    # Adicionar chave ao SSH agent
    ssh-add ~/.ssh/id_rsa
       
    # O CLI detectará automaticamente
    conexean-deploy db create
  2. Chaves SSH (Automático)

    • Tenta ~/.ssh/id_ed25519
    • Tenta ~/.ssh/id_rsa
    • Tenta ~/.ssh/id_ecdsa
  3. Senha Interativa (Fallback)

    • Solicita senha quando necessário
    • Não requer variáveis de ambiente

Múltiplos Ambientes

{
  "servers": {
    "staging": {
      "host": "staging.conexean.com",
      "port": 22,
      "username": "deploy"
    },
    "production": {
      "host": "prod.conexean.com",
      "port": 22,
      "username": "deploy"
    }
  }
}

Comandos Customizados

{
  "project": {
    "buildCommand": "pnpm build && pnpm test",
    "installCommand": "pnpm install --frozen-lockfile",
    "restartCommand": "pm2 restart app --update-env"
  }
}

Backup Automático

{
  "backup": {
    "enabled": true,
    "path": "/var/backups",
    "retention": 7,
    "compress": true,
    "includeDatabase": true
  }
}

🔍 Troubleshooting

Problemas Comuns

1. Erro de Conexão SSH

# Verificar conectividade
ssh -i ~/.ssh/id_rsa usuario@servidor

# Testar com o CLI
node dist/cli.js status --debug

2. Erro de Permissão

# Verificar permissões do diretório remoto
node dist/cli.js status --env production

# Ajustar permissões se necessário
chmod 755 /var/www/projeto

3. Erro de Build

# Build local para testar
node dist/cli.js build --debug

# Verificar dependências
pnpm install

4. Erro de Banco de Dados

# Listar bancos e usuários
conexean-deploy db list

# Testar criação de banco
conexean-deploy db create

# Verificar configurações
cat deploy.config.json

Logs e Debug

# Ativar modo debug
DEBUG=1 node dist/cli.js deploy --env production

# Ver logs detalhados
node dist/cli.js status --env production --debug

🤝 Contribuição

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📄 Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

🆘 Suporte


Desenvolvido com ❤️ pela Conexean