How to Convert Package-Lock. Json to Yarn. Lock?

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.

3 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 > left-pad@1.3.0: use String.prototype.padStart()
success Saved lockfile.
✨  Done in 21.56s.

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

as of yarn 1.7.0 (2018-06-04) you can use yarn import to convert npm package-lock.json to yarn.lock instead of having to npm install first for node_modules and tell yarn to take a looks at that

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Alexander Ross

Alexander Ross

Gaming, Esports & Interactive Media Writer

Alexander Ross has covered the video game industry for a decade, writing deep dives on game design, esports tournaments, VR developments, and gaming culture.

Share this article
Twitter Facebook Pinterest