#!/usr/bin/env bash

set -eu

source "$(dirname "$(realpath "${0}")")"/../global-vars.inc.bash
source "${ROOT_PATH}"/bin/docker/interactive-parameter.inc.bash
source "${ROOT_PATH}"/bin/docker/uid-gid.inc.bash

readonly CONTAINER_ROOT="/var/www/html"
WORKDIR="${CONTAINER_ROOT}"

if [[ "${1:-}" == "--path" || "${1:-}" == "-C" ]]; then
    if [[ -z "${2:-}" ]]; then
        echo "Error: ${1} requires a directory argument (relative to project root)" >&2
        exit 1
    fi
    WORKDIR="${CONTAINER_ROOT}/${2#/}"
    shift 2
fi

docker \
    exec \
        ${DOCKER_INTERACTIVE_PARAMETER} \
        --tty \
        --workdir "${WORKDIR}" \
        olean-cms-node \
        npm "${@:-}" \
        --cache "${CONTAINER_ROOT}/var/node/dev/cache"
exit 0
