Closed sebastianserna closed 7 years ago
lo puedo hacer yo se puede hacer jejejeje
@marti1125 gracias! preciso estaba haciendo eso hoy para no tener problemas más adelante. Acabo de actualizarlo, si quieres puedes hacer la prueba con una nueva instalación desde cero para verificar que se instalen con la versión específica.
Ya documenté en el README los módulos de Node.js que estoy utilizando para desarrollo definidos en el archivo package.json:
Módulo | Versión | Descripción |
---|---|---|
browser-sync | 2.18.2 | Permite ejecutar un servidor local y visualizar nuestro sitio en múltiples navegadores remotos en tiempo real. |
gulp | 3.9.1 | Módulo oficial de Gulp para Node.js |
gulp-install | 0.6.0 | Instala de forma automática paquetes y dependencias de npm, bower, tsd, y pip si la configuración asociada se encuentra en el gulpfile. |
gulp-autoprefixer | 3.1.1 | Permite automatizar la escritura de prefijos CSS para cada navegador web (moz, webkit, etc). |
gulp-sass | 2.3.2 | Permite compilar código Sass en CSS sin necesidad de instalar la gema de Sass de Ruby, solo desde Node.js |
gulp-clean-css | 2.0.13 | Permite minificar el código CSS eliminando espacios y comentarios. Este tipo de prácticas se utilizan para generar código listo para un ambiente de producción. |
gulp-rename | 1.2.2 | Permite renombrar archivos con el nombre que le especifiquemos |
gulp-concat | 2.6.1 | Permite fusionar archivos en uno solo para optimizar el tiempo de carga de dependencias en un sitio web (muy utilizado para combinar archivos CSS o archivos JavaScript). |
gulp-twig | 0.7.0 | Motor de plantillas basado en Twig.js. Se utiliza en Swan para crear layouts HTML con partials reutilizables. |
gulp-plumber | 1.1.0 | Permite manejar e identificar errores en tiempo de ejecución. |
gulp-sourcemaps | 1.9.1 | Permite generar sourcemaps para el código Sass y otros. |
gulp-uglify | 2.0.0 | Permite minificar el código JavaScript con UglifyJS. |
sassdoc | 2.1.20 | Genera una documentación básica del código Sass utilizado. |
El archivo
package.json
del repositorio se creó en 2015 y la mayoría de dependencias de Node.js están desactualizadas. Adicionalmente cuando cloné el proyecto en otro equipo y escribí el comandonpm install
me dí cuenta de que las dependencias instaladas tenían un número de versión diferente y esto produjo comportamientos inesperados: al ejecutargulp watch
se generó nuevo código CSS sin haber hecho ningún cambio (me pedía hacer commit) algo que puede ser muy molesto para una persona nueva que apenas está probando el proyecto.Después de investigar entendí que al instalar un nuevo módulo desde npm con el flag --save se agrega en el archivo
package.json
el símbolo^
antes del número de versión (Ej:^2.0.4
). Con esta indicación le decimos a npm que instale la última versión (menor) compatible según el versionamiento semántico. Sin embargo, es algo riesgoso en algunos casos dejar que npm decida cuál versión instalar. Como explican en esta guía de buenas prácticas en Node:Por ese motivo voy a actualizar a la última versión estable de cada una de las dependencias y dejaré el archivo
package.json
con las versiones exactas (sin el^
) para evitar comportamientos inesperados luego de instalar los módulos de Node.js connpm install
.