Commit Graph

69 Commits

Author SHA1 Message Date
Zoltan Kochan
d5b26211c3 fix: inner link detection on Windows 2017-04-14 22:38:52 +03:00
zkochan
99d2274bd0 fix(unlink): unlink works with outer links 2017-04-13 23:43:29 +03:00
zkochan
1a7528d43d fix(peers): binstubs of peer dependencies are linked to the dependent package's bin folder 2017-03-27 01:54:22 +03:00
zkochan
77f752e6d0 refactor(move isInnerLink() to separate file): 2017-03-27 00:18:33 +03:00
zkochan
7714145218 refactor: moving more linking logic out of installMultiple 2017-03-26 15:33:54 +03:00
zkochan
c3de6fed96 refactor: decouple fetching and linking logic 2017-03-26 02:06:14 +02:00
zkochan
5a4a46815e feat: rename pnpm verify to pnpm store status
BREAKING CHANGE: `pnpm verify` renamed to `pnpm store status`

BREAKING CHANGE: don't run `pnpm verify` before `pnpm publish`

Ref #430, Ref #658
2017-03-23 21:36:28 +02:00
zkochan
5ccfe64916 fix(reporting): errors are not printed in silent mode
Close #667
2017-03-20 23:19:32 +02:00
zkochan
185d1f6625 refactor: rename getRegistryFolderName()
Rename getRegistryFolderName() to getRegistryName()
2017-03-16 01:44:54 +02:00
zkochan
d3b0bb0c75 feat: use a shrinkwrap file instead of graph.yaml
Ref #658

BREAKING CHANGE: no `node_modules/.graph.yaml` used anymore
2017-03-13 21:23:41 +02:00
zkochan
65d7c20763 refactor: move npm resolve related files to one dir 2017-02-27 00:10:01 +02:00
zkochan
8e034fb4c0 fix: too many open files
`graceful-fs` solves the issue of EMFILE errors. However,
the global fs modules has to be patched.

This same solution is used by npm.

Close #609
2017-02-27 00:09:24 +02:00
zkochan
554cf8df1b refactor: remove not used file 2017-02-16 00:07:59 +02:00
zkochan
cca22be414 refactor: remove runtimeError.ts 2017-02-16 00:07:11 +02:00
zkochan
3b6ceaaebd refactor: use mkdirp-promise
Ref #441
2017-02-15 23:30:04 +02:00
zkochan
980249cf42 refactor: use link-dir package
Ref #441
2017-02-15 02:44:30 +02:00
zkochan
0bf7c24ac4 feat: don't skip checking of available packages 2017-02-14 23:51:11 +02:00
zkochan
f763d6a321 fix(resolve): tarball depedencies have readable IDs 2017-02-13 23:32:38 +02:00
zkochan
c5faf44f55 refactor(fs): use packages for loading/writing YAML files 2017-02-12 13:25:04 +02:00
zkochan
9c814e3223 chore(tsconfig): add missing files 2017-02-11 15:34:00 +02:00
zkochan
c40264a9cd refactor: use read-pkg 2017-02-07 01:27:43 +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
zkochan
32e4130bea refactor: remove preserve-symlinks and flat-tree options
Close #546

BREAKING CHANGE:

Removed preserve-symlinks option

BREAKING CHANGE:

Removed flat-tree option
2017-01-25 22:12:38 +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
Andrey Popp
fd806ac561 refactor: factor out fetch code from resolve
I replaved `ResolveResult` with `Resolution` which is more detailed type, a
discriminated union.

Then I removed `fetch` attribute from `ResolveResult` and moved that logic to
`fetchResolution` function. Thus removing `src/resolve/fetch` module entirely.
2017-01-20 01:20:52 +02:00
zkochan
01fdfbad2e fix(git): don't use GitHub API to avoid rate limit errors
Additionally, use ls-remote to resolve refs to commits, before clonings
2017-01-17 23:39:25 +02:00
zkochan
a7d508782c refactor: move reporters to separate packages 2017-01-16 20:49:18 +02:00
zkochan
b748c213db refactor: rename logger to reporter
Reporter is a better name for specifying console output themes.

BREAKING CHANGE: the logger config renamed to reporter
2017-01-16 20:49:18 +02:00
zkochan
53f94417e7 feat(log): use ndjson for console output
Close #538
2017-01-16 20:49:18 +02:00
zkochan
f90aaed777 chore(tsconfig): add missing files 2017-01-09 18:19:26 +02:00
zkochan
1c00eb025e refactor: use is-windows package
For detecting Windows OS, use the is-windows package.
2017-01-09 18:08:15 +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
Zoltan Kochan
0e368ae6b1 refactor(*.ts): use definition packages 2016-11-22 06:43:45 -08:00
zkochan
3833889511 docs(README): add Known issues section 2016-11-07 03:09:05 +02:00
zkochan
a840c662e4 feat(update): implement
Close #300
2016-10-31 19:50:55 +02:00
zkochan
1297ddd514 fix: typescript compilation when deps installed with npm@3 2016-10-30 03:16:47 +03:00
zkochan
8f407abdcf refactor: move memoize to separate file 2016-10-29 17:26:27 +03:00
zkochan
0632510b61 refactor: better naming
Rename the install method to fetch. Move a method out of installMultiple
and call it install instead.
2016-10-29 15:04:22 +03:00
zkochan
46cd1e6bf3 refactor: move installMultiple to install/ 2016-10-29 15:04:22 +03:00
zkochan
1d00f09a17 refactor: move bins linking out of installation code 2016-10-29 15:04:22 +03:00
Zoltan Kochan
163d6b9a72 refactor: use write-pkg 2016-10-22 17:06:13 +03:00
Zoltan Kochan
429dc67c2a refactor: use link-dir
Use the link-dir package for linking directories instead of
own code.
2016-10-22 16:37:11 +03:00
zkochan
ab099a3fa0 chore: using yaml instead of json to store store info
BREAKING CHANGE:

Change `store.json` to `store.yaml`.
2016-10-18 00:27:04 +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
307f8174a0 feat(cache): implement the cache clean command
Ref #59, PR #420
2016-10-15 01:17:10 +03:00
Zoltan Kochan
1233d07dcc feat: cache HTTP requests done to the registry
Ref #59
2016-10-14 23:35:09 +03:00
zkochan
de3a22d53e feat(install-test): implement
Close #398
2016-10-06 22:33:11 +03:00
zkochan
7cdd73fe46 refactor: rename CommandNamespace to PnpmContext 2016-10-01 02:38:22 +03:00
zkochan
9a2a708001 refactor: remove redundant resolveGlobalPkgPath 2016-10-01 01:37:51 +03:00
zkochan
ee5f629b4c refactor: move locking out of initCmd 2016-09-30 21:37:18 +03:00