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
* 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
* perf: validating the node_modules structure to a specified depth
Ref #722
* feat: adding an update boolean property to the install API
BREAKING CHANGE:
Dependencies won't be updated when `update` is `false`.
It doesn't matter what the value of `depth` is.
`depth` is used for specifying how deep should the install
algorithm analize the dependency tree.
Ref #722
* refactor: merge new resolved deps with the previous
* fix: peers are resolved similarly during named and general install
There is no need to always run a general installation for
creating a predictable `node_modules` structure. If peers are
resolved from top dependencies, the peers are not linked to
the dependent package. The dependent package can see such peers
w/o additional manipulations
Ref #724
* fix: don't print warning when peer is resolved from top dep
* test: verify the peer warning are reported correctly
* 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