Commit Graph

1033 Commits

Author SHA1 Message Date
Jordan Harband
b1fa143dd8
[Fix] nvm_get_mirror: ensure only a valid URL is allowed 2023-12-02 14:44:46 -08:00
Jordan Harband
cc765cc000
[Fix] avoid overridden hash
Fixes #3239
2023-11-24 20:42:53 -08: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
1f970ccb7a
[Fix] nvm_normalize_lts: switch from expr to case
avoids `expr: warning: ^lts/-[1-9][0-9]*: using ^ as the first character of a basic regular expression is not portable; it is ignored`
2023-11-01 12:24:29 -07: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
8241287349
[New] aliases: skip leading blank lines in alias file 2023-10-23 14:06:19 -07:00
Jordan Harband
6aeab3349c
[Robustness] nvm_list_aliases: avoid overwritten sort 2023-10-23 14:05:37 -07:00
Jordan Harband
1eaaada499
[Perf] nvm_check_file_permissions: do not traverse into symlinks 2023-08-25 22:49:41 -07:00
Jordan Harband
c92adb3c47
v0.39.5 2023-08-21 21:10:10 -07: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
324b81a722
[Fix] allow checksums to pass with a leading backslash
See https://unix.stackexchange.com/a/555061/137489
2023-08-06 14:51:48 +12:00
Jordan Harband
3afdce0a2c
[Fix] nvm install-latest-npm: ensure npm 10 does not install on unsupported nodes
See https://github.com/npm/cli/pull/6674
2023-07-26 13:21:03 -07:00
Jordan Harband
8fbf8ab694
v0.39.4 2023-07-24 18:29:54 -07:00
Deniz
5410ae57ba
[Fix] fix node download link for armv8l
Fixes #3035
2023-04-29 16:41:31 -07:00
Jordan Harband
c08b38a2a4
[Fix] nvm_print_npm_version: if npm exists but its node crashes, do not print the npm version 2023-04-28 10:57:57 -07:00
Jordan Harband
a07cd41af1
[Fix] nvm_ls_current: when node is present but crashes immediately, echo "none" 2023-04-28 10:55:03 -07:00
Leo Zlotnikov
0d9b5c2a00
[Fix] fix directory traversal when workdir path is not readable 2023-04-08 17:24:41 +01:00
Dennis
dde04f9392
[Fix] recognize 32Bit docker container and use x86 arch 2023-03-22 14:52:40 -07:00
William Baker
ffcb5213e2
[Perf] Improve performance of listing aliases
Fixes #3054
2023-03-10 00:53:29 -05:00
Nicolas signed-log FORMICHELLA
edacf8275e
[Fix] Remove unneeded call to ls in nvm_arch
Remove the call to `ls` that was used to determine the symlink
destination

Reasoning :

* `od` resolves symlink itself due to the use of `fopen`
* Prevent the behaviour of `od` which will hang if the filename is
  empty (i.e. `/sbin/init` missing) as it will be waiting for `stdin`
  compared to quitting with error if the file just doesn't exist

Fixes #3006
2023-01-22 11:48:59 +01:00
Jordan Harband
552db40622
v0.39.3 2022-12-23 12:57:56 -08:00
Jordan Harband
ac357c59ef
[Fix] nvm install-latest-npm: npm v6.14.18 can not be installed from npm < v4.4.4 2022-12-21 14:28:15 -08:00
Jordan Harband
abe5e30a9d
[shellcheck] remove duplicate function 2022-12-22 13:00:12 -08:00
Jordan Harband
1f4bb91ae6
[Fix] ensure this variable is bound
Fixes #2926
2022-10-26 10:12:06 -07:00
Jordan Harband
924d77cc90
[Fix] debug: correct mistaken -V to --version from #2922 2022-10-24 10:51:20 -07:00
ryenus
095a4ca655
[Fix] debug: awk: not an option: --version
On Debian, the default awk/mawk doesn't support the '--version' option;
instead there's mawk-specific '-W version'.
2022-10-21 16:48:00 +08:00
ryenus
9721791563
[Fix] grep: warning: stray \ before /
No need to escape the `/` char in a grep pattern.
This is to fix the below error when using newer grep with `nvm_command_info`

> $ nvm_command_info curl
> grep: warning: stray \ before /
> /usr/bin/curl

This happens with at least GNU grep 3.8 version.
2022-10-20 10:49:43 +08:00
ryenus
89d6cdd6cf
[Fix] improve backward compatibility for non-gnu awk
Adding function alen(arr) since length(arr) is GNU extension.
Fixes #2916
2022-10-18 11:25:12 +08:00
epoweripione
fe6268c021
[Fix] nvm install error unknown condition: -ne
Fixes #2914

Co-authored-by: epoweripione <siyuwuxin@gmail.com>
Co-authored-by: Jordan Harband <ljharb@gmail.com>
2022-10-15 20:25:52 +08: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
0ccd099bff
v0.39.2 2022-10-13 16:25:25 -07:00
Jordan Harband
f062cca179
[Refactor] nvm install/nvm_install_default_packages: move "get" logic inside helper 2022-10-13 15:03:36 -07:00
Jordan Harband
71a73b17cf
[Fix] --help: proper default NVM_COLORS info 2022-10-13 13:34:43 -07:00
Jordan Harband
0ae8409f4f
[Fix] nvm install-latest-npm: ensure npm 9 does not install on unsupported nodes 2022-09-08 14:59:25 -07:00
ryenus
5e9791c4f8
[perf] nvm_print_versions: re-implement using awk
reducing `nvm ls-remote` from almost 20s to below 2s.

Signed-off-by: ryenus <ryenus@gmail.com>
2022-06-05 13:27:03 +08:00
Josh Kelley
c6269e0ac2
[Fix] Don't override Mac M1 architecture for node ^14.17
Fixes #2743

Co-authored-by: Josh Kelley <joshkel@gmail.com>
Co-authored-by: Raz Luvaton <16746759+rluvaton@users.noreply.github.com>
Co-authored-by: Jordan Harband <ljharb@gmail.com>
2022-03-30 10:53:01 -04:00
Jordan Harband
a82edf40ba
[Robustness] avoid a clobbered ls
Fixes #2824
2022-06-02 12:25:55 -07: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
1875fe8b40
[Fix] avoid OpenBSD nvm install error when /sbin/init doesn't exist
`nvm install` fails with "Binary download failed, trying source" when
- running on Bash;
- errtrace (`set -E`) is enabled;
- an ERR trap uses `exit` to return a non-zero status; and
- /sbin/init doesn't exist.

Resolved by moving `ls -dl /sbin/init` to the following `if` statement.
In this context, returning non-zero isn't an error and the ERR trap
isn't executed.
2021-12-26 15:31:53 +11: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
lsfxz
fb4538b360
[Fix] add missing local (handle nonexisting /sbin/init a bit more cleanly) 2021-11-17 16:59:53 +01:00
Bob Bregant II
79ad72d116
[Fix] Update nvm_extract_tarball to support OpenBSD
Fixes #2660.
2021-12-19 02:58:18 +00:00
Bob Bregant II
ccd442d833
[Refactor] add nvm_extract_tarball to consolidate extraction logic 2021-12-19 02:58:18 +00:00
Jordan Harband
9600617c52
v0.39.1 2021-12-17 14:55:52 -08:00
Jordan Harband
aa57406ede
[Fix] ensure unload removes nvm_normalize_lts 2021-12-17 13:55:14 -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