responsive-system 1.2.5 → 1.2.6

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "responsive-system",
3
- "version": "1.2.5",
3
+ "version": "1.2.6",
4
4
  "description": "Sistema de layout responsivo con auto-scaling para Tailwind CSS",
5
5
  "type": "module",
6
6
  "main": "./dist/responsive-system.cjs",
@@ -43,9 +43,11 @@ const isProjectEmpty = !packageJson.dependencies ||
43
43
  Object.keys(packageJson.dependencies).length === 0 ||
44
44
  (Object.keys(packageJson.dependencies).length === 1 && packageJson.dependencies['responsive-system'])
45
45
 
46
- // Verificar qué está instalado SOLO en package.json (no en node_modules)
47
- const hasReact = (packageJson.dependencies && packageJson.dependencies.react) ||
48
- (packageJson.devDependencies && packageJson.devDependencies.react)
46
+ // Verificar qué está instalado - primero en package.json, luego en node_modules
47
+ const hasReactInPackageJson = (packageJson.dependencies && packageJson.dependencies.react) ||
48
+ (packageJson.devDependencies && packageJson.devDependencies.react)
49
+ const hasReactInNodeModules = fs.existsSync(path.join(projectRoot, 'node_modules', 'react'))
50
+ const hasReact = hasReactInPackageJson || hasReactInNodeModules
49
51
 
50
52
  const hasVite = packageJson.devDependencies && packageJson.devDependencies.vite
51
53
 
@@ -57,7 +59,7 @@ let needsUpdate = false
57
59
  // ESTRATEGIA: Modificar directamente el package.json primero, luego instalar
58
60
  console.log('📦 responsive-system: Verificando dependencias...')
59
61
 
60
- // Agregar React a dependencies
62
+ // Agregar React a dependencies SOLO si no está en package.json ni en node_modules
61
63
  if (!hasReact) {
62
64
  console.log(' ➕ Agregando React a dependencies...')
63
65
  if (!packageJson.dependencies) {
@@ -66,6 +68,31 @@ if (!hasReact) {
66
68
  packageJson.dependencies['react'] = '^19.1.1'
67
69
  packageJson.dependencies['react-dom'] = '^19.1.1'
68
70
  needsUpdate = true
71
+ } else if (hasReactInNodeModules && !hasReactInPackageJson) {
72
+ // Si React está en node_modules pero no en package.json, agregarlo al package.json
73
+ console.log(' ➕ React está instalado pero no en package.json, agregándolo...')
74
+ if (!packageJson.dependencies) {
75
+ packageJson.dependencies = {}
76
+ }
77
+ // Leer la versión instalada de node_modules
78
+ try {
79
+ const reactPackageJson = JSON.parse(fs.readFileSync(
80
+ path.join(projectRoot, 'node_modules', 'react', 'package.json'),
81
+ 'utf8'
82
+ ))
83
+ packageJson.dependencies['react'] = `^${reactPackageJson.version}`
84
+
85
+ const reactDomPackageJson = JSON.parse(fs.readFileSync(
86
+ path.join(projectRoot, 'node_modules', 'react-dom', 'package.json'),
87
+ 'utf8'
88
+ ))
89
+ packageJson.dependencies['react-dom'] = `^${reactDomPackageJson.version}`
90
+ } catch {
91
+ // Si no se puede leer, usar versión por defecto
92
+ packageJson.dependencies['react'] = '^19.1.1'
93
+ packageJson.dependencies['react-dom'] = '^19.1.1'
94
+ }
95
+ needsUpdate = true
69
96
  }
70
97
 
71
98
  // Agregar Vite si el proyecto está vacío