Commit Graph

416 Commits (4fdef427e4b1d563570ba5992bdbe7d7e23f025b)

Author SHA1 Message Date
Jordan Harband 2a513a1bc0
[Fix] `nvm_ls`: Reverts #1462 to fix io.js sorting.
<details>
<summary>Before this revert:</summary>

```sh
iojs-v3.3.1
iojs-v2.5.0
v0.6.21
v0.7.12
iojs-v1.8.4
v0.8.28
v0.9.12
v0.10.48
v0.11.16
v0.12.9
v0.12.18
v0.12.87
v4.9.1
v5.11.1
v5.12.0
v6.14.4
v6.16.0
v7.10.1
v8.6.0
v8.9.1
v8.10.0
v8.11.3
v8.11.4
v8.12.0
v8.13.0
v8.14.1
v8.15.0
v9.11.2
v10.0.0
v10.1.0
v10.2.1
v10.3.0
v10.4.1
v10.5.0
v10.6.0
v10.7.0
v10.8.0
v10.9.0
v10.10.0
v10.11.0
v10.12.0
v10.13.0
v10.14.2
v10.15.1
v11.0.0
v11.1.0
v11.2.0
v11.3.0
v11.4.0
v11.5.0
v11.6.0
v11.7.0
v11.8.0
v11.9.0
v11.10.0
```
</details>

<details>
<summary>After this revert:</summary>

```sh
v0.6.21
v0.7.12
v0.8.28
v0.9.12
v0.10.48
v0.11.16
v0.12.9
v0.12.18
v0.12.87
iojs-v1.8.4
iojs-v2.5.0
iojs-v3.3.1
v4.9.1
v5.11.1
v5.12.0
v6.14.4
v6.16.0
v7.10.1
v8.6.0
v8.9.1
v8.10.0
v8.11.3
v8.11.4
v8.12.0
v8.13.0
v8.14.1
v8.15.0
v9.11.2
v10.0.0
v10.1.0
v10.2.1
v10.3.0
v10.4.1
v10.5.0
v10.6.0
v10.7.0
v10.8.0
v10.9.0
v10.10.0
v10.11.0
v10.12.0
v10.13.0
v10.14.2
v10.15.1
v11.0.0
v11.1.0
v11.2.0
v11.3.0
v11.4.0
v11.5.0
v11.6.0
v11.7.0
v11.8.0
v11.9.0
v11.10.0
```
</details>

In other words, the sorting needs to happen *before* the `NVM_NODE_PREFIX` is removed.
2019-02-23 15:02:31 -08:00
Jordan Harband 48196d2436
[Tests] fix fake node versions 2019-02-23 14:47:49 -08:00
Jordan Harband db19450caa
[Fix] `default_packages`: work when the file lacks a trailing newline
Fixes #1995.
2019-02-02 13:45:11 -08:00
Jordan Harband 5c117e6ab3
[Refactor] extract “get default packages” logic to `nvm_get_default_packages` 2019-02-01 13:27:18 -08:00
Lucas Kellner 02997b0753
[Docs] `unalias`: add more specific error message for builtin aliases 2019-01-23 16:39:57 -08:00
Peter Dave Hello cc0750eb5d
[Fix] `install`: Add missing io.js installation message
Fixes #1988
2019-01-22 15:46:29 +08:00
Peter Dave Hello 7e715d5c73
[Tests] Improve syntax in "test/installation_iojs/nvm install v1 works" 2019-01-23 03:10:03 +08:00
Jordan Harband c1150c41ab
[Tests] avoid using shopt in zsh 2018-11-26 11:18:11 -08:00
Erik Lilja 8542df4ac5
[New] add support for `$XDG_CONFIG_HOME` 2018-08-14 21:45:40 +02:00
Jordan Harband f218a85454
[Tests] eslint 5.5+ seems to not install on node 0.10 2018-09-09 14:56:17 -07:00
Jordan Harband e7a37f336d
[Tests] fix failing tests on master due to npm registry SSL changes 2018-08-15 15:01:47 -07:00
Xandor Schiefer 90cfb5d771
[Fix] `use`: Prepend instead of changing if shadowed by system dirs (fixes #1652) 2018-06-08 15:23:02 +02:00
Joshua Li 0cdc184168
[Fix] Improve `nvm_is_version_installed` to check for a node executable instead of root dir 2018-05-31 15:26:30 -07:00
Joshua Li a5f42d9cea
[Tests] update most mkdirs to use make_fake_{node,iojs} 2018-06-13 10:38:19 -07:00
Xandor Schiefer eabd7ab13d
Respect previously nvm-loaded node version when sourcing 2016-11-14 19:18:24 +02:00
Spike Grobstein 9854928ba9
[New] `install.sh`: allow user to explicitly opt out of nvm adding the source string
this is done by checking if the user supplies `PROFILE=/dev/null` when running `install.sh`, the `nvm_detect_profile` function will not output any strings, causing `nvm_do_install` to skip adding `SOURCE_STR`.
2018-05-03 08:22:07 -07:00
Jordan Harband c465a83518
[Tests] `nvm ls-remote`: add test for overly-large tab file 2018-05-23 23:48:04 -04:00
Jordan Harband 38b32c27f3
[Tests] update mock data 2018-05-23 23:48:50 -04:00
Peter Dave Hello 113d807e5a
[New] Support `--no-progress` for `nvm install`
Closes #1079.
2017-03-10 01:07:16 +08:00
Peter Dave Hello 685312d600
[Fix] Remove $NVM_DIR trailing slash automatically, fix #1708 2018-04-12 14:14:58 +08:00
Peter Dave Hello d5dacdf80f
[Fix] `nvm debug`: Fix sed syntax error in nvm_command_info() 2018-04-17 18:09:47 +08:00
Peter Dave Hello e7b42198b4
[Fix] Improve .nvmrc reading process
Fixes #1015. Fixes #1712.
2018-02-20 03:34:43 +08:00
Peter Dave Hello b15709e637 Turn off wget's output in nvm_get_latest()
curl output is turned off by `-s` in the same place, we should unify the
behavior on wget, also, this help removes those wget outputs that can't
fit our coding style tests. cc #1739
2018-04-12 23:44:27 +08:00
Brian M. Jemilo II 68fe26a5e4
[Fix] Add autocompletion support to zsh
Fixes #1707.
2018-04-09 14:54:28 -05:00
Jordan Harband 918a39a0d0
[Tests] update mocks 2018-04-09 23:29:37 -07:00
Jordan Harband 0e3bb2cc47
[Fix] ensure --reinstall-packages-from has a version number.
Fixes #1760.
2018-03-14 00:13:07 -07:00
Josh Soref 2859a19bbd
[Docs] fix spelling 2018-03-06 04:38:01 +00:00
Peter Dave Hello d6fa67166c
[Fix] `reinstall-packages`: Prevent install/link when no packages found
Fixes #1744.
2018-02-27 14:05:33 +08:00
Peter Dave Hello 750571056c
[Fix] Correct most of the wrong indentation 2018-02-26 02:20:21 +08:00
Peter Dave Hello 9f34b3e95c Remove trailing space 2018-02-26 01:03:01 +08:00
Peter Dave Hello 41ec44f6b5 Add missing final newline in test script 2018-02-26 01:02:41 +08:00
Peter Dave Hello 2cd2c0f72e Remove useless trailing newlines 2018-02-26 01:01:30 +08:00
Jordan Harband 71032cfaa1
[Tests] update to latest npm in this test 2018-02-08 22:53:41 -08:00
Yannick Ihmels 7ca8acc98d
[Docs] [Tests] Add escape sequences; add test for aliased `.` 2018-01-13 21:25:30 +01:00
Jordan Harband 4846d57c69
`nvm use`: perfect pre-npm-config env var checking 2017-12-05 00:00:18 -08:00
Ahmad Magdy bacdd95591 Update test/install_script/nvm_install_with_node_version to use nvm ls 8 instead of grep! 2017-11-30 15:33:01 +01:00
Ahmad Magdy 4b0563093c Add test nvm_install_with_node_version under test/install_script 2017-11-30 15:23:37 +01:00
Jordan Harband a57fe846e8
[Fix] `set -u`: ensure `NVM_USE_OUTPUT` is always set.
Fixes #1671.
2017-11-23 10:02:37 -06:00
mail6543210 9352f6913a Add symbolic link for printf in case of command-not-found 2017-11-22 02:01:38 +08:00
Phileas Lebada be171bba33 Add unset-variable as exit error 2017-11-15 17:19:05 +01:00
Xandor Schiefer 334897ae39
Preserve PATH locations order when changing versions 2016-11-14 19:19:39 +02:00
Jordan Harband c0b56d03a1
[Fix] `install-latest-npm`: `io.js` `v1.0.x` has weird behavior with npm v4.6.x.
- comment out node 0.6 test due to travis-ci breakage
2017-09-07 15:57:09 -07:00
Jordan Harband cbdd41eee2
[New] `nvm install`: add `--latest-npm` option to automatically try to upgrade to the latest working version of `npm`.
- also add `nvm install-latest-npm` top-level command
2017-06-11 14:15:04 -07:00
J Huang 7965796569
[Fix] enable curl compression only on curl >=7.21.0
curl < 7.21.0 will output redirection reponse body to the output when compressed, which will cause tarball is prepended with redirection reponse body and leads to checksum mismatch.

 - add `nvm_curl_use_compression` and `nvm_curl_version`
2017-06-10 15:25:26 +08:00
Weston Ganger 7f3145bc98
[New] add support for `$NVM_DIR/default-packages` file 2017-03-28 09:37:14 -07:00
Jordan Harband dc5dfe3bc1
[Fix] set IFS to default for all nvm commands.
Fixes #1227. Fixes #1244. Fixes #1514. Fixes #1518.
2017-04-28 00:41:55 -07:00
Peter Dave Hello a66a9caa1c
[Tests] Use node v0.10.7 for thread para test as other install from src tests 2017-04-09 13:08:04 +08:00
Peter Dave Hello c6866eeb37
[Test] "nvm alias" lts test bug fix 2017-04-02 14:34:04 +08:00
Jordan Harband 4249b1c2bb
[Fix] `nvm_ensure_version_installed`: add `system` support.
Relates to #1238
2017-03-31 00:52:56 -07:00
Jordan Harband b9f9977cdd
[Fix] `nvm install -s`: npm detection
- add `nvm_use_if_needed`
 - add `nvm_install_npm_if_needed`
2017-03-27 15:00:50 -07:00
Peter Dave Hello 7b253c8c0a
[New] Supercharge `nvm debug` output
Try to get shell version, OS and its version, curl/wget/git version.
2017-03-23 14:48:00 +08:00
Peter Dave Hello 973dfc6d4a [New] Dynamically detect if curl supports `--compressed` 2017-03-23 16:51:20 +08:00
Peter Dave Hello 6a3b1dd2c3 [New] Enable curl auto compression/decompression
Enable `--compressed` parameter on curl to automatically enable
compression on request content by sending coressponding header, if the
server side supports compression format like deflate or gzip, curl will
also decompress the content automatically, so there is no additional
works need to done manually on client side, but just enjoy the benifits
of bandwidth and time saving!

Take https://nodejs.org/dist/index.tab as an example which is last
modified on Tue, 14 Mar 2017 22:41:05 GMT, the compressed transmission
only take 4829 bytes howevet the not compressed on taks 48000 bytes,
which is about 10 times larger!

This feature can be traced back to Sep 3 2002, in curl commit:
 - 64bbe9dfaf

So should be supported on various versions widely.
2017-03-23 16:51:20 +08:00
Peter Dave Hello fa3631fee3
[Refactor] Add `nvm_has_non_aliased` 2017-03-20 16:57:26 +08:00
Matthew McEachen 1e6b5ce039
[Fix] stop setting mirror env vars unnecessarily
Fixes #1429
2017-03-16 23:54:55 -07:00
Peter Dave Hello 9593616b8c [Fix] NVM_PROFILE bash/zsh detection in installation 2017-03-15 14:34:28 +08:00
Peter Dave Hello 182a18d911
[Fix] Github should be GitHub 2017-03-09 23:02:08 +08:00
Peter Dave Hello 8e6201b5b1
[Tests] Update test mocks 2017-03-10 18:02:47 +08:00
Jordan Harband 6fc0241c21
[Fix] `install.sh`: only un-interpolate $HOME for the profile source string.
Fixes #1384.
2017-02-12 00:32:49 -08:00
Jordan Harband affcc5087c [Fix] `set -e`: `nvm install lts/something`: call `nvm_ensure_default_set` with the proper value.
Fixes #1394.
2017-02-11 23:19:29 -08:00
Ryan Wheale 1b2305232f
[install script] Use `$HOME` variable in `NVM_DIR` 2017-01-12 10:55:56 -07:00
Jordan Harband 0f6997d90a [Tests] remove the unused and broken `$NVM_PATH`. 2016-12-16 11:23:23 -08:00
Jordan Harband 47c60dfc1d
[Tests] add test to ensure that `nvm unload` unloads all functions. 2016-11-28 12:50:35 -08:00
Peter Dave Hello 65acb403ce
Add `nvm_clang_version` to ensure clang version > 3.5 2016-11-14 12:28:41 +08:00
Peter Dave Hello 9c92b5a4ea
[New] `nvm install`: Print the version that is being installed 2016-11-06 20:43:47 +08:00
Peter Dave Hello f7763c8ba9
[Tests] die() in tests should quote "$@" for echo 2016-11-07 03:34:36 +08:00
Jordan Harband 24f8ae5c46
[New] support external install hook “$NVM_INSTALL_THIRD_PARTY_HOOK”.
Fixes #1207.
2016-11-03 23:42:55 -07:00
Qiangjun Ran cadbbced20
[Tests] Replace all dots with backslash dots 2016-11-03 23:44:59 -07:00
Jordan Harband 76fe1ab1c6
[Fix] ensure that `lts/*` points to boron/latest, not argon/earliest.
- update test mocks
 - fix tests for Boron release

Fixes #1268.
2016-10-18 11:33:07 -07:00
Jordan Harband f9e14b7d4d
[Fix] `nvm uninstall`: work around `nomatch` `zsh` option.
Fixes #1228.
2016-10-04 01:43:24 -07:00
Jordan Harband a29d0e49dc
[Tests] improve + update test mocks 2016-09-28 22:42:48 -07:00
Peter Dave Hello 702d52f23b update test mocks 2016-09-29 10:27:24 +08:00
Jordan Harband d12ccb130d
[Fix] `zsh`: when `warncreateglobal` is set, this line warns for some reason. Use `env` to suppress it.
Fixes #1236.
2016-09-18 13:39:50 -07:00
Jordan Harband acbdd9a3fa
[Fix] Fix trailing whitespace in `nvm ls-remote` 2016-09-18 12:26:06 -07:00
Jordan Harband f60edbb6b4
[Tests] update test mocks 2016-09-18 11:58:18 -07:00
Jordan Harband ecba036cbf
[Tests] show `type` output for debugging 2015-12-21 23:59:44 -08:00
Jordan Harband d5f1d4530f
[Tests] `chmod a-x` on io.js source tests, for now.
TODO: fix.
2016-08-21 22:52:54 -07:00
Jordan Harband adb6a187a9
[Tests] try v3.3 instead of v1 in hopes they will compile faster. 2016-09-02 23:43:47 -07:00
Jordan Harband 32a1b4124c
Use `watch` to keepalive stdout while installing. 2016-09-02 23:43:47 -07:00
Jordan Harband 88ce2103f5
Use `watch` to keepalive stdout while installing. 2016-09-02 23:43:46 -07:00
Jordan Harband 9b8eab3163
[New] Add `nvm install -s iojs` support. 2016-09-02 23:43:46 -07:00
Jordan Harband 57c2004ab2
[Breaking] adapt `nvm_install_node_binary` to `nvm_install_binary`, eg, io.js too.
- `nvm_get_checksum` now accepts 5 args (from 3): flavor (node/iojs), type (binary/source), version, slug, compression (xz/gz)
 - `nvm_install_binary` accepts 3 args (from 2): flavor (node/iojs), kind (std), version
 - remove `nvm_install_iojs_binary`
2016-09-02 23:43:46 -07:00
Jordan Harband 2214cb7ad7
[Breaking] cache previously downloaded artifacts for source installs
- `nvm uninstall` no longer removes source artifacts
2016-09-02 23:43:46 -07:00
Jordan Harband eba50de75e
Add `nvm_compare_checksum`, `nvm_compute_checksum`, and `nvm_get_checksum` 2016-09-02 23:43:45 -07:00
Jordan Harband 1ac7e236b1 [New] Add `lts/foo` support to remote commands.
- `nvm ls-remote`
 - `nvm version-remote`
 - `nvm install`
 - `nvm uninstall`

Document existing support:
 - `nvm use`
 - `nvm exec`
 - `nvm run`

Fixes #1208.
2016-08-23 10:58:00 -07:00
Jordan Harband 54cc3a383e
[Tests] set -ex options on more tests 2016-08-14 09:48:25 -07:00
Jordan Harband d3d768adcd
Add `nvm_get_mirror` 2016-08-10 23:09:54 -07:00
Jordan Harband 9c65197b22
Add `nvm_get_checksum_alg` 2016-08-09 22:24:09 -07:00
Julien Gilli a32b914bab Fix nvm on SmartOS setups using 64 bits pkgsrc repository
On SmartOS setups using 64 bits pkgsrc repositories, `nvm_get_arch`
would not handle pkg_info's output properly.

This would result in nvm not being to install any node binary when
running on SmartOS setups using a 64 bits pkgsrc repository.

This change fixes this problem, and fixes the tests suite on similar
setups.
2016-07-29 14:08:31 -07:00
Jordan Harband 876d117376
[Tests] add `nvm run --lts` tests. 2016-07-18 00:35:01 -07:00
Jordan Harband 58a82a1d31
[Tests] add `nvm exec --lts` tests. 2016-07-17 19:54:10 -07:00
Jordan Harband 42fedf6bc9
[Tests] add some basic `nvm use --lts` tests 2016-07-03 08:37:03 -07:00
Jordan Harband 4c010f442e
[Tests] add tests for auto-creation of LTS aliases on `nvm_ls_remote` 2016-07-02 21:21:16 -07:00
Jordan Harband f0668fd577
[Tests] `nvm alias --lts`: add tests 2016-06-26 15:11:37 -07:00
Jordan Harband 655830eb58
[Tests] `nvm install --lts`: add tests 2016-06-26 13:57:01 -07:00
Jordan Harband e6606458f7
[Tests] add `nvm version-remote` unit tests. 2016-06-26 13:01:12 -07:00
Jordan Harband d2744014df
[Tests] add some basic `nvm ls-remote` unit tests. 2016-06-25 17:00:19 -07:00
Jordan Harband 4699657e98
Add `--lts=argon` etc, so the LTS line can be targeted. 2016-04-25 00:55:35 -07:00
Jordan Harband 1d908d8256
Add `--lts` support to `nvm version-remote` 2016-04-24 16:26:32 -07:00
Jordan Harband ae07c3c345
Add support for `nvm ls-remote --lts` 2016-04-23 23:47:25 -07:00