create-canaima-app 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.
package/index.js CHANGED
@@ -39,7 +39,7 @@ const tags = {
39
39
  deps: c.bgBlue(c.black(' deps ')),
40
40
  next: c.bgGreen(c.black(' next ')),
41
41
  done: c.green(' ✔ '),
42
- step: c.dim(' ')
42
+ step: c.dim(' ')
43
43
  };
44
44
  const indent = ' '; // 9 espacios para alinear con las etiquetas
45
45
 
@@ -237,42 +237,84 @@ async function main() {
237
237
 
238
238
  try { await fs.access(targetDir); console.log(`\n${c.red(` ✖ La carpeta "${projectName}" ya existe.`)}\n`); process.exit(1); } catch {}
239
239
 
240
- // --- INICIO DEL RESUMEN VISUAL ESTILO ASTRO ---
241
- console.log(`\n${tags.canaima} Launch sequence initiated.\n`);
242
-
243
- console.log(`${tags.dir} Where should we create your new project?`);
244
- console.log(`${indent}${c.dim('./' + projectName)}\n`);
245
-
246
- console.log(`${tags.tmpl} How would you like to start your new project?`);
247
- console.log(`${indent}${c.dim(TEMPLATES[templateType].label)}\n`);
248
-
249
- console.log(`${tags.deps} Install dependencies?`);
250
- console.log(`${indent}${c.dim(installNpm ? 'Yes' : 'No')}\n`);
240
+ // --- INICIO DEL RESUMEN VISUAL ---
241
+ console.log();
242
+ console.log(`${tags.canaima} ${c.bold('Launch sequence initiated.')}`);
243
+ console.log();
244
+
245
+ console.log(`${tags.dir} ${c.dim('Where should we create your new project?')}`);
246
+ console.log(`${indent} ${c.bold(c.white('./' + projectName))}`);
247
+ console.log();
248
+
249
+ console.log(`${tags.tmpl} ${c.dim('Template selected')}`);
250
+ console.log(`${indent} ${c.bold(c.white(TEMPLATES[templateType].label))}`);
251
+ console.log();
252
+
253
+ console.log(`${tags.deps} ${c.dim('Install dependencies?')}`);
254
+ console.log(`${indent} ${c.bold(c.white(installNpm ? 'Yes' : 'No'))}`);
255
+ console.log();
256
+
257
+ // --- PROGRESO ---
258
+ console.log(`${tags.done} ${c.bold('Project initialized!')}`);
251
259
 
252
- console.log(`${tags.done} Project initialized!`);
253
-
254
260
  await copyTemplate(TEMPLATES[templateType].folder, targetDir);
255
- console.log(`${tags.step} Template copied`);
256
-
261
+ console.log(`${tags.step} ${c.green('✓')} Template copied`);
262
+
257
263
  await personalizeProject(targetDir, projectName);
258
- console.log(`${tags.step} Configuration updated`);
264
+ console.log(`${tags.step} ${c.green('✓')} Configuration updated`);
259
265
 
260
266
  if (installNpm) {
261
- await runNpmInstall(targetDir);
262
- console.log(`${tags.step} Dependencies installed`);
267
+ await runNpmInstall(targetDir);
268
+ console.log(`${tags.step} ${c.green('✓')} Dependencies installed`);
263
269
  }
264
270
 
265
- // --- NEXT STEPS ESTILO ASTRO ---
266
- console.log(`\n${tags.next} Liftoff confirmed. Explore your project!\n`);
267
- console.log(`${indent}Enter your project directory using ${c.cyan(`cd ./${projectName}`)}`);
268
- if (!installNpm) console.log(`${indent}Run ${c.cyan('npm install')} to install dependencies.`);
269
- console.log(`${indent}Run ${c.cyan('npm run tauri dev')} to start the dev server.\n`);
270
-
271
- // --- LA CAJA FINAL DEL MASCOTA ---
272
- console.log(`╭───────╮ ${c.cyan('Coati:')}`);
273
- console.log(`│ ${c.bold('^---^')} │ ¡Buena suerte ahí afuera, astronauta! 🚀`);
274
- console.log(`│ ${c.bold('( ^_^ )')} │`);
275
- console.log(`╰───────╯\n`);
271
+ // --- NEXT STEPS (BOX) ---
272
+ // Usamos strings sin ANSI para el padding, y agregamos el color después
273
+ const inner = 44;
274
+ const bar = '─'.repeat(inner);
275
+ const title = ' Proyecto listo. Siguientes pasos:';
276
+ const titlePad = title + ' '.repeat(inner - title.length - 2);
277
+
278
+ const raw1 = ` $ cd ./${projectName}`;
279
+ const raw2 = installNpm ? ' $ npm run tauri dev' : ' $ npm install && npm run tauri dev';
280
+ const col1 = ` ${c.cyan('$')} cd ./${projectName}`;
281
+ const col2 = installNpm
282
+ ? ` ${c.cyan('$')} npm run tauri dev`
283
+ : ` ${c.cyan('$')} npm install && npm run tauri dev`;
284
+
285
+ const pad1 = ' '.repeat(Math.max(0, inner - 1 - raw1.length));
286
+ const pad2 = ' '.repeat(Math.max(0, inner - 1 - raw2.length));
287
+
288
+ console.log();
289
+ console.log(`${indent}${c.dim('╭' + bar + '╮')}`);
290
+ console.log(`${indent}${c.dim('│')} ${c.bold(c.green(titlePad))}${c.dim('│')}`);
291
+ console.log(`${indent}${c.dim('│' + ' '.repeat(inner) + '│')}`);
292
+ console.log(`${indent}${c.dim('│')} ${col1}${pad1}${c.dim('│')}`);
293
+ console.log(`${indent}${c.dim('│')} ${col2}${pad2}${c.dim('│')}`);
294
+ console.log(`${indent}${c.dim('╰' + bar + '╯')}`);
295
+ console.log();
296
+
297
+ // --- MASCOTA FINAL ---
298
+ // Caja de 9 chars internos para que ^---^ y ( ^_^ ) quepan centrados
299
+ const coati = [
300
+ c.cyan(' ╭─────────╮'),
301
+ c.cyan(' │') + ` ^---^ ` + c.cyan('│'),
302
+ c.cyan(' │') + ` ( ^_^ ) ` + c.cyan('│'),
303
+ c.cyan(' ╰─────────╯'),
304
+ ];
305
+
306
+ const msg = [
307
+ ` ${c.bold(c.cyan('Coatí de Canaima:'))}`,
308
+ ` ${c.white('¡Proyecto creado con')}`,
309
+ ` ${c.bold(c.green('software libre'))} ${c.white('venezolano!')} 🇻🇪`,
310
+ ` ${c.dim('─────────────────────────')}`,
311
+ ` ${c.dim('Canaima GNU/Linux')}`,
312
+ ];
313
+
314
+ for (let i = 0; i < Math.max(coati.length, msg.length); i++) {
315
+ console.log(`${indent}${coati[i] || ' '}${msg[i] || ''}`);
316
+ }
317
+ console.log();
276
318
  }
277
319
 
278
320
  main();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-canaima-app",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "CLI para scaffolding de proyectos de escritorio con Tauri, Vue 3 y Rust.",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -21,7 +21,20 @@
21
21
  "vue",
22
22
  "rust",
23
23
  "canaima",
24
- "template"
24
+ "canaima-gnu-linux",
25
+ "venezuela",
26
+ "software-libre",
27
+ "template",
28
+ "cli",
29
+ "scaffolding",
30
+ "desktop-apps",
31
+ "create-canaima-app",
32
+ "vite",
33
+ "typescript",
34
+ "debian",
35
+ "software-nacional",
36
+ "aplicaciones-nativas",
37
+ "open-source"
25
38
  ],
26
39
  "author": "Sam Urbina",
27
40
  "license": "ISC",
@@ -14,7 +14,7 @@
14
14
  {
15
15
  "title": "plantilla-tauri-vue",
16
16
  "width": 800,
17
- "height": 600
17
+ "height": 600,
18
18
  }
19
19
  ],
20
20
  "security": {