mirror of
https://github.com/nvm-sh/nvm.git
synced 2025-08-17 19:13:43 +00:00
Compare commits
1 Commits
d99731aee6
...
699a0548e3
Author | SHA1 | Date | |
---|---|---|---|
![]() |
699a0548e3 |
46
nvm.sh
46
nvm.sh
@ -4456,23 +4456,37 @@ nvm() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nvm_get_default_packages() {
|
nvm_get_default_packages() {
|
||||||
local NVM_DEFAULT_PACKAGE_FILE
|
local NVM_DEFAULT_PACKAGE_FILE="${NVM_DIR}/default-packages"
|
||||||
NVM_DEFAULT_PACKAGE_FILE="${NVM_DIR}/default-packages"
|
|
||||||
if [ -f "${NVM_DEFAULT_PACKAGE_FILE}" ]; then
|
if [ -f "${NVM_DEFAULT_PACKAGE_FILE}" ]; then
|
||||||
command awk -v filename="${NVM_DEFAULT_PACKAGE_FILE}" '
|
local DEFAULT_PACKAGES
|
||||||
/^[[:space:]]*#/ { next } # Skip lines that begin with #
|
DEFAULT_PACKAGES=''
|
||||||
/^[[:space:]]*$/ { next } # Skip empty lines
|
|
||||||
/[[:space:]]/ && !/^[[:space:]]*#/ {
|
# Read lines from $NVM_DIR/default-packages
|
||||||
print "Only one package per line is allowed in `" filename "`. Please remove any lines with multiple space-separated values." > "/dev/stderr"
|
local line
|
||||||
err = 1
|
# ensure a trailing newline
|
||||||
exit 1
|
WORK=$(mktemp -d) || exit $?
|
||||||
}
|
# shellcheck disable=SC2064
|
||||||
{
|
trap "command rm -rf '$WORK'" EXIT
|
||||||
if (NR > 1 && !prev_space) printf " "
|
# shellcheck disable=SC1003
|
||||||
printf "%s", $0
|
sed -e '$a\' "${NVM_DEFAULT_PACKAGE_FILE}" > "${WORK}/default-packages"
|
||||||
prev_space = 0
|
while IFS=' ' read -r line; do
|
||||||
}
|
# Skip empty lines.
|
||||||
' "${NVM_DEFAULT_PACKAGE_FILE}"
|
[ -n "${line-}" ] || continue
|
||||||
|
|
||||||
|
# Skip comment lines that begin with `#`.
|
||||||
|
[ "$(nvm_echo "${line}" | command cut -c1)" != "#" ] || continue
|
||||||
|
|
||||||
|
# Fail on lines that have multiple space-separated words
|
||||||
|
case $line in
|
||||||
|
*\ *)
|
||||||
|
nvm_err "Only one package per line is allowed in the ${NVM_DIR}/default-packages file. Please remove any lines with multiple space-separated values."
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
DEFAULT_PACKAGES="${DEFAULT_PACKAGES}${line} "
|
||||||
|
done < "${WORK}/default-packages"
|
||||||
|
echo "${DEFAULT_PACKAGES}" | command xargs
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ rimraf
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
DEFAULT_PKGS="$(nvm_get_default_packages 2>&1 >/dev/null)"
|
DEFAULT_PKGS="$(nvm_get_default_packages 2>&1 >/dev/null)"
|
||||||
EXPECTED_PKGS="Only one package per line is allowed in \`${FILE}\`. Please remove any lines with multiple space-separated values."
|
EXPECTED_PKGS="Only one package per line is allowed in the $FILE file. Please remove any lines with multiple space-separated values."
|
||||||
[ "${DEFAULT_PKGS}" = "${EXPECTED_PKGS}" ] || die "4: expected default packages >${EXPECTED_PKGS}<; got >${DEFAULT_PKGS}<"
|
[ "${DEFAULT_PKGS}" = "${EXPECTED_PKGS}" ] || die "4: expected default packages >${EXPECTED_PKGS}<; got >${DEFAULT_PKGS}<"
|
||||||
|
|
||||||
cleanup
|
cleanup
|
||||||
|
Loading…
x
Reference in New Issue
Block a user