Henry Leu
Henry Leu

Reputation: 2274

Does package-lock.json need to be versioned in git?

npm 5 & nodejs 8 introduces a file named package-lock.json, I want to know if it is need to be versioned or be ignored in git

Upvotes: 5

Views: 3328

Answers (1)

LuFFy
LuFFy

Reputation: 9297

Short Answer : Yes It must be.

Long Answer :

As Per npmjs Documentaion :

package-lock.json is automatically generated for any operations where npm modifies either the node_modules tree, or package.json. It describes the exact tree that was generated, such that subsequent installs are able to generate identical trees, regardless of intermediate dependency updates.

This file is intended to be committed into source repositories, and serves various purposes:

  • Describe a single representation of a dependency tree such that teammates, deployments, and continuous integration are guaranteed to install exactly the same dependencies.

  • Provide a facility for users to time-travel to previous states of npm_modules without having to commit the directory itself.

  • To facilitate greater visibility of tree changes through readable source control diffs.

  • And optimize the installation process by allowing npm to skip repeated metadata resolutions for previously-installed packages.

Upvotes: 14

Related Questions