{{- if (ne .host.distro.family "windows") -}}
#!/usr/bin/env bash
# @file Node.js Version
# @brief Ensures a recent version of Node.js is available to the user by leveraging Volta
# @description
#     This script installs the latest version of Node.js with Volta if the default Node.js version
#     is an outdated version.

# Node.js version: {{ output "node" "--version" }}

{{ includeTemplate "universal/profile-before" }}
{{ includeTemplate "universal/logg-before" }}

export VOLTA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/volta"
export PATH="$VOLTA_HOME/bin:$PATH"

### Ensure recent version of Node.js is being used
if command -v volta > /dev/null; then
  if ! test "$(node --version | sed 's/^v//' | awk '{print $1}' | awk -F'.' ' ( $1 > 15) ')"; then
    logg info 'Installing latest version of Node.js'
    volta install node@latest
    logg info 'Ensuring NPM is updated to latest'
    npm install -g npm@latest
  else
    logg info 'Node.js appears to meet the minimum version requirements (version >15)'
  fi
else
  logg warn 'Volta is not installed - skipping logic that ensures Node.js meets the version requirement of >15'
fi

{{ end -}}
