Commit Graph

189 Commits

Author SHA1 Message Date
Zoltan Kochan
1f37f18ab4 fix(install): local subdependencies are installed
PR #332
2016-08-30 21:36:13 +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
1f38086088 feat: support the npm fetch-* configs
Use the retry package to support all the different
retry strategy configurations that can be used with npm:

fetch-retries
fetch-retry-factor
fetch-retry-mintimeout
fetch-retry-maxtimeout

More info about the configs: https://docs.npmjs.com/misc/config#fetch-retries

close #317, PR #327
2016-08-27 21:37:00 +03:00
Zoltan Kochan
1d4a84d7fe refactor: remove js file that is not used 2016-08-27 15:01:29 +03:00
Zoltan Kochan
2e93a1e4c4 refactor: create a separate instance of got for each install 2016-08-27 15:01:29 +03:00
Zoltan Kochan
7baece7f54 fix(scripts): run the main and dependency pkg scripts on the same terms
Use the same set of environment variables when running the main package
scripts and the dependencies package scripts.

close #319, PR #321
2016-08-26 23:46:38 +03:00
Andrey Popp
549ebe0cd3 fix(install): fix installing local scoped pkgs
Previously name of the archive created by `npm pack` was guessed incorrectly for
scoped packages.

Now we instead parse output from `npm pack` which prints tarball filename.

Closes #325, PR #326
2016-08-26 23:01:32 +03:00
Kostya Esmukov
6a766a9771 fix: use the correct protocol via http_proxy
Pass a protocol to caw. Before this change, always HTTP was passed
even when HTTPS was needed.

fix #322
2016-08-26 11:13:05 +03:00
DaveJ
3f33cef9f5 fix(post-install): prefer current node interpreter in child scripts
fix #296
2016-08-25 00:38:17 +01:00
Zoltan Kochan
9bc97e76d4 style: use more ES6 syntax
Use lebab to transpile ES5 code to ES6.
Use eslint to fix styling issues afterwards.
Run all js in strict mode to allow let/const
in Node 4.
2016-08-23 21:12:01 +03:00
Zoltan Kochan
84d9aa508d fix(install): bin files are used once they were created
link_bins was not returning a Promise. As a consequence the
linking step was being completed too early and the next step
was trying to use the bin files which were not yet created.
2016-08-23 17:56:00 +03:00
Zoltan Kochan
83b1e6a34b Implement pnpm link (#302)
close #235
2016-08-19 18:33:55 +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
aea94fdde0 Use cross-spawn instead of child_process in all places
cross-spawn has better Windows support
2016-08-13 14:56:29 +03:00
Zoltan Kochan
b38b65db49 Remove unnecessary polyfills
Promises and Object.assign are available in Node >= 4, so there is no need to have the bluebird and object-assign dependencies.
2016-08-11 01:08:21 +03:00
Zoltan Kochan
5a9e972ed6 Make the locking tests more reliable, cover the CLI with tests 2016-08-11 00:50:55 +03:00
Zoltan Kochan
5e34ee61e5 Covering preserved symlinks with tests
Test only on NodeJS >= 6.3.0

Fix preserved symlinkg on Windows
2016-08-09 19:45:35 +03:00
Zoltan Kochan
a9afddacfd Read package.json before updating (#284)
* Read package.json before updating

Using the cached version of package.json can cause ovewriting of changes

close #280

* Skip GitHub test on CI

The GitHub test fails frequently with 403 error with no good no reason
2016-08-09 20:33:39 +03:00
Zoltan Kochan
ce8ef2c9a8 Assign dependents/dependencies to ctx before uninstall 2016-08-07 14:31:33 +03:00
Zoltan Kochan
5c2b31017d Revert "Use cmd-shim to shim executables on Windows"
This reverts commit 1504d9c394849f3eb0256f703ba9fb392530c7a6.
2016-08-07 14:31:33 +03:00
Zoltan Kochan
36d62770e5 Add the possibility to use a global store
Start the store-path field value with ~/ in order to make the store in the HOME directory

close #214
2016-08-07 14:31:33 +03:00
Zoltan Kochan
70434c5c72 Fix default options overriding passed in ones 2016-08-07 14:31:33 +03:00
Zoltan Kochan
8675c7f641 Remove bin files when uninstalling package 2016-08-07 14:31:33 +03:00
Zoltan Kochan
2910b6746c Change opts.store_path to opts.storePath 2016-08-07 14:31:33 +03:00
Zoltan Kochan
86054af367 Use cmd-shim to shim executables on Windows 2016-08-07 14:31:33 +03:00
Zoltan Kochan
0c247a1f4c Lock store when running commands
close #82
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
a750d3f78f Fix postinstall script execution, cover with unit test 2016-08-07 14:26:11 +03:00
Lukas Eipert
1aedec2d53 add support for registry-auth-token (#278)
resolves #270 #277
2016-08-07 14:09:46 +03:00
Zoltan Kochan
12e87455fc Fix store-path property usage from the configs
During implementation of #166 `camelcase-keys` was used to convert configs to camelcase function options and the underscored store_path option was not updated.
2016-08-05 20:38:16 +03:00
Zoltan Kochan
eedcc846e2 Use junctions on Windows (#269)
close #6
2016-07-30 11:33:23 +03:00
Zoltan Kochan
18dc3b5cfb Respect configuration settings from .npmrc
close #166
2016-07-23 04:07:46 +08:00
Zoltan Kochan
6a0f680fb9 Run install scripts via npm
npm is setting a bunch of environment variables that might be used by the installed packages. Therefore the package scripts have to be always executed by the npm CLI.

fix #168
2016-07-23 04:07:05 +08:00
Zoltan Kochan
d09d106af4 Add Windows CI via AppVeyor
close #258
2016-07-23 04:07:05 +08:00
Zoltan Kochan
32ef49b76b Support installing from files
close #21
2016-07-17 13:53:44 +03:00
Zoltan Kochan
19c3c4338f Support optional dependencies
close #39
2016-07-16 21:36:06 +03:00
Rico Sta. Cruz
b03002da5c Merge pull request #245 from zkochan/issue244
Preserve symlinks on Node.js >=v6.3.0
2016-07-12 11:39:55 +08:00
Rico Sta. Cruz
bbc96b1f8e Merge pull request #243 from zkochan/issue242
Always link package bins
2016-07-12 11:35:02 +08:00
Rico Sta. Cruz
35a9abb244 Merge pull request #237 from zkochan/issue219
Fix issue with installing nested scoped packages
2016-07-12 11:33:06 +08:00
Zoltan Kochan
a33869e441 create command and sh files on windows to link bin files 2016-07-11 23:28:12 +03:00
Zoltan Kochan
d460aeac6d run postinstall and prepublish after installation
close #50
2016-07-10 18:48:22 +03:00
Zoltan Kochan
7e12f30188 Preserve symlinks on Node.js>=v6.3.0
close #244
2016-07-10 18:40:45 +03:00
Zoltan Kochan
4dc308873f Always link package bins
Link package bins to node_modules/.bin even if the packages were cached

close #242
2016-07-09 16:47:49 +03:00
Zoltan Kochan
7e4a13e021 Fix issue with installing nested scoped packages
close #219
2016-07-06 23:19:08 +03:00
Rico Sta. Cruz
19b7db8b4d Merge pull request #199 from andreypopp/pkg-type-github
Resolve hosted github packages
2016-06-19 00:22:06 +08:00
Rico Sta. Cruz
36dc720c00 Merge pull request #161 from rexxars/auth-token
Send auth token if one exists for registry (#167, #105)
2016-06-19 00:21:00 +08:00
Andrey Popp
de870c56b9 feat(resovle): resolve hosted github packages 2016-05-12 13:41:50 +03:00
Ratson
232793704d Support ignore-sripts 2016-05-11 18:29:10 +08:00
Rico Sta. Cruz
b7a16720e9 Install: do symlinks synchronously 2016-04-06 11:34:55 +07:00