#!/usr/bin/env bash # Usage: nodenv version-file [] # Summary: Detect the file that sets the current nodenv version set -e [ -n "$NODENV_DEBUG" ] && set -x target_dir="$1" find_local_version_file() { local root="$1" while ! [[ "$root" =~ ^//[^/]*$ ]]; do if [ -s "${root}/.node-version" ]; then echo "${root}/.node-version" return 0 fi [ -n "$root" ] || break root="${root%/*}" done return 1 } if [ -n "$target_dir" ]; then find_local_version_file "$target_dir" else find_local_version_file "$NODENV_DIR" || { [ "$NODENV_DIR" != "$PWD" ] && find_local_version_file "$PWD" } || echo "${NODENV_ROOT}/version" fi