* 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
* 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
For correct prunning of the lockfile, it has to be known
which deps are optional. Also it has to be known which
deps are dev deps in the root.
BREAKING CHANGE:
lockfile format changed
* fix: global installation always works now
Close#711
* refactor: avoid using `read-pkg-up`
BREAKING CHANGE:
API should be called in the folder that has a package.json file.
pnpm won't search up for a package.json file.
Close#67
* docs(API): update
* refactor: write-pkg created dir on its own
* refactor: rename `globalDir` to `globalPrefix`
* feat: saving the global package in <global prefix>/pnpm-global
BREAKING CHANGE:
`rc` is not used to get configs.
BREAKING CHANGE:
`.pnpmrc` files are ignored
BREAKING CHANGE:
configs in json format are not supported
BREAKING CHANGE:
`--config` argument renamed to `--userconfig`
Close#696, Close#40