@devquest/cli 1.0.6 → 1.0.8

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.
@@ -47,15 +47,13 @@ exports.cloneCommand = new commander_1.Command('clone')
47
47
  await git.clone(finalUrl, destPath);
48
48
  }
49
49
  else {
50
- // Fallback para o repositório central de templates
51
50
  finalUrl = `https://github.com/KalmonJ/devquest-templates.git`;
52
51
  }
53
52
  }
54
- // Em produção, sempre usamos o repositório central devquest-templates
55
53
  else {
56
54
  finalUrl = `https://github.com/KalmonJ/devquest-templates.git`;
57
55
  }
58
- // Se o URL final for o repositório central, precisamos extrair a pasta específica
56
+ // Se o URL final for o repositório central, extrair pasta específica
59
57
  if (finalUrl.includes('devquest-templates.git')) {
60
58
  console.log(chalk_1.default.gray(`Clonando template de devquest-templates...`));
61
59
  const tempDir = path_1.default.join(process.cwd(), `.devquest-temp-${id}`);
@@ -63,22 +61,17 @@ exports.cloneCommand = new commander_1.Command('clone')
63
61
  await git.clone(finalUrl, tempDir, ['--depth', '1']);
64
62
  const templateSourcePath = path_1.default.join(tempDir, id);
65
63
  if (!fs_1.default.existsSync(templateSourcePath)) {
66
- // Cleanup antes do erro
67
64
  fs_1.default.rmSync(tempDir, { recursive: true, force: true });
68
65
  throw new Error(`Template '${id}' não encontrado no repositório de templates.`);
69
66
  }
70
- // Move a pasta do template para o destino final
71
- // No Node < 16.7.0 fs.cpSync não existe, mas como o usuário usa node v24, podemos usar
72
67
  fs_1.default.cpSync(templateSourcePath, destPath, { recursive: true });
73
- // Remove a pasta temporária
74
68
  fs_1.default.rmSync(tempDir, { recursive: true, force: true });
75
- // Inicializa um novo repo git se o usuário quiser (opcional, mas bom pra começar limpo)
69
+ // Inicializa o novo repo para o usuário
76
70
  const newGit = (0, simple_git_1.default)(destPath);
77
71
  await newGit.init();
78
72
  console.log(chalk_1.default.cyan(`🌐 Template extraído com sucesso do repositório central.`));
79
73
  }
80
74
  else if (!env_1.IS_DEV || !cloneUrl.startsWith('file://')) {
81
- // Fallback genérico para clone direto (caso o URL seja outro)
82
75
  const git = (0, simple_git_1.default)();
83
76
  await git.clone(finalUrl, destPath);
84
77
  }
@@ -86,15 +79,24 @@ exports.cloneCommand = new commander_1.Command('clone')
86
79
  if (fs_1.default.existsSync(path_1.default.join(destPath, 'package.json'))) {
87
80
  console.log(chalk_1.default.gray(`\n📦 Instalando dependências...`));
88
81
  try {
89
- // Usamos stdio: 'inherit' para mostrar o progresso para o usuário
90
82
  (0, child_process_1.execSync)('npm install', { cwd: destPath, stdio: 'inherit' });
91
83
  console.log(chalk_1.default.green(`✅ Dependências instaladas com sucesso.`));
92
84
  }
93
85
  catch (e) {
94
- console.log(chalk_1.default.yellow(`\n⚠️ Aviso: Não foi possível instalar as dependências automaticamente. Tente rodar 'npm install' manualmente.`));
86
+ console.log(chalk_1.default.yellow(`\n⚠️ Aviso: Não foi possível instalar as dependências automaticamente.`));
95
87
  }
96
88
  }
97
- console.log(chalk_1.default.green(`✅ Desafio clonado com sucesso em ./${targetFolderName}`));
89
+ // 4. Primeiro commit para limpar a visão do VS Code (Slate limpo)
90
+ try {
91
+ const finalGit = (0, simple_git_1.default)(destPath);
92
+ await finalGit.add('.');
93
+ await finalGit.commit('feat: initial boilerplate');
94
+ console.log(chalk_1.default.cyan(`✅ Projeto inicializado com commit de histórico.`));
95
+ }
96
+ catch (e) {
97
+ // Silencioso se o git global não estiver configurado
98
+ }
99
+ console.log(chalk_1.default.green(`\n✅ Desafio clonado com sucesso em ./${targetFolderName}`));
98
100
  console.log(chalk_1.default.yellow(`\nPróximos passos:`));
99
101
  console.log(` cd ${targetFolderName}`);
100
102
  console.log(` Leia o README.md e comece a desenvolver.`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devquest/cli",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "DevQuest CLI - Construa seu próprio Redis, Docker, Git e mais",
5
5
  "main": "dist/index.js",
6
6
  "bin": {