npm
npm is the node ecosystem's de facto package manager, shipped in Node.js runtime releases since v0.6.3.
Merging lockfiles
npm writes package-lock.json
files that lock the dependency hierarchy at installed versions. When merging changes that modify dependencies, these files can be very difficult to merge. If we're using Git, npm-merge-driver
can do it for us using a merge driver.
Place the following into .git/config
:
[merge "npm-merge-driver"]
name = automatically merge npm lockfiles
driver = npx npm-merge-driver merge %A %O %B %P
And this into .git/info/attributes
:
npm-shrinkwrap.json merge=npm-merge-driver
package-lock.json merge=npm-merge-driver