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 +72 -30
- package/package.json +15 -2
- package/tauri-materialize/src-tauri/tauri.conf.json +1 -1
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
|
|
241
|
-
console.log(
|
|
242
|
-
|
|
243
|
-
console.log(
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
console.log(`${
|
|
247
|
-
console.log(
|
|
248
|
-
|
|
249
|
-
console.log(`${tags.
|
|
250
|
-
console.log(`${indent}${c.
|
|
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
|
-
|
|
262
|
-
|
|
267
|
+
await runNpmInstall(targetDir);
|
|
268
|
+
console.log(`${tags.step} ${c.green('✓')} Dependencies installed`);
|
|
263
269
|
}
|
|
264
270
|
|
|
265
|
-
// --- NEXT STEPS
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
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.
|
|
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
|
-
"
|
|
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",
|