#!/usr/bin/env bash set -eo pipefail # this can be harmful, see https://www.youtube.com/watch?v=4Jo3Ml53kvc . bs/.common || { echo 'Please run this script from the project root directory' >&2; exit 1; } # depends on declare -r server='node_modules/.bin/web-dev-server' declare -r lint='bs/dev/lint' declare -r tsc='bs/dev/tsc' declare -r assets='bs/dev/assets' declare -r server_config='web-dev-server.config.js' help(){ if ! isHelp "${@}"; then return 0; fi echoReadmeInfo cat <<-EOF ./src Starts the development server (default) ./dist Starts the production server Defaults: See server config file: '$server_config' EOF $server --help exit 0 } main(){ help "${@}" $lint local -r target="${1:-./src}" # ./src or ./dist if [[ "$target" =~ 'dist' ]]; then # console warns because of config file, use npx serve? $server "${@}" else $assets $tsc --watch --preserveWatchOutput & $server "${@}" & wait fi } main "${@}"