@leonardofirme/deploy-nextjs16 1.2.2 → 1.2.4

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/bin/cli.js CHANGED
@@ -2,34 +2,63 @@
2
2
 
3
3
  /**
4
4
  * @file cli.js
5
- * @description Script de automação para deploy de estruturas NextJS 16
5
+ * @description CLI Profissional Leonardo Firme - Deploy System
6
6
  * @author Leonardo Firme
7
7
  */
8
8
 
9
9
  const { execSync } = require('child_process');
10
+ const fs = require('fs');
10
11
  const path = require('path');
11
12
 
12
- function run() {
13
- // Pegamos o nome do projeto ou definimos o diretório atual
14
- const projectName = process.argv[2] || '.';
15
- const repo = "LeonardoFirme/deploy-nextjs16";
16
-
17
- console.log("\x1b[34m%s\x1b[0m", "--- Estruturas Leonardo Firme: Inicializando ---");
18
-
19
- try {
20
- console.log(`Clonando estrutura de ${repo}...`);
21
- // Usando degit para baixar a estrutura sem o histórico do git
22
- execSync(`npx degit ${repo} ${projectName}`, { stdio: 'inherit' });
23
-
24
- console.log("\x1b[32m%s\x1b[0m", `\nSucesso! Estrutura instalada.`);
25
- console.log("\nPróximos passos:");
26
- if (projectName !== '.') console.log(` cd ${projectName}`);
27
- console.log(` npm install`);
28
- console.log(` npm run dev`);
29
- } catch (error) {
30
- console.error("Erro ao clonar estrutura. Verifique se o diretório está vazio.");
31
- process.exit(1);
13
+ // ANSI Escape Codes para cores (Nativo, não depende de libs externas que quebram)
14
+ const reset = "\x1b[0m";
15
+ const bold = "\x1b[1m";
16
+ const cyan = "\x1b[36m";
17
+ const green = "\x1b[32m";
18
+ const white = "\x1b[37m";
19
+ const gray = "\x1b[90m";
20
+ const red = "\x1b[31m";
21
+
22
+ const projectName = process.argv[2] || '.';
23
+ const targetPath = path.resolve(process.cwd(), projectName);
24
+
25
+ console.log(`${gray}\n---------------------------------------------------${reset}`);
26
+ console.log(`${white}${bold} ESTRUTURAS LEONARDO FIRME | DEPLOY SYSTEM${reset}`);
27
+ console.log(`${gray}---------------------------------------------------${reset}\n`);
28
+
29
+ try {
30
+ // 1. Clonagem
31
+ console.log(`${cyan}▹ Clonando repositório de LeonardoFirme/deploy-nextjs16...${reset}`);
32
+ execSync(`npx degit LeonardoFirme/deploy-nextjs16 ${projectName} --force`, { stdio: 'inherit' });
33
+
34
+ // 2. Limpeza da pasta bin (Remover o que não pertence ao usuário)
35
+ const unwantedBin = path.join(targetPath, 'bin');
36
+ if (fs.existsSync(unwantedBin)) {
37
+ fs.rmSync(unwantedBin, { recursive: true, force: true });
32
38
  }
33
- }
34
39
 
35
- run();
40
+ // 3. Instalação Automática
41
+ console.log(`\n${cyan}▹ Instalando dependências do ecossistema...${reset}`);
42
+ process.chdir(targetPath);
43
+
44
+ // Executa o install e mostra o progresso real para o usuário
45
+ execSync('npm install', { stdio: 'inherit' });
46
+
47
+ // 4. Assinatura Final
48
+ console.log(`${gray}\n---------------------------------------------------${reset}`);
49
+ console.log(`${green}${bold} 🚀 ESTRUTURA INSTALADA COM SUCESSO!${reset}`);
50
+ console.log(`\n Para iniciar o desenvolvimento:`);
51
+ if (projectName !== '.') {
52
+ console.log(`${cyan} cd ${projectName}${reset}`);
53
+ }
54
+ console.log(`${cyan} npm run dev${reset}`);
55
+
56
+ console.log(`${gray}\n Desenvolvido com precisão por:${reset}`);
57
+ console.log(`${white}${bold} LEONARDO FIRME • 2026${reset}`);
58
+ console.log(`${gray}---------------------------------------------------${reset}\n`);
59
+
60
+ } catch (error) {
61
+ console.error(`${red}\n❌ Erro crítico na inicialização:${reset}`);
62
+ console.error(error.message);
63
+ process.exit(1);
64
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leonardofirme/deploy-nextjs16",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "private": false,
5
5
  "description": "Estruturas profissionais de ERP e SaaS - Leonardo Firme",
6
6
  "bin": {
@@ -28,7 +28,7 @@
28
28
  "lint": "next lint"
29
29
  },
30
30
  "dependencies": {
31
- "@leonardofirme/package-npm": "^1.2.2",
31
+ "@leonardofirme/package-npm": "^1.2.3",
32
32
  "clsx": "^2.1.1",
33
33
  "framer-motion": "^12.4.7",
34
34
  "lucide-react": "^0.575.0",
package/src/app/page.tsx CHANGED
@@ -35,7 +35,7 @@ export default function HomePage() {
35
35
  {/* Badge de Versão */}
36
36
  <motion.div variants={ITEM_VARIANTS}>
37
37
  <Badge className="bg-white px-5 py-1.5 font-orbitron tracking-[0.2em] text-gray-800 border-gray-200 dark:bg-gray-950/30 dark:border-gray-800 dark:text-gray-50">
38
- ESTRUTURA V1.2.2 VALIDADA
38
+ ESTRUTURA V1.2.4 VALIDADA
39
39
  </Badge>
40
40
  </motion.div>
41
41