1#!/bin/bash
2
3# ----------------------------------------------------------------------------
4#  Hvigor startup script, version 1.0.0
5#
6#  Required ENV vars:
7#  ------------------
8#    NODE_HOME - location of a Node home dir
9#    or
10#    Add /usr/local/nodejs/bin to the PATH environment variable
11# ----------------------------------------------------------------------------
12
13HVIGOR_APP_HOME="`pwd -P`"
14HVIGOR_WRAPPER_SCRIPT=${HVIGOR_APP_HOME}/hvigor/hvigor-wrapper.js
15#NODE_OPTS="--max-old-space-size=4096"
16
17fail() {
18  echo "$*"
19  exit 1
20}
21
22set_executable_node() {
23  EXECUTABLE_NODE="${NODE_HOME}/bin/node"
24  if [ -x "$EXECUTABLE_NODE" ]; then
25    return
26  fi
27
28  EXECUTABLE_NODE="${NODE_HOME}/node"
29  if [ -x "$EXECUTABLE_NODE" ]; then
30    return
31  fi
32  fail "ERROR: NODE_HOME is set to an invalid directory,check $NODE_HOME\n\nPlease set NODE_HOME in your environment to the location where your nodejs installed"
33}
34
35# Determine node to start hvigor wrapper script
36if [ -n "${NODE_HOME}" ]; then
37  set_executable_node
38else
39  EXECUTABLE_NODE="node"
40  command -v ${EXECUTABLE_NODE} &> /dev/null || fail "ERROR: NODE_HOME not set and 'node' command not found"
41fi
42
43# Check hvigor wrapper script
44if [ ! -r "$HVIGOR_WRAPPER_SCRIPT" ]; then
45  fail "ERROR: Couldn't find hvigor/hvigor-wrapper.js in ${HVIGOR_APP_HOME}"
46fi
47
48if [ -z "${NODE_OPTS}" ]; then
49  NODE_OPTS="--"
50fi
51
52# start hvigor-wrapper script
53exec "${EXECUTABLE_NODE}" "${NODE_OPTS}" \
54  "${HVIGOR_WRAPPER_SCRIPT}" "$@"
55