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 +1 -1
- package/scripts/postinstall.js +31 -4
package/package.json
CHANGED
package/scripts/postinstall.js
CHANGED
|
@@ -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
|
|
47
|
-
const
|
|
48
|
-
|
|
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
|