Commit Graph

79 Commits

Author SHA1 Message Date
zkochan
39c16b494f refactor: move log types to supi from pnpm-logger
BREAKING CHANGE:

dependends on pnpm-logger@0.7
2017-11-09 00:57:20 +02:00
Unknown
f5c7ab550c refactor: use package-store to resolve store path 2017-09-12 02:00:34 +03:00
zkochan
a10c503fd2 refactor: use pnpm-logger instead of bole 2017-07-18 22:47:44 +03:00
zkochan
03f0cb77a7 refactor: move out store code to separate package 2017-07-06 00:28:38 +03:00
zkochan
15ed026871 chore: optimizing dependencies 2017-07-04 21:52:24 +03:00
Zoltan Kochan
001370c6eb refactor: removing CLI stuff from supi 2017-06-28 20:11:40 +03:00
zkochan
fc499ebc76 perf: using index files for linking packages 2017-06-13 22:51:32 +03:00
zkochan
49be55c5a8 feat: using SRI for integrity checks of packages in store
BREAKING CHANGE:

integrity files format changed in the store
2017-06-12 10:12:25 +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
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
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