Compare commits

...

4 Commits

Author SHA1 Message Date
Paul Irish
48f05903c5
Merge cbaffd8eca7f7a202ad3bc19cd291e568c55f4a7 into 9c9ff4bac009a44def7d4820ba01911614a273a4 2024-10-31 18:41:37 -03:00
Cheerag Patel
9c9ff4bac0
[meta] Rename .github/ISSUE_TEMPLATE.md to .github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md
Moved issue template into ISSUE_TEMPLATE folder
2024-10-30 14:03:05 -07:00
Jordan Harband
51ea809d63
[Tests] ensure that unit tests use only mocked LTS names 2024-10-30 23:41:50 -07:00
Paul Irish
cbaffd8eca
[readme]: clarify that lts/* points to the active LTS 2021-12-16 13:07:51 -08:00
5 changed files with 52 additions and 17 deletions

View File

@ -349,7 +349,7 @@ In place of a version pointer like "14.7" or "16.3" or "12.22.1", you can use th
### Long-term Support ### Long-term Support
Node has a [schedule](https://github.com/nodejs/Release#release-schedule) for long-term support (LTS) You can reference LTS versions in aliases and `.nvmrc` files with the notation `lts/*` for the latest LTS, and `lts/argon` for LTS releases from the "argon" line, for example. In addition, the following commands support LTS arguments: Node has a [schedule](https://github.com/nodejs/Release#release-schedule) for long-term support (LTS) You can reference LTS versions in aliases and `.nvmrc` files with the notation `lts/*` for the latest _Active_ LTS, and `lts/argon` for LTS releases from the "argon" line, for example. In addition, the following commands support LTS arguments:
- `nvm install --lts` / `nvm install --lts=argon` / `nvm install 'lts/*'` / `nvm install lts/argon` - `nvm install --lts` / `nvm install --lts=argon` / `nvm install 'lts/*'` / `nvm install lts/argon`
- `nvm uninstall --lts` / `nvm uninstall --lts=argon` / `nvm uninstall 'lts/*'` / `nvm uninstall lts/argon` - `nvm uninstall --lts` / `nvm uninstall --lts=argon` / `nvm uninstall 'lts/*'` / `nvm uninstall lts/argon`

View File

@ -8,6 +8,8 @@ cleanup() {
export NVM_COLORS=TEMP_NVM_COLORS export NVM_COLORS=TEMP_NVM_COLORS
fi fi
unset TEMP_NVM_COLORS unset TEMP_NVM_COLORS
rm -rf "${NVM_DIR}/alias/lts"
mv "${NVM_DIR}/alias/lts-backup" "${NVM_DIR}/alias/lts"
} }
\. ../../../nvm.sh \. ../../../nvm.sh
@ -16,12 +18,24 @@ if [ -n "${NVM_COLORS-}" ]; then
unset NVM_COLORS unset NVM_COLORS
fi fi
MOCKS_DIR="../Unit tests/mocks"
LTS_NAMES_PATH="${MOCKS_DIR}/LTS_names.txt"
STAR="$(cat "${MOCKS_DIR}/lts-star.txt")"
mv "${NVM_DIR}/alias/lts" "${NVM_DIR}/alias/lts-backup" ||:
mkdir -p "${NVM_DIR}/alias/lts"
echo "${STAR}" > "${NVM_DIR}/alias/lts/\*"
printf '%s\n' "$(cat "${LTS_NAMES_PATH}" | tail -n +1)" | while IFS= read -r LTS; do
cp "${NVM_DIR}/alias/lts-backup/${LTS}" "${NVM_DIR}/alias/lts/"
done
nvm deactivate 2>/dev/null || die 'unable to deactivate' nvm deactivate 2>/dev/null || die 'unable to deactivate'
\. ../../common.sh \. ../../common.sh
MOCKS_DIR="${PWD}/mocks"
nvm_download() { nvm_download() {
if [ "$*" = "-L -s $(nvm_get_mirror node std)/index.tab -o -" ]; then if [ "$*" = "-L -s $(nvm_get_mirror node std)/index.tab -o -" ]; then
cat "${MOCKS_DIR}/nodejs.org-dist-index.tab" cat "${MOCKS_DIR}/nodejs.org-dist-index.tab"
@ -40,8 +54,6 @@ OUTPUT="$(nvm ls-remote "lts/*" | sed 's/[ \t]*$//')"
EXPECTED_OUTPUT="$(cat "${EXPECTED_OUTPUT_PATH}" | sed 's/[ \t]*$//' )" EXPECTED_OUTPUT="$(cat "${EXPECTED_OUTPUT_PATH}" | sed 's/[ \t]*$//' )"
[ "_${OUTPUT}" = "_${EXPECTED_OUTPUT}" ] || die "nvm ls-remote lts/* did not output expected sorted versions; got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<" [ "_${OUTPUT}" = "_${EXPECTED_OUTPUT}" ] || die "nvm ls-remote lts/* did not output expected sorted versions; got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
MOCKS_DIR="${PWD}/mocks"
LTS_NAMES_PATH="${MOCKS_DIR}/LTS_names.txt"
LTS_LIST="$(cat "${LTS_NAMES_PATH}" | tail -n +2)" LTS_LIST="$(cat "${LTS_NAMES_PATH}" | tail -n +2)"
INDEX=1 INDEX=1

View File

@ -5,14 +5,26 @@ die () { echo "$@" ; cleanup ; exit 1; }
cleanup() { cleanup() {
unset -f nvm_download unset -f nvm_download
rm -rf "${NVM_DIR}/alias/lts"
mv "${NVM_DIR}/alias/lts-backup" "${NVM_DIR}/alias/lts"
} }
\. ../../../nvm.sh \. ../../../nvm.sh
set -ex
MOCKS_DIR="${PWD}/mocks" MOCKS_DIR="${PWD}/mocks"
LTS_NAMES_PATH="${MOCKS_DIR}/LTS_names.txt"
LTS_LIST="$(cat "${LTS_NAMES_PATH}" | tail -n +2)"
mv "${NVM_DIR}/alias/lts" "${NVM_DIR}/alias/lts-backup" ||:
mkdir -p "${NVM_DIR}/alias/lts"
for LTS in $LTS_LIST; do
cp "${NVM_DIR}/alias/lts-backup/${LTS}" "${NVM_DIR}/alias/lts/"
done
set -ex
# sample output at the time the test was written # sample output at the time the test was written
TAB_PATH="${MOCKS_DIR}/nodejs.org-dist-index.tab" TAB_PATH="${MOCKS_DIR}/nodejs.org-dist-index.tab"
nvm_download() { nvm_download() {
@ -21,8 +33,6 @@ nvm_download() {
nvm_ls_remote >/dev/null || die "nvm_ls_remote_failed?!" nvm_ls_remote >/dev/null || die "nvm_ls_remote_failed?!"
LTS_NAMES_PATH="${MOCKS_DIR}/LTS_names.txt"
N=0 N=0
while IFS= read -r LTS; do while IFS= read -r LTS; do
if [ $N -gt 0 ]; then if [ $N -gt 0 ]; then

View File

@ -2,32 +2,44 @@
cleanup() { cleanup() {
unset nvm_get_os unset nvm_get_os
rm -rf "${NVM_DIR}/alias/lts"
mv "${NVM_DIR}/alias/lts-backup" "${NVM_DIR}/alias/lts"
} }
die () { cleanup; echo "$@" ; exit 1; } die () { cleanup; echo "$@" ; exit 1; }
\. ../../../nvm.sh \. ../../../nvm.sh
MOCKS_DIR="../Unit tests/mocks"
LTS_NAMES_PATH="${MOCKS_DIR}/LTS_names.txt"
STAR="$(cat "${MOCKS_DIR}/lts-star.txt")"
mv "${NVM_DIR}/alias/lts" "${NVM_DIR}/alias/lts-backup" ||:
mkdir -p "${NVM_DIR}/alias/lts"
echo "${STAR}" > "${NVM_DIR}/alias/lts/\*"
printf '%s\n' "$(cat "${LTS_NAMES_PATH}" | tail -n +1)" | while IFS= read -r LTS; do
cp "${NVM_DIR}/alias/lts-backup/${LTS}" "${NVM_DIR}/alias/lts/"
done
ACTUAL="$(nvm_normalize_lts "foo")" ACTUAL="$(nvm_normalize_lts "foo")"
EXPECTED='foo' EXPECTED='foo'
[ "${ACTUAL}" = "${EXPECTED}" ] || die "expected >${EXPECTED}<, got >${ACTUAL}<" [ "${ACTUAL}" = "${EXPECTED}" ] || die "foo: expected >${EXPECTED}<, got >${ACTUAL}<"
ACTUAL="$(nvm_normalize_lts "lts/*")" ACTUAL="$(nvm_normalize_lts "lts/*")"
EXPECTED='lts/*' EXPECTED='lts/*'
[ "${ACTUAL}" = "${EXPECTED}" ] || die "expected >${EXPECTED}<, got >${ACTUAL}<" [ "${ACTUAL}" = "${EXPECTED}" ] || die "*: expected >${EXPECTED}<, got >${ACTUAL}<"
if ACTUAL="$(nvm_normalize_lts lts/ARGON)"; then if ACTUAL="$(nvm_normalize_lts lts/ARGON)"; then
die "expected failure, got >${ACTUAL}<" die "ARGON: expected failure, got >${ACTUAL}<"
fi fi
MOCKS_DIR="../Unit tests/mocks"
STAR="$(cat "$MOCKS_DIR/lts-star.txt")"
ACTUAL="$(nvm_normalize_lts "${STAR}")" ACTUAL="$(nvm_normalize_lts "${STAR}")"
EXPECTED="${STAR}" EXPECTED="${STAR}"
[ "${ACTUAL}" = "${EXPECTED}" ] || die "expected >${EXPECTED}<, got >${ACTUAL}<" [ "${ACTUAL}" = "${EXPECTED}" ] || die "${STAR}: expected >${EXPECTED}<, got >${ACTUAL}<"
LTS_NAMES_PATH="${MOCKS_DIR}/LTS_names.txt"
LTS_LIST="$(cat "${LTS_NAMES_PATH}" | tail -n +2)" LTS_LIST="$(cat "${LTS_NAMES_PATH}" | tail -n +2)"
INDEX=1 INDEX=1
@ -39,3 +51,4 @@ printf '%s\n' "${LTS_LIST}" | while IFS= read -r LTS; do
INDEX=$(($INDEX + 1)) INDEX=$(($INDEX + 1))
done done