dnote/scripts/web/dev.sh
Sung Won Cho 0e83ba1a5c
Allow to reuse watcher (#350)
* Make watcher reusable

* Allow to add multiple watched targets

* Move watcher

* Allow to ignore
2019-11-26 15:13:33 +08:00

40 lines
981 B
Bash
Executable file

#!/usr/bin/env bash
# shellcheck disable=SC1090
# dev.sh builds and starts development environment
set -eux -o pipefail
# clean up background processes
function cleanup {
kill "$devServerPID"
}
trap cleanup EXIT
dir=$(dirname "${BASH_SOURCE[0]}")
basePath="$dir/../.."
appPath="$basePath/web"
serverPath="$basePath/pkg/server"
serverPort=3000
# load env
set -a
dotenvPath="$serverPath/.env.dev"
source "$dotenvPath"
set +a
# run webpack-dev-server for js in the background
(
BUNDLE_BASE_URL=http://localhost:8080 \
ASSET_BASE_URL=http://localhost:3000/static \
ROOT_URL=http://localhost:$serverPort \
COMPILED_PATH="$appPath"/compiled \
PUBLIC_PATH="$appPath"/public \
COMPILED_PATH="$basePath/web/compiled" \
IS_TEST=true \
VERSION="$VERSION" \
WEBPACK_HOST="0.0.0.0" \
"$dir/webpack-dev.sh"
) &
devServerPID=$!
# run server
(cd "$basePath/pkg/watcher" && go run main.go --task="go run main.go start -port 3000" --context="$serverPath" "$serverPath")