@leonardofirme/deploy-nextjs16 1.2.2 → 1.2.3
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 +43 -25
- package/package.json +2 -2
- package/src/app/page.tsx +1 -1
package/bin/cli.js
CHANGED
|
@@ -2,34 +2,52 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @file cli.js
|
|
5
|
-
* @description
|
|
5
|
+
* @description CLI Profissional para deploy de estruturas ERP/SaaS NextJS 16.
|
|
6
6
|
* @author Leonardo Firme
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
const { execSync } = require('child_process');
|
|
10
|
+
const fs = require('fs-extra');
|
|
10
11
|
const path = require('path');
|
|
12
|
+
const chalk = require('chalk');
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
14
|
+
const projectName = process.argv[2] || '.';
|
|
15
|
+
const targetPath = path.resolve(process.cwd(), projectName);
|
|
16
|
+
|
|
17
|
+
console.log(chalk.gray('\n---------------------------------------------------'));
|
|
18
|
+
console.log(chalk.white.bold(' ESTRUTURAS LEONARDO FIRME | DEPLOY SYSTEM'));
|
|
19
|
+
console.log(chalk.gray('---------------------------------------------------\n'));
|
|
20
|
+
|
|
21
|
+
try {
|
|
22
|
+
// 1. Clonagem da estrutura
|
|
23
|
+
console.log(chalk.cyan('▹ Clonando repositório de LeonardoFirme/deploy-nextjs16...'));
|
|
24
|
+
execSync(`npx degit LeonardoFirme/deploy-nextjs16 ${projectName} --force`);
|
|
25
|
+
|
|
26
|
+
// 2. Limpeza de arquivos de infraestrutura (bin do pacote)
|
|
27
|
+
const unwantedBin = path.join(targetPath, 'bin');
|
|
28
|
+
if (fs.existsSync(unwantedBin)) {
|
|
29
|
+
fs.removeSync(unwantedBin);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// 3. Instalação de Dependências (O ponto chave para o "Pronto para Uso")
|
|
33
|
+
console.log(chalk.cyan('▹ Instalando dependências do ecossistema...'));
|
|
34
|
+
process.chdir(targetPath);
|
|
35
|
+
execSync('npm install', { stdio: 'inherit' });
|
|
36
|
+
|
|
37
|
+
// 4. Assinatura Final de Encerramento
|
|
38
|
+
console.log(chalk.gray('\n---------------------------------------------------'));
|
|
39
|
+
console.log(chalk.green.bold(' 🚀 ESTRUTURA INSTALADA COM SUCESSO!'));
|
|
40
|
+
console.log(chalk.white(`\n Para iniciar o desenvolvimento:`));
|
|
41
|
+
if (projectName !== '.') {
|
|
42
|
+
console.log(chalk.cyan(` cd ${projectName}`));
|
|
43
|
+
}
|
|
44
|
+
console.log(chalk.cyan(' npm run dev'));
|
|
45
|
+
|
|
46
|
+
console.log(chalk.gray('\n Desenvolvido com precisão por:'));
|
|
47
|
+
console.log(chalk.white.bold(' LEONARDO FIRME • 2026'));
|
|
48
|
+
console.log(chalk.gray('---------------------------------------------------\n'));
|
|
49
|
+
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.error(chalk.red('\n❌ Erro crítico na inicialização:'), error.message);
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leonardofirme/deploy-nextjs16",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
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.
|
|
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.
|
|
38
|
+
ESTRUTURA V1.2.3 VALIDADA
|
|
39
39
|
</Badge>
|
|
40
40
|
</motion.div>
|
|
41
41
|
|