smoonb 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.smoonbrc.example +18 -0
- package/LICENSE.md +64 -0
- package/README.md +227 -0
- package/bin/smoonb.js +113 -0
- package/package.json +43 -0
- package/src/commands/backup.js +245 -0
- package/src/commands/check.js +405 -0
- package/src/commands/config.js +75 -0
- package/src/commands/functions.js +375 -0
- package/src/commands/restore.js +326 -0
- package/src/commands/secrets.js +361 -0
- package/src/index.js +269 -0
- package/src/utils/supabase.js +364 -0
- package/src/utils/validation.js +351 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"supabase": {
|
|
3
|
+
"url": "https://your-project.supabase.co",
|
|
4
|
+
"serviceKey": "your-service-key-here",
|
|
5
|
+
"anonKey": "your-anon-key-here"
|
|
6
|
+
},
|
|
7
|
+
"backup": {
|
|
8
|
+
"includeFunctions": true,
|
|
9
|
+
"includeStorage": true,
|
|
10
|
+
"includeAuth": true,
|
|
11
|
+
"includeRealtime": true,
|
|
12
|
+
"outputDir": "./backups"
|
|
13
|
+
},
|
|
14
|
+
"restore": {
|
|
15
|
+
"cleanRestore": false,
|
|
16
|
+
"verifyAfterRestore": true
|
|
17
|
+
}
|
|
18
|
+
}
|
package/LICENSE.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Licença Comercial smoonb
|
|
2
|
+
|
|
3
|
+
## Versão Experimental Gratuita (Versões 0.x.x)
|
|
4
|
+
|
|
5
|
+
**IMPORTANTE**: Durante a versão experimental, todas as versões 0.x.x do smoonb são **COMPLETAMENTE GRATUITAS** para qualquer uso, incluindo uso comercial.
|
|
6
|
+
|
|
7
|
+
### Termos da Versão Experimental
|
|
8
|
+
|
|
9
|
+
- ✅ **Uso gratuito**: Pode usar em projetos pessoais e comerciais
|
|
10
|
+
- ✅ **Sem restrições**: Sem limitações de funcionalidades
|
|
11
|
+
- ❌ **SEM SUPORTE**: Não oferecemos suporte técnico neste estágio
|
|
12
|
+
- ⚠️ **USE POR SUA CONTA E RISCO**: Software nunca testado em produção
|
|
13
|
+
- ⚠️ **NÃO NOS RESPONSABILIZAMOS**: Por qualquer perda de dados
|
|
14
|
+
- ✅ **Transparência total**: Mudanças de licença serão anunciadas com antecedência
|
|
15
|
+
|
|
16
|
+
## Licença Comercial (Versões 1.0.0+)
|
|
17
|
+
|
|
18
|
+
**AVISO**: A partir da versão 1.0.0, o smoonb será licenciado comercialmente.
|
|
19
|
+
|
|
20
|
+
### Termos da Licença Comercial
|
|
21
|
+
|
|
22
|
+
Copyright (c) 2024 Goalmoon Tecnologia LTDA. Todos os direitos reservados.
|
|
23
|
+
|
|
24
|
+
**Proibido sem licença válida:**
|
|
25
|
+
- Uso em produção
|
|
26
|
+
- Distribuição ou redistribuição
|
|
27
|
+
- Modificação do código-fonte
|
|
28
|
+
- Engenharia reversa
|
|
29
|
+
|
|
30
|
+
### Licenças Disponíveis (a partir da v1.0.0)
|
|
31
|
+
|
|
32
|
+
1. **Licença Individual**: Uso pessoal e projetos pequenos
|
|
33
|
+
2. **Licença Empresarial**: Uso corporativo e equipes
|
|
34
|
+
3. **Licença OEM**: Integração em produtos comerciais
|
|
35
|
+
|
|
36
|
+
### Política de Transição
|
|
37
|
+
|
|
38
|
+
- **Aviso prévio**: Mudanças serão anunciadas 90 dias antes
|
|
39
|
+
- **Migração suave**: Usuários beta terão desconto especial
|
|
40
|
+
- **Transparência**: Todos os termos serão claramente comunicados
|
|
41
|
+
|
|
42
|
+
## Disclaimer
|
|
43
|
+
|
|
44
|
+
Este software é fornecido "como está", sem garantias de qualquer tipo, expressas ou implícitas. O uso é por sua própria conta e risco.
|
|
45
|
+
|
|
46
|
+
**IMPORTANTE**: Este software está em desenvolvimento inicial e NUNCA foi testado em produção. Os resultados podem ser imprevisíveis e podem causar perdas irreparáveis de dados. Não nos responsabilizamos por qualquer perda de dados ou danos causados pelo uso deste software.
|
|
47
|
+
|
|
48
|
+
## Empresa Desenvolvedora
|
|
49
|
+
|
|
50
|
+
**smoonb** é desenvolvido pela **Goalmoon Tecnologia LTDA**
|
|
51
|
+
- Website: https://goalmoon.com
|
|
52
|
+
- Empresa brasileira especializada em soluções tecnológicas
|
|
53
|
+
|
|
54
|
+
## Contato
|
|
55
|
+
|
|
56
|
+
Para questões sobre licenciamento comercial:
|
|
57
|
+
- Email: suporte@goalmoon.com
|
|
58
|
+
- GitHub Issues: Para contribuições e bugs (sem suporte técnico)
|
|
59
|
+
- Empresa: https://goalmoon.com
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
**Última atualização**: Dezembro 2024
|
|
64
|
+
**Próxima revisão**: Antes da versão 1.0.0
|
package/README.md
ADDED
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
# smoonb 🚀
|
|
2
|
+
|
|
3
|
+
> **⚠️ VERSÃO EXPERIMENTAL - NÃO TESTADA - USE POR SUA CONTA E RISCO ⚠️**
|
|
4
|
+
|
|
5
|
+
## 🚨 **AVISO IMPORTANTE - LEIA ANTES DE USAR**
|
|
6
|
+
|
|
7
|
+
**Este software está em desenvolvimento inicial e NUNCA foi testado em produção.**
|
|
8
|
+
|
|
9
|
+
- ❌ **NÃO TESTE** este aplicativo em projetos importantes
|
|
10
|
+
- ❌ **NÃO USE** em dados críticos ou produção
|
|
11
|
+
- ⚠️ **RESULTADOS IMPREVISÍVEIS** - podem causar perdas irreparáveis de dados
|
|
12
|
+
- ⚠️ **NÃO NOS RESPONSABILIZAMOS** por qualquer perda de dados
|
|
13
|
+
- ⚠️ **USE POR SUA CONTA E RISCO** - você é o único responsável
|
|
14
|
+
|
|
15
|
+
**Desenvolvido por:** [Goalmoon Tecnologia LTDA](https://goalmoon.com)
|
|
16
|
+
|
|
17
|
+
## 🎯 O Problema que Resolvemos
|
|
18
|
+
|
|
19
|
+
As ferramentas existentes fazem apenas backup da database PostgreSQL, ignorando componentes críticos:
|
|
20
|
+
|
|
21
|
+
- ❌ **Edge Functions** - Código serverless perdido
|
|
22
|
+
- ❌ **Auth Settings** - Configurações de autenticação perdidas
|
|
23
|
+
- ❌ **Storage Objects** - Arquivos e buckets perdidos
|
|
24
|
+
- ❌ **Realtime Settings** - Configurações de tempo real perdidas
|
|
25
|
+
|
|
26
|
+
**Resultado**: Falhas na restauração e perda de funcionalidades essenciais.
|
|
27
|
+
|
|
28
|
+
## ✅ Nossa Solução
|
|
29
|
+
|
|
30
|
+
smoonb é a **primeira ferramenta** que faz backup **COMPLETO** do Supabase:
|
|
31
|
+
|
|
32
|
+
- ✅ **Database PostgreSQL** - Backup completo com pg_dump
|
|
33
|
+
- ✅ **Edge Functions** - Código e configurações
|
|
34
|
+
- ✅ **Auth Settings** - Políticas e configurações
|
|
35
|
+
- ✅ **Storage Objects** - Arquivos e metadados
|
|
36
|
+
- ✅ **Realtime Settings** - Configurações de tempo real
|
|
37
|
+
- ✅ **Metadados** - Todas as configurações do projeto
|
|
38
|
+
|
|
39
|
+
## 🚀 Comandos Principais
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Backup completo do projeto
|
|
43
|
+
smoonb backup
|
|
44
|
+
|
|
45
|
+
# Restauração completa
|
|
46
|
+
smoonb restore
|
|
47
|
+
|
|
48
|
+
# Gerenciamento de secrets
|
|
49
|
+
smoonb secrets export
|
|
50
|
+
smoonb secrets import
|
|
51
|
+
|
|
52
|
+
# Deploy de Edge Functions
|
|
53
|
+
smoonb functions push
|
|
54
|
+
|
|
55
|
+
# Checklist pós-restore
|
|
56
|
+
smoonb check
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## 📊 Comparação: smoonb vs Outras Ferramentas
|
|
60
|
+
|
|
61
|
+
| Funcionalidade | smoonb | Outras Ferramentas |
|
|
62
|
+
|---|---|---|
|
|
63
|
+
| Database PostgreSQL | ✅ Completo | ✅ Completo |
|
|
64
|
+
| Edge Functions | ✅ Backup + Restore | ❌ Não suportado |
|
|
65
|
+
| Auth Settings | ✅ Backup + Restore | ❌ Não suportado |
|
|
66
|
+
| Storage Objects | ✅ Backup + Restore | ❌ Não suportado |
|
|
67
|
+
| Realtime Settings | ✅ Backup + Restore | ❌ Não suportado |
|
|
68
|
+
| Metadados | ✅ Completo | ❌ Parcial |
|
|
69
|
+
| CLI Simples | ✅ Intuitivo | ⚠️ Complexo |
|
|
70
|
+
| Restauração Confiável | ✅ 100% | ⚠️ Parcial |
|
|
71
|
+
|
|
72
|
+
## 🛠️ Instalação
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Instalação global
|
|
76
|
+
npm install -g smoonb
|
|
77
|
+
|
|
78
|
+
# Ou uso local
|
|
79
|
+
npx smoonb --help
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## ⚡ Quick Start
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# 1. Configure suas credenciais Supabase
|
|
86
|
+
smoonb config
|
|
87
|
+
|
|
88
|
+
# 2. Faça backup completo
|
|
89
|
+
smoonb backup --project-id your-project-id
|
|
90
|
+
|
|
91
|
+
# 3. Restaure em outro projeto
|
|
92
|
+
smoonb restore --project-id target-project-id
|
|
93
|
+
|
|
94
|
+
# 4. Verifique a restauração
|
|
95
|
+
smoonb check --project-id target-project-id
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## 📋 Exemplos de Uso
|
|
99
|
+
|
|
100
|
+
### Backup Completo
|
|
101
|
+
```bash
|
|
102
|
+
smoonb backup \
|
|
103
|
+
--project-id abc123def456 \
|
|
104
|
+
--output ./backup-$(date +%Y%m%d) \
|
|
105
|
+
--include-functions \
|
|
106
|
+
--include-storage \
|
|
107
|
+
--include-auth
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Restauração com Verificação
|
|
111
|
+
```bash
|
|
112
|
+
smoonb restore \
|
|
113
|
+
--project-id xyz789uvw012 \
|
|
114
|
+
--backup-dir ./backup-20241201 \
|
|
115
|
+
--verify \
|
|
116
|
+
--clean-restore
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Migração Entre Projetos
|
|
120
|
+
```bash
|
|
121
|
+
# 1. Backup do projeto origem
|
|
122
|
+
smoonb backup --project-id source-project
|
|
123
|
+
|
|
124
|
+
# 2. Export secrets (opcional)
|
|
125
|
+
smoonb secrets export --project-id source-project
|
|
126
|
+
|
|
127
|
+
# 3. Restore no projeto destino
|
|
128
|
+
smoonb restore --project-id target-project
|
|
129
|
+
|
|
130
|
+
# 4. Import secrets (opcional)
|
|
131
|
+
smoonb secrets import --project-id target-project
|
|
132
|
+
|
|
133
|
+
# 5. Verificação final
|
|
134
|
+
smoonb check --project-id target-project
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## 🔧 Configuração
|
|
138
|
+
|
|
139
|
+
Crie um arquivo `.smoonbrc` na raiz do seu projeto:
|
|
140
|
+
|
|
141
|
+
```json
|
|
142
|
+
{
|
|
143
|
+
"supabase": {
|
|
144
|
+
"url": "https://your-project.supabase.co",
|
|
145
|
+
"serviceKey": "your-service-key"
|
|
146
|
+
},
|
|
147
|
+
"backup": {
|
|
148
|
+
"includeFunctions": true,
|
|
149
|
+
"includeStorage": true,
|
|
150
|
+
"includeAuth": true,
|
|
151
|
+
"outputDir": "./backups"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## 📝 Licenciamento
|
|
157
|
+
|
|
158
|
+
### 🆓 Versão Experimental Gratuita (Versões 0.x.x)
|
|
159
|
+
|
|
160
|
+
- ✅ **Uso gratuito** para projetos pessoais e comerciais
|
|
161
|
+
- ✅ **Sem restrições** de funcionalidades
|
|
162
|
+
- ❌ **SEM SUPORTE** - apenas aceitamos contribuições
|
|
163
|
+
- ⚠️ **USE POR SUA CONTA E RISCO** - software não testado
|
|
164
|
+
|
|
165
|
+
### 💼 Licença Comercial (Versões 1.0.0+)
|
|
166
|
+
|
|
167
|
+
**AVISO**: A partir da versão 1.0.0, o smoonb será licenciado comercialmente.
|
|
168
|
+
|
|
169
|
+
- 📧 **Aviso prévio**: Mudanças serão anunciadas 90 dias antes
|
|
170
|
+
- 💰 **Desconto especial**: Usuários experimentais terão condições preferenciais
|
|
171
|
+
- 🔄 **Migração suave**: Processo transparente e bem comunicado
|
|
172
|
+
|
|
173
|
+
[📖 Leia a licença completa](./LICENSE.md)
|
|
174
|
+
|
|
175
|
+
## 🤝 Contribuição
|
|
176
|
+
|
|
177
|
+
**Este é um projeto experimental - contribuições são bem-vindas!**
|
|
178
|
+
|
|
179
|
+
1. Fork o projeto
|
|
180
|
+
2. Crie uma branch (`git checkout -b feature/nova-funcionalidade`)
|
|
181
|
+
3. Commit suas mudanças (`git commit -m 'Adiciona nova funcionalidade'`)
|
|
182
|
+
4. Push para a branch (`git push origin feature/nova-funcionalidade`)
|
|
183
|
+
5. Abra um Pull Request
|
|
184
|
+
|
|
185
|
+
## 🐛 Reportar Bugs
|
|
186
|
+
|
|
187
|
+
Encontrou um bug? [Abra uma issue](https://github.com/almmello/smoonb/issues) com:
|
|
188
|
+
|
|
189
|
+
- Descrição detalhada do problema
|
|
190
|
+
- Passos para reproduzir
|
|
191
|
+
- Logs de erro (se houver)
|
|
192
|
+
- Versão do smoonb e Node.js
|
|
193
|
+
|
|
194
|
+
## 📞 Suporte e Contato
|
|
195
|
+
|
|
196
|
+
- 🐛 **Bugs**: [GitHub Issues](https://github.com/almmello/smoonb/issues)
|
|
197
|
+
- 💬 **Discussões**: [GitHub Discussions](https://github.com/almmello/smoonb/discussions)
|
|
198
|
+
- 📧 **Licenciamento**: licensing@goalmoon.com
|
|
199
|
+
- 🏢 **Empresa**: [Goalmoon Tecnologia LTDA](https://goalmoon.com)
|
|
200
|
+
|
|
201
|
+
### ☕ Apoie o Desenvolvimento
|
|
202
|
+
|
|
203
|
+
Se este projeto te ajudou e você gostaria de apoiar o desenvolvimento:
|
|
204
|
+
|
|
205
|
+
- ☕ **Compre um café**: [Link de pagamento](https://pag.ae/7Yj8QjQjQ)
|
|
206
|
+
- ⭐ **Dê uma estrela** no GitHub
|
|
207
|
+
- 🐛 **Reporte bugs** e contribua com melhorias
|
|
208
|
+
- 📢 **Compartilhe** com outros desenvolvedores
|
|
209
|
+
|
|
210
|
+
**⚠️ IMPORTANTE**: Este software está em desenvolvimento inicial e NUNCA foi testado em produção. Não oferecemos suporte técnico neste estágio - apenas aceitamos contribuições da comunidade.
|
|
211
|
+
|
|
212
|
+
## 📄 Changelog
|
|
213
|
+
|
|
214
|
+
### v0.0.1 (EXPERIMENTAL)
|
|
215
|
+
- 🎉 Lançamento inicial da versão experimental
|
|
216
|
+
- ⚠️ **NUNCA TESTADO EM PRODUÇÃO** - use por sua conta e risco
|
|
217
|
+
- ✅ Backup completo de projetos Supabase (implementação inicial)
|
|
218
|
+
- ✅ Restauração com verificação (implementação inicial)
|
|
219
|
+
- ✅ Suporte a Edge Functions, Auth, Storage e Realtime (implementação inicial)
|
|
220
|
+
- ✅ CLI intuitivo e documentação completa
|
|
221
|
+
- 🏢 Desenvolvido por Goalmoon Tecnologia LTDA
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
**smoonb** - A ferramenta definitiva para backup e migração de projetos Supabase 🚀
|
|
226
|
+
|
|
227
|
+
*Desenvolvido com ❤️ para a comunidade Supabase*
|
package/bin/smoonb.js
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* smoonb - Complete Supabase backup and migration tool
|
|
5
|
+
*
|
|
6
|
+
* CLI principal para backup e migração de projetos Supabase
|
|
7
|
+
* Versão: 0.0.1 (EXPERIMENTAL VERSION - USE AT YOUR OWN RISK)
|
|
8
|
+
*
|
|
9
|
+
* Desenvolvido por: Goalmoon Tecnologia LTDA
|
|
10
|
+
* Website: https://goalmoon.com
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
const { Command } = require('commander');
|
|
14
|
+
const chalk = require('chalk');
|
|
15
|
+
const packageJson = require('../package.json');
|
|
16
|
+
|
|
17
|
+
// Importar módulos principais
|
|
18
|
+
const { commands, showBetaBanner, showQuickHelp } = require('../src/index');
|
|
19
|
+
|
|
20
|
+
// Criar instância do Commander
|
|
21
|
+
const program = new Command();
|
|
22
|
+
|
|
23
|
+
// Configuração básica do programa
|
|
24
|
+
program
|
|
25
|
+
.name('smoonb')
|
|
26
|
+
.description('Complete Supabase backup and migration tool - EXPERIMENTAL VERSION - USE AT YOUR OWN RISK')
|
|
27
|
+
.version(packageJson.version, '-v, --version', 'display version number')
|
|
28
|
+
.addHelpText('before', () => {
|
|
29
|
+
showBetaBanner();
|
|
30
|
+
return '';
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
// Comandos principais
|
|
34
|
+
program
|
|
35
|
+
.command('backup')
|
|
36
|
+
.description('Fazer backup completo do projeto Supabase')
|
|
37
|
+
.option('-p, --project-id <id>', 'ID do projeto Supabase')
|
|
38
|
+
.option('-o, --output <dir>', 'Diretório de saída do backup', './backup')
|
|
39
|
+
.option('--include-functions', 'Incluir Edge Functions no backup', true)
|
|
40
|
+
.option('--include-storage', 'Incluir Storage Objects no backup', true)
|
|
41
|
+
.option('--include-auth', 'Incluir Auth Settings no backup', true)
|
|
42
|
+
.option('--include-realtime', 'Incluir Realtime Settings no backup', true)
|
|
43
|
+
.action(commands.backup);
|
|
44
|
+
|
|
45
|
+
program
|
|
46
|
+
.command('restore')
|
|
47
|
+
.description('Restaurar backup completo no projeto Supabase')
|
|
48
|
+
.option('-p, --project-id <id>', 'ID do projeto Supabase destino')
|
|
49
|
+
.option('-b, --backup-dir <dir>', 'Diretório do backup a ser restaurado')
|
|
50
|
+
.option('--clean-restore', 'Limpar projeto antes da restauração', false)
|
|
51
|
+
.option('--verify', 'Verificar restauração após completar', true)
|
|
52
|
+
.action(commands.restore);
|
|
53
|
+
|
|
54
|
+
program
|
|
55
|
+
.command('secrets')
|
|
56
|
+
.description('Gerenciar secrets do projeto Supabase')
|
|
57
|
+
.option('export', 'Exportar secrets (sem commitar)')
|
|
58
|
+
.option('import', 'Importar secrets no projeto alvo')
|
|
59
|
+
.action(commands.secrets);
|
|
60
|
+
|
|
61
|
+
program
|
|
62
|
+
.command('functions')
|
|
63
|
+
.description('Gerenciar Edge Functions')
|
|
64
|
+
.option('push', 'Deploy de Edge Functions')
|
|
65
|
+
.option('pull', 'Baixar Edge Functions do projeto')
|
|
66
|
+
.action(commands.functions);
|
|
67
|
+
|
|
68
|
+
program
|
|
69
|
+
.command('check')
|
|
70
|
+
.description('Checklist pós-restore - verificar integridade')
|
|
71
|
+
.option('-p, --project-id <id>', 'ID do projeto Supabase')
|
|
72
|
+
.option('--verbose', 'Saída detalhada', false)
|
|
73
|
+
.action(commands.check);
|
|
74
|
+
|
|
75
|
+
program
|
|
76
|
+
.command('config')
|
|
77
|
+
.description('Configurar credenciais e configurações do smoonb')
|
|
78
|
+
.option('--init', 'Inicializar configuração')
|
|
79
|
+
.option('--show', 'Mostrar configuração atual')
|
|
80
|
+
.action(commands.config);
|
|
81
|
+
|
|
82
|
+
// Tratamento de erros
|
|
83
|
+
program.on('command:*', function (operands) {
|
|
84
|
+
console.error(chalk.red.bold('❌ Comando não reconhecido:'), operands[0]);
|
|
85
|
+
console.error(chalk.yellow('💡 Use'), chalk.cyan('smoonb --help'), chalk.yellow('para ver comandos disponíveis'));
|
|
86
|
+
process.exit(1);
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
// Tratamento de exceções não capturadas
|
|
90
|
+
process.on('uncaughtException', (error) => {
|
|
91
|
+
console.error(chalk.red.bold('❌ Erro não tratado:'), error.message);
|
|
92
|
+
console.error(chalk.gray('Stack trace:'), error.stack);
|
|
93
|
+
process.exit(1);
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
process.on('unhandledRejection', (reason, promise) => {
|
|
97
|
+
console.error(chalk.red.bold('❌ Promise rejeitada não tratada:'), reason);
|
|
98
|
+
process.exit(1);
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
// Exibir informações do período beta quando nenhum comando é fornecido
|
|
102
|
+
if (process.argv.length === 2) {
|
|
103
|
+
showBetaBanner();
|
|
104
|
+
showQuickHelp();
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Parse dos argumentos da linha de comando
|
|
108
|
+
program.parse(process.argv);
|
|
109
|
+
|
|
110
|
+
// Se nenhum comando foi fornecido, mostrar ajuda
|
|
111
|
+
if (!process.argv.slice(2).length) {
|
|
112
|
+
program.outputHelp();
|
|
113
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "smoonb",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Complete Supabase backup and migration tool - EXPERIMENTAL VERSION - USE AT YOUR OWN RISK",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"smoonb": "./bin/smoonb.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
11
|
+
"start": "node bin/smoonb.js"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"supabase",
|
|
15
|
+
"backup",
|
|
16
|
+
"migration",
|
|
17
|
+
"postgresql",
|
|
18
|
+
"edge-functions",
|
|
19
|
+
"database",
|
|
20
|
+
"cli",
|
|
21
|
+
"tool"
|
|
22
|
+
],
|
|
23
|
+
"author": "Goalmoon Tecnologia LTDA <https://goalmoon.com>",
|
|
24
|
+
"license": "SEE LICENSE IN LICENSE.md",
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=16.0.0"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"commander": "^11.1.0",
|
|
30
|
+
"@supabase/supabase-js": "^2.38.0",
|
|
31
|
+
"chalk": "^4.1.2",
|
|
32
|
+
"inquirer": "^8.2.6"
|
|
33
|
+
},
|
|
34
|
+
"type": "commonjs",
|
|
35
|
+
"repository": {
|
|
36
|
+
"type": "git",
|
|
37
|
+
"url": "https://github.com/almmello/smoonb.git"
|
|
38
|
+
},
|
|
39
|
+
"bugs": {
|
|
40
|
+
"url": "https://github.com/almmello/smoonb/issues"
|
|
41
|
+
},
|
|
42
|
+
"homepage": "https://github.com/almmello/smoonb#readme"
|
|
43
|
+
}
|