responsive-system 1.7.18 → 1.7.20
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/package.json +1 -1
- package/scripts/postinstall.js +96 -88
package/package.json
CHANGED
package/scripts/postinstall.js
CHANGED
|
@@ -413,75 +413,6 @@ export { DEFAULT_BREAKPOINTS, getCurrentBreakpoint, getBreakpointIndex, getBreak
|
|
|
413
413
|
console.log(' ✅ hooks/index.ts')
|
|
414
414
|
}
|
|
415
415
|
|
|
416
|
-
console.log('📦 Verificando dependencias...')
|
|
417
|
-
|
|
418
|
-
// Agregar React a dependencies SOLO si NO está en package.json
|
|
419
|
-
if (!hasReactInPackageJson) {
|
|
420
|
-
console.log(' ➕ Agregando React a dependencies...')
|
|
421
|
-
if (!packageJson.dependencies) {
|
|
422
|
-
packageJson.dependencies = {}
|
|
423
|
-
}
|
|
424
|
-
packageJson.dependencies['react'] = '^19.1.1'
|
|
425
|
-
packageJson.dependencies['react-dom'] = '^19.1.1'
|
|
426
|
-
needsUpdate = true
|
|
427
|
-
} else {
|
|
428
|
-
console.log(' ✅ React ya está instalado')
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
// Agregar Vite si el proyecto está vacío
|
|
432
|
-
if (isProjectEmpty && !hasVite) {
|
|
433
|
-
console.log(' ➕ Agregando Vite a devDependencies...')
|
|
434
|
-
if (!packageJson.devDependencies) {
|
|
435
|
-
packageJson.devDependencies = {}
|
|
436
|
-
}
|
|
437
|
-
packageJson.devDependencies['vite'] = '^7.1.7'
|
|
438
|
-
packageJson.devDependencies['@vitejs/plugin-react'] = '^5.0.4'
|
|
439
|
-
needsUpdate = true
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
// Agregar Tailwind y sus dependencias a devDependencies
|
|
443
|
-
if (!tailwindInDevDeps) {
|
|
444
|
-
console.log(' ➕ Agregando Tailwind y PostCSS a devDependencies...')
|
|
445
|
-
if (!packageJson.devDependencies) {
|
|
446
|
-
packageJson.devDependencies = {}
|
|
447
|
-
}
|
|
448
|
-
packageJson.devDependencies['tailwindcss'] = '^4.1.14'
|
|
449
|
-
packageJson.devDependencies['@tailwindcss/postcss'] = '^4.1.14'
|
|
450
|
-
packageJson.devDependencies['postcss'] = '^8.5.6'
|
|
451
|
-
packageJson.devDependencies['autoprefixer'] = '^10.4.21'
|
|
452
|
-
needsUpdate = true
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
// Agregar TypeScript y sus tipos a devDependencies
|
|
456
|
-
if (!typescriptInDevDeps) {
|
|
457
|
-
console.log(' ➕ Agregando TypeScript a devDependencies...')
|
|
458
|
-
if (!packageJson.devDependencies) {
|
|
459
|
-
packageJson.devDependencies = {}
|
|
460
|
-
}
|
|
461
|
-
packageJson.devDependencies['typescript'] = '~5.9.3'
|
|
462
|
-
packageJson.devDependencies['@types/react'] = '^19.1.16'
|
|
463
|
-
packageJson.devDependencies['@types/react-dom'] = '^19.1.9'
|
|
464
|
-
needsUpdate = true
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
// Agregar "type": "module" si no existe (para evitar warnings)
|
|
468
|
-
if (!packageJson.type) {
|
|
469
|
-
packageJson.type = 'module'
|
|
470
|
-
needsUpdate = true
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
// Escribir package.json modificado
|
|
474
|
-
if (needsUpdate) {
|
|
475
|
-
console.log('')
|
|
476
|
-
console.log('📝 Actualizando package.json...')
|
|
477
|
-
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2))
|
|
478
|
-
console.log('✅ package.json actualizado')
|
|
479
|
-
console.log('')
|
|
480
|
-
console.log('⚠️ Ejecuta "npm install" para instalar las dependencias')
|
|
481
|
-
} else {
|
|
482
|
-
console.log('✅ Todas las dependencias ya están en package.json')
|
|
483
|
-
}
|
|
484
|
-
|
|
485
416
|
// Función async para manejar la configuración del proyecto
|
|
486
417
|
(async () => {
|
|
487
418
|
// Verificar que fs.existsSync esté disponible
|
|
@@ -505,14 +436,12 @@ if (needsUpdate) {
|
|
|
505
436
|
isAlreadyConfigured = false
|
|
506
437
|
}
|
|
507
438
|
|
|
508
|
-
// Si el proyecto está
|
|
509
|
-
if (
|
|
510
|
-
// Si ya está configurado, preguntar si quiere sobrescribir
|
|
511
|
-
if (isAlreadyConfigured) {
|
|
439
|
+
// Si el proyecto ya está configurado, preguntar si quiere sobrescribir
|
|
440
|
+
if (isAlreadyConfigured) {
|
|
512
441
|
console.log('')
|
|
513
442
|
console.log('⚠️ El proyecto ya está configurado')
|
|
514
443
|
|
|
515
|
-
if (
|
|
444
|
+
if (process.stdin.isTTY) {
|
|
516
445
|
const rl = readline.createInterface({
|
|
517
446
|
input: process.stdin,
|
|
518
447
|
output: process.stdout
|
|
@@ -533,21 +462,103 @@ if (needsUpdate) {
|
|
|
533
462
|
console.log(' ⚠️ Sobrescribiendo configuración...')
|
|
534
463
|
console.log('')
|
|
535
464
|
} else {
|
|
536
|
-
//
|
|
537
|
-
console.log('
|
|
538
|
-
|
|
465
|
+
// No hay terminal interactivo, usar default
|
|
466
|
+
console.log(' ℹ️ Terminal no interactivo, usando layout "default"')
|
|
467
|
+
console.log('')
|
|
539
468
|
}
|
|
540
469
|
}
|
|
541
470
|
|
|
542
|
-
|
|
543
|
-
console.log('📦 Proyecto vacío detectado, creando estructura base...')
|
|
544
|
-
console.log('')
|
|
545
|
-
|
|
546
|
-
// Preguntar qué layout quiere
|
|
471
|
+
// SIEMPRE preguntar qué layout quiere PRIMERO
|
|
547
472
|
const selectedLayout = await askLayout()
|
|
548
473
|
console.log(` ✅ Layout seleccionado: "${selectedLayout}"`)
|
|
549
474
|
console.log('')
|
|
550
475
|
|
|
476
|
+
// Si el proyecto está vacío, crear estructura base
|
|
477
|
+
if (isProjectEmpty) {
|
|
478
|
+
console.log('')
|
|
479
|
+
console.log('📦 Proyecto vacío detectado, creando estructura base...')
|
|
480
|
+
console.log('')
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
console.log('📦 Verificando dependencias...')
|
|
484
|
+
|
|
485
|
+
// Agregar React a dependencies SOLO si NO está en package.json
|
|
486
|
+
if (!hasReactInPackageJson) {
|
|
487
|
+
console.log(' ➕ Agregando React a dependencies...')
|
|
488
|
+
if (!packageJson.dependencies) {
|
|
489
|
+
packageJson.dependencies = {}
|
|
490
|
+
}
|
|
491
|
+
packageJson.dependencies['react'] = '^19.1.1'
|
|
492
|
+
packageJson.dependencies['react-dom'] = '^19.1.1'
|
|
493
|
+
needsUpdate = true
|
|
494
|
+
} else {
|
|
495
|
+
console.log(' ✅ React ya está instalado')
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
// Agregar Vite si el proyecto está vacío
|
|
499
|
+
if (isProjectEmpty && !hasVite) {
|
|
500
|
+
console.log(' ➕ Agregando Vite a devDependencies...')
|
|
501
|
+
if (!packageJson.devDependencies) {
|
|
502
|
+
packageJson.devDependencies = {}
|
|
503
|
+
}
|
|
504
|
+
packageJson.devDependencies['vite'] = '^7.1.7'
|
|
505
|
+
packageJson.devDependencies['@vitejs/plugin-react'] = '^5.0.4'
|
|
506
|
+
needsUpdate = true
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
// Agregar Tailwind y sus dependencias a devDependencies
|
|
510
|
+
if (!tailwindInDevDeps) {
|
|
511
|
+
console.log(' ➕ Agregando Tailwind y PostCSS a devDependencies...')
|
|
512
|
+
if (!packageJson.devDependencies) {
|
|
513
|
+
packageJson.devDependencies = {}
|
|
514
|
+
}
|
|
515
|
+
packageJson.devDependencies['tailwindcss'] = '^4.1.14'
|
|
516
|
+
packageJson.devDependencies['@tailwindcss/postcss'] = '^4.1.14'
|
|
517
|
+
packageJson.devDependencies['postcss'] = '^8.5.6'
|
|
518
|
+
packageJson.devDependencies['autoprefixer'] = '^10.4.21'
|
|
519
|
+
needsUpdate = true
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
// Agregar TypeScript y sus tipos a devDependencies
|
|
523
|
+
if (!typescriptInDevDeps) {
|
|
524
|
+
console.log(' ➕ Agregando TypeScript a devDependencies...')
|
|
525
|
+
if (!packageJson.devDependencies) {
|
|
526
|
+
packageJson.devDependencies = {}
|
|
527
|
+
}
|
|
528
|
+
packageJson.devDependencies['typescript'] = '~5.9.3'
|
|
529
|
+
packageJson.devDependencies['@types/react'] = '^19.1.16'
|
|
530
|
+
packageJson.devDependencies['@types/react-dom'] = '^19.1.9'
|
|
531
|
+
needsUpdate = true
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
// Agregar "type": "module" si no existe (para evitar warnings)
|
|
535
|
+
if (!packageJson.type) {
|
|
536
|
+
packageJson.type = 'module'
|
|
537
|
+
needsUpdate = true
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
// Escribir package.json modificado
|
|
541
|
+
if (needsUpdate) {
|
|
542
|
+
console.log('')
|
|
543
|
+
console.log('📝 Actualizando package.json...')
|
|
544
|
+
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2))
|
|
545
|
+
console.log('✅ package.json actualizado')
|
|
546
|
+
console.log('')
|
|
547
|
+
console.log('📦 Instalando dependencias...')
|
|
548
|
+
try {
|
|
549
|
+
execSync('npm install', { stdio: 'inherit', cwd: projectRoot })
|
|
550
|
+
console.log('✅ Dependencias instaladas')
|
|
551
|
+
console.log('')
|
|
552
|
+
} catch (error) {
|
|
553
|
+
console.error('❌ Error al instalar dependencias:', error.message)
|
|
554
|
+
console.log('⚠️ Por favor ejecuta "npm install" manualmente')
|
|
555
|
+
console.log('')
|
|
556
|
+
}
|
|
557
|
+
} else {
|
|
558
|
+
console.log('✅ Todas las dependencias ya están en package.json')
|
|
559
|
+
console.log('')
|
|
560
|
+
}
|
|
561
|
+
|
|
551
562
|
// Crear estructura de directorios
|
|
552
563
|
const dirs = ['src', 'src/components', 'src/components/layout', 'src/pages', 'src/hooks', 'src/types', 'src/constants', 'public']
|
|
553
564
|
dirs.forEach(dir => {
|
|
@@ -566,7 +577,7 @@ if (needsUpdate) {
|
|
|
566
577
|
console.log('')
|
|
567
578
|
|
|
568
579
|
// Crear vite.config.ts
|
|
569
|
-
|
|
580
|
+
// viteConfigPath ya está declarado arriba
|
|
570
581
|
if (!fs.existsSync(viteConfigPath)) {
|
|
571
582
|
const viteConfig = `import { defineConfig } from 'vite'
|
|
572
583
|
import react from '@vitejs/plugin-react'
|
|
@@ -704,7 +715,7 @@ export default {
|
|
|
704
715
|
}
|
|
705
716
|
|
|
706
717
|
// Crear layout local según el seleccionado
|
|
707
|
-
|
|
718
|
+
// layoutsDir ya está declarado arriba
|
|
708
719
|
if (!fs.existsSync(layoutsDir)) {
|
|
709
720
|
fs.mkdirSync(layoutsDir, { recursive: true })
|
|
710
721
|
}
|
|
@@ -825,7 +836,7 @@ export default MinimalLayout
|
|
|
825
836
|
console.log(` ✅ Creado: src/layouts/${path.basename(layoutPath)}`)
|
|
826
837
|
|
|
827
838
|
// Crear src/main.tsx que use el layout local
|
|
828
|
-
|
|
839
|
+
// mainTsxPath ya está declarado arriba
|
|
829
840
|
if (!fs.existsSync(mainTsxPath)) {
|
|
830
841
|
const layoutName = selectedLayout.charAt(0).toUpperCase() + selectedLayout.slice(1) + 'Layout'
|
|
831
842
|
const mainTsx = `import React from 'react'
|
|
@@ -990,9 +1001,6 @@ export default App
|
|
|
990
1001
|
console.log('')
|
|
991
1002
|
console.log('💡 Para cambiar el layout: npx responsive-system-setup')
|
|
992
1003
|
console.log('')
|
|
993
|
-
} else {
|
|
994
|
-
console.log('✅ Proyecto ya inicializado')
|
|
995
|
-
}
|
|
996
1004
|
|
|
997
1005
|
console.log('')
|
|
998
1006
|
console.log('✅ Configuración completada')
|