#!/usr/bin/env bash
#
# Compiles sentry manager
#
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../resources/build/builder-full.inc.sh"
## END STANDARD BUILD SCRIPT INCLUDE

. "${KEYMAN_ROOT}/web/common.inc.sh"
. "${KEYMAN_ROOT}/resources/build/utils.inc.sh"
. "$KEYMAN_ROOT/resources/build/node.inc.sh"

builder_describe "Builds the Sentry-reporting module used with Keyman Engine for Web" \
  "@/common/web/keyman-version" \
  clean configure build

builder_describe_outputs \
  configure          /node_modules \
  build              /web/src/engine/sentry-manager/build/lib/index.js

builder_parse "$@"

### CLEAN ACTIONS

if builder_start_action clean; then
  rm -rf build/
  builder_finish_action success clean
fi

### CONFIGURE ACTIONS

if builder_start_action configure; then
  node_select_version_and_npm_ci
  builder_finish_action success configure
fi

if builder_start_action build; then
  tsc --build "$THIS_SCRIPT_PATH/src/tsconfig.json"

  $BUNDLE_CMD    "${KEYMAN_ROOT}/web/src/engine/sentry-manager/build/obj/index.js" \
    --out        "${KEYMAN_ROOT}/web/src/engine/sentry-manager/build/lib/index.js" \
    --sourceRoot "@keymanapp/keyman/web/src/engine/sentry-manager/build/lib/"

  builder_finish_action success build
fi
