¿Package-lock.json necesita ser versionado en git?

npm 5 & nodejs 8 presenta un file llamado package-lock.json , quiero saber si necesita ser versionado o ser ignorado en git

Respuesta corta: Sí, debe ser.

Respuesta larga :

Como Per npmjs Documentation :

package-lock.json se genera automáticamente para cualquier operación en la que npm modifique el tree node_modules o package.json . Describe el tree exacto que se generó, de forma que las instalaciones posteriores pueden generar treees idénticos, independientemente de las actualizaciones de dependencia intermedias.

Este file está destinado a ser enviado a repositorys de origen y sirve para varios propósitos :

  • Describa una representación única de un tree de dependencies de modo que se garantice que los compañeros de equipo, las implementaciones y la continuous integration instalen exactamente las mismas dependencies.

  • Brinde a los usuarios un time-travel en el time-travel a estados previos de npm_modules sin tener que comprometer el directory en sí.

  • Para facilitar una mayor visibilidad de los cambios de treees a través de diferencias de control de fuente legibles.

  • Y optimice el process de installation permitiendo que npm salte resoluciones de metadatos repetidas para packages instalados previamente.