Commit Graph

21 Commits

Author SHA1 Message Date
Zoltan Kochan
bc34aba650 style: adhere conventions 2018-03-05 15:49:34 +02:00
Zoltan Kochan
bb7aff4af6 refactor: use own options
BREAKING CHANGE:

storeController is not an optional parameter anymore
2018-01-07 22:34:31 +02:00
Zoltan Kochan
8f030ed109 refactor: move option type to @pnpm/types 2017-12-04 21:39:47 +02:00
zkochan
54cb8b944e chore: use package-preview 2017-11-01 09:54:58 +02:00
Zoltan Kochan
a17a8df50c Perf/fast repeat install (#730)
* 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
2017-04-27 11:04:37 +03:00
zkochan
ddc69abd9f feat(shrinkwrap): respect shrinkwrap.yaml for top deps 2017-03-04 21:57:39 +02:00
zkochan
4aa3e78e88 fix: use path-exists instead of exists-file 2017-03-02 22:56:56 +02:00
zkochan
04bc56c688 refactor(tests): move supporting functions to utils folder 2017-02-06 21:01:45 +02:00
zkochan
5f07768d2d feat: semver aware caching
Invalidate caching in semver aware way.

Remove caching into filesystem.

Rel #568, Close #580
2017-02-02 22:11:03 +02:00
Zoltan Kochan
b9104a457c feat(global): change default global path
Use ~/.pnpm-cache as the default cache path.
Use the Node path for hosting the global pnpm package.
2017-01-21 18:38:47 +02:00
Zoltan Kochan
38837b131c Pure store (#524)
* feat: drop Node.js <= 6.3 support

BREAKING CHANGE:

drop support of Node.js pre-6.3

* refactor: remove the redundant subfolder in store

* refactor: rename linkPeers

* refactor: remove not used code

* feat: link each file separately

* refactor: change store structure

* refactor: resolve github dependencies to commits

* chore(package.json): pass --preserve-symlinks to ts-node

* test: temporarily skip failing tests

* refactor(git): use more human-friendly Git IDs

* refactor: resolve

* refactor: divide resolution and fetching

* refactor(fetch): better variable naming

* feat: add shrinkwrap.yaml

* test(shrinkwrap): shrinkwrap locks dependencies

* style: fix typing issue

* fix(fetch): properly link node_modules on repeat install

* refactor: comment skipped test with single-line comments

* fix: circular symlinks are avoided

* refactor(fetch): remove redundant type properties

* test: additional check for circular symlinks

* feat: saving dependency graph in node_modules instead of in store

BREAKING CHANGE:

Dependency graph moved out from store

* feat: add store.yaml with info about dependent projects

* refactor: remove name from FetchedPackage

* refactor: change the location of packages from npm in store

BREAKING CHANGE:

Structure of store changed

* refactor: change global store path

BREAKING CHANGE:

Move the store path out of ~/.pnpm

* refactor: remove justFetched from FetchedPackage

* refactor(install): use functional programming to filter deps

* refactor(install): remove redundant node_modules creation

* fix(install): installation of concurent circular dependencies

* feat: copy not link some packages

Packages that have install lifecycle events are copied not linked.

* fix(store.yaml): don't duplicate records

* perf: resolve a package only once per project

* test: concurrent installation of the same dependency

* fix: packages are not removed in the middle of fetch

* fix: dependencies are linked only once

* fix: make linking work on Windows

* fix: installing local dependencies on Windows

* fix: don't reinstall dependencies of the same package

* fix(bin): the run function always returns a Promise

* fix: use hard links to link files to the .resolutions folder

* fix: peers are linked into the correct location

* fix: bundled dependencies are not reinstalled

* refactor: remove unsymlink

It is not used anymore

* chore(CI): test on Node.js v4 as well

* refactor: use UPPER_CASE for constants

* chore(package): return support of Node.js v4

* fix: make pnpm Node.js 4 compatible again

* test: don't run tsnode with --preserve-symlinks

--preserve-symlinks makes tests fail on Node.js 4

* fix(bin): don't use --preserve-symlinks on Node pre-6.3

* test: use global stores in tests

* fix: flat-tree installation should not work on Node 4

* fix: show warning

When trying to install into a node_modules created by older pnpm

* refactor: change the global store location

From `~/.store` to `~/.pnpm-store`

* docs: note that some of the info is out of date

* test: fix typing error

* test: fix frequently failing test
2017-01-08 15:47:50 +02:00
zkochan
cbf964e445 test: update sinopia store 2016-12-24 03:18:54 +02:00
zkochan
a19922f66b refactor(tests): move out some shared logic 2016-12-21 22:58:53 +02:00
zkochan
d6fc5af71e test: log the testing package folder names 2016-12-18 01:36:11 +02:00
zkochan
40f4858dea test: fix promise-tape usages after update to v2 2016-10-30 20:07:28 +02:00
zkochan
e52c293454 refactor(store): avoid unnecessary subdirs in stores
Don't divide the store into two types when it is used only by
one package.

Throw an error when trying to use a store with a specific dependency
tree type for installation of an another tree type.
2016-10-19 00:44:57 +03:00
zkochan
d688f62ab1 feat: support flat tree dependencies structure
close #403, ref #292, ref #346, ref #96, ref #394, PR #429

BREAKING CHANGE:

Store divided into flat/ and nested/
2016-10-17 22:42:14 +03:00
zkochan
e9ab2e07e0 test(cache): fix 2016-10-15 19:10:09 +03:00
zkochan
237cceabbf test: use a default set of options 2016-10-15 14:49:13 +03:00
zkochan
5c1d2a9356 test: cache TTL 2016-10-15 13:21:32 +03:00
zkochan
40ed7e2acb test: rename clean.ts to cache.ts 2016-10-15 12:00:49 +03:00