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. Run pnpm import first to keep the versions npm resolved. Otherwise pnpm resolves the dependencies from scratch.
  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.