Commit Graph

46 Commits

Author SHA1 Message Date
zkochan
b1635735ca fix: always-auth config value is not ignored anymore
Ref #708
2017-04-26 14:49:17 +03:00
Zoltan Kochan
2c46333107 fix: global installation always works now (#713)
* 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
2017-04-22 23:11:25 +03:00
zkochan
b94aaff38a feat: use npm's config system
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
2017-04-20 23:01:14 +03:00
zkochan
fa8f2e57db fix(user-agent): set the correct user-agent 2017-04-08 15:39:18 +03:00
zkochan
dbe6f206eb fix: should not fail when no registry specified in configs 2017-03-19 02:19:07 +02:00
zkochan
e2068c401e feat: always save dependencies
Ref #658

BREAKING CHANGE: cannot insall a dependency w/o saving
2017-03-13 02:41:38 +02:00
zkochan
4f484162d4 feat: add offline support
Close #508, Close #659
2017-03-13 02:31:37 +02:00
zkochan
ddc69abd9f feat(shrinkwrap): respect shrinkwrap.yaml for top deps 2017-03-04 21:57:39 +02:00
zkochan
c3fd6855ea perf: run postinstall scripts concurrently 2017-03-01 23:41:11 +02:00
zkochan
15402c4803 fix: resolve local-registry config 2017-02-27 00:10:01 +02:00
zkochan
be633ffb73 feat: save tarballs before unpacking
...and unpack tarballs one by one

Close #600
2017-02-27 00:10:01 +02:00
zkochan
a1ee21b907 feat: use a local registry similar to sinopia's storage 2017-02-27 00:10:01 +02:00
zkochan
b6fddf4234 feat: remove link-local
It is broken since the bit `Pure Store` and seems nobody even noticed.
This functionality should be implemented in a separate tool that
uses pnpm's API.

BREAKING CHANGE:

Remove the link-local option
2017-02-18 22:45:55 +02:00
zkochan
6792b57c5c feat: make fetching concurrency configurable
And reduce the default value to 4

Ref #600
2017-02-08 22:22:31 +02:00
zkochan
665c181887 feat: add lockStaleDuration config
ref #608, ref #594
2017-02-08 22:01:32 +02:00
zkochan
400f6bed21 feat: limit network concurrency 2017-02-02 23:49:27 +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
6bf0daea9e feat: reinstall incompatible node_modules when forcing 2017-01-25 22:12:38 +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
zkochan
2c12199b3a fix: never preserve symlinks 2017-01-25 22:12:38 +02:00
Zoltan Kochan
e9d6bf53e0 fix(global): change the global folder name to pnpm-global
The global path can't be pnpm because on Windows the pnpm sh file
is in the same folder.
2017-01-21 18:38:47 +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
zkochan
a7d508782c refactor: move reporters to separate packages 2017-01-16 20:49:18 +02:00
zkochan
a33870b4b9 refactor: use pnpm namespaced logs 2017-01-16 20:49:18 +02:00
zkochan
2dc2711914 feat(reporter): report everything via ndjson 2017-01-16 20:49:18 +02:00
zkochan
1087d87bb8 refactor: remove redundant reporter import from extendOptions 2017-01-16 20:49:18 +02:00
zkochan
b96e30cf3f refactor(reporter): remove debug option
Debug option was used with the debug package.
debug was substituted with bole.
To have more info printed a new reporter have to be created.

BREAKING CHANGE:

--debug option removed
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
16fa79ed07 fix: no hardcoded store loc for global package
The store location for the global package is not hardcoded.
2017-01-09 23:12:18 +02:00
zkochan
6c946ee2cf feat: support preserve-symlinks config
preserve-symlinks is true by default on Node versions that
support it
2017-01-09 17:46:20 +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
36d54b0d46 fix: remove from store the failed optional dependency 2016-11-07 20:38:56 +02:00
zkochan
227341ef36 feat: add packages checking
Check packages for OS/Node compatibility.

Close #448
2016-11-07 20:38:56 +02:00
zkochan
e490fd2063 fix: use the global store for the global packages 2016-11-03 13:54:08 +02:00
zkochan
522693332d fix: typescipt error 2016-10-30 02:39:37 +03:00
zkochan
142ecfb139 refactor: make yaml reading async and some minor changes
PR #429
2016-10-19 02:13:18 +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
d217fe7177 feat: use a global store by default on Node >= 6
Close #421
2016-10-15 14:49:08 +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
eaa50dc328 feat: add --depth option 2016-10-11 15:07:28 +03:00
zkochan
2e4eecee48 feat: make pnpm silent by default for API functions 2016-10-05 00:36:46 +03:00
zkochan
beb8835224 feat(install): support the force parameter 2016-10-02 23:28:24 +03:00
zkochan
f686573c68 fix(link): link to global 2016-10-01 01:08:00 +03:00
zkochan
816345a8c5 feat(api): make the install API consistent with other API functions
BREAKING CHANGE:

The `installPkgDeps` API function is now called `install`.

The old `install` is renamed to `installPkgs`. Unlike the old `install`,
`installPkgs` does nothing, if the `pkgs` array contains no elements.
2016-09-29 00:26:18 +03:00
zkochan
fec9bdff02 refactor: use an extendOptions function instead of defaults 2016-09-28 22:27:10 +03:00