Commit Graph

444 Commits

Author SHA1 Message Date
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
Matteo De Wint 93e0070a44
[Fix] `nvm_die_on_prefix`: filter prefixed env vars on name only, ignoring values 2020-11-28 15:16:35 +01:00
Jordan Harband ebbd30eb7f
[Fix] `nvm install-latest-npm`: ensure npm 8 does not install on unsupported nodes 2021-10-05 15:13:45 -07:00
Kaito Udagawa 53f9ba8336
[Refactor] Use awk for path stripping
This works with paths which contains regex meta characters.
2016-12-23 01:03:41 +09:00
Jordan Harband 07c02d43fe
[Tests] `nvm install-latest-npm`: node < 0.10 breaks with npm with dropped support for TLS < 1.2 2021-09-29 10:47:34 -07:00
Jordan Harband fa63399991
[Tests] `postcss` v7.0.36 stopped working on node 0.10; downgrade to v4 2021-09-09 00:05:09 -07:00
Jordan Harband c169d622ff
[Tests] update mocks 2021-09-04 08:57:36 -07:00
Jordan Harband 5b77f7d023
[Fix] `nvm ls`/`nvm alias`/`nvm_list_aliases`: zsh: when no LTS aliases, no error
Fixes #2575.
2021-09-01 10:06:32 -07:00
Thomas Geirhovd e98e9d9e4b
[Fix] `install`: Detect correct profile based on $SHELL var 2021-08-12 15:51:32 +02:00
nmarghetti f2582275f6
[New] maybe support Windows with WSL, MSYS, Cygwin 2021-01-02 00:03:24 +01:00
nmarghetti d118be8fd4
[Tests] Add unit tests for `nvm_is_version_installed` 2021-02-21 18:48:43 +01:00
Botspot 779a34e6a9
[Fix] `nvm_get_arch`: Rasbperry Pi: armv7l with arm64 kernel, get correct arch
Co-authored-by: Botspot <54716352+Botspot@users.noreply.github.com>
Co-authored-by: Jordan Harband <ljharb@gmail.com>
Co-authored-by: Sladyn Nunes <sladynnunes98@gmail.com>
2021-03-22 14:56:25 -05:00
Sladyn Nunes 2b5e53fcd5
[Fix] install script: check the proper version; fetch tags also
Co-authored-by: Sladyn Nunes <sladynnunes98@gmail.com>
Co-authored-by: Jordan Harband <ljharb@gmail.com>
2021-04-01 19:06:40 +05:30
Jordan Harband f534fde760
[Tests] `node-gyp` v8 breaks this test 2021-04-06 12:36:07 -07:00
Rodrigo Espinosa de los Monteros 4da7f101a2
[Fix] `nvm_alias`: ensure `lts/-1` returns the one before `lts/*`
Fixes #2461
2021-03-11 16:22:31 -05:00
Jordan Harband 641f86879f
[Tests] update mocks
- make call count test depend on mocks
2021-03-11 13:06:41 -08:00
Vesa Vilhonen 52f67b3677
[Fix] `exec`: `--` should stop argument parsing
Co-authored-by: Vesa Vilhonen <vesa@vilhonen.com>
Co-authored-by: Sladyn Nunes <sladynnunes98@gmail.com>
2020-11-20 13:06:28 +02:00
Sladyn Nunes 4fdef427e4
[New] `install`: add `-b` flag to skip building from source
Fixes #2114.
2021-02-16 19:34:23 +05:30
nmarghetti 7f6c0c053a
[Refactor] add `nvm_install_binary_extract` 2021-01-02 00:03:24 +01:00
nmarghetti d396181ffb
[Refactor] add `nvm_get_artifact_compression` 2021-01-02 00:03:24 +01:00
Dena Burd 2fea55fdb5
[Tests] add test that fails without fix for #2362 2021-01-15 14:07:47 -08:00
nmarghetti 502089ae30 [New] install script: Allow installation from other repository also for git method 2021-01-14 00:10:19 +01:00
nmarghetti 60e78d3ec1
[Tests] Add unit test for nvm_download 2021-01-13 02:26:38 +01:00
nmarghetti 9f3397afa4
[Tests] add `nvm_grep` to install script, fix tests 2021-01-08 18:54:40 +01:00
Jordan Harband 436cda247e
[Fix] remove `nvm_supports_source_options`
Fixes #2387
2021-01-07 13:00:26 -08:00
nmarghetti 9849bf494d
[meta] Rename some files to be more cross platform 2021-01-04 00:49:05 +01:00
nmarghetti 4e9df33cb7
[New] install script: Allow installation from other repository 2020-12-27 10:09:29 +01:00
David Moles d4eba354b5 [Fix] `install`: Ignore npm command under $NVM_DIR when checking for global modules 2020-11-30 15:22:24 -08:00
Jordan Harband 3b57dfec8d
Revert "[Fix] `nvm_die_on_prefix`: only grep lines starting with env var name" (#2347)
This reverts commit 21c0c05130.

Fixes #2360. Fixes #2364. Fixes #2366.
2020-11-27 21:28:12 -08:00
Dena Burd 6848c16d53
[New] Added `set-colors` command. See details below:
This command allows users to replace default colors with their own custom colors.

 - top-level commands modified: alias, ls, ls-remote
 - helper functions added: nvm_echo_with_colors, nvm_err_with_colors,
nvm_set_colors, nvm_get_colors, nvm_print_color_code
 - functions modified: nvm_print_formatted_alias, nvm_print_versions, nvm_print_alias_path (implicitly), nvm_print_default_alias (implicitly), nvm_list_aliases (implicitly)

We added tests and info on using this command to the README!

Co-authored-by: Dena Burd <29719099+gitburd@users.noreply.github.com>
Co-authored-by: Naomi Quinones <52065567+naomiquinones@users.noreply.github.com>
2020-08-17 14:56:13 -07:00
Matteo De Wint 21c0c05130 [Fix] `nvm_die_on_prefix`: only grep lines starting with env var name 2020-11-16 11:35:26 +01:00
Alex Aubuchon 00af6341f7
[Tests] Run fast test suite in clean environment 2020-11-03 19:05:34 -05:00
Jordan Harband 499d303746
[Perf] `use`/`nvm_die_on_prefix`: replicate npm config algorithm and remove `npm config` call 2020-08-24 22:44:25 -07:00
Dena Burd c72f2c6f21
[Fix] `nvm ls-remote`: accept versions that end with a dot
Fixes #983.
2020-09-24 13:46:29 -07:00
Alex Aubuchon f2c5ce459a
[Tests] Fix nvm unload fast test cleanup 2020-10-22 20:43:36 -07:00
Alex Aubuchon e77ed07ccc
[Tests] Fix `nvm_ls_current` fast test 2020-10-13 12:32:41 -04:00
Dylan Armstrong e01060fa2c
[Fix] `nvm_die_on_prefix`: use directory comparison rather than string 2020-10-09 09:43:21 -05:00
Dylan Armstrong 96069da0d5
[Fix] `nvm_ls`: zsh: unset `markdirs` and `local_options`
Fixes #2315.
2020-10-09 09:43:21 -05:00
Jordan Harband 6e0562ac6d
[Tests] pin postcss to v7 2020-09-21 15:40:41 -07:00
Jordan Harband cf92956e5d
[New] add `nvm_find_project_dir` helper 2020-08-23 14:40:42 -07:00
Jordan Harband 1d88ecfce5
[Fix] `nvm_die_on_prefix`: check that the prefix is inside the version dir, not just the nvm dir
- also pass the version dir as the third argument
2020-08-23 22:50:41 -07:00
Yash-Singh1 b1200c659b
[Fix] `nvm use`: fix `--silent` when version is omitted
Fixed a bug where --silent mode was failing for nvm use I ran a test
 that just ran ```nvm use node --silent``` that I wrote by myself.
 Unfortunately I noticed a bug where it still prints out some messages in
 different cases. This pull request is to fix that bug. * Added in an argument
 called ***quiet***  to the nvm_rc_version() function at *line 339* * Printed
 anything inside the nvm_rc_version() only in the scenario where quiet mode is
 off * Ran the nvm_rc_version() function in quiet mode only if silent mode is
 on in the "use" command of nvm at *line 2990* * Ran *nvm_echo* and *nvm_err*
 inside the "use" command of nvm only in the scenario where silent mode is off
 (There were 4 scenarios where this was forgotten) * Edited the ```nvm
 deactivate``` command to include a silent mode * Changed the help page to
 include the --silent option for ```nvm deactivate``` * Added in aliases for
 the --silent flag in ```nvm deactivate``` and ```nvm use``` * Used silent
 mode inside the ```nvm use``` when running ```nvm deactivate``` inside it and
 silent mode is on A test was attached in the 'test/slow/nvm use' directory.
 It is named *Running "nvm use node --silent" doesn't print anything*. It runs
 ```nvm use node --silent and checks``` and succeeds if the OUTPUT matches the
 EXPECTED_OUTPUT which is *null*  or *''*. When the test was run locally, it
 still ouputed results if someone deleted some contents of the *.nvm/* folder.
 This output was given from the ```nvm deactivate command```. This was the
 reason that the ```nvm deactivate``` was edited to include silent mode.
2020-08-08 17:27:46 -07:00
Naomi Quinones 1bf567bd0b
[Fix] ensure `--help` is intercepted on any command
Co-authored-by: Naomi Quinones <52065567+naomiquinones@users.noreply.github.com>
Co-authored-by: Dena Burd <me@Denas-MacBook-Air.local>
2020-08-04 16:32:19 -07:00
Kayla Altepeter a5aec107df
[New] adding default and alias option to `nvm install`
For: `nvm install 8.12.0` after install:

--alias=8 is equivalent to `nvm alias 8 8.12.0`
--default is equivalent to `nvm alias default 8.12.0`

Co-authored-by: Kayla Altepeter <kayla@kaylaaltepeter.com>
Co-authored-by: Dena Burd <me@Denas-MacBook-Air.local>
Co-authored-by: Jordan Harband <ljharb@gmail.com>
2018-10-22 08:32:29 -05:00
Jordan Harband 424aeb38b4
[Refactor] add `nvm_get_checksum_binary`; use it in `nvm debug` 2020-07-31 22:13:21 -07:00
Jordan Harband abfe0a5891
[Refactor] remove unused `nvm_checksum` function 2020-07-31 22:10:28 -07:00
Jordan Harband 6575b6b052
[Fix] `install`: improved arg parsing around `--reinstall-packages-from`
Fixes #1762
2020-06-04 16:15:39 -07:00
Sehrope Sarkuni 91a55dd91a
[Refactor] Rename solaris and iojs helper functions to be nvm_ prefixed
Renames node_version_has_solaris_binary and nvm_iojs_version_has_solaris_binary
to be prefixed with nvm_ so they do not show up in tab completion following the
word "node".
2020-05-08 16:08:27 -04:00
Magnus Markling b02617028f
[Tests] Source nvm.sh before defining FILE 2020-03-19 12:13:29 +01:00
Jordan Harband 4626d1aae6
[New] add `lts/-1` etc, to point to an LTS line relative to "latest" 2020-03-04 01:03:36 -08:00
Jordan Harband c372ff03e0
[Tests] update mocks 2020-03-04 00:44:35 -08:00
Jordan Harband b9536327ae
[Fix] `nvm ls-remote`: properly label latest LTS versions instead of just the latest one in the filter
Fixes #2166
2020-02-21 21:27:13 -08:00
Jordan Harband e609091a55
[Tests] update test mocks 2020-02-22 09:06:59 -08:00
Jordan Harband 4cd6b4822c
[Tests] try to make `nvm unload` test more robust 2020-02-09 06:41:52 -10:00
Jordan Harband f4eddb2c9c
[Tests] ensure `nvm unload` unsets env vars too 2020-02-07 09:16:55 -10:00
Jordan Harband 0899839b95
[Tests] pin `david` to v11
v11.1.0 and v12 no longer work on node 0.10; v11.1.1 should.

See https://github.com/alanshaw/david/issues/159
2019-12-09 08:51:46 -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