Commit Graph

496 Commits

Author SHA1 Message Date
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
Atsushi Yamamoto
9f520c97db
[Tests] nvm exec/nvm run: add --silent tests
Co-authored-by: Atsushi Yamamoto <yamaatsushi927@gmail.com>
Co-authored-by: Jordan Harband <ljharb@gmail.com>
2016-10-11 23:43:10 -07:00
Jordan Harband
1d39e35bd3
[Tests] temporarily skip this failing travis test to unblock progress 2025-02-03 10:50:19 -08:00
Jordan Harband
0641363102
[Tests] install.sh: clean up nvm_detect_profile tests 2024-11-08 10:52:41 +00:00
Jordan Harband
9659af6c16
[Tests] nvm_detect_profile: refactor 2024-11-12 13:31:36 -08:00
menaechmi
abd02e5aae
[Fix] install.sh: fix failing install tests (#3458) 2024-11-12 11:57:02 -06:00
menaechmi
cd22c84026
[New] install.sh: add $ZDOTDIR to zsh search
Fixes #3128
2024-11-06 16:53:58 -06:00
Jordan Harband
1be4257e96
[Tests] update mocks 2024-10-31 14:23:36 -07:00
Jordan Harband
51ea809d63
[Tests] ensure that unit tests use only mocked LTS names 2024-10-30 23:41:50 -07:00
Reetik Rajan
5dc31ac51b
[patch] give a more helpful message when lts alias is mistakenly used 2024-10-05 09:21:42 +05:30
Jordan Harband
da2720a429
[Fix] nvm ls, nvm alias, nvm install: error when an LTS name is invalid 2024-09-04 13:55:11 -07:00
Jordan Harband
9fb9dec710
[Fix] nvm_normalize_lts: error when an LTS name is not lowercase
Fixes #3417
2024-09-04 13:54:41 -07:00
Jordan Harband
9a28dbd394
[actions] use node/install instead of node/run 2024-08-28 11:28:52 -07:00
Jordan Harband
ff7634577b
[Tests] fix broken tests exposed by 863bd63
Leaves 2 non-executable, + some TODOs
2024-08-27 12:46:40 -07:00
Jordan Harband
0ce8f5a52f
[Fix] nvm_download: ensure all args are quoted
Fixes #3411.
2024-08-20 22:33:38 -07:00
Jordan Harband
863bd63cfa
[Tests] set proper permissions on test files 2024-08-23 17:23:12 -07:00
Jordan Harband
0d53381666
[Tests] move sourcing suite to GHA 2024-08-22 13:30:55 -07:00
Jordan Harband
df70535248
[Fix] nvm_auto: Fix bug introduced in c31a867 2024-08-21 10:54:19 -07:00
Jordan Harband
14acd3dcdd
[Fix] nvm install -b: do not attempt to download source on a failed binary download with -b
Fixes #3399
2024-08-01 10:35:37 -07:00
Jordan Harband
271720ebfc
[Fix] nvm install -b: when no binary is available, fail and output a clear message 2024-08-01 13:57:22 -07:00
Jordan Harband
423ee82b4c
[Tests] fix nvm ls-remote unit test 2024-08-01 10:22:28 -07:00
Jordan Harband
87a709741f
[Fix] nvm_get_default_packages: use awk for more reliable file processing
See db19450caa

Fixes #3382
2024-07-28 10:02:08 -07:00
Martin
f439acda4a
[New] nvm use/nvm install: add --save option
Fixes #2849.

Co-authored-by: Martin <maartin00000@gmail.com>
Co-authored-by: Jordan Harband <ljharb@gmail.com>
2022-08-29 16:01:36 +01:00
David Welch
bd090ef7f8
[New] Add support for NVM_AUTH_HEADER env var
Closes #3366

Co-authored-by: David Welch <david@davidwelch.co>
Co-authored-by: Andre Kradolfer <narfdre@gmail.com>
2024-06-21 08:55:22 -06:00
Jordan Harband
4c7d899447
[Tests] ignore travis-ci env vars; improve debug output 2024-07-26 12:04:07 -07:00
Jordan Harband
e597bb208e
[Tests] use a better JSON parsing implementation 2024-06-10 11:33:12 -07:00
Jordan Harband
29dce5edfd
[New] allow .nvmrc files to support comments
In theory, `npx nvmrc` can now be used to validate an `.nvmrc` file that `nvm` will support. Allowances have been made for future extensibility, and aliases may no longer contain a `#`.

Fixes #3336. Closes #2288.

Co-authored-by: Jordan Harband <ljharb@gmail.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
2024-06-07 10:13:00 -07:00
Jordan Harband
b1fa143dd8
[Fix] nvm_get_mirror: ensure only a valid URL is allowed 2023-12-02 14:44:46 -08:00
Jordan Harband
4bdd57ba0f
[Fix] install.sh: when NVM_INSTALL_GITHUB_REPO is set, issue a warning
This should only annoy those testing their PRs; real users should never set this env var
2023-11-02 21:10:09 -07:00
Jordan Harband
d02ddcac2c
[Fix] nvm_get_mirror: disallow some non-URL characters
This should be improved in the future, but is fine for now
2023-11-01 21:01:28 -07:00
Andrius Solopovas
ef7fc2f2c0
[Fix] nvm_get_arch: proper value for alpine linux 2023-09-30 23:54:11 +01:00
Jordan Harband
6743aef70c
[New] nvm_resolve_alias: only resolve one line of a multiline alias file 2023-10-23 14:41:14 -07:00
Jordan Harband
10cdda081f
[Tests] update test mocks (new LTS, iron) 2023-10-25 15:39:12 -07:00
Jordan Harband
8241287349
[New] aliases: skip leading blank lines in alias file 2023-10-23 14:06:19 -07:00
Jordan Harband
bfce5889f7
[Test] update test mocks 2023-10-23 14:53:39 -07:00
zhangdiandian
1b102ab9a6
[Tests] fix filename typo
Signed-off-by: zhangdiandian <1635468471@qq.com>
2023-10-09 07:31:04 +00:00
Oliver Henshaw
15eba7b7e6
[Fix] nvm_strip_path: Preserve leading/trailing colons
Path lists in environmental variables often give special meaning to
empty entries (e.g. in PATH or MANPATH). These are represented by
leading or trailing colons, or by doubled colons in the middle of the
list.

Adjust the awk invocation to correctly deal with trailing colons by
printing the separator before every field except the first, and then
printing the final separator that is read from the input - this will
either be a colon or the null string. This preserves leading and
trailing colons in all cases while not adding extra colons in the wrong
place.

Add test to confirm the correct behaviour.

Fixes #3144
2023-06-21 15:47:52 +01:00
Jordan Harband
55075db96d
[Tests] add some nvm_do_install tests 2022-12-27 22:57:07 -08:00
Deniz
5410ae57ba
[Fix] fix node download link for armv8l
Fixes #3035
2023-04-29 16:41:31 -07:00
Leo Zlotnikov
0d9b5c2a00
[Fix] fix directory traversal when workdir path is not readable 2023-04-08 17:24:41 +01:00
Jordan Harband
b1331c20b0
[Tests] add unit tests for nvm_download_artifact 2023-04-06 09:23:33 -07:00
Jordan Harband
dc691121b8
[Tests] improve debug output on failure 2022-12-27 21:41:39 -08:00
Jordan Harband
ce35311657
[Tests] force the NVM_DIR to the expected location, for tests 2022-12-27 21:40:48 -08:00
Jordan Harband
788c0a425e
[meta] use HEAD instead of master where possible 2022-12-23 12:53:40 -08:00
Jordan Harband
d0bc227127
[Tests] update test mocks 2022-12-22 16:07:00 -08:00
Jordan Harband
bf438742a7
[Tests] move installation_node tests back to xenial 2022-12-22 16:16:10 -08:00
Jordan Harband
447940acb3
[Tests] move tests that fail on focal to a separate suite that runs on xenial 2022-12-22 11:26:27 -08:00
Jordan Harband
4c4b0d64ed
[Tests] fix nvm_list_aliases test to use mocks for LTS aliases 2022-10-26 10:31:26 -07:00
Jordan Harband
df01d81128
[Refactor] add nvm_wrap_with_color_code; allow no color code 2022-10-13 20:16:42 -07:00
Jordan Harband
0698ede92d
[Tests] update test mocks 2022-10-13 12:08:31 -07:00
Maxim Lepekha
7c929f8742
[Fix] install.sh: support ~/.zprofile 2022-09-21 22:38:50 +02:00
deepakchethan
9e884b8d7b
[Fix] nvm install: show proper version in .nvmrc install instructions 2022-03-22 18:58:18 +05:30
Jordan Harband
c2f740ab38
[patch] HTTP -> HTTPS 2022-01-18 12:49:57 -08:00
Luke Arms
81f0f3ec19
[Fix] set -E: Add test for node install on Bash with an ERR trap and set -E 2021-12-27 16:02:25 +11:00
Bob Bregant II
ccd442d833
[Refactor] add nvm_extract_tarball to consolidate extraction logic 2021-12-19 02:58:18 +00:00
Jordan Harband
5cc74a6736
[Tests] fix failing test 2021-12-17 13:21:29 -08:00
Jordan Harband
c4c7690dec
[Fix] ls-remote/install: support lts/-X patterns in installs
Fixes #2692
2021-12-16 23:01:05 -08:00
Jordan Harband
aed1d732d7
[Fix] ls-remote/install: properly handle lts/x patterns 2021-12-16 22:58:06 -08:00
Jordan Harband
0b4cd8df6c
[Refactor] create nvm_normalize_lts helper 2021-12-16 22:55:02 -08:00
Jordan Harband
430860a8be
[Fix] nvm alias/nvm_list_aliases: support lts/ aliases
See #2692
2021-12-16 15:54:38 -08:00
Jordan Harband
2459d17741
[Tests] update test mocks 2021-12-16 23:13:15 -08:00
Jordan Harband
81fc05684d
[Tests] nvm_get_download_slug: add unit tests 2021-12-02 23:33:20 -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
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
Jordan Harband
865d2fe3d6
Include LTS version in nvm_ls_remote output. 2016-04-17 23:39:27 -07:00
Jordan Harband
b2c5616d7a
[Tests] avoid accidental command execution in test failure message. 2016-07-17 19:54:26 -07:00
Jordan Harband
ecbd7d4572 [Tests] use -ex option during tests when possible
Relates to #1130
2016-07-10 19:58:32 -07:00
Jordan Harband
186eb8838d
[Tests] make “nvm use iojs” test actually test that thing. 2016-07-07 15:38:34 -07:00
Jordan Harband
940f850f8d
[Tests] clean up some tests 2016-07-07 01:14:37 -07:00
Jordan Harband
78a008c3c7
[Fix] use Solaris-compatible tail options.
Fixes #1148.
2016-07-06 15:31:25 -07:00
Quildreen Motta
730b253174 Updates tests for the new output messages 2016-07-05 21:40:45 -03:00
Peter Dave Hello
9e09c30621 update nodejs version list 2016-07-01 23:39:54 +08:00
Xavier Cambar
6cee20a071 testing NVM_DIR 2016-06-28 12:36:08 +02:00
Jordan Harband
73aa35f508
[Tests] use $NVM_DIR instead of relative paths 2016-06-26 15:52:26 -07:00
Jordan Harband
ce60b6c44a
[Tests] update test mocks 2016-06-25 17:03:46 -07:00
Jordan Harband
c9b7ccdaea
Run node and io.js installation test suites separately. 2016-05-08 22:21:33 -07:00
Jordan Harband
eeaddf9ab0
Don’t restrict colors to TTYs.
This restriction prevents subcommands from producing colors and passing them up the tree to the actual TTY.
2016-05-08 21:24:24 -07:00
Jordan Harband
8a138d98ed
[Refactor] Use awk to improve version comparison performance 2016-05-05 01:27:17 -07:00
Jordan Harband
6fb94e0dab
[fix] nvm exec: show “io.js” for io.js versions. 2016-05-04 00:33:56 -07:00
Jordan Harband
1c3f8da6c3
nvm alias: factor out alias creation to nvm_make_alias 2016-04-27 14:23:34 -07:00
Jordan Harband
2d50606a78
[Tests] flesh out nvm_print_default_alias tests 2016-04-30 00:38:49 -07:00
Jordan Harband
09f86b0e6e
[Refactor] Create and use nvm_is_version_installed 2016-04-27 17:11:16 -07:00
Jordan Harband
379d079c30
[Tests] Ensure color codes are stripped in alias tests. 2016-04-27 17:05:33 -07:00
Jordan Harband
91c77c6ba8
[Tests] fix shebangs 2016-04-27 17:34:53 -07:00