responsive-system 1.0.3 → 1.0.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 +60 -38
package/package.json
CHANGED
package/scripts/postinstall.js
CHANGED
|
@@ -47,55 +47,77 @@ if (!hasReact) {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
// Siempre instalar Tailwind en el proyecto raíz (aunque esté en responsive-system)
|
|
50
|
-
//
|
|
51
|
-
|
|
50
|
+
// Verificar específicamente en node_modules del proyecto raíz y en devDependencies
|
|
51
|
+
const tailwindInRoot = fs.existsSync(path.join(projectRoot, 'node_modules', 'tailwindcss'))
|
|
52
|
+
const tailwindInDevDeps = packageJson.devDependencies && packageJson.devDependencies.tailwindcss
|
|
53
|
+
|
|
54
|
+
if (!tailwindInRoot || !tailwindInDevDeps) {
|
|
55
|
+
// Instalar como devDependencies para que npx funcione
|
|
52
56
|
packagesToInstall.push('tailwindcss@^4.1.14', 'postcss@^8.5.6', 'autoprefixer@^10.4.21')
|
|
53
57
|
needsInstall = true
|
|
54
58
|
}
|
|
55
59
|
|
|
56
|
-
|
|
60
|
+
// Verificar si TypeScript está en devDependencies
|
|
61
|
+
const typescriptInDevDeps = packageJson.devDependencies && packageJson.devDependencies.typescript
|
|
62
|
+
if (!typescriptInDevDeps) {
|
|
57
63
|
packagesToInstall.push('typescript@~5.9.3')
|
|
58
64
|
needsInstall = true
|
|
59
65
|
}
|
|
60
66
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
// SIEMPRE verificar e instalar si falta algo
|
|
68
|
+
console.log('📦 responsive-system: Verificando dependencias...')
|
|
69
|
+
|
|
70
|
+
// Separar paquetes: React (dependencies) vs TypeScript/Tailwind (devDependencies)
|
|
71
|
+
const reactPackages = []
|
|
72
|
+
const devPackages = []
|
|
73
|
+
|
|
74
|
+
// React
|
|
75
|
+
if (!hasReact) {
|
|
76
|
+
reactPackages.push('react@^19.1.1', 'react-dom@^19.1.1')
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// TypeScript y Tailwind
|
|
80
|
+
const tailwindInDevDeps = packageJson.devDependencies && packageJson.devDependencies.tailwindcss
|
|
81
|
+
if (!tailwindInDevDeps) {
|
|
82
|
+
devPackages.push('tailwindcss@^4.1.14', 'postcss@^8.5.6', 'autoprefixer@^10.4.21')
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const typescriptInDevDeps = packageJson.devDependencies && packageJson.devDependencies.typescript
|
|
86
|
+
if (!typescriptInDevDeps) {
|
|
87
|
+
devPackages.push('typescript@~5.9.3')
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Instalar React como dependencies (se necesita en runtime)
|
|
91
|
+
if (reactPackages.length > 0) {
|
|
92
|
+
console.log(`📦 responsive-system: Instalando React...`)
|
|
93
|
+
console.log(` Instalando: ${reactPackages.join(', ')}`)
|
|
94
|
+
try {
|
|
95
|
+
execSync(`npm install ${reactPackages.join(' ')}`, {
|
|
96
|
+
stdio: 'inherit',
|
|
97
|
+
cwd: projectRoot
|
|
98
|
+
})
|
|
99
|
+
console.log('✅ responsive-system: React instalado correctamente')
|
|
100
|
+
} catch (error) {
|
|
101
|
+
console.warn('⚠️ responsive-system: Error al instalar React')
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Instalar TypeScript y Tailwind como devDependencies (para que npx funcione)
|
|
106
|
+
if (devPackages.length > 0) {
|
|
107
|
+
console.log(`📦 responsive-system: Instalando TypeScript y Tailwind...`)
|
|
108
|
+
console.log(` Instalando: ${devPackages.join(', ')}`)
|
|
65
109
|
try {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
pkg.includes('postcss') ||
|
|
72
|
-
pkg.includes('autoprefixer')
|
|
73
|
-
)
|
|
74
|
-
|
|
75
|
-
// Instalar React como dependencies (se necesita en runtime)
|
|
76
|
-
if (reactPackages.length > 0) {
|
|
77
|
-
execSync(`npm install ${reactPackages.join(' ')}`, {
|
|
78
|
-
stdio: 'inherit',
|
|
79
|
-
cwd: projectRoot
|
|
80
|
-
})
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// Instalar TypeScript y Tailwind como devDependencies (para que npx funcione)
|
|
84
|
-
// Usar --force para asegurar que se instalen en el proyecto raíz
|
|
85
|
-
if (devPackages.length > 0) {
|
|
86
|
-
execSync(`npm install ${devPackages.join(' ')} --save-dev --force`, {
|
|
87
|
-
stdio: 'inherit',
|
|
88
|
-
cwd: projectRoot
|
|
89
|
-
})
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
console.log('✅ responsive-system: Dependencias instaladas correctamente')
|
|
110
|
+
execSync(`npm install ${devPackages.join(' ')} --save-dev`, {
|
|
111
|
+
stdio: 'inherit',
|
|
112
|
+
cwd: projectRoot
|
|
113
|
+
})
|
|
114
|
+
console.log('✅ responsive-system: TypeScript y Tailwind instalados correctamente')
|
|
93
115
|
} catch (error) {
|
|
94
|
-
console.warn('⚠️ responsive-system: Error al instalar
|
|
95
|
-
console.warn(' Por favor, instala manualmente:')
|
|
96
|
-
console.warn(` npm install ${packagesToInstall.join(' ')}`)
|
|
116
|
+
console.warn('⚠️ responsive-system: Error al instalar TypeScript/Tailwind')
|
|
97
117
|
}
|
|
98
|
-
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (reactPackages.length === 0 && devPackages.length === 0) {
|
|
99
121
|
console.log('✅ responsive-system: Todas las dependencias están instaladas')
|
|
100
122
|
}
|
|
101
123
|
|