From db466ab0cb08952a9d41bc77eb80baa8d1c6f706 Mon Sep 17 00:00:00 2001 From: Victor Mihalache Date: Tue, 21 Nov 2023 19:37:23 +0100 Subject: [PATCH 1/5] [New] Allow `nvm_find_nvmrc` to use custom path and name --- nvm.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nvm.sh b/nvm.sh index b2af93c..9905017 100644 --- a/nvm.sh +++ b/nvm.sh @@ -461,9 +461,10 @@ nvm_find_up() { nvm_find_nvmrc() { local dir - dir="$(nvm_find_up '.nvmrc')" - if [ -e "${dir}/.nvmrc" ]; then - nvm_echo "${dir}/.nvmrc" + local rcfile="${1:-.nvmrc}" + dir="$(nvm_find_up "${rcfile}")" + if [ -e "${dir}/${rcfile}" ]; then + nvm_echo "${dir}/${rcfile}" fi } From fb11d3cf69a3521ed03c1c6020d21e917e1c0cdc Mon Sep 17 00:00:00 2001 From: Victor Mihalache Date: Tue, 21 Nov 2023 20:04:07 +0100 Subject: [PATCH 2/5] [New] `install`: Allow use of `--config` --- nvm.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/nvm.sh b/nvm.sh index 9905017..a8c8f5e 100644 --- a/nvm.sh +++ b/nvm.sh @@ -472,7 +472,13 @@ nvm_find_nvmrc() { nvm_rc_version() { export NVM_RC_VERSION='' local NVMRC_PATH - NVMRC_PATH="$(nvm_find_nvmrc)" + + if [ -n "$1" ]; then + NVMRC_PATH="$(nvm_find_nvmrc "$1")" + else + NVMRC_PATH="$(nvm_find_nvmrc)" + fi + if [ ! -e "${NVMRC_PATH}" ]; then if [ "${NVM_SILENT:-0}" -ne 1 ]; then nvm_err "No .nvmrc file found" @@ -3131,6 +3137,7 @@ nvm() { local PROVIDED_REINSTALL_PACKAGES_FROM local REINSTALL_PACKAGES_FROM local SKIP_DEFAULT_PACKAGES + local NVM_RC_PATH while [ $# -ne 0 ]; do case "$1" in @@ -3225,6 +3232,10 @@ nvm() { SKIP_DEFAULT_PACKAGES=true shift ;; + --config=*) + NVM_RC_PATH="${1#--config=}" + shift + ;; *) break # stop parsing args ;; @@ -3246,7 +3257,7 @@ nvm() { shift fi else - nvm_rc_version + nvm_rc_version "$NVM_RC_PATH" if [ $version_not_provided -eq 1 ] && [ -z "${NVM_RC_VERSION}" ]; then unset NVM_RC_VERSION >&2 nvm --help From 73929d95d661032703ff1d0e4be2ec40db0332eb Mon Sep 17 00:00:00 2001 From: Victor Mihalache Date: Tue, 21 Nov 2023 20:45:33 +0100 Subject: [PATCH 3/5] [New] Allow all commands that require `.nvmrc` to use the `--config` flag --- nvm.sh | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/nvm.sh b/nvm.sh index a8c8f5e..28d3b53 100644 --- a/nvm.sh +++ b/nvm.sh @@ -3612,6 +3612,7 @@ nvm() { local NVM_LTS local IS_VERSION_FROM_NVMRC IS_VERSION_FROM_NVMRC=0 + local NVM_RC_PATH while [ $# -ne 0 ]; do case "$1" in @@ -3623,6 +3624,10 @@ nvm() { --) ;; --lts) NVM_LTS='*' ;; --lts=*) NVM_LTS="${1##--lts=}" ;; + --config=*) + NVM_RC_PATH="${1#--config=}" + shift + ;; --*) ;; *) if [ -n "${1-}" ]; then @@ -3636,7 +3641,7 @@ nvm() { if [ -n "${NVM_LTS-}" ]; then VERSION="$(nvm_match_version "lts/${NVM_LTS:-*}")" elif [ -z "${PROVIDED_VERSION-}" ]; then - NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version + NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version "$NVM_RC_PATH" if [ -n "${NVM_RC_VERSION-}" ]; then PROVIDED_VERSION="${NVM_RC_VERSION}" IS_VERSION_FROM_NVMRC=1 @@ -3746,6 +3751,7 @@ nvm() { local NVM_SILENT local NVM_SILENT_ARG local NVM_LTS + local NVM_RC_PATH while [ $# -gt 0 ]; do case "$1" in --silent) @@ -3755,6 +3761,10 @@ nvm() { ;; --lts) NVM_LTS='*' ; shift ;; --lts=*) NVM_LTS="${1##--lts=}" ; shift ;; + --config=*) + NVM_RC_PATH="${1#--config=}" + shift + ;; *) if [ -n "$1" ]; then break @@ -3766,7 +3776,7 @@ nvm() { done if [ $# -lt 1 ] && [ -z "${NVM_LTS-}" ]; then - NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version && has_checked_nvmrc=1 + NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version "$NVM_RC_PATH" && has_checked_nvmrc=1 if [ -n "${NVM_RC_VERSION-}" ]; then VERSION="$(nvm_version "${NVM_RC_VERSION-}")" ||: fi @@ -3784,7 +3794,7 @@ nvm() { if [ "_${VERSION:-N/A}" = '_N/A' ] && ! nvm_is_valid_version "${provided_version}"; then provided_version='' if [ $has_checked_nvmrc -ne 1 ]; then - NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version && has_checked_nvmrc=1 + NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version $NVM_RC_PATH && has_checked_nvmrc=1 fi provided_version="${NVM_RC_VERSION}" IS_VERSION_FROM_NVMRC=1 @@ -3822,11 +3832,16 @@ nvm() { "exec") local NVM_SILENT local NVM_LTS + local NVM_RC_PATH while [ $# -gt 0 ]; do case "$1" in --silent) NVM_SILENT=1 ; shift ;; --lts) NVM_LTS='*' ; shift ;; --lts=*) NVM_LTS="${1##--lts=}" ; shift ;; + --config=*) + NVM_RC_PATH="${1#--config=}" + shift + ;; --) break ;; --*) nvm_err "Unsupported option \"$1\"." @@ -3850,7 +3865,7 @@ nvm() { elif [ -n "${provided_version}" ]; then VERSION="$(nvm_version "${provided_version}")" ||: if [ "_${VERSION}" = '_N/A' ] && ! nvm_is_valid_version "${provided_version}"; then - NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version && has_checked_nvmrc=1 + NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version "$NVM_RC_PATH" && has_checked_nvmrc=1 provided_version="${NVM_RC_VERSION}" unset NVM_RC_VERSION VERSION="$(nvm_version "${provided_version}")" ||: @@ -3974,16 +3989,21 @@ nvm() { "which") local NVM_SILENT local provided_version + local NVM_RC_PATH while [ $# -ne 0 ]; do case "${1}" in --silent) NVM_SILENT=1 ;; + --config=*) + NVM_RC_PATH="${1#--config=}" + shift + ;; --) ;; *) provided_version="${1-}" ;; esac shift done if [ -z "${provided_version-}" ]; then - NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version + NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version "$NVM_RC_PATH" if [ -n "${NVM_RC_VERSION}" ]; then provided_version="${NVM_RC_VERSION}" VERSION=$(nvm_version "${NVM_RC_VERSION}") ||: From 4e1fa57737f8e8e713019298e646aedcf70f109b Mon Sep 17 00:00:00 2001 From: Victor Mihalache Date: Tue, 21 Nov 2023 21:05:33 +0100 Subject: [PATCH 4/5] [Format] Remove trailing whitespaces --- nvm.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nvm.sh b/nvm.sh index 28d3b53..c0219ad 100644 --- a/nvm.sh +++ b/nvm.sh @@ -472,7 +472,7 @@ nvm_find_nvmrc() { nvm_rc_version() { export NVM_RC_VERSION='' local NVMRC_PATH - + if [ -n "$1" ]; then NVMRC_PATH="$(nvm_find_nvmrc "$1")" else @@ -3257,7 +3257,7 @@ nvm() { shift fi else - nvm_rc_version "$NVM_RC_PATH" + nvm_rc_version "$NVM_RC_PATH" if [ $version_not_provided -eq 1 ] && [ -z "${NVM_RC_VERSION}" ]; then unset NVM_RC_VERSION >&2 nvm --help From 8a2284e52f6a447fe82e0577d1ea15097dcb5ec0 Mon Sep 17 00:00:00 2001 From: Victor Mihalache Date: Tue, 21 Nov 2023 21:06:42 +0100 Subject: [PATCH 5/5] [Format] Add double quotes to pass CI --- nvm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nvm.sh b/nvm.sh index c0219ad..0314fa2 100644 --- a/nvm.sh +++ b/nvm.sh @@ -3794,7 +3794,7 @@ nvm() { if [ "_${VERSION:-N/A}" = '_N/A' ] && ! nvm_is_valid_version "${provided_version}"; then provided_version='' if [ $has_checked_nvmrc -ne 1 ]; then - NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version $NVM_RC_PATH && has_checked_nvmrc=1 + NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version "$NVM_RC_PATH" && has_checked_nvmrc=1 fi provided_version="${NVM_RC_VERSION}" IS_VERSION_FROM_NVMRC=1