responsive-system 1.1.2 → 1.1.4

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.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "Sistema de layout responsivo con auto-scaling para Tailwind CSS",
5
5
  "type": "module",
6
6
  "main": "./dist/responsive-system.cjs",
@@ -19,12 +19,14 @@ const __dirname = path.dirname(__filename)
19
19
  const projectRoot = process.cwd()
20
20
  const packageJsonPath = path.join(projectRoot, 'package.json')
21
21
 
22
- console.log('📦 responsive-system: Ejecutando postinstall...')
23
- console.log(` Directorio del proyecto: ${projectRoot}`)
22
+ console.log('')
23
+ console.log('📦 responsive-system: Iniciando postinstall...')
24
+ console.log(` Directorio: ${projectRoot}`)
25
+ console.log('')
24
26
 
25
27
  // Verificar si package.json existe
26
28
  if (!fs.existsSync(packageJsonPath)) {
27
- console.log('📦 responsive-system: No se encontró package.json, saltando postinstall')
29
+ console.log('⚠️ responsive-system: No se encontró package.json, saltando postinstall')
28
30
  process.exit(0)
29
31
  }
30
32
 
@@ -42,7 +44,6 @@ const isProjectEmpty = !packageJson.dependencies ||
42
44
  (Object.keys(packageJson.dependencies).length === 1 && packageJson.dependencies['responsive-system'])
43
45
 
44
46
  // Verificar qué está instalado SOLO en package.json (no en node_modules)
45
- // Esto asegura que se agreguen al package.json aunque estén como dependencias transitivas
46
47
  const hasReact = (packageJson.dependencies && packageJson.dependencies.react) ||
47
48
  (packageJson.devDependencies && packageJson.devDependencies.react)
48
49
 
@@ -51,122 +52,83 @@ const hasVite = packageJson.devDependencies && packageJson.devDependencies.vite
51
52
  const tailwindInDevDeps = packageJson.devDependencies && packageJson.devDependencies.tailwindcss
52
53
  const typescriptInDevDeps = packageJson.devDependencies && packageJson.devDependencies.typescript
53
54
 
54
- // Separar paquetes: React (dependencies) vs TypeScript/Tailwind/Vite (devDependencies)
55
- const reactPackages = []
56
- const devPackages = []
55
+ let needsUpdate = false
57
56
 
58
- // React
57
+ // ESTRATEGIA: Modificar directamente el package.json primero, luego instalar
58
+ console.log('📦 responsive-system: Verificando dependencias...')
59
+
60
+ // Agregar React a dependencies
59
61
  if (!hasReact) {
60
- reactPackages.push('react@^19.1.1', 'react-dom@^19.1.1')
62
+ console.log(' Agregando React a dependencies...')
63
+ if (!packageJson.dependencies) {
64
+ packageJson.dependencies = {}
65
+ }
66
+ packageJson.dependencies['react'] = '^19.1.1'
67
+ packageJson.dependencies['react-dom'] = '^19.1.1'
68
+ needsUpdate = true
61
69
  }
62
70
 
63
- // Vite (si el proyecto está vacío)
71
+ // Agregar Vite si el proyecto está vacío
64
72
  if (isProjectEmpty && !hasVite) {
65
- devPackages.push('vite@^7.1.7', '@vitejs/plugin-react@^5.0.4')
73
+ console.log(' Agregando Vite a devDependencies...')
74
+ if (!packageJson.devDependencies) {
75
+ packageJson.devDependencies = {}
76
+ }
77
+ packageJson.devDependencies['vite'] = '^7.1.7'
78
+ packageJson.devDependencies['@vitejs/plugin-react'] = '^5.0.4'
79
+ needsUpdate = true
66
80
  }
67
81
 
68
- // TypeScript y Tailwind
82
+ // Agregar TypeScript y Tailwind a devDependencies
69
83
  if (!tailwindInDevDeps) {
70
- devPackages.push('tailwindcss@^4.1.14', 'postcss@^8.5.6', 'autoprefixer@^10.4.21')
84
+ console.log(' Agregando Tailwind a devDependencies...')
85
+ if (!packageJson.devDependencies) {
86
+ packageJson.devDependencies = {}
87
+ }
88
+ packageJson.devDependencies['tailwindcss'] = '^4.1.14'
89
+ packageJson.devDependencies['postcss'] = '^8.5.6'
90
+ packageJson.devDependencies['autoprefixer'] = '^10.4.21'
91
+ needsUpdate = true
71
92
  }
72
93
 
73
94
  if (!typescriptInDevDeps) {
74
- devPackages.push('typescript@~5.9.3', '@types/react@^19.1.16', '@types/react-dom@^19.1.9')
75
- }
76
-
77
- // Instalar React como dependencies (se necesita en runtime)
78
- // Usar --save explícitamente para asegurar que se agregue al package.json
79
- if (reactPackages.length > 0) {
80
- console.log('📦 responsive-system: Instalando React...')
81
- console.log(` Instalando: ${reactPackages.join(', ')}`)
82
- try {
83
- execSync(`npm install ${reactPackages.join(' ')} --save`, {
84
- stdio: 'inherit',
85
- cwd: projectRoot
86
- })
87
-
88
- // Verificar que se agregaron al package.json
89
- const updatedPackageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'))
90
- const reactAdded = updatedPackageJson.dependencies && updatedPackageJson.dependencies.react
91
- if (reactAdded) {
92
- console.log('✅ responsive-system: React instalado y agregado a package.json')
93
- } else {
94
- console.warn('⚠️ responsive-system: React instalado pero no se agregó a package.json, agregando manualmente...')
95
- // Agregar manualmente si npm install no lo hizo
96
- if (!updatedPackageJson.dependencies) {
97
- updatedPackageJson.dependencies = {}
98
- }
99
- updatedPackageJson.dependencies['react'] = '^19.1.1'
100
- updatedPackageJson.dependencies['react-dom'] = '^19.1.1'
101
- fs.writeFileSync(packageJsonPath, JSON.stringify(updatedPackageJson, null, 2))
102
- console.log('✅ responsive-system: React agregado manualmente a package.json')
103
- }
104
- } catch (error) {
105
- console.warn('⚠️ responsive-system: Error al instalar React, agregando manualmente a package.json...')
106
- // Agregar manualmente al package.json
107
- if (!packageJson.dependencies) {
108
- packageJson.dependencies = {}
109
- }
110
- packageJson.dependencies['react'] = '^19.1.1'
111
- packageJson.dependencies['react-dom'] = '^19.1.1'
112
- fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2))
113
- console.log('✅ responsive-system: React agregado manualmente a package.json')
95
+ console.log(' Agregando TypeScript a devDependencies...')
96
+ if (!packageJson.devDependencies) {
97
+ packageJson.devDependencies = {}
114
98
  }
99
+ packageJson.devDependencies['typescript'] = '~5.9.3'
100
+ packageJson.devDependencies['@types/react'] = '^19.1.16'
101
+ packageJson.devDependencies['@types/react-dom'] = '^19.1.9'
102
+ needsUpdate = true
115
103
  }
116
104
 
117
- // Instalar TypeScript, Tailwind y Vite como devDependencies
118
- if (devPackages.length > 0) {
119
- console.log('📦 responsive-system: Instalando TypeScript, Tailwind y Vite...')
120
- console.log(` Instalando: ${devPackages.join(', ')}`)
105
+ // Escribir package.json modificado
106
+ if (needsUpdate) {
107
+ console.log('')
108
+ console.log('📝 responsive-system: Actualizando package.json...')
109
+ fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2))
110
+ console.log('✅ responsive-system: package.json actualizado')
111
+ console.log('')
112
+
113
+ // Ahora instalar las dependencias
114
+ console.log('📦 responsive-system: Instalando dependencias...')
121
115
  try {
122
- execSync(`npm install ${devPackages.join(' ')} --save-dev`, {
116
+ execSync('npm install', {
123
117
  stdio: 'inherit',
124
118
  cwd: projectRoot
125
119
  })
126
-
127
- // Verificar que se agregaron al package.json
128
- const updatedPackageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'))
129
- const allAdded = devPackages.every(pkg => {
130
- const pkgName = pkg.split('@')[0]
131
- return updatedPackageJson.devDependencies && updatedPackageJson.devDependencies[pkgName]
132
- })
133
-
134
- if (allAdded) {
135
- console.log('✅ responsive-system: Dependencias de desarrollo instaladas y agregadas a package.json')
136
- } else {
137
- console.warn('⚠️ responsive-system: Dependencias instaladas pero no todas se agregaron a package.json, agregando manualmente...')
138
- // Agregar manualmente las que faltan
139
- if (!updatedPackageJson.devDependencies) {
140
- updatedPackageJson.devDependencies = {}
141
- }
142
- devPackages.forEach(pkg => {
143
- const [pkgName, version] = pkg.includes('@') ? pkg.split('@') : [pkg, 'latest']
144
- if (!updatedPackageJson.devDependencies[pkgName]) {
145
- updatedPackageJson.devDependencies[pkgName] = version || 'latest'
146
- }
147
- })
148
- fs.writeFileSync(packageJsonPath, JSON.stringify(updatedPackageJson, null, 2))
149
- console.log('✅ responsive-system: Dependencias agregadas manualmente a package.json')
150
- }
120
+ console.log('✅ responsive-system: Dependencias instaladas correctamente')
151
121
  } catch (error) {
152
- console.warn('⚠️ responsive-system: Error al instalar dependencias de desarrollo, agregando manualmente a package.json...')
153
- // Agregar manualmente al package.json
154
- if (!packageJson.devDependencies) {
155
- packageJson.devDependencies = {}
156
- }
157
- devPackages.forEach(pkg => {
158
- const parts = pkg.split('@')
159
- const pkgName = parts[0]
160
- const version = parts[1] || 'latest'
161
- packageJson.devDependencies[pkgName] = version
162
- })
163
- fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2))
164
- console.log('✅ responsive-system: Dependencias agregadas manualmente a package.json')
122
+ console.error('responsive-system: Error al instalar dependencias:', error.message)
123
+ console.log('⚠️ responsive-system: Las dependencias están en package.json, ejecuta "npm install" manualmente')
165
124
  }
125
+ } else {
126
+ console.log('✅ responsive-system: Todas las dependencias ya están en package.json')
166
127
  }
167
128
 
168
129
  // Si el proyecto está vacío, crear estructura base
169
130
  if (isProjectEmpty) {
131
+ console.log('')
170
132
  console.log('📦 responsive-system: Proyecto vacío detectado, creando estructura base...')
171
133
 
172
134
  // Crear estructura de directorios
@@ -175,6 +137,7 @@ if (isProjectEmpty) {
175
137
  const dirPath = path.join(projectRoot, dir)
176
138
  if (!fs.existsSync(dirPath)) {
177
139
  fs.mkdirSync(dirPath, { recursive: true })
140
+ console.log(` ✅ Creado: ${dir}/`)
178
141
  }
179
142
  })
180
143
 
@@ -183,14 +146,13 @@ if (isProjectEmpty) {
183
146
  if (!fs.existsSync(viteConfigPath)) {
184
147
  const viteConfig = `import { defineConfig } from 'vite'
185
148
  import react from '@vitejs/plugin-react'
186
- import responsiveScalePlugin from 'responsive-system/plugin'
187
149
 
188
150
  export default defineConfig({
189
151
  plugins: [react()],
190
152
  })
191
153
  `
192
154
  fs.writeFileSync(viteConfigPath, viteConfig)
193
- console.log('✅ responsive-system: vite.config.ts creado')
155
+ console.log(' Creado: vite.config.ts')
194
156
  }
195
157
 
196
158
  // Crear tailwind.config.js
@@ -232,7 +194,7 @@ export default {
232
194
  }
233
195
  `
234
196
  fs.writeFileSync(tailwindConfigPath, tailwindConfig)
235
- console.log('✅ responsive-system: tailwind.config.js creado')
197
+ console.log(' Creado: tailwind.config.js')
236
198
  }
237
199
 
238
200
  // Crear postcss.config.js
@@ -246,7 +208,7 @@ export default {
246
208
  }
247
209
  `
248
210
  fs.writeFileSync(postcssConfigPath, postcssConfig)
249
- console.log('✅ responsive-system: postcss.config.js creado')
211
+ console.log(' Creado: postcss.config.js')
250
212
  }
251
213
 
252
214
  // Crear tsconfig.json
@@ -275,7 +237,7 @@ export default {
275
237
  }
276
238
  `
277
239
  fs.writeFileSync(tsconfigPath, tsconfig)
278
- console.log('✅ responsive-system: tsconfig.json creado')
240
+ console.log(' Creado: tsconfig.json')
279
241
  }
280
242
 
281
243
  // Crear tsconfig.node.json
@@ -293,6 +255,7 @@ export default {
293
255
  }
294
256
  `
295
257
  fs.writeFileSync(tsconfigNodePath, tsconfigNode)
258
+ console.log(' ✅ Creado: tsconfig.node.json')
296
259
  }
297
260
 
298
261
  // Crear index.html
@@ -313,7 +276,7 @@ export default {
313
276
  </html>
314
277
  `
315
278
  fs.writeFileSync(indexHtmlPath, indexHtml)
316
- console.log('✅ responsive-system: index.html creado')
279
+ console.log(' Creado: index.html')
317
280
  }
318
281
 
319
282
  // Crear src/main.tsx
@@ -336,7 +299,7 @@ ReactDOM.createRoot(document.getElementById('root')!).render(
336
299
  )
337
300
  `
338
301
  fs.writeFileSync(mainTsxPath, mainTsx)
339
- console.log('✅ responsive-system: src/main.tsx creado')
302
+ console.log(' Creado: src/main.tsx')
340
303
  }
341
304
 
342
305
  // Crear src/index.css
@@ -347,7 +310,7 @@ ReactDOM.createRoot(document.getElementById('root')!).render(
347
310
  @tailwind utilities;
348
311
  `
349
312
  fs.writeFileSync(indexCssPath, indexCss)
350
- console.log('✅ responsive-system: src/index.css creado')
313
+ console.log(' Creado: src/index.css')
351
314
  }
352
315
 
353
316
  // Crear src/App.tsx con página de ejemplo
@@ -417,7 +380,7 @@ function App() {
417
380
  export default App
418
381
  `
419
382
  fs.writeFileSync(appTsxPath, appTsx)
420
- console.log('✅ responsive-system: src/App.tsx creado con página de ejemplo')
383
+ console.log(' Creado: src/App.tsx con página de ejemplo')
421
384
  }
422
385
 
423
386
  // Actualizar package.json con scripts
@@ -435,7 +398,7 @@ export default App
435
398
  }
436
399
 
437
400
  fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2))
438
- console.log('✅ responsive-system: package.json actualizado con scripts')
401
+ console.log(' Actualizado: package.json con scripts')
439
402
 
440
403
  console.log('')
441
404
  console.log('🎉 responsive-system: Proyecto inicializado correctamente!')
@@ -446,15 +409,6 @@ export default App
446
409
  console.log('')
447
410
  }
448
411
 
449
- if (reactPackages.length === 0 && devPackages.length === 0 && !isProjectEmpty) {
450
- console.log('✅ responsive-system: Todas las dependencias están instaladas')
451
- }
452
-
453
- // Verificar si tailwind.config.js existe (solo si no es proyecto vacío)
454
- if (!isProjectEmpty) {
455
- const tailwindConfigPath = path.join(projectRoot, 'tailwind.config.js')
456
- if (!fs.existsSync(tailwindConfigPath)) {
457
- console.log('💡 responsive-system: No se encontró tailwind.config.js')
458
- console.log(' Ejecuta: npx tailwindcss init -p')
459
- }
460
- }
412
+ console.log('')
413
+ console.log('✅ responsive-system: postinstall completado')
414
+ console.log('')