]> git.wincent.com - wincent.git/blob - install-next
refactor: run TypeScript using n + node + yarn instead of Deno
[wincent.git] / install-next
1 #!/bin/bash
2
3 set -e
4
5 REPO_ROOT="${BASH_SOURCE%/*}"
6 MAIN_EXE="$REPO_ROOT/lib/main.js"
7 VENDOR_ROOT="$REPO_ROOT/vendor"
8 N_EXE="$VENDOR_ROOT/n/bin/n"
9 N_PREFIX="$VENDOR_ROOT/node"
10 YARN_EXE="$VENDOR_ROOT/yarn-v1.22.4/bin/yarn"
11
12 export N_PREFIX
13
14 for ARG in "$@"; do
15   if [ "$ARG" = "--force" -o "$ARG" = "-f" ]; then
16     FORCE=1
17   fi
18 done
19
20 if [[ ! -x $N_EXE ]]; then
21   echo "[abort] No executable at $N_EXE; did you forget to \`git submodule init\`?"
22   exit 1
23 fi
24
25 if ! "$N_EXE" which lts &> /dev/null; then
26   echo "[status] Installing Node LTS version"
27   "$N_EXE" lts
28 fi
29
30 echo "[status] Installing TypeScript"
31
32 "$N_EXE" exec lts "$YARN_EXE" --frozen-lockfile --no-default-rc --no-progress --silent
33
34 echo "[status] Building"
35
36 "$N_EXE" exec lts "$YARN_EXE" run --silent tsc
37
38 echo "[status] Running main"
39
40 "$N_EXE" run lts "$MAIN_EXE" "$@"