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
Use `read-package-json` for reading `package.json`.
The same package is used by npm.
Use `load-json-file` instead of `read-pkg` with
normalize = false.
* 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
* 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