[Refactor] add nvm_get_artifact_compression

This commit is contained in:
nmarghetti
2021-01-02 00:03:24 +01:00
committed by Jordan Harband
parent a5742d4e9e
commit d396181ffb
3 changed files with 40 additions and 10 deletions

30
nvm.sh
View File

@@ -1559,7 +1559,7 @@ nvm_get_checksum() {
SHASUMS_URL="${MIRROR}/${3}/SHASUMS.txt"
fi
nvm_download -L -s "${SHASUMS_URL}" -o - | command awk "{ if (\"${4}.tar.${5}\" == \$2) print \$1}"
nvm_download -L -s "${SHASUMS_URL}" -o - | command awk "{ if (\"${4}.${5}\" == \$2) print \$1}"
}
nvm_print_versions() {
@@ -1983,6 +1983,22 @@ nvm_get_download_slug() {
fi
}
nvm_get_artifact_compression() {
local VERSION
VERSION="${1-}"
local NVM_OS
NVM_OS="$(nvm_get_os)"
local COMPRESSION
COMPRESSION='tar.gz'
if nvm_supports_xz "${VERSION}"; then
COMPRESSION='tar.xz'
fi
nvm_echo "${COMPRESSION}"
}
# args: flavor, kind, type, version
nvm_download_artifact() {
local FLAVOR
@@ -2029,10 +2045,7 @@ nvm_download_artifact() {
SLUG="$(nvm_get_download_slug "${FLAVOR}" "${KIND}" "${VERSION}")"
local COMPRESSION
COMPRESSION='gz'
if nvm_supports_xz "${VERSION}"; then
COMPRESSION='xz'
fi
COMPRESSION="$(nvm_get_artifact_compression "${VERSION}")"
local CHECKSUM
CHECKSUM="$(nvm_get_checksum "${FLAVOR}" "${TYPE}" "${VERSION}" "${SLUG}" "${COMPRESSION}")"
@@ -2049,13 +2062,13 @@ nvm_download_artifact() {
)
local TARBALL
TARBALL="${tmpdir}/${SLUG}.tar.${COMPRESSION}"
TARBALL="${tmpdir}/${SLUG}.${COMPRESSION}"
local TARBALL_URL
if nvm_version_greater_than_or_equal_to "${VERSION}" 0.1.14; then
TARBALL_URL="${MIRROR}/${VERSION}/${SLUG}.tar.${COMPRESSION}"
TARBALL_URL="${MIRROR}/${VERSION}/${SLUG}.${COMPRESSION}"
else
# node <= 0.1.13 does not have a directory
TARBALL_URL="${MIRROR}/${SLUG}.tar.${COMPRESSION}"
TARBALL_URL="${MIRROR}/${SLUG}.${COMPRESSION}"
fi
if [ -r "${TARBALL}" ]; then
@@ -3944,6 +3957,7 @@ nvm() {
nvm_npmrc_bad_news_bears \
nvm_get_colors nvm_set_colors nvm_print_color_code nvm_format_help_message_colors \
nvm_echo_with_colors nvm_err_with_colors \
nvm_get_artifact_compression \
>/dev/null 2>&1
unset NVM_RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_IOJS_ORG_MIRROR NVM_DIR \
NVM_CD_FLAGS NVM_BIN NVM_INC NVM_MAKE_JOBS \