* feat: specify linked deps in shrinkwrap.yaml
* feat: node_modules is pruned after linking from external package
* feat: link() and linkFromGlobal() expect arrays as first args
BREAKING CHANGE:
link() expects an array as first arg
BREAKING CHANGE:
linkFromGlobal() expects and array as first arg
* feat: update specifiers field in shrinkwrap.yaml when linking
* fix: prune node_modules after linking
* feat: add reflinks option
* feat: packageImportMethod allows us to specify between auto, hardlink, reflink, copy
* refactor: split hardlinkPkg and reflinkPkg, refactor switch, add default method
* fix: add breaks, describe option in the README
* test: test the copy-only import option
* fix: use mkdirp in reflinkPkg too
The opts.ignoreFile() function allows to ignore files in packages.
Ignoring means that files will neither be unpacked nor linked
into `node_modules`
Ref https://github.com/pnpm/pnpm/issues/804
Ref https://github.com/pnpm/pnpm/issues/461
BREAKING CHANGE:
`opts.production: true` doesn't mean that dev dependencies are
not going to be installed. In order to avoid dev dependencies
installation the `opts.development` should be set to `false`.
BREAKING CHANGE:
The value of NODE_ENV is ignored.
Store prunning removes unreferenced packages and packages
referenced by projects that no longer exist.
Also, orphan packages are no removed durign other operations,
except store and node_modules prunning.
Ref https://github.com/pnpm/pnpm/issues/430
* test(install): peer dependencies should be resolved correctly
* fix(linking): packages should not loose their peer deps
When a peer dependency is resolved not from the direct parent,
dependent packages should be duplicated with hard links in order
to preserve the correct set of resolved peer dependencies.
Semi-breaking change. The node_modules structure is changed but
doesn't need a complete removal of a node_modules created with
previous version of pnpm.
* docs: document how peer dependencies are resolved
Ref #694, Ref #726
* docs: nicer comments in code blocks
* docs: more explanation about peer deps