You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## ⚪ ️5.7 Automatiza la actualización de dependencias
1824
1824
1825
-
:white_check_mark:**Haz:**Yarn and npm latest introduction of package-lock.json introduced a serious challenge (the road to hell is paved with good intentions) — by default now, packages are no longer getting updates. Even a team running many fresh deployments with ‘npm install’ & ‘npm update’ won’t get any new updates. This leads to subpar dependent packages versions at best or to vulnerable code at worst. Teams now rely on developers goodwill and memory to manually update the package.json or use tools [like ncu](https://www.npmjs.com/package/npm-check-updates)manually. A more reliable way could be to automate the process of getting the most reliable dependency versions, though there are no silver bullet solutions yet there are two possible automation roads:
1825
+
:white_check_mark:**Haz:**La introducción en yarn and npm de package-lock.json introduce un desafio muy importante ( el camino al infierno esta lleno de buenas intenciones) — por defecto ahora, lo paquetes no se auto actualiza más. Incluso en un equipo que ejecute un 'npm install' limpio y 'npm update' no van a caer nuevas actualizaciones. Esto conduce a veriones de paquetes desactualizadas en el mejor de los casos, y en el peor, a codigo vulnerable. Los equipos pasan a depender de la buena voluntad y memoria de los desarrolladores para actualizar el package.json a mano o a utilizar herramientas como [ncu](https://www.npmjs.com/package/npm-check-updates)manualmente. Una formula mucho mejor seria automatizar el proceso de actualizar las versiones de las dependenecias en las que más confiamos, pero no hay una solucion perfecta, existen dos caminos para esta actualización:
1826
1826
1827
-
(1) CI can fail builds that have obsolete dependencies — using tools like[‘npm outdated’](https://docs.npmjs.com/cli/outdated)or ‘npm-check-updates (ncu)’ . Doing so will enforce developers to update dependencies.
1827
+
(1) Podemos hacer que el CI falle con dependencias obsoletas — usando herramientas como[‘npm outdated’](https://docs.npmjs.com/cli/outdated)o ‘npm-check-updates (ncu)’. Hacerlo obligará a los desarrolladores a actualizar las dependencias
1828
1828
1829
-
(2) Use commercial tools that scan the code and automatically send pull requests with updated dependencies. One interesting question remaining is what should be the dependency update policy — updating on every patch generates too many overhead, updating right when a major is released might point to an unstable version (many packages found vulnerable on the very first days after being released, [see the](https://nodesource.com/blog/a-high-level-post-mortem-of-the-eslint-scope-security-incident/) eslint-scope incident).
1829
+
(2) Usar alguna de las herramientas comerciales que escanean nuestro codigo y envian automaticamente pull-request con actualización de dependencias. Una pregunta interesante que nos queda es cual va a ser la politica de estas actualizaciones: si actualizamos cada parche se genera mucha sobrecarga, y hacerlo cuando haya una version major nos lleva directos a usar verisones inestables o incompatibles (mucho paquetes muestran vulnerabilidades justo despues de salir una version nueva [lee sobre](https://nodesource.com/blog/a-high-level-post-mortem-of-the-eslint-scope-security-incident/) el incidente de eslint-scope).
1830
+
1831
+
Una politica de actualizaciones eficiente puede permitir cierto 'periodo de concesion' - deja pasar versiones quedandote por detras de @latest un tiempo antes de considerar que tu versión en local está obsoleta (por ejemplo, la versión que tienes en local es 1.3.1 y la versión del repositorio del paquete es 1.3.8)
1830
1832
1831
-
An efficient update policy may allow some ‘vesting period’ — let the code lag behind the @latest for some time and versions before considering the local copy as obsolete (e.g. local version is 1.3.1 and repository version is 1.3.8)
1832
1833
<br/>
1833
1834
1834
-
❌ **De lo contrario:**Your production will run packages that have been explicitly tagged by their author as risky
1835
+
❌ **De lo contrario:**Producción estara ejecutando versiones de paquetes que han sido marcadas por los propios autores como version con riesgos
1835
1836
1836
1837
<br/>
1837
1838
1838
1839
<details><summary>✏ <b>Código de Ejemplo</b></summary>
1839
1840
1840
1841
<br/>
1841
1842
1842
-
### :clap:Example: [ncu](https://www.npmjs.com/package/npm-check-updates)can be used manually or within a CI pipeline to detect to which extent the code lag behind the latest versions
1843
+
### :clap:Ejemplo: [ncu](https://www.npmjs.com/package/npm-check-updates)puede ser usado a mano o en un pipline de CI para detectar en que medida el lag de retraso contra la versión @latest
1843
1844
1844
-

1845
+

1845
1846
1846
1847
</details>
1847
1848
@@ -1871,7 +1872,7 @@ An efficient update policy may allow some ‘vesting period’ — let the c
1871
1872
1872
1873
<br/>
1873
1874
1874
-
### :clap:Example: Using Travis (CI vendor) build definition to run the same test over multiple Node versions
1875
+
### :clap:Ejemplo: Using Travis (CI vendor) build definition to run the same test over multiple Node versions
0 commit comments