Limitations

  1. npm-shrinkwrap.json and package-lock.json are ignored. Unlike pnpm, npm can install the same name@version multiple times and with different sets of dependencies. npm’s lockfile is designed to reflect the flat node_modules layout, however, as pnpm creates an isolated layout by default, it cannot respect npm’s lockfile format. See pnpm import if you wish to convert a lockfile to pnpm’s format, though.
  2. Binstubs (files in node_modules/.bin) are always shell files, not symlinks to JS files. The shell files are created to help pluggable CLI apps in finding their plugins in the unusual node_modules structure. This is very rarely an issue and if you expect the file to be a JS file, reference the original file directly instead, as described in #736.

Got an idea for workarounds for these issues? Share them.