Commit Graph

48 Commits

Author SHA1 Message Date
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
92cf129b19 chore: change repo URL 2017-01-23 22:36:01 +02:00
Rico Sta. Cruz
8cefadc9dc docs(Docpress): update GitHub URL 2017-01-23 22:01:51 +02:00
zkochan
d8684c8b5f docs: remove notes about shared store limitations
Since v0.47.0 shared stores work fine on all versions of Node
2017-01-21 19:11:36 +02:00
Zoltan Kochan
1e96e9cde0 docs: remove documentation about global install 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
d86019a3de docs: fix typo in Continuous Integration recipe 2016-10-31 00:48:43 +02:00
zkochan
fe7f1d1a2e docs: delete roadmap and reference milestone v1.0.0 2016-10-30 20:41:13 +02:00
zkochan
c93a81462b docs: document usage in Continues Integration
Close #450
2016-10-30 13:48:43 +02: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
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
7c5e110d3c refactor(store): unite the packages info into one property
BREAKING CHANGE:

store.json structure changed
2016-10-03 00:39:03 +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
f3a564afeb docs(roadmap): remove unlink because it is an alias of uninstall 2016-09-27 21:13:20 +03:00
zkochan
df05c83757 refactor(prune): move the overload of prune to a separate function
Divide the logic of prune into two functions: prune and prunePkgs.

PR #372
2016-09-27 00:02:10 +03:00
zkochan
c27b8ddf48 feat: prune
Close #299
2016-09-27 00:02:10 +03:00
zkochan
40621818bc fix(uninstall): dependencies from all sources can be deleted
pnpm uninstall could not always link the dependency name to the
dependency ID (used in the store). To solve this issue, a dependency
name to ID map is added to the dependencies section of `store.json`.

PR #371

BREAKING CHANGE:

The structure of the `store.json` has been changed.

Previously the dependencies property contained just a list of
dependency IDs. E.g.:

```json
{
  "dependencies": {
    "math": [
      "sum@1.0.0",
      "@zkochan+max@2.1.0"
    ]
  }
}
```

With this structure it was hard to link the dependencies to their IDs.
The new structure uses a map which links the dependency to its ID:

```json
{
  "dependencies": {
    "map": {
      "sum": "sum@1.0.0",
      "@zkochan/max": "@zkochan+max@2.1.0"
    }
  }
}
```

Unfortunately the stores created by older version of pnpm are not usable
after this breaking change. They have to be removed before using the new
version of pnpm.
2016-09-25 21:28:47 +03:00
zkochan
f81becee9b docs(README): improve 2016-09-25 00:55:03 +03:00
zkochan
5ac87837d0 docs(recipes): fix URL to monorepo example 2016-09-18 17:53:49 +03:00
zkochan
2d1e039874 docs(recipes): create a monorepo recipe 2016-09-18 11:31:52 +03:00
Zoltan Kochan
d89b35c6e8 feat(install): install from local packages
close #301, PR #331
2016-08-31 10:55:44 +03:00
Zoltan Kochan
b19369407a fix: don't use ! as a delimiter in the store
! can be part of a valid npm package name. Use + as a
delimiter instead.

close #276, PR #320

BREAKING CHANGE:

Stores created with the ! delimiter are not compatible
with the new version that uses +.

Any store created by older versions of pnpm has to be
removed and reinstalled.
2016-08-28 15:33:07 +03:00
Zoltan Kochan
11c8cd04c2 docs(shared-store): suggest to use the store-path config key
npm has a dash convention not an underscore convention, so better to use store-path instead of store_path, even though, pnpm can work with both.
2016-08-19 20:47:31 +03:00
Zoltan Kochan
83b1e6a34b Implement pnpm link (#302)
close #235
2016-08-19 18:33:55 +03:00
Zoltan Kochan
3518299bdc Update shared-store.md 2016-08-19 02:02:47 +03:00
Zoltan Kochan
0a0b0b8011 Document the possibility to use a shared store
close #1
2016-08-19 01:55:59 +03:00
Zoltan Kochan
5c82717bcd Add additional features to the roadmap
link, unlink, prune, update
2016-08-18 21:07:51 +03:00
Bert Belder
6554fb2e31 npm can also install local tarballs (#287) 2016-08-18 21:00:25 +03:00
Zoltan Kochan
060cf77fb3 Fix reference to API.md 2016-08-16 17:08:29 +03:00
Zoltan Kochan
46bcdac831 Add a public API
No breaking changes. An additional function exposed for package dependencies installation.

close #125
2016-08-16 14:54:56 +03:00
Zoltan Kochan
a45a3fbdd9 Support global install (#288)
close #283
2016-08-14 18:19:09 +03:00
Zoltan Kochan
c11b34990b Document the structure of store.json 2016-08-07 14:31:33 +03:00
Zoltan Kochan
0b1264a372 Uninstall support
close #144
2016-08-07 14:31:33 +03:00
Zoltan Kochan
32ef49b76b Support installing from files
close #21
2016-07-17 13:53:44 +03:00
Rico Sta. Cruz
51329f252d Fix screencast in readme 2016-02-01 20:21:07 +08:00
Rico Sta. Cruz
6c3f4b7e5e Update docs with windows support 2016-02-01 20:11:12 +08:00
Rico Sta. Cruz
2aabfe82fd Add note about publishing bundleDependencies 2016-02-01 18:51:18 +08:00
Rico Sta. Cruz
eb9e4b1e5b Document comparison to npm's flat tree 2016-02-01 18:48:09 +08:00
Rico Sta. Cruz
e65bcdc5cc Update npm docs 2016-02-01 18:44:30 +08:00
Rico Sta. Cruz
edfe77cfb5 Update npm docs 2016-02-01 18:43:53 +08:00
Rico Sta. Cruz
048ea51c9c Update npm docs 2016-02-01 18:41:01 +08:00
Rico Sta. Cruz
43301c77ec Build docpress docs 2016-02-01 18:28:55 +08:00
Rico Sta. Cruz
ed986f4f45 Update docs on store layout 2016-02-01 18:22:05 +08:00
Rico Sta. Cruz
0715d27f7c Add docs 2016-02-01 18:15:24 +08:00