Commit Graph

69 Commits

Author SHA1 Message Date
zkochan
6354f13c2f test: resolution stage completion is logged 2017-07-01 18:11:25 +03:00
zkochan
f1654385c1 test: logging should work 2017-07-01 18:03:52 +03:00
zkochan
fd2b23ebf0 feat: add an option to pass in a logs listener
Ref https://github.com/pnpm/pnpm/issues/572
2017-07-01 16:05:31 +03:00
Zoltan Kochan
001370c6eb refactor: removing CLI stuff from supi 2017-06-28 20:11:40 +03:00
zkochan
8ca612477d fix: uninstall should remove dependency from any property 2017-06-26 22:36:36 +03:00
zkochan
c9abd79661 refactor: rename storePath in .modules.yaml to store 2017-06-25 21:16:22 +03:00
zkochan
ae35695819 fix: shrinkwrap should be update correctly on named install
When already in `package.json`, dev and optional dependencies
should be added to the corresponding properties in
`shrinkwrap.yaml` during named installation.
2017-06-25 02:12:50 +03:00
zkochan
231faf2985 test: shrinkwrap should be updated correctly on named install 2017-06-25 01:27:48 +03:00
zkochan
fc7262459d feat: use pnpm-shrinkwrap instead of pnpm-lockfile 2017-06-23 23:15:46 +03:00
zkochan
af79c8c319 feat: add independent-leaves config
BREAKING CHANGE:

independent dependencies are not symlinked from the global store
by default

Close #821
2017-06-23 22:03:52 +03:00
zkochan
eb5219b390 feat: moving global package to a layoutVersion subfolder
BREAKING CHANGE:

global package path changed
2017-06-23 00:57:15 +03:00
zkochan
c156101a99 refactor: rename store-path config to store
BREAKING CHANGES:

rename `store-path` config to `store`

Ref #458
2017-06-20 23:30:06 +03:00
zkochan
fbc39466a8 fix: private packages installation
Use npm's programmatic API to get auth information for private
packages.

Ref #708
2017-06-20 23:02:47 +03:00
zkochan
c3f8eaecf1 fix: specless global installation should always install latest 2017-06-18 22:51:25 +03:00
zkochan
fc73f84d23 refactor: move global tests to separate file 2017-06-18 22:38:38 +03:00
zkochan
982498c2af fix: global install should not remove everything prev installed
Ref #808
2017-06-18 20:37:17 +03:00
zkochan
85778cd5e2 feat: supporting prepare event
Print deprecation notice when `prepublish` is present.
Run `prepublish` as well for now.

Close #810
2017-06-18 19:55:21 +03:00
zkochan
65e9c1b719 fix: named installation should use spec from package.json
Close #809
2017-06-18 15:51:49 +03:00
zkochan
8dfae3be00 feat: don't add empty packages property to shrinkwrap.yaml 2017-06-17 21:03:05 +03:00
zkochan
175f50d01e feat: symlink file dependencies instead of copying them
This is roughly how npm@5 does it. However, pnpm does not try
to install dependencies of the file dependency, just a symlink
is created and the binstubs are linked into `node_modules/.bin`
if there are any.

BREAKING CHANGE:

file dependencies are symlinked instead of copied (packed/unpacked)

Ref #772
2017-06-17 19:49:18 +03:00
zkochan
5c649b1611 fix: should not fail on new installation
Should not fail when installing a new dependency in a project
that has a lockfile with other dependencies but no node_modules
folder.
2017-06-16 22:20:14 +03:00
zkochan
efd1f7c1d2 Merge branch 'master' into feat/store2 2017-06-15 22:26:31 +03:00
zkochan
7b62b97411 fix: argumentless forced installation
Close #796
2017-06-15 22:21:56 +03:00
Zoltan Kochan
0176edfbce feat: saving packages under node_modules in the store 2017-06-12 23:38:08 +03:00
zkochan
967bb72f7f fix: save packages to the correct properties
Close #727
2017-06-11 19:11:09 +03:00
zkochan
b5c6d4a5fe fix: update package on named installation 2017-06-11 18:00:22 +03:00
zkochan
e9e0d1d4a6 fix: installation of package with peers using info from shrinkwrap 2017-06-10 01:32:11 +03:00
zkochan
2c04aa69da feat: save optional deps separately in the lockfile
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
2017-06-05 22:06:32 +03:00
zkochan
5acc4671f0 feat: support the --no-optional flag
The --no-optional argument prevents optional dependencies from
being installed.

Close #460
2017-06-05 14:46:05 +03:00
zkochan
63d3fd0a90 fix: non-compatible package should still be saved to store
Ref #759
2017-06-04 23:23:12 +03:00
zkochan
0709c2df40 test: use notOk when possible 2017-06-04 22:07:22 +03:00
zkochan
d23bcfb75f fix: link to root all root packages 2017-06-04 12:50:49 +03:00
zkochan
586afa193b perf: faster install 2017-06-03 20:50:09 +03:00
zkochan
502b566945 refactor: rename root to directory in resolution
BREAKING CHANGE:

shrinkwrap.yaml format change
2017-06-03 15:13:19 +03:00
zkochan
f414e256e8 fix: subdeps of skipped optionals are skipped as well 2017-06-03 14:31:17 +03:00
Zoltan Kochan
12abf7343a refactor: change the git resolution format 2017-05-30 22:56:43 +03:00
Zoltan Kochan
2f909a2c2b refactor: update shrinkwrap version to 3 2017-05-30 22:22:31 +03:00
Zoltan Kochan
c84cd24302 fix: non-installable optional subdependencies are not linked 2017-05-28 17:51:26 +03:00
zkochan
594ebfd5f8 refactor: add back dependencies field to root of shrinkwrap 2017-05-24 23:02:41 +03:00
zkochan
47721be6b2 fix: relinking subdendencies when updated 2017-05-22 00:05:02 +03:00
zkochan
1462157fa8 feat: using shrinkwrap.yaml for creating node_modules 2017-05-21 23:39:34 +03:00
zkochan
e95ae02917 refactor: no additional nesting when peer resolved from own dependency 2017-05-18 23:56:32 +03:00
zkochan
cc21a4ed50 refactor(shrinkwrap): dependencies => packages['/'].dependencies 2017-05-17 22:05:05 +03:00
zkochan
4aecc181fb feat: add specifiers to shrinkwrap.yaml
BREAKING CHANGE:

shrinkwrap.yaml format has changed
2017-05-17 21:10:11 +03:00
zkochan
56049efde0 feat: all children are always grouped together 2017-05-15 22:12:02 +03:00
Zoltan Kochan
89a6fc6017 feat: add createdWith property to shrinkwrap.yaml
The `name@version` of the creator of the shrinkwrap is
saved in a property called `createdWith`.

Close #729
2017-05-13 17:44:06 +03:00
zkochan
c4e2540dd2 fix(shrinkwrap): don't save absolute path shrinkwrap.yaml
Relative path to the current working directory is saved
in the `shrinkwrap.yaml`.

Close #744
2017-05-13 16:29:10 +03:00
zkochan
177ad66842 test: move local package intallation tests to separate file 2017-05-12 22:42:35 +03:00
zkochan
5699569f61 feat: always add all packages to shrinkwrap.yaml
Even dev packages when installing with the --production flag

Ref #750
2017-05-11 21:01:24 +03:00
Zoltan Kochan
5de380989a fix(linking): packages should not loose their peer deps (#761)
* 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
2017-05-09 18:21:39 +03:00