* fix: notDependents should be an array of dep paths
* test: remove testOnly
* fix: pass pkgIds to updateConnections()
* refactor: use strict types
* refactor: rename notDependent to orphan
ref #52
* fix: flatten by alias
* fix: rename field, other fixes
* fix: more bug fixes
* fix: make all tests run, write a (failing) test for pruning
* fix: reflatten after pruning
* fix: do not log installation/removal of hoisted aliases
* fix: follow review comments
* fix: use muteLogs instead of skipLogs
* feat: this is a best attempt at flattening the dependency tree, similar to what npm does
* test: shamefullyFlatten option
* feat: when uninstalling, if shamefully-flatten is true, we need to re-flatten
* fix: use new shrinkwrap, not the old one
* fix: changes suggested in PR
* test: remove test.only
* fix: various bugs in uninstall and general install, added tests
* test: fix test
* test: use project.has and project.hasNot correctly
* test: remove test.only
* test: added tsconfig.json, added lint-test script, lint fixes
* test: use correct message
* fix: check should work on windows too
* 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
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