#!/usr/bin/env bash
# Step 04: Install Yarn, TypeScript, ts-node, ts-mocha via Volta.

step_name="Install Yarn + TypeScript tools"

run() {
  log_info "Installing Yarn..."
  vm_exec cmd "volta install yarn" --timeout 120

  log_info "Installing TypeScript..."
  vm_exec cmd "volta install typescript" --timeout 60

  log_info "Installing ts-node..."
  vm_exec cmd "volta install ts-node" --timeout 60

  log_info "Installing ts-mocha..."
  vm_exec cmd "volta install ts-mocha" --timeout 60
}

verify() {
  local pass=0 total=4

  for tool in yarn tsc ts-node ts-mocha; do
    if vm_exec cmd "$tool --version" &>/dev/null; then
      log_pass "$tool installed"
      pass=$((pass + 1))
    else
      log_fail "$tool not found"
    fi
  done

  [[ $pass -eq $total ]]
}
