Reputation: 2274
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
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 thenode_modules
tree, orpackage.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 ofnpm_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