* feat: upload side effects cache when needed
* feat: add side-effects-cache support
* fix: review suggestions
* fix: rename to cacheByNodeVersion, compute immediately centralLocation
* fix: make cacheByNodeVersion nullable, fix centralLocation, move nodeMajor to the top
* fix: s/nodeVersion/engineName/
* fix: some renames, add verifyStoreIntegrity option
* fix(deps): update
* fix: fix failing tests
* fix: update package-store to v0.15.1
* test: creating side effects cache
* test: using the side effects cache, in readonly mode too
* fix: rename engine to include 'node', test for opts.force
* Change string compare to a path compare
* Add some tests
* Fix problem with slashes
* Allow injecting of path
* Add a simpler test
* fix: remove unused variable
ref #996
* 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
If a package has many peer dependencies, it can be placed in a
folder with a very long name. This change hashes folder names
that are longer than 32 symbols.
SEMI-BREAKING:
The structure of node_modules might change in some projects after
a clean install.
ref https://github.com/pnpm/pnpm/issues/977
* fix: run node-gyp rebuild when install is not specified
* feat: after pnpm install --ignore-script, pnpm rebuild is incremental
* refactor: add --pending option to rebuild, only store pending ids
* fix: javascript magic to avoid if statement
* fix: update pendingBuilds also when removing packages
* fix: remove old code, use testDefaults correctly
* test: add test for rebuild --pending
* chore: make my IDE and TSLint happy
* chore: @types/es6-promise makes IntelliJ happy and Travis sad
* fix: use Set, only append to pendingBuilds if ignoreScripts is true
* test: pendingBuilds handled correctly
* test: install and uninstall behavior with pendingBuilds
* fix: saveModules only when needed
* fix: Set has size, not length, add comment about the use of .concat
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