install.fairie/docs/scripts/before/run_onchange_before_09-node-version.sh.tmpl.md

51 lines
1.8 KiB
Markdown
Raw Normal View History

---
title: Node.js Version
description: Ensures a recent version of Node.js is available to the user by leveraging Volta
sidebar_label: 09 Node.js Version
slug: /scripts/before/run_onchange_before_09-node-version.sh.tmpl
githubLocation: https://github.com/megabyte-labs/install.doctor/blob/master/home/.chezmoiscripts/universal/run_onchange_before_09-node-version.sh.tmpl
scriptLocation: https://github.com/megabyte-labs/install.doctor/raw/master/home/.chezmoiscripts/universal/run_onchange_before_09-node-version.sh.tmpl
repoLocation: home/.chezmoiscripts/universal/run_onchange_before_09-node-version.sh.tmpl
---
# Node.js Version
Ensures a recent version of Node.js is available to the user by leveraging Volta
## Overview
This script installs the latest version of Node.js with Volta if the default Node.js version
is an outdated version.
## Source Code
```
{{- 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" }}
### 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
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 -}}
```