specleap-framework 2.0.3 → 2.0.5

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.
Files changed (2) hide show
  1. package/bin/specleap +38 -4
  2. package/package.json +1 -1
package/bin/specleap CHANGED
@@ -1,14 +1,48 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const { spawn } = require('child_process');
3
+ const { spawn, execSync } = require('child_process');
4
4
  const path = require('path');
5
+ const fs = require('fs');
5
6
 
6
- // Ejecutar setup.sh desde el directorio del paquete
7
- const setupPath = path.join(__dirname, '..', 'setup.sh');
7
+ // Directorio del paquete npm (donde están todos los archivos)
8
+ const packageDir = path.join(__dirname, '..');
9
+
10
+ // Directorio donde el usuario ejecutó npx (su directorio de trabajo)
11
+ const userCwd = process.cwd();
12
+
13
+ // Carpeta de destino
14
+ const targetDir = path.join(userCwd, 'specleap-framework');
15
+
16
+ console.log('\n🚀 Copiando SpecLeap Framework...\n');
17
+
18
+ // Verificar si ya existe
19
+ if (fs.existsSync(targetDir)) {
20
+ console.error(`❌ Error: El directorio '${targetDir}' ya existe.`);
21
+ console.error(' Por favor elimínalo primero o ejecuta desde otro directorio.\n');
22
+ process.exit(1);
23
+ }
24
+
25
+ // Crear directorio destino
26
+ try {
27
+ fs.mkdirSync(targetDir, { recursive: true });
28
+
29
+ // Copiar todos los archivos del paquete
30
+ execSync(`cp -R "${packageDir}"/* "${targetDir}"/`, { stdio: 'inherit' });
31
+ execSync(`cp -R "${packageDir}"/.??* "${targetDir}"/ 2>/dev/null || true`, { stdio: 'ignore' });
32
+
33
+ console.log(`✅ Archivos copiados a: ${targetDir}\n`);
34
+
35
+ } catch (err) {
36
+ console.error('❌ Error copiando archivos:', err.message);
37
+ process.exit(1);
38
+ }
39
+
40
+ // Ejecutar setup.sh DESDE el directorio copiado
41
+ const setupPath = path.join(targetDir, 'setup.sh');
8
42
 
9
43
  const setup = spawn('bash', [setupPath], {
10
44
  stdio: 'inherit',
11
- cwd: process.cwd()
45
+ cwd: targetDir
12
46
  });
13
47
 
14
48
  setup.on('close', (code) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specleap-framework",
3
- "version": "2.0.3",
3
+ "version": "2.0.5",
4
4
  "description": "Spec-Driven Development Framework — Transform VSCode, Cursor, JetBrains into spec-first development machines",
5
5
  "keywords": [
6
6
  "spec-driven-development",