title: What is the difference between yarn.lock and npm's package-lock?
body: <p>I accidentally ran <code>npm install</code> in a project that uses Yarn and noticed that npm created a <code>package-lock.json</code> file.</p>
  
  <p>I know that Yarn spiked in popularity in part because it used a lockfile to produce more reliable and deterministic dependency installations than npm, which for a while only had a crippled <a href="https://docs.npmjs.com/cli/shrinkwrap" rel="noreferrer">shrinkwrap feature</a>, but now I'm not sure what to make of this npm lockfile business and whether there's anything compelling about continuing to use Yarn.</p>
  
  <p>So in the spirit of a <a href="https://stackoverflow.com/questions/40057469/what-is-the-difference-between-yarn-lock-and-npm-shrinkwrap">previous Q and A on StackOverflow on yarn vs shrinkwrap</a>, I ask the following:</p>
  
  <ul>
  <li>Are there any substantial differences between the two package managers in terms of reliability any more?</li>
  <li>If not, is there any compelling reason to continue using Yarn besides "More emojis. "?</li>
  </ul>