Commit Graph

78 Commits

Author SHA1 Message Date
Zoltan Kochan
fef01bf7f4 docs: reference docs from pnpm.js.org website 2018-04-07 15:09:39 +03:00
Zoltan Kochan
b3097b4d0c docs: fix error on "pnpm vs npm" page 2017-10-08 02:47:56 +03:00
Zoltan Kochan
8af020ca15 docs: update AppVeyor recipe 2017-10-08 02:34:59 +03:00
zkochan
0bce40f4a5 feat: create @pnpm/self-installer
Create a standalone script for installing pnpm w/o npm.

Close #889
2017-10-08 02:01:11 +03:00
Zoltan Kochan
89e2c76e56 Moving out the installation algorithm to a separate package (#830)
* refactor: remove installation engine code

* refactor: remove engine tests

* fix: sets correct user-agent

* refactor: remove redundant dependencies

* chore: add supi as dependency

* docs: remove programmatic API

* feat: making the bin file also the main file

* chore(greenkeeper): ignore supi
2017-06-29 21:29:04 +03:00
zkochan
697c601318 docs: symlinked node_modules structure 2017-06-28 01:52:40 +03:00
zkochan
6900c90824 docs: updating prior art 2017-06-25 00:23:55 +03:00
zkochan
ceeba97e89 docs: update the "Releasing apps" recipe 2017-06-24 22:20:07 +03:00
zkochan
72d7111806 docs: remove redundant README from root of docs 2017-06-24 22:19:36 +03:00
zkochan
da9c76730e docs: updating infromation abouth the packages store 2017-06-24 22:11:31 +03:00
zkochan
ee3c165195 docs: remove unused image 2017-06-24 22:08:04 +03:00
zkochan
fc49f78366 docs: how directory dependencies are installed 2017-06-17 23:08:35 +03:00
zkochan
725c05bc0c refactor: remove mentions of local-registry 2017-06-13 23:09:03 +03:00
zkochan
56049efde0 feat: all children are always grouped together 2017-05-15 22:12:02 +03:00
Zoltan Kochan
6314b534e4 docs(README): add section about limitations
Close #736
2017-05-14 00:48:19 +03:00
Zoltan Kochan
ef4b1f0ec6 docs: fix bad word choice 2017-05-12 00:53:03 +03:00
Zoltan Kochan
5de380989a fix(linking): packages should not loose their peer deps (#761)
* test(install): peer dependencies should be resolved correctly

* fix(linking): packages should not loose their peer deps

When a peer dependency is resolved not from the direct parent,
dependent packages should be duplicated with hard links in order
to preserve the correct set of resolved peer dependencies.

Semi-breaking change. The node_modules structure is changed but
doesn't need a complete removal of a node_modules created with
previous version of pnpm.

* docs: document how peer dependencies are resolved

Ref #694, Ref #726

* docs: nicer comments in code blocks

* docs: more explanation about peer deps
2017-05-09 18:21:39 +03:00
Zoltan Kochan
a1fa5d1d98 docs: update info about the package store 2017-04-28 22:43:43 +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
ec3416e37b docs: document how to release an app that uses pnpm 2017-04-22 16:53:43 +03:00
zkochan
ee1b390dfb feat: proper resolving of peer dependencies
BREAKING CHANGE: structure of node_modules changed

Close #678, PR #694
2017-04-04 23:00:48 +03: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
224d79b134 docs: document the major differences from npm 2017-03-13 21:49:28 +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
4f484162d4 feat: add offline support
Close #508, Close #659
2017-03-13 02:31:37 +02:00
zkochan
10cacae7fb refactor: remove redundant file 2017-02-20 02:03:19 +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
de00178ca3 refactor: link API
BREAKING CHANGE:

Link API functions changed
2017-02-18 20:32:34 +02:00
zkochan
6ede7a77df docs: remove links to ied
ied is better ranked in organic search results than pnpm.
Linking to a page with similar content makes that page better
ranked by Google. Removing the links gives pnpm better chances to
compete.
2017-02-14 21:52:23 +02:00
zkochan
25a8ac6d35 docs: document the new pnpm.verify() function 2017-02-06 01:18:54 +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
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