#!/usr/bin/bash

# ==== Install volta
curl https://get.volta.sh | bash
export VOLTA_HOME=/root/.volta
export PATH=$VOLTA_HOME/bin:$PATH

# ==== Install node.js 18 & use it
volta install node@22

# ==== Install TS & ts-node
npm install -g typescript@5.0.4 ts-node@10.9.2 npm@11.4.2

# ==== Create installer directory
cd ~
rm -rf ~/installer
mkdir -p ~/installer
mkdir -p ~/installer/utils
mkdir -p ~/installer/interfaces
cd ~/installer

# ==== Download installation source files
curl -s https://apimaker.dev/v1/install.ts > install.ts
curl -s https://apimaker.dev/v1/tsconfig.json > tsconfig.json
curl -s https://apimaker.dev/v1/package.json > package.json
curl -s https://apimaker.dev/v1/.nvmrc > .nvmrc
curl -s https://apimaker.dev/v1/utils/SetEnvInFrontend.ts > ./utils/SetEnvInFrontend.ts
curl -s https://apimaker.dev/v1/interfaces/IAMSettings.ts > ./interfaces/IAMSettings.ts

npm install --silent --no-audit
ts-node -T install.ts "$@" # pass all arguments to TS files.
