Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to convert package-lock.json to yarn.lock?

Tags:

npm

yarnpkg

I have an project with package-lock.json file.

Now, I want to generate yarn.lock file based on package-lock.json file or existed node_modules of project.

How can I do this? thanks.

like image 253
slideshowp2 Avatar asked Apr 30 '18 03:04

slideshowp2


People also ask

Can yarn read a package lock json?

0, Yarn is able to import its dependency tree from npm's package-lock. json natively, without external tools.

How do I add package lock json to yarn?

All you need to do is issue the yarn import command in a repository with a package-lock. json file, and yarn will use the resolution information from the existing package-lock. json file and a corresponding yarn. lock file will be created.

Can we have both yarn lock and package lock json?

Keeping your package-lock. json or yarn. lock file will lock in these versions despite allowing for variances in the package. json file.

Should package lock json be committed yarn?

It is highly recommended you commit the generated package lock to source control: this will allow anyone else on your team, your deployments, your CI/continuous integration, and anyone else who runs npm install in your package source to get the exact same dependency tree that you were developing on.


Video Answer


2 Answers

You can use yarn import to generate yarn.lock file from an existing npm-installed node_modules folder.

yarn import aims to alleviate this challenge by generating a yarn.lock file in one of two ways:

  1. Using the dependency tree in an existing package-lock.json file created by npm install
  2. If no such file exists, using the versions found inside node_modules according to normal require.resolve() resolution rules.

For example:

☁  api [develop] ⚡  yarn import   
yarn import v1.17.3
info found npm package-lock.json, converting to yarn.lock
warning jest > jest-cli > jest-config > jest-environment-jsdom > jsdom > [email protected]: use String.prototype.padStart()
success Saved lockfile.
✨  Done in 21.56s.
like image 183
slideshowp2 Avatar answered Oct 07 '22 10:10

slideshowp2


You can use the tool synp to convert back and forth:

synp --source-file yarn.lock            # will create package-lock.json
synp --source-file package-lock.json    # will create yarn.lock
like image 41
hlovdal Avatar answered Oct 07 '22 10:10

hlovdal